📄 diameter_nasreq_parser.hxx
字号:
/* In draft-ietf-aaa-diameter-nasreq-14.txt: "6.9.1. Framed-Protocol AVP The Framed-Protocol AVP (AVP Code 7) is of type Enumerated and contains the framing to be used for framed access. This AVP MAY be present in both requests and responses. The supported values are listed in [RADIUSTypes]. The following list is informational: 1 PPP 2 SLIP 3 AppleTalk Remote Access Protocol (ARAP) 4 Gandalf proprietary SingleLink/MultiLink protocol 5 Xylogics proprietary IPX/SLIP 6 X.75 Synchronous" */ AAA_ScholarAttribute<diameter_enumerated_t> FramedProtocol; AAA_ScholarAttribute<diameter_octetstring_t> ArapPassword; AAA_ScholarAttribute<diameter_octetstring_t> ArapChallengeResponse; AAA_ScholarAttribute<diameter_unsigned32_t> ArapSecurity; AAA_VectorAttribute<diameter_octetstring_t> ArapSecurityData; AAA_VectorAttribute<diameter_octetstring_t> LoginIpHost; AAA_VectorAttribute<diameter_octetstring_t> LoginIpv6Host; AAA_ScholarAttribute<diameter_octetstring_t> LoginLatGroup; AAA_ScholarAttribute<diameter_octetstring_t> LoginLatNode; AAA_ScholarAttribute<diameter_octetstring_t> LoginLatPort; AAA_ScholarAttribute<diameter_octetstring_t> LoginLatService; AAA_GroupedVectorAttribute<tunneling_t> Tunneling; AAA_GroupedVectorAttribute<proxyinfo_t> ProxyInfo; AAA_VectorAttribute<diameter_identity_t> RouteRecord; AAA_VectorAttribute<avp_t> Avp;};/// Definition for AA-Answer message contents internal structure.class AA_AnswerData{ public: /// Constructor. AA_AnswerData() {} /// Return a pointer to the instance. AA_AnswerData* Self() { return this; } /// Clear the contents of the instance. void Clear() { SessionId.Clear(); AuthApplicationId.Clear(); AuthRequestType.Clear(); ResultCode.Clear(); OriginHost.Clear(); OriginRealm.Clear(); UserName.Clear(); ServiceType.Clear(); Class.Clear(); ConfigurationToken.Clear(); AcctInterimInterval.Clear(); ErrorMessage.Clear(); ErrorReportingHost.Clear(); IdleTimeout.Clear(); AuthorizationLifetime.Clear(); AuthGracePeriod.Clear(); AuthSessionState.Clear(); ReAuthRequestType.Clear(); SessionTimeout.Clear(); State.Clear(); ReplyMessage.Clear(); OriginStateId.Clear(); FilterId.Clear(); PasswordRetry.Clear(); PortLimit.Clear(); Prompt.Clear(); ArapChallengeResponse.Clear(); ArapFeatures.Clear(); ArapSecurity.Clear(); ArapSecurityData.Clear(); ArapZoneAccess.Clear(); CallbackId.Clear(); CallbackNumber.Clear(); FramedAppletalkLink.Clear(); FramedAppletalkNetwork.Clear(); FramedAppletalkZone.Clear(); FramedCompression.Clear(); FramedInterfaceId.Clear(); FramedIpAddress.Clear(); FramedIpv6Prefix.Clear(); FramedIpv6Pool.Clear(); FramedIpv6Route.Clear(); FramedIpNetmask.Clear(); FramedRoute.Clear(); FramedMtu.Clear(); FramedRoute.Clear(); FramedPool.Clear(); FramedIpxNetwork.Clear(); FramedMtu.Clear(); FramedProtocol.Clear(); FramedRouting.Clear(); LoginLatGroup.Clear(); LoginLatNode.Clear(); LoginLatPort.Clear(); LoginLatService.Clear(); LoginService.Clear(); LoginTcpPort.Clear(); NasFilterRule.Clear(); Tunneling.Clear(); RedirectHost.Clear(); RedirectHostUsage.Clear(); RedirectMaxCacheTime.Clear(); ProxyInfo.Clear(); Avp.Clear(); } /// AA-Answer AVPs AAA_ScholarAttribute<diameter_utf8string_t> SessionId; AAA_ScholarAttribute<diameter_unsigned32_t> AuthApplicationId; AAA_ScholarAttribute<diameter_enumerated_t> AuthRequestType; AAA_ScholarAttribute<diameter_unsigned32_t> ResultCode; AAA_ScholarAttribute<diameter_identity_t> OriginHost; AAA_ScholarAttribute<diameter_identity_t> OriginRealm; AAA_ScholarAttribute<diameter_utf8string_t> UserName; AAA_ScholarAttribute<diameter_enumerated_t> ServiceType; AAA_VectorAttribute<diameter_octetstring_t> Class; /* RFC2869 5.12. Configuration-Token Description This attribute is for use in large distributed authentication networks based on proxy. It is sent from a RADIUS Proxy Server to a RADIUS Proxy Client in an Access-Accept to indicate a type of user profile to be used. It should not be sent to a NAS. */ AAA_VectorAttribute<diameter_octetstring_t> ConfigurationToken; AAA_ScholarAttribute<diameter_unsigned32_t> AcctInterimInterval; AAA_ScholarAttribute<diameter_utf8string_t> ErrorMessage; AAA_ScholarAttribute<diameter_identity_t> ErrorReportingHost; AAA_ScholarAttribute<diameter_unsigned32_t> IdleTimeout; AAA_ScholarAttribute<diameter_unsigned32_t> AuthorizationLifetime; AAA_ScholarAttribute<diameter_unsigned32_t> AuthGracePeriod; AAA_ScholarAttribute<diameter_enumerated_t> AuthSessionState; AAA_ScholarAttribute<diameter_enumerated_t> ReAuthRequestType; AAA_ScholarAttribute<diameter_unsigned32_t> SessionTimeout; AAA_ScholarAttribute<diameter_octetstring_t> State; /* In draft-ietf-aaa-diameter-nasreq-14.txt: "4.9. Reply-Message AVP The Reply-Message AVP (AVP Code 18) is of type UTF8String, and contains text which MAY be displayed to the user. When used in an AA-Answer message with a successful Result-Code AVP it indicates a success message. When found in the same message with a Result-Code other than DIAMETER_SUCCESS it contains a failure message. The Reply-Message AVP MAY indicate a dialog message to prompt the user before another AA-Request attempt. When used in an AA-Answer, it MAY indicate a dialog message to prompt the user for a response. Multiple Reply-Message's MAY be included and if any are displayed, they MUST be displayed in the same order as they appear in the message." */ AAA_VectorAttribute<diameter_utf8string_t> ReplyMessage; AAA_ScholarAttribute<diameter_unsigned32_t> OriginStateId; /* In draft-ietf-aaa-diameter-nasreq-14.txt: "6.7. Filter-Id AVP The Filter-Id AVP (AVP Code 11) is of type UTF8String, and contains the name of the filter list for this user. Zero or more Filter-Id AVPs MAY be sent in an authorization answer. Identifying a filter list by name allows the filter to be used on different NASes without regard to filter-list implementation details. However, this AVP is not roaming friendly since filter naming differs from one service provider to another. In non-RADIUS environments, it is RECOMMENDED that the NAS-Filter- Rule AVP be used instead." */ AAA_VectorAttribute<diameter_utf8string_t> FilterId; AAA_ScholarAttribute<diameter_unsigned32_t> PasswordRetry; AAA_ScholarAttribute<diameter_unsigned32_t> PortLimit; AAA_ScholarAttribute<diameter_enumerated_t> Prompt; AAA_ScholarAttribute<diameter_octetstring_t> ArapChallengeResponse; AAA_VectorAttribute<diameter_octetstring_t> ArapFeatures; AAA_ScholarAttribute<diameter_unsigned32_t> ArapSecurity; AAA_VectorAttribute<diameter_octetstring_t> ArapSecurityData; AAA_ScholarAttribute<diameter_enumerated_t> ArapZoneAccess; /* In draft-ietf-aaa-diameter-nasreq-14.txt: "6.3. Callback-Id AVP The Callback-Id AVP (AVP Code 20) is of type UTF8String, and contains the name of a place to be called, to be interpreted by the NAS. This AVP MAY be present in an authentication and/or authorization response. This AVP is not roaming-friendly since it assumes that the Callback- Id is configured on the NAS. It is therefore preferable to use the Callback-Number AVP instead." */ AAA_ScholarAttribute<diameter_utf8string_t> CallbackId; AAA_ScholarAttribute<diameter_utf8string_t> CallbackNumber; AAA_ScholarAttribute<diameter_unsigned32_t> FramedAppletalkLink; AAA_VectorAttribute<diameter_unsigned32_t> FramedAppletalkNetwork; AAA_ScholarAttribute<diameter_octetstring_t> FramedAppletalkZone; AAA_VectorAttribute<diameter_enumerated_t> FramedCompression; AAA_ScholarAttribute<diameter_unsigned64_t> FramedInterfaceId; AAA_ScholarAttribute<diameter_octetstring_t> FramedIpAddress; AAA_VectorAttribute<diameter_octetstring_t> FramedIpv6Prefix; AAA_ScholarAttribute<diameter_octetstring_t> FramedIpv6Pool; AAA_VectorAttribute<diameter_utf8string_t> FramedIpv6Route; AAA_ScholarAttribute<diameter_octetstring_t> FramedIpNetmask; AAA_VectorAttribute<diameter_utf8string_t> FramedRoute; AAA_ScholarAttribute<diameter_octetstring_t> FramedPool; AAA_ScholarAttribute<diameter_utf8string_t> FramedIpxNetwork; AAA_ScholarAttribute<diameter_unsigned32_t> FramedMtu; AAA_ScholarAttribute<diameter_enumerated_t> FramedProtocol; /* In draft-ietf-aaa-diameter-nasreq-14.txt: "6.9.2. Framed-Routing AVP The Framed-Routing AVP (AVP Code 10) is of type Enumerated and contains the routing method for the user, when the user is a router to a network. This AVP SHOULD only be present in authorization responses. The supported values are listed in [RADIUSTypes]. The following list is informational: 0 None 1 Send routing packets 2 Listen for routing packets 3 Send and Listen" */ AAA_ScholarAttribute<diameter_enumerated_t> FramedRouting; AAA_VectorAttribute<diameter_ipfilter_rule_t> NasFilterRule; AAA_VectorAttribute<diameter_octetstring_t> LoginIpHost; AAA_VectorAttribute<diameter_octetstring_t> LoginIpv6Host; AAA_ScholarAttribute<diameter_octetstring_t> LoginLatGroup; AAA_ScholarAttribute<diameter_octetstring_t> LoginLatNode; AAA_ScholarAttribute<diameter_octetstring_t> LoginLatPort; AAA_ScholarAttribute<diameter_octetstring_t> LoginLatService; AAA_ScholarAttribute<diameter_enumerated_t> LoginService; AAA_ScholarAttribute<diameter_unsigned32_t> LoginTcpPort; AAA_GroupedVectorAttribute<tunneling_t> Tunneling; AAA_VectorAttribute<diameter_identity_t> RedirectHost; AAA_ScholarAttribute<diameter_enumerated_t> RedirectHostUsage; AAA_ScholarAttribute<diameter_unsigned32_t> RedirectMaxCacheTime; AAA_GroupedVectorAttribute<proxyinfo_t> ProxyInfo; AAA_VectorAttribute<avp_t> Avp;};typedef AAAParser<AAAMessage*, AA_RequestData*> AA_RequestParser;typedef AAAParser<AAAMessage*, AA_AnswerData*> AA_AnswerParser;template<> void AA_RequestParser::parseRawToApp();template<> void AA_RequestParser::parseAppToRaw();template<> void AA_AnswerParser::parseRawToApp();template<> void AA_AnswerParser::parseAppToRaw();#endif //__EAP_NASREQ_PARSER_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -