passepartout-apple/Packages/PassepartoutOpenVPNOpenSSL
Davide 60e3460966
OpenVPN: Fix potential deadlock on disconnection (#1097)
NE link writes are blocking and don't support timeout. When shutting
down a UDP session, the OCCPacket may fail to send and lock the session
in a stale state ("Active" but dead), with an infinite loop of "Failed
TUN read" messages in the log.

- First, [add cancellation handlers to NE UDP/TCP
sockets](https://github.com/passepartoutvpn/passepartoutkit-source/pull/464)
- Then, rather than writing the exit packet in the foreground and
scheduling cancellation:
  - Write the packet in a background task
  - Wait until timeout in the actor
  - Cancel the pending write and go ahead

This may still leak if NE socket cancellation doesn't work, but will
prevent deadlock.
2025-01-23 10:22:11 +01:00
..
Sources OpenVPN: Fix potential deadlock on disconnection (#1097) 2025-01-23 10:22:11 +01:00
Tests OpenVPN: Restore and improve negotiation speed (#1095) 2025-01-22 22:33:39 +01:00
.gitignore Rework App+Kit as monorepository (#1055) 2025-01-13 12:26:53 +01:00
Package.resolved Rework App+Kit as monorepository (#1055) 2025-01-13 12:26:53 +01:00
Package.swift Minimize dependencies of VPN implementations (#1057) 2025-01-15 09:39:58 +01:00