aboutsummaryrefslogtreecommitdiffstats
path: root/libtransport/src/hicn/transport/utils/signer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libtransport/src/hicn/transport/utils/signer.cc')
-rw-r--r--libtransport/src/hicn/transport/utils/signer.cc22
1 files changed, 6 insertions, 16 deletions
diff --git a/libtransport/src/hicn/transport/utils/signer.cc b/libtransport/src/hicn/transport/utils/signer.cc
index e1262ec94..981e5f02b 100644
--- a/libtransport/src/hicn/transport/utils/signer.cc
+++ b/libtransport/src/hicn/transport/utils/signer.cc
@@ -16,7 +16,6 @@
*/
#include <hicn/transport/errors/malformed_ahpacket_exception.h>
-#include <hicn/transport/utils/endianess.h>
#include <hicn/transport/utils/key_id.h>
#include <hicn/transport/utils/membuf.h>
#include <hicn/transport/utils/signer.h>
@@ -91,14 +90,8 @@ void Signer::sign(Packet &packet) {
// Copy IP+TCP/ICMP header before zeroing them
hicn_header_t header_copy;
- if (format == HF_INET_TCP_AH) {
- memcpy(&header_copy, hicn_packet, HICN_V4_TCP_HDRLEN);
- } else if (format == HF_INET6_TCP_AH) {
- memcpy(&header_copy, hicn_packet, HICN_V6_TCP_HDRLEN);
- } else {
- throw errors::RuntimeException(
- "Signer::sign -- Packet format not expected.");
- }
+ hicn_packet_copy_header(format, (const hicn_header_t *)packet.packet_start_,
+ &header_copy, false);
std::size_t header_len = Packet::getHeaderSizeFromFormat(format);
@@ -130,7 +123,8 @@ void Signer::sign(Packet &packet) {
utils::CryptoHash hash = hasher.finalize();
PARCSignature *signature = parcSigner_SignDigestNoAlloc(
- this->signer_, hash.hash_, packet.getSignature(), (uint32_t)sign_len_bytes);
+ this->signer_, hash.hash_, packet.getSignature(),
+ (uint32_t)sign_len_bytes);
PARCBuffer *buffer = parcSignature_GetSignature(signature);
size_t bytes_len = parcBuffer_Remaining(buffer);
@@ -139,12 +133,8 @@ void Signer::sign(Packet &packet) {
throw errors::MalformedAHPacketException();
}
- /* Restore the resetted fields */
- if (format & HFO_INET) {
- memcpy(hicn_packet, &header_copy, HICN_V4_TCP_HDRLEN);
- } else if (format & HFO_INET6) {
- memcpy(hicn_packet, &header_copy, HICN_V6_TCP_HDRLEN);
- }
+ hicn_packet_copy_header(format, &header_copy,
+ (hicn_header_t *)packet.packet_start_, false);
}
PARCKeyStore *Signer::getKeyStore() {