Skip to content
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

Document SNI compatible mode on Python 2.x #21

Closed
devpi-bot opened this issue Mar 31, 2017 · 8 comments
Closed

Document SNI compatible mode on Python 2.x #21

devpi-bot opened this issue Mar 31, 2017 · 8 comments

Comments

@devpi-bot
Copy link
Collaborator

devpi-client uses the requests library which in turn uses the vendored urllib3 library.

Given Python 2.x's lack of SNI support urllib3 added support for it based on a few packages which when available add the feature even on 2.x. The actually packages to install are only documented in the file though: https://github.com/shazow/urllib3/blob/97f0c840052c696490be1e3cc77e00bc30f78b44/urllib3/contrib/pyopenssl.py#L5-L7

So I think it would be worthwhile to add this to a section of devpi somewhere:

  • pyOpenSSL (tested with 0.13)
  • ndg-httpsclient (tested with 0.3.2)
  • pyasn1 (tested with 0.1.6)
@devpi-bot
Copy link
Collaborator Author

Original comment by @jezdez

Oh I forgot what SNI is, it helps hosters to not have to have one IP per SSL-enabled endpoint: http://en.wikipedia.org/wiki/Server_Name_Indication

@devpi-bot
Copy link
Collaborator Author

Original comment by @hpk42

maybe a good time to consider allowing a devpi-server[sni] extra which would pull in the deps? (have never packaged extras, though)

@devpi-bot
Copy link
Collaborator Author

Original comment by @jezdez

Sure, sounds like a plan!

@devpi-bot
Copy link
Collaborator Author

Original comment by @hpk42

unreleased

avoid depending on requests-2.0.1 which does not support SNI.
addresses issue21

→ <>

@devpi-bot
Copy link
Collaborator Author

Original comment by @hpk42

So requests/pip on python3 support SNI without any extra dependencies?

I am thinking of just adding the dependencies to "devpi-client" on Python2 so users don't have to worry.

@devpi-bot
Copy link
Collaborator Author

Original comment by @fschulze

With environment markers we can easily add the dependency, we just need confirmation on which dependencies are needed.

@devpi-bot
Copy link
Collaborator Author

Original comment by @jhermann

An easy way to achieve this is depending on requests[security] (only needed for <2.7.9 afaik).

@devpi-bot
Copy link
Collaborator Author

Original comment by @fschulze

I consider this obsolete now. SNI is supported since 2.7.9.

See https://www.python.org/downloads/release/python-279/ and https://www.python.org/dev/peps/pep-0466/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant