Re: [Openvpn-devel] [PATCH v2 3/7] wintun: implement opening wintun device

2019-11-20 Thread Lev Stipakov
Hi, > We have more options here: > Can we combine B and C? 1) During installation, we create one adapter, as we do now. 2) On connection we enumerate adapters and pick the first one which is not connected. 3) If we could not find free adapter (another VPN connection is already running), we

[Openvpn-devel] [PATCH v5 4/7] wintun: ring buffers based I/O

2019-11-20 Thread Lev Stipakov
From: Lev Stipakov Implemented according to Wintun documentation and reference client code. Wintun uses ring buffers to communicate between kernel driver and user process. Client allocates send and receive ring buffers, creates events and passes it to kernel driver under LocalSystem privileges.

Re: [Openvpn-devel] [PATCH v2 3/7] wintun: implement opening wintun device

2019-11-20 Thread Simon Rozman
Hi, The Wintun doesn't create its own communication I/O device. Running a separate NdisRegisterDeviceEx() device came with a big can of worms, so we decided not to run our own, but rather piggy-back on the existing NDIS one from the NdisMRegisterMiniportDriver() that we tap on. Technically,

[Openvpn-devel] [PATCH v4 5/7] wintun: interactive service support

2019-11-20 Thread Lev Stipakov
From: Lev Stipakov Wintun requires ring buffers registration to be performed by privileged process. In order to use openvpn with wintun by non-Administrator, we need to use interactive service and shared memory to register buffers. Openvpn process creates memory mapping object and event for

Re: [Openvpn-devel] [PATCH 8/7] wintun: fix ringbuffer registration call

2019-11-20 Thread Lev Stipakov
Please disregard this patch - I made it as a fix to "wintun: ring buffers based I/O", which was resent as v5. ti 19. marrask. 2019 klo 21.10 Lev Stipakov (lstipa...@gmail.com) kirjoitti: > From: Lev Stipakov > > As MS documentation says: > > > If lpOverlapped is NULL, lpBytesReturned cannot be