Loading ttcn3/EtsiLibrary/LibIpv6/LibCommonRfcs/LibIpv6_ExternalFunctions.ttcn +0 −11 Original line number Diff line number Diff line Loading @@ -251,15 +251,4 @@ external function fx_ikeEncPayloadLength( in template EncryptedPayload p_msg ) return UInt16; /* @desc This external function runs the ConfigAttributeList through Codec and returns * the octetstring representing the ConfigAttributeList * * @param p_configAttributeList ConfigAttributeList to be encoded to octetstring * @return octetstring */ external function fx_configAttributeListToOct(ConfigAttributeList p_configAttributeList) return octetstring; }// end module LibIpv6_ExternalFunctions ttcn3/EtsiLibrary/LibIpv6/LibSec/LibIpv6_Rfc4306Ikev2_Functions.ttcn +74 −1 Original line number Diff line number Diff line Loading @@ -3638,6 +3638,79 @@ group establishSAFns_active { } // end f_sndAuthReqAndWaitForRsp function f_sndChildSaReqAndWaitForRsp( template Ipv6Address p_addrTn, template Ipv6Address p_addrIut, UInt1 p_iFlag, in UInt8 p_protocolId ) runs on LibIpv6Node return FncRetCode { var FncRetCode v_ret := e_success; var UInt1 v_iFlag; if ((p_protocolId != c_protocolEsp) and (p_protocolId != c_protocolAh)) { log("**** f_sndChildSaReqAndWaitForRsp: ERROR: Invalid protocol Id, only ESP and AH allowed here !**** "); return e_error;} v_ret := f_createAndSendCreateChildSaReq( p_addrTn, p_addrIut, p_iFlag, p_protocolId ); if (v_ret != e_success) { return v_ret;} if (p_iFlag == c_iFlagResponder) {v_iFlag := c_iFlagInitiator;} else {v_iFlag := c_iFlagResponder;} // wait for CreateChild response v_ret := f_waitForCreateChildSaRsp(p_addrIut, p_addrTn, v_iFlag); if (v_ret != e_success) { return v_ret;} // no key values are set //protocolId, p_iflag not needed return v_ret; } // end f_sndChildSaReqAndWaitForRsp function f_sndInformationalReqAndWaitForRsp( template Ipv6Address p_addrTn, template Ipv6Address p_addrIut, UInt1 p_iFlag, UInt8 p_nextPayload, template IkePayload p_m_payload, template IkePayload p_mw_payload ) runs on LibIpv6Node return FncRetCode { var FncRetCode v_ret := e_success; var UInt1 v_iFlag; v_ret := f_createAndSendInfoReq( p_addrTn, p_addrIut, p_iFlag, p_nextPayload, p_m_payload ); if (v_ret != e_success) { return v_ret;} if (p_iFlag == c_iFlagResponder) {v_iFlag := c_iFlagInitiator;} else {v_iFlag := c_iFlagResponder;} // wait for CreateChild response v_ret := f_waitForInformationalRsp(p_addrIut, p_addrTn, v_iFlag, {p_mw_payload}); if (v_ret != e_success) { return v_ret;} return v_ret; } // end f_sndInformationalReqAndWaitForRsp } // end establishSAFns_active group establishSAFns_passive { Loading ttcn3/EtsiLibrary/LibIpv6/LibSec/LibIpv6_Rfc4306Ikev2_Templates.ttcn +4 −4 Original line number Diff line number Diff line Loading @@ -1365,19 +1365,19 @@ group encrPLTmplts { group cfgPLTmplts { template IkePayload m_cfgPL ( template IkePayload m_cfgPL_cfgAttrList_1Elem ( UInt8 p_nextPayload, UInt8 p_configType, template ConfigAttributeList p_configAttributeList template ConfigAttribute p_configAttribute ) := { configuration := { nextPayload := p_nextPayload, criticalFlag := 0, reserved1 := 0, payloadLength := 8 + lengthof(fx_configAttributeListToOct(valueof(p_configAttributeList))), payloadLength := 8 + 4 + valueof(p_configAttribute.attributeLength), configType := p_configType, reserved2 := 0, configAttributeList := p_configAttributeList configAttributeList := m_cfgAttrList_1Elem(p_configAttribute) } } Loading Loading
ttcn3/EtsiLibrary/LibIpv6/LibCommonRfcs/LibIpv6_ExternalFunctions.ttcn +0 −11 Original line number Diff line number Diff line Loading @@ -251,15 +251,4 @@ external function fx_ikeEncPayloadLength( in template EncryptedPayload p_msg ) return UInt16; /* @desc This external function runs the ConfigAttributeList through Codec and returns * the octetstring representing the ConfigAttributeList * * @param p_configAttributeList ConfigAttributeList to be encoded to octetstring * @return octetstring */ external function fx_configAttributeListToOct(ConfigAttributeList p_configAttributeList) return octetstring; }// end module LibIpv6_ExternalFunctions
ttcn3/EtsiLibrary/LibIpv6/LibSec/LibIpv6_Rfc4306Ikev2_Functions.ttcn +74 −1 Original line number Diff line number Diff line Loading @@ -3638,6 +3638,79 @@ group establishSAFns_active { } // end f_sndAuthReqAndWaitForRsp function f_sndChildSaReqAndWaitForRsp( template Ipv6Address p_addrTn, template Ipv6Address p_addrIut, UInt1 p_iFlag, in UInt8 p_protocolId ) runs on LibIpv6Node return FncRetCode { var FncRetCode v_ret := e_success; var UInt1 v_iFlag; if ((p_protocolId != c_protocolEsp) and (p_protocolId != c_protocolAh)) { log("**** f_sndChildSaReqAndWaitForRsp: ERROR: Invalid protocol Id, only ESP and AH allowed here !**** "); return e_error;} v_ret := f_createAndSendCreateChildSaReq( p_addrTn, p_addrIut, p_iFlag, p_protocolId ); if (v_ret != e_success) { return v_ret;} if (p_iFlag == c_iFlagResponder) {v_iFlag := c_iFlagInitiator;} else {v_iFlag := c_iFlagResponder;} // wait for CreateChild response v_ret := f_waitForCreateChildSaRsp(p_addrIut, p_addrTn, v_iFlag); if (v_ret != e_success) { return v_ret;} // no key values are set //protocolId, p_iflag not needed return v_ret; } // end f_sndChildSaReqAndWaitForRsp function f_sndInformationalReqAndWaitForRsp( template Ipv6Address p_addrTn, template Ipv6Address p_addrIut, UInt1 p_iFlag, UInt8 p_nextPayload, template IkePayload p_m_payload, template IkePayload p_mw_payload ) runs on LibIpv6Node return FncRetCode { var FncRetCode v_ret := e_success; var UInt1 v_iFlag; v_ret := f_createAndSendInfoReq( p_addrTn, p_addrIut, p_iFlag, p_nextPayload, p_m_payload ); if (v_ret != e_success) { return v_ret;} if (p_iFlag == c_iFlagResponder) {v_iFlag := c_iFlagInitiator;} else {v_iFlag := c_iFlagResponder;} // wait for CreateChild response v_ret := f_waitForInformationalRsp(p_addrIut, p_addrTn, v_iFlag, {p_mw_payload}); if (v_ret != e_success) { return v_ret;} return v_ret; } // end f_sndInformationalReqAndWaitForRsp } // end establishSAFns_active group establishSAFns_passive { Loading
ttcn3/EtsiLibrary/LibIpv6/LibSec/LibIpv6_Rfc4306Ikev2_Templates.ttcn +4 −4 Original line number Diff line number Diff line Loading @@ -1365,19 +1365,19 @@ group encrPLTmplts { group cfgPLTmplts { template IkePayload m_cfgPL ( template IkePayload m_cfgPL_cfgAttrList_1Elem ( UInt8 p_nextPayload, UInt8 p_configType, template ConfigAttributeList p_configAttributeList template ConfigAttribute p_configAttribute ) := { configuration := { nextPayload := p_nextPayload, criticalFlag := 0, reserved1 := 0, payloadLength := 8 + lengthof(fx_configAttributeListToOct(valueof(p_configAttributeList))), payloadLength := 8 + 4 + valueof(p_configAttribute.attributeLength), configType := p_configType, reserved2 := 0, configAttributeList := p_configAttributeList configAttributeList := m_cfgAttrList_1Elem(p_configAttribute) } } Loading