-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Disallow writing to $ topics where appropriate.
- Loading branch information
Showing
14 changed files
with
213 additions
and
30 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
#!/usr/bin/env python | ||
|
||
# Test whether a SUBSCRIBE to $SYS or $share succeeds | ||
|
||
from mosq_test_helper import * | ||
|
||
def do_test(proto_ver): | ||
rc = 1 | ||
keepalive = 60 | ||
connect_packet = mosq_test.gen_connect("subscribe-test", keepalive=keepalive, proto_ver=proto_ver) | ||
connack_packet = mosq_test.gen_connack(rc=0, proto_ver=proto_ver) | ||
|
||
mid = 1 | ||
subscribe1_packet = mosq_test.gen_subscribe(mid, "$SYS/broker/missing", 0, proto_ver=proto_ver) | ||
suback1_packet = mosq_test.gen_suback(mid, 0, proto_ver=proto_ver) | ||
|
||
mid = 2 | ||
subscribe2_packet = mosq_test.gen_subscribe(mid, "$share/share/#", 0, proto_ver=proto_ver) | ||
suback2_packet = mosq_test.gen_suback(mid, 0, proto_ver=proto_ver) | ||
|
||
port = mosq_test.get_port() | ||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port) | ||
|
||
try: | ||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port) | ||
mosq_test.do_send_receive(sock, subscribe1_packet, suback1_packet, "suback1") | ||
mosq_test.do_send_receive(sock, subscribe2_packet, suback2_packet, "suback2") | ||
|
||
rc = 0 | ||
|
||
sock.close() | ||
finally: | ||
broker.terminate() | ||
broker.wait() | ||
(stdo, stde) = broker.communicate() | ||
if rc: | ||
print(stde) | ||
exit(rc) | ||
|
||
do_test(4) | ||
do_test(5) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
#!/usr/bin/env python | ||
|
||
# Test whether a PUBLISH to $ topics QoS 1 results in the expected PUBACK packet. | ||
|
||
from mosq_test_helper import * | ||
|
||
mid = 1 | ||
def helper(topic, reason_code): | ||
global mid | ||
|
||
publish_packet = mosq_test.gen_publish(topic, qos=1, mid=mid, payload="message", proto_ver=5) | ||
if reason_code == 0: | ||
puback_packet = mosq_test.gen_puback(mid, proto_ver=5) | ||
else: | ||
puback_packet = mosq_test.gen_puback(mid, proto_ver=5, reason_code=reason_code) | ||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port) | ||
mosq_test.do_send_receive(sock, publish_packet, puback_packet, "puback%d"%(mid)) | ||
|
||
|
||
rc = 1 | ||
keepalive = 60 | ||
connect_packet = mosq_test.gen_connect("pub-test", keepalive=keepalive, proto_ver=5) | ||
connack_packet = mosq_test.gen_connack(rc=0, proto_ver=5) | ||
|
||
port = mosq_test.get_port() | ||
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port) | ||
|
||
try: | ||
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port) | ||
helper("$SYS/broker/uptime", mqtt5_rc.MQTT_RC_NOT_AUTHORIZED) | ||
helper("$SYS/broker/connection/me", mqtt5_rc.MQTT_RC_NOT_AUTHORIZED) | ||
helper("$SYS/broker/connection/me/state", 0) | ||
helper("$share/share/topic", mqtt5_rc.MQTT_RC_NOT_AUTHORIZED) | ||
|
||
rc = 0 | ||
|
||
sock.close() | ||
finally: | ||
broker.terminate() | ||
broker.wait() | ||
(stdo, stde) = broker.communicate() | ||
if rc: | ||
print(stde) | ||
|
||
exit(rc) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,6 +8,7 @@ | |
import mosq_test | ||
import mqtt5_opts | ||
import mqtt5_props | ||
import mqtt5_rc | ||
|
||
import socket | ||
import ssl | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.