Update code

This commit is contained in:
Nick Peng
2018-06-08 21:57:33 +08:00
parent 4ee70e3eac
commit 4a6b0baddd
5 changed files with 595 additions and 537 deletions

10
dns.c
View File

@@ -35,10 +35,10 @@ short dns_read_short(unsigned char **buffer)
{
unsigned short value;
value = *((unsigned short *)(*buffer));
value = ntohs(*((unsigned short *)(*buffer)));
*buffer += 2;
return ntohs(value);
return value;
}
void dns_write_char(unsigned char **buffer, unsigned char value)
@@ -63,7 +63,7 @@ void dns_write_short(unsigned char **buffer, unsigned short value)
void dns_write_int(unsigned char **buffer, unsigned int value)
{
value = htons(value);
value = htonl(value);
*((unsigned int *)(*buffer)) = value;
*buffer += 4;
}
@@ -72,10 +72,10 @@ unsigned int dns_read_int(unsigned char **buffer)
{
unsigned int value;
value = *((unsigned int *)(*buffer));
value = ntohl(*((unsigned int *)(*buffer)));
*buffer += 4;
return ntohs(value);
return value;
}
struct dns_rrs *dns_get_rrs_start(struct dns_packet *packet, dns_rr_type type, int *count)

File diff suppressed because it is too large Load Diff

View File

@@ -211,7 +211,7 @@ static int _dns_reply(struct dns_request *request)
head.id = request->id;
head.qr = DNS_QR_ANSWER;
head.opcode = DNS_OP_QUERY;
head.rd = 0;
head.rd = 1;
head.ra = 0;
head.aa = 0;
head.tc = 0;
@@ -411,13 +411,14 @@ static int _dns_server_process_answer(struct dns_request *request, char *domain,
struct dns_rrs *rrs = NULL;
if (packet->head.rcode != DNS_RC_NOERROR) {
if (request->rcode == (unsigned short)-1) {
if (request->rcode == DNS_RC_SERVFAIL) {
request->rcode = packet->head.rcode;
}
tlog(TLOG_ERROR, "inquery failed, %s, rcode = %d, id = %d\n", domain, packet->head.rcode, packet->head.id);
return -1;
}
request->rcode = packet->head.rcode;
for (j = 1; j < DNS_RRS_END; j++) {

View File

@@ -116,7 +116,7 @@ int smartdns_init()
}
tlog_setlogscreen(1);
tlog_setlevel(TLOG_DEBUG);
tlog_setlevel(TLOG_INFO);
if (dns_conf_server_num <= 0) {
if (smartdns_load_from_resolv() != 0) {

View File

@@ -5,12 +5,13 @@ port 53
cache-size 1024
loglevel info
#server 192.168.1.1
server 114.114.114.114
server 123.207.137.88
server 119.29.29.29
server 223.5.5.5
server 208.67.222.222:5353
server 202.141.178.13:5353
#server 77.88.8.8:53
server 77.88.8.8:53
server 202.141.162.123:53
server 101.132.183.99:53