@@ -88,8 +88,9 @@ bool add_upstream(char * /* buf */, ssize_t /* n */, Upstream *upstream) {
88
88
89
89
bool use_ipv6_lookup (const Upstream *upstream) {
90
90
return (Config::IPv6Mode::Full == config->ipv6First or
91
- (!upstream->dns1 .use_localnet_dns_server ? Config::IPv6Mode::OnlyForRemote ==
92
- config->ipv6First : false ));
91
+ (upstream->dns1 .use_localnet_dns_server ?
92
+ config->ipv6First == Config::IPv6Mode::OnlyForLocal
93
+ : config->ipv6First == Config::IPv6Mode::OnlyForRemote));
93
94
}
94
95
95
96
Upstream *check (char *buf, ssize_t &n, bool tcp = false , int epollfd = 0 ) {
@@ -181,7 +182,7 @@ Upstream *check(char *buf, ssize_t &n, bool tcp = false, int epollfd = 0) {
181
182
struct epoll_event ev{};
182
183
ev.events = EPOLLET | EPOLLOUT | EPOLLRDHUP;
183
184
ev.data .fd = upfd;
184
- int ret = connect (upfd, (sockaddr *) &upserver_addr, sizeof (upserver_addr));
185
+ int ret = connect (upfd, (sockaddr * ) & upserver_addr, sizeof (upserver_addr));
185
186
if (ret < 0 and errno != EINPROGRESS) {
186
187
BOOST_LOG_TRIVIAL (error) << boost::format (" connect failed %d : %s " ) % __LINE__ % strerror (errno);
187
188
return nullptr ;
@@ -192,12 +193,12 @@ Upstream *check(char *buf, ssize_t &n, bool tcp = false, int epollfd = 0) {
192
193
server_tcp_con[upfd] = upstream;
193
194
} else {
194
195
if (upstream->dns1 .use_localnet_dns_server ) {
195
- if (sendto (localnet_server_sock, buf, n, 0 , (sockaddr *) &localnet_server_addr,
196
+ if (sendto (localnet_server_sock, buf, n, 0 , (sockaddr * ) & localnet_server_addr,
196
197
sizeof (localnet_server_addr)) < 0 ) {
197
198
BOOST_LOG_TRIVIAL (warning)
198
199
<< boost::format (" sendto up stream error %d : %s" ) % __LINE__ % strerror (errno);
199
200
}
200
- } else if (sendto (upserver_sock, buf, n, 0 , (sockaddr *) &upserver_addr, sizeof (upserver_addr)) <
201
+ } else if (sendto (upserver_sock, buf, n, 0 , (sockaddr * ) & upserver_addr, sizeof (upserver_addr)) <
201
202
0 ) {
202
203
BOOST_LOG_TRIVIAL (warning) << boost::format (" sendto up stream error %d : %s" ) % __LINE__ % strerror (errno);
203
204
}
@@ -292,7 +293,7 @@ void read_buf(int fd, char *buf, Upstream *up) {
292
293
void acceptTcpIncome (int server_sock_tcp, int epollfd, sockaddr_storage &cliaddr, socklen_t &socklen, epoll_event &ev) {
293
294
for (;;) {
294
295
socklen = sizeof (cliaddr);
295
- int newcon = accept4 (server_sock_tcp, (sockaddr *) &cliaddr, &socklen, SOCK_NONBLOCK);
296
+ int newcon = accept4 (server_sock_tcp, (sockaddr * ) & cliaddr, &socklen, SOCK_NONBLOCK);
296
297
if (newcon < 0 ) {
297
298
if (errno != EAGAIN or errno != EWOULDBLOCK)
298
299
BOOST_LOG_TRIVIAL (error) << boost::format (" accept error %d : %s" ) % __LINE__ % strerror (errno);
@@ -349,7 +350,7 @@ void readServerResponse(int server_sock, char *buf) {
349
350
350
351
*(uint16_t *) buf = htons (upstream->cli_id );
351
352
BOOST_LOG_TRIVIAL (debug) << " send udp response to client" ;
352
- sendto (upstream->s ->socket , buf, n, 0 , (sockaddr *) &upstream->cliaddr , upstream->socklen );
353
+ sendto (upstream->s ->socket , buf, n, 0 , (sockaddr * ) & upstream->cliaddr , upstream->socklen );
353
354
id_map.erase (upstream->up_id );
354
355
boost::checked_delete (upstream);
355
356
upstream = nullptr ;
@@ -362,7 +363,7 @@ void readIncomeQuery(int server_sock, char *buf, sockaddr_storage &cliaddr, sock
362
363
ssize_t n;
363
364
socklen = sizeof (struct sockaddr_storage );
364
365
while (1 ) {
365
- n = recvfrom (server_sock, buf, 65536 , 0 , (sockaddr *) &cliaddr, &socklen);
366
+ n = recvfrom (server_sock, buf, 65536 , 0 , (sockaddr * ) & cliaddr, &socklen);
366
367
if (n == -1 ) {
367
368
if (errno == EAGAIN or errno == EWOULDBLOCK) return ;
368
369
// if (errno == EINTR) continue;
@@ -405,7 +406,7 @@ void readIncomeQuery(int server_sock, char *buf, sockaddr_storage &cliaddr, sock
405
406
BOOST_LOG_TRIVIAL (warning) << " Memory Access Error : " << err.what ();
406
407
}
407
408
BOOST_LOG_TRIVIAL (debug) << " send response to client from cache" ;
408
- sendto (server_sock, buf, n, 0 , (sockaddr *) &cliaddr, socklen);
409
+ sendto (server_sock, buf, n, 0 , (sockaddr * ) & cliaddr, socklen);
409
410
boost::checked_delete (response);
410
411
boost::checked_delete (up);
411
412
} else {
@@ -426,12 +427,12 @@ void readIncomeQuery(int server_sock, char *buf, sockaddr_storage &cliaddr, sock
426
427
}
427
428
BOOST_LOG_TRIVIAL (debug) << " send udp request to server" ;
428
429
if (up->dns1 .use_localnet_dns_server ) {
429
- if (sendto (localnet_server_sock, buf, n, 0 , (sockaddr *) &localnet_server_addr,
430
+ if (sendto (localnet_server_sock, buf, n, 0 , (sockaddr * ) & localnet_server_addr,
430
431
sizeof (localnet_server_addr)) <
431
432
0 ) {
432
433
BOOST_LOG_TRIVIAL (warning) << " send error : " << __LINE__ << std::endl;
433
434
}
434
- } else if (sendto (upserver_sock, buf, n, 0 , (sockaddr *) &upserver_addr,
435
+ } else if (sendto (upserver_sock, buf, n, 0 , (sockaddr * ) & upserver_addr,
435
436
sizeof (upserver_addr)) < 0 ) {
436
437
BOOST_LOG_TRIVIAL (warning) << " send error : " << __LINE__ << std::endl;
437
438
}
@@ -512,10 +513,10 @@ void readIncomeTcpQuery(int epollfd, char *buf, struct epoll_event event, DnsQue
512
513
BOOST_LOG_TRIVIAL (debug) << " new tcp connnect to server" ;
513
514
int ret;
514
515
if (up->dns1 .use_localnet_dns_server ) {
515
- ret = connect (upfd, (sockaddr *) &localnet_server_addr, sizeof (localnet_server_addr));
516
+ ret = connect (upfd, (sockaddr * ) & localnet_server_addr, sizeof (localnet_server_addr));
516
517
BOOST_LOG_TRIVIAL (debug) << " Tcp connect to localnet dns server ..." ;
517
518
} else {
518
- ret = connect (upfd, (sockaddr *) &upserver_addr, sizeof (upserver_addr));
519
+ ret = connect (upfd, (sockaddr * ) & upserver_addr, sizeof (upserver_addr));
519
520
BOOST_LOG_TRIVIAL (debug) << " Tcp connect to remote dns server ..." ;
520
521
}
521
522
if (ret < 0 and errno != EINPROGRESS) {
@@ -570,7 +571,7 @@ void HandleServerSideTcp(int epollfd, char *buf, struct epoll_event event) {
570
571
if (upstream == nullptr )
571
572
return ;
572
573
*(uint16_t *) buf = htons (up->data_len );
573
- *(uint16_t *) (buf + 2 ) = htons (upstream->cli_id );
574
+ *(uint16_t * ) (buf + 2 ) = htons (upstream->cli_id );
574
575
BOOST_LOG_TRIVIAL (debug) << " send tcp response to client" ;
575
576
write (upstream->cli_fd , buf, up->data_len + 2 );
576
577
close (upstream->cli_fd );
0 commit comments