Browse Source

Release retained STUN port history during final core destruction

master
evgeny 17 hours ago
parent
commit
152ebfef48
  1. 1
      src/utun_instance.c
  2. 1
      tests/test_stun_nat.c

1
src/utun_instance.c

@ -408,6 +408,7 @@ void utun_instance_destroy(struct UTUN_INSTANCE *instance) {
instance->running = 0; instance->running = 0;
stun_nat_destroy(instance); stun_nat_destroy(instance);
stun_nat_forget_ports(instance);
etcp_padding_stop(&instance->padding); etcp_padding_stop(&instance->padding);
DEBUG_INFO(DEBUG_CATEGORY_SYS, "[DESTROY] A done — diagnose complete"); DEBUG_INFO(DEBUG_CATEGORY_SYS, "[DESTROY] A done — diagnose complete");

1
tests/test_stun_nat.c

@ -220,6 +220,7 @@ static struct stun_nat_result wait_result(struct fixture* f) {
/* Проверяет неизменность исходного fd, sockaddr, NAT-полей и отсутствие таймеров после destroy. */ /* Проверяет неизменность исходного fd, sockaddr, NAT-полей и отсутствие таймеров после destroy. */
static void fixture_destroy(struct fixture* f) { static void fixture_destroy(struct fixture* f) {
stun_nat_destroy(&f->inst); stun_nat_destroy(&f->inst);
stun_nat_forget_ports(&f->inst);
assert(!memcmp(&f->source, &f->original, sizeof(f->source))); assert(!memcmp(&f->source, &f->original, sizeof(f->source)));
struct sockaddr_storage addr = {0}; struct sockaddr_storage addr = {0};
socklen_t size = sizeof(addr); socklen_t size = sizeof(addr);

Loading…
Cancel
Save