Expose ETCP and STUN profile provenance in monitor protocol

This commit is contained in:
evgeny committed 2026-10-12 00:58:32 +02:00
1 parent 01b0992c39
commit 76d2e58f19
2 files changed
+4 -3

No files matched your search

+2 -1
View File
@@ -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);
+2 -2
View File
@@ -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 */