diff --git a/src/3proxy.c b/src/3proxy.c index 426e027..63a95d5 100644 --- a/src/3proxy.c +++ b/src/3proxy.c @@ -721,6 +721,7 @@ static int h_proxy(int argc, unsigned char ** argv){ childdef.port = 53; childdef.isudp = 1; childdef.service = S_DNSPR; + childdef.helpmessage = " -s - simple DNS forwarding - do not use 3proxy resolver / name cache\n"; if(!resolvfunc || (resolvfunc == myresolver && !dns_table.hashsize) || resolvfunc == fakeresolver){ fprintf(stderr, "[line %d] Warning: no nserver/nscache configured, dnspr will not work as expected\n", linenum); } diff --git a/src/dnspr.c b/src/dnspr.c index 55d1eee..f264fb7 100644 --- a/src/dnspr.c +++ b/src/dnspr.c @@ -82,7 +82,7 @@ void * dnsprchild(struct clientparam* param) { *s2 = (len - (int)(s2 - buf)) - 1; type = ((unsigned)buf[len+1])*256 + (unsigned)buf[len+2]; - if(type==1){ + if(type==1 && !param->srv->singlepacket){ ip = udpresolve((unsigned char *)host, &ttl, param, 0); } @@ -129,7 +129,7 @@ void * dnsprchild(struct clientparam* param) { } else ip = 0; } - if(!ip && nservers[0].ip && type!=1){ + if(!ip && nservers[0].ip){ if((param->remsock=so._socket(PF_INET, nservers[0].usetcp? SOCK_STREAM:SOCK_DGRAM, nservers[0].usetcp?IPPROTO_TCP:IPPROTO_UDP)) == INVALID_SOCKET) { RETURN(818); } diff --git a/src/version.h b/src/version.h index b96ed57..c993aa2 100644 --- a/src/version.h +++ b/src/version.h @@ -1,2 +1,2 @@ #define VERSION "3proxy-0.8b-devel" -#define BUILDDATE "141211034918" +#define BUILDDATE "141212231810"