Fix addr to string ip issue
This commit is contained in:
@@ -745,7 +745,7 @@ static int _dns_client_recv(struct dns_server_info *server_info, unsigned char *
|
|||||||
if (len != 0) {
|
if (len != 0) {
|
||||||
char host_name[DNS_MAX_CNAME_LEN];
|
char host_name[DNS_MAX_CNAME_LEN];
|
||||||
tlog(TLOG_WARN, "decode failed, packet len = %d, tc = %d, id = %d, from = %s\n", inpacket_len, packet->head.tc, packet->head.id,
|
tlog(TLOG_WARN, "decode failed, packet len = %d, tc = %d, id = %d, from = %s\n", inpacket_len, packet->head.tc, packet->head.id,
|
||||||
gethost_by_addr(host_name, from, from_len));
|
gethost_by_addr(host_name, sizeof(host_name), from));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1043,7 +1043,7 @@ static int _dns_client_process_udp(struct dns_server_info *server_info, struct e
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tlog(TLOG_DEBUG, "recv udp packet from %s, len: %d, ttl: %d", gethost_by_addr(from_host, (struct sockaddr *)&from, from_len), len, ttl);
|
tlog(TLOG_DEBUG, "recv udp packet from %s, len: %d, ttl: %d", gethost_by_addr(from_host, sizeof(from_host), (struct sockaddr *)&from), len, ttl);
|
||||||
|
|
||||||
if ((ttl != server_info->ttl) && (server_info->ttl > 0) && (server_info->result_flag & DNSSERVER_FLAG_CHECK_TTL)) {
|
if ((ttl != server_info->ttl) && (server_info->ttl > 0) && (server_info->result_flag & DNSSERVER_FLAG_CHECK_TTL)) {
|
||||||
if ((ttl < server_info->ttl - server_info->ttl_range) || (ttl > server_info->ttl + server_info->ttl_range)) {
|
if ((ttl < server_info->ttl - server_info->ttl_range) || (ttl > server_info->ttl + server_info->ttl_range)) {
|
||||||
|
|||||||
@@ -198,7 +198,7 @@ static void _dns_server_audit_log(struct dns_request *request)
|
|||||||
} else {
|
} else {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
gethost_by_addr(req_host, &request->addr, request->addr_len);
|
gethost_by_addr(req_host, sizeof(req_host), &request->addr);
|
||||||
tlog_localtime(&tm);
|
tlog_localtime(&tm);
|
||||||
|
|
||||||
snprintf(req_time, sizeof(req_time), "[%.4d-%.2d-%.2d %.2d:%.2d:%.2d,%.3d]", tm.year, tm.mon, tm.mday, tm.hour, tm.min, tm.sec, tm.usec / 1000);
|
snprintf(req_time, sizeof(req_time), "[%.4d-%.2d-%.2d %.2d:%.2d:%.2d,%.3d]", tm.year, tm.mon, tm.mday, tm.hour, tm.min, tm.sec, tm.usec / 1000);
|
||||||
@@ -1443,7 +1443,7 @@ static int _dns_server_recv(struct dns_server_conn *client, unsigned char *inpac
|
|||||||
|
|
||||||
_dns_server_client_get(client);
|
_dns_server_client_get(client);
|
||||||
|
|
||||||
tlog(TLOG_DEBUG, "recv query packet from %s, len = %d", gethost_by_addr(name, (struct sockaddr *)from, from_len), inpacket_len);
|
tlog(TLOG_DEBUG, "recv query packet from %s, len = %d", gethost_by_addr(name, sizeof(name), (struct sockaddr *)from), inpacket_len);
|
||||||
decode_len = dns_decode(packet, DNS_PACKSIZE, inpacket, inpacket_len);
|
decode_len = dns_decode(packet, DNS_PACKSIZE, inpacket, inpacket_len);
|
||||||
if (decode_len < 0) {
|
if (decode_len < 0) {
|
||||||
tlog(TLOG_ERROR, "decode failed.\n");
|
tlog(TLOG_ERROR, "decode failed.\n");
|
||||||
|
|||||||
@@ -372,7 +372,7 @@ static int _fast_ping_sendping_v6(struct ping_host_struct *ping_host)
|
|||||||
}
|
}
|
||||||
|
|
||||||
char ping_host_name[PING_MAX_HOSTLEN];
|
char ping_host_name[PING_MAX_HOSTLEN];
|
||||||
tlog(TLOG_ERROR, "sendto %s, id %d, %s", gethost_by_addr(ping_host_name, (struct sockaddr *)&ping_host->addr, ping_host->addr_len), ping_host->sid,
|
tlog(TLOG_ERROR, "sendto %s, id %d, %s", gethost_by_addr(ping_host_name, sizeof(ping_host_name), (struct sockaddr *)&ping_host->addr), ping_host->sid,
|
||||||
strerror(err));
|
strerror(err));
|
||||||
goto errout;
|
goto errout;
|
||||||
}
|
}
|
||||||
@@ -411,7 +411,7 @@ static int _fast_ping_sendping_v4(struct ping_host_struct *ping_host)
|
|||||||
goto errout;
|
goto errout;
|
||||||
}
|
}
|
||||||
char ping_host_name[PING_MAX_HOSTLEN];
|
char ping_host_name[PING_MAX_HOSTLEN];
|
||||||
tlog(TLOG_ERROR, "sendto %s, id %d, %s", gethost_by_addr(ping_host_name, (struct sockaddr *)&ping_host->addr, ping_host->addr_len), ping_host->sid,
|
tlog(TLOG_ERROR, "sendto %s, id %d, %s", gethost_by_addr(ping_host_name, sizeof(ping_host_name), (struct sockaddr *)&ping_host->addr), ping_host->sid,
|
||||||
strerror(err));
|
strerror(err));
|
||||||
goto errout;
|
goto errout;
|
||||||
}
|
}
|
||||||
@@ -457,7 +457,7 @@ static int _fast_ping_sendping_udp(struct ping_host_struct *ping_host)
|
|||||||
goto errout;
|
goto errout;
|
||||||
}
|
}
|
||||||
char ping_host_name[PING_MAX_HOSTLEN];
|
char ping_host_name[PING_MAX_HOSTLEN];
|
||||||
tlog(TLOG_ERROR, "sendto %s, id %d, %s", gethost_by_addr(ping_host_name, (struct sockaddr *)&ping_host->addr, ping_host->addr_len), ping_host->sid,
|
tlog(TLOG_ERROR, "sendto %s, id %d, %s", gethost_by_addr(ping_host_name, sizeof(ping_host_name), (struct sockaddr *)&ping_host->addr), ping_host->sid,
|
||||||
strerror(err));
|
strerror(err));
|
||||||
goto errout;
|
goto errout;
|
||||||
}
|
}
|
||||||
@@ -499,7 +499,7 @@ static int _fast_ping_sendping_tcp(struct ping_host_struct *ping_host)
|
|||||||
bool_print_log = 0;
|
bool_print_log = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
tlog(TLOG_ERROR, "connect %s, id %d, %s", gethost_by_addr(ping_host_name, (struct sockaddr *)&ping_host->addr, ping_host->addr_len), ping_host->sid,
|
tlog(TLOG_ERROR, "connect %s, id %d, %s", gethost_by_addr(ping_host_name, sizeof(ping_host_name), (struct sockaddr *)&ping_host->addr), ping_host->sid,
|
||||||
strerror(errno));
|
strerror(errno));
|
||||||
goto errout;
|
goto errout;
|
||||||
}
|
}
|
||||||
@@ -1090,7 +1090,7 @@ static int _fast_ping_process_icmp(struct ping_host_struct *ping_host, struct ti
|
|||||||
packet = _fast_ping_recv_packet(ping_host, &msg, inpacket, len, now);
|
packet = _fast_ping_recv_packet(ping_host, &msg, inpacket, len, now);
|
||||||
if (packet == NULL) {
|
if (packet == NULL) {
|
||||||
char name[PING_MAX_HOSTLEN];
|
char name[PING_MAX_HOSTLEN];
|
||||||
tlog(TLOG_DEBUG, "recv ping packet from %s failed.", gethost_by_addr(name, (struct sockaddr *)&from, from_len));
|
tlog(TLOG_DEBUG, "recv ping packet from %s failed.", gethost_by_addr(name, sizeof(name), (struct sockaddr *)&from));
|
||||||
goto errout;
|
goto errout;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ unsigned long get_tick_count(void)
|
|||||||
return (ts.tv_sec * 1000 + ts.tv_nsec / 1000000);
|
return (ts.tv_sec * 1000 + ts.tv_nsec / 1000000);
|
||||||
}
|
}
|
||||||
|
|
||||||
char *gethost_by_addr(char *host, struct sockaddr *addr, socklen_t addr_len)
|
char *gethost_by_addr(char *host, int maxsize, struct sockaddr *addr)
|
||||||
{
|
{
|
||||||
struct sockaddr_storage *addr_store = (struct sockaddr_storage *)addr;
|
struct sockaddr_storage *addr_store = (struct sockaddr_storage *)addr;
|
||||||
host[0] = 0;
|
host[0] = 0;
|
||||||
@@ -75,7 +75,7 @@ char *gethost_by_addr(char *host, struct sockaddr *addr, socklen_t addr_len)
|
|||||||
case AF_INET: {
|
case AF_INET: {
|
||||||
struct sockaddr_in *addr_in;
|
struct sockaddr_in *addr_in;
|
||||||
addr_in = (struct sockaddr_in *)addr;
|
addr_in = (struct sockaddr_in *)addr;
|
||||||
inet_ntop(AF_INET, &addr_in->sin_addr, host, addr_len);
|
inet_ntop(AF_INET, &addr_in->sin_addr, host, maxsize);
|
||||||
} break;
|
} break;
|
||||||
case AF_INET6: {
|
case AF_INET6: {
|
||||||
struct sockaddr_in6 *addr_in6;
|
struct sockaddr_in6 *addr_in6;
|
||||||
@@ -84,9 +84,9 @@ char *gethost_by_addr(char *host, struct sockaddr *addr, socklen_t addr_len)
|
|||||||
struct sockaddr_in addr_in4;
|
struct sockaddr_in addr_in4;
|
||||||
memset(&addr_in4, 0, sizeof(addr_in4));
|
memset(&addr_in4, 0, sizeof(addr_in4));
|
||||||
memcpy(&addr_in4.sin_addr.s_addr, addr_in6->sin6_addr.s6_addr + 12, sizeof(addr_in4.sin_addr.s_addr));
|
memcpy(&addr_in4.sin_addr.s_addr, addr_in6->sin6_addr.s6_addr + 12, sizeof(addr_in4.sin_addr.s_addr));
|
||||||
inet_ntop(AF_INET, &addr_in4.sin_addr, host, addr_len);
|
inet_ntop(AF_INET, &addr_in4.sin_addr, host, maxsize);
|
||||||
} else {
|
} else {
|
||||||
inet_ntop(AF_INET6, &addr_in6->sin6_addr, host, addr_len);
|
inet_ntop(AF_INET6, &addr_in6->sin6_addr, host, maxsize);
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
unsigned long get_tick_count(void);
|
unsigned long get_tick_count(void);
|
||||||
|
|
||||||
char *gethost_by_addr(char *host, struct sockaddr *addr, socklen_t addr_len);
|
char *gethost_by_addr(char *host, int maxsize, struct sockaddr *addr);
|
||||||
|
|
||||||
int getaddr_by_host(char *host, struct sockaddr *addr, socklen_t *addr_len);
|
int getaddr_by_host(char *host, struct sockaddr *addr, socklen_t *addr_len);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user