Hi, I couldn't apply the patch (its not against master? )
Also it looks like the memory leak not properly fixed (see below). But before making a new version please see the general comment in the following mail too. in win32.c > +} > + > +bool > +win_wfp_uninit() > +{ > + dmsg (D_LOW, "Uninitializing WFP"); > + DWORD dwFwAPiRetCode = ERROR_BAD_COMMAND; unused variable ? > + > +bool > +win_wfp_block_dns (const NET_IFINDEX index) > +{ > + dmsg (D_LOW, "Blocking DNS using WFP"); > + NET_LUID tapluid; > + NETIO_STATUS ret; unused variable ? > + DWORD dwFwAPiRetCode = ERROR_BAD_COMMAND; unused variable? I feel like a compiler [..] > + dmsg (D_LOW, "Filter (Permit IPv6 DNS queries from TAP) added with > ID=%I64d", filterid); > + You need another free(openvpnblob) here, isn't it? > + return true; > + > + err: > + free(openvpnblob); > + return false; > +} > + in win32.h > +bool win_wfp_add_filter (HANDLE engineHandle, > + const FWPM_FILTER0 *filter, > + PSECURITY_DESCRIPTOR sd, > + UINT64 *id); No need to expose this --- could be made static in win32.c and removed from here... Thanks, Selva