Made the key be UUID4 instead of a UUID1.
This commit is contained in:
@@ -1,7 +1,10 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
|
|
||||||
import unittest
|
# stdlib
|
||||||
|
import base64, unittest, uuid
|
||||||
|
|
||||||
|
# websocket-client
|
||||||
import websocket as ws
|
import websocket as ws
|
||||||
|
|
||||||
TRACABLE=False
|
TRACABLE=False
|
||||||
@@ -213,6 +216,12 @@ class WebSocketTest(unittest.TestCase):
|
|||||||
self.assertRaises(error, s.send, "Hello")
|
self.assertRaises(error, s.send, "Hello")
|
||||||
self.assertRaises(error, s.recv)
|
self.assertRaises(error, s.recv)
|
||||||
|
|
||||||
|
def testUUID4(self):
|
||||||
|
""" WebSocket key should be a UUID4.
|
||||||
|
"""
|
||||||
|
key = ws._create_sec_websocket_key()
|
||||||
|
u = uuid.UUID(bytes=base64.b64decode(key))
|
||||||
|
self.assertEquals(4, u.version)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
@@ -166,7 +166,7 @@ _MAX_CHAR_BYTE = (1<<8) -1
|
|||||||
# http://axod.blogspot.com/2010/06/websocket-gets-update-and-it-breaks.html
|
# http://axod.blogspot.com/2010/06/websocket-gets-update-and-it-breaks.html
|
||||||
|
|
||||||
def _create_sec_websocket_key():
|
def _create_sec_websocket_key():
|
||||||
uid = uuid.uuid1()
|
uid = uuid.uuid4()
|
||||||
return base64.encodestring(uid.bytes).strip()
|
return base64.encodestring(uid.bytes).strip()
|
||||||
|
|
||||||
_HEADERS_TO_CHECK = {
|
_HEADERS_TO_CHECK = {
|
||||||
|
Reference in New Issue
Block a user