Commit 753f20ad authored by Yann Garcia's avatar Yann Garcia
Browse files

Merge Framework woth NG112

parent d974af4a
Loading
Loading
Loading
Loading
+0 −21
Original line number Original line Diff line number Diff line
@@ -8,8 +8,6 @@


#include "loggers.hh"
#include "loggers.hh"


#include "converter.hh"

#include "LibItsHttp_TypesAndValues.hh"
#include "LibItsHttp_TypesAndValues.hh"
#include "LibItsHttp_MessageBodyTypes.hh"
#include "LibItsHttp_MessageBodyTypes.hh"
#include "LibItsHttp_XmlMessageBodyTypes.hh"
#include "LibItsHttp_XmlMessageBodyTypes.hh"
@@ -413,16 +411,6 @@ int http_codec::encode_body(const LibItsHttp__MessageBodyTypes::HttpMessageBody&
        if (it != _codecs.cend()) {
        if (it != _codecs.cend()) {
          loggers::get_instance().log("http_codec::encode_body: Call '%s'", it->first.c_str());
          loggers::get_instance().log("http_codec::encode_body: Call '%s'", it->first.c_str());
          //_codecs["http_its"]->encode((Record_Type&)binary_body.ieee1609dot2__data(), p_encoding_buffer); // TODO Use params
          //_codecs["http_its"]->encode((Record_Type&)binary_body.ieee1609dot2__data(), p_encoding_buffer); // TODO Use params
          
          
#if defined(GEMALTO_FIX) // Temporary fix to be removed
          // GEMALTO Encode in hex string
          CHARSTRING buf = oct2str(p_encoding_buffer);
          p_encoding_buffer = OCTETSTRING(buf.lengthof(), (const unsigned char*)(static_cast<const char*>(buf)));
          loggers::get_instance().log_msg("http_codec::encode_body: Convert binary to string: ", p_encoding_buffer);
#endif
          
          
          processed = true;
          processed = true;
        }
        }
      } // TODO Add new HTTP message codec here
      } // TODO Add new HTTP message codec here
@@ -492,15 +480,6 @@ int http_codec::decode_body(TTCN_Buffer& decoding_buffer, LibItsHttp__MessageBod
  OCTETSTRING s(decoding_buffer.get_len() - decoding_buffer.get_pos(), decoding_buffer.get_data() + decoding_buffer.get_pos());
  OCTETSTRING s(decoding_buffer.get_len() - decoding_buffer.get_pos(), decoding_buffer.get_data() + decoding_buffer.get_pos());
  loggers::get_instance().log_msg("http_codec::decode_body: raw body=", s);
  loggers::get_instance().log_msg("http_codec::decode_body: raw body=", s);
  
  
#if defined(GEMALTO_FIX) // Temporary fix to be removed
  // GEMALTO Encode in hex string
  if ((s.lengthof() & 0x00000001) == 0x00000001) {
    s = int2oct(0, 1) + s;
  }
  s = str2oct(CHARSTRING(s.lengthof(), (const char*)(static_cast<const unsigned char*>(s))));
  loggers::get_instance().log_msg("http_codec::decode_body: Convert string to binary: ", s);
#endif
  
  // Align the payload length with the specified Content-Lenght value
  // Align the payload length with the specified Content-Lenght value
  loggers::get_instance().log("http_codec::decode_body: _dc.length=%d - body length=%d", _dc.length, s.lengthof());
  loggers::get_instance().log("http_codec::decode_body: _dc.length=%d - body length=%d", _dc.length, s.lengthof());
  OCTETSTRING body;
  OCTETSTRING body;
+3 −3
Original line number Original line Diff line number Diff line
@@ -192,7 +192,7 @@ void* pcap_layer::thread() {
  const u_char *pkt_data;
  const u_char *pkt_data;
  unsigned char pkt_count = 0;
  unsigned char pkt_count = 0;


  loggers::get_instance().log(">>> pcap_layer::run");
//  loggers::get_instance().log(">>> pcap_layer::run");


  _running = TRUE;
  _running = TRUE;


@@ -206,7 +206,7 @@ void* pcap_layer::thread() {
      continue;
      continue;
    }
    }
    if(result < 0){
    if(result < 0){
      loggers::get_instance().log("<<< pcap_layer::run: error %s", pcap_geterr(_device));
//      loggers::get_instance().log("<<< pcap_layer::run: error %s", pcap_geterr(_device));
      break;
      break;
    }
    }


@@ -229,7 +229,7 @@ void* pcap_layer::thread() {
    write(_fd[1], &pkt_count, 1);pkt_count++;
    write(_fd[1], &pkt_count, 1);pkt_count++;
  }
  }
  _running = FALSE;
  _running = FALSE;
  loggers::get_instance().log("<<< pcap_layer::run");
//  loggers::get_instance().log("<<< pcap_layer::run");
  return NULL;
  return NULL;
}
}


+2 −2
Original line number Original line Diff line number Diff line
@@ -139,7 +139,7 @@ void* pcap_offline_layer::thread() {
  const u_char *pkt_data;
  const u_char *pkt_data;
  unsigned char pkt_count = 0;
  unsigned char pkt_count = 0;


  loggers::get_instance().log(">>> pcap_offline_layer::run");
//  loggers::get_instance().log(">>> pcap_offline_layer::run");


  memset(&lh, 0, sizeof(lh));
  memset(&lh, 0, sizeof(lh));


@@ -197,7 +197,7 @@ void* pcap_offline_layer::thread() {
    write(_fd[1], &pkt_count, 1);pkt_count++;
    write(_fd[1], &pkt_count, 1);pkt_count++;
  }
  }
  
  
  loggers::get_instance().log("<<< pcap_offline_layer::run");
//  loggers::get_instance().log("<<< pcap_offline_layer::run");
  return NULL;
  return NULL;
}
}


+1 −3
Original line number Original line Diff line number Diff line
@@ -6,8 +6,6 @@


#include "tcp_layer_factory.hh"
#include "tcp_layer_factory.hh"


#include "converter.hh"

#include "loggers.hh"
#include "loggers.hh"


tcp_layer::tcp_layer(const std::string & p_type, const std::string & param) : layer(p_type), SSL_Socket(), PORT(p_type.c_str()), _params(), _client_id{-1}, _time_key("tcp_layer::Handle_Fd_Event_Readable"), _reconnect_on_send{false} {
tcp_layer::tcp_layer(const std::string & p_type, const std::string & param) : layer(p_type), SSL_Socket(), PORT(p_type.c_str()), _params(), _client_id{-1}, _time_key("tcp_layer::Handle_Fd_Event_Readable"), _reconnect_on_send{false} {
@@ -26,7 +24,7 @@ tcp_layer::tcp_layer(const std::string & p_type, const std::string & param) : la
  bool server_mode = false;
  bool server_mode = false;
  it = _params.find(params::server_mode);
  it = _params.find(params::server_mode);
  if (it != _params.cend()) {
  if (it != _params.cend()) {
    server_mode = (1 == converter::get_instance().string_to_int(it->second));
    server_mode = (1 == std::stoi(it->second));
  }
  }
  it = _params.find(params::server);
  it = _params.find(params::server);
  if (it == _params.cend()) {
  if (it == _params.cend()) {
+6 −5
Original line number Original line Diff line number Diff line
@@ -22,7 +22,7 @@ udp_layer::udp_layer(const std::string & p_type, const std::string & param) : la
  }
  }
  it = _params.find("src_port");
  it = _params.find("src_port");
  if (it == _params.cend()) {
  if (it == _params.cend()) {
    _params.insert(std::pair<std::string, std::string>(std::string("src_port"), "12345"));
    _params.insert(std::pair<std::string, std::string>(std::string("src_port"), "0")); // Dynamic binding requested
  }
  }
  it = _params.find("dst_ip");
  it = _params.find("dst_ip");
  if (it == _params.cend()) {
  if (it == _params.cend()) {
@@ -30,20 +30,21 @@ udp_layer::udp_layer(const std::string & p_type, const std::string & param) : la
  }
  }
  it = _params.find("dst_port");
  it = _params.find("dst_port");
  if (it == _params.cend()) {
  if (it == _params.cend()) {
    _params.insert(std::pair<std::string, std::string>(std::string("dst_port"), "12346"));
    _params.insert(std::pair<std::string, std::string>(std::string("dst_port"), "12345"));
  }
  }


  // Initialize the socket
  // Initialize the socket
  _saddr.sin_family = AF_INET;
  _saddr.sin_family = AF_INET;
  _saddr.sin_addr.s_addr = INADDR_ANY;
  _saddr.sin_addr.s_addr = htonl(INADDR_ANY);
  _saddr.sin_port = ::htons(std::atoi(_params["src_port"].c_str()));
  loggers::get_instance().log("udp_layer::udp_layer: Port to listen=%d", std::atoi(_params["src_port"].c_str()));
  _saddr.sin_port = htons(std::atoi(_params["src_port"].c_str()));
  // Create socket
  // Create socket
  _fd = ::socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
  _fd = ::socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
  if (_fd == -1) {
  if (_fd == -1) {
    loggers::get_instance().error("udp_layer::udp_layer: Failed to create socket");
    loggers::get_instance().error("udp_layer::udp_layer: Failed to create socket");
  }
  }
  loggers::get_instance().log("udp_layer::udp_layer: socket id: %d", _fd);
  loggers::get_instance().log("udp_layer::udp_layer: socket id: %d", _fd);
  unsigned int reuse = 1;
  int reuse = 1;
  if (::setsockopt(_fd, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof(reuse)) < 0) {
  if (::setsockopt(_fd, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof(reuse)) < 0) {
    loggers::get_instance().warning("udp_layer::udp_layer: Failed to set SO_REUSEADDR");
    loggers::get_instance().warning("udp_layer::udp_layer: Failed to set SO_REUSEADDR");
  }
  }