Commit 510f3c6c authored by tepelmann's avatar tepelmann
Browse files

Added IKE variant tags in TTCN-3, codec and external function implementations.

parent cdb26392
Loading
Loading
Loading
Loading
+12 −15
Original line number Diff line number Diff line
@@ -301,42 +301,42 @@ module LibIpv6_Interface_TypesAndValues {
		//Ike
		type Ipv6Packet IkeSaInitRequest
		with {
			variant "DT TODO";
			variant "isPDU;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkIKEmsg(dec, 34, 0)";
		}
		
		type Ipv6Packet IkeSaInitResponse
		with {
			variant "DT TODO";
			variant "isPDU;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkIKEmsg(dec, 34, 1)";
		}
			
		type Ipv6Packet IkeAuthRequest
		with {
			variant "DT TODO";
			variant "isPDU;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkIKEmsg(dec, 35, 0)";
		}
		
		type Ipv6Packet IkeAuthResponse
		with {
			variant "DT TODO";
			variant "isPDU;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkIKEmsg(dec, 35, 1)";
		}
		
		type Ipv6Packet CreateChildSaRequest
		with {
			variant "DT TODO";
			variant "isPDU;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkIKEmsg(dec, 36, 0)";
		}	
			
		type Ipv6Packet CreateChildSaResponse
		with {
			variant "DT TODO";
			variant "isPDU;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkIKEmsg(dec, 36, 1)";
		}	
			
		type Ipv6Packet InformationalRequest
		with {
			variant "DT TODO";
			variant "isPDU;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkIKEmsg(dec, 37, 0)";
		}

		type Ipv6Packet InformationalResponse
		with {
			variant "DT TODO";
			variant "isPDU;use=com.testingtech.ttcn.tci.codec.helper.*;present=SupportFunctions.checkIKEmsg(dec, 37, 1)";
		}
		
	  	//General IPv6 packet
@@ -379,10 +379,10 @@ module LibIpv6_Interface_TypesAndValues {
	//		FastNeighborAdvertisementMsg			fastNbrAdvMsg,
			//Default value
			OtherIcmpv6Msg							otherIcmpv6Msg,
			//Udp
			UdpMsg									udpMsg,
			//Ike
			IkeMsg									ikeMsg,
			//Udp
			UdpMsg									udpMsg,
		  	//General IPv6 packet
		  	//GeneralIpv6                         	generalIpv6
			octetstring								octetstringMsg
@@ -1043,10 +1043,7 @@ module LibIpv6_Interface_TypesAndValues {
			octetstring icvPadding optional
		}
		with {
			variant "present=(valueOf(getTag('nextHeader')) == 51);";
			variant (nextHeader) "tag='nextHeader';";
			variant (payloadLen) "tag='authPayloadLen';intTag='IPv6Header_payloadLength',getIntTag('IPv6Header_payloadLength')-(value-1)*4-12";
			variant (icv) "length=(valueOf(getTag('authPayloadLen'))-1)*4;";
			variant "present=(valueOf(getTag('nextHeader')) == 51);decode=AuthHeaderCodec.decodeAuthHeader();use=com.testingtech.ttcn.tci.codec.auth.*;";
		}

	}//end group rfc4302Ah_ExtHdrTypesAndValues
+28 −9
Original line number Diff line number Diff line
@@ -81,7 +81,7 @@
			UInt16		        destPort,
			UInt16		        msgLength,																																								
			UInt16		        checksum,
			Oct4				padding optional,
//			Oct4				padding optional,
			// IKEv2 Header
			Oct8				initiatorSpi,
			Oct8				responderSpi,
@@ -100,6 +100,8 @@
			IkePayloadList		payloadList
		}
		with {
			//TODO length of padding???
			variant "present=SupportFunctions.isIKEmsg(dec);use=com.testingtech.ttcn.tci.codec.helper.*;";
			variant (nextPayload) "tag='nextPayload';";
		}

@@ -215,6 +217,7 @@
				SaProposalList	saProposalList
			} 
			with {
				variant (nextPayload) "tag='nextPayload';";
				variant (payloadLength) "intTag='payloadLengthSA';";
			}

@@ -235,11 +238,11 @@
					SaTransformList	saTransformList
				} 
				with {
					variant "present=getIntTag('payloadLengthSA')!=0;";
					variant "present=getIntTag('payloadLengthSA')!=4;";
					variant (proposalLength) "intTag='payloadLengthSA',getIntTag('payloadLengthSA')-value";
					variant (spiSize) "intTag='spiSize';";
					variant (numberOfTransforms) "intTag='numberOfTransforms';";
					variant (spi) "length=getIntTag('numberOfTransforms');";
					variant (spi) "fieldPresent=getIntTag('spiSize')>0;length=getIntTag('spiSize');";
				}

				const UInt8 c_maxIkeSaProposals  := 10; //FIXME
@@ -268,12 +271,13 @@
						UInt16						transformLength,
						UInt8						transformType,
						UInt8						reserved2,
						UInt8						transformId,
						SaTransformAttributeList	saTransformAttributeList
						UInt16						transformId,
						SaTransformAttributeList	saTransformAttributeList optional
					} 
					with {
						variant (transformLength) "intTag='transformLength';";
						variant (saTransformAttributeList) "intTag='transformLength',getIntTag('transformLength')-8;";
						variant (transformType) "intTag='transformLength',getIntTag('transformLength')-8;";
						variant (saTransformAttributeList) "fieldPresent=getIntTag('transformLength')>0;";
					}

					group IkeRfc4306ExtentedSequenceNumbers {
@@ -306,7 +310,7 @@
						} 
						with {
							variant "present=getIntTag('transformLength')!=0;;";
							variant (keyLength) "present=bytes(1,0x8E);";
							variant (keyLength) "present=bytes(2,0x800E);";
						}

						const UInt8 c_maxIkeSaTransformAttributes  := 10; //FIXME
@@ -357,6 +361,7 @@
				octetstring		data
			} 
			with {
				variant (nextPayload) "tag='nextPayload';";
				variant (payloadLength) "intTag='payloadLengthKE';";
				variant (data) "length=(getIntTag('payloadLengthKE')-4-4)";
			}
@@ -379,6 +384,7 @@
				octetstring		data
			} 
			with {
				variant (nextPayload) "tag='nextPayload';";
				variant (payloadLength) "intTag='payloadLengthIdent';";
				variant (data) "length=(getIntTag('payloadLengthIdent')-4-4)";
			}
@@ -410,6 +416,7 @@
				octetstring		data
			} 
			with {
				variant (nextPayload) "tag='nextPayload';";
				variant (payloadLength) "intTag='payloadLengthCert';";
				variant (data) "length=(getIntTag('payloadLengthCert')-4-1)";
			}
@@ -431,6 +438,7 @@
				octetstring		certificationAuthority
			} 
			with {
				variant (nextPayload) "tag='nextPayload';";
				variant (payloadLength) "intTag='payloadLengthCertReq';";
				variant (data) "length=(getIntTag('payloadLengthCertReq')-4-1)";
			}
@@ -453,6 +461,7 @@
				octetstring		data
			} 
			with {
				variant (nextPayload) "tag='nextPayload';";
				variant (payloadLength) "intTag='payloadLengthAuth';";
				variant (data) "length=(getIntTag('payloadLengthAuth')-4-4)";
			}
@@ -485,7 +494,8 @@
				NonceData data
			} 
			with {
				variant (payloadLength) "intTag='payloadLengthNonce';";
				variant (nextPayload) "tag='nextPayload';";
				variant (payloadLength) "tag='payloadLengthNonce';";
			}

		} // end group IkeRfc4306NoncePayload		
@@ -538,6 +548,7 @@
				octetstring		data
			} 
			with {
				variant (nextPayload) "tag='nextPayload';";
				variant (payloadLength) "intTag='payloadLengthKE';";
				variant (spiSize) "intTag='spiSizeNotify';";
				variant (spi) "length=getIntTag('spiSizeNotify')";
@@ -562,6 +573,7 @@
				octetstring		spis
			} 
			with {
				variant (nextPayload) "tag='nextPayload';";
				variant (spiSize) "intTag='spiSizeDel';";
				variant (numberOfSpi) "intTag='numberOfSpiDel';";
				variant (data) "length=(getIntTag('spiSizeDel')*getIntTag('numberOfSpi'))";
@@ -583,8 +595,9 @@
				octetstring		vendorId
			} 
			with {
				variant (nextPayload) "tag='nextPayload';";
				variant (payloadLength) "intTag='payloadLengthVI';";
				variant (data) "length=(getIntTag('payloadLengthVI')-4)";
				variant (vendorId) "length=(getIntTag('payloadLengthVI')-4)";
			}

		} // end group IkeRfc4306VendorIdPayload	
@@ -605,6 +618,7 @@
				TrafficSelectorList	trafficSelectorList
			} 
			with {
				variant (nextPayload) "tag='nextPayload';";
				variant (payloadLength) "intTag='payloadLengthTS';";
				variant (numberOfTs) "intTag='numberOfTs';";
			}
@@ -693,6 +707,7 @@
			} 
			with {
				variant "TODO";
				variant (nextPayload) "tag='nextPayload';";
			}	

		} // end group IkeRfc4306EncryptedPayload		
@@ -720,6 +735,7 @@
				ConfigAttributeList	configAttributeList
			} 
			with {
				variant (nextPayload) "tag='nextPayload';";
				variant (payloadLength) "intTag='payloadLengthConf';";
			}	

@@ -781,6 +797,9 @@
				UInt16			payloadLength,
				EapMessage		eapMessage
			}
			with {
				variant (nextPayload) "tag='nextPayload';";
			}

			group IkeRfc4306EapMessage {