Commit 90b25c22 authored by tepelmann's avatar tepelmann
Browse files

Added new Java external function(3 open).

Added IKE stuff.
Added variant tags for codec generation in ttcn3.
Generated new codec for LibIPv6_Interface_Types AndValues and IKE.
Introduced new enums for IKE.
parent f8ba9d38
Loading
Loading
Loading
Loading
+9 −10
Original line number Diff line number Diff line
@@ -1055,11 +1055,10 @@ module LibIpv6_Interface_TypesAndValues {
			octetstring	icv			
		}
		with {
//TODO check this			
			variant "present=(valueOf(getTag('nextHeader')) == 51);";
			variant (nextHeader) "tag='nextHeader';";
			variant (payloadLen) "tag='authPayloadLen';intTag='IPv6Header_payloadLength',getIntTag('IPv6Header_payloadLength')-value*8";
			variant (icv) "length=valueOf(getTag('nextHeader'))";
			variant (payloadLen) "tag='authPayloadLen';intTag='IPv6Header_payloadLength',getIntTag('IPv6Header_payloadLength')-(value-1)*4-12";
			variant (icv) "length=(valueOf(getTag('authPayloadLen'))-1)*4;";
		}

	}//end group rfc4302Ah_ExtHdrTypesAndValues
@@ -1251,7 +1250,7 @@ module LibIpv6_Interface_TypesAndValues {
			e_encrAlgoAesCtr(13)
		}
		with {
			encode "TODO";
			variant "use=com.testingtech.ttcn.tci.LibIpv6_Interface_TypesAndValues.*;";
		}

		type enumerated IkePseudoRandomFunction {
@@ -1262,7 +1261,7 @@ module LibIpv6_Interface_TypesAndValues {
			e_prfAes128Xcbc(4)
		}
		with {
			encode "TODO";
			variant "use=com.testingtech.ttcn.tci.LibIpv6_Interface_TypesAndValues.*;";
		}

		type enumerated IkeIntegrityAlgo {
@@ -1274,7 +1273,7 @@ module LibIpv6_Interface_TypesAndValues {
			e_integAlgoAesXcbc96(5)
		}
		with {
			encode "TODO";
			variant "use=com.testingtech.ttcn.tci.LibIpv6_Interface_TypesAndValues.*;";
		}

		type enumerated DiffieHellmanGroup {
@@ -1289,7 +1288,7 @@ module LibIpv6_Interface_TypesAndValues {
			e_group18ModP8192Bit(18)
		}
		with {
			encode "TODO";
			variant "use=com.testingtech.ttcn.tci.LibIpv6_Interface_TypesAndValues.*;";
		}

		type record SevenSecrets {
@@ -1302,7 +1301,7 @@ module LibIpv6_Interface_TypesAndValues {
			octetstring sK_pr
		}
		with {
			encode "TODO";
			variant "TODO";
		}

	//IKE Security Association Database
+73 −48
Original line number Diff line number Diff line
@@ -100,7 +100,7 @@
			IkePayloadList		payloadList
		}
		with {
			encode "TODO";
			variant (nextPayload) "tag='nextPayload';";
		}

		group IkeRfc4306udpPortTypes {
@@ -177,7 +177,22 @@
			ExtensibleAuthPayload 		extensibleAuth
		} 
		with {
			encode "TODO";
			variant (securityAssociation) "present=(valueOf(getTag('nextPayload')) == 33);";
			variant (keyExchange) "present=(valueOf(getTag('nextPayload')) == 34);";
			variant (idInitiator) "present=(valueOf(getTag('nextPayload')) == 35);";
			variant (idResponder) "present=(valueOf(getTag('nextPayload')) == 36);";
			variant (certificate) "present=(valueOf(getTag('nextPayload')) == 37);";
			variant (certificateRequest) "present=(valueOf(getTag('nextPayload')) == 38);";
			variant (authentication) "present=(valueOf(getTag('nextPayload')) == 39);";
			variant (nonce) "present=(valueOf(getTag('nextPayload')) == 40);";
			variant (notify) "present=(valueOf(getTag('nextPayload')) == 41);";
			variant (delete) "present=(valueOf(getTag('nextPayload')) == 42);";
			variant (vendorId) "present=(valueOf(getTag('nextPayload')) == 43);";
			variant (tsInitiator) "present=(valueOf(getTag('nextPayload')) == 44);";
			variant (tsResponder) "present=(valueOf(getTag('nextPayload')) == 45);";
			variant (encrypted) "present=(valueOf(getTag('nextPayload')) == 46);";
			variant (configuration) "present=(valueOf(getTag('nextPayload')) == 47);";
			variant (extensibleAuth) "present=(valueOf(getTag('nextPayload')) == 48);";
		}

		const UInt8 c_maxIkePayloads  := 10; //FIXME
@@ -185,10 +200,7 @@
		/*
		 * @desc TODO
		*/
		type set length(1 .. c_maxIkePayloads) of IkePayload IkePayloadList
		with {
			encode "TODO";
		}
		type set length(1 .. c_maxIkePayloads) of IkePayload IkePayloadList;

		group IkeRfc4306SecurityAssociationPayload {

@@ -203,7 +215,7 @@
				SaProposalList	saProposalList
			} 
			with {
				encode "TODO";
				variant (payloadLength) "intTag='payloadLengthSA';";
			}

			group IkeRfc4306SaProposal {
@@ -223,7 +235,11 @@
					SaTransformList	saTransformList
				} 
				with {
					encode "TODO";
					variant "present=getIntTag('payloadLengthSA')!=0;";
					variant (proposalLength) "intTag='payloadLengthSA',getIntTag('payloadLengthSA')-value";
					variant (spiSize) "intTag='spiSize';";
					variant (numberOfTransforms) "intTag='numberOfTransforms';";
					variant (spi) "length=getIntTag('numberOfTransforms');";
				}

				const UInt8 c_maxIkeSaProposals  := 10; //FIXME
@@ -231,10 +247,7 @@
				/*
				 * @desc TODO
				*/
				type set length(1 .. c_maxIkeSaProposals) of SaProposal SaProposalList
				with {
					encode "TODO";
				}
				type set length(1 .. c_maxIkeSaProposals) of SaProposal SaProposalList;
				
				group IkeRfc4306SaTransform {

@@ -259,7 +272,8 @@
						SaTransformAttributeList	saTransformAttributeList
					} 
					with {
						encode "TODO";
						variant (transformLength) "intTag='transformLength';";
						variant (saTransformAttributeList) "intTag='transformLength',getIntTag('transformLength')-8;";
					}

					group IkeRfc4306ExtentedSequenceNumbers {
@@ -275,7 +289,7 @@
					*/
					type set length(1 .. c_maxIkeSaTransforms) of SaTransform SaTransformList
					with {
						encode "TODO";
						variant "elements=getIntTag('numberOfTransforms');";
					}
					
					group IkeRfc4306SaTransformAttributes {
@@ -291,7 +305,8 @@
							SaTransformAttributeKeyLength	keyLength
						} 
						with {
							encode "TODO";
							variant "present=getIntTag('transformLength')!=0;;";
							variant (keyLength) "present=bytes(1,0x8E);";
						}

						const UInt8 c_maxIkeSaTransformAttributes  := 10; //FIXME
@@ -299,10 +314,7 @@
						/*
						 * @desc TODO
						*/
						type set length(1 .. c_maxIkeSaTransformAttributes) of SaTransformAttribute SaTransformAttributeList
						with {
							encode "TODO";
						}
						type set length(1 .. c_maxIkeSaTransformAttributes) of SaTransformAttribute SaTransformAttributeList;

						/*
						 * @desc Derived from  RFC 4306 Section 3.3.5
@@ -313,7 +325,7 @@
							UInt16	attributeValue		
						}
						with {
							encode "TODO";
							variant (attributeValue) "intTag='transformLength',getIntTag('transformLength')-4";
						}

						group IkeRfc4306TransformAttributeFormats {
@@ -345,7 +357,8 @@
				octetstring		data
			} 
			with {
				encode "TODO";
				variant (payloadLength) "intTag='payloadLengthKE';";
				variant (data) "length=(getIntTag('payloadLengthKE')-4-4)";
			}

		} // end group IkeRfc4306KeyExchangePayload		
@@ -366,7 +379,8 @@
				octetstring		data
			} 
			with {
				encode "TODO";
				variant (payloadLength) "intTag='payloadLengthIdent';";
				variant (data) "length=(getIntTag('payloadLengthIdent')-4-4)";
			}

			group IkeRfc4306IdentificationTypes {
@@ -396,7 +410,8 @@
				octetstring		data
			} 
			with {
				encode "TODO";
				variant (payloadLength) "intTag='payloadLengthCert';";
				variant (data) "length=(getIntTag('payloadLengthCert')-4-1)";
			}

		} // end group IkeRfc4306CertificatePayload	
@@ -416,7 +431,8 @@
				octetstring		certificationAuthority
			} 
			with {
				encode "TODO";
				variant (payloadLength) "intTag='payloadLengthCertReq';";
				variant (data) "length=(getIntTag('payloadLengthCertReq')-4-1)";
			}

		} // end group IkeRfc4306CertificateRequestPayload		
@@ -437,7 +453,8 @@
				octetstring		data
			} 
			with {
				encode "TODO";
				variant (payloadLength) "intTag='payloadLengthAuth';";
				variant (data) "length=(getIntTag('payloadLengthAuth')-4-4)";
			}

			group IkeRfc4306AuthenticationMethod {
@@ -455,7 +472,10 @@
			 * @desc Derived from  RFC 4306 Section 3.9
			*/

			type octetstring NonceData length (16 .. 256);
			type octetstring NonceData length (16 .. 256)
			with {
				variant "length=(valueOf(getTag('payloadLengthNonce'))-4)";
			}				

			type record NoncePayload {
				UInt8	  nextPayload,
@@ -465,7 +485,7 @@
				NonceData data
			} 
			with {
				encode "TODO";
				variant (payloadLength) "intTag='payloadLengthNonce';";
			}

		} // end group IkeRfc4306NoncePayload		
@@ -518,7 +538,10 @@
				octetstring		data
			} 
			with {
				encode "TODO";
				variant (payloadLength) "intTag='payloadLengthKE';";
				variant (spiSize) "intTag='spiSizeNotify';";
				variant (spi) "length=getIntTag('spiSizeNotify')";
				variant (data) "length=(getIntTag('payloadLengthKE')-4-4-getIntTag('spiSizeNotify'))";
			}

		} // end group IkeRfc4306NotifyPayload		
@@ -539,7 +562,9 @@
				octetstring		spis
			} 
			with {
				encode "TODO";
				variant (spiSize) "intTag='spiSizeDel';";
				variant (numberOfSpi) "intTag='numberOfSpiDel';";
				variant (data) "length=(getIntTag('spiSizeDel')*getIntTag('numberOfSpi'))";
			}

		} // end group IkeRfc4306DeletePayload		
@@ -558,7 +583,8 @@
				octetstring		vendorId
			} 
			with {
				encode "TODO";
				variant (payloadLength) "intTag='payloadLengthVI';";
				variant (data) "length=(getIntTag('payloadLengthVI')-4)";
			}

		} // end group IkeRfc4306VendorIdPayload	
@@ -579,7 +605,8 @@
				TrafficSelectorList	trafficSelectorList
			} 
			with {
				encode "TODO";
				variant (payloadLength) "intTag='payloadLengthTS';";
				variant (numberOfTs) "intTag='numberOfTs';";
			}
			
			group IkeRfc4306TrafficSelector {
@@ -597,7 +624,8 @@
					TsIpv6TrafficSelector	tsIpv6TrafficSelector
				} 
				with {
					encode "TODO";
					variant (tsIpv4TrafficSelector) "present=bytes(1, 0x07)";
					variant (tsIpv6TrafficSelector) "present=bytes(1, 0x08)";
				}

				const UInt8 c_maxTrafficSelectors  := 10; //FIXME
@@ -607,7 +635,7 @@
				*/
				type set length(1 .. c_maxTrafficSelectors) of TsTrafficSelector TrafficSelectorList
				with {
					encode "TODO";
					variant "elements=getIntTag('numberOfTs');";
				}

				/*
@@ -623,7 +651,7 @@
					Oct4	endAddress
				} 
				with {
					encode "TODO";
					variant "present=bytes(1, 0x07)";
				}

				/*
@@ -639,7 +667,7 @@
					Ipv6Address	endAddress
				} 
				with {
					encode "TODO";
					variant "present=bytes(1, 0x08)";
				}

			} // end group IkeRfc4306TrafficSelector
@@ -664,7 +692,7 @@
				octetstring		integrityChecksumData optional
			} 
			with {
				encode "TODO";
				variant "TODO";
			}	

		} // end group IkeRfc4306EncryptedPayload		
@@ -692,7 +720,7 @@
				ConfigAttributeList	configAttributeList
			} 
			with {
				encode "TODO";
				variant (payloadLength) "intTag='payloadLengthConf';";
			}	

			group IkeRfc4306ConfigAttribute {
@@ -724,7 +752,9 @@
					octetstring			attributeValue
				} 
				with {
					encode "TODO";
					variant "present=getIntTag('payloadLengthConf')!=0;";
					variant (attributeLength) "intTag='attributeLength';intTag='payloadLengthConf',getIntTag('payloadLengthConf')-value";
					variant (attributeValue) "length=getIntTag('attributeLength');";
				}	

				const UInt8 c_maxConfigAttributes  := 10; //FIXME
@@ -732,10 +762,7 @@
				/*
				 * @desc TODO
				*/
				type set length(1 .. c_maxConfigAttributes) of ConfigAttribute ConfigAttributeList
				with {
					encode "TODO";
				}
				type set length(1 .. c_maxConfigAttributes) of ConfigAttribute ConfigAttributeList;

			} // end group IkeRfc4306ConfigAttribute

@@ -754,9 +781,6 @@
				UInt16			payloadLength,
				EapMessage		eapMessage
			}
			with {
				encode "TODO";
			}	

			group IkeRfc4306EapMessage {

@@ -771,7 +795,8 @@
					octetstring		data optional
				} 
				with {
					encode "TODO";
					variant (messageLength) "intTag='messageLengthEAP';";
					variant (data) "length=getIntTag('messageLengthEAP');";
				}	

				group IkeRfc4306EapCode {