Browse Source

Align the report format for UDP packet

pull/2728/head
Max Lv 4 years ago
parent
commit
25be24c01f
1 changed files with 16 additions and 11 deletions
  1. 27
      src/udprelay.c

27
src/udprelay.c

@ -324,7 +324,7 @@ parse_udprelay_header(const char *buf, const size_t buf_len,
} }
static char * static char *
get_addr_str(const struct sockaddr *sa)
get_addr_str(const struct sockaddr *sa, bool has_port)
{ {
static char s[SS_ADDRSTRLEN]; static char s[SS_ADDRSTRLEN];
memset(s, 0, SS_ADDRSTRLEN); memset(s, 0, SS_ADDRSTRLEN);
@ -356,8 +356,11 @@ get_addr_str(const struct sockaddr *sa)
int addr_len = strlen(addr); int addr_len = strlen(addr);
int port_len = strlen(port); int port_len = strlen(port);
memcpy(s, addr, addr_len); 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; return s;
} }
@ -767,7 +770,8 @@ remote_recv_cb(EV_P_ ev_io *w, int revents)
#ifdef MODULE_LOCAL #ifdef MODULE_LOCAL
int err = server_ctx->crypto->decrypt_all(buf, server_ctx->crypto->cipher, buf_size); int err = server_ctx->crypto->decrypt_all(buf, server_ctx->crypto->cipher, buf_size);
if (err) { 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 // drop the packet silently
goto CLEAN_UP; 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); int err = server_ctx->crypto->decrypt_all(buf, server_ctx->crypto->cipher, buf_size);
if (err) { 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 // drop the packet silently
goto CLEAN_UP; goto CLEAN_UP;
} }
@ -1154,12 +1159,12 @@ server_recv_cb(EV_P_ ev_io *w, int revents)
#ifdef MODULE_REDIR #ifdef MODULE_REDIR
char src[SS_ADDRSTRLEN]; char src[SS_ADDRSTRLEN];
char dst[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); LOGI("[%s] [udp] cache miss: %s <-> %s", s_port, dst, src);
#else #else
LOGI("[%s] [udp] cache miss: %s:%s <-> %s", s_port, host, port, 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 #endif
} }
} else { } else {
@ -1167,12 +1172,12 @@ server_recv_cb(EV_P_ ev_io *w, int revents)
#ifdef MODULE_REDIR #ifdef MODULE_REDIR
char src[SS_ADDRSTRLEN]; char src[SS_ADDRSTRLEN];
char dst[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); LOGI("[%s] [udp] cache hit: %s <-> %s", s_port, dst, src);
#else #else
LOGI("[%s] [udp] cache hit: %s:%s <-> %s", s_port, host, port, 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 #endif
} }
} }

Loading…
Cancel
Save