• Jason Madden's avatar
    Support TLS1.3, OpenSSL 1.1.1 (and Python 3.7.4) (#1460) · 9d27d269
    Jason Madden authored
    * Fix tests with TLS1.3
    
    There were hidden assumptions about the order in which greenlets would run.
    
    TLS1.3 changed the handshake in a way that broke those assumptions.
    
    * Attempting to fix the appveyor backdoor test timeouts.
    
    Suspect a buffering issue. Trying to fix by disabling Nagle's algorithm.
    
    Also a cleaner separation of concerns in the backdoor server.
    
    * Brute-force debugging.
    
    * Tweak the backlog and simultaneous accept settings, and drop the extra event listeners we don't need.
    
    * max_accept=1 and dropping the events fixed test__backdoor on windows.
    
    probably it was just the events. test that.
    
    * Brute force debugging for the SSL issues.
    
    * Some of the windows ssl issues may be due to fileno reuse and hence incorrectly multiplexed watchers?
    
    * Even more care with socket lifetimes.
    
    On Python 3.7, use the newer wrapping form that the stdlib uses to create the _sslobj.
    
    * More debugging.
    
    * The preferred method of unwrapping differs on 3.6 and 3.7+
    
    * Checking ordering.
    
    * Partial success, hopefully.
    
    * Lots of progress. Try again.
    
    * More Windows work.
    
    * D'oh. Test cases from 3.7.4 handle some of these issues more gracefully so we will just use them.
    
    * Tweaks.
    
    * Having a hard time getting 3.7 updated on Travis. Try to force the issue.
    
    * Yet another weird error from appveyor.
    9d27d269
test_asyncore.py 25.8 KB