On Wed, 4 May 2005, Gerhard Wiesinger wrote:

> Hello!
> 
> Attached are 2 usability patches for password authentication on Windows, 
> one for OpenVPN 2.0.0 and OpenVPN-GUI 1.0.
> 
> The patches provide the following functionality:
> You can provide predefined usernames for password authentication, 
> backward compatibility is guaranteed.
> 
> It looks like the following:
> 
> Client Config looks like:
> =========================
> # Ask for username and password
> auth-user-pass user.up
> 
> # Optionally the win32-gui switch can be set (see for combinations below)
> win32-gui
> 
> user.up contains:
> =================
> username
> password or stdin or gui (stdin and gui are reserverd keywords)
> 
> When password is set, the password is taken.
> When stdin or gui is set as the password the user is asked to provide the 
> password only (The username is not queried or is already predefined in the 
> GUI dialog and the focus is set to the password text field).
> 
> # Usefull combinations are:
> # disabled win32-gui with auth-user-pass username/gui (Best)
> ============================================================
> OpenVPN Userauthentication Dialog (only one dialog appears) with the 
> following information:
> 
> Username: gerhard (predefined as from user.up!!!)
> Password: Enter the password here
> 
> When a private key password is set, it is also queried.
> 
> Username is taken from user.up
> 
> # win32-gui with auth-user-pass username/stdin  (Best)
> ======================================================
> The following dialog pops up:
> Enter Auth Password for user gerhard: Enter the username here
> 
> When a private key password is set, it is also queried.
> 
> Username is taken from user.up
> 
> # win32-gui with auth-user-pass username/gui
> ============================================
> Enter Auth Username [gerhard]: Enter the username here
> Enter Auth Password: Enter the password here
> 
> When a private key password is set, it is also queried.
> 
> # Useless combinations are:
> # disabled win32-gui with auth-user-pass username/stdin
> =======================================================
> OpenVPN is blocked, since the GUI waits for input from stdin, but nothing 
> usefull is sent.
> 
> Server side looks like:
> =======================
> plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so login
> 
> It has been tested with MinGW compiler, Windows 2000 and Linux as a 
> server unpatched (2.0.0).
> 
> Please let me know whether you integrate the patches in the upcoming 
> OpenVPN 2.0.1 release.

Why would you want to add platform-specific GUI code to the OpenVPN core
(as the non-GUI patch does), rather than coding the GUI functionality as
a separate applet and communicating with the OpenVPN core via the
management interface?  It's a bit more work this way, but it has the 
advantage of decoupling the OpenVPN core from the platform-specific GUI 
elements.

James

Reply via email to