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/test1194 | |
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/test1194')
-rw-r--r-- | tests/data/test1194 | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/tests/data/test1194 b/tests/data/test1194 new file mode 100644 index 000000000..497891add --- /dev/null +++ b/tests/data/test1194 @@ -0,0 +1,59 @@ +<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> +<servercmd> +PUBLISH-before-SUBACK TRUE +</servercmd> +</reply> + +# +# Client-side +<client> +<features> +mqtt +</features> +<server> +mqtt +</server> +<name> +MQTT SUBSCRIBE with PUBLISH befoire SUBACK +</name> +<command option="binary-trace"> +mqtt://%HOSTIP:%MQTTPORT/1194 +</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 20020000 +client SUBSCRIBE 9 000100043131393400 +server PUBLISH c 300c00043131393468656c6c6f0a +server SUBACK 3 9003000100 +server DISCONNECT 0 e000 +</protocol> +</verify> +</testcase> |