<?xml version="1.0" encoding="US-ASCII"?>
<testcase>
<info>
<keywords>
MQTT
MQTT SUBSCRIBE
</keywords>
</info>

# Server-side
<reply>
<data nocheck="yes">
hello
</data>

# Send a PINGRESP (0xD0) with remaining_length=2 in place of the
# expected CONNACK. MQTT 3.1.1 s. 3.13.1 requires PINGRESP to have
# remaining_length == 0. Curl must reject this with
# CURLE_WEIRD_SERVER_REPLY rather than dispatching to the CONNACK
# handler.
<servercmd>
PINGRESP-as-CONNACK TRUE
</servercmd>
</reply>

# Client-side
<client>
<features>
mqtt
</features>
<server>
mqtt
</server>
<name>
MQTT reject PINGRESP with nonzero remaining_length in place of CONNACK
</name>
<command option="binary-trace">
mqtt://%HOSTIP:%MQTTPORT/%TESTNUMBER
</command>
</client>

# Verify data after the test has been "shot"
<verify>
# 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 PINGRESP-as-CONNACK 2 d0020000
</protocol>

# 8 is CURLE_WEIRD_SERVER_REPLY
<errorcode>
8
</errorcode>
</verify>
</testcase>
