mirror of
https://github.com/shadowsocks/shadowsocks-libev.git
synced 2026-10-20 13:03:50 +00:00
Align the report format for UDP packet
This commit is contained in:
+16
-11
@@ -324,7 +324,7 @@ parse_udprelay_header(const char *buf, const size_t buf_len,
|
||||
}
|
||||
|
||||
static char *
|
||||
get_addr_str(const struct sockaddr *sa)
|
||||
get_addr_str(const struct sockaddr *sa, bool has_port)
|
||||
{
|
||||
static char s[SS_ADDRSTRLEN];
|
||||
memset(s, 0, SS_ADDRSTRLEN);
|
||||
@@ -356,8 +356,11 @@ get_addr_str(const struct sockaddr *sa)
|
||||
int addr_len = strlen(addr);
|
||||
int port_len = strlen(port);
|
||||
memcpy(s, addr, addr_len);
|
||||
memcpy(s + addr_len + 1, port, port_len);
|
||||
s[addr_len] = ':';
|
||||
|
||||
if (has_port) {
|
||||
memcpy(s + addr_len + 1, port, port_len);
|
||||
s[addr_len] = ':';
|
||||
}
|
||||
|
||||
return s;
|
||||
}
|
||||
@@ -767,7 +770,8 @@ remote_recv_cb(EV_P_ ev_io *w, int revents)
|
||||
#ifdef MODULE_LOCAL
|
||||
int err = server_ctx->crypto->decrypt_all(buf, server_ctx->crypto->cipher, buf_size);
|
||||
if (err) {
|
||||
LOGE("failed to handshake with %s: %s", get_addr_str((struct sockaddr *)&src_addr), "suspicious UDP packet");
|
||||
LOGE("failed to handshake with %s: %s",
|
||||
get_addr_str((struct sockaddr *)&src_addr, false), "suspicious UDP packet");
|
||||
// drop the packet silently
|
||||
goto CLEAN_UP;
|
||||
}
|
||||
@@ -985,7 +989,8 @@ server_recv_cb(EV_P_ ev_io *w, int revents)
|
||||
|
||||
int err = server_ctx->crypto->decrypt_all(buf, server_ctx->crypto->cipher, buf_size);
|
||||
if (err) {
|
||||
LOGE("failed to handshake with %s: %s", get_addr_str((struct sockaddr *)&src_addr), "suspicious UDP packet");
|
||||
LOGE("failed to handshake with %s: %s",
|
||||
get_addr_str((struct sockaddr *)&src_addr, false), "suspicious UDP packet");
|
||||
// drop the packet silently
|
||||
goto CLEAN_UP;
|
||||
}
|
||||
@@ -1154,12 +1159,12 @@ server_recv_cb(EV_P_ ev_io *w, int revents)
|
||||
#ifdef MODULE_REDIR
|
||||
char src[SS_ADDRSTRLEN];
|
||||
char dst[SS_ADDRSTRLEN];
|
||||
strcpy(src, get_addr_str((struct sockaddr *)&src_addr));
|
||||
strcpy(dst, get_addr_str((struct sockaddr *)&dst_addr));
|
||||
strcpy(src, get_addr_str((struct sockaddr *)&src_addr, true));
|
||||
strcpy(dst, get_addr_str((struct sockaddr *)&dst_addr, true));
|
||||
LOGI("[%s] [udp] cache miss: %s <-> %s", s_port, dst, src);
|
||||
#else
|
||||
LOGI("[%s] [udp] cache miss: %s:%s <-> %s", s_port, host, port,
|
||||
get_addr_str((struct sockaddr *)&src_addr));
|
||||
get_addr_str((struct sockaddr *)&src_addr, true));
|
||||
#endif
|
||||
}
|
||||
} else {
|
||||
@@ -1167,12 +1172,12 @@ server_recv_cb(EV_P_ ev_io *w, int revents)
|
||||
#ifdef MODULE_REDIR
|
||||
char src[SS_ADDRSTRLEN];
|
||||
char dst[SS_ADDRSTRLEN];
|
||||
strcpy(src, get_addr_str((struct sockaddr *)&src_addr));
|
||||
strcpy(dst, get_addr_str((struct sockaddr *)&dst_addr));
|
||||
strcpy(src, get_addr_str((struct sockaddr *)&src_addr, true));
|
||||
strcpy(dst, get_addr_str((struct sockaddr *)&dst_addr, true));
|
||||
LOGI("[%s] [udp] cache hit: %s <-> %s", s_port, dst, src);
|
||||
#else
|
||||
LOGI("[%s] [udp] cache hit: %s:%s <-> %s", s_port, host, port,
|
||||
get_addr_str((struct sockaddr *)&src_addr));
|
||||
get_addr_str((struct sockaddr *)&src_addr, true));
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user