[1.0.3 2005-08-18] Bug Fixes: There was a bug in the code that expands variables in registry values. If the expanded string was longer than the original string it got incorrectly truncated. [1.0.2 2005-07-27] Pass paths read in OpenVPN GUI's registry values through ExpandEnvironmentStrings(). This allows the use of Windows variables like %HOMEPATH% or %PROGRAMFILES%. This allows multiple users on the same system to have their own set of config files and keys in their home dir. [1.0.1 2005-06-10] Bug Fixes: The Change Password feature did not work correctly when TABs were used in the config file between the key/pkcs12 keyword and the accual path to the key file. [1.0 2005-04-21] No changes [1.0-rc5 2005-03-29] Bug Fixes: [Pre/Dis]Connect scripts were not executed when starting or stopping the OpenVPN Service, or using "Service Only" mode. [1.0-rc4 2005-02-17] Increased the width of buttons and space between text labels and edit controls on dialogs to ease localization of OpenVPN GUI. Bug Fixes: Some fixed text strings was introduced in the code in 1.0-rc3. These are moved to the resource file now to allow localization. If starting the OpenVPN service failed, OpenVPN GUI would get stuck with a yellow icon. [1.0-rc3 2005-02-14] New Features: New registry value (show_balloon) to control whether to show the "Connected Balloon" or not. show_ballon can have the following values 0=Never show any balloon. 1=Show balloon when the connection establishes (default). 2=Show balloon every time OpenVPN has reconnected (old behavior). Show "Connected since: XXX" and "Assigned IP: X.X.X.X" in the tray icon tip msg. If a batch file named xxx_pre.bat exists in the config folder, where xxx is the same name as an OpenVPN config file, this will be executed before OpenVPN is launced. If a batch file named xxx_down.bat exists in the config folder, where xxx is the same name as an OpenVPN config file, this will be executed on disconnect, but before the OpenVPN tunnel is closed. Registry value "show_script_window" controls whether _up, _down and _pre scripts should execute in the background or in a visible cmd-line window. Registry value "[pre/dis]connectscript_timeout" controls how long to wait for each script to finish. Updated information on the about dialog. Bug Fixes: Removed unused code that tried to determine the path to "Program Files". This code caused an error in some rare occasions. [1.0-rc2 2005-01-12] New Features: Support for one level of subdirectories below the config directory. This means that if you have multiple connections, you can now put them in a seperate subdirectory together with their keys and certs. "Service Only" mode. This is a mode that makes OpenVPN GUI more friendly to use for non-admin users to control the OpenVPN Service. Enable this mode by setting the registry value "service_only" to "1". In this mode the following happends: * The normal "Connect", "Disconnect" and "Show Status" is removed. * The Service menu items "Start", "Stop" and "Restart" is replaced by "Connect", "Disconnect" and "Reconnect" directly on the main menu. These now control the OpenVPN Service instead. * Dubbleclicking the icon starts the OpenVPN Service. * Dubbleclicking the icon when the service is running brings up a dialog asking if you want to disconnect. * The Proxy Settings menu item is removed as it can't control the service anyway. The "OpenVPN Service started" dialog msg is replaced with a balloon msg. Ask the user if he really wants to exit OpenVPN GUI if the OpenVPN Service is running. Bug Fixes: Full rights were required to control the OpenVPN Service. Now only Start/Stop permissions are required, which allows a normal user to control the OpenVPN Service if these rights are granted to the user. (Can be done with subinacl.exe from the resource kit) When passwords were retrieved from a user, OpenVPN GUI received them in the default windows codepage (ISO 8859-1 on english XP), and this was passed on untouched to OpenVPN. When OpenVPN is run from command- line on the other hand, the old DOS CP850 codepage is used. This caused passwords containing non-ASCII (7-bit) chars that worked from cmd-line not to work from OpenVPN GUI. This is now solved by retrieving passwords in unicode and translate them to CP850 before supplying them to OpenVPN. Re-scan the config dir for new files when dubble-clicking the tray icon. [1.0-rc1 2005-01-06] New Features: Show a warning message if "log" or "log-append" is found in the config file. Bug Fixed: Added a bunch of compiler warnings which revealed a lot of minor programming errors. Mostly cast conversion errors between signed and unsigned intergers. All fixed now. Set focus on the log window when the status window is re-opened to make sure the log is scrolled automatically. Set focus on the log window when clicking disconnect to allow the log to continue scrolling automatically until OpenVPN is terminated. [1.0-beta26 2004-12-04] New Features: Show "Connecting to: xxx" msg in tray icon tip message in addition to the previously displayed "Connected to:" msg. Bug Fixes: Don't ask if you are sure you want to change your password to an EMPTY password if you're not allowed to use passwords shorter than 8 chars. Clear password buffers after use to avoid having passwords in memory. [1.0-beta25 2004-12-01] Changed button labels on the status dialog from DisConnect and ReConnect to Disconnect and Reconnect. Don't show "Assigned IP:" at all in the connected balloon if no IP address is known, as when a real remote DHCP server is used. Stripped out the last hardcoded strings to the resource file. Raised maximum number of configs from 20 to 50. Bug Fixes: If OpenVPN printed a line longer that 1024 chars, OpenVPN GUI would crash. This could happend when using "verb 5" or higher as OpenVPN then prints an "r" or "w" for every packet without any line breaks. A new line will now be inserted when 1024 chars is reached. Ask if you want to close active connections when WM_CLOSE is received. Handle WM_QUERYENDSESSION and WM_ENDSESSION correctly by closing any active connections and then terminate. [1.0-beta24 2004-11-15] Bug Fixes: Some openssl #includes were not #ifdef:ed when building a nochangepsw version causing the build to fail if the openssl headers were not available. When using OpenVPN 1.5/1.6 and entering a false private key passphrase, OpenVPN GUI would falsely think that the user attempted to start another connection. [1.0-beta23 2004-11-08] Bug Fixes: Passphrase protected keys stored in MS Certificate Store did not work due to the way the openvpn console window was hidden. [1.0-beta22 2004-11-05] Bug Fixes: OpenVPN GUI did not pass a CR/LF correctly after supplying OpenVPN with the private key passphrase! OpenVPN 2.0-beta12 and higher which uses a new prompt worked, but not earlier versions of OpenVPN. If the Shell (explorer.exe) is restarted, OpenVPN GUI did not re-register the tray icon. [1.0-beta21 2004-10-29] New Features: Added support for username/password based authentication. Support for Localization. Language have to chosen at build time. Available are english, german, czech and swedish. Bug Fixes: Fixed crash after displaying that too many connections exist. Removed duplicate length-check on setting new password. Fixed error dialog which had the error message shown in window caption. Status windows did not change to yellow icon while ReConnecting. DisConnect and ReConnect button was not disabled after a termination. This bug was introduced with beta20. The Change Password feature did not parse the key/pkcs12 line in the config file correctly if there was TABs after the filename. The Change Password feature did not work if a relative path with subdirectories was used. [1.0-beta20 2004-10-18] New Features: Accept the new passphrase prompt introduced with OpenVPN 2.0-beta12. When the machine is about to enter suspend mode the connection is closed. When the machine is powered up again, the connection is re-established. Registry option "disconnect_on_suspend". Set to zero to disable the above feature. ReConnect button on the status dialog. Registry option "allow_proxy" to hide the Proxy Settings menu item. Registry option "silent_connection" that suppresses the status dialog from being showed while connecting. Command-line option to set the time to wait for the connect script to finish. Icon color now reflects the status of the OpenVPN Service. Bug Fixes: Included shellapi.h with the sourcecode, as the one distributed with the current stable version of MinGW miss some definitions. When closing OpenVPN GUI it waits for all connections to close before exiting (Max 5 sec). Made the password dialog always be on top of other windows. Fixed a bug that occured if opening the log file for writing failed. (which happends if you try to run OpenVPN GUI without admin rights) The menuitems on the OpenVPN Service menu was incorrectly enabled/ disabled. This bug was introduced with beta19 as a result of the dynamic rescanning for configs on every menu opening. Starting OpenVPN GUI with OpenVPN 1.5/1.6 installed and OpenVPN Service running failed with previous versions. (CreateEvent() error) The installation package did not remove the OpenVPN-GUI registry key on uninstall. Removed dependency on libeay32.dll for the no change password build. [1.0-beta19 2004-09-22] New Features: The menu is restructured. Previous versions had all "actions" on the main menu, and a submenu with all configs for every action. This version lists all configs on the main menu, and have a submenu with actions. If only one config exist, the actions are placed on the main menu. If no connection is running, the config dir is re-scanned for configs every time the menu is opened. If a file exists in the config folder named xxxx_up.bat, where xxxx is the same name as an existing config file, this batch file will be executed after a connection has been establish. If the batch file fails (return an exitcode other than 0), an error message is displayed. Auto-hide status window after a connection is established and show a systray info balloon instead. Show assigned IP address in connected balloon. Don't allow starting multiple instances of OpenVPN GUI. Added a cancel button to the Ask Password dialog. Bug Fixes: Removed [nopass] parameter on --connect option as the password prompt is only showed if the private key really is passphrase protected. Show an error msg if --connect refers to a non existing config file. Ignore case of config file extension. [1.0-beta18 2004-09-13] New Features: New Icons! Supplied by Radek Hladik. If only one config file exists, dubble-clicking the systray icon will start that connection. Bug Fixes: A bug in the GetRegKey() function caused OpenVPN GUI sometimes to fail starting with the following error msg: Error creating exit_event when checking openvpn version. [1.0-beta17 2004-09-02] New Features: A dialog to configure Proxy Settings. You can now set http-proxy or socks-proxy address and port from the GUI. You can also make the GUI ask for proxy username and password, which will then be supplied to OpenVPN via an auth file. Use Internet Explorer Proxy Settings (Ewan Bhamrah Harley) A "Hide" button on the status dialog. Show an error message if the client certificate has expired or is not yet valid. Bug Fixes: If OpenVPN was installed in a non default folder, OpenVPN GUI would try to locate openvpn.exe, log-dir and conf-dir in the default openvpn folder anyway. Fixed in this version. OpenVPN GUI tried to check the status of the OpenVPN Service even if the service menu was disabled in the registry, which caused an error message to be showed if the service was not installed properly. Wait for two seconds when exiting OpenVPN GUI, so running openvpn processes can exit cleanly. Disable Disconnect menu item while waiting for an openvpn process to terminate. [1.0-beta16 2004-08-25] Bug Fixes: When only a filename (no full path) was specified in the config file for --key or --pkcs12, OpenVPN GUI did not look for the file in the config dir when changing password. Fixed in this version. [1.0-beta15 2004-08-25] When changing password, require new password to be at least 8 chars. [v1.0-beta14 2004-08-24] New Features: Change password of the private key. Both PEM and PKCS #12 files are supported. [v1.0-beta13 2004-08-19] New Features: Shows which connections are connected in the TrayIcon tip msg Bug Fixes: The "Enter Passphrase" dialog was a bit miss-designed. The textlabel and the editbox was overlapping a few pixels which made it look a little strange in some occasions. [v1.0-beta12 2004-08-16] New Features: Show a Status Window while connecting that shows the output from OpenVPN in real-time. A new menuitem to show the real-time status window. If only one connection is running, dubbleclicking the trayicon will show the status window for the running connection. Show a yellow TrayIcon while connecting. Detect "restarting process" message, and shows "Connecting" status until a new connected msg is received. [v1.0-beta11a 2004-08-15] Bug Fix: The exit_event handle was not closed after checking the openvpn version which made it impossible to restart connections with OpenVPN versions lower than 2.0-beta6. You received the following msg when trying to connect a second time: "I seem to be running as a service, but my exit event object is telling me to exit immediately" This bug was introduced with OpenVPN GUI v1.0-beta10. [v1.0-beta11 2004-08-09] New Features: This version is bundled with a patched version of openvpn that will output a log message AFTER routes have been added to the system. This allows the GUI to report "Connected" after this msg. This patch will be included in next official release of OpenVPN 2.0-beta, so the GUI will continue to work with future official releases of openvpn. Older versions of openvpn will still work with this version of OpenVPN GUI, but "Connected" will then be reported before routes are added as it did with OpenVPN GUI 1.0-beta10. If wrong passphrase is entered, openvpn will automatically be restarted a specified nr of times (default 3), which allows the user to re-enter his passphrase. Number of passphase attempts to allow can be specified with reg-key "passphrase_attempts" or cmd-line option with the same name. Bug Fixes: An empty line was printed in the log when prompting for passphrase. [v1.0-beta10 2004-08-08] Default registry setting for showing the "Edit Config" menuitem is changed to "1" (Show it). If a previous version of OpenVPN GUI has been used, the registry key will of cource not change without manually changing it. New Features: Check version of openvpn.exe, so it can support all versions of OpenVPN without a special build of OpenVPN GUI. Tested with 1.5.0, 1.6.0, 2.0-beta4, 2.0-beta7 and 2.0-beta10. Older versions than 2.0-beta6 still only support one simultaneous connection though. Redirect StdIn/StdOut/StdErr through OpenVPN GUI, so we can pass the private key passphrase to openvpn without requiring a patched version of OpenVPN. This also allows OpenVPN GUI to prompt for a passphrase only when it's needed. If connecting fails, ask the user if he wants to view the log. Show a dialog while connecting to allow the user to abort the connection. Bug Fixes: Disable both "Connect" and "DisConnect" while connecting. [v1.0-beta9 2004-07-23] The passphrase support added in v1.5-beta1 has been merched into the v1.0 source so v1.5 does not exist any longer! New Features: Cmd-line options: --connect cnn [nopass]: Autoconnect to "cnn" at startup. If "nopass" is used, no passphrase will be asked for. --help : Show list of cmd-line options. And all registry settings is now available as cmd-line options: --exe_path : Path to openvpn.exe.\n" --config_dir : Path to dir to search for config files in.\n" --ext_string : Extension on config files.\n" --log_dir : Path to dir where log files will be saved.\n" --priority_string : Priority string (See install.txt for more info).\n" --append_string : 1=Append to log file. 0=Truncate logfile.\n" --log_viewer : Path to log viewer.\n" --editor : Path to config editor.\n" --allow_edit : 1=Show Edit Config menu\n" --allow_service : 1=Show Service control menu\n" Bug Fixes: If the GUI was started from a cmd prompt and no passphrase was given openvpn.exe would query the user for the passphrase from the console (which is not showed), so the openvpn process got stuck there. [v1.5-beta1 2004-07-16] This version is based on v1.0-beta8. v1.5 is just a temporary version in wait for the management interface to OpenVPN. When this is available features added in v1.5 will be rewritten to use this interface instead in v2.0 of OpenVPN-GUI. New Features: Support for passphrase protected private keys. OpenVPN-GUI will now always query the user for a passphrase before connecting. The passphrase is then supplied to OpenVPN via the --passphrase option. This requires a patched version of OpenVPN that supports the --passphrase option. A patched version that supports this is included in the OpenVPN-GUI v1.5-betaX installation package. The user will always be asked for a passphrase even if the private key is not encrypted. This is because the GUI does not know in advance if the key is encrypted or not. This will be fixed in v2.0 when we have the management interface ready. [v1.0-beta8 2004-07-16] New Features: Tray Icon now shows red/green if any connection is established. Bug Fixes: If something failed before starting openvpn.exe, exit_event and log_handle was not closed correctly which could make it impossible to make any more connections without restarting OpenVPN-GUI. [v1.0-beta7 2004-07-08] New Features: A seperate build version supporting OpenVPN v1.5, v1.6 and the 2.0 series before beta6. This version only supports having one connection running at the same time. Added an About box. If there are active connections when "Exit OpenVPN-GUI" is selected, a "Are you sure you want to exit?" box is displayed. Bug Fixes It was not possible to have cmd-line options on the reg-keys "log_viewer" or "editor". This is now possible. [v1.0-beta6 2004-07-05] Bug Fixes: The default values for paths created by beta3, beta4 and beta5 used hardcoded values for "C:\windows..." and "C:\program files...", which did not work on some localized Windows versions that is not using these folders. This is fixed now by getting those pathnames from the system. *** If you have installed beta3-beta5 you need to manualy delete the whole HKEY_LM\SOFTWARE\OpenVPN-GUI key in the registry. The correct reg-keys will then be recreated when OpenVPN-GUI is started. *** [v1.0-beta5 2004-07-04] New Features: Menu-commands to Start/Stop/Restart the OpenVPN Service. Enable this feature by setting the following reg-key to 1: HKEY_LM\SOFTWARE\OpenVPN-GUI\allow_service Bug Fixes: v1.0-beta4 always opened the registry with write-access, which made it imposible to start it without administator rights. [v1.0-beta4 2004-07-04] New Features: Menu-command to open a config-file for editing. Enable this feature by setting the following reg-key to 1: HKEY_LM\SOFTWARE\OpenVPN-GUI\allow_edit [v1.0-beta3 2004-07-04] New Features: Log Viewer. As default OpenVPN-GUI launches Notepad to view the log. The program used to view the log can be changed with this reg-key: HKEY_LM\SOFTWARE\OpenVPN-GUI\log-viewer OpenVPN-GUI now uses its own registry-keys, instead of the same as the service wrapper uses. It now stores its values under this key: HKEY_LM\SOFTWARE\OpenVPN-GUI\ If this key does not exist, OpenVPN-GUI will create it with the same default values as the service-wrapper uses, so if you want to use the service-wrapper on config-files indepentent of the GUI you should change the "config-dir" key to another folder. [v1.0-beta2 2004-07-03] New Features: Connect/Disconnect now shows a sub-menu so each connection can be brought up/down individually. Upon connect OpenVPN-GUI will wait for 3 seconds and then check if the openvpn process is still alive and report "Connection successful" only if this is the case. OpenVPN-GUI monitors the openvpn processes it has started, and if a process is terminated before the user has chosen to take it down, this will be reported to the user. If no config files is found when OpenVPN-GUI is started, it will notify the user of this and terminate. [v1.0-beta1 2004-07-02] Initial release Features: Adds itself as a system tray icon. Menuitem "Connect" - Starts openvpn for all config-files it has found.