]> git.ipfire.org Git - thirdparty/openvpn.git/commit
2.1_rc8 and earlier did implicit shell expansion on script
authorjames <james@e7ae566f-a301-0410-adde-c780ea21d3b5>
Sat, 6 Sep 2008 09:42:17 +0000 (09:42 +0000)
committerjames <james@e7ae566f-a301-0410-adde-c780ea21d3b5>
Sat, 6 Sep 2008 09:42:17 +0000 (09:42 +0000)
commitb8fb090c167ff500a8d702f612a42914d4f0bb03
tree982fe657f91c834bc17d1e81f04672323a2dda1a
parent0a838de8adf3b06590e73cff6415275d9b1cd4fe
2.1_rc8 and earlier did implicit shell expansion on script
arguments since all scripts were called by system().
The security hardening changes made to 2.1_rc9 no longer
use system(), but rather use the safer execve or CreateProcess
system calls.  The security hardening also introduced a
backward incompatibility with 2.1_rc8 and earlier in that
script parameters were no longer shell-expanded, so
for example:

  client-connect "docc CLIENT-CONNECT"

would fail to work because execve would try to execute
a script called "docc CLIENT-CONNECT" instead of "docc"
with "CLIENT-CONNECT" as the first argument.

This patch fixes the issue, bringing the script argument
semantics back to pre 2.1_rc9 behavior in order to preserve
backward compatibility while still using execve or CreateProcess
to execute the script/executable.

git-svn-id: http://svn.openvpn.net/projects/openvpn/branches/BETA21/openvpn@3311 e7ae566f-a301-0410-adde-c780ea21d3b5
buffer.c
buffer.h
errlevel.h
init.c
misc.c
misc.h
multi.c
socket.c
ssl.c