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 *
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
}
}

Loading…
Cancel
Save