From 83c4413926524de2cf999d535618def8c6305b83 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Mon, 22 Oct 2018 09:33:18 -0700 Subject: [PATCH] Remove port forwarding entries when MISS is stopped --- miss/miss.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/miss/miss.cpp b/miss/miss.cpp index c51aa6e..a8a929c 100644 --- a/miss/miss.cpp +++ b/miss/miss.cpp @@ -628,6 +628,14 @@ HandlerEx(DWORD dwControl, DWORD dwEventType, LPVOID lpEventData, LPVOID lpConte return NO_ERROR; case SERVICE_CONTROL_STOP: + ServiceStatus.dwCurrentState = SERVICE_STOP_PENDING; + ServiceStatus.dwControlsAccepted = 0; + SetServiceStatus(ServiceStatusHandle, &ServiceStatus); + + printf("Removing UPnP/NAT-PMP rules after service stop request\n"); + UpdatePortMappings(false); + + printf("The service is stopping\n"); ServiceStatus.dwCurrentState = SERVICE_STOPPED; SetServiceStatus(ServiceStatusHandle, &ServiceStatus); return NO_ERROR;