From 13979b5df43356818cf64005abe505c23ef05113 Mon Sep 17 00:00:00 2001 From: Vladimir Dubrovin <3proxy@3proxy.ru> Date: Wed, 26 Apr 2023 15:05:47 +0300 Subject: [PATCH] Allow hostnames in parent --- src/common.c | 2 +- src/conf.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/common.c b/src/common.c index e8106e2..8cd7110 100644 --- a/src/common.c +++ b/src/common.c @@ -609,7 +609,7 @@ unsigned long getip46(int family, unsigned char *name, struct sockaddr *sa){ if(detect != -1){ if(family == 4 && detect != AF_INET) return 0; *SAFAMILY(sa) = (family == 6)? AF_INET6 : detect; - return inet_pton(*SAFAMILY(sa), (char *)name, SAADDR(sa))? *SAFAMILY(sa) : 0; + return inet_pton(*SAFAMILY(sa), (char *)name, SAADDR(sa))>0? *SAFAMILY(sa) : 0; } diff --git a/src/conf.c b/src/conf.c index 3d7a545..8409772 100644 --- a/src/conf.c +++ b/src/conf.c @@ -766,7 +766,7 @@ static int h_parent(int argc, unsigned char **argv){ } cidr = strchr(argv[3], '/'); if(cidr) *cidr = 0; - getip46(46, argv[3], (struct sockaddr *)&chains->addr); + if(!getip46(46, argv[3], (struct sockaddr *)&chains->addr)) return (5); chains->exthost = (unsigned char *)mystrdup((char *)argv[3]); if(!chains->exthost) return 21; if(cidr){