From c30b4637a525bf8332b3a9358b51fe0e6973760b Mon Sep 17 00:00:00 2001 From: z3APA3A <3APA3A@3proxy.ru> Date: Thu, 6 Aug 2020 17:57:50 +0300 Subject: [PATCH] Do not resolve hostname to IP on ACL destination --- src/conf.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/conf.c b/src/conf.c index 2375b52..fe1fc2a 100644 --- a/src/conf.c +++ b/src/conf.c @@ -777,13 +777,16 @@ int scanipl(unsigned char *arg, struct iplist *dst){ #endif char * slash, *dash; int masklen, addrlen; + if((slash = strchr((char *)arg, '/'))) *slash = 0; if((dash = strchr((char *)arg,'-'))) *dash = 0; + if(afdetect(arg) == -1) return 1; if(!getip46(46, arg, (struct sockaddr *)&sa)) return 1; memcpy(&dst->ip_from, SAADDR(&sa), SAADDRLEN(&sa)); dst->family = *SAFAMILY(&sa); if(dash){ + if(afdetect(dash+1) == -1) return 1; if(!getip46(46, (unsigned char *)dash+1, (struct sockaddr *)&sa)) return 2; memcpy(&dst->ip_to, SAADDR(&sa), SAADDRLEN(&sa)); if(*SAFAMILY(&sa) != dst->family || memcmp(&dst->ip_to, &dst->ip_from, SAADDRLEN(&sa)) < 0) return 3;