When the destination IP on the packet doesn't match any WireGuard peer (such as
if the peer is disconnected while the app is running), the sender may get an ENOKEY errno.
This is mentioned in Section 3 "Send/Receive" of
https://www.wireguard.com/papers/wireguard.pdf
Fixes https://github.com/mono/mono/issues/20503
Co-authored-by: lambdageek <lambdageek@users.noreply.github.com>
#ifdef ENONET
case ENONET: return WSAENETUNREACH;
#endif
+#ifdef ENOKEY
+ case ENOKEY: return WSAENETUNREACH;
+#endif
default:
g_error ("%s: no translation into winsock error for (%d) \"%s\"", __func__, error, g_strerror (error));
}