[rtmpdump] [PATCH 2/2] Only use one challenge value in adobe auth

Martin Storsjo martin at martin.st
Sun Dec 30 13:09:17 CET 2012

Some servers (akamai) only include a 'challenge' parameter, no
'opaque' parameter, while others (wowza) include both 'opaque'
and 'challenge'. If 'opaque' is provided, it should be used here,
otherwise 'challenge', but never both.

After this patch, adobe auth works against both wowza and akamai
 librtmp/rtmp.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/librtmp/rtmp.c b/librtmp/rtmp.c
index d64a0bb..7f1c7ff 100644
--- a/librtmp/rtmp.c
+++ b/librtmp/rtmp.c
@@ -2609,7 +2609,7 @@ PublisherAuth(RTMP *r, AVal *description)
             /* response = base64enc(md5(hash1 + opaque + challenge2)) */
 	  if (opaque.av_len)
 	    MD5_Update(&md5ctx, opaque.av_val, opaque.av_len);
-	  if (challenge.av_len)
+	  else if (challenge.av_len)
 	    MD5_Update(&md5ctx, challenge.av_val, challenge.av_len);
 	  MD5_Update(&md5ctx, challenge2, B64INT_LEN);
 	  MD5_Final(md5sum_val, &md5ctx);

More information about the rtmpdump mailing list