[issue23111] ftplib.FTP_TLS's default constructor does not work with TLSv1.1 or TLSv1.2

2014-12-24 Thread varde

New submission from varde:

When trying to connect to a server which only supports TLS version 1.1 or 1.2, 
the following error is raised:
ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:598)
For some reason, the SSL version is set to ssl.PROTOCOL_TLSv1 before 
initialisation and an SSL context is created in __init__, making any subsequent 
change to ssl_version useless.
The only way to establish a successful connection is to pass a custom SSL 
context to the constructor.
I think ssl_version should be settable at construction time before the context 
is created.
I'm not sure exposing ssl_version is useful either, the documentation mentions 
it but it has no use after initialisation.

The following lines should also be changed:
if self.ssl_version == ssl.PROTOCOL_TLSv1:
resp = self.voidcmd('AUTH TLS')

--
components: Library (Lib)
messages: 233087
nosy: varde
priority: normal
severity: normal
status: open
title: ftplib.FTP_TLS's default constructor does not work with TLSv1.1 or 
TLSv1.2
type: behavior
versions: Python 2.7, Python 3.2, Python 3.3, Python 3.4

___
Python tracker 
<http://bugs.python.org/issue23111>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue23111] ftplib.FTP_TLS's default constructor does not work with TLSv1.1 or TLSv1.2

2014-12-28 Thread varde

varde added the comment:

Well, because the ssl_version parameter should have a purpose. If it doesn't, 
the least we could do is remove it from the docs.

--

___
Python tracker 
<http://bugs.python.org/issue23111>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue23111] ftplib.FTP_TLS's default constructor does not work with TLSv1.1 or TLSv1.2

2014-12-30 Thread varde

varde added the comment:

I know that, but it seems pretty unusual. And I would never had guessed from 
the documentation, I had to read the source.
My point is that it should be easier to just connect to a TLSv1.2 server: the 
documentation should mention the fact that ssl_version is a class attribute or 
it should be set to something more compatible like ssl.PROTOCOL_SSLv23.
I'm not sure about the implications of the latter.
I'm not saying that this is a serious bug, but I'm used to Python providing us 
with something that works (more or less) out of the box.

--

___
Python tracker 
<http://bugs.python.org/issue23111>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com