diff --git a/client/sub_client_output.c b/client/sub_client_output.c index e68a8500..51f0d51f 100644 --- a/client/sub_client_output.c +++ b/client/sub_client_output.c @@ -221,7 +221,7 @@ static int json_print_properties(cJSON *root, const mosquitto_property *properti break; case MQTT_PROP_TOPIC_ALIAS: - mosquitto_property_read_int16(prop, MQTT_PROP_MESSAGE_EXPIRY_INTERVAL, &i16value, false); + mosquitto_property_read_int16(prop, MQTT_PROP_TOPIC_ALIAS, &i16value, false); tmp = cJSON_CreateNumber(i16value); break; diff --git a/lib/alias_mosq.c b/lib/alias_mosq.c index d7d30635..066e52f6 100644 --- a/lib/alias_mosq.c +++ b/lib/alias_mosq.c @@ -35,7 +35,7 @@ int alias__add_l2r(struct mosquitto *mosq, const char *topic, uint16_t *alias) if(mosq->alias_count_l2r < mosq->alias_max_l2r){ aliases_new = mosquitto__realloc(mosq->aliases_l2r, sizeof(struct mosquitto__alias)*(size_t)(mosq->alias_count_l2r+1)); if(!aliases_new) return MOSQ_ERR_NOMEM; - + mosq->aliases_l2r = aliases_new; mosq->alias_count_l2r++; *alias = mosq->alias_count_l2r; diff --git a/test/client/02-subscribe-format-json-properties.py b/test/client/02-subscribe-format-json-properties.py index d98aebae..63cd0651 100755 --- a/test/client/02-subscribe-format-json-properties.py +++ b/test/client/02-subscribe-format-json-properties.py @@ -27,17 +27,19 @@ def do_test(proto_ver): '-F', '%j', '-t', '02/sub/format/json/properties/test', '-V', V, - '-C', '1' + '-C', '1', + '-D', 'subscribe', 'subscription-identifier', '99', + '-D', 'connect', 'topic-alias-maximum', '100' ] props = mqtt5_props.gen_byte_prop(mqtt5_props.PROP_PAYLOAD_FORMAT_INDICATOR, 1) props += mqtt5_props.gen_string_prop(mqtt5_props.PROP_CONTENT_TYPE, "plain/text") props += mqtt5_props.gen_string_prop(mqtt5_props.PROP_RESPONSE_TOPIC, "/dev/null") - #props += mqtt5_props.gen_string_prop(mqtt5_props.PROP_CORRELATION_DATA, "2357289375902345") - props += mqtt5_props.gen_string_pair_prop(mqtt5_props.PROP_USER_PROPERTY, "name", "value") - props += mqtt5_props.gen_string_pair_prop(mqtt5_props.PROP_USER_PROPERTY, "name", "value") - props += mqtt5_props.gen_string_pair_prop(mqtt5_props.PROP_USER_PROPERTY, "name", "value") - props += mqtt5_props.gen_string_pair_prop(mqtt5_props.PROP_USER_PROPERTY, "name", "value") + props += mqtt5_props.gen_string_prop(mqtt5_props.PROP_CORRELATION_DATA, "2357289375902345") + props += mqtt5_props.gen_string_pair_prop(mqtt5_props.PROP_USER_PROPERTY, "name", "value4") + props += mqtt5_props.gen_string_pair_prop(mqtt5_props.PROP_USER_PROPERTY, "name", "value3") + props += mqtt5_props.gen_string_pair_prop(mqtt5_props.PROP_USER_PROPERTY, "name", "value1") + props += mqtt5_props.gen_string_pair_prop(mqtt5_props.PROP_USER_PROPERTY, "name", "value2") publish_packet = mosq_test.gen_publish("02/sub/format/json/properties/test", mid=1, qos=1, payload="message", proto_ver=proto_ver, properties=props) broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port) @@ -53,12 +55,15 @@ def do_test(proto_ver): "payload-format-indicator": 1, "content-type": "plain/text", "response-topic": "/dev/null", + "correlation-data": "2357289375902345", "user-properties": [ - {"name": "value"}, - {"name": "value"}, - {"name": "value"}, - {"name": "value"} - ] + {"name": "value4"}, + {"name": "value3"}, + {"name": "value1"}, + {"name": "value2"} + ], + "topic-alias": 1, + "subscription-identifier": 99 }, "payload": "message" }