From 6d7704c1b497341fd6dd3c27e3f64d0db062ccc2 Mon Sep 17 00:00:00 2001 From: Mauro Sardara Date: Mon, 4 Feb 2019 11:06:18 +0100 Subject: [HICN-11] Rework on transport protocols improving components modularity Change-Id: I6683ec5b494238dc93591c103d25275e89b9f267 Signed-off-by: Mauro Sardara --- libtransport/src/hicn/transport/utils/verifier.cc | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) (limited to 'libtransport/src/hicn/transport/utils/verifier.cc') diff --git a/libtransport/src/hicn/transport/utils/verifier.cc b/libtransport/src/hicn/transport/utils/verifier.cc index 4295aaab7..af19d8b5e 100644 --- a/libtransport/src/hicn/transport/utils/verifier.cc +++ b/libtransport/src/hicn/transport/utils/verifier.cc @@ -109,14 +109,8 @@ int Verifier::verify(const 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( - "Verifier::verify -- 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 +124,7 @@ int Verifier::verify(const Packet &packet) { int ah_payload_len = (int)packet.getSignatureSize(); uint8_t *_signature = packet.getSignature(); - uint8_t * signature = new uint8_t[ah_payload_len]; + uint8_t *signature = new uint8_t[ah_payload_len]; // TODO Remove signature copy at this point, by not setting to zero // the validation payload. @@ -185,11 +179,8 @@ int Verifier::verify(const Packet &packet) { verifier_, key_id, hash_computed_locally, suite, signatureToVerify); /* 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); delete[] signature; -- cgit 1.2.3-korg