diff --git a/src/send_connack.c b/src/send_connack.c index 629dca64..0891af60 100644 --- a/src/send_connack.c +++ b/src/send_connack.c @@ -51,6 +51,18 @@ int send__connack(struct mosquitto_db *db, struct mosquitto *context, int ack, i return rc; } } + /* FIXME - disable support until available */ + rc = mosquitto_property_add_byte(&properties, MQTT_PROP_SHARED_SUB_AVAILABLE, 0); + if(rc){ + mosquitto__free(packet); + return rc; + } + rc = mosquitto_property_add_byte(&properties, MQTT_PROP_SUBSCRIPTION_ID_AVAILABLE, 0); + if(rc){ + mosquitto__free(packet); + return rc; + } + proplen = property__get_length_all(properties); varbytes = packet__varint_bytes(proplen); packet->remaining_length += proplen + varbytes; diff --git a/test/mosq_test.py b/test/mosq_test.py index 26fea528..a975d833 100644 --- a/test/mosq_test.py +++ b/test/mosq_test.py @@ -6,6 +6,8 @@ import struct import sys import time +import mqtt5_props + def start_broker(filename, cmd=None, port=0, use_conf=False): delay = 0.1 @@ -359,7 +361,11 @@ def gen_connect(client_id, clean_session=True, keepalive=60, username=None, pass def gen_connack(resv=0, rc=0, proto_ver=4): if proto_ver == 5: - packet = struct.pack('!BBBBB', 32, 3, resv, rc, 0); + props = mqtt5_props.gen_byte_prop(mqtt5_props.PROP_SHARED_SUB_AVAILABLE, 0) + props += mqtt5_props.gen_byte_prop(mqtt5_props.PROP_SUBSCRIPTION_ID_AVAILABLE, 0) + props = mqtt5_props.prop_finalise(props) + + packet = struct.pack('!BBBB', 32, 2+len(props), resv, rc) + props else: packet = struct.pack('!BBBB', 32, 2, resv, rc);