Comments (3)
Thank you for trying ftpd, and for the nicely done bug report. I love bug reports with runnable code.
Hypothesis
I suspect this is a network issue. The code raising the exception is here:
def open_active_data_connection
data_socket = TCPSocket.new(@data_hostname, @data_port)
...
end
The server is trying to make a connection back to the client1. That it times out is consistent with a client firewall that is dropping the packets that the server is sending when trying to make the connection.
Experiment
If my hypothesis is correct, then passive mode will work where active mode fails. Can you please try the ls
command again, but in passive mode instead of active mode? How to do this depends upon your ftp client. In my client, the command is passive
:
ftp> passive
Passive mode: on; fallback to active mode: on.
ftp> ls
227 Entering passive mode (127,0,0,1,182,247)
150 Opening ASCII mode data connection
226 Transfer complete
ftp>
In passive mode, all connections are from the client back to the server.
gem version
Version 0.6.0 is a year old. The current version is 0.17.0. I do not think that the latest version will fix this issue, but you may wish to upgrade anyway: there have been numerous bug fixes and enhancements in the last year.
1That the server can make a connection back to the client is a seriously annoying part of the FTP protocol, and a source of endless trouble.
from ftpd.
Thanks for the quick answer, as you suspected it was a passive\active issue (damn FTP !!!)
Also after installing the gem from the git another issues with crashes when connection ended was fixed, as all my problems are now gone I will close this issue, thanks for a great gem and a great attitude ;)
from ftpd.
Outstanding! I love the smell of resolved issues in the morning. Thanks again for using ftpd.
from ftpd.
Related Issues (20)
- Unable to reuse same port after stopping server HOT 6
- #stop causes "Errno::ENOTCONN: Socket is not connected" in OSX HOT 8
- Add more handlers
- Tests fail under Ruby >= 2.2.3 HOT 2
- External IP HOT 7
- Can I hooking filesystem operations HOT 4
- [IMPROVEMENT] Cmd Size and exotic filesystem
- forwarding to private method XXX HOT 3
- FTPPermError 550 Access Denied. HOT 2
- FTP base path lack of trailing `/` results in denial of service and disclosure of the local file system path HOT 1
- add bindir in gemspec HOT 2
- ftpd windows version , the ftp server will crash if input 'dir' HOT 1
- Using ruby 2.4 fails HOT 3
- Modernize usage of File.dirname(__FILE__) to support symlinks HOT 1
- CPU usage pegged at 100% HOT 9
- rake test:features seems to be broken HOT 2
- Issue with TLS protocol
- Error Connection reset by peer @ io_fillbuf - fd:158
- Update testing to use newer Ruby versions
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ftpd.