Index: third_party/tlslite/tlslite/messages.py |
diff --git a/third_party/tlslite/tlslite/messages.py b/third_party/tlslite/tlslite/messages.py |
index 9aeff6d010c69a699c148b34ad580609320ac0f1..0bdaf969043fdd96893589b3d0dc114c845a37d3 100644 |
--- a/third_party/tlslite/tlslite/messages.py |
+++ b/third_party/tlslite/tlslite/messages.py |
@@ -92,12 +92,14 @@ class HandshakeMsg(object): |
def __init__(self, handshakeType): |
self.contentType = ContentType.handshake |
self.handshakeType = handshakeType |
+ self.rawMessage = bytearray(0) |
def postWrite(self, w): |
headerWriter = Writer() |
headerWriter.add(self.handshakeType, 1) |
headerWriter.add(len(w.bytes), 3) |
- return headerWriter.bytes + w.bytes |
+ self.rawMessage = headerWriter.bytes + w.bytes |
+ return self.rawMessage |
class ClientHello(HandshakeMsg): |
def __init__(self, ssl2=False): |
@@ -114,6 +116,7 @@ class ClientHello(HandshakeMsg): |
self.supports_npn = False |
self.server_name = bytearray(0) |
self.channel_id = False |
+ self.extended_master_secret = False |
self.support_signed_cert_timestamps = False |
self.status_request = False |
@@ -185,6 +188,8 @@ class ClientHello(HandshakeMsg): |
break |
elif extType == ExtensionType.channel_id: |
self.channel_id = True |
+ elif extType == ExtensionType.extended_master_secret: |
+ self.extended_master_secret = True |
elif extType == ExtensionType.signed_cert_timestamps: |
if extLength: |
raise SyntaxError() |
@@ -267,6 +272,7 @@ class ServerHello(HandshakeMsg): |
self.next_protos_advertised = None |
self.next_protos = None |
self.channel_id = False |
+ self.extended_master_secret = False |
self.signed_cert_timestamps = None |
self.status_request = False |
@@ -358,6 +364,9 @@ class ServerHello(HandshakeMsg): |
if self.channel_id: |
w2.add(ExtensionType.channel_id, 2) |
w2.add(0, 2) |
+ if self.extended_master_secret: |
+ w2.add(ExtensionType.extended_master_secret, 2) |
+ w2.add(0, 2) |
if self.signed_cert_timestamps: |
w2.add(ExtensionType.signed_cert_timestamps, 2) |
w2.addVarSeq(bytearray(self.signed_cert_timestamps), 1, 2) |