OSDN Git Service

rtmpproto: Don't include a client version in the unencrypted C1 handshake
authorMartin Storsjö <martin@martin.st>
Fri, 14 Oct 2016 12:55:52 +0000 (15:55 +0300)
committerMartin Storsjö <martin@martin.st>
Fri, 14 Oct 2016 20:11:19 +0000 (23:11 +0300)
According to the public RTMP specification, these 4 bytes should
be zero.

librtmp in server mode assumes that the RTMPE (FP9) handshake is
used if these bytes are nonzero.

Signed-off-by: Martin Storsjö <martin@martin.st>
libavformat/rtmpproto.c

index 0097841..1ffc79a 100644 (file)
@@ -1198,10 +1198,7 @@ static int rtmp_handshake(URLContext *s, RTMPContext *rt)
     uint8_t tosend    [RTMP_HANDSHAKE_PACKET_SIZE+1] = {
         3,                // unencrypted data
         0, 0, 0, 0,       // client uptime
-        RTMP_CLIENT_VER1,
-        RTMP_CLIENT_VER2,
-        RTMP_CLIENT_VER3,
-        RTMP_CLIENT_VER4,
+        0, 0, 0, 0,       // zeros
     };
     uint8_t clientdata[RTMP_HANDSHAKE_PACKET_SIZE];
     uint8_t serverdata[RTMP_HANDSHAKE_PACKET_SIZE+1];