Skip to content
This repository has been archived by the owner on Dec 10, 2018. It is now read-only.

Support TSSLSocket #136

Closed
laserson opened this issue Jun 2, 2015 · 6 comments
Closed

Support TSSLSocket #136

laserson opened this issue Jun 2, 2015 · 6 comments

Comments

@laserson
Copy link
Contributor

laserson commented Jun 2, 2015

Currently supported by thrift but not thriftpy.

@amontalenti
Copy link

Mentioned by Wes McKinney (author of Pandas) here: https://twitter.com/wesmckinn/status/672638289560539136 (he works on Ibis at Cloudera now)

@lxyu
Copy link
Contributor

lxyu commented Dec 8, 2015

Yah we see it, hopefully we'll support it soon.

@lxyu
Copy link
Contributor

lxyu commented Dec 29, 2015

SSLSocket supported now, it's actually more difficult than the first glance. The implementation in thriftpy should be better than the upstream apache lib:

  1. more secure. it use the latest create_default_context with more secure default options, and has a limited backward compat implementation ported to py26 and py33. For more info refer to the source code of CPython ssl lib, https://github.com/python/cpython/blob/3.5/Lib/ssl.py#L425-L471 , the current apache implementation has none of these.
  2. more feature rich. you can customize or persist the SSLContext object to suit your needs.

While on the other hand, security is difficult and I'm not a security expert. I tried to implement the SSL socket based on best practice, there may still have bugs in it.

So you may want to review the code before use, and I'll appricate any feedbacks on the implementation.

@amontalenti
Copy link

@lxyu Very cool! I'm going to take a look next week. I also tweeted at Wes to let him know.

@lxyu
Copy link
Contributor

lxyu commented Dec 29, 2015

@amontalenti Thanks, I'll make a release as soon as the review finished!

@lxyu
Copy link
Contributor

lxyu commented Jan 21, 2016

Close as released in v0.3.3

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

No branches or pull requests

3 participants