obs-outputs: Enable rtmp authentication

Authentication code has been updated as per the changes to support
multiple streams.

Authentication is now also enabled by default, and should be a no-op
if the server does not request authentication or username and password
details are not provided.
master
Jess Mayo 2015-07-08 11:26:00 +09:00 committed by jp9000
parent e96c7c86b6
commit 132e58fb31
1 changed files with 15 additions and 5 deletions

View File

@ -23,6 +23,12 @@
* http://www.gnu.org/copyleft/lgpl.html
*/
#ifndef NO_AUTH
#ifndef CRYPTO
#define USE_ONLY_MD5
#endif
#endif
#include "rtmp_sys.h"
#include "log.h"
@ -2614,7 +2620,7 @@ PublisherAuth(RTMP *r, AVal *description)
RTMP_Log(RTMP_LOGDEBUG, "%s, new app: %.*s tcUrl: %.*s playpath: %s", __FUNCTION__,
r->Link.app.av_len, r->Link.app.av_val,
r->Link.tcUrl.av_len, r->Link.tcUrl.av_val,
r->Link.playpath.av_val);
r->Link.streams[r->Link.curStreamIdx].playpath.av_val);
}
else if (strstr(description->av_val, av_authmod_llnw.av_val) != NULL)
{
@ -2817,7 +2823,7 @@ PublisherAuth(RTMP *r, AVal *description)
RTMP_Log(RTMP_LOGDEBUG, "%s, new app: %.*s tcUrl: %.*s playpath: %s", __FUNCTION__,
r->Link.app.av_len, r->Link.app.av_val,
r->Link.tcUrl.av_len, r->Link.tcUrl.av_val,
r->Link.playpath.av_val);
r->Link.streams[r->Link.curStreamIdx].playpath.av_val);
}
else
{
@ -4215,11 +4221,15 @@ RTMP_Close(RTMP *r)
}
#if defined(CRYPTO) || defined(USE_ONLY_MD5)
if (!(r->Link.protocol & RTMP_FEATURE_WRITE) || (r->Link.pFlags & RTMP_PUB_CLEAN))
for (int idx = 0; idx < r->Link.nStreams; idx++)
{
free(r->Link.playpath0.av_val);
r->Link.playpath0.av_val = NULL;
free(r->Link.streams[idx].playpath.av_val);
r->Link.streams[idx].playpath.av_val = NULL;
}
r->Link.curStreamIdx = 0;
r->Link.nStreams = 0;
if ((r->Link.protocol & RTMP_FEATURE_WRITE) &&
(r->Link.pFlags & RTMP_PUB_CLEAN) &&
(r->Link.pFlags & RTMP_PUB_ALLOC))