Browse Source

Socket info: show config and netif IP in log, monitor shows interface IP

congestion
Evgeny 5 months ago
parent
commit
697aee0351
  1. 10
      src/control_server.c
  2. 15
      src/etcp_connections.c

10
src/control_server.c

@ -829,13 +829,13 @@ static void send_socket_list(struct control_server* server, struct control_clien
for (uint8_t i = 0; i < count && sock; i++) {
strncpy(info[i].name, sock->name, ETCPMON_MAX_CONN_NAME - 1);
info[i].name[ETCPMON_MAX_CONN_NAME - 1] = '\0';
info[i].is_ipv6 = (sock->local_addr.ss_family == AF_INET6) ? 1 : 0;
if (sock->local_addr.ss_family == AF_INET) {
struct sockaddr_in* sin = (struct sockaddr_in*)&sock->local_addr;
info[i].is_ipv6 = (sock->interface_addr.ss_family == AF_INET6) ? 1 : 0;
if (sock->interface_addr.ss_family == AF_INET) {
struct sockaddr_in* sin = (struct sockaddr_in*)&sock->interface_addr;
inet_ntop(AF_INET, &sin->sin_addr, info[i].ip, sizeof(info[i].ip));
info[i].port = ntohs(sin->sin_port);
} else if (sock->local_addr.ss_family == AF_INET6) {
struct sockaddr_in6* sin6 = (struct sockaddr_in6*)&sock->local_addr;
} else if (sock->interface_addr.ss_family == AF_INET6) {
struct sockaddr_in6* sin6 = (struct sockaddr_in6*)&sock->interface_addr;
inet_ntop(AF_INET6, &sin6->sin6_addr, info[i].ip, sizeof(info[i].ip));
info[i].port = ntohs(sin6->sin6_port);
} else {

15
src/etcp_connections.c

@ -590,12 +590,17 @@ struct ETCP_SOCKET* etcp_socket_add(struct UTUN_INSTANCE* instance, struct CFG_S
sin_if->sin_port = sin_cfg->sin_port;
}
}
{
struct sockaddr_in* isin = (struct sockaddr_in*)&e_sock->interface_addr;
if (isin->sin_addr.s_addr != 0) {
DEBUG_INFO(DEBUG_CATEGORY_ETCP, "[ETCP] interface_addr for %s: %s:%d", e_sock->name, ip_to_str(&isin->sin_addr, AF_INET).str, ntohs(isin->sin_port));
}
char config_str[64] = "none";
char netif_str[64] = "none";
if (e_sock->local_addr.ss_family != 0) {
snprintf(config_str, sizeof(config_str), "%s", sockaddr_storage_to_str(&e_sock->local_addr).str);
}
if (e_sock->interface_addr.ss_family != 0) {
snprintf(netif_str, sizeof(netif_str), "%s", sockaddr_storage_to_str(&e_sock->interface_addr).str);
}
DEBUG_INFO(DEBUG_CATEGORY_GENERAL, "Listen socket initialized: name=%s fd=%d config=%s, netif=%s", e_sock->name, e_sock->fd, config_str, netif_str);
e_sock->instance = instance;
e_sock->errorcode = 0;
e_sock->pkt_format_errors = 0;

Loading…
Cancel
Save