📄 diameter_nasreq_server_fsm.hxx
字号:
/// An authorization function called from Authorize() function. virtual bool AuthorizeOriginatingLineInfo (const AAA_ScholarAttribute<diameter_octetstring_t> &originatingLineInfo) { return true; } virtual bool AuthorizeConnectInfo (const AAA_ScholarAttribute<diameter_utf8string_t> &connectInfo) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeFramedAppletalkLink (AAA_ScholarAttribute<diameter_unsigned32_t> &framedAppletalkLink) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeFramedAppletalkZone (AAA_ScholarAttribute<diameter_octetstring_t> &framedAppletalkZone) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeFramedAppletalkNetwork (AAA_VectorAttribute<diameter_unsigned32_t> &framedAppletalkNetwork) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeFramedCompression (AAA_VectorAttribute<diameter_enumerated_t> &framedCompression) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeFramedCompression (const std::vector<diameter_enumerated_t> &framedCompression1, AAA_VectorAttribute<diameter_enumerated_t> &framedCompression2) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeFramedInterfaceId (AAA_ScholarAttribute<diameter_unsigned64_t> &framedInterfaceId) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeFramedInterfaceId (const diameter_unsigned64_t &framedInterfaceId1, AAA_ScholarAttribute<diameter_unsigned64_t> &framedInterfaceId2) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeFramedIpAddress (AAA_ScholarAttribute<diameter_octetstring_t> &framedIpAddress) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeFramedIpAddress (const diameter_octetstring_t &framedIpAddress1, AAA_ScholarAttribute<diameter_octetstring_t> &framedIpAddress2) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeFramedIpv6Prefix (AAA_VectorAttribute<diameter_octetstring_t> &framedIpv6Prefix) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeFramedIpv6Prefix (const std::vector<diameter_octetstring_t> &framedIpv6Prefix1, AAA_VectorAttribute<diameter_octetstring_t> &framedIpv6Prefix2) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeFramedIpv6Pool (AAA_ScholarAttribute<diameter_octetstring_t> &framedIpv6Pool) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeFramedPool (AAA_ScholarAttribute<diameter_octetstring_t> &framedPool) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeFramedIpv6Route (AAA_VectorAttribute<diameter_utf8string_t> &framedIpv6Route) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeFramedRoute (AAA_VectorAttribute<diameter_utf8string_t> &framedRoute) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeFramedIpNetmask (AAA_ScholarAttribute<diameter_octetstring_t> &framedIpNetmask) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeFramedIpNetmask (const diameter_octetstring_t &framedIpNetmask1, AAA_ScholarAttribute<diameter_octetstring_t> &framedIpNetmask2) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeFramedIpxNetwork (AAA_ScholarAttribute<diameter_utf8string_t> &framedIpxNetwork) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeFramedMtu (AAA_ScholarAttribute<diameter_unsigned32_t> &framedMtu) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeFramedMtu (const diameter_unsigned32_t &framedMtu1, AAA_ScholarAttribute<diameter_unsigned32_t> &framedMtu2) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeFramedProtocol (AAA_ScholarAttribute<diameter_enumerated_t> &framedProtocol) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeFramedProtocol (const diameter_enumerated_t &framedProtocol1, AAA_ScholarAttribute<diameter_enumerated_t> &framedProtoco2) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeFramedRouting (AAA_ScholarAttribute<diameter_enumerated_t> &framedRouting) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeLoginIpHost (AAA_VectorAttribute<diameter_octetstring_t> &loginIpHost) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeLoginIpHost (const std::vector<diameter_octetstring_t> &loginIpHost1, AAA_VectorAttribute<diameter_octetstring_t> &loginIpHost2) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeLoginIpv6Host (AAA_VectorAttribute<diameter_octetstring_t> &loginIpv6Host) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeLoginIpv6Host (const std::vector<diameter_octetstring_t> &loginIpv6Host1, AAA_VectorAttribute<diameter_octetstring_t> &loginIpv6Host2) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeLoginLatGroup (AAA_ScholarAttribute<diameter_octetstring_t> &loginLatGroup) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeLoginLatGroup (const AAA_ScholarAttribute<diameter_octetstring_t> &loginLatGroup1, AAA_ScholarAttribute<diameter_octetstring_t> &loginLatGroup2) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeLoginLatNode (AAA_ScholarAttribute<diameter_octetstring_t> &loginLatNode) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeLoginLatNode (const AAA_ScholarAttribute<diameter_octetstring_t> &loginLatNode1, AAA_ScholarAttribute<diameter_octetstring_t> &loginLatNode2) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeLoginLatPort (AAA_ScholarAttribute<diameter_octetstring_t> &loginLatPort) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeLoginLatPort (const AAA_ScholarAttribute<diameter_octetstring_t> &loginLatPort1, AAA_ScholarAttribute<diameter_octetstring_t> &loginLatPort2) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeLoginLatService (AAA_ScholarAttribute<diameter_octetstring_t> &loginLatService2) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeLoginLatService (const AAA_ScholarAttribute<diameter_octetstring_t> &loginLatService1, AAA_ScholarAttribute<diameter_octetstring_t> &loginLatService2) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeLoginTcpPort (AAA_ScholarAttribute<diameter_unsigned32_t> &loginTcpPort) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeNasFilterRule (AAA_VectorAttribute<diameter_ipfilter_rule_t> &nasFilterRule) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeTunneling (AAA_VectorAttribute<tunneling_t> &tunneling) { return true; } /// An authorization function called from Authorize() function. virtual bool AuthorizeTunneling (const std::vector<tunneling_t> &tunneling1, AAA_VectorAttribute<tunneling_t> &tunneling2) { return true; } /// The contents of the replyMessage should be generated depending /// on the value of the resultCode. virtual void SetReplyMessage (AAA_VectorAttribute<diameter_utf8string_t> &replyMessage, const diameter_unsigned32_t &resultCode) {} /// Validate Auth-Request-Type AVP. virtual bool ValidateAuthRequestType (const diameter_enumerated_t &authRequestType) { if (authRequestType != AUTH_REQUEST_TYPE_AUTHENTICATION_ONLY && authRequestType != AUTH_REQUEST_TYPE_AUTHORIZE_AUTHENTICATE) return false; return true; } /// Validate State AVP in DER against State AVP in DEA. The /// validation method is specific to application. virtual bool ValidateState (const diameter_octetstring_t &stateInDER, const diameter_octetstring_t &stateInDEA) { return false; } /// Used for setting State AVP in initial answer. Do nothing by default. virtual void SetState(AAA_ScholarAttribute<diameter_octetstring_t> &state) { } /// Used for setting ARAP-Security and ARAP-Security-Data AVPs. virtual void SetArapMultiExchange (AAA_ScholarAttribute<diameter_unsigned32_t> &ArapSecurity, AAA_VectorAttribute<diameter_octetstring_t> &ArapSecurityData) { } inline DiameterNasreqAuthenticationInfo& AuthenticationInfo() { return *authenticationInfo; } inline AA_RequestData& AA_Request() { return aaRequestData; } inline AA_AnswerData& AA_Answer() { return aaAnswerData; } protected: private: /// Inherited from AAA_EventQueueJob. Not used. int Schedule(AAA_Job*, size_t=1) { return (-1); } /// Inherited from AAA_EventQueueJob. inline int Serve() { if (!AAA_EventQueueJob::ExistBacklog()) { AAA_LOG(LM_ERROR, "%N: no backlog to serve."); return 0; } // Obtain the event to execute. AAA_Event ev = 0; AAA_EventQueueJob::Dequeue(ev); bool existBacklog = AAA_EventQueueJob::ExistBacklog(); // Execute it. Event(ev); return existBacklog ? 1 : 0; } DiameterNasreqServerSession& session; // Job handle. DiameterNasreqJobHandle handle; // authentication information. boost::shared_ptr<DiameterNasreqAuthenticationInfo> authenticationInfo; bool authorizationDone; // Request and Answer data AA_RequestData aaRequestData; AA_AnswerData aaAnswerData;};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -