Coder Social home page Coder Social logo

Comments (3)

dellnoantechnp avatar dellnoantechnp commented on July 3, 2024 1

SSLSocket.version()

Return the actual SSL protocol version negotiated by the connection as a string, or None is no secure connection is established. As of this writing, possible return values include "SSLv2", "SSLv3", "TLSv1", "TLSv1.1" and "TLSv1.2". Recent OpenSSL versions may define more return values.

New in version 3.5.


    if sys.version_info >= (3, 5):
        protocol_version = ssl_sock.version()
    else:
        protocol_version = SSL_get_version(ssl_sock)

from fopnp.

brandon-rhodes avatar brandon-rhodes commented on July 3, 2024 1

Oh, neat! The next time I return to these fopnp examples to update them, I'll include this fix.

from fopnp.

brandon-rhodes avatar brandon-rhodes commented on July 3, 2024

Thanks for the report! I'm not sure how soon I'll get the chance to dig in and debug this, but the big question will be whether this depends on the operating system (Mac vs Linux) or whether the struct underlying Python 3.6 is different and my ctypes code β€” which hand-copies the shape of the C language struct as I read it out of the SSL .h file in the Python source code β€” needs to be updated and be different for different versions of Python.

If you're interested in debugging yourself, simply dig into the older .h files that define the SSL struct, looking for the same fields you can see me naming in my ctypes code. Chances are that the fields changed somewhere between earlier versions of Python 3 and the version Python 3.6 that you're using, and that my module needs an if statement to select a new list of fields if the Python version is recent enough. Feel free to comment here with further findings as you explore!

from fopnp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.