diff --git a/nfq/desync.c b/nfq/desync.c index d5402e59..b4f9922d 100644 --- a/nfq/desync.c +++ b/nfq/desync.c @@ -1513,7 +1513,6 @@ static uint8_t dpi_desync_tcp_packet_play(bool replay, size_t reasm_offset, uint DLOG("discovered hostname\n"); if (ctrack_replay) { - ctrack_replay->hostname_discovered=true; free(ctrack_replay->hostname); ctrack_replay->hostname=strdup(host); if (!ctrack_replay->hostname) @@ -1522,6 +1521,7 @@ static uint8_t dpi_desync_tcp_packet_play(bool replay, size_t reasm_offset, uint reasm_orig_cancel(ctrack); goto send_orig; } + ctrack_replay->hostname_discovered=true; if (!ipcache_put_hostname(dis->ip ? &dis->ip->ip_dst : NULL,dis->ip6 ? &dis->ip6->ip6_dst : NULL , host)) { reasm_orig_cancel(ctrack); diff --git a/nfq/nfqws.c b/nfq/nfqws.c index 3f3feb7d..a6dcbef8 100644 --- a/nfq/nfqws.c +++ b/nfq/nfqws.c @@ -1417,7 +1417,7 @@ static void exithelp(void) " --bind-fix6\t\t\t\t\t; apply outgoing interface selection fix for generated ipv6 packets\n" #endif " --ctrack-timeouts=S:E:F[:U]\t\t\t; internal conntrack timeouts for TCP SYN, ESTABLISHED, FIN stages, UDP timeout. default %u:%u:%u:%u\n" - " --ipcache-lifetime=\t\t\t; time in seconds to keep cached hop count and domain name (default %u)\n" + " --ipcache-lifetime=\t\t\t; time in seconds to keep cached hop count and domain name (default %u). 0 = no expiration\n" " --ipcache-hostname=[0|1]\t\t\t; 1 or no argument enables ip->hostname caching\n" #ifdef __CYGWIN__ "\nWINDIVERT FILTER:\n" diff --git a/nfq/pools.c b/nfq/pools.c index e6ea3701..d07f994e 100644 --- a/nfq/pools.c +++ b/nfq/pools.c @@ -3,6 +3,7 @@ #include #include #include +#include #define DESTROY_STR_POOL(etype, ppool) \ etype *elem, *tmp; \