Commit 3b7af4eb authored by schmitting's avatar schmitting
Browse files

Split of Sa into saIni and saRes

Passive side for IKE_AUTH finished
parent 9db98e2b
Loading
Loading
Loading
Loading
+50 −40
Original line number Diff line number Diff line
@@ -745,22 +745,19 @@ group ipSecFns {
			seqNr := c_uInt32Zero,
			// AH Integrity
			ahIntegrityAlgo := PX_INTEGRITY_ALGO,
			ahIntegrityKeyInitiator := PX_INTEGRITY_KEY,
			ahIntegrityKeyResponder := PX_INTEGRITY_KEY,
			ahIntegrityKey := PX_INTEGRITY_KEY,
			ahIntegrKeyLen := omit,
			ahIcvLen := f_getIcvLen(PX_INTEGRITY_ALGO),
			ahIcvPadLen := f_getIcvPadLen(PX_INTEGRITY_ALGO),
			// ESP encryption
			espEncryptionAlgo := PX_ENCRYPTION_ALGO,
			espEncryptionKeyInitiator := PX_ESP_ENCR_KEY,
			espEncryptionKeyResponder := PX_ESP_ENCR_KEY,
			espEncryptionKey := PX_ESP_ENCR_KEY,
			espEncrKeyLen := omit,
			espIv := v_espIv,
			espEncrBlockSize := v_espEncrBlockSize,
			// ESP integrity
			espIntegrityAlgo := PX_INTEGRITY_ALGO,
			espIntegrityKeyInitiator := PX_INTEGRITY_KEY,
			espIntegrityKeyResponder := PX_INTEGRITY_KEY,
			espIntegrityKey := PX_INTEGRITY_KEY,
			espIntegrKeyLen := omit,
			espIntegrBlockSize := v_espIntegrBlockSize,
			espIcvLen := f_getIcvLen(PX_INTEGRITY_ALGO),
@@ -770,8 +767,37 @@ group ipSecFns {
			// Protocol mode
			ipSecProtocolMode := PX_IP_SEC_PROTOCOL_MODE,
			extentedSequenceNumbers := e_extentedSequenceNumbersNo,
			tsInitiator := omit,
			tsResponder := omit
			trafficSelector:= omit
		}

		vc_sad[0] := {
			spi := PX_SPI/*f_createSpi()*/,
			seqNr := c_uInt32Zero,
			// AH Integrity
			ahIntegrityAlgo := PX_INTEGRITY_ALGO,
			ahIntegrityKey := PX_INTEGRITY_KEY,
			ahIntegrKeyLen := omit,
			ahIcvLen := f_getIcvLen(PX_INTEGRITY_ALGO),
			ahIcvPadLen := f_getIcvPadLen(PX_INTEGRITY_ALGO),
			// ESP encryption
			espEncryptionAlgo := PX_ENCRYPTION_ALGO,
			espEncryptionKey := PX_ESP_ENCR_KEY,
			espEncrKeyLen := omit,
			espIv := v_espIv,
			espEncrBlockSize := v_espEncrBlockSize,
			// ESP integrity
			espIntegrityAlgo := PX_INTEGRITY_ALGO,
			espIntegrityKey := PX_INTEGRITY_KEY,
			espIntegrKeyLen := omit,
			espIntegrBlockSize := v_espIntegrBlockSize,
			espIcvLen := f_getIcvLen(PX_INTEGRITY_ALGO),
			// Combined mode
			//espCombinedModeAlgo := PX_COMBINED_MODE_ALGO,
			//espCombinedModeKey := PX_COMBINED_MODE_KEY/*f_createSecretKey()*/,
			// Protocol mode
			ipSecProtocolMode := PX_IP_SEC_PROTOCOL_MODE,
			extentedSequenceNumbers := e_extentedSequenceNumbersNo,
			trafficSelector:= omit
		}

		// SAD-OUT
@@ -780,22 +806,19 @@ group ipSecFns {
			seqNr := c_uInt32Zero,
			// AH Integrity
			ahIntegrityAlgo := PX_INTEGRITY_ALGO,
			ahIntegrityKeyInitiator := PX_INTEGRITY_KEY/*f_createSecretKey()*/,
			ahIntegrityKeyResponder := PX_INTEGRITY_KEY/*f_createSecretKey()*/,
			ahIntegrityKey := PX_INTEGRITY_KEY/*f_createSecretKey()*/,
			ahIntegrKeyLen := omit,
			ahIcvLen := f_getIcvLen(PX_INTEGRITY_ALGO),
			ahIcvPadLen := f_getIcvPadLen(PX_INTEGRITY_ALGO),
			// ESP encryption
			espEncryptionAlgo := PX_ENCRYPTION_ALGO,
			espEncryptionKeyInitiator := PX_ESP_ENCR_KEY/*f_createSecretKey()*/,
			espEncryptionKeyResponder := PX_ESP_ENCR_KEY/*f_createSecretKey()*/,
			espEncryptionKey := PX_ESP_ENCR_KEY/*f_createSecretKey()*/,
			espEncrKeyLen := omit,
			espIv := v_espIv,
			espEncrBlockSize := v_espEncrBlockSize,
			// ESP integrity
			espIntegrityAlgo := PX_INTEGRITY_ALGO,
			espIntegrityKeyInitiator := PX_INTEGRITY_KEY/*f_createSecretKey()*/,
			espIntegrityKeyResponder := PX_INTEGRITY_KEY/*f_createSecretKey()*/,
			espIntegrityKey := PX_INTEGRITY_KEY/*f_createSecretKey()*/,
			espIntegrKeyLen := omit,
			espIntegrBlockSize := v_espIntegrBlockSize,
			espIcvLen := f_getIcvLen(PX_INTEGRITY_ALGO),
@@ -805,8 +828,7 @@ group ipSecFns {
			// Protocol mode
			ipSecProtocolMode := PX_IP_SEC_PROTOCOL_MODE,
			extentedSequenceNumbers := e_extentedSequenceNumbersNo,
			tsInitiator := omit,
			tsResponder := omit
			trafficSelector:= omit
		}

		// SAD-IN
@@ -815,22 +837,19 @@ group ipSecFns {
			seqNr := c_uInt32Zero,
			// AH Integrity
			ahIntegrityAlgo := PX_INTEGRITY_ALGO,
			ahIntegrityKeyInitiator := PX_INTEGRITY_KEY/*f_createSecretKey()*/,
			ahIntegrityKeyResponder := PX_INTEGRITY_KEY/*f_createSecretKey()*/,
			ahIntegrityKey := PX_INTEGRITY_KEY/*f_createSecretKey()*/,
			ahIntegrKeyLen := omit,
			ahIcvLen := f_getIcvLen(PX_INTEGRITY_ALGO),
			ahIcvPadLen := f_getIcvPadLen(PX_INTEGRITY_ALGO),
			// ESP encryption
			espEncryptionAlgo := PX_ENCRYPTION_ALGO,
			espEncryptionKeyInitiator := PX_ESP_ENCR_KEY/*f_createSecretKey()*/,
			espEncryptionKeyResponder := PX_ESP_ENCR_KEY/*f_createSecretKey()*/,
			espEncryptionKey := PX_ESP_ENCR_KEY/*f_createSecretKey()*/,
			espEncrKeyLen := omit,
			espIv := v_espIv,
			espEncrBlockSize := v_espEncrBlockSize,
			// ESP integrity
			espIntegrityAlgo := PX_INTEGRITY_ALGO,
			espIntegrityKeyInitiator := PX_INTEGRITY_KEY/*f_createSecretKey()*/,
			espIntegrityKeyResponder := PX_INTEGRITY_KEY/*f_createSecretKey()*/,
			espIntegrityKey := PX_INTEGRITY_KEY/*f_createSecretKey()*/,
			espIntegrKeyLen := omit,
			espIntegrBlockSize := v_espIntegrBlockSize,
			espIcvLen := f_getIcvLen(PX_INTEGRITY_ALGO),
@@ -840,8 +859,7 @@ group ipSecFns {
			// Protocol mode
			ipSecProtocolMode := PX_IP_SEC_PROTOCOL_MODE,
			extentedSequenceNumbers := e_extentedSequenceNumbersNo,
			tsInitiator := omit,
			tsResponder := omit
			trafficSelector:= omit
		}
	
		// SAD-OUT
@@ -850,22 +868,19 @@ group ipSecFns {
			seqNr := c_uInt32Zero,
			// AH Integrity
			ahIntegrityAlgo := PX_INTEGRITY_ALGO,
			ahIntegrityKeyInitiator := PX_INTEGRITY_KEY/*f_createSecretKey()*/,
			ahIntegrityKeyResponder := PX_INTEGRITY_KEY/*f_createSecretKey()*/,
			ahIntegrityKey := PX_INTEGRITY_KEY/*f_createSecretKey()*/,
			ahIntegrKeyLen := omit,
			ahIcvLen := f_getIcvLen(PX_INTEGRITY_ALGO),
			ahIcvPadLen := f_getIcvPadLen(PX_INTEGRITY_ALGO),
			// ESP encryption
			espEncryptionAlgo := PX_ENCRYPTION_ALGO,
			espEncryptionKeyInitiator := PX_ESP_ENCR_KEY/*f_createSecretKey()*/,
			espEncryptionKeyResponder := PX_ESP_ENCR_KEY/*f_createSecretKey()*/,
			espEncryptionKey := PX_ESP_ENCR_KEY/*f_createSecretKey()*/,
			espEncrKeyLen := omit,
			espIv := v_espIv,
			espEncrBlockSize := v_espEncrBlockSize,
			// ESP integrity
			espIntegrityAlgo := PX_INTEGRITY_ALGO,
			espIntegrityKeyInitiator := PX_INTEGRITY_KEY/*f_createSecretKey()*/,
			espIntegrityKeyResponder := PX_INTEGRITY_KEY/*f_createSecretKey()*/,
			espIntegrityKey := PX_INTEGRITY_KEY/*f_createSecretKey()*/,
			espIntegrKeyLen := omit,
			espIntegrBlockSize := v_espIntegrBlockSize,
			espIcvLen := f_getIcvLen(PX_INTEGRITY_ALGO),
@@ -875,8 +890,7 @@ group ipSecFns {
			// Protocol mode
			ipSecProtocolMode := PX_IP_SEC_PROTOCOL_MODE,
			extentedSequenceNumbers := e_extentedSequenceNumbersNo,
			tsInitiator := omit,
			tsResponder := omit
			trafficSelector:= omit
		}

		// SAD-IN
@@ -885,22 +899,19 @@ group ipSecFns {
			seqNr := c_uInt32Zero,
			// AH Integrity
			ahIntegrityAlgo := PX_INTEGRITY_ALGO,
			ahIntegrityKeyInitiator := PX_INTEGRITY_KEY/*f_createSecretKey()*/,
			ahIntegrityKeyResponder := PX_INTEGRITY_KEY/*f_createSecretKey()*/,
			ahIntegrityKey := PX_INTEGRITY_KEY/*f_createSecretKey()*/,
			ahIntegrKeyLen := omit,
			ahIcvLen := f_getIcvLen(PX_INTEGRITY_ALGO),
			ahIcvPadLen := f_getIcvPadLen(PX_INTEGRITY_ALGO),
			// ESP encryption
			espEncryptionAlgo := PX_ENCRYPTION_ALGO,
			espEncryptionKeyInitiator := PX_ESP_ENCR_KEY/*f_createSecretKey()*/,
			espEncryptionKeyResponder := PX_ESP_ENCR_KEY/*f_createSecretKey()*/,
			espEncryptionKey := PX_ESP_ENCR_KEY/*f_createSecretKey()*/,
			espEncrKeyLen := omit,
			espIv := v_espIv,
			espEncrBlockSize := v_espEncrBlockSize,
			// ESP integrity
			espIntegrityAlgo := PX_INTEGRITY_ALGO,
			espIntegrityKeyInitiator := PX_INTEGRITY_KEY/*f_createSecretKey()*/,
			espIntegrityKeyResponder := PX_INTEGRITY_KEY/*f_createSecretKey()*/,
			espIntegrityKey := PX_INTEGRITY_KEY/*f_createSecretKey()*/,
			espIntegrKeyLen := omit,
			espIntegrBlockSize := v_espIntegrBlockSize,
			espIcvLen := f_getIcvLen(PX_INTEGRITY_ALGO),
@@ -910,8 +921,7 @@ group ipSecFns {
			// Protocol mode
			ipSecProtocolMode := PX_IP_SEC_PROTOCOL_MODE,
			extentedSequenceNumbers := e_extentedSequenceNumbersNo,
			tsInitiator := omit,
			tsResponder := omit
			trafficSelector:= omit
		}

		return v_ret;
+1 −2
Original line number Diff line number Diff line
@@ -309,9 +309,8 @@ group rfc2460Root_Functions {
				v_tempIpv6Packet.ipv6Hdr.hopLimit := 0;
				
				// Compute ICV
				// !!!!! PS: changed ahIntegrityKey to ahIntegrityKeyInitiator, CHECK !!!!!
				v_activeIpv6Packet.extHdrList[v_authHdrIndex].authHeader.icv := 
					fx_mac( vc_sad[v_idx].ahIntegrityAlgo , vc_sad[v_idx].ahIntegrityKeyInitiator, fx_encodeMessage(v_tempIpv6Packet));
					fx_mac( vc_sad[v_idx].ahIntegrityAlgo , vc_sad[v_idx].ahIntegrityKey, fx_encodeMessage(v_tempIpv6Packet));
			}					
		}
		
+52 −52
Original line number Diff line number Diff line
@@ -128,8 +128,8 @@ module LibIpv6_Rfc3775Mipv6_Functions {
							p_haGlaNut,
							m_extHdrList_1Elem(
								m_extHdr_espHeader(
									vc_sad[c_saOut].spi,
									vc_sad[c_saOut].seqNr + 1,
									vc_sad[c_saIni].spi,
									vc_sad[c_saIni].seqNr + 1,
									m_espIpDatagram(
										m_extHdrList_1Elem(
											m_extHdr_mobileHeader (
@@ -262,8 +262,8 @@ module LibIpv6_Rfc3775Mipv6_Functions {
										m_dstOpt_padN(m_optPad4),
										m_dstOpt_homeAddr(p_mnHoaTn))),
								m_extHdr_espHeader(
									vc_sad[c_saOut].spi,
									vc_sad[c_saOut].seqNr,
									vc_sad[c_saIni].spi,
									vc_sad[c_saIni].seqNr,
									m_espIpDatagram	(
										m_extHdrList_1Elem(	
											m_extHdr_mobileHeader (
@@ -317,8 +317,8 @@ module LibIpv6_Rfc3775Mipv6_Functions {
								c_routeHdrSegmentsLeft1,
								m_routingHeaderData_homeAddress(p_mnHoaTn)),
							mw_extHdr_espHeader(
								vc_sad[c_saIn].spi,
								?, //vc_sad[c_saIn].seqNr,
								vc_sad[c_saRes].spi,
								?, //vc_sad[c_saRsp].seqNr,
								m_espIpDatagram	(
									m_extHdrList_1Elem(								
										mw_extHdr_mobileHeader (	
@@ -381,7 +381,7 @@ module LibIpv6_Rfc3775Mipv6_Functions {
									m_mobileOpt_altCoa(m_altCoA(p_mnCoaTn)))))),
					omit) );

//		v_ret := f_buildEspExtHdr( 	vc_sad[c_saOut],
//		v_ret := f_buildEspExtHdr( 	vc_sad[c_saIni],
//									v_plaintextData,
//									v_extHdr_espHeader);
//		if ( v_ret != e_success ) {return v_ret;}
@@ -397,8 +397,8 @@ module LibIpv6_Rfc3775Mipv6_Functions {
																	m_dstOpt_padN(m_optPad4),
																	m_dstOpt_homeAddr(p_mnHoaTn))),
															m_extHdr_espHeader(
																vc_sad[c_saOut].spi,
																vc_sad[c_saOut].seqNr,
																vc_sad[c_saIni].spi,
																vc_sad[c_saIni].seqNr,
																v_espIpDatagram,
																c_mobileHdr))));
	
@@ -406,7 +406,7 @@ module LibIpv6_Rfc3775Mipv6_Functions {
		tc_ac.start;
		alt {
			//the test adapter process consists of decrypt and integrity check
			//TODO SMU replace vc_sad[c_saOut] with vc_sad[vc_sad.secParamsIndex]
			//TODO SMU replace vc_sad[c_saIni] with vc_sad[vc_sad.secParamsIndex]
			[]	ipPort.receive(mw_bindingAck_noData(
									c_routeHdr,
									p_haGlaNut,
@@ -419,8 +419,8 @@ module LibIpv6_Rfc3775Mipv6_Functions {
											c_routeHdrSegmentsLeft1,
											m_routingHeaderData_homeAddress(p_mnHoaTn)),
										mw_extHdr_espHeader(
											vc_sad[c_saOut].securityParametersIndex,
											vc_sad[c_saOut].sequenceNumber + 1,
											vc_sad[c_saIni].securityParametersIndex,
											vc_sad[c_saIni].sequenceNumber + 1,
											m_plaintextData(
												m_extHdrList_1Elem(
													mw_extHdr_mobileHeader(
@@ -499,16 +499,16 @@ module LibIpv6_Rfc3775Mipv6_Functions {

		var EncryptResult v_encryptResult := fx_encryptModularIpPacket(
												e_transportMode,
												vc_sad[c_saOut].espEncryptionAlgo,
												vc_sad[c_saOut].espEncryptionKey,
												vc_sad[c_saIni].espEncryptionAlgo,
												vc_sad[c_saIni].espEncryptionKey,
												v_modularIpv6Packet);
		

		//Fill EspExtHdr
		var EspHeader_snd v_espHeader_snd :=  {
			// Header
			securityParametersIndex := vc_sad[c_saOut].securityParametersIndex,
			sequenceNumber := vc_sad[c_saOut].sequenceNumber,		
			securityParametersIndex := vc_sad[c_saIni].securityParametersIndex,
			sequenceNumber := vc_sad[c_saIni].sequenceNumber,		
			// Payload
			iv := v_encryptResult.iv,
			espPayloadData := v_encryptResult.espPayloadData,
@@ -523,8 +523,8 @@ module LibIpv6_Rfc3775Mipv6_Functions {
		var ExtensionHeader v_extHdr_espHeader := {espHeader_snd := v_espHeader_snd};

		v_espHeader_snd.icv := fx_integrityExtHdr(
									vc_sad[c_saOut].espIntegrityAlgo,
									vc_sad[c_saOut].espIntegrityKey,
									vc_sad[c_saIni].espIntegrityAlgo,
									vc_sad[c_saIni].espIntegrityKey,
									v_extHdr_espHeader);


@@ -559,8 +559,8 @@ module LibIpv6_Rfc3775Mipv6_Functions {
																			1,
																			2,
																			e_transportMode,
																			vc_sad[c_saOut].espEncryptionAlgo,
																			vc_sad[c_saOut].espEncryptionKey,
																			vc_sad[c_saIni].espEncryptionAlgo,
																			vc_sad[c_saIni].espEncryptionKey,
																			v_ipv6Packet.extHdrList[1].espHeader_rcv.espHeaderData );
				//	fx_match( valueof(mw_extHdr_mobileHeader(
				//							c_noNextHdr,
@@ -1406,8 +1406,8 @@ group mobileSecurityFns {
														m_dstOpt_padN(m_optPad4),
														m_dstOpt_homeAddr(p_mnHoaTn))),
												m_extHdr_espHeader(
													vc_sad[c_saOut].spi,
													vc_sad[c_saOut].seqNr,
													vc_sad[c_saIni].spi,
													vc_sad[c_saIni].seqNr,
													m_espIpDatagram(
														omit,
														m_ipv6Payload_mobilePrefixSolMsg(
@@ -1445,8 +1445,8 @@ group mobileSecurityFns {
											c_routeHdrSegmentsLeft1,
											m_routingHeaderData_homeAddress(p_mnHoaTn)),
										mw_extHdr_espHeader(
											vc_sad[c_saIn].spi,
											?,//vc_sad[c_saOut].seqNr + 1,
											vc_sad[c_saRes].spi,
											?,//vc_sad[c_saIni].seqNr + 1,
											m_espIpDatagram(									
												omit,
												m_ipv6Payload_mobilePrefixAdvMsg(
@@ -1498,8 +1498,8 @@ group mobileSecurityFns {
											p_haGla,
											m_extHdrList_1Elem(
												m_extHdr_espHeader(
													vc_sad[c_saOut].spi,
													vc_sad[c_saOut].seqNr + 1,
													vc_sad[c_saIni].spi,
													vc_sad[c_saIni].seqNr + 1,
													m_espIpDatagram(
														m_extHdrList_1Elem(
															m_extHdr_dstOptHeader(	
@@ -2064,8 +2064,8 @@ group mobileSecurityFns {
				p_paramsHa.gla,
				m_extHdrList_1Elem (
					mw_extHdr_espHeader(	
						vc_sad[c_saIn].spi,
						?, //vc_sad[c_saIn].seqNr + 1,
						vc_sad[c_saRes].spi,
						?, //vc_sad[c_saRsp].seqNr + 1,
						m_espIpDatagram (
							m_extHdrList_1Elem(
								mw_extHdr_mobileHeader (
@@ -2096,8 +2096,8 @@ group mobileSecurityFns {
					p_paramsIut.mnHoa,
					m_extHdrList_1Elem (
						m_extHdr_espHeader(	
							vc_sad[c_saOut].spi,
							vc_sad[c_saOut].seqNr + 1,
							vc_sad[c_saIni].spi,
							vc_sad[c_saIni].seqNr + 1,
							m_espIpDatagram (	
								m_extHdrList_1Elem (
									m_extHdr_mobileHeader (
@@ -2126,8 +2126,8 @@ group mobileSecurityFns {
							m_dstOpt_padN(m_optPad4),
							mw_dstOpt_homeAddr)),
					mw_extHdr_espHeader(	
						vc_sad[c_saIn].spi,
						?, //vc_sad[c_saIn].seqNr + 1,
						vc_sad[c_saRes].spi,
						?, //vc_sad[c_saRsp].seqNr + 1,
						m_espIpDatagram (
							m_extHdrList_1Elem(
								mw_extHdr_mobileHeader (
@@ -2164,8 +2164,8 @@ group mobileSecurityFns {
							c_routeHdrSegmentsLeft1,
							m_routingHeaderData_homeAddress(p_paramsIut.mnHoa)),
						m_extHdr_espHeader(	
							vc_sad[c_saOut].spi,
							vc_sad[c_saOut].seqNr + 1,
							vc_sad[c_saIni].spi,
							vc_sad[c_saIni].seqNr + 1,
							m_espIpDatagram (	
								m_extHdrList_1Elem (
									m_extHdr_mobileHeader (
@@ -2189,8 +2189,8 @@ group mobileSecurityFns {
				p_paramsHa.gla,
				m_extHdrList_1Elem (
					mw_extHdr_espHeader(	
						vc_sad[c_saIn].spi,
						?, //vc_sad[c_saIn].seqNr + 1,
						vc_sad[c_saRes].spi,
						?, //vc_sad[c_saRsp].seqNr + 1,
						m_espIpDatagram (
							m_extHdrList_1Elem(
								mw_extHdr_mobileHeader (
@@ -2218,8 +2218,8 @@ group mobileSecurityFns {
					p_paramsIut.mnHoa,
					m_extHdrList_1Elem (
						m_extHdr_espHeader(	
							vc_sad[c_saOut].spi,
							vc_sad[c_saOut].seqNr + 1,
							vc_sad[c_saIni].spi,
							vc_sad[c_saIni].seqNr + 1,
							m_espIpDatagram (	
								m_extHdrList_1Elem (
									m_extHdr_mobileHeader (
@@ -2248,8 +2248,8 @@ group mobileSecurityFns {
							m_dstOpt_padN(m_optPad4),
							mw_dstOpt_homeAddr)),
					mw_extHdr_espHeader(	
						vc_sad[c_saIn].spi,
						?, //vc_sad[c_saIn].seqNr + 1,
						vc_sad[c_saRes].spi,
						?, //vc_sad[c_saRsp].seqNr + 1,
						m_espIpDatagram (
							m_extHdrList_1Elem(
								mw_extHdr_mobileHeader (
@@ -2283,8 +2283,8 @@ group mobileSecurityFns {
							c_routeHdrSegmentsLeft1,
							m_routingHeaderData_homeAddress(p_paramsIut.mnHoa)),
						m_extHdr_espHeader(	
							vc_sad[c_saOut].spi,
							vc_sad[c_saOut].seqNr + 1,
							vc_sad[c_saIni].spi,
							vc_sad[c_saIni].seqNr + 1,
							m_espIpDatagram (	
								m_extHdrList_1Elem (
									m_extHdr_mobileHeader (
@@ -2451,8 +2451,8 @@ group mobileSecurityFns {
							m_dstOpt_padN(m_optPad4),
							mw_dstOpt_homeAddr)),
					mw_extHdr_espHeader(	
						vc_sad[c_saIn].spi,
						?, //vc_sad[c_saIn].seqNr + 1,
						vc_sad[c_saRes].spi,
						?, //vc_sad[c_saRsp].seqNr + 1,
						m_espIpDatagram (
							m_extHdrList_1Elem(
								mw_extHdr_mobileHeader (
@@ -2491,8 +2491,8 @@ group mobileSecurityFns {
							c_routeHdrSegmentsLeft1,
							m_routingHeaderData_homeAddress(v_mnHomeAddr)),
						m_extHdr_espHeader(	
							vc_sad[c_saOut].spi,
							vc_sad[c_saOut].seqNr + 1,
							vc_sad[c_saIni].spi,
							vc_sad[c_saIni].seqNr + 1,
							m_espIpDatagram (	
								m_extHdrList_1Elem (
									m_extHdr_mobileHeader (
@@ -2522,8 +2522,8 @@ group mobileSecurityFns {
							m_dstOpt_padN(m_optPad4),
							mw_dstOpt_homeAddr)),
					mw_extHdr_espHeader(	
						vc_sad[c_saIn].spi,
						?, //vc_sad[c_saIn].seqNr + 1,
						vc_sad[c_saRes].spi,
						?, //vc_sad[c_saRsp].seqNr + 1,
						m_espIpDatagram (
							m_extHdrList_1Elem(
								mw_extHdr_mobileHeader (
@@ -2561,8 +2561,8 @@ group mobileSecurityFns {
							c_routeHdrSegmentsLeft1,
							m_routingHeaderData_homeAddress(v_mnHomeAddr)),
						m_extHdr_espHeader(	
							vc_sad[c_saOut].spi,
							vc_sad[c_saOut].seqNr + 1,
							vc_sad[c_saIni].spi,
							vc_sad[c_saIni].seqNr + 1,
							m_espIpDatagram (	
								m_extHdrList_1Elem (
									m_extHdr_mobileHeader (
@@ -2948,8 +2948,8 @@ group mobileSecurityFns {
				p_paramsHa.gla,
				m_extHdrList_1Elem (					
					mw_extHdr_espHeader(
						vc_sad[c_saRrpIn].spi,//vc_sad[c_saOut].spi, //FIXME
						?,//vc_sad[c_saOut].seqNr + 1, //FIXME
						vc_sad[c_saRrpIn].spi,//vc_sad[c_saIni].spi, //FIXME
						?,//vc_sad[c_saIni].seqNr + 1, //FIXME
						m_espIpDatagram (
							m_extHdrList_2Elem(
								mw_extHdr_tunneledHeader (
+306 −132

File changed.

Preview size limit exceeded, changes collapsed.

+6 −10
Original line number Diff line number Diff line
@@ -1023,8 +1023,8 @@
		}
		
		const UInt8 c_maxNrDa := 8;
		const UInt8 c_saOut := 1;
		const UInt8 c_saIn := 2;
		const UInt8 c_saIni := 0;
		const UInt8 c_saRes := 1;
		const UInt8 c_saRrpOut := 2;
		const UInt8 c_saRrpIn := 3; 
		const UInt8 c_saCnOut := 4;
@@ -1036,20 +1036,17 @@
			UInt32 spi,
			UInt32 seqNr,
			IntegrityAlgo ahIntegrityAlgo,
			octetstring	ahIntegrityKeyInitiator,
			octetstring	ahIntegrityKeyResponder,
			octetstring	ahIntegrityKey,
			UInt16 ahIntegrKeyLen optional,
			UInt8 ahIcvLen,
			UInt ahIcvPadLen,
			EncryptionAlgo espEncryptionAlgo,
			octetstring	espEncryptionKeyInitiator,
			octetstring	espEncryptionKeyResponder,
			octetstring	espEncryptionKey,
			UInt16 espEncrKeyLen optional,
			octetstring espIv optional,
			UInt8 espEncrBlockSize,
			IntegrityAlgo espIntegrityAlgo optional,
			octetstring	espIntegrityKeyInitiator,
			octetstring	espIntegrityKeyResponder,
			octetstring	espIntegrityKey,
			UInt16 espIntegrKeyLen optional,
			UInt8 espIntegrBlockSize,
			UInt8 espIcvLen,
@@ -1057,8 +1054,7 @@
			//octetstring	espCombinedModeKey,
			IpSecProtocolMode ipSecProtocolMode,
			ExtentedSequenceNumbers extentedSequenceNumbers,
			TsTrafficSelector tsInitiator optional,
			TsTrafficSelector tsResponder optional
			TsTrafficSelector trafficSelector optional
		}
		with {
			//variant "use=com.testingtech.ttcn.tci.*;";