Move protocol_name testing to broker

pull/8/head
nico 2015-08-14 14:25:24 +02:00
rodzic 92d84410c5
commit d2142644b7
3 zmienionych plików z 5 dodań i 8 usunięć

Wyświetl plik

@ -389,6 +389,11 @@ class Broker:
yield from writer.close()
self.logger.debug("Connection closed")
return
if connect.variable_header.protocol_name != "MQTT":
self.logger.warn('[MQTT-3.1.2-1] Incorrect protocol name: "%s"' % connect.variable_header.protocol_name)
yield from writer.close()
self.logger.debug("Connection closed")
return
connack = None
if connect.variable_header.proto_level != 4:

Wyświetl plik

@ -97,8 +97,6 @@ class ConnectVariableHeader(MQTTVariableHeader):
def from_stream(cls, reader: ReaderAdapter, fixed_header: MQTTFixedHeader):
# protocol name
protocol_name = yield from decode_string(reader)
if protocol_name != "MQTT":
raise MQTTException('[MQTT-3.1.2-1] Incorrect protocol name: "%s"' % protocol_name)
# protocol level
protocol_level_byte = yield from read_or_raise(reader, 1)

Wyświetl plik

@ -52,12 +52,6 @@ class ConnectPacketTest(unittest.TestCase):
self.assertEqual(message.payload.username, 'user')
self.assertEqual(message.payload.password, 'password')
def test_decode_fail_protocol_name(self):
data = b'\x10\x3e\x00\x04TTQM\x04\xce\x00\x00\x00\x0a0123456789\x00\x09WillTopic\x00\x0bWillMessage\x00\x04user\x00\x08password'
stream = BufferReader(data)
with self.assertRaises(MQTTException):
self.loop.run_until_complete(ConnectPacket.from_stream(stream))
def test_decode_fail_reserved_flag(self):
data = b'\x10\x3e\x00\x04MQTT\x04\xcf\x00\x00\x00\x0a0123456789\x00\x09WillTopic\x00\x0bWillMessage\x00\x04user\x00\x08password'
stream = BufferReader(data)