cpython/Lib
Victor Stinner 231b404cb0 Issue #22560: New SSL implementation based on ssl.MemoryBIO
The new SSL implementation is based on the new ssl.MemoryBIO which is only
available on Python 3.5. On Python 3.4 and older, the legacy SSL implementation
(using SSL_write, SSL_read, etc.) is used. The proactor event loop only
supports the new implementation.

The new asyncio.sslproto module adds _SSLPipe, SSLProtocol and
_SSLProtocolTransport classes. _SSLPipe allows to "wrap" or "unwrap" a socket
(switch between cleartext and SSL/TLS).

Patch written by Antoine Pitrou. sslproto.py is based on gruvi/ssl.py of the
gruvi project written by Geert Jansen.

This change adds SSL support to ProactorEventLoop on Python 3.5 and newer!

It becomes also possible to implement STARTTTLS: switch a cleartext socket to
SSL.
2015-01-14 00:19:09 +01:00
..
asyncio Issue #22560: New SSL implementation based on ssl.MemoryBIO 2015-01-14 00:19:09 +01:00
collections Issue #22609: Revert changes in UserDict. They conflicted with existing tests. 2014-11-27 17:45:44 +02:00
concurrent
ctypes Issue #22777: Test pickling with all protocols. 2014-12-15 14:03:42 +02:00
curses
dbm Issue #21729: Used the "with" statement in the dbm.dumb module to ensure 2014-06-25 20:35:31 +03:00
distutils fix instances of consecutive articles (closes #23221) 2015-01-13 09:17:24 -05:00
email #21991: make headerregistry params property MappingProxyType. 2014-10-17 19:30:13 -04:00
encodings Issue #22406: Fixed the uu_codec codec incorrectly ported to 3.x. 2014-11-07 14:04:37 +02:00
ensurepip Update setuptools to 11.3.1 2015-01-11 15:51:11 -05:00
html
http fix instances of consecutive articles (closes #23221) 2015-01-13 09:17:24 -05:00
idlelib Issue #23184: delete unused idlelib file. 2015-01-07 23:48:46 -05:00
importlib - Issue #22966: Fix __pycache__ pyc file name clobber when pyc_compile is 2014-12-01 17:10:10 -05:00
json
lib2to3 fix instances of consecutive articles (closes #23221) 2015-01-13 09:17:24 -05:00
logging add context parameter to HTTPHandler (closes #22788) 2014-11-23 20:36:44 -06:00
msilib
multiprocessing Issue #22581: Use more "bytes-like object" throughout the docs and comments. 2014-12-05 22:25:22 +02:00
plat-aix4
plat-darwin
plat-freebsd4
plat-freebsd5
plat-freebsd6
plat-freebsd7
plat-freebsd8
plat-generic
plat-linux
plat-netbsd1
plat-next3
plat-sunos5
plat-unixware7
pydoc_data Update pydoc topics and fix supsicious markup for 3.4.2 final. 2014-10-05 19:03:48 -07:00
site-packages
sqlite3 Issue #21147: sqlite3 now raises an exception if the request contains a null 2014-09-11 13:29:05 +03:00
test Issue #22560: New SSL implementation based on ssl.MemoryBIO 2015-01-14 00:19:09 +01:00
tkinter Issue #22769: Fixed ttk.Treeview.tag_has() when called without arguments. 2014-11-07 12:02:31 +02:00
turtledemo De-'colour'ize stdlib except for idlelib.configDialog. 2014-10-09 18:44:32 -04:00
unittest Issue #22894: TestCase.subTest() would cause the test suite to be stopped when in failfast mode, even in the absence of failures. 2014-11-23 15:55:11 +01:00
urllib #23040: Clarify treatment of encoding and errors when component is bytes. 2014-12-24 21:23:18 -05:00
venv Issue #21663: Fixed error caused by trying to create an existing directory. 2014-06-05 09:31:20 +01:00
wsgiref Merge from 3.3 2014-09-17 16:31:47 +08:00
xml Removed duplicated words in in comments and docs. 2014-12-01 18:28:43 +02:00
xmlrpc merge 3.3 (#16043) 2014-12-05 20:34:56 -05:00
__future__.py
__phello__.foo.py
_bootlocale.py
_collections_abc.py Issue #22609: Constructors and update methods of mapping classes in the 2014-11-27 16:25:51 +02:00
_compat_pickle.py
_dummy_thread.py
_markupbase.py
_osx_support.py Issue #21811: Anticipated fixes to 3.x and 2.7 for OS X 10.10 Yosemite. 2014-06-25 13:36:14 -07:00
_pyio.py allow more operations to work on detached streams (closes #23093) 2014-12-21 20:51:50 -06:00
_sitebuiltins.py #9364: Improve the text printed by help(pydoc) and help(help). 2014-04-19 12:59:30 -04:00
_strptime.py
_threading_local.py
_weakrefset.py
abc.py
aifc.py
antigravity.py
argparse.py Closes #22675: fix typo. 2014-10-20 08:36:02 +02:00
ast.py
asynchat.py Issue #16133: The asynchat.async_chat.handle_read() method now ignores 2014-07-24 18:49:36 +02:00
asyncore.py Issue #11453: asyncore: emit a ResourceWarning when an unclosed file_wrapper 2014-06-27 23:52:03 +02:00
base64.py
bdb.py
binhex.py
bisect.py
bz2.py
cProfile.py
calendar.py
cgi.py remove unused argument (closes #21135) 2014-04-03 10:22:10 -04:00
cgitb.py
chunk.py
cmd.py
code.py
codecs.py Issue 19548: update codecs module documentation 2015-01-07 00:22:00 +10:00
codeop.py
colorsys.py
compileall.py
configparser.py
contextlib.py
copy.py
copyreg.py
crypt.py
csv.py
datetime.py
decimal.py Issue #22284: Update decimal.__all__ 2014-09-09 19:56:56 +02:00
difflib.py Issue 21635: Fix caching in difflib.SequenceMatcher.get_matching_blocks(). 2014-06-21 11:57:36 -07:00
dis.py
doctest.py
dummy_threading.py
enum.py Issue22506: added methods on base Enum class now show up in dir of Enum subclass (3.4) 2014-10-14 08:58:32 -07:00
filecmp.py shallow defaults to 'True' not '1' (closes #21355) 2014-04-26 13:36:21 -04:00
fileinput.py Issue #21075: fileinput.FileInput now reads bytes from standard stream if 2014-05-14 21:08:33 +03:00
fnmatch.py
formatter.py Issue #18644: Fix a ResourceWarning in formatter.test(). 2015-01-05 09:19:40 +02:00
fractions.py
ftplib.py make PROTOCOL_SSLv23 the default protocol version for ftplib (closes #23111) 2014-12-30 15:15:43 -06:00
functools.py Issue #23132: Mitigate regression in speed and clarity in functools.total_ordering. 2015-01-05 21:52:10 -08:00
genericpath.py
getopt.py
getpass.py #21169: add comment and doc update for getpass change. 2014-04-14 10:28:58 -04:00
gettext.py
glob.py Issue #17923: glob() patterns ending with a slash no longer match non-dirs on 2014-08-12 12:55:12 +03:00
gzip.py
hashlib.py Removed duplicated words in in comments and docs. 2014-12-01 18:28:43 +02:00
heapq.py
hmac.py
imaplib.py don't require OpenSSL SNI to pass hostname to ssl functions (#22921) 2014-11-23 17:04:34 -06:00
imghdr.py
imp.py
inspect.py inspect: Fix getsource() to load updated source of reloaded module 2014-12-08 18:00:25 -05:00
io.py #21225: copy docstrings from base classes 2014-04-25 09:29:30 -04:00
ipaddress.py Issue #22186: Fix typos in Lib/. 2014-10-19 18:04:38 +03:00
keyword.py
linecache.py
locale.py Issue #20079: Updated alias mapping to glibc 2.19 SUPPORTED file. 2014-10-02 10:49:26 +03:00
lzma.py
macpath.py Issue #9850: Fixed macpath.join() for empty first component. Patch by 2014-09-27 18:53:23 +03:00
macurl2path.py
mailbox.py Issue #22369: Change "context manager protocol" to "context management protocol". 2014-09-10 23:43:41 +03:00
mailcap.py
mimetypes.py
modulefinder.py Issue #21707: Add missing kwonlyargcount argument to ModuleFinder.replace_paths_in_code(). 2014-07-07 14:58:12 +03:00
netrc.py
nntplib.py don't require OpenSSL SNI to pass hostname to ssl functions (#22921) 2014-11-23 17:04:34 -06:00
ntpath.py
nturl2path.py
numbers.py
opcode.py
operator.py
optparse.py
os.py Issue #21875: Remove vestigial references to Classic Mac OS in os module docs. 2014-06-26 23:40:06 -07:00
pathlib.py Close #22370: Windows detection in pathlib is now more robust. 2014-11-19 00:32:08 +01:00
pdb.py Issue #22186: Fix typos in Lib/. 2014-10-19 18:04:38 +03:00
pickle.py Issue #21905: Avoid RuntimeError in pickle.whichmodule() when sys.modules is mutated while iterating. 2014-10-04 22:15:27 +02:00
pickletools.py Issue #19858: pickletools.optimize() now aware of the MEMOIZE opcode, can 2014-12-16 18:00:56 +02:00
pipes.py
pkgutil.py Issue #14710: Fix both pkgutil.find_loader() and get_loader() to not 2014-05-23 12:30:37 -04:00
platform.py
plistlib.py Issue #21888: plistlib's load() and loads() now work if the fmt parameter is 2014-07-23 18:49:31 +03:00
poplib.py don't require OpenSSL SNI to pass hostname to ssl functions (#22921) 2014-11-23 17:04:34 -06:00
posixpath.py Issue #22034: Got rid of misleading error message for bytearray arguments in 2014-08-24 12:18:09 +03:00
pprint.py Issue #19104: pprint now produces evaluable output for wrapped strings. 2014-12-20 20:57:15 +02:00
profile.py
pstats.py
pty.py
py_compile.py
pyclbr.py
pydoc.py Issue #22314: pydoc now works when the LINES environment variable is set. 2014-11-28 00:09:29 +02:00
queue.py
quopri.py Correct the quopri module documentation. Mention the correct types of the 2014-06-25 01:12:03 -07:00
random.py Issue 13355: Make random.triangular degrade gracefully when low == high. 2014-05-25 17:25:27 -07:00
re.py backout 9fcf4008b626 (#9179) for further consideration 2014-11-30 11:49:00 -05:00
reprlib.py
rlcompleter.py
runpy.py
sched.py
selectors.py Issue #23209, #23225: selectors.BaseSelector.close() now clears its internal 2015-01-13 09:58:33 +01:00
shelve.py
shlex.py #18853: Fix resource warning in shlex's __main__ section. 2014-10-17 20:28:47 -04:00
shutil.py Issue #21775: shutil.copytree(): fix crash when copying to VFAT 2014-12-10 02:50:32 +02:00
site.py Issue #21572: Change license command to fallback to generic license URL. 2014-05-30 23:46:19 -07:00
smtpd.py
smtplib.py don't require OpenSSL SNI to pass hostname to ssl functions (#22921) 2014-11-23 17:04:34 -06:00
sndhdr.py
socket.py fix instances of consecutive articles (closes #23221) 2015-01-13 09:17:24 -05:00
socketserver.py Issue #22435: Fix a file descriptor leak when SocketServer bind fails. 2014-10-13 19:19:26 +01:00
sre_compile.py Got rid of the array module dependency in the re module. 2014-11-10 13:24:47 +02:00
sre_constants.py
sre_parse.py backout 9fcf4008b626 (#9179) for further consideration 2014-11-30 11:49:00 -05:00
ssl.py Issue #21356: Make ssl.RAND_egd() optional to support LibreSSL. The 2015-01-06 13:54:58 +01:00
stat.py
statistics.py
string.py Issue #13598: Add auto-numbering of replacement fields to string.Formatter. 2014-04-14 16:43:50 -04:00
stringprep.py
struct.py
subprocess.py Issue #21332: Ensure that ``bufsize=1`` in subprocess.Popen() selects line buffering, rather than block buffering. 2014-09-21 21:10:56 +02:00
sunau.py
symbol.py
symtable.py
sysconfig.py
tabnanny.py
tarfile.py Issue 21044: tarfile.open() now handles fileobj with an integer 'name' 2014-07-16 23:58:58 +03:00
telnetlib.py
tempfile.py tempfile: Fix docstring. Issue #21397, patch by R. David Murray. 2014-09-26 17:08:02 -04:00
textwrap.py
this.py
threading.py #11866: Eliminate race condition in the computation of names for new threads. 2014-10-04 17:43:54 -04:00
timeit.py
token.py
tokenize.py Issue #22599: Enhance tokenize.open() to be able to call it during Python 2014-12-05 10:17:10 +01:00
trace.py
traceback.py
tracemalloc.py
tty.py
turtle.py Issue #22168: Prevent turtle AttributeError with non-default Canvas on OS X. 2014-09-13 23:39:16 -07:00
types.py
uu.py
uuid.py Issue #17293: socket.gethostbyname() can raise an exception of FreeBSD. 2014-11-21 21:55:39 +02:00
warnings.py Fixed a typo in a comment (issue #23016). 2014-12-14 10:53:00 +02:00
wave.py
weakref.py Closes #21173: Fix len() on a WeakKeyDictionary when .clear() was called with an iterator alive. 2014-10-05 20:02:28 +02:00
webbrowser.py The webbrowser module now uses subprocess's start_new_session=True rather 2014-08-27 09:34:38 -07:00
xdrlib.py Issue #11694: Raise ConversionError in xdrlib as documented 2014-10-10 21:21:52 +03:00
zipfile.py Issue #14099: ZipFile.open() no longer reopen the underlying file. Objects 2014-12-03 09:11:57 +02:00