diff --git a/nfq/desync.c b/nfq/desync.c index cf7f0d7d..d5402e59 100644 --- a/nfq/desync.c +++ b/nfq/desync.c @@ -799,11 +799,11 @@ static void autottl_rediscover(t_ctrack *ctrack, const struct in_addr *a4, const } } -static bool ipcache_put_hostname(const struct in_addr *a4, const struct in6_addr *a6, const char *iface, const char *hostname) +static bool ipcache_put_hostname(const struct in_addr *a4, const struct in6_addr *a6, const char *hostname) { - if (!params.cache_hostnames) return true; + if (!params.cache_hostname) return true; - ip_cache_item *ipc = ipcacheTouch(¶ms.ipcache,a4,a6,iface); + ip_cache_item *ipc = ipcacheTouch(¶ms.ipcache,a4,a6,NULL); if (!ipc) { DLOG_ERR("ipcache_put_hostname: out of memory\n"); @@ -818,14 +818,14 @@ static bool ipcache_put_hostname(const struct in_addr *a4, const struct in6_addr DLOG("hostname cached: %s\n", hostname); return true; } -static bool ipcache_get_hostname(const struct in_addr *a4, const struct in6_addr *a6, const char *iface, char *hostname, size_t hostname_buf_len) +static bool ipcache_get_hostname(const struct in_addr *a4, const struct in6_addr *a6, char *hostname, size_t hostname_buf_len) { - if (!params.cache_hostnames) + if (!params.cache_hostname) { *hostname = 0; return true; } - ip_cache_item *ipc = ipcacheTouch(¶ms.ipcache,a4,a6,iface); + ip_cache_item *ipc = ipcacheTouch(¶ms.ipcache,a4,a6,NULL); if (!ipc) { DLOG_ERR("ipcache_get_hostname: out of memory\n"); @@ -1144,7 +1144,7 @@ static uint8_t dpi_desync_tcp_packet_play(bool replay, size_t reasm_offset, uint { if (!ctrack_replay->hostname && !bReverse) { - if (ipcache_get_hostname(dis->ip ? &dis->ip->ip_dst : NULL,dis->ip6 ? &dis->ip6->ip6_dst : NULL , ifout, host, sizeof(host)) && *host) + if (ipcache_get_hostname(dis->ip ? &dis->ip->ip_dst : NULL,dis->ip6 ? &dis->ip6->ip6_dst : NULL , host, sizeof(host)) && *host) if (!(ctrack_replay->hostname = strdup(host))) DLOG_ERR("strdup(host): out of memory\n"); } @@ -1177,7 +1177,7 @@ static uint8_t dpi_desync_tcp_packet_play(bool replay, size_t reasm_offset, uint hostname = ctrack->hostname; if (!hostname && !bReverse) { - if (ipcache_get_hostname(dis->ip ? &dis->ip->ip_dst : NULL,dis->ip6 ? &dis->ip6->ip6_dst : NULL , ifout, host, sizeof(host)) && *host) + if (ipcache_get_hostname(dis->ip ? &dis->ip->ip_dst : NULL,dis->ip6 ? &dis->ip6->ip6_dst : NULL , host, sizeof(host)) && *host) if (!(hostname = ctrack_replay->hostname = strdup(host))) DLOG_ERR("strdup(host): out of memory\n"); } @@ -1522,7 +1522,7 @@ static uint8_t dpi_desync_tcp_packet_play(bool replay, size_t reasm_offset, uint reasm_orig_cancel(ctrack); goto send_orig; } - if (!ipcache_put_hostname(dis->ip ? &dis->ip->ip_dst : NULL,dis->ip6 ? &dis->ip6->ip6_dst : NULL , ifout, host)) + if (!ipcache_put_hostname(dis->ip ? &dis->ip->ip_dst : NULL,dis->ip6 ? &dis->ip6->ip6_dst : NULL , host)) { reasm_orig_cancel(ctrack); goto send_orig; @@ -2350,7 +2350,7 @@ static uint8_t dpi_desync_udp_packet_play(bool replay, size_t reasm_offset, uint { if (!ctrack_replay->hostname && !bReverse) { - if (ipcache_get_hostname(dis->ip ? &dis->ip->ip_dst : NULL,dis->ip6 ? &dis->ip6->ip6_dst : NULL , ifout, host, sizeof(host)) && *host) + if (ipcache_get_hostname(dis->ip ? &dis->ip->ip_dst : NULL,dis->ip6 ? &dis->ip6->ip6_dst : NULL , host, sizeof(host)) && *host) if (!(ctrack_replay->hostname = strdup(host))) DLOG_ERR("strdup(host): out of memory\n"); } @@ -2386,7 +2386,7 @@ static uint8_t dpi_desync_udp_packet_play(bool replay, size_t reasm_offset, uint hostname = ctrack->hostname; if (!hostname && !bReverse) { - if (ipcache_get_hostname(dis->ip ? &dis->ip->ip_dst : NULL,dis->ip6 ? &dis->ip6->ip6_dst : NULL , ifout, host, sizeof(host)) && *host) + if (ipcache_get_hostname(dis->ip ? &dis->ip->ip_dst : NULL,dis->ip6 ? &dis->ip6->ip6_dst : NULL , host, sizeof(host)) && *host) if (!(hostname = ctrack_replay->hostname = strdup(host))) DLOG_ERR("strdup(host): out of memory\n"); } @@ -2652,7 +2652,7 @@ static uint8_t dpi_desync_udp_packet_play(bool replay, size_t reasm_offset, uint DLOG_ERR("hostname dup : out of memory"); goto send_orig; } - if (!ipcache_put_hostname(dis->ip ? &dis->ip->ip_dst : NULL,dis->ip6 ? &dis->ip6->ip6_dst : NULL , ifout, host)) + if (!ipcache_put_hostname(dis->ip ? &dis->ip->ip_dst : NULL,dis->ip6 ? &dis->ip6->ip6_dst : NULL , host)) goto send_orig; } } diff --git a/nfq/nfqws.c b/nfq/nfqws.c index a3030d86..3f3feb7d 100644 --- a/nfq/nfqws.c +++ b/nfq/nfqws.c @@ -99,7 +99,7 @@ static void onusr2(int sig) printf("\nDESYNC PROFILE %d\n",dpl->dp.n); HostFailPoolDump(dpl->dp.hostlist_auto_fail_counters); } - if (params.autottl_present || params.cache_hostnames) + if (params.autottl_present || params.cache_hostname) { printf("\nIPCACHE\n"); ipcachePrint(¶ms.ipcache); @@ -1418,7 +1418,7 @@ static void exithelp(void) #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-hostnames=[0|1]\t\t\t; 1 or no argument enables ip->hostname caching\n" + " --ipcache-hostname=[0|1]\t\t\t; 1 or no argument enables ip->hostname caching\n" #ifdef __CYGWIN__ "\nWINDIVERT FILTER:\n" " --wf-iface=[.]\t\t\t; numeric network interface and subinterface indexes\n" @@ -1621,7 +1621,7 @@ enum opt_indices { IDX_WSSIZE_CUTOFF, IDX_CTRACK_TIMEOUTS, IDX_IPCACHE_LIFETIME, - IDX_IPCACHE_HOSTNAMES, + IDX_IPCACHE_HOSTNAME, IDX_HOSTCASE, IDX_HOSTSPELL, IDX_HOSTNOSPACE, @@ -1740,7 +1740,7 @@ static const struct option long_options[] = { [IDX_WSSIZE_CUTOFF] = {"wssize-cutoff", required_argument, 0, 0}, [IDX_CTRACK_TIMEOUTS] = {"ctrack-timeouts", required_argument, 0, 0}, [IDX_IPCACHE_LIFETIME] = {"ipcache-lifetime", required_argument, 0, 0}, - [IDX_IPCACHE_HOSTNAMES] = {"ipcache-hostnames", optional_argument, 0, 0}, + [IDX_IPCACHE_HOSTNAME] = {"ipcache-hostname", optional_argument, 0, 0}, [IDX_HOSTCASE] = {"hostcase", no_argument, 0, 0}, [IDX_HOSTSPELL] = {"hostspell", required_argument, 0, 0}, [IDX_HOSTNOSPACE] = {"hostnospace", no_argument, 0, 0}, @@ -2055,8 +2055,8 @@ int main(int argc, char **argv) exit_clean(1); } break; - case IDX_IPCACHE_HOSTNAMES: - params.cache_hostnames = !optarg || !!atoi(optarg); + case IDX_IPCACHE_HOSTNAME: + params.cache_hostname = !optarg || !!atoi(optarg); break; case IDX_HOSTCASE: dp->hostcase = true; @@ -2964,7 +2964,7 @@ int main(int argc, char **argv) } DLOG("initializing conntrack with timeouts tcp=%u:%u:%u udp=%u\n", params.ctrack_t_syn, params.ctrack_t_est, params.ctrack_t_fin, params.ctrack_t_udp); - if (params.autottl_present || params.cache_hostnames) DLOG("ipcache lifetime %us\n", params.ipcache_lifetime); + if (params.autottl_present || params.cache_hostname) DLOG("ipcache lifetime %us\n", params.ipcache_lifetime); ConntrackPoolInit(¶ms.conntrack, 10, params.ctrack_t_syn, params.ctrack_t_est, params.ctrack_t_fin, params.ctrack_t_udp); #ifdef __linux__ diff --git a/nfq/params.h b/nfq/params.h index 173b58d9..a3bd1076 100644 --- a/nfq/params.h +++ b/nfq/params.h @@ -199,7 +199,7 @@ struct params_s t_conntrack conntrack; unsigned int ipcache_lifetime; - bool autottl_present,cache_hostnames; + bool autottl_present,cache_hostname; ip_cache ipcache; };