aboutsummaryrefslogtreecommitdiffstats
path: root/libtransport/src
diff options
context:
space:
mode:
authorMauro Sardara <msardara@cisco.com>2021-02-10 14:26:52 +0000
committerGerrit Code Review <gerrit@fd.io>2021-02-10 14:26:52 +0000
commit71a5c399d8064e2aa97a047e23174bb784eea399 (patch)
tree740bae933895ab6c40db1eb14fcd84a67536df06 /libtransport/src
parentdb76bbc76c8d2cb2d817df8c9233937d230a1ff2 (diff)
parent8d08f8dd79ac12874ba0da6b26973f5a33163131 (diff)
Merge "[HICN-679] Do not throw exception when receiving corrupted/not-hicn packet from network layer"v21.01-rc0
Diffstat (limited to 'libtransport/src')
-rw-r--r--libtransport/src/core/packet.cc9
-rw-r--r--libtransport/src/core/portal.h13
-rw-r--r--libtransport/src/core/tcp_socket_connector.cc3
3 files changed, 14 insertions, 11 deletions
diff --git a/libtransport/src/core/packet.cc b/libtransport/src/core/packet.cc
index 6815868f0..cd2c5aa69 100644
--- a/libtransport/src/core/packet.cc
+++ b/libtransport/src/core/packet.cc
@@ -50,7 +50,8 @@ Packet::Packet(MemBufPtr &&buffer)
packet_start_(reinterpret_cast<hicn_header_t *>(packet_->writableData())),
header_head_(packet_.get()),
payload_head_(nullptr),
- format_(getFormatFromBuffer(packet_->writableData())) {}
+ format_(getFormatFromBuffer(packet_->writableData(), packet_->length())) {
+}
Packet::Packet(const uint8_t *buffer, std::size_t size)
: Packet(MemBufPtr(utils::MemBuf::copyBuffer(buffer, size).release())) {}
@@ -210,13 +211,13 @@ const std::shared_ptr<utils::MemBuf> Packet::acquireMemBufReference() const {
void Packet::dump() const {
const_cast<Packet *>(this)->separateHeaderPayload();
- std::cout << "HEADER -- Length: " << headerSize() << std::endl;
+ TRANSPORT_LOGI("HEADER -- Length: %zu", headerSize());
hicn_packet_dump((uint8_t *)header_head_->data(), headerSize());
- std::cout << std::endl << "PAYLOAD -- Length: " << payloadSize() << std::endl;
+ TRANSPORT_LOGI("PAYLOAD -- Length: %zu", payloadSize());
for (utils::MemBuf *current = payload_head_;
current && current != header_head_; current = current->next()) {
- std::cout << "MemBuf Length: " << current->length() << std::endl;
+ TRANSPORT_LOGI("MemBuf Length: %zu", current->length());
hicn_packet_dump((uint8_t *)current->data(), current->length());
}
}
diff --git a/libtransport/src/core/portal.h b/libtransport/src/core/portal.h
index 364a36577..b63eab3af 100644
--- a/libtransport/src/core/portal.h
+++ b/libtransport/src/core/portal.h
@@ -96,13 +96,13 @@ class HandlerAllocator {
HandlerAllocator(const HandlerAllocator<U> &other) noexcept
: memory_(other.memory_) {}
- TRANSPORT_ALWAYS_INLINE bool operator==(const HandlerAllocator &other) const
- noexcept {
+ TRANSPORT_ALWAYS_INLINE bool operator==(
+ const HandlerAllocator &other) const noexcept {
return &memory_ == &other.memory_;
}
- TRANSPORT_ALWAYS_INLINE bool operator!=(const HandlerAllocator &other) const
- noexcept {
+ TRANSPORT_ALWAYS_INLINE bool operator!=(
+ const HandlerAllocator &other) const noexcept {
return &memory_ != &other.memory_;
}
@@ -139,7 +139,7 @@ class CustomAllocatorHandler {
}
template <typename... Args>
- void operator()(Args &&... args) {
+ void operator()(Args &&...args) {
handler_(std::forward<Args>(args)...);
}
@@ -548,7 +548,8 @@ class Portal {
return;
}
- Packet::Format format = Packet::getFormatFromBuffer(packet_buffer->data());
+ Packet::Format format = Packet::getFormatFromBuffer(
+ packet_buffer->data(), packet_buffer->length());
if (TRANSPORT_EXPECT_TRUE(_is_tcp(format))) {
if (!Packet::isInterest(packet_buffer->data())) {
diff --git a/libtransport/src/core/tcp_socket_connector.cc b/libtransport/src/core/tcp_socket_connector.cc
index f38bd2bef..fa029c6fc 100644
--- a/libtransport/src/core/tcp_socket_connector.cc
+++ b/libtransport/src/core/tcp_socket_connector.cc
@@ -46,7 +46,8 @@ class NetworkMessage {
// Get packet length
return ccnx_packet_length;
} else if (TRANSPORT_EXPECT_TRUE(ip_format == 6 || ip_format == 4)) {
- Packet::Format format = Packet::getFormatFromBuffer(packet);
+ Packet::Format format =
+ Packet::getFormatFromBuffer(packet, fixed_header_length);
return Packet::getHeaderSizeFromBuffer(format, packet) +
Packet::getPayloadSizeFromBuffer(format, packet);
}