From 152ebfef488fe6f569f84ac2959342fd63414f29 Mon Sep 17 00:00:00 2001 From: evgeny Date: Mon, 12 Oct 2026 01:24:00 +0200 Subject: [PATCH] Release retained STUN port history during final core destruction --- src/utun_instance.c | 1 + tests/test_stun_nat.c | 1 + 2 files changed, 2 insertions(+) diff --git a/src/utun_instance.c b/src/utun_instance.c index 8f04652f..6f2f9b22 100644 --- a/src/utun_instance.c +++ b/src/utun_instance.c @@ -408,6 +408,7 @@ void utun_instance_destroy(struct UTUN_INSTANCE *instance) { instance->running = 0; stun_nat_destroy(instance); + stun_nat_forget_ports(instance); etcp_padding_stop(&instance->padding); DEBUG_INFO(DEBUG_CATEGORY_SYS, "[DESTROY] A done — diagnose complete"); diff --git a/tests/test_stun_nat.c b/tests/test_stun_nat.c index d5d307c6..cbd301c0 100644 --- a/tests/test_stun_nat.c +++ b/tests/test_stun_nat.c @@ -220,6 +220,7 @@ static struct stun_nat_result wait_result(struct fixture* f) { /* Проверяет неизменность исходного fd, sockaddr, NAT-полей и отсутствие таймеров после destroy. */ static void fixture_destroy(struct fixture* f) { stun_nat_destroy(&f->inst); + stun_nat_forget_ports(&f->inst); assert(!memcmp(&f->source, &f->original, sizeof(f->source))); struct sockaddr_storage addr = {0}; socklen_t size = sizeof(addr);