diff --git a/tools/etcpmon/etcpmon_gui.c b/tools/etcpmon/etcpmon_gui.c index bb036013..5750d8d1 100644 --- a/tools/etcpmon/etcpmon_gui.c +++ b/tools/etcpmon/etcpmon_gui.c @@ -1602,9 +1602,10 @@ void etcpmon_gui_update_socket_list(struct etcpmon_app* app, if (list[i].name[0] == '\0') continue; char display[256]; - snprintf(display, sizeof(display), "%s%s%s:%u | %s policy=%s | mapping=%s inbound=%s | external=%s:%u", + snprintf(display, sizeof(display), "%s%s%s:%u | %s policy=%s | %s mapping=%s inbound=%s | external=%s:%u", list[i].is_ipv6 ? "[" : "", list[i].ip, list[i].is_ipv6 ? "]" : "", list[i].port, list[i].is_tcp ? "TCP" : "UDP", config_type_to_string(list[i].config_type), + address_profile_source_name(list[i].source), address_mapping_name(list[i].mapping), address_inbound_name(list[i].inbound), list[i].nat_ip[0] ? list[i].nat_ip : "unknown", list[i].nat_port); SendMessageA(app->hListSockets, LB_ADDSTRING, 0, (LPARAM)display); diff --git a/tools/etcpmon/etcpmon_protocol.h b/tools/etcpmon/etcpmon_protocol.h index bb99bb7e..93327597 100644 --- a/tools/etcpmon/etcpmon_protocol.h +++ b/tools/etcpmon/etcpmon_protocol.h @@ -22,7 +22,7 @@ extern "C" { * Protocol Constants * ============================================================================ */ -#define ETCPMON_PROTOCOL_VERSION 2 +#define ETCPMON_PROTOCOL_VERSION 3 /* Server config types (mirrored from config_parser.h) */ #define CFG_SERVER_TYPE_UNKNOWN 0 @@ -126,7 +126,7 @@ struct etcpmon_socket_info { uint16_t port; /* Port number (host byte order) */ uint8_t is_ipv6; /* 1 = IPv6, 0 = IPv4 */ uint8_t config_type; /* CFG_SERVER_TYPE_PUBLIC/NAT/PRIVATE */ - uint8_t mapping, inbound; /* ADDRESS_MAP_* / ADDRESS_IN_* */ + uint8_t mapping, inbound, source; /* ADDRESS_MAP_* / ADDRESS_IN_* / ADDRESS_SOURCE_* */ uint8_t is_tcp; uint64_t generation, evidence_id, checked_at; char nat_ip[46]; /* Null-terminated NAT IP address string */