Commit 60eea482 authored by garciay's avatar garciay
Browse files

STF545: Add codecs for PKI

parent 08e784ca
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -322,14 +322,13 @@ int http_codec::encode_body(const LibItsHttp__MessageBodyTypes::HttpMessageBody&
  loggers::get_instance().log_msg(">>> http_codec::encode_body: ", (const Base_Type&)p_message_body);
  loggers::get_instance().log("http_codec::encode_body: # of codecs=%d", _codecs.size());

  if (p_message_body.ischosen(LibItsHttp__MessageBodyTypes::HttpMessageBody::ALT_ms__body)) {
    p_encoding_buffer = p_message_body.ms__body();
  if (p_message_body.ischosen(LibItsHttp__MessageBodyTypes::HttpMessageBody::ALT_binary__body)) {
    p_encoding_buffer = p_message_body.binary__body().raw();
  } else if (p_message_body.ischosen(LibItsHttp__MessageBodyTypes::HttpMessageBody::ALT_html__body)) {
    p_encoding_buffer = OCTETSTRING(p_message_body.html__body().lengthof(), (unsigned char*)static_cast<const char*>(p_message_body.html__body()));
  } else if (p_message_body.ischosen(LibItsHttp__MessageBodyTypes::HttpMessageBody::ALT_text__body)) {
    p_encoding_buffer = OCTETSTRING(p_message_body.text__body().lengthof(), (unsigned char*)static_cast<const char*>(p_message_body.text__body()));
  } else if (p_message_body.ischosen(LibItsHttp__MessageBodyTypes::HttpMessageBody::ALT_xml__body)) {
    loggers::get_instance().error("http_codec::encode_body: Failed to encode HTTP message body");
    const LibItsHttp__XmlMessageBodyTypes::XmlBody& xml_body = p_message_body.xml__body();
    if (xml_body.ischosen(LibItsHttp__XmlMessageBodyTypes::XmlBody::ALT_raw)) {
      p_encoding_buffer = OCTETSTRING(xml_body.raw().lengthof(), (unsigned char*)static_cast<const char*>(xml_body.raw()));
@@ -345,7 +344,7 @@ int http_codec::encode_body(const LibItsHttp__MessageBodyTypes::HttpMessageBody&
      }
    }
  } else {
    loggers::get_instance().log("http_codec::encode_body: Failed to encode HTTP message body");
    loggers::get_instance().warning("http_codec::encode_body: Failed to encode HTTP message body");
    return -1;
  }
  loggers::get_instance().log_msg("http_codec::encode_body: HTTP message ", p_encoding_buffer);
@@ -405,7 +404,9 @@ int http_codec::decode_body(TTCN_Buffer& decoding_buffer, LibItsHttp__MessageBod
  loggers::get_instance().log("http_codec::decode_body: Binary mode: %x", _dc.is_binary);
  LibItsHttp__MessageBodyTypes::HttpMessageBody v;
  if (_dc.is_binary == 0x01) {
    message_body.ms__body() = body;
    LibItsHttp__BinaryMessageBodyTypes::BinaryBody bb;
    bb.raw() = body;
    message_body.binary__body() = bb;
  } else {
    // Convert into string
    params p;
@@ -434,7 +435,7 @@ int http_codec::decode_body(TTCN_Buffer& decoding_buffer, LibItsHttp__MessageBod
      }
    } else if (p["decode_str"].find("<html>") != std::string::npos) { // Try to identify HTML
      loggers::get_instance().log("http_codec::decode_body: Find html message");
      LibItsHttp__MessageBodyTypes::HtmlBody html_body;
      LibItsHttp__MessageBodyTypes::TextBody txt_body;
      loggers::get_instance().error("http_codec::decode_body: Not supported");
    } else {
      loggers::get_instance().log("http_codec::decode_body: Use textBdy as default");
+1 −1
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@ int etsi_ts102941_types_enrolment_inner_request::decode (const OCTETSTRING& p_da

  TTCN_EncDec::clear_error();
  TTCN_Buffer decoding_buffer(p_data);
  _params = params;
  //  _params = params;
  p_inner_request.decode(*p_inner_request.get_descriptor(), decoding_buffer, TTCN_EncDec::CT_OER);

  loggers::get_instance().log_msg("<<< etsi_ts102941_types_enrolment_inner_request::decode: ", (const Base_Type&)p_inner_request);
+10 −10
Original line number Diff line number Diff line
#include "etsi_ts102941_types_enrolment_inner_request.hh"
#include "etsi_ts102941_types_enrolment_inner_response.hh"

#include "loggers.hh"

int etsi_ts102941_types_enrolment_inner_request::encode (const EtsiTs102941TypesEnrolment::InnerEcRequest& p_inner_request, OCTETSTRING& p_data)
int etsi_ts102941_types_enrolment_inner_response::encode (const EtsiTs102941TypesEnrolment::InnerEcResponse& p_inner_response, OCTETSTRING& p_data)
{
  loggers::get_instance().log(">>> etsi_ts102941_types_enrolment_inner_request::encode: %s", p_inner_request.get_descriptor()->name);
  loggers::get_instance().log(">>> etsi_ts102941_types_enrolment_inner_response::encode: %s", p_inner_response.get_descriptor()->name);

  BITSTRING b;
  TTCN_EncDec::clear_error();
  TTCN_Buffer buffer;
  p_inner_request.encode(*p_inner_request.get_descriptor(), buffer, TTCN_EncDec::CT_OER);
  p_inner_response.encode(*p_inner_response.get_descriptor(), buffer, TTCN_EncDec::CT_OER);
  p_data = OCTETSTRING(buffer.get_len(), buffer.get_data());
  loggers::get_instance().log_msg("etsi_ts102941_types_enrolment_inner_request::encode: ", p_data);
  loggers::get_instance().log_msg("etsi_ts102941_types_enrolment_inner_response::encode: ", p_data);

  return 0;
}

int etsi_ts102941_types_enrolment_inner_request::decode (const OCTETSTRING& p_data, EtsiTs102941TypesEnrolment::InnerEcRequest& p_inner_request, params* p_params)
int etsi_ts102941_types_enrolment_inner_response::decode (const OCTETSTRING& p_data, EtsiTs102941TypesEnrolment::InnerEcResponse& p_inner_response, params* p_params)
{
  loggers::get_instance().log_msg(">>> etsi_ts102941_types_enrolment_inner_request::decode: ", p_data);
  loggers::get_instance().log_msg(">>> etsi_ts102941_types_enrolment_inner_response::decode: ", p_data);

  TTCN_EncDec::clear_error();
  TTCN_Buffer decoding_buffer(p_data);
  _params = params;
  p_inner_request.decode(*p_inner_request.get_descriptor(), decoding_buffer, TTCN_EncDec::CT_OER);
  //  _params = params;
  p_inner_response.decode(*p_inner_response.get_descriptor(), decoding_buffer, TTCN_EncDec::CT_OER);

  loggers::get_instance().log_msg("<<< etsi_ts102941_types_enrolment_inner_request::decode: ", (const Base_Type&)p_inner_request);
  loggers::get_instance().log_msg("<<< etsi_ts102941_types_enrolment_inner_response::decode: ", (const Base_Type&)p_inner_response);
  return 0;
}
+1 −1
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ int etsi_ts103097_certificate_codec::encode (const IEEE1609dot2::CertificateBase
  TTCN_EncDec::clear_error();
  TTCN_Buffer buffer;
  p_cert.encode(*p_cert.get_descriptor(), buffer, TTCN_EncDec::CT_OER);
  p_data = OCTETSTRING(buffer.get_len(), buffer.get_p_data());
  p_data = OCTETSTRING(buffer.get_len(), buffer.get_data());
  loggers::get_instance().log_msg("etsi_ts103097_certificate_codec::encode: ", p_data);

  return 0;