⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 radiustest.cxx

📁 SIP(Session Initiation Protocol)是由IETF定义
💻 CXX
📖 第 1 页 / 共 2 页
字号:
                                                                  secret) &&                     resultSend == resultRecv );        cpLog( LOG_INFO, "Verbose\n[%s]", accessAcceptMsg2.verbose().c_str() );    }    catch( VRadiusException &e )    {        cpLog( LOG_ERR, "Test failed - %s", e.getDescription().c_str() );    }    cpLog( LOG_INFO, "\n-------------------- Test 3 ----------------------\n                  Access-Reject\n" );    // At the server side    RadiusMessage accessRejectMsg( RP_ACCESS_REJECT,                                   udpMsg1.msgHdr.identifier,                                   accessReqAuth );    // Warning: assert is used for testing only    assert( accessRejectMsg.add( attrReplyMessage2 ) );    assert( accessRejectMsg.add( attrReplyMessage3 ) );    accessRejectMsg.calcAuthenticator( secret );    resultSend = accessRejectMsg.hexDump();    // At the client side    RawMessage udpMsg3( accessRejectMsg.data() );    RadiusData msgReceived3( udpMsg3.buffer, ntohs(udpMsg3.msgHdr.length) );    try    {        RadiusMessage accessRejectMsg2( msgReceived3, secret );        resultRecv = accessRejectMsg2.hexDump();        test_verify( accessRejectMsg2.verifyResponseAuthenticator(accessReqAuth,                                                                  secret) &&                     resultSend == resultRecv );        cpLog( LOG_INFO, "Verbose\n[%s]",                         accessRejectMsg.verbose().c_str() );    }    catch( VRadiusException &e )    {        cpLog( LOG_ERR, "Test failed - %s", e.getDescription().c_str() );    }    cpLog( LOG_INFO, "\n-------------------- Test 4 ----------------------\n             Accounting-Requesst Start\n" );    // At the client side    RadiusMessage acctReqMsg( RP_ACCOUNTING_REQUEST );    // Warning: assert is used for testing only    assert( acctReqMsg.add( attrUserName ) );    assert( acctReqMsg.add( attrNasIpAddress ) );    assert( acctReqMsg.add( attrNasPort ) );    assert( acctReqMsg.add( accessAcceptMsg.get( RA_CLASS ) ) );    assert( acctReqMsg.add( attrCallee ) );    assert( acctReqMsg.add( attrCaller ) );    assert( acctReqMsg.add( attrAcctStatusStart ) );    assert( acctReqMsg.add( attrAcctSessionId ) );    acctReqMsg.setIdentifier( ++identifier );    acctReqMsg.calcAuthenticator( secret );    resultSend = acctReqMsg.hexDump();    // At the server side    RawMessage udpMsg4( acctReqMsg.data() );    RadiusData msgReceived4( udpMsg4.buffer, ntohs(udpMsg4.msgHdr.length) );    try    {        RadiusMessage acctReqMsg2( msgReceived4, secret );        resultRecv = acctReqMsg2.hexDump();        test_verify( resultSend == resultRecv );        cpLog( LOG_INFO, "Verbose\n[%s]", acctReqMsg2.verbose().c_str() );    }    catch( VRadiusException &e )    {        cpLog( LOG_ERR, "Test failed - %s", e.getDescription().c_str() );    }    cpLog( LOG_INFO, "\n-------------------- Test 5 ----------------------\n               Accounting-Response\n" );    // At the server side    const u_int8_t* reqAuth = acctReqMsg.getAuthenticator();    RadiusMessage acctRespMsg( RP_ACCOUNTING_RESPONSE,                               udpMsg4.msgHdr.identifier,                               reqAuth );    acctRespMsg.calcAuthenticator( secret );    resultSend = acctRespMsg.hexDump();    // At the client side    RawMessage udpMsg5( acctRespMsg.data() );    RadiusData msgReceived5( udpMsg5.buffer, ntohs(udpMsg5.msgHdr.length) );    try    {        RadiusMessage acctRespMsg2( msgReceived5, secret );        if( acctRespMsg2.type() == RP_ACCOUNTING_RESPONSE )        {            if( acctRespMsg2.verifyResponseAuthenticator( reqAuth, secret ) )            {                resultRecv = acctRespMsg2.hexDump();                test_verify( resultSend == resultRecv );                cpLog( LOG_INFO, "Verbose\n[%s]", acctRespMsg2.verbose().c_str() );            }            else            {                cpLog( LOG_ERR, "Cannot verify Response Authenticator" );            }        }    }    catch( VRadiusException &e )    {        cpLog( LOG_ERR, "Test failed - %s", e.getDescription().c_str() );    }    cpLog( LOG_INFO, "\n-------------------- Test 6 ----------------------\n            Accounting-Requesst Interim\n" );    // At the client side    RadiusMessage acctInterimMsg( RP_ACCOUNTING_REQUEST );    // Warning: assert is used for testing only    assert( acctInterimMsg.add( acctReqMsg.get( RA_USER_NAME ) ) );    assert( acctInterimMsg.add( acctReqMsg.get( RA_NAS_IP_ADDRESS ) ) );    assert( acctInterimMsg.add( acctReqMsg.get( RA_NAS_PORT ) ) );    assert( acctInterimMsg.add( accessAcceptMsg.get( RA_CLASS ) ) );    assert( acctInterimMsg.add( acctReqMsg.get( RA_CALLED_STATION_ID ) ) );    assert( acctInterimMsg.add( acctReqMsg.get( RA_CALLING_STATION_ID ) ) );    assert( acctInterimMsg.add( attrAcctStatusInterim ) );    assert( acctInterimMsg.add( acctReqMsg.get( RA_ACCT_SESSION_ID ) ) );    acctInterimMsg.setIdentifier( ++identifier );    acctInterimMsg.calcAuthenticator( secret );    resultSend = acctInterimMsg.hexDump();    // At the server side    RawMessage udpMsg6( acctInterimMsg.data() );    RadiusData msgReceived6( udpMsg6.buffer, ntohs(udpMsg6.msgHdr.length) );    try    {        RadiusMessage acctReqMsg2( msgReceived6, secret );        resultRecv = acctReqMsg2.hexDump();        test_verify( resultSend == resultRecv );        cpLog( LOG_INFO, "Verbose\n[%s]", acctReqMsg2.verbose().c_str() );    }    catch( VRadiusException &e )    {        cpLog( LOG_ERR, "Test failed - %s", e.getDescription().c_str() );    }    cpLog( LOG_INFO, "\n-------------------- Test 7 ----------------------\n             Accounting-Requesst Stop\n" );    // At the client side    RadiusMessage acctStopMsg( RP_ACCOUNTING_REQUEST );    // Warning: assert is used for testing only    assert( acctStopMsg.add( acctReqMsg.get( RA_USER_NAME ) ) );    assert( acctStopMsg.add( acctReqMsg.get( RA_NAS_IP_ADDRESS ) ) );    assert( acctStopMsg.add( acctReqMsg.get( RA_NAS_PORT ) ) );    assert( acctStopMsg.add( acctReqMsg.get( RA_CALLED_STATION_ID ) ) );    assert( acctStopMsg.add( acctReqMsg.get( RA_CALLING_STATION_ID ) ) );    assert( acctStopMsg.add( attrAcctStatusStop ) );    assert( acctStopMsg.add( acctReqMsg.get( RA_ACCT_SESSION_ID ) ) );    assert( acctStopMsg.add( attrAcctSessionTime ) );    assert( acctStopMsg.add( attrAcctTerminateCause ) );    acctStopMsg.setIdentifier( ++identifier );    acctStopMsg.calcAuthenticator( secret );    resultSend = acctStopMsg.hexDump();    // At the server side    RawMessage udpMsg7( acctStopMsg.data() );    RadiusData msgReceived7( udpMsg7.buffer, ntohs(udpMsg7.msgHdr.length) );    try    {        RadiusMessage acctReqMsg2( msgReceived7, secret );        resultRecv = acctReqMsg2.hexDump();        test_verify( resultSend == resultRecv );        cpLog( LOG_INFO, "Verbose\n[%s]", acctReqMsg2.verbose().c_str() );    }    catch( VRadiusException &e )    {        cpLog( LOG_ERR, "Test failed - %s", e.getDescription().c_str() );    }    cpLog( LOG_INFO, "\n--------------------  End  ----------------------\n");    return test_return_code( 7 );}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -