Browse Source

Improve NAT IP:port test validation to check specific values

Test now verifies that NAT fields contain CORRECT data, not just non-zero:
- Verifies nat_ip equals 127.0.0.1 (0x7F000001) - expected for localhost test
- Verifies nat_port is in valid ephemeral port range (> 1024 and <= 65535)
- Fails test if values are incorrect (not just warning)

This ensures the server correctly returns the client's external address
in the INIT_RESPONSE handshake packet.

Test output:
  [CLIENT] PASS: NAT address is set: 127.0.0.1:9012
  [CLIENT] PASS: nat_changes_count=0, nat_hits_count=0
  [CLIENT] PASS: NAT IP and port contain valid values (127.0.0.1:9012)
nodeinfo-routing-update
Evgeny 8 months ago
parent
commit
507f2da831
  1. 21
      tests/test_etcp_two_instances.c

21
tests/test_etcp_two_instances.c

@ -174,11 +174,26 @@ static void monitor_connections(void* arg) {
DEBUG_INFO(DEBUG_CATEGORY_ETCP, "[CLIENT] PASS: nat_changes_count=%u, nat_hits_count=%u", DEBUG_INFO(DEBUG_CATEGORY_ETCP, "[CLIENT] PASS: nat_changes_count=%u, nat_hits_count=%u",
link->nat_changes_count, link->nat_hits_count); link->nat_changes_count, link->nat_hits_count);
// Verify it's localhost (127.0.0.1) since we're testing locally // Verify NAT IP is 127.0.0.1 (localhost) since client connects from localhost
if (link->nat_ip != 0x7F000001) { // 127.0.0.1 in host byte order // In host byte order: 127.0.0.1 = 0x7F000001
DEBUG_WARN(DEBUG_CATEGORY_ETCP, "[CLIENT] WARNING: NAT IP is not 127.0.0.1 (got 0x%08X)", if (link->nat_ip != 0x7F000001) {
DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "[CLIENT] FAIL: NAT IP is not 127.0.0.1 (expected 0x7F000001, got 0x%08X)",
link->nat_ip); link->nat_ip);
test_completed = 2; // Failure
return;
} }
// Verify NAT port is in valid ephemeral port range (> 1024, typically)
// Ephemeral ports are usually 32768-60999, but can be any > 1024
if (link->nat_port <= 1024 || link->nat_port > 65535) {
DEBUG_ERROR(DEBUG_CATEGORY_ETCP, "[CLIENT] FAIL: NAT port %u is out of valid range (expected > 1024 and <= 65535)",
link->nat_port);
test_completed = 2; // Failure
return;
}
DEBUG_INFO(DEBUG_CATEGORY_ETCP, "[CLIENT] PASS: NAT IP and port contain valid values (127.0.0.1:%u)",
link->nat_port);
} }
} }
link = link->next; link = link->next;

Loading…
Cancel
Save