-
-
Notifications
You must be signed in to change notification settings - Fork 350
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SSL support and a Stream API #107
Merged
Merged
Changes from all commits
Commits
Show all changes
78 commits
Select commit
Hold shift + click to select a range
c11d06a
Some tweaks/cleanup to the stream interface
njsmith e814bf0
some notes to self on how SSLObject works
njsmith d505cf9
[wip] First attempt at proper SSL support
njsmith ae544bc
Small cleanups, some test infrastructure, and a first passing test
njsmith 3187137
[travis] why on earth is this not working
njsmith 1d7f097
Install test certs alongside tests
njsmith 7815369
Some basic tests working
njsmith 0dc84ab
Better auto-handshake handling, and more tests
njsmith 7c4c9f3
SSLWantWriteError can't happen
njsmith e503a83
Test case for bpo-30141
njsmith 0613ce2
checkpoint with tons of wacky stuff
njsmith e332c92
checkpoint
njsmith d428a61
Remove unused clutter
njsmith a138a78
This actually tests the weird interactions! And caught a bug!
njsmith df63625
Add a tiebreaker= argument to wait_all_tasks_blocked
njsmith b90d99b
Lots of SSL-related cleanups
njsmith 5bb29ea
refactor trio.ssl._NonblockingMutex into trio._util.UnLock
njsmith 455783a
Add StrictFIFOLock as an alias for Lock
njsmith c45b382
checkpoint; tons of work on stream API
njsmith a4b88a9
Really simplify that memory stream hook interface
njsmith 838713b
Document and test trio.StapledStream
njsmith 84ee6b9
AsyncResource is not an AbstractContextManager, what was I thinking
njsmith 909d35e
Tests for trio.abc and trio._streams
njsmith 1c2c1cb
Document and test the new trio.testing memory streams
njsmith 67ada3c
And now the test for trailing data works!
njsmith 77e4d35
Update my TODO list comments
njsmith 6dd8a77
Misc small and somewhat fiddly fixes
njsmith 0270f67
Stop MemoryRecvStream from crashing when closed w/o pending data
njsmith d24568e
Groping towards proper close handling in SSLStream
njsmith 71d2707
Tiny wording tweak to tutorial
njsmith 2c63c9f
Two changes to SocketType.sendall
njsmith 3ec1093
Allow TLS <= v1.2, but not 1.3, in the renegotiation tests
njsmith 493a4df
pypy is fixed now
njsmith 26109c3
New exception ResourceBusyError
njsmith e8e3559
checkpoint
njsmith 39794f6
checkpoint
njsmith bf9e77a
checkpoint
njsmith 8e0e949
a note to self
njsmith 5e04e10
Merge branch 'master' into ssl-and-redo-streams
njsmith fac436f
small doc changes.
njsmith 26f758a
Implement lockstep streams
njsmith aa7b1d0
Fix for platforms that have no TCP_NOTSENT_LOWAT
njsmith c0e43e6
Make windows wait_socket_* into proper checkpoints
njsmith 512515d
Fix ReST titles
njsmith 9a7e99e
Revisit non-blocking connect / InterruptedError handling
njsmith 9cd3b27
Add a test for ssl-over-ssl
njsmith c77130d
On MacOS, socket.shutdown is not idempotent
njsmith 40f1e8e
Merge branch 'ssl' of github.com:njsmith/trio into ssl
njsmith ceda041
Remove now-irrelevant test
njsmith 6432f5a
reduce code duplication in test_ssl.py
njsmith 8d40410
Speed up MacOS tests a lot by avoiding a weird timeout problem
njsmith e4bb97d
Fix docs
njsmith 42f0092
Make SSLStream pass the generic tests
njsmith ff80cf1
Update comment to remove resolved issues
njsmith 8b0a252
Lots more TLS tests and graceful shutdown fixes
njsmith 5375893
Add long comment
njsmith 5b58671
Make SSLStream state handling a little prettier
njsmith 0fc185b
First attempt at SSLStream https compatibility mode
njsmith bd0a386
Finish SSLStream https_compatible mode
njsmith 40496ea
Attempt to fix appveyor
njsmith c7f89c0
Add workaround for PyPy bug 2561
njsmith 9fe2a7e
[ci] Attempt to add pypy release build test
njsmith 7cf4815
bits of docs and stuff
njsmith 1c2bf94
Better handling of errors during handshake
njsmith f737597
SSL docstrings, and various tweaks
njsmith 074a4f0
Remove superfluous 'pass' statements from trio.abc
njsmith 61a575e
Disable testing pypy releases for now
njsmith 1480281
Some docstring fixups
njsmith 3bb0c30
more SSL docs
njsmith 3cfd248
Add test for pypy getsockopt workaround
njsmith 48599d2
Improved tests for wait_send_all_might_not_block, and corresponding f…
njsmith afe7700
Add a pragma: no cover
njsmith 31073eb
Remove a superfluous comment
njsmith 39dbf32
Make the getsockopt w/ non-zero buflen test more portable
njsmith 7bd1ef8
Merge branch 'master' into ssl
njsmith d1144b8
[docs] Make clear that high-level networking is under construction
njsmith 9e17794
Merge branch 'ssl' of github.com:njsmith/trio into ssl
njsmith b61535f
Remove todos
njsmith File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe this is not beta anymore.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's the URL where he posted it; what do you want me to do here :-). Note that "beta" here doesn't mean "this is a beta of 5.7.1", it means "this is 5.7.1, and watch out b/c the py3 support is still considered beta quality".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, my bad. Ignore comment then.