kopia lustrzana https://github.com/Yakifo/amqtt
Move protocol_name testing to broker
rodzic
92d84410c5
commit
d2142644b7
|
@ -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:
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
Ładowanie…
Reference in New Issue