Commit 57565dc1 authored by Miguel Angel Reina Ortega's avatar Miguel Angel Reina Ortega
Browse files

Merge branch 'devel' into 'main'

Closing TTF T024/025

See merge request !2
parents 8487823b c579f7c7
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
/*!
 * \file      base_time.hh
 * \brief     Header file for the control port base_time functionality.
 * \brief     Header file for base_time functionality.
 * \author    ETSI STF525
 * \copyright ETSI Copyright Notification
 *            No part may be reproduced except as authorized by written permission.
+1 −1
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ public: //! \publicsection
   */
  virtual int encode(const TPDUEnc &p_message, OCTETSTRING &p_data) = 0;
  /*!
   * \fn int decode(const OCTETSTRING& p_, TPDUDec& p_message, params_its* p_params = NULL);
   * \fn int decode(const OCTETSTRING& p_, TPDUDec& p_message, params* p_params = NULL);
   * \brief  Encode typed message into an octet string format
   * \param[in] p_data The message in its octet string
   * \param[out] p_message The decoded typed message
+21 −12
Original line number Diff line number Diff line
@@ -366,22 +366,31 @@ public:
   */
  std::vector<std::string> split_arguments_line(const std::string& p_value);

  /*!
   * \brief Replace string or character into the the provided string
   * \param[in] p_value The original string value
   * \param[in] p_from The pattern to be replaced
   * \param[in] p_to The new pattern
   * \return The modified string
   */
  std::string replace(const std::string& p_value, const std::string& p_from, const std::string& p_to);

  /*!
   * \brief Convert the provided buffer into a Base64
   * \param[in] p_value The buffer value
   * \return The Base64 encoded buffert
   */
  std::vector<unsigned char> buffer_to_base64(const std::vector<unsigned char> &p_value);
  std::vector<unsigned char> buffer_to_base64(const std::vector<unsigned char> &p_value, const bool p_is_url = false);

  /*!
   * \brief Convert the provided Base64 buffer
   * \param[in] p_value The buffer value
   * \return The Base64 encoded buffert
   */
  std::vector<unsigned char> base64_to_buffer(const std::vector<unsigned char> &p_value);
  std::vector<unsigned char> base64_to_buffer(const std::vector<unsigned char> &p_value, const bool p_remove_crlf = true);

  static const std::string lut_u;
  static const std::string lut_l;
  static const std::string base64_enc_map;
  static const std::string base64_enc_map[2];

}; // End of class converter
+3 −3
Original line number Diff line number Diff line
@@ -102,7 +102,7 @@ public: //! \publicsection

  /*!
   * \virtual
   * \fn void receive_data(OCTETSTRING& data, params_its& params);
   * \fn void receive_data(OCTETSTRING& data, params& params);
   * \brief Receive bytes formated data from the lower layers
   * \param[in] p_data The bytes formated data received
   * \param[in] p_params Some lower layers parameters values when data was received
+2 −60
Original line number Diff line number Diff line
@@ -36,52 +36,10 @@ public: //! \publicsection
   * \param[in] p_params Optional parameters
   * \return 0 on success, -1 otherwise
   * \remark The description below introduces layers stack in case of ITS project:
   *     CAM layer
   *       next_header     : btpA|btpB (overwrite BTP.type)
   *       header_type     : tsb|gbc
   *       header_sub_type : sh (single hop)
   *     DENM layer
   *       next_header     : btpA|btpB (overwrite BTP.type)
   *       header_type     : tsb|gbc
   *     BTP layer
   *       type            : btpA|btpB
   *       destination port: dst_port
   *       source port     : src_port
   *       device_mode     : Set to 1 if the layer shall encapsulate upper layer PDU
   *     GN layer
   *       its_aid                : ITS AID as defined by ETSI TS 102 965 V1.2.1. Default: 141
   *       ll_address             : GeoNetworking address of the Test System
   *       latitude               : latitude of the Test System
   *       longitude              : longitude of the Test System
   *       beaconing              : Set to 1 if GnLayer shall start beaconing
   *       Beaconing timer expiry : expiry (ms)
   *       device_mode            : Set to 1 if the layer shall encapsulate upper layer PDU
   *       secured_mode           : Set to 1 if message exchanges shall be signed
   *       encrypted_mode         : Set to 1 if message exchanges shall be encrypted
   *                                NOTE: For signed & encrypted message exchanges, both secured_mode and encrypted_mode shall be set to 1
   *       certificate            : Certificate identifier the Test Adapter shall use
   *       secure_db_path         : Path to the certificates and keys storage location
   *       hash                   : Hash algorithm to be used when secured mode is set
   *                                Authorized values are SHA-256 or SHA-384
   *                                Default: SHA-256
   *       signature              : Signature algorithm to be used when secured mode is set
   *                                Authorized values are NISTP-256, BP-256 and BP-384
   *                                Default: NISTP-256
   *       cypher                 : Cyphering algorithm to be used when secured mode is set
   *     Ethernet layer
   *       mac_src  :Source MAC address
   *       mac_bc   :Broadcast address
   *       eth_type : Ethernet type
   *     Commsignia layer
   *       mac_src     : Device MAC address, used to discard packets
   *                     To indicate no filering, use the value 000000000000
   *       mac_bc      : Broadcast address
   *       eth_type    : Ethernet type, used to discard packets
   *       target_host : Device address
   *       target_port : Device port
   *       source_port : Test System port
   *       interface_id: Interface id, used to discard packets
   *       tx_power    : TX power (dB)
   *     UDP layer (IP/UDP based on Pcap)
   *       dst_ip  : destination IPv4 address (aa.bb.cc.dd)
   *       dst_port: destination port
@@ -99,22 +57,6 @@ public: //! \publicsection
   *         frame_offset: Frame offset, used to skip packets with frame number < frame_offset
   *         time_offset : Time offset, used to skip packets with time offset < time_offset
   *         save_mode   : 1 to save sent packet, 0 otherwise
   *     Here are some examples:
   *       GeoNetworking multiple component case:
   *         NodeB.geoNetworkingPort.params :=
"GN(ll_address=04e548000001,latitude=43551050,longitude=10298730,beaconing=0,expiry=1000,its_aid=141)/COMMSIGNIA(mac_src=04e548000001,mac_bc=FFFFFFFFFFFF,eth_type=8947,target_host=10.200.1.101,target_port=7942,source_port=7943,its_aid=141,interface_id=2,tx_power=-32)/UDP(dst_ip=192.168.56.1,dst_port=12346,src_ip=192.168.156.4,src_port=12345)/ETH(mac_src=04e548000001,mac_dst=0A0027000011,eth_type=0800)/PCAP(mac_src=04e548000001,file=/home/vagrant/TriesAndDelete/etsi_its/testdata/TC_AUTO_IOT_DENM_RWW_BV_01_short.pcap,filter=and
(udp port 30000 or udp port 7943))" NodeC.geoNetworkingPort.params :=
"GN(ll_address=70b3d5791b48,latitude=43551050,longitude=10298730,beaconing=0,expiry=1000,its_aid=141)/COMMSIGNIA(mac_src=70b3d5791b48,mac_bc=FFFFFFFFFFFF,eth_type=8947,target_host=10.200.1.101,target_port=7942,source_port=7943,its_aid=141,interface_id=2,tx_power=-32)/UDP(dst_ip=192.168.56.1,dst_port=12346,src_ip=192.168.156.4,src_port=12345)/ETH(mac_src=70b3d5791b48,mac_dst=0A0027000011,eth_type=0800)/PCAP(mac_src=70b3d5791b48,file=/home/vagrant/TriesAndDelete/etsi_its/testdata/TC_AUTO_IOT_DENM_RWW_BV_01_short.pcap,filter=and
(udp port 30000 or udp port 7943))"
   *         NodeB.geoNetworkingPort.params :=
"GN(ll_address=04e548000001,latitude=43551050,longitude=10298730,beaconing=0,expiry=1000,its_aid=141)/ETH(mac_src=04e548000001,mac_dst=0A0027000011,eth_type=0800)/PCAP(mac_src=04e548000001,file=/home/vagrant/TriesAndDelete/etsi_its/testdata/TC_AUTO_IOT_DENM_RWW_BV_01.pcap,filter=and
ether src 04e548000001)" #NodeC.geoNetworkingPort.params :=
"GN(ll_address=70b3d5791b48,latitude=43551050,longitude=10298730,beaconing=0,expiry=1000,its_aid=141)/ETH(mac_src=70b3d5791b48,mac_dst=0A0027000011,eth_type=0800)/PCAP(mac_src=70b3d5791b48,file=/home/vagrant/TriesAndDelete/etsi_its/testdata/TC_AUTO_IOT_DENM_RWW_BV_01.pcap,filter=and
ether src 70b3d5791b48)"
   *       UpperTester port based on UDP
   *         system.utPort.params :=
"UT_GN/UDP(dst_ip=192.168.1.1,dst_port=12346,src_ip=192.168.156.4,src_port=12345)/ETH(mac_src=026f8338c1e5,mac_dst=0A0027000011,eth_type=0800)/PCAP(mac_src=0800275c4959,nic=enp0s8,filter=and
udp port 12346)"
   * \pure
   */
  virtual layer *create_layer(const std::string& p_type, const std::string& p_params) = 0;
Loading