mirror of
https://github.com/shadowsocks/shadowsocks-libev.git
synced 2026-11-03 00:13:42 +00:00
refine get_addr_str
This commit is contained in:
+14
-14
@@ -150,31 +150,31 @@ static int parse_udprealy_header(const char* buf, const int buf_len, char *host,
|
||||
return offset;
|
||||
}
|
||||
|
||||
static char *get_ip_str(const struct sockaddr *sa)
|
||||
static char *get_addr_str(const struct sockaddr *sa)
|
||||
{
|
||||
static char s[256];
|
||||
memset(s, 0, 256);
|
||||
char addr[128] = {0};
|
||||
char port[16] = {0};
|
||||
static char s[SS_ADDRSTRLEN];
|
||||
memset(s, 0, SS_ADDRSTRLEN);
|
||||
char addr[INET6_ADDRSTRLEN] = {0};
|
||||
char port[PORTSTRLEN] = {0};
|
||||
uint16_t p;
|
||||
|
||||
switch(sa->sa_family) {
|
||||
case AF_INET:
|
||||
inet_ntop(AF_INET, &(((struct sockaddr_in *)sa)->sin_addr),
|
||||
addr, 256);
|
||||
addr, INET_ADDRSTRLEN);
|
||||
p = ntohs(((struct sockaddr_in *)sa)->sin_port);
|
||||
sprintf(port, "%d", p);
|
||||
break;
|
||||
|
||||
case AF_INET6:
|
||||
inet_ntop(AF_INET6, &(((struct sockaddr_in6 *)sa)->sin6_addr),
|
||||
addr, 256);
|
||||
addr, INET6_ADDRSTRLEN);
|
||||
p = ntohs(((struct sockaddr_in *)sa)->sin_port);
|
||||
sprintf(port, "%d", p);
|
||||
break;
|
||||
|
||||
default:
|
||||
strncpy(s, "Unknown AF", 128);
|
||||
strncpy(s, "Unknown AF", SS_ADDRSTRLEN);
|
||||
}
|
||||
|
||||
int addr_len = strlen(addr);
|
||||
@@ -481,12 +481,12 @@ static void remote_recv_cb (EV_P_ ev_io *w, int revents)
|
||||
ev_timer_again(EV_A_ &remote_ctx->watcher);
|
||||
|
||||
struct sockaddr src_addr;
|
||||
socklen_t addr_len = sizeof(src_addr);
|
||||
socklen_t src_addr_len = sizeof(src_addr);
|
||||
unsigned int addr_header_len = remote_ctx->addr_header_len;
|
||||
char *buf = malloc(BUF_SIZE);
|
||||
|
||||
// recv
|
||||
ssize_t buf_len = recvfrom(remote_ctx->fd, buf, BUF_SIZE, 0, &src_addr, &addr_len);
|
||||
ssize_t buf_len = recvfrom(remote_ctx->fd, buf, BUF_SIZE, 0, &src_addr, &src_addr_len);
|
||||
|
||||
if (buf_len == -1)
|
||||
{
|
||||
@@ -554,10 +554,10 @@ static void server_recv_cb (EV_P_ ev_io *w, int revents)
|
||||
struct sockaddr src_addr;
|
||||
char *buf = malloc(BUF_SIZE);
|
||||
|
||||
socklen_t addr_len = sizeof(src_addr);
|
||||
socklen_t src_addr_len = sizeof(src_addr);
|
||||
unsigned int offset = 0;
|
||||
|
||||
ssize_t buf_len = recvfrom(server_ctx->fd, buf, BUF_SIZE, 0, &src_addr, &addr_len);
|
||||
ssize_t buf_len = recvfrom(server_ctx->fd, buf, BUF_SIZE, 0, &src_addr, &src_addr_len);
|
||||
|
||||
if (buf_len == -1)
|
||||
{
|
||||
@@ -681,14 +681,14 @@ static void server_recv_cb (EV_P_ ev_io *w, int revents)
|
||||
{
|
||||
if (verbose)
|
||||
{
|
||||
LOGD("[udp] cache missed: %s:%s <-> %s", host, port, get_ip_str(&src_addr));
|
||||
LOGD("[udp] cache missed: %s:%s <-> %s", host, port, get_addr_str(&src_addr));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (verbose)
|
||||
{
|
||||
LOGD("[udp] cache hit: %s:%s <-> %s", host, port, get_ip_str(&src_addr));
|
||||
LOGD("[udp] cache hit: %s:%s <-> %s", host, port, get_addr_str(&src_addr));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,9 @@
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
|
||||
#define PORTSTRLEN 16
|
||||
#define SS_ADDRSTRLEN (INET6_ADDRSTRLEN + PORTSTRLEN + 1)
|
||||
|
||||
#ifdef ANDROID
|
||||
|
||||
#include <android/log.h>
|
||||
|
||||
Reference in New Issue
Block a user