]> git.ipfire.org Git - thirdparty/openvpn.git/commit
Completely revamped the system for calling external programs and scripts:
authorjames <james@e7ae566f-a301-0410-adde-c780ea21d3b5>
Sat, 26 Jul 2008 07:27:03 +0000 (07:27 +0000)
committerjames <james@e7ae566f-a301-0410-adde-c780ea21d3b5>
Sat, 26 Jul 2008 07:27:03 +0000 (07:27 +0000)
commit5a2e9a2587372aeb4b74fa1aadf53283ed7cae10
treebc79922f81699bc51c2ac047309e6ab594eebcd2
parent26bb4c740b12cf3f606f657103a1695c23f6b72f
Completely revamped the system for calling external programs and scripts:

* All external programs and scripts are now called by execve() on unix and
  CreateProcess on Windows.

* The system() function is no longer used.

* Argument lists for external programs and scripts are now built by the new
  argv_printf function which natively outputs to string arrays (i.e.
  char *argv[] lists), never truncates its output, and eliminates the security
  issues inherent in formatting and parsing command lines, and dealing with
  argument quoting.

* The --script-security directive has been added to offer policy controls on
  OpenVPN's execution of external programs and scripts.

Also added a new plugin example (openvpn/plugin/examples/log.c) that logs
information to stdout for every plugin method called by OpenVPN.

git-svn-id: http://svn.openvpn.net/projects/openvpn/branches/BETA21/openvpn@3122 e7ae566f-a301-0410-adde-c780ea21d3b5
23 files changed:
buffer.c
buffer.h
configure.ac
debug/valgrind-suppress
init.c
lladdr.c
misc.c
misc.h
multi.c
openvpn.8
openvpn.c
options.c
plugin.c
plugin.h
plugin/examples/log.c [new file with mode: 0644]
route.c
socket.c
socket.h
ssl.c
syshead.h
tun.c
win32.c
win32.h