From 1b3842c6c9c6c143751d9a87a13745e1b2a0c7c7 Mon Sep 17 00:00:00 2001 From: james Date: Thu, 21 May 2009 10:15:26 +0000 Subject: 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 --- install-win32/getgui | 4 ++-- install-win32/maketext | 2 +- manage.c | 5 +++-- 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); } } -- cgit