Loading ttcn3/EtsiLibrary/LibIpv6/LibSec/LibIpv6_Rfc4306Ikev2_Functions.ttcn +11 −2 Original line number Original line Diff line number Diff line Loading @@ -395,8 +395,12 @@ module LibIpv6_Rfc4306Ikev2_Functions { var octetstring v_auxiliary; var octetstring v_auxiliary; var octetstring tmp; var octetstring tmp; log("iDi: " & oct2str(p_IkeSa.iDi)); log("iDr: " & oct2str(p_IkeSa.iDr)); if(p_initatorOrResponder == c_initiator) if(p_initatorOrResponder == c_initiator) { { log("initiator"); v_auxiliary := p_IkeSa.nR & v_auxiliary := p_IkeSa.nR & fx_pseudoRandom(p_IkeSa.ikePseudoRandomFunction, fx_pseudoRandom(p_IkeSa.ikePseudoRandomFunction, p_IkeSa.sevenSecrets.sK_pi, p_IkeSa.sevenSecrets.sK_pi, Loading @@ -406,6 +410,7 @@ module LibIpv6_Rfc4306Ikev2_Functions { } } else // acts as responder else // acts as responder { { log("responder"); v_auxiliary := p_IkeSa.nI & v_auxiliary := p_IkeSa.nI & fx_pseudoRandom(p_IkeSa.ikePseudoRandomFunction, fx_pseudoRandom(p_IkeSa.ikePseudoRandomFunction, p_IkeSa.sevenSecrets.sK_pr, p_IkeSa.sevenSecrets.sK_pr, Loading @@ -414,10 +419,11 @@ module LibIpv6_Rfc4306Ikev2_Functions { p_IkeSa.iDr); p_IkeSa.iDr); } } log("auxiliary: " & oct2str(v_auxiliary)); tmp := fx_pseudoRandom(p_IkeSa.ikePseudoRandomFunction, tmp := fx_pseudoRandom(p_IkeSa.ikePseudoRandomFunction, PX_PRE_SHARED_KEY, PX_PRE_SHARED_KEY, c_authString); c_authString); log("tmp: " & oct2str(tmp)); v_aUTH := fx_pseudoRandom(p_IkeSa.ikePseudoRandomFunction, v_aUTH := fx_pseudoRandom(p_IkeSa.ikePseudoRandomFunction, tmp, tmp, (fx_ikev2HeaderToOct(p_IkeSa.ikev2Header) & (fx_ikev2HeaderToOct(p_IkeSa.ikev2Header) & Loading Loading @@ -695,6 +701,8 @@ module LibIpv6_Rfc4306Ikev2_Functions { v_ikeDst := valueof(p_addrTunnelStart); v_ikeDst := valueof(p_addrTunnelStart); } } vc_ikeSad[0].messageIdIut := vc_ikeSad[0].messageIdIut - 1; tc_wait.start; tc_wait.start; alt { alt { [] ipPort.receive(mw_ikeSaInitReq( v_ikeSrc, [] ipPort.receive(mw_ikeSaInitReq( v_ikeSrc, Loading @@ -709,7 +717,8 @@ module LibIpv6_Rfc4306Ikev2_Functions { (vc_ikeSad[0].spiInitiator == v_ipv6Packet.ipv6Payload.ikeMsg.ikev2Header.initiatorSpi) and (vc_ikeSad[0].spiInitiator == v_ipv6Packet.ipv6Payload.ikeMsg.ikev2Header.initiatorSpi) and (vc_ikeSad[0].messageIdIut == v_ipv6Packet.ipv6Payload.ikeMsg.ikev2Header.messageID))) (vc_ikeSad[0].messageIdIut == v_ipv6Packet.ipv6Payload.ikeMsg.ikev2Header.messageID))) { log("**** f_waitForIkeSaInitReq_cookie: ERROR: IKE header data different to original IKE_SA_INIT request **** "); { log("**** f_waitForIkeSaInitReq_cookie: ERROR: IKE header data different to original IKE_SA_INIT request **** "); v_ret := e_error;} v_ret := e_error; } v_nextPayload := v_ipv6Packet.ipv6Payload.ikeMsg.ikev2Header.nextPayload; v_nextPayload := v_ipv6Packet.ipv6Payload.ikeMsg.ikev2Header.nextPayload; v_ikePayloadList := v_ipv6Packet.ipv6Payload.ikeMsg.payloadList; v_ikePayloadList := v_ipv6Packet.ipv6Payload.ikeMsg.payloadList; Loading ttcn3/EtsiLibrary/LibIpv6/LibSec/LibIpv6_Rfc4306Ikev2_TypesAndValues.ttcn +2 −2 Original line number Original line Diff line number Diff line Loading @@ -664,7 +664,7 @@ variant (nextPayload) "tag='nextPayload';"; variant (nextPayload) "tag='nextPayload';"; variant (payloadLength) "intTag='payloadLengthKE';"; variant (payloadLength) "intTag='payloadLengthKE';"; variant (spiSize) "intTag='spiSizeNotify';"; variant (spiSize) "intTag='spiSizeNotify';"; variant (spi) "length=getIntTag('spiSizeNotify')"; variant (spi) "fieldPresent=getIntTag('spiSizeNotify')>0;length=getIntTag('spiSizeNotify')"; variant (data) "length=(getIntTag('payloadLengthKE')-4-4-getIntTag('spiSizeNotify'))"; variant (data) "length=(getIntTag('payloadLengthKE')-4-4-getIntTag('spiSizeNotify'))"; } } Loading @@ -690,7 +690,7 @@ variant (nextPayload) "tag='nextPayload';"; variant (nextPayload) "tag='nextPayload';"; variant (spiSize) "intTag='spiSizeDel';"; variant (spiSize) "intTag='spiSizeDel';"; variant (numberOfSpi) "intTag='numberOfSpiDel';"; variant (numberOfSpi) "intTag='numberOfSpiDel';"; variant (spis) "length=(getIntTag('spiSizeDel')*getIntTag('numberOfSpiDel'))"; variant (spis) "fieldPresent=getIntTag('spiSizeDel')>0;length=(getIntTag('spiSizeDel')*getIntTag('numberOfSpiDel'))"; } } } // end group IkeRfc4306DeletePayload } // end group IkeRfc4306DeletePayload Loading Loading
ttcn3/EtsiLibrary/LibIpv6/LibSec/LibIpv6_Rfc4306Ikev2_Functions.ttcn +11 −2 Original line number Original line Diff line number Diff line Loading @@ -395,8 +395,12 @@ module LibIpv6_Rfc4306Ikev2_Functions { var octetstring v_auxiliary; var octetstring v_auxiliary; var octetstring tmp; var octetstring tmp; log("iDi: " & oct2str(p_IkeSa.iDi)); log("iDr: " & oct2str(p_IkeSa.iDr)); if(p_initatorOrResponder == c_initiator) if(p_initatorOrResponder == c_initiator) { { log("initiator"); v_auxiliary := p_IkeSa.nR & v_auxiliary := p_IkeSa.nR & fx_pseudoRandom(p_IkeSa.ikePseudoRandomFunction, fx_pseudoRandom(p_IkeSa.ikePseudoRandomFunction, p_IkeSa.sevenSecrets.sK_pi, p_IkeSa.sevenSecrets.sK_pi, Loading @@ -406,6 +410,7 @@ module LibIpv6_Rfc4306Ikev2_Functions { } } else // acts as responder else // acts as responder { { log("responder"); v_auxiliary := p_IkeSa.nI & v_auxiliary := p_IkeSa.nI & fx_pseudoRandom(p_IkeSa.ikePseudoRandomFunction, fx_pseudoRandom(p_IkeSa.ikePseudoRandomFunction, p_IkeSa.sevenSecrets.sK_pr, p_IkeSa.sevenSecrets.sK_pr, Loading @@ -414,10 +419,11 @@ module LibIpv6_Rfc4306Ikev2_Functions { p_IkeSa.iDr); p_IkeSa.iDr); } } log("auxiliary: " & oct2str(v_auxiliary)); tmp := fx_pseudoRandom(p_IkeSa.ikePseudoRandomFunction, tmp := fx_pseudoRandom(p_IkeSa.ikePseudoRandomFunction, PX_PRE_SHARED_KEY, PX_PRE_SHARED_KEY, c_authString); c_authString); log("tmp: " & oct2str(tmp)); v_aUTH := fx_pseudoRandom(p_IkeSa.ikePseudoRandomFunction, v_aUTH := fx_pseudoRandom(p_IkeSa.ikePseudoRandomFunction, tmp, tmp, (fx_ikev2HeaderToOct(p_IkeSa.ikev2Header) & (fx_ikev2HeaderToOct(p_IkeSa.ikev2Header) & Loading Loading @@ -695,6 +701,8 @@ module LibIpv6_Rfc4306Ikev2_Functions { v_ikeDst := valueof(p_addrTunnelStart); v_ikeDst := valueof(p_addrTunnelStart); } } vc_ikeSad[0].messageIdIut := vc_ikeSad[0].messageIdIut - 1; tc_wait.start; tc_wait.start; alt { alt { [] ipPort.receive(mw_ikeSaInitReq( v_ikeSrc, [] ipPort.receive(mw_ikeSaInitReq( v_ikeSrc, Loading @@ -709,7 +717,8 @@ module LibIpv6_Rfc4306Ikev2_Functions { (vc_ikeSad[0].spiInitiator == v_ipv6Packet.ipv6Payload.ikeMsg.ikev2Header.initiatorSpi) and (vc_ikeSad[0].spiInitiator == v_ipv6Packet.ipv6Payload.ikeMsg.ikev2Header.initiatorSpi) and (vc_ikeSad[0].messageIdIut == v_ipv6Packet.ipv6Payload.ikeMsg.ikev2Header.messageID))) (vc_ikeSad[0].messageIdIut == v_ipv6Packet.ipv6Payload.ikeMsg.ikev2Header.messageID))) { log("**** f_waitForIkeSaInitReq_cookie: ERROR: IKE header data different to original IKE_SA_INIT request **** "); { log("**** f_waitForIkeSaInitReq_cookie: ERROR: IKE header data different to original IKE_SA_INIT request **** "); v_ret := e_error;} v_ret := e_error; } v_nextPayload := v_ipv6Packet.ipv6Payload.ikeMsg.ikev2Header.nextPayload; v_nextPayload := v_ipv6Packet.ipv6Payload.ikeMsg.ikev2Header.nextPayload; v_ikePayloadList := v_ipv6Packet.ipv6Payload.ikeMsg.payloadList; v_ikePayloadList := v_ipv6Packet.ipv6Payload.ikeMsg.payloadList; Loading
ttcn3/EtsiLibrary/LibIpv6/LibSec/LibIpv6_Rfc4306Ikev2_TypesAndValues.ttcn +2 −2 Original line number Original line Diff line number Diff line Loading @@ -664,7 +664,7 @@ variant (nextPayload) "tag='nextPayload';"; variant (nextPayload) "tag='nextPayload';"; variant (payloadLength) "intTag='payloadLengthKE';"; variant (payloadLength) "intTag='payloadLengthKE';"; variant (spiSize) "intTag='spiSizeNotify';"; variant (spiSize) "intTag='spiSizeNotify';"; variant (spi) "length=getIntTag('spiSizeNotify')"; variant (spi) "fieldPresent=getIntTag('spiSizeNotify')>0;length=getIntTag('spiSizeNotify')"; variant (data) "length=(getIntTag('payloadLengthKE')-4-4-getIntTag('spiSizeNotify'))"; variant (data) "length=(getIntTag('payloadLengthKE')-4-4-getIntTag('spiSizeNotify'))"; } } Loading @@ -690,7 +690,7 @@ variant (nextPayload) "tag='nextPayload';"; variant (nextPayload) "tag='nextPayload';"; variant (spiSize) "intTag='spiSizeDel';"; variant (spiSize) "intTag='spiSizeDel';"; variant (numberOfSpi) "intTag='numberOfSpiDel';"; variant (numberOfSpi) "intTag='numberOfSpiDel';"; variant (spis) "length=(getIntTag('spiSizeDel')*getIntTag('numberOfSpiDel'))"; variant (spis) "fieldPresent=getIntTag('spiSizeDel')>0;length=(getIntTag('spiSizeDel')*getIntTag('numberOfSpiDel'))"; } } } // end group IkeRfc4306DeletePayload } // end group IkeRfc4306DeletePayload Loading