aboutsummaryrefslogtreecommitdiffstats
path: root/netlib/tcp.py
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2015-06-08 23:08:43 +1200
committerAldo Cortesi <aldo@nullcube.com>2015-06-08 23:08:43 +1200
commit6b9c2739c20c4c4115e49b5c120554ec89da8c38 (patch)
tree3fdbcd20f7a7b7b2ca13335cad94c0ac81862207 /netlib/tcp.py
parent9c48bfb2a53bf3ac3c29408511e3126ada16afd8 (diff)
parent4666d1e7bbf77b470d938d873d1a760283963adf (diff)
downloadmitmproxy-6b9c2739c20c4c4115e49b5c120554ec89da8c38.tar.gz
mitmproxy-6b9c2739c20c4c4115e49b5c120554ec89da8c38.tar.bz2
mitmproxy-6b9c2739c20c4c4115e49b5c120554ec89da8c38.zip
Merge pull request #66 from Kriechi/improve-alpn-support
improve ALPN support on travis
Diffstat (limited to 'netlib/tcp.py')
-rw-r--r--netlib/tcp.py19
1 files changed, 11 insertions, 8 deletions
diff --git a/netlib/tcp.py b/netlib/tcp.py
index f6179faa..fc2ce115 100644
--- a/netlib/tcp.py
+++ b/netlib/tcp.py
@@ -6,6 +6,8 @@ import sys
import threading
import time
import traceback
+
+import OpenSSL
from OpenSSL import SSL
from . import certutils
@@ -401,16 +403,17 @@ class _Connection(object):
if log_ssl_key:
context.set_info_callback(log_ssl_key)
- # advertise application layer protocols
- if alpn_protos is not None:
- context.set_alpn_protos(alpn_protos)
+ if OpenSSL._util.lib.Cryptography_HAS_ALPN:
+ # advertise application layer protocols
+ if alpn_protos is not None:
+ context.set_alpn_protos(alpn_protos)
- # select application layer protocol
- if alpn_select is not None:
- def alpn_select_f(conn, options):
- return bytes(alpn_select)
+ # select application layer protocol
+ if alpn_select is not None:
+ def alpn_select_f(conn, options):
+ return bytes(alpn_select)
- context.set_alpn_select_callback(alpn_select_f)
+ context.set_alpn_select_callback(alpn_select_f)
return context