diff --git a/ccsrc/Framework/include/params.hh b/ccsrc/Framework/include/params.hh index 6bb5dcd1b95474a44f4d5111cd1f60358b742dc8..bc683cfe98daed266062f38488ccb8722c3bc5e1 100644 --- a/ccsrc/Framework/include/params.hh +++ b/ccsrc/Framework/include/params.hh @@ -35,14 +35,15 @@ public: //! \publicsection static const std::string& nic; //! Network Interface Card parameter name - static const std::string& server; //! HTTP server address (e.g. www.etsi.org) - static const std::string& port; //! HTTP server port. Default: 80 + static const std::string& server; //! Remote server address (e.g. www.etsi.org) + static const std::string& port; //! Remote server port. Default: 80 static const std::string& use_ssl; //! Set to 1 to use SSL to communicate with the HTTP server. Default: false static const std::string& mutual_auth; //! Set to 1 to use mutual authentication. Default: false static const std::string& trusted_ca_list; //! List of trusted CA certificates static const std::string& certificate; //! Chain of certificates static const std::string& privkey; //! Certificate private key static const std::string& server_mode; //! Does the test sytem acting as a server. Default: 0 + static const std::string& local_server; //! Local server address (e.g. localhost) static const std::string& local_port; //! Local listener port. Default: 80 static const std::string& method; //! HTTP method type. Default: POST diff --git a/ccsrc/Framework/src/params.cc b/ccsrc/Framework/src/params.cc index d58d39a6d403f507f36167a5eff8a37e759097fa..a18371414d5992bb40be3c8733784f0666d323cf 100644 --- a/ccsrc/Framework/src/params.cc +++ b/ccsrc/Framework/src/params.cc @@ -37,6 +37,7 @@ const std::string& params::certificate = std::string("certificate"); const std::string& params::privkey = std::string("privkey"); const std::string& params::server_mode = std::string("server_mode"); +const std::string& params::local_server = std::string("local_server"); const std::string& params::local_port = std::string("local_port"); const std::string& params::method = std::string("method"); diff --git a/ccsrc/Protocols/Tcp/tcp_layer.cc b/ccsrc/Protocols/Tcp/tcp_layer.cc index fdbeb3580a1341164497fe821dcd46708d0fbe7c..2c49ef915b70bb0b6fe0cf0dc5b11e85ba117cc2 100644 --- a/ccsrc/Protocols/Tcp/tcp_layer.cc +++ b/ccsrc/Protocols/Tcp/tcp_layer.cc @@ -51,8 +51,8 @@ void tcp_layer::init() { if (it == _params.cend()) { _params.insert(std::pair(std::string("server"), "127.0.0.1")); // TODO Try using params::server instead of std::string("server") } - if (!parameter_set(params::server.c_str(), _params[params::server].c_str())) { - loggers::get_instance().warning("tcp_layer::set_parameter: Unprocessed parameter: '%s'", params::server.c_str()); + if (!parameter_set(remote_address_name(), _params[params::server].c_str())) { + loggers::get_instance().warning("tcp_layer::set_parameter: Unprocessed parameter: 'remote_address_name()'"); } bool ssl_mode = false; it = _params.find(params::use_ssl); @@ -86,13 +86,22 @@ void tcp_layer::init() { loggers::get_instance().warning("tcp_layer::set_parameter: Unprocessed parameter: '%s'", params::local_port.c_str()); } + it = _params.find(params::local_server); + if (it == _params.cend()) { + _params.insert(std::pair(std::string("local_server"), "0.0.0.0")); + } + if (!parameter_set(local_address_name(), _params[params::local_server].c_str())) { + loggers::get_instance().warning("tcp_layer::set_parameter: Unprocessed parameter: '%s'", params::local_server.c_str()); + } + parameter_set(use_connection_ASPs_name(), (!server_mode) ? "yes" : "no"); loggers::get_instance().warning("tcp_layer::set_parameter: Limit to one simultanneous accepted connection (server_backlog == 1)"); parameter_set(server_backlog_name(), "1"); // Limit to one simultanneous accepted connection loggers::get_instance().log("tcp_layer::init: server_mode=%x", server_mode); set_server_mode(server_mode); - if (server_mode) { - parameter_set("serverPort", _params[params::local_port].c_str()); + if (server_mode) { // Apply default values or specified ones + parameter_set(local_port_name(), _params[params::local_port].c_str()); + parameter_set(local_address_name(), _params[params::local_server].c_str()); } if (ssl_mode) { // Add certificate bundle // Check mutual authentication param diff --git a/ttcn/LibHelpers/ttcn/LibHelpers_Functions.ttcn b/ttcn/LibHelpers/ttcn/LibHelpers_Functions.ttcn index 1f93d1c6c33543d8628402d1a804a684b5a81f5a..90253cd0f3eec4b559931039b2802f410476ccbd 100644 --- a/ttcn/LibHelpers/ttcn/LibHelpers_Functions.ttcn +++ b/ttcn/LibHelpers/ttcn/LibHelpers_Functions.ttcn @@ -25,12 +25,13 @@ module LibHelpers_Functions { * @return random integer * */ - function f_random( in integer p_lowerbound, - in integer p_upperbound ) - return integer { + function f_random( + in integer p_lowerbound, + in integer p_upperbound + ) return integer { //Variables var integer v_random := 0; - v_random := float2int(int2float(p_upperbound - p_lowerbound +1)*rnd()) + p_lowerbound; + v_random := float2int(int2float(p_upperbound - p_lowerbound + 1) * rnd()) + p_lowerbound; log("*** f_random: INFO: OK - random value = " & int2str(v_random) & " ***"); return v_random;