]> git.ipfire.org Git - thirdparty/strongswan.git/commit
libstrongswan: Registration of TUN device plugins
authorAndreas Steffen <andreas.steffen@strongswan.org>
Thu, 2 Feb 2023 17:11:33 +0000 (18:11 +0100)
committerAndreas Steffen <andreas.steffen@strongswan.org>
Thu, 2 Feb 2023 22:15:37 +0000 (23:15 +0100)
commit08c21bd2f40cc312ac8a76ca1aa2c35dad7ca568
treead2bad9feadd92a95754cbd9785f968db1dda7b5
parent1a8106ee0d1dd95ddd10cd7c4d41526d677613b3
libstrongswan: Registration of TUN device plugins

A TUN device plugin is registered by providing its constructor function
to the tun_device_manager. The manager creates instances of the TUN device
using the registered constructor function.

Currently the default POSIX TUN device is not a plugin, but hard-coded
into libstrongswan. If no third party TUN device plugin is registered, then
the built-in POSIX tun device is used.
13 files changed:
src/charon-nm/nm/nm_service.c
src/frontends/osx/charon-xpc/charon-xpc.c
src/libcharon/plugins/kernel_libipsec/kernel_libipsec_plugin.c
src/libcharon/plugins/kernel_pfroute/kernel_pfroute_net.c
src/libstrongswan/Android.mk
src/libstrongswan/Makefile.am
src/libstrongswan/library.c
src/libstrongswan/library.h
src/libstrongswan/networking/tun_device.h
src/libstrongswan/networking/tun_device_manager.c [new file with mode: 0644]
src/libstrongswan/networking/tun_device_manager.h [new file with mode: 0644]
src/libstrongswan/plugins/plugin_feature.c
src/libstrongswan/plugins/plugin_feature.h