Format code

This commit is contained in:
Nick Peng
2018-12-28 23:26:24 +08:00
parent 7ab837b980
commit 9e4ac50ee8
8 changed files with 54 additions and 58 deletions

View File

@@ -1,11 +1,11 @@
#ifndef _SMARTDNS_CACHE_H
#define _SMARTDNS_CACHE_H
#include "dns.h"
#include "hashtable.h"
#include "hash.h"
#include "list.h"
#include "atomic.h"
#include "dns.h"
#include "hash.h"
#include "hashtable.h"
#include "list.h"
#include <time.h>
struct dns_cache {

View File

@@ -52,7 +52,7 @@
#define DNS_TCP_BUFFER (16 * 1024)
#ifndef TCP_FASTOPEN_CONNECT
#define TCP_FASTOPEN_CONNECT 30
#define TCP_FASTOPEN_CONNECT 30
#endif
struct dns_client_ecs {
@@ -231,8 +231,8 @@ int _dns_client_server_exist(struct addrinfo *gai, dns_server_type_t server_type
return -1;
}
void _dns_client_server_update_ttl(struct ping_host_struct *ping_host, const char *host, FAST_PING_RESULT result, struct sockaddr *addr, socklen_t addr_len, int seqno,
int ttl, struct timeval *tv, void *userptr)
void _dns_client_server_update_ttl(struct ping_host_struct *ping_host, const char *host, FAST_PING_RESULT result, struct sockaddr *addr, socklen_t addr_len,
int seqno, int ttl, struct timeval *tv, void *userptr)
{
struct dns_server_info *server_info = userptr;
if (result != PING_RESULT_RESPONSE || server_info == NULL) {
@@ -661,9 +661,9 @@ static int _dns_client_recv(struct dns_server_info *server_info, unsigned char *
return -1;
}
tlog(TLOG_DEBUG, "qdcount = %d, ancount = %d, nscount = %d, nrcount = %d, len = %d, id = %d, tc = %d, rd = %d, ra = %d, rcode = %d, payloadsize = %d\n", packet->head.qdcount,
packet->head.ancount, packet->head.nscount, packet->head.nrcount, inpacket_len, packet->head.id, packet->head.tc, packet->head.rd, packet->head.ra,
packet->head.rcode, dns_get_OPT_payload_size(packet));
tlog(TLOG_DEBUG, "qdcount = %d, ancount = %d, nscount = %d, nrcount = %d, len = %d, id = %d, tc = %d, rd = %d, ra = %d, rcode = %d, payloadsize = %d\n",
packet->head.qdcount, packet->head.ancount, packet->head.nscount, packet->head.nrcount, inpacket_len, packet->head.id, packet->head.tc,
packet->head.rd, packet->head.ra, packet->head.rcode, dns_get_OPT_payload_size(packet));
/* get question */
rrs = dns_get_rrs_start(packet, DNS_RRS_QD, &rr_count);
@@ -710,7 +710,7 @@ static int _dns_client_create_socket_udp(struct dns_server_info *server_info)
int fd = 0;
struct epoll_event event;
const int on = 1;
const int val=255;
const int val = 255;
fd = socket(server_info->ai_family, SOCK_DGRAM, 0);
if (fd < 0) {
@@ -757,7 +757,7 @@ static int _DNS_client_create_socket_tcp(struct dns_server_info *server_info)
goto errout;
}
if (setsockopt(fd, IPPROTO_TCP, TCP_FASTOPEN_CONNECT, &yes, sizeof(yes)) != 0 ) {
if (setsockopt(fd, IPPROTO_TCP, TCP_FASTOPEN_CONNECT, &yes, sizeof(yes)) != 0) {
tlog(TLOG_DEBUG, "enable TCP fast open failed.");
}
@@ -819,7 +819,7 @@ static int _DNS_client_create_socket_tls(struct dns_server_info *server_info)
goto errout;
}
if (setsockopt(fd, IPPROTO_TCP, TCP_FASTOPEN_CONNECT, &yes, sizeof(yes)) != 0 ) {
if (setsockopt(fd, IPPROTO_TCP, TCP_FASTOPEN_CONNECT, &yes, sizeof(yes)) != 0) {
tlog(TLOG_DEBUG, "enable TCP fast open failed.");
}
@@ -920,10 +920,8 @@ static int _dns_client_process_udp(struct dns_server_info *server_info, struct e
from_len = msg.msg_namelen;
for (cmsg = CMSG_FIRSTHDR(&msg); cmsg; cmsg = CMSG_NXTHDR(&msg, cmsg)) {
if (cmsg->cmsg_level == SOL_IP
&& cmsg->cmsg_type == IP_TTL
) {
uint8_t * ttlPtr = (uint8_t *)CMSG_DATA(cmsg);
if (cmsg->cmsg_level == SOL_IP && cmsg->cmsg_type == IP_TTL) {
uint8_t *ttlPtr = (uint8_t *)CMSG_DATA(cmsg);
ttl = *ttlPtr;
break;
}

View File

@@ -25,7 +25,8 @@ int dns_client_init(void);
int dns_client_set_ecs(char *ip, int subnet);
/* query result notify function */
typedef int (*dns_client_callback)(char *domain, dns_result_type rtype, unsigned int result_flag, struct dns_packet *packet, unsigned char *inpacket, int inpacket_len, void *user_ptr);
typedef int (*dns_client_callback)(char *domain, dns_result_type rtype, unsigned int result_flag, struct dns_packet *packet, unsigned char *inpacket,
int inpacket_len, void *user_ptr);
/* query domain */
int dns_client_query(char *domain, int qtype, dns_client_callback callback, void *user_ptr);

View File

@@ -18,10 +18,10 @@
#define _GNU_SOURCE
#include "dns_server.h"
#include "atomic.h"
#include "dns_conf.h"
#include "dns.h"
#include "dns_cache.h"
#include "dns_client.h"
#include "dns_conf.h"
#include "fast_ping.h"
#include "hashtable.h"
#include "list.h"
@@ -528,7 +528,8 @@ int _dns_server_request_complete(struct dns_request *request)
if (request->has_ipv4) {
dns_cache_insert(request->domain, cname, cname_ttl, request->ttl_v4, DNS_T_AAAA, request->ipv4_addr, DNS_RR_A_LEN);
if (((request->ping_ttl_v4 + (dns_conf_dualstack_ip_selection_threshold * 10) < request->ping_ttl_v6 ) && (request->ping_ttl_v4 > 0)) || (request->ping_ttl_v6 == -1) ) {
if (((request->ping_ttl_v4 + (dns_conf_dualstack_ip_selection_threshold * 10) < request->ping_ttl_v6) && (request->ping_ttl_v4 > 0)) ||
(request->ping_ttl_v6 == -1)) {
tlog(TLOG_DEBUG, "Force IPV4 perfered.");
return _dns_server_reply_SOA(DNS_RC_NOERROR, request, NULL);
}
@@ -602,16 +603,15 @@ void _dns_server_select_maxhit_ipaddress(struct dns_request *request)
tlog(TLOG_DEBUG, "select best ip address, %s", request->domain);
switch (request->qtype) {
case DNS_T_A: {
memcpy(request->ipv4_addr, maxhit_addr_map->ipv4_addr, DNS_RR_A_LEN);
request->ttl_v4 = DNS_SERVER_TMOUT_TTL;
} break;
case DNS_T_AAAA: {
memcpy(request->ipv6_addr, maxhit_addr_map->ipv6_addr, DNS_RR_AAAA_LEN);
request->ttl_v6 = DNS_SERVER_TMOUT_TTL;
}
break;
default:
case DNS_T_A: {
memcpy(request->ipv4_addr, maxhit_addr_map->ipv4_addr, DNS_RR_A_LEN);
request->ttl_v4 = DNS_SERVER_TMOUT_TTL;
} break;
case DNS_T_AAAA: {
memcpy(request->ipv6_addr, maxhit_addr_map->ipv6_addr, DNS_RR_AAAA_LEN);
request->ttl_v6 = DNS_SERVER_TMOUT_TTL;
} break;
default:
break;
}
}
@@ -625,8 +625,7 @@ void _dns_server_request_release(struct dns_request *request)
int refcnt = atomic_dec_return(&request->refcnt);
if (refcnt) {
if (refcnt < 0) {
tlog(TLOG_ERROR, "BUG: refcnt is %d, domain %s, qtype =%d", refcnt, request->domain,
request->qtype);
tlog(TLOG_ERROR, "BUG: refcnt is %d, domain %s, qtype =%d", refcnt, request->domain, request->qtype);
abort();
}
return;
@@ -675,7 +674,6 @@ void _dns_server_ping_result(struct ping_host_struct *ping_host, const char *hos
unsigned int rtt = tv->tv_sec * 10000 + tv->tv_usec / 100;
switch (addr->sa_family) {
case AF_INET: {
struct sockaddr_in *addr_in;
@@ -1007,8 +1005,8 @@ static int dns_server_update_reply_packet_id(struct dns_request *request, unsign
return 0;
}
static int dns_server_resolve_callback(char *domain, dns_result_type rtype, unsigned int result_flag, struct dns_packet *packet, unsigned char *inpacket, int inpacket_len,
void *user_ptr)
static int dns_server_resolve_callback(char *domain, dns_result_type rtype, unsigned int result_flag, struct dns_packet *packet, unsigned char *inpacket,
int inpacket_len, void *user_ptr)
{
struct dns_request *request = user_ptr;
int ip_num = 0;

View File

@@ -53,14 +53,14 @@ struct ping_dns_head {
unsigned short adcount;
} __attribute__((packed));
typedef enum FAST_PING_TYPE {
FAST_PING_ICMP = 1,
FAST_PING_ICMP6 = 2,
FAST_PING_TCP,
FAST_PING_UDP,
typedef enum FAST_PING_TYPE {
FAST_PING_ICMP = 1,
FAST_PING_ICMP6 = 2,
FAST_PING_TCP,
FAST_PING_UDP,
FAST_PING_UDP6,
FAST_PING_END,
} FAST_PING_TYPE;
} FAST_PING_TYPE;
struct fast_ping_packet_msg {
struct timeval tv;
@@ -636,7 +636,7 @@ static int _fast_ping_create_udp_sock(FAST_PING_TYPE type)
tlog(TLOG_ERROR, "create udp socket failed, %s\n", strerror(errno));
goto errout;
}
udp_host = &ping.udp_host;
break;
case FAST_PING_UDP6:
@@ -645,7 +645,7 @@ static int _fast_ping_create_udp_sock(FAST_PING_TYPE type)
tlog(TLOG_ERROR, "create udp socket failed, %s\n", strerror(errno));
goto errout;
}
udp_host = &ping.udp6_host;
break;
default:
@@ -671,7 +671,7 @@ errout:
return -1;
}
static int _fast_ping_create_udp(FAST_PING_TYPE type)
static int _fast_ping_create_udp(FAST_PING_TYPE type)
{
int fd = 0;
int *set_fd = NULL;
@@ -1176,10 +1176,8 @@ static int _fast_ping_process_udp(struct ping_host_struct *ping_host, struct tim
}
for (cmsg = CMSG_FIRSTHDR(&msg); cmsg; cmsg = CMSG_NXTHDR(&msg, cmsg)) {
if (cmsg->cmsg_level == SOL_IP
&& cmsg->cmsg_type == IP_TTL
) {
uint8_t * ttlPtr = (uint8_t *)CMSG_DATA(cmsg);
if (cmsg->cmsg_level == SOL_IP && cmsg->cmsg_type == IP_TTL) {
uint8_t *ttlPtr = (uint8_t *)CMSG_DATA(cmsg);
ttl = *ttlPtr;
break;
}

View File

@@ -1,8 +1,8 @@
#ifndef FAST_PING_H
#define FAST_PING_H
#include <sys/time.h>
#include <netdb.h>
#include <sys/time.h>
#ifdef __cpluscplus
extern "C" {
#endif
@@ -20,7 +20,8 @@ typedef enum {
} FAST_PING_RESULT;
struct ping_host_struct;
typedef void (*fast_ping_result)(struct ping_host_struct *ping_host, const char *host, FAST_PING_RESULT result, struct sockaddr *addr, socklen_t addr_len, int seqno, int ttl, struct timeval *tv, void *userptr);
typedef void (*fast_ping_result)(struct ping_host_struct *ping_host, const char *host, FAST_PING_RESULT result, struct sockaddr *addr, socklen_t addr_len,
int seqno, int ttl, struct timeval *tv, void *userptr);
/* start ping */
struct ping_host_struct *fast_ping_start(PING_TYPE type, const char *host, int count, int interval, int timeout, fast_ping_result ping_callback, void *userptr);

View File

@@ -97,7 +97,7 @@ extern int conf_size(const char *item, void *data, int argc, char *argv[]);
/*
* Example:
* int num = 0;
*
*
* struct config_item itmes [] = {
* CONF_INT("CONF_NUM", &num, -1, 10),
* CONF_END();

View File

@@ -19,8 +19,8 @@
#define _GNU_SOURCE
#include "art.h"
#include "atomic.h"
#include "dns_conf.h"
#include "dns_client.h"
#include "dns_conf.h"
#include "dns_server.h"
#include "fast_ping.h"
#include "hashtable.h"
@@ -124,8 +124,8 @@ int smartdns_add_servers(void)
int i = 0;
int ret = 0;
for (i = 0; i < dns_conf_server_num; i++) {
ret = dns_add_server(dns_conf_servers[i].server, dns_conf_servers[i].port, dns_conf_servers[i].type, dns_conf_servers[i].result_flag,
dns_conf_servers[i].ttl);
ret = dns_add_server(dns_conf_servers[i].server, dns_conf_servers[i].port, dns_conf_servers[i].type, dns_conf_servers[i].result_flag,
dns_conf_servers[i].ttl);
if (ret != 0) {
tlog(TLOG_ERROR, "add server failed, %s:%d", dns_conf_servers[i].server, dns_conf_servers[i].port);
return -1;
@@ -267,7 +267,7 @@ int smartdns_init(void)
}
ret = smartdns_set_ecs_ip();
if (ret != 0 ) {
if (ret != 0) {
tlog(TLOG_WARN, "set ecs ip address failed.");
}
@@ -299,8 +299,8 @@ void sig_exit(int signo)
void sig_error_exit(int signo, siginfo_t *siginfo, void *context)
{
tlog(TLOG_ERROR, "process exit with signal %d, code = %d, errno = %d, pid = %d, self = %d, addr = %p\n", signo,
siginfo->si_code, siginfo->si_errno, siginfo->si_pid, getpid(), siginfo->si_addr);
tlog(TLOG_ERROR, "process exit with signal %d, code = %d, errno = %d, pid = %d, self = %d, addr = %p\n", signo, siginfo->si_code, siginfo->si_errno,
siginfo->si_pid, getpid(), siginfo->si_addr);
sleep(1);
_exit(0);
}
@@ -386,7 +386,7 @@ int main(int argc, char *argv[])
atexit(smartdns_exit);
return smartdns_run();
errout:
return 1;