]> granicus.if.org Git - rtmpdump/commitdiff
Fix limelight authentication with abbreviated app names
authorMartin Storsjo <martin@martin.st>
Thu, 15 Aug 2013 10:37:37 +0000 (13:37 +0300)
committerMartin Storsjo <martin@martin.st>
Thu, 15 Aug 2013 10:37:37 +0000 (13:37 +0300)
When streaming to limelight, the app name is either a full
"appname/subaccount" or "appname/_definst_". In the latter case,
the app name can be simplified into simply "appname", but the
authentication hashing assumes the /_definst_ still to be present.

librtmp/rtmp.c

index 0b9264d94a101608e93473e331f610cba7005eac..014ff8bbf7a96e0f83779122d01337766d2a3d3d 100644 (file)
@@ -2792,6 +2792,8 @@ PublisherAuth(RTMP *r, AVal *description)
          MD5_Update(&md5ctx, method, sizeof(method)-1);
          MD5_Update(&md5ctx, ":/", 2);
          MD5_Update(&md5ctx, apptmp.av_val, apptmp.av_len);
+         if (!AValChr(&apptmp, '/'))
+           MD5_Update(&md5ctx, "/_definst_", sizeof("/_definst_") - 1);
          MD5_Final(md5sum_val, &md5ctx);
           RTMP_Log(RTMP_LOGDEBUG, "%s, md5(%s:/%.*s) =>", __FUNCTION__,
            method, apptmp.av_len, apptmp.av_val);