On 06/05/2019 19:39, Michael Fritscher wrote: [...snip...] > My usecase is to use the whole "backend" of OpenVPN (crypto, > authentification, key management, control/data channel management, > adaptive compression etc.) for a set of self-made applications. I could > adapt the applications to every kind of connection which is needed to > "speak" with OpenVPN. > > So, the diagram would be something like > <self made Programs>-(*)-<openVPN>----"Internet" > > and the other way around. The missing link is (*) - as I said it could > be almost everything (while I'm preferring something at least packet > orientated...). If this interface can only handle one connection - ok > for me, then I'll build a combiner. If would speak e.g. SLI(R)P - ok for > me as well.
Your "missing link" sounds like OpenVPN 3; which is basically a C++ library implementing the OpenVPN protocol. Using this you can decode the packets which would normally go to the TUN device and feed it directly to your own program. But this will be IP packets you need to handle somehow. More details: <https://github.com/OpenVPN/openvpn3/> The test program in test/ssl/proto.cpp basically implements a very simplistic client and server and runs them in different threads, passing encrypted traffic over a local socket and feeding the "tun" side data into a worker thread. This makes it possible to run a wire test without admin privileges while testing most of the OpenVPN stack. That said, this proto.cpp test program won't work for you use case out-of-the-box; but should contain most of the pieces you would need to fill your (*). -- kind regards, David Sommerseth OpenVPN Inc
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Openvpn-users mailing list Openvpn-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-users