test571   [plain text]


<testcase>

# Informational
# Bang on RTP by
#   1) giving an evil payload (with $)
#   2) Giving evil content (SDP starting with $)
#   3) packing rtp after headers, after content, and at the start
<info>
<keywords>
RTSP
RTP
</keywords>
</info>

# Server-side
<reply>
<data1>
RTSP/1.0 200 OK
Server: RTSPD/libcurl-test
Session: asdf
CSeq: 1

</data1>

<data2>
RTSP/1.0 200 OK
Server: RTSPD/libcurl-test
CSeq: 2
Session: asdf

</data2>

<data3>
RTSP/1.0 200 OK
Server: RTSPD/libcurl-test
Cseq: 3
Content-Length: 4
Content-Type: fake/evil

$99
</data3>

<data4>
RTSP/1.0 200 OK
Server: RTSPD/libcurl-test
Session: asdf
CSeq: 4

</data4>

<servercmd>
rtp: part 2 channel 1 size 10
rtp: part 2 channel 0 size 500
rtp: part 2 channel 0 size 196
rtp: part 2 channel 0 size 124
rtp: part 2 channel 0 size 824
rtp: part 3 channel 1 size 10
rtp: part 3 channel 0 size 50
rtp: part 4 channel 0 size 798
rtp: part 4 channel 0 size 42
rtp: part 4 channel 1 size 30
rtp: part 4 channel 0 size 2048
rtp: part 4 channel 0 size 85
rtp: part 4 channel 1 size 24
</servercmd>
</reply>

# Client-Side
<client>
<server>
rtsp
</server>
<tool>
lib571
</tool>

<name>
RTSP RTP Interleaving Test
</name>
<command>
rtsp://%HOSTIP:%RTSPPORT/571 log/protofile.txt
</command>
</client>

<verify>
<stdout>
RTP: message size 10, channel 1
RTP: message size 500, channel 0
RTP: message size 196, channel 0
RTP: message size 124, channel 0
RTP: message size 824, channel 0
RTP: message size 10, channel 1
RTP: message size 50, channel 0
RTP: message size 798, channel 0
RTP: message size 42, channel 0
RTP: message size 30, channel 1
RTP: message size 2048, channel 0
RTP: message size 85, channel 0
RTP: message size 24, channel 1
</stdout>

<file name="log/protofile.txt">
$99
</file>
</verify>

</testcase>