From 893631e0030f327ff4c2cb0ad26907f93d9a5643 Mon Sep 17 00:00:00 2001 From: Terrtia Date: Wed, 2 Dec 2020 15:54:20 +0100 Subject: [PATCH] fix: [client] no data: send empty D4 packet --- client/d4.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/client/d4.c b/client/d4.c index 8aff813..2d6ce36 100644 --- a/client/d4.c +++ b/client/d4.c @@ -210,7 +210,7 @@ void d4_transfert(d4_t* d4) //In case of errors see block of 0 bytes bzero(buf, d4->snaplen); nread = read(d4->source.fd, buf, d4->snaplen); - if ( nread > 0 ) { + if ( nread >= 0 ) { d4_update_header(d4, nread); //Do HMAC on header and payload. HMAC field is 0 during computation if (d4->ctx) { @@ -238,6 +238,11 @@ void d4_transfert(d4_t* d4) fprintf(stderr,"Incomplete header written. abort to let consumer known that the packet is corrupted\n"); abort(); } + // no data - create empty D4 packet + if ( nread == 0 ) { + //FIXME no data available, sleep, abort, retry + break; + } } else{ //FIXME no data available, sleep, abort, retry break;