Comments (3)
Well I just modified the module's source code and now figured out that the Exception was handled by except SSL.Error
.
from pyftpdlib.
I modified the source code to this:
except SSL.Error as err:
debug("SSL.Error call: _do_ssl_shutdown() -> shutdown(), err: %r" % err,
inst=self)
# see:
# https://github.com/giampaolo/pyftpdlib/issues/171
# https://bugs.launchpad.net/pyopenssl/+bug/785985
print(err)
print(err.args)
print(err.errno)
if err.args and not getattr(err, "errno", None):
pass
else:
raise
And it raised an error without doubt, saying that the Error object does not have an attribute named "errno".
However, I don't know when will the SSL.Error object have a attribute named this. I found that this exception class inherits from the built-in class of Exception, but it does not overload a new errno property in it, and this property is not owned by the built-in Exception class.
In summary, since the errno
property never seems to exist, getattr()
will always return its set default value None
, and make the latter condition in the if statement always true; Err.args
will always exist and have value because it returns the error number and description string of the exception, so this statement will cause the exception to always be ignored, resulting in an infinite loop of exception handling logic that I have not yet figured out.
from pyftpdlib.
Oh, I just looked up the code defining the other exceptions. It seems that the OSError class additionally defines the errno attribute.
However, SSL.Error seems to be less closely related to this exception class if its subclass has no other part that deals with OSError.
from pyftpdlib.
Related Issues (20)
- unix curl ftp upload leads to corrupted zip file
- server.close_all() freeze the whole application
- Breaks with PyOpenSSL version 22.1.0 HOT 3
- Suggested fix for WSAENOTSOCK error in Windows 11/10 HOT 1
- Python 2.7 support? HOT 1
- Git tag for 1.5.7 is wrongly named HOT 1
- How to custom logging
- format_mlsx not within "run_as_current_user"
- windows add user
- Question: limit Max upload/download speed for each user account HOT 2
- Question: limit Max upload/download speed for user accounts
- Got 530 Authentication failed with tutorial sample HOT 1
- Uploads randomly truncated with TLS 1.3
- pyftpdlib server resets client connection in PASV/EPSV mode: curl: (13) Bad PASV/EPSV response: 200
- Clarify license for `scripts/internal`
- FTP server stuck HOT 3
- After the open file is completed(fs.open), it seems that there is no call to close it(fd) when it is passed to FileProducer.
- Python blocks all disk access when no space left on device
- Unable to set custom home directory in `DummyAuthorizer().add_user()` HOT 2
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 pyftpdlib.