diff --git a/src/packet_interface.c b/src/packet_interface.c index 7811f7b00dcca60f1b423f15288f23218a11439c..a255a01a67b5e0921fc35806f8cfb9950da3e79a 100644 --- a/src/packet_interface.c +++ b/src/packet_interface.c @@ -124,7 +124,7 @@ pkt_status_code pkt_decode_data_fec(const char *data, const size_t len, pkt_t *p pkt_status_code pkt_decode(const char *data, const size_t len, pkt_t *pkt) { ptypes_t type = ((data[0]) & TYPE_MASK) >> TYPE_SHIFT; - if ( type == PTYPE_ACK || type == PTYPE_NACK) + if (type == PTYPE_ACK || type == PTYPE_NACK) { return pkt_decode_ack_nack(data, len, pkt); } else diff --git a/src/packet_interface.h b/src/packet_interface.h index 7428389f7a4a349822d67d0219452cdd56a060d1..930f455041fe902838849fdeab72af186c6faca1 100644 --- a/src/packet_interface.h +++ b/src/packet_interface.h @@ -10,6 +10,7 @@ #include <stdio.h> /* ssize_t */ #include <zlib.h> +#include "log.h" /* Taille maximale permise pour le payload */ #define MAX_PAYLOAD_SIZE 512 diff --git a/src/sender_utils.c b/src/sender_utils.c index d80d533d0358fa5ba856df77703c5a5bd31238b2..18acddf0131e7c1b910a14fc15eec27d8ebdb249 100644 --- a/src/sender_utils.c +++ b/src/sender_utils.c @@ -123,6 +123,13 @@ int handle_returning_ack_nack(sender_state_t *state, int socket_fd) uint8_t r_window = pkt_get_window(pkt); pkt_del(pkt); + if (pkt_type != PTYPE_ACK && pkt_type != PTYPE_NACK) + { + state->stats->packet_ignored++; + DEBUG("The sender has received a pkt with the type PTYPE_ACK or PTYPE_NACK so it discard it !"); + return 0; + } + // Handling NACK: if (pkt_type == PTYPE_NACK) {