summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjames <james@e7ae566f-a301-0410-adde-c780ea21d3b5>2009-05-21 10:15:26 +0000
committerjames <james@e7ae566f-a301-0410-adde-c780ea21d3b5>2009-05-21 10:15:26 +0000
commit1b3842c6c9c6c143751d9a87a13745e1b2a0c7c7 (patch)
tree5457974fae4eda45a1b86a945216de1ad09ff12f
parent423037e9fbdff7209ca6f305b812a9908a0f4d13 (diff)
downloadopenvpn-1b3842c6c9c6c143751d9a87a13745e1b2a0c7c7.tar.gz
openvpn-1b3842c6c9c6c143751d9a87a13745e1b2a0c7c7.tar.xz
openvpn-1b3842c6c9c6c143751d9a87a13745e1b2a0c7c7.zip
Fixed race condition in management interface recv code on
Windows, where sending a set of several commands to the management interface in quick succession might cause the latter commands in the set to be ignored. Increased management interface input command buffer size from 256 to 1024 bytes. Minor tweaks to Windows build system. git-svn-id: http://svn.openvpn.net/projects/openvpn/branches/BETA21/openvpn@4414 e7ae566f-a301-0410-adde-c780ea21d3b5
-rw-r--r--install-win32/getgui4
-rw-r--r--install-win32/maketext2
-rw-r--r--manage.c5
3 files changed, 6 insertions, 5 deletions
diff --git a/install-win32/getgui b/install-win32/getgui
index 03f68a8..b53a8f7 100644
--- a/install-win32/getgui
+++ b/install-win32/getgui
@@ -7,7 +7,7 @@
GUI="$OPENVPN_GUI_DIR/$OPENVPN_GUI"
-if [ -e "$GUI" ]; then
+if [ -f "$GUI" ]; then
mkdir -p $GENOUT/bin &>/dev/null
cp $GUI $GENOUT/bin
if [ -d "$SIGNTOOL" ]; then
@@ -15,7 +15,7 @@ if [ -e "$GUI" ]; then
fi
fi
-if [ -e "$GENOUT/bin/$OPENVPN_GUI" ]; then
+if [ -f "$GENOUT/bin/$OPENVPN_GUI" ]; then
echo '!define OPENVPN_GUI_DEFINED' >autodefs/guidefs.nsi
else
cat /dev/null >autodefs/guidefs.nsi
diff --git a/install-win32/maketext b/install-win32/maketext
index cf59b53..9a94a81 100644
--- a/install-win32/maketext
+++ b/install-win32/maketext
@@ -41,7 +41,7 @@ cp install-win32/setpath.nsi $n
cp install-win32/GetWindowsVersion.nsi $n
if [ -n "$EXTRACT_FILES" ]; then
- cp install-win32/MultiFileExtract.nsi $n
+ cp "$EXTRACT_FILES/MultiFileExtract.nsi" $n
fi
# get OpenVPN client config files
diff --git a/manage.c b/manage.c
index 1dd2825..11038e8 100644
--- a/manage.c
+++ b/manage.c
@@ -1914,7 +1914,7 @@ man_connection_init (struct management *man)
* Allocate helper objects for command line input and
* command output from/to the socket.
*/
- man->connection.in = command_line_new (256);
+ man->connection.in = command_line_new (1024);
man->connection.out = buffer_list_new (0);
/*
@@ -2323,7 +2323,8 @@ management_io (struct management *man)
{
if (net_events & FD_READ)
{
- man_read (man);
+ while (man_read (man) > 0)
+ ;
net_event_win32_clear_selected_events (&man->connection.ne32, FD_READ);
}
}