diff --git a/TCCUsefulFunctions_CNL113472_Common.tpd b/TCCUsefulFunctions_CNL113472_Common.tpd index 2314c04412b0c4b1d841f4fc711c76e6856f2557..65881235be656857be40d092b6e9c3531176c229 100644 --- a/TCCUsefulFunctions_CNL113472_Common.tpd +++ b/TCCUsefulFunctions_CNL113472_Common.tpd @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- - Copyright (c) 2015 Ericsson + Copyright (c) 2016 Ericsson The copyright to the computer program(s) herein is the property of Ericsson. The program(s) may be used and/or copied only with the written permission @@ -10,7 +10,7 @@ File: TCCUsefulFunctions_CNL113472_Common.tpd Description: tpd project file - Rev: R22B + Rev: R25A Prodnr: CNL 113 472 --> diff --git a/TCCUsefulFunctions_CNL113472_IPsec.tpd b/TCCUsefulFunctions_CNL113472_IPsec.tpd index 961e06547404dcebef2237b5ce6918ea52f06469..ae7601c1603a865d65b9819022207ce99f6aac72 100644 --- a/TCCUsefulFunctions_CNL113472_IPsec.tpd +++ b/TCCUsefulFunctions_CNL113472_IPsec.tpd @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- - Copyright (c) 2015 Ericsson + Copyright (c) 2016 Ericsson The copyright to the computer program(s) herein is the property of Ericsson. The program(s) may be used and/or copied only with the written permission @@ -10,7 +10,7 @@ File: TCCUsefulFunctions_CNL113472_IPsec.tpd Description: tpd project file - Rev: R22B + Rev: R25A Prodnr: CNL 113 472 --> diff --git a/TCCUsefulFunctions_CNL113472_Interface.tpd b/TCCUsefulFunctions_CNL113472_Interface.tpd index ce108f59528d8ae30c3a496529bc7661cbc789c4..a669755651b4e253d5a3cabf7ca4e2b85f5f7d2b 100644 --- a/TCCUsefulFunctions_CNL113472_Interface.tpd +++ b/TCCUsefulFunctions_CNL113472_Interface.tpd @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- - Copyright (c) 2015 Ericsson + Copyright (c) 2016 Ericsson The copyright to the computer program(s) herein is the property of Ericsson. The program(s) may be used and/or copied only with the written permission @@ -10,12 +10,15 @@ File: TCCUsefulFunctions_CNL113472_Interface.tpd Description: tpd project file - Rev: R22B + Rev: R25A Prodnr: CNL 113 472 --> <TITAN_Project_File_Information version="1.0"> <ProjectName>TCCUsefulFunctions_CNL113472_Interface</ProjectName> + <ReferencedProjects> + <ReferencedProject name="TCCUsefulFunctions_CNL113472_Common" projectLocationURI="TCCUsefulFunctions_CNL113472_Common.tpd"/> + </ReferencedProjects> <Files> <FileResource projectRelativePath="TCCInterface.cc" relativeURI="src/TCCInterface.cc"/> <FileResource projectRelativePath="TCCInterface_Functions.ttcn" relativeURI="src/TCCInterface_Functions.ttcn"/> diff --git a/TCCUsefulFunctions_CNL113472_Maths.tpd b/TCCUsefulFunctions_CNL113472_Maths.tpd index def398adf07779037cf86c5897f36bda04db7be7..c9fa16e91deacdb958cfad741fd41a0a8dd72dde 100644 --- a/TCCUsefulFunctions_CNL113472_Maths.tpd +++ b/TCCUsefulFunctions_CNL113472_Maths.tpd @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- - Copyright (c) 2015 Ericsson + Copyright (c) 2016 Ericsson The copyright to the computer program(s) herein is the property of Ericsson. The program(s) may be used and/or copied only with the written permission @@ -10,7 +10,7 @@ File: TCCUsefulFunctions_CNL113472_Maths.tpd Description: tpd project file - Rev: R22B + Rev: R25A Prodnr: CNL 113 472 --> diff --git a/TCCUsefulFunctions_CNL113472_PermutatedParameters.tpd b/TCCUsefulFunctions_CNL113472_PermutatedParameters.tpd index 4868d8726e40f668f31a2b682486648f3cac7719..7ff0eca4a791650664a1b196922d4ce3061ed287 100644 --- a/TCCUsefulFunctions_CNL113472_PermutatedParameters.tpd +++ b/TCCUsefulFunctions_CNL113472_PermutatedParameters.tpd @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- - Copyright (c) 2015 Ericsson + Copyright (c) 2016 Ericsson The copyright to the computer program(s) herein is the property of Ericsson. The program(s) may be used and/or copied only with the written permission @@ -10,7 +10,7 @@ File: TCCUsefulFunctions_CNL113472_PermutatedParameters.tpd Description: tpd project file - Rev: R22B + Rev: R25A Prodnr: CNL 113 472 --> diff --git a/TCCUsefulFunctions_CNL113472_Regexp.tpd b/TCCUsefulFunctions_CNL113472_Regexp.tpd index ded064f5ec7eb8f62a5dc22b33c7d7a6bd663577..3e996cf3a68c42f8581b029ec85aba6324de6c8e 100644 --- a/TCCUsefulFunctions_CNL113472_Regexp.tpd +++ b/TCCUsefulFunctions_CNL113472_Regexp.tpd @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- - Copyright (c) 2015 Ericsson + Copyright (c) 2016 Ericsson The copyright to the computer program(s) herein is the property of Ericsson. The program(s) may be used and/or copied only with the written permission @@ -10,7 +10,7 @@ File: TCCUsefulFunctions_CNL113472_Regexp.tpd Description: tpd project file - Rev: R22B + Rev: R25A Prodnr: CNL 113 472 --> diff --git a/TCCUsefulFunctions_CNL113472_TitanSim.tpd b/TCCUsefulFunctions_CNL113472_TitanSim.tpd index 02def4c51cd48af51a6c5ec962e5bf79492b7b91..2a775d00121f12c963ad1fdb85c6f5e03f74848a 100644 --- a/TCCUsefulFunctions_CNL113472_TitanSim.tpd +++ b/TCCUsefulFunctions_CNL113472_TitanSim.tpd @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- - Copyright (c) 2015 Ericsson + Copyright (c) 2016 Ericsson The copyright to the computer program(s) herein is the property of Ericsson. The program(s) may be used and/or copied only with the written permission @@ -10,7 +10,7 @@ File: TCCUsefulFunctions_CNL113472_TitanSim.tpd Description: tpd project file - Rev: R22B + Rev: R25A Prodnr: CNL 113 472 --> diff --git a/TCCUsefulFunctions_CNL113472_XPath.tpd b/TCCUsefulFunctions_CNL113472_XPath.tpd index 809efac04ebe4e468a6aebc7bb41eacf7acbaffb..4043c34236079c898ee6da5185e3f783dd51d1ee 100644 --- a/TCCUsefulFunctions_CNL113472_XPath.tpd +++ b/TCCUsefulFunctions_CNL113472_XPath.tpd @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- - Copyright (c) 2015 Ericsson + Copyright (c) 2016 Ericsson The copyright to the computer program(s) herein is the property of Ericsson. The program(s) may be used and/or copied only with the written permission @@ -10,7 +10,7 @@ File: TCCUsefulFunctions_CNL113472_XPath.tpd Description: tpd project file - Rev: R22B + Rev: R25A Prodnr: CNL 113 472 --> diff --git a/doc/TCCUsefulFunctions_CNL113472_1551.doc b/doc/TCCUsefulFunctions_CNL113472_1551.doc index fc5b6cec28e0aea98e77b5bc8643be2da7c409f4..b82cc3a68ff785e12d9836e3b820fdf3cc504863 100644 Binary files a/doc/TCCUsefulFunctions_CNL113472_1551.doc and b/doc/TCCUsefulFunctions_CNL113472_1551.doc differ diff --git a/doc/TCCUsefulFunctions_CNL113472_PRI.doc b/doc/TCCUsefulFunctions_CNL113472_PRI.doc index caa94014f9635e48d5d8771da1e0c23760190556..a56962994c8b617bb5afdeeeb252a68cce4254b9 100644 Binary files a/doc/TCCUsefulFunctions_CNL113472_PRI.doc and b/doc/TCCUsefulFunctions_CNL113472_PRI.doc differ diff --git a/doc/apidoc/Data/ClassHierarchy.nd b/doc/apidoc/Data/ClassHierarchy.nd old mode 100755 new mode 100644 diff --git a/doc/apidoc/Data/ConfigFileInfo.nd b/doc/apidoc/Data/ConfigFileInfo.nd old mode 100755 new mode 100644 diff --git a/doc/apidoc/Data/FileInfo.nd b/doc/apidoc/Data/FileInfo.nd old mode 100755 new mode 100644 diff --git a/doc/apidoc/Data/ImageFileInfo.nd b/doc/apidoc/Data/ImageFileInfo.nd old mode 100755 new mode 100644 diff --git a/doc/apidoc/Data/ImageReferenceTable.nd b/doc/apidoc/Data/ImageReferenceTable.nd old mode 100755 new mode 100644 diff --git a/doc/apidoc/Data/IndexInfo.nd b/doc/apidoc/Data/IndexInfo.nd old mode 100755 new mode 100644 diff --git a/doc/apidoc/Data/PreviousMenuState.nd b/doc/apidoc/Data/PreviousMenuState.nd old mode 100755 new mode 100644 diff --git a/doc/apidoc/Data/PreviousSettings.nd b/doc/apidoc/Data/PreviousSettings.nd old mode 100755 new mode 100644 diff --git a/doc/apidoc/Data/SymbolTable.nd b/doc/apidoc/Data/SymbolTable.nd old mode 100755 new mode 100644 diff --git a/doc/apidoc/Menu.txt b/doc/apidoc/Menu.txt old mode 100755 new mode 100644 index c11aca760cb61ee15e51a8a809b647d6a3ab33b4..f53b1c2bd571f1e6f195a2fb56a896190ba3e9ea --- a/doc/apidoc/Menu.txt +++ b/doc/apidoc/Menu.txt @@ -4,7 +4,7 @@ Format: 1.4 Title: TCCUsefulFunctions SubTitle: R12A02 -Footer: Copyright 2015 Ericsson AB<br/><a href="http://ttcn.ericsson.se/">http://ttcn.ericsson.se</a> +Footer: Copyright 2012 Test Competence Center<br/><a href="http://ttcn.ericsson.se/">http://ttcn.ericsson.se</a> # You can add a timestamp to your documentation like one of these: # Timestamp: Generated on month day, year diff --git a/doc/apidoc/html/index.html b/doc/apidoc/html/index.html index 45487b7d687e166716500b7d11dc0335f50a0f86..ac4e36896dc41bdf8233036c21be0fe8c6fd8adb 100644 --- a/doc/apidoc/html/index.html +++ b/doc/apidoc/html/index.html @@ -3,7 +3,10 @@ <head> <title>TCCUsefulFunctions</title></head> -<!-- Copyright (c) 2015 Ericsson AB --> +<!-- Generated by Natural Docs, version 1.4 --> +<!-- http://www.naturaldocs.org --> + +<!-- saved from url=(0026)http://www.naturaldocs.org --> <frameset cols="250,*"> <frame name=Menu src="menu.html"> diff --git a/doc/apidoc/html/javascript/main.js b/doc/apidoc/html/javascript/main.js old mode 100755 new mode 100644 diff --git a/doc/apidoc/html/javascript/searchdata.js b/doc/apidoc/html/javascript/searchdata.js old mode 100755 new mode 100644 diff --git a/doc/apidoc/html/menu.html b/doc/apidoc/html/menu.html index 31b8457d9595279c954c5436db03425bc6cac44a..f637c1d4b9919c7893daa1f38953b25a20fa078f 100644 --- a/doc/apidoc/html/menu.html +++ b/doc/apidoc/html/menu.html @@ -242,7 +242,7 @@ HideAllBut([], 21);// --></script></div> <div id=Footer> -<p>Copyright 2015 Ericsson AB<br/> +<p>Copyright 2012 Test Competence Center<br/> <a href="http://ttcn.ericsson.se/">http://ttcn.ericsson.se</a></p> <p> <a href="http://www.naturaldocs.org">Generated by Natural Docs</a></p></div> @@ -251,4 +251,4 @@ HideAllBut([], 21);// --></script></div> <script language=JavaScript> <!-- -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> +if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> \ No newline at end of file diff --git a/doc/apidoc/html/styles/1.css b/doc/apidoc/html/styles/1.css old mode 100755 new mode 100644 diff --git a/doc/apidoc/html/styles/2.css b/doc/apidoc/html/styles/2.css old mode 100755 new mode 100644 diff --git a/doc/apidoc/html/styles/main.css b/doc/apidoc/html/styles/main.css old mode 100755 new mode 100644 diff --git a/src/TCCAssertion.cc b/src/TCCAssertion.cc index c1b0f8d09ac9a114dd509955576878a712652a9b..41b38e3a9c63975d82769677126a2c2c36265d7f 100644 --- a/src/TCCAssertion.cc +++ b/src/TCCAssertion.cc @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2007 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCAssertion.cc // Description: TCC Useful Functions: Assert Functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2007-11-12 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCAssertion_Functions.ttcn b/src/TCCAssertion_Functions.ttcn index dba6261bcee0d9ab3ec76b26b325d58a6cef28e6..28bb7ad7e95e26ff76455e699bb9549c88656aca 100644 --- a/src/TCCAssertion_Functions.ttcn +++ b/src/TCCAssertion_Functions.ttcn @@ -1,17 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ - +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2007 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCAssertion_Functions.ttcn // Description: TCC Useful Functions: Assert Functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2007-11-12 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCConversion.cc b/src/TCCConversion.cc index f3d717039b671977d061acf15bdf417bf2814715..668203aac3ef1462b7ba78595d19d379ebb50700 100644 --- a/src/TCCConversion.cc +++ b/src/TCCConversion.cc @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2013 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCConversion.cc // Description: TCC Useful Functions: Conversion Functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2013-04-15 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCConversion_Functions.ttcn b/src/TCCConversion_Functions.ttcn index 031292ed694a19e360d87846ca7231982156ec2b..c828ac6f70094622915af4cf5dd8f779cca0021e 100644 --- a/src/TCCConversion_Functions.ttcn +++ b/src/TCCConversion_Functions.ttcn @@ -1,18 +1,18 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2016 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCConversion_Functions.ttcn // Description: TCC Useful Functions: Conversion Functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 -// Updated: 2013-09-23 // Contact: http://ttcn.ericsson.se // /////////////////////////////////////////////////////////////////////////////// @@ -552,7 +552,7 @@ function f_substr_all_tokens(in charstring str, // because the function requires a type compatibility support for record of types // /////////////////////////////////////////////////////////////////////////////// - +const TCC_Conversion_ch_list TCC_Converion_ch_empty_list := {}; function f_substr_all_tokens_oct(in octetstring str, in octetstring begin_token, in octetstring end_token) return TCC_Conversion_ch_list @@ -573,8 +573,7 @@ function f_substr_all_tokens_oct(in octetstring str, if (endIndex > -1) { token := substr(str, startIndex, endIndex - startIndex); if(not f_oct2char_safe(token, result[sizeof(result)])) {// append to string list - - return valueof(TCC_Conversion_ch_list:{}) + return TCC_Converion_ch_empty_list; } startIndex := endIndex + lengthof(end_token); } else { @@ -667,32 +666,7 @@ external function f_strstr_oct(in octetstring s1, /////////////////////////////////////////////////////////////////////////////// //type record of integer IntegerList; function f_OctetIpv4(in charstring pl_ip) return octetstring{ -// var IntegerList ret := {}; - var octetstring oret := ''O; - var integer octet := 0; - var integer exp := 1; -// var integer k := 3; - for (var integer i:=lengthof(pl_ip)-1; i>-1;i:=i-1){ - var integer ch := char2int(pl_ip[i]); - if (ch == 46){ // =="." - //ret[k] := octet; - oret := int2oct(octet,1) & oret; -// k:=k-1; - exp := 1; - octet := 0; - } else if(ch > 47 and ch < 58){ // isnum - octet := octet + str2int(pl_ip[i]) * exp; - if (i == 0) { - //ret[k] := octet; - oret := int2oct(octet,1) & oret; - break; - } - exp := exp * 10; - } else { - return ''O; - } - } - return oret;//(int2oct(ret[0],1) & int2oct(ret[1],1) & int2oct(ret[2],1) & int2oct(ret[3],1)); + return f_convertIPAddrToBinary(pl_ip); } /////////////////////////////////////////////////////////////////////////////// @@ -953,7 +927,49 @@ public function f_str2int(in charstring pl_str) return integer { return str2int(substr(pl_str, vl_zeros, lengthof(pl_str) - vl_zeros)); } +/////////////////////////////////////////////////////////////////////////////// +// Function: f_prePadString +// +// Purpose: +// Pads a string to fit in a specified length (pl_length). +// The pl_string will be prepended by the first character of pl_pad +// to reach the length specified by pl_length. +// The result string will be placed in pl_result, and function will +// return true. +// If the length of pl_string is longer than pl_length, the function +// will return false, as it cannot do the paddig. +// +// Parameters: +// pl_string - *in* *charstring* - the string to augment +// pl_pad - *in* *charstring* - character to use for padding +// pl_length - *in* *integer* - desired length of result string +// pl_result - *inout* *charstring* - result string +// +// Return Value: +// boolean - true if successful +// +// Errors: +// - +// +// Detailed description: +// - +// +/////////////////////////////////////////////////////////////////////////////// +public function f_prePadString(charstring pl_string, charstring pl_pad, integer pl_length, inout charstring pl_result) +return boolean +{ + if( pl_length < lengthof(pl_string) ){ + return false; + } + pl_result := ""; + for(var integer vl_i := 0; vl_i<pl_length-lengthof(pl_string); vl_i := vl_i+1){ + pl_result := pl_result & pl_pad[0]; + } + pl_result := pl_result & pl_string; + return true; +} + }//end of module with { -extension "version R22B"} +extension "version R25A"} diff --git a/src/TCCDateTime.cc b/src/TCCDateTime.cc index 4ae1db40cb0440843855596de11d70a9fa306dd4..68a73a176c808dc5e33903e156051b49764cce1f 100644 --- a/src/TCCDateTime.cc +++ b/src/TCCDateTime.cc @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2011 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCDateTime.cc // Description: TCC Useful Functions: DateTime Functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2011-06-29 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCDateTime_Functions.ttcn b/src/TCCDateTime_Functions.ttcn index 365fbc55e5ec6f5aa148a730c8b27df8d84996c0..023c0f0d58442f282a7ef9cb30bbc43e0ea18ad2 100644 --- a/src/TCCDateTime_Functions.ttcn +++ b/src/TCCDateTime_Functions.ttcn @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2007 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCDateTime_Functions.ttcn // Description: TCC Useful Functions: DateTime Functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2011-06-29 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCEncoding.cc b/src/TCCEncoding.cc index f79911a3195b603231814e4301396edee33e7095..9df864ae17a7eee02357c3d8fee02e404aee6111 100644 --- a/src/TCCEncoding.cc +++ b/src/TCCEncoding.cc @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2012 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCEncoding.cc // Description: TCC Useful Functions: Message Encoding Functions. -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2012-06-28 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCEncoding_Functions.ttcn b/src/TCCEncoding_Functions.ttcn index 9bb108290ea52fc13feed9a6503ecb08af1e0904..603ceb1510b15c60b6127fbd924b456c1e8bf9ed 100644 --- a/src/TCCEncoding_Functions.ttcn +++ b/src/TCCEncoding_Functions.ttcn @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2013 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCEncoding_Functions.ttcn // Description: TCC Useful Functions: Message Encoding Functions. -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2013-08-05 // Contact: http://ttcn.ericsson.se @@ -732,4 +733,4 @@ public function f_enc_TBCD_hex(in hexstring pl_hex) return octetstring return vl_oct; } -} with {extension "version R22B"} +} with {extension "version R25A"} diff --git a/src/TCCEnv.cc b/src/TCCEnv.cc index b3cd96babff1eadfab92906e7c20ae56880f658e..d35c2a353b1f9e04d5a196d558305d5867cadad1 100644 --- a/src/TCCEnv.cc +++ b/src/TCCEnv.cc @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2008 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCEnv.cc // Description: TCC Useful Functions: Environment Handling Functions. -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2008-01-18 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCEnv_Functions.ttcn b/src/TCCEnv_Functions.ttcn index 355354c4e25d482bb7273b7b25c2f955bae7d3be..a1e45e2a2489268a0dfa4e4fbeeafb446a8e1718 100644 --- a/src/TCCEnv_Functions.ttcn +++ b/src/TCCEnv_Functions.ttcn @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2008 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCEnv_Functions.ttcn // Description: TCC Useful Functions: Environment Handling Functions. -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2008-01-18 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCFileIO.cc b/src/TCCFileIO.cc index 7197eca18592514abc57a33d124748f2dbecd6bf..09b0b214884ae524e5e074ca6b42ac3d56bfd95c 100644 --- a/src/TCCFileIO.cc +++ b/src/TCCFileIO.cc @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2009 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCFileIO.cc // Description: TCC Useful Functions: FileIO Functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2009-04-09 // Contact: http://ttcn.ericsson.se @@ -1124,6 +1125,41 @@ BOOLEAN f__FIO__fileOrDirExists(const CHARSTRING& filename ) { return FALSE ; } +/////////////////////////////////////////////////////////////////////////////// +// Function: f_FIO_rename +// +// Purpose: +// Renames a file. +// +// Parameters: +// pl__old__name - *in* *charstring* - file/directory that needs to be renamed +// pl__new__name - *in* *charstring* - new name of the file/directory +// +// Return Value: +// boolean - indicate that the rename procedure was successful or not +// +// Errors: +// In the case of unsuccessful operation the cause of the error can be +// queried by the f_FIO_get_error_code, f_FIO_get_error_string functions +// +// Detailed description: +// Permissions needed to rename the file/directory. +// The file or directory, that would be renamed, should exist, otherwise it +// returns false. The rename procedure fails in case of the target path is +// not exist. +// +/////////////////////////////////////////////////////////////////////////////// + +BOOLEAN f__FIO__rename(const CHARSTRING& pl__old__name, const CHARSTRING& pl__new__name) +{ + if(rename((const char *)(pl__old__name), (const char *)(pl__new__name))) + { + f__FIO__realize__error("f_FIO_rename", "Cannot rename the given file or directory.", __FILE__, __LINE__); + return FALSE; + } else + return TRUE; +} + /////////////////////////////////////////////////////////////////////////////// // Function: f_FIO_stat // diff --git a/src/TCCFileIO_Functions.ttcn b/src/TCCFileIO_Functions.ttcn index 058197c94e1d089a6057f661feb514192b805e26..f78878be7e1620f02af4327fdab3bff04e938895 100644 --- a/src/TCCFileIO_Functions.ttcn +++ b/src/TCCFileIO_Functions.ttcn @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2009 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCFileIO_Functions.ttcn // Description: TCC Useful Functions: FileIO Functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2009-04-09 // Contact: http://ttcn.ericsson.se @@ -456,6 +457,31 @@ external function f_FIO_rmdir (in charstring p_dir_name) return boolean; /////////////////////////////////////////////////////////////////////////////// external function f_FIO_fileOrDirExists (in charstring p_name) return boolean; +/////////////////////////////////////////////////////////////////////////////// +// Function: f_FIO_rename +// +// Purpose: +// Renames a file. +// +// Parameters: +// pl__old__name - *in* *charstring* - file/directory that needs to be renamed +// pl__new__name - *in* *charstring* - new name of the file/directory +// +// Return Value: +// boolean - indicate that the rename procedure was successful or not +// +// Errors: +// In the case of unsuccessful operation the cause of the error can be +// queried by the f_FIO_get_error_code, f_FIO_get_error_string functions +// +// Detailed description: +// Permissions needed to rename the file/directory. +// The file or directory, that would be renamed, should exist, otherwise it +// returns false. The rename procedure fails in case of the target path is +// not exist. +// +/////////////////////////////////////////////////////////////////////////////// +external function f_FIO_rename(in charstring p_old_name, in charstring p_new_name) return boolean; type record FIO_permissions{ boolean set_uid optional, // Set user ID on execution. diff --git a/src/TCCFileSystem.cc b/src/TCCFileSystem.cc index 93fffe67ffb7daf2d58af35e47b79c11c93a5945..4cc851a634356af8ee6cd0beac0671dabc71b185 100644 --- a/src/TCCFileSystem.cc +++ b/src/TCCFileSystem.cc @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2011 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCFileSystem.cc // Description: TCC Useful Functions: FileSystem Functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2011-07-14 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCFileSystem_Functions.ttcn b/src/TCCFileSystem_Functions.ttcn index 113d69809419b9be84477a73551486efdb6f7062..62b96ba55fe7d1014824a3a9df02517c02c49635 100644 --- a/src/TCCFileSystem_Functions.ttcn +++ b/src/TCCFileSystem_Functions.ttcn @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2011 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCC_FileSystem_Functions.ttcn // Description: TCC Useful Functions: FileSystem Functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2011-07-14 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCIPsec.cc b/src/TCCIPsec.cc index e7b362162c13efef2d217321a86c267c28582e46..4dc4224bb21afa94d16c474a4f403f34c46f5838 100644 --- a/src/TCCIPsec.cc +++ b/src/TCCIPsec.cc @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2016 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCIPsec.cc // Description: TCC Useful Functions: IPsec Functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2012-10-31 // Contact: http://ttcn.ericsson.se @@ -78,9 +79,10 @@ int sd = -1; class PfKey { - unsigned int seq; - unsigned char rdBuf[2048]; + static unsigned int TCCIPsec_PfKey_seq; + public: + unsigned char rdBuf[2048]; int cnvErr ( int osErr ) { int err = TCCIPsec__Result::socketError; switch ( osErr ) { @@ -99,26 +101,29 @@ class PfKey return err; } + private: inline void dump ( const char * descr, const void * buf, unsigned int len ) { -// const unsigned char * data = (const unsigned char*) buf; - TTCN_Logger::begin_event( TTCN_DEBUG ); - TTCN_Logger::log_event( "%s: Dump of %03X bytes: ", descr, len ); -/* if ( data == 0 ) { - TTCN_Logger::log_event( "Null pointer" ); - } else { - TTCN_Logger::log_event("\n %03X ", 0); - for ( unsigned int i=0; i < len; i++ ) { - TTCN_Logger::log_event( " %02X", data[i] ); - if ( i % 16 == 15 ) { - TTCN_Logger::log_char( '\n' ); - TTCN_Logger::log_event( " %03X ", i + 1 ); + if(TTCN_Logger::log_this_event(TTCN_DEBUG)) { + const unsigned char * data = (const unsigned char*) buf; + TTCN_Logger::begin_event( TTCN_DEBUG ); + TTCN_Logger::log_event( "%s: Dump of %03X bytes: ", descr, len ); + if ( data == 0 ) { + TTCN_Logger::log_event( "Null pointer" ); + } else { + TTCN_Logger::log_event("\n %03X ", 0); + for ( unsigned int i=0; i < len; i++ ) { + TTCN_Logger::log_event( " %02X", data[i] ); + if ( i % 16 == 15 ) { + TTCN_Logger::log_char( '\n' ); + TTCN_Logger::log_event( " %03i ", i + 1 ); + } } } - }*/ - TTCN_Logger::end_event(); + TTCN_Logger::end_event(); + } } - + public: PfKey () throw ( Error ) { if (sd < 0){ @@ -128,18 +133,17 @@ public: throw Error( cnvErr ( errno ) ); } } - seq = 0; // timeval tv; // seq = ( gettimeofday ( & tv, 0 ) == 0 ) ? tv.tv_usec + tv.tv_sec * 1000000 : 0; - TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: PfKey::PfKey: sd: %i, seq: 0x%08X", sd, seq ); + !TCCIPsec_PfKey_seq ? TCCIPsec_PfKey_seq = getpid() : TCCIPsec_PfKey_seq++; + TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: PfKey::PfKey: sd: %i, initial seq: 0x%08X", sd, TCCIPsec_PfKey_seq ); } ~PfKey () { /*close ( sd );*/ } - unsigned int getSeq () { return seq; } + unsigned int getSeq () { return TCCIPsec_PfKey_seq; } - int receive ( const void ** buf ) throw ( Error ) { + int receive ( ) throw ( Error ) { for (;;) { - * buf = 0; - int r = recv ( sd, rdBuf, sizeof ( rdBuf ), MSG_DONTWAIT ); + int r = recv ( sd, rdBuf, sizeof ( rdBuf ), MSG_DONTWAIT ); // #ED note: MSG_WAITALL seem to return EINVAL (Invalid Argument) if ( r < 0 ) { if ( errno != EAGAIN ) { TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: PfKey::receive: OS error: %i: \"%s\"", errno, strerror ( errno ) ); @@ -147,19 +151,20 @@ public: } return 0; } - if ( r == 0 ) + if ( r == 0 ) { + TTCN_Logger::log ( TTCN_WARNING, "TCCIPsec: PfKey::receive: received answer length 0" ); return 0; + } dump ( "TCCIPsec: PfKey::receive: ", rdBuf, r ); - sadb_msg * msg = (sadb_msg*) rdBuf; + sadb_msg * msg = (sadb_msg*) rdBuf; if ( (unsigned int) r < sizeof ( sadb_msg ) || msg->sadb_msg_version != PF_KEY_V2 || r < msg->sadb_msg_len || - msg->sadb_msg_seq != seq || + msg->sadb_msg_seq != TCCIPsec_PfKey_seq || (int) msg->sadb_msg_pid != getpid () ) { - TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: PfKey::receive: Received mesasage discarded" ); + TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: PfKey::receive: Received message discarded" ); continue; } - * buf = (const void*) rdBuf; return r; } } @@ -182,12 +187,11 @@ public: len -= r; } } - + void checkAnswer () throw ( Error ) { - const void * buf; int r = 0; for ( int i = 1;; ++i ) { - r = receive ( & buf ); + r = receive ( ); if ( r > 0 ) break; if ( i > 5 ) { TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: PfKey::checkAnswer: No answer" ); @@ -196,21 +200,24 @@ public: TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: PfKey::checkAnswer: try again (%i)", i ); usleep ( 0 ); } - int res = ((const sadb_msg*) rdBuf )->sadb_msg_errno; + sadb_msg * msg = (sadb_msg*) rdBuf; + int res = msg->sadb_msg_errno; if ( res != 0 ) { TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: PfKey::checkAnswer: OS error: %i: \"%s\"", res, strerror ( res ) ); throw Error( cnvErr ( res ) ); - } + } TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: PfKey::checkAnswer: Answer received: Ok" ); } }; //end of class PfKey +unsigned int PfKey::TCCIPsec_PfKey_seq = 0; + static const unsigned short SADB_MSG_LEN64 = sizeof ( sadb_msg ) / 8; int setSadbMsg ( void * buf, unsigned char type, unsigned char saType, unsigned short len, unsigned int seq ) { sadb_msg * msg = (sadb_msg*) buf; - + msg->sadb_msg_version = PF_KEY_V2; msg->sadb_msg_type = type; msg->sadb_msg_errno = 0; @@ -219,7 +226,7 @@ int setSadbMsg ( void * buf, unsigned char type, unsigned char saType, unsigned msg->sadb_msg_reserved = 0; msg->sadb_msg_seq = seq; msg->sadb_msg_pid = getpid (); - return sizeof ( * msg ); + return sizeof (sadb_msg); } int set_saEndPoint( void *buf, const char *address, int port) @@ -322,7 +329,81 @@ inline unsigned short ipSecModeToIPMode ( const TCCIPsec__IPsecMode & ipSecMode } } -TCCIPsec__Result f__IPsec__SADB__add ( +TCCIPsec__Result f__IPsec__SPI__get ( + const CHARSTRING& srcAddress, + const CHARSTRING& dstAddress, + const TCCIPsec__Protocol& protocol, + INTEGER& spi) +{ + TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPI_get: Enter" ); + spi = -1; + try { + PfKey pfKey; + unsigned char msg[1024]; + int pos = sizeof(sadb_msg); + + pos += setAddressPart ( msg + pos, SADB_EXT_ADDRESS_SRC, srcAddress ); + pos += setAddressPart ( msg + pos, SADB_EXT_ADDRESS_DST, dstAddress ); + setSadbMsg ( & msg, SADB_GETSPI, protocol, pos / 8, pfKey.getSeq () ); + + unsigned int r = 0; + for ( int i = 1;; i++ ) { + pfKey.send ( & msg, pos ); + r = pfKey.receive ( ); + if ( r > 0 ) break; + if ( i > 5 ) { + TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPI_get: No answer" ); + return TCCIPsec__Result::socketError; + } + TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPI_get: try again (%i)", i ); + usleep ( 0 ); + } + sadb_msg * sa_msg = (sadb_msg*)pfKey.rdBuf; + int res = sa_msg->sadb_msg_errno; + if ( res != 0 ) { + TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPI_get: OS error in returned answer: %i: \"%s\"", res, strerror ( res ) ); + return pfKey.cnvErr ( res ); + } + + if(sa_msg->sadb_msg_type != SADB_GETSPI) { + TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPI_get: response is not valid; SADB_GETSPI was expected" ); + return TCCIPsec__Result::socketError; + } + + TTCN_Logger::log( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPI_get: full message length: %u", (sa_msg-> sadb_msg_len) * 8); + + pos = sizeof(sadb_msg); + sadb_ext *ext = NULL; // generic extension type + sadb_sa *sa = NULL; // SA extension type - the one we are looking for + do { // look through the response for SADB_EXT_SA extension containing the SPI we need + TTCN_Logger::log( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPI_get: pos: %u", pos ); + ext = (sadb_ext*) (pfKey.rdBuf + pos); + if(ext -> sadb_ext_type == SADB_EXT_SA) { + sa = (sadb_sa*) (pfKey.rdBuf + pos); + break; + } + TTCN_Logger::log( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPI_get: jumping over extension: %u, length: %u", (unsigned int)ext -> sadb_ext_type, ext -> sadb_ext_len * 8 ); + pos += (ext -> sadb_ext_len) * 8; + } while( pos < (sa_msg->sadb_msg_len) * 8 ); + + if(sa) { + spi = ntohl(sa -> sadb_sa_spi); + TTCN_Logger::log( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPI_get: got SPI: %u", (unsigned int)spi.get_long_long_val() ); + } else { + TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPI_get: response is not valid; SADB_GETSPI / SADB_EXT_SA was expected" ); + return TCCIPsec__Result::socketError; + } + + } catch ( Error err ) { + TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPI_get: Leave (error)" ); + return err.result; + } + TTCN_Logger::log ( TTCN_DEBUG, "TCCIPsec: f__IPsec__SPI_get: Leave (ok)" ); + return TCCIPsec__Result::ok; +} + +TCCIPsec__Result f__IPsec__SADB__add_or_update ( + int method, const CHARSTRING& srcAddress, const CHARSTRING& dstAddress, const TCCIPsec__Protocol& protocol, @@ -348,7 +429,7 @@ TCCIPsec__Result f__IPsec__SADB__add ( case TCCIPsec__Algorithm::ALT_encr: encrAlgo = TCCIPsec__EAlgo::enum_type ( alg.encr().algo() ); encrKeyLen = castKey ( alg.encr().key(), encrKey ); - if (setparity) f__IPsec__setParityBits((unsigned char*)encrKey, encrKeyLen); + if (setparity) f__IPsec__setParityBits((unsigned char*)encrKey, encrKeyLen); break; case TCCIPsec__Algorithm::ALT_auth: authAlgo = TCCIPsec__AAlgo::enum_type ( alg.auth().algo() ); @@ -359,7 +440,7 @@ TCCIPsec__Result f__IPsec__SADB__add ( encrKeyLen = castKey ( alg.encrAndAuth().ekey(), encrKey ); authAlgo = TCCIPsec__AAlgo::enum_type ( alg.encrAndAuth().aalgo() ); authKeyLen = castKey ( alg.encrAndAuth().akey(), authKey ); - if (setparity) f__IPsec__setParityBits((unsigned char*)encrKey, encrKeyLen); + if (setparity) f__IPsec__setParityBits((unsigned char*)encrKey, encrKeyLen); break; default: throw Error ( TCCIPsec__Result::parameterInvalid ); @@ -437,7 +518,7 @@ TCCIPsec__Result f__IPsec__SADB__add ( len += sizeof ( * sa2Ext ); if (useNatt) { - + /*NAT-T type*/ sadb_x_nat_t_type * natt_type=0; natt_type = ( sadb_x_nat_t_type* ) ( msg + len ); @@ -446,7 +527,7 @@ TCCIPsec__Result f__IPsec__SADB__add ( natt_type->sadb_x_nat_t_type_exttype = SADB_X_EXT_NAT_T_TYPE; natt_type->sadb_x_nat_t_type_type = UDP_ENCAP_ESPINUDP; len += sizeof( *natt_type ); - + /*NAT-T source port */ sadb_x_nat_t_port *natt_port=0; natt_port = (sadb_x_nat_t_port *) (msg + len); @@ -463,9 +544,9 @@ TCCIPsec__Result f__IPsec__SADB__add ( natt_port->sadb_x_nat_t_port_exttype = SADB_X_EXT_NAT_T_DPORT; natt_port->sadb_x_nat_t_port_port = htons(DEFAULT_NATT_PORT); len += sizeof(* natt_port); - + } - + break; } #else @@ -475,7 +556,7 @@ TCCIPsec__Result f__IPsec__SADB__add ( throw Error ( TCCIPsec__Result::parameterInvalid ); } } - setSadbMsg ( & msg, SADB_ADD, protocol, len / 8, pfKey.getSeq () ); + setSadbMsg ( & msg, method, protocol, len / 8, pfKey.getSeq () ); pfKey.send ( & msg, len ); pfKey.checkAnswer (); } catch ( Error err ) { @@ -486,6 +567,34 @@ TCCIPsec__Result f__IPsec__SADB__add ( return TCCIPsec__Result::ok; } +TCCIPsec__Result f__IPsec__SADB__update ( + const CHARSTRING& srcAddress, + const CHARSTRING& dstAddress, + const TCCIPsec__Protocol& protocol, + const INTEGER& spi, + const TCCIPsec__ExtensionList& extensionList, + const TCCIPsec__Algorithm& alg, + const BOOLEAN& setparitybit = 0, + const BOOLEAN& useNatt = 0, + const TCCIPsec__IPsecMode& ipSecMode = TCCIPsec__IPsecMode::anyMode) +{ + return f__IPsec__SADB__add_or_update(SADB_UPDATE, srcAddress, dstAddress, protocol, spi, extensionList, alg, setparitybit, useNatt, ipSecMode); +} + +TCCIPsec__Result f__IPsec__SADB__add ( + const CHARSTRING& srcAddress, + const CHARSTRING& dstAddress, + const TCCIPsec__Protocol& protocol, + const INTEGER& spi, + const TCCIPsec__ExtensionList& extensionList, + const TCCIPsec__Algorithm& alg, + const BOOLEAN& setparitybit = 0, + const BOOLEAN& useNatt = 0, + const TCCIPsec__IPsecMode& ipSecMode = TCCIPsec__IPsecMode::anyMode) +{ + return f__IPsec__SADB__add_or_update(SADB_ADD, srcAddress, dstAddress, protocol, spi, extensionList, alg, setparitybit, useNatt, ipSecMode); +} + TCCIPsec__Result f__IPsec__SADB__delete ( const CHARSTRING& srcAddress, const CHARSTRING& dstAddress, @@ -703,6 +812,38 @@ TCCIPsec__Result f__IPsec__SPDB__flush () #endif // defined USE_IPSEC || defined USE_KAME_IPSEC #if ! defined USE_IPSEC && ! defined USE_KAME_IPSEC + +TCCIPsec__Result f__IPsec__SPI__get ( + const CHARSTRING& srcAddress, + const CHARSTRING& dstAddress, + const TCCIPsec__Protocol& protocol, + INTEGER& spi) +{ + static bool first = true; + if ( first ) { + TTCN_Logger::log ( TTCN_WARNING, "TCCIPsec: f__IPsec__SPI__get: IPsec support was not specified during compilation" ); + first = false; + } + return TCCIPsec__Result::notImplemented; +} +TCCIPsec__Result f__IPsec__SADB__update ( + const CHARSTRING& srcAddress, + const CHARSTRING& dstAddress, + const TCCIPsec__Protocol& protocol, + const INTEGER& spi, + const TCCIPsec__ExtensionList& extensionList, + const TCCIPsec__Algorithm& alg, + const BOOLEAN& setparitybit = 0, + const BOOLEAN& useNatt = 0, + const TCCIPsec__IPsecMode& ipSecMode = TCCIPsec__IPsecMode::anyMode) +{ + static bool first = true; + if ( first ) { + TTCN_Logger::log ( TTCN_WARNING, "TCCIPsec: f__IPsec__SADB__update: IPsec support was not specified during compilation" ); + first = false; + } + return TCCIPsec__Result::notImplemented; +} TCCIPsec__Result f__IPsec__SADB__add ( const CHARSTRING& srcAddress, const CHARSTRING& dstAddress, diff --git a/src/TCCIPsec_Definitions.ttcn b/src/TCCIPsec_Definitions.ttcn index 0cb87b2dd7d9b8ac42bed9901985777962d54835..7d2fed5c80d5fac5feccc3ba72333b302e4006a2 100644 --- a/src/TCCIPsec_Definitions.ttcn +++ b/src/TCCIPsec_Definitions.ttcn @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2012 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCIPsec_Definitions.ttcn // Description: TCC Useful Functions: Definitions for IPsec functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2012-10-31 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCIPsec_Functions.ttcn b/src/TCCIPsec_Functions.ttcn index b4e96f7e109f2a5a1a4eb720f93d8f32801da998..5300418204be6d7fcbb072007a24ef1bc56db247 100644 --- a/src/TCCIPsec_Functions.ttcn +++ b/src/TCCIPsec_Functions.ttcn @@ -1,18 +1,18 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2016 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCIPsec_Functions.ttcn // Description: TCC Useful Functions: IPsec Functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 -// Updated: 2012-10-31 // Contact: http://ttcn.ericsson.se // /////////////////////////////////////////////////////////////////////////////// @@ -33,6 +33,74 @@ module TCCIPsec_Functions { import from TCCIPsec_Definitions all; +/////////////////////////////////////////////////////////////////////////////// +// Function: f_IPsec_SPI_get +// +// Purpose: +// Queries a unique SPI from the kernel +// +// Parameters: +// srcAddress - *in* *charstring* - source IP address +// dstAddress - *in* *charstring* - destination IP address +// protocol - *in* <TCCIPsec_Protocol> - security protocol (esp or ah) +// spi - *out* *integer* - Security Parameter Index +// +// Return Value: +// TCCIPsec_Result - indicates success (ok) or error +// +// Errors: +// - +// +// Detailed description: +// - +// +/////////////////////////////////////////////////////////////////////////////// + external function f_IPsec_SPI_get ( + in charstring srcAddress, + in charstring dstAddress, + in TCCIPsec_Protocol protocol, + out integer spi + ) return TCCIPsec_Result; + +/////////////////////////////////////////////////////////////////////////////// +// Function: f_IPsec_SADB_update +// +// Purpose: +// Updates a Security Association in the database (SADB) +// +// Parameters: +// srcAddress - *in* *charstring* - source IP address +// dstAddress - *in* *charstring* - destination IP address +// protocol - *in* <TCCIPsec_Protocol> - security protocol (esp or ah) +// spi - *in* *integer* - Security Parameter Index +// extensionList - *in* <TCCIPsec_ExtensionList> - list of extensions +// alg - *in* - <TCCIPsec_Algorithm> - encryption and integrity algorithms and keys +// setparitybit - *in* *boolean* - paritybit +// useNatt - *in* *boolean* - nat traversal support +// ipSecMode - *in* <TCCIPsec_IPsecMode> - mode transport, tunnel or anymode +// +// Return Value: +// TCCIPsec_Result - indicates success (ok) or error +// +// Errors: +// - +// +// Detailed description: +// - +// +/////////////////////////////////////////////////////////////////////////////// + external function f_IPsec_SADB_update ( + in charstring srcAddress, + in charstring dstAddress, + in TCCIPsec_Protocol protocol, + in integer spi, + in TCCIPsec_ExtensionList extensionList := {}, + in TCCIPsec_Algorithm alg, + in boolean setparitybit := false, + in boolean useNatt := false, + in TCCIPsec_IPsecMode ipSecMode := anyMode + ) return TCCIPsec_Result; + /////////////////////////////////////////////////////////////////////////////// // Function: f_IPsec_SADB_add // diff --git a/src/TCCInterface.cc b/src/TCCInterface.cc index f6d54edfc23a8ff8d6975db8475d2d37a3c18750..14c57f3cfaf2713e108f36f0390dc0d94185c8c0 100644 --- a/src/TCCInterface.cc +++ b/src/TCCInterface.cc @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2012 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCInterface.cc // Description: TCC Useful Functions: Interface Functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2012-10-18 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCInterface_Functions.ttcn b/src/TCCInterface_Functions.ttcn index 7a7cec8155407c3a9ecdf0b7326e72153793922e..3243f4f16de24623b11777761685110f9bde9f2a 100644 --- a/src/TCCInterface_Functions.ttcn +++ b/src/TCCInterface_Functions.ttcn @@ -1,18 +1,19 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2016 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCInterface_Functions.ttcn // Description: TCC Useful Functions: Interface Functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 -// Updated: 2010-03-25 +// Updated: 2016-06-06 // Contact: http://ttcn.ericsson.se // /////////////////////////////////////////////////////////////////////////////// @@ -31,7 +32,7 @@ // /////////////////////////////////////////////////////////////////////////////// module TCCInterface_Functions { - +import from TCCConversion_Functions all /////////////////////////////////////////////////////////////////////////////// // Record: IPAddresses // @@ -61,7 +62,8 @@ type record IPAddresses{ type enumerated TCCInterface_IPAddressType { IPv4, - IPv6 + IPv6, + UNKNOWN }; /////////////////////////////////////////////////////////////////////////////// @@ -356,4 +358,38 @@ external function f_getIpAddr(in charstring hostname, in TCCInterface_IPAddressT // /////////////////////////////////////////////////////////////////////////////// external function f_getIpAddresses(in charstring hostname) return IPAddresses; + +/////////////////////////////////////////////////////////////////////////////// +// Function: f_verifyIpAddr +// +// Purpose: +// Returns the given host is valid IPv4/IPv6 or not. +// +// Parameters: +// pl_host - *in* *charstring* - host to investigate +// pl_ipType - *TCCInterface_IPAddressType* - type of IP +// +// Return Value: +// boolean - true if given host is an IPv4 or IPv6 valid address +// +// Errors: +// - +// +// Detailed description: +// If pl_ipType is not default value "UNKNOWN", +// function also check matching real IP type of host with +// given type in parameter +// +/////////////////////////////////////////////////////////////////////////////// +public function f_verifyIpAddr(in charstring pl_host, in TCCInterface_IPAddressType pl_ipType := UNKNOWN) return boolean +{ + var boolean vl_valid_ip := f_convertIPAddrToBinary(pl_host) != ''O; + if(vl_valid_ip and pl_ipType != UNKNOWN) + { + var boolean vl_ipv6_real := f_strstr(pl_host, ":") != -1; + if(pl_ipType == IPv4){return not vl_ipv6_real} + else if (pl_ipType == IPv6) {return vl_ipv6_real} + } + return vl_valid_ip +} } diff --git a/src/TCCInterface_ip.h b/src/TCCInterface_ip.h index 5c4184d36c6677afe7377d7448287d07ed4f62e1..c1a35a0f85a74a4ae6cf2cef26348a926d718bbd 100644 --- a/src/TCCInterface_ip.h +++ b/src/TCCInterface_ip.h @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2009 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCInterface_ip.h // Description: TCC Useful Functions: Interface Functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2009-02-02 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCMaths.cc b/src/TCCMaths.cc index c01fc81491d5f30f5fab3a669860e8b21607b2e8..4d0aaad541ee6c169cc309205bf9a2cac8168ff6 100644 --- a/src/TCCMaths.cc +++ b/src/TCCMaths.cc @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2007 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCMaths.cc // Description: TCC Useful Functions: Maths Functions. -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2007-03-07 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCMaths_Functions.ttcn b/src/TCCMaths_Functions.ttcn index 4baee7292167b91790cc3e599eca66d6000f8b64..889f6f5982c32fb55e4869cde73163188f1b208c 100644 --- a/src/TCCMaths_Functions.ttcn +++ b/src/TCCMaths_Functions.ttcn @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2008 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCMaths_Functions.ttcn // Description: TCC Useful Functions: Math Functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2008-12-10 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCMaths_GenericTypes.ttcn b/src/TCCMaths_GenericTypes.ttcn index 03311d51983f079f0ae52dc642b1bd6fddf82b69..2197a64686057c588d976d47c9b6bb73748ba11f 100644 --- a/src/TCCMaths_GenericTypes.ttcn +++ b/src/TCCMaths_GenericTypes.ttcn @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2007 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCMaths_GenericTypes.ttcn // Description: TCC Useful Functions: Generic Types For Maths -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2007-11-12 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCMessageHandling.cc b/src/TCCMessageHandling.cc index 2014840753978aa99bc47a5b6e4292d22bfeffc2..ad118818f42ba7ff168e531eac377f58829f55a2 100644 --- a/src/TCCMessageHandling.cc +++ b/src/TCCMessageHandling.cc @@ -1,15 +1,15 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2013 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // /////////////////////////////////////////////////////////////////////////////// // // File: TCCMessageHandling.cc -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2013-11-07 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCMessageHandling_Functions.ttcn b/src/TCCMessageHandling_Functions.ttcn index 2d45d7606de4bd8f6d3039f8c28336568d7c913c..cc84f67a259bfe5694d925df28de9eba75e7e301 100644 --- a/src/TCCMessageHandling_Functions.ttcn +++ b/src/TCCMessageHandling_Functions.ttcn @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2013 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCMessageHandling_Functions.ttcn // Description: TCC Useful Functions: MessageHandling Functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2013-03-28 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCPermutatedParameters_Definitions.ttcn b/src/TCCPermutatedParameters_Definitions.ttcn index 6e1bda57adb3940d749715c7f272fdf9d887ae82..5199ff0d5e88288eca8ecadb2c7bf8dc281968cc 100644 --- a/src/TCCPermutatedParameters_Definitions.ttcn +++ b/src/TCCPermutatedParameters_Definitions.ttcn @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2013 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCPermutatedParameters_Definitions.ttcn // Description: definitions for permutated params -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2013-05-30 // Contact: http://ttcn.ericsson.se @@ -158,4 +159,4 @@ type record of PP_ParamSet PP_ParamSetList; // is each CGPN has its own current /////////////////////////////////////////////////////////// type set of PP_SingleParam PP_ParamSet; // ie params belonging to one particular call -} with { extension "version R22B"} +} with { extension "version R25A"} diff --git a/src/TCCPermutatedParameters_Functions.ttcn b/src/TCCPermutatedParameters_Functions.ttcn index 6032fcaaa27f6444c2b4cb070c39308876a30626..092e4df97f8af9e63adf0fc1473714b6ba4d7e2b 100644 --- a/src/TCCPermutatedParameters_Functions.ttcn +++ b/src/TCCPermutatedParameters_Functions.ttcn @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2013 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCPermutatedParameters_Functions.ttcn // Description: functions for permutated params -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2013-07-17 // Contact: http://ttcn.ericsson.se @@ -907,4 +908,4 @@ public function f_PP_getParamValueFromSet( return vl_ret; } -} with { extension "version R22B"} +} with { extension "version R25A"} diff --git a/src/TCCRegexp.cc b/src/TCCRegexp.cc index 80ab0325001521cdb54fb0b88d7be9c709908d38..96cae5c1634bd0df30efe07de6b44514bfe3b940 100644 --- a/src/TCCRegexp.cc +++ b/src/TCCRegexp.cc @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2009 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCRegexp_Functions.ttcn // Description: TCC Useful Functions: Regexp Functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2009-11-20 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCRegexp_Functions.ttcn b/src/TCCRegexp_Functions.ttcn index f47c1aab22498b8b3ed9716e0d086049b2c0d99d..3fa2df09839aa855f6bd90f93939e8fa0b353666 100644 --- a/src/TCCRegexp_Functions.ttcn +++ b/src/TCCRegexp_Functions.ttcn @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2009 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCRegexp_Functions.ttcn // Description: TCC Useful Functions: Regexp Functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2009-11-20 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCSystem.cc b/src/TCCSystem.cc index adfd719d5279f28597a5de2bee6f78ef534913f0..6e6b246aca690cb345a99990dcc44a6a36ab039d 100644 --- a/src/TCCSystem.cc +++ b/src/TCCSystem.cc @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2009 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCSystem.cc // Description: TCC Useful Functions: System Functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2009-04-10 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCSystem_Functions.ttcn b/src/TCCSystem_Functions.ttcn index 64bf2be057e2e9a6c0fc162224972bb45fac20ac..82f925c376115f55af31113c42528975c2893408 100644 --- a/src/TCCSystem_Functions.ttcn +++ b/src/TCCSystem_Functions.ttcn @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2009 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCSystem_Functions.ttcn // Description: TCC Useful Functions: System Functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2009-04-10 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCTemplate_Functions.ttcn b/src/TCCTemplate_Functions.ttcn index f2e9c2bad1564e5fb498e1a4dbc65277cc306a66..ed604a90c624d6b49ab114400754c7e7fe91f1b7 100644 --- a/src/TCCTemplate_Functions.ttcn +++ b/src/TCCTemplate_Functions.ttcn @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2007 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCTemplate_Functions.ttcn // Description: TCC Useful Functions: Template Functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2007-12-20 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCTitanMetadata.cc b/src/TCCTitanMetadata.cc index e9d4a21d9acfea2202acbbb2dcfb87a17697b79e..cdec76571d26e7bbf22102757e8ea5407627c6dc 100644 --- a/src/TCCTitanMetadata.cc +++ b/src/TCCTitanMetadata.cc @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2007 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCTitanMetadata.cc // Description: TCC Useful Functions: TitanMetadata Functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2007-10-26 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCTitanMetadata_Functions.ttcn b/src/TCCTitanMetadata_Functions.ttcn index 99038f59741894aeae4c19732ae0ea546b0c9073..723c70aaf69659f974b41c2d3bcde3bd8ce7d406 100644 --- a/src/TCCTitanMetadata_Functions.ttcn +++ b/src/TCCTitanMetadata_Functions.ttcn @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2007 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCTitanMetadata_Functions.ttcn // Description: TCC Useful Functions: TitanMetadata Functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2007-10-26 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCUsefulFunctions_Library.grp b/src/TCCUsefulFunctions_Library.grp index caec77927c8fe555171e25b8d084b1a8377453f2..a75bf7ec0b05a7d3c5d4b0bdafc01539387b8abf 100644 --- a/src/TCCUsefulFunctions_Library.grp +++ b/src/TCCUsefulFunctions_Library.grp @@ -1,17 +1,18 @@ <!-- -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2012 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) has been supplied. // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCUsefulFunctions_Library.grp // Description: FileGroup file for TCCUsefulFunctions ApplicationLibrary -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2012-03-26 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCUsefulFunctions_PermutatedParameters.grp b/src/TCCUsefulFunctions_PermutatedParameters.grp index 918c7b40450a17e76c305857250480425d74ab8e..e8329ac01c575ae46c4cbde881ad5e3f0254106f 100644 --- a/src/TCCUsefulFunctions_PermutatedParameters.grp +++ b/src/TCCUsefulFunctions_PermutatedParameters.grp @@ -1,17 +1,18 @@ <!-- -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2013 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) has been supplied. // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCUsefulFunctions_PermutatedParameters.grp // Description: FileGroup file for TCCUsefulFunctions Permutated Parameters -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2013-05-30 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCXPathSupport.cc b/src/TCCXPathSupport.cc index a8772def6cbd43eabc353fb8e07ec496cc54ef7e..1df4da0b9f38ea0f93498f9eab697a6686805947 100644 --- a/src/TCCXPathSupport.cc +++ b/src/TCCXPathSupport.cc @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2008 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCXPathSupport_Functions.ttcn // Description: TCC Useful Functions: XPath Support Functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2008-08-26 // Contact: http://ttcn.ericsson.se diff --git a/src/TCCXPathSupport_Functions.ttcn b/src/TCCXPathSupport_Functions.ttcn index 192d4f5e7ac4f8316c6e363bf14fd13d082c9447..895ad2dfbd4110904031b0314da3f82925b07cfd 100644 --- a/src/TCCXPathSupport_Functions.ttcn +++ b/src/TCCXPathSupport_Functions.ttcn @@ -1,16 +1,17 @@ -/****************************************************************************** -* Copyright (c) 2004, 2015 Ericsson AB -* All rights reserved. This program and the accompanying materials -* are made available under the terms of the Eclipse Public License v1.0 -* which accompanies this distribution, and is available at -* http://www.eclipse.org/legal/epl-v10.html - -******************************************************************************/ +/////////////////////////////////////////////////////////////////////////////// +// // +// Copyright Test Competence Center (TCC) ETH 2008 // +// // +// The copyright to the computer program(s) herein is the property of TCC. // +// The program(s) may be used and/or copied only with the written permission // +// of TCC or in accordance with the terms and conditions stipulated in the // +// agreement/contract under which the program(s) have been supplied // +// // /////////////////////////////////////////////////////////////////////////////// // // File: TCCXPathSupport_Functions.ttcn // Description: TCC Useful Functions: XPath Support Functions -// Rev: R22B +// Rev: R25A // Prodnr: CNL 113 472 // Updated: 2008-08-26 // Contact: http://ttcn.ericsson.se