Hi,

I am not 100 percent sure, but I think I found a bug in the asyncftpclient 
module. I have a very small and simple program:
    
    
    import asyncftpclient, asyncdispatch
    
    var ftp = newAsyncFtpClient(address="my.server.loc", port=Port(21), user = 
"anonymous", pass = "m...@email.loc")
    
    proc main(ftp: AsyncFtpClient) {.async.} =
      await ftp.connect()
      echo ("Connected")
    
    waitFor(main(ftp))
    

The ftp server has a welcome message set: 
    
    
    Welcome, archive user %U@%R !
    
    The local time is: %T
    
    Have a nice day
    ---------------------------------------------------------------
    

If I connect to the server it stuck. I investigated this via strace: 
    
    
    epoll_ctl(4, EPOLL_CTL_MOD, 3, {EPOLLIN|EPOLLRDHUP, {u32=3, u64=3}}) = 0
    epoll_wait(4, [{EPOLLIN, {u32=3, u64=3}}], 64, 500) = 1
    recvfrom(3, "230-Welcome, archive user anonym"..., 4000, 0, NULL, NULL) = 
388
    epoll_ctl(4, EPOLL_CTL_MOD, 3, {EPOLLIN|EPOLLRDHUP, {u32=3, u64=3}}) = 0
    epoll_ctl(4, EPOLL_CTL_MOD, 3, {EPOLLIN|EPOLLRDHUP, {u32=3, u64=3}}) = 0
    epoll_ctl(4, EPOLL_CTL_DEL, 3, NULL)    = 0
    epoll_ctl(4, EPOLL_CTL_ADD, 3, {EPOLLIN|EPOLLRDHUP, {u32=3, u64=3}}) = 0
    epoll_wait(4, [], 64, 500)              = 0
    epoll_wait(4, [], 64, 500)              = 0
    epoll_wait(4, [], 64, 500)              = 0
    epoll_wait(4, [], 64, 500)              = 0
    

If I connect via ftp shell command I see the following: 
    
    
    230-Welcome, archive user anonym...@ip4d16b7b6.dynamic.kabel-deutschland.de 
!
    230-
    230-The local time is: Tue Aug 30 08:10:06 2016
    230-
    230-Have a nice day
    230----------------------------------------------------------------
    230-
    230 Anonymous access granted, restrictions apply
    

If I remove the welcome.msg everything works fine. Have I missed something?

Thanks in advance, pyloor

Reply via email to