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


Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Openvpn-users mailing list
Openvpn-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-users

Reply via email to