diff options
author | Daniel Stenberg <daniel@haxx.se> | 2020-04-16 13:20:52 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2020-04-20 08:09:33 +0200 |
commit | 5811beba391baefad41cd6f8f4fa4e3862098813 (patch) | |
tree | 572fc2d609408300d6d4946476d5f2f41d09e96e /tests/data/test1196 | |
parent | d1a2816b4128faa8ebc50ce93285c7364652856e (diff) |
mqtt: improve the state machine
To handle PUBLISH before SUBACK and more.
Updated the existing tests and added three new ones.
Reported-by: Christoph Krey
Bug: https://curl.haxx.se/mail/lib-2020-04/0021.html
Closes #5246
Diffstat (limited to 'tests/data/test1196')
-rw-r--r-- | tests/data/test1196 | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/tests/data/test1196 b/tests/data/test1196 new file mode 100644 index 000000000..c07efd927 --- /dev/null +++ b/tests/data/test1196 @@ -0,0 +1,62 @@ +<testcase> +<info> +<keywords> +MQTT +MQTT SUBSCRIBE +</keywords> +</info> + +# +# Server-side +<reply> +<data nocheck="yes"> +hello +</data> +<datacheck hex="yes"> +00 04 31 31 39 30 68 65 6c 6c 6f 5b 4c 46 5d 0a +</datacheck> + +# error 1 - "Connection Refused, unacceptable protocol version" +<servercmd> +error-CONNACK 1 +</servercmd> +</reply> + +# +# Client-side +<client> +<features> +mqtt +</features> +<server> +mqtt +</server> +<name> +MQTT with error in CONNACK +</name> +<command option="binary-trace"> +mqtt://%HOSTIP:%MQTTPORT/1196 +</command> +</client> + +# +# Verify data after the test has been "shot" +<verify> +# These are hexadecimal protocol dumps from the client +# +# Strip out the random part of the client id from the CONNECT message +# before comparison +<strippart> +s/^(.* 00044d5154540402003c000c6375726c).*/$1/ +</strippart> +<protocol> +client CONNECT 18 00044d5154540402003c000c6375726c +server CONNACK 2 20020001 +</protocol> + +# 8 is CURLE_WEIRD_SERVER_REPLY +<errorcode> +8 +</errorcode> +</verify> +</testcase> |