DSS源码分析--RTSP请求的认证机制

本文详细分析了DSS对RTSP协议中ANNOUNCE请求的认证过程,涉及kAuthenticatingRequest和kAuthorizingRequest两个阶段。在非mac平台,QTSSAccessModule负责验证用户名及密码,从qtusers文件获取加密密码,并在CheckAuthentication()中判断验证是否成功。如果验证失败,后续的授权也将不通过。授权阶段,ReflectorAuthorizeRTSPRequest()会检查用户是否在广播组中,以决定写操作的权限。
摘要由CSDN通过智能技术生成

DSS对RTSP协议中的ANNOUNCE有一个认证的过程。需要事先通过web管理界面设定movie broadcast password,然后用这个账号进行Digest Authentication, DSS才会允许客户端上传一个流。如要修改这个认证机制,首先需要了解其原理。根据上一篇博客《DSS源码分析--对RTSP请求的状态机处理机制》的分析,DSS对RTSP请求的认证过程主要涉及kAuthenticatingRequest和kAuthorizingRequest两个阶段。


kAuthenticatingRequest阶段,根据RTSP请求的类型,分别设置qtssActionFlagsWrite和qtssActionFlagsRead两个flag,然后交给注册了QTSS_RTSPAuthenticate_Role角色的模块去判断是否为合法用户。

case kAuthenticatingRequest:
{
    ......
    if((method == qtssAnnounceMethod) || ((method == qtssSetupMethod) && fRequest->IsPushRequest()))
    {   fRequest->SetAction(qtssActionFlagsWrite);
          break;
    }
                    
    void* theSession = NULL;
    UInt32 theLen = sizeof(theSession);
    if (QTSS_NoErr == fRTPSession->GetValue(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值