FS#33588 - [openvpn] 2.3 Regression
Attached to Project:
Arch Linux
Opened by Curtis (foxcm2000) - Sunday, 27 January 2013, 03:34 GMT
Last edited by Thomas Bächler (brain0) - Saturday, 09 February 2013, 14:58 GMT
Opened by Curtis (foxcm2000) - Sunday, 27 January 2013, 03:34 GMT
Last edited by Thomas Bächler (brain0) - Saturday, 09 February 2013, 14:58 GMT
|
Details
Description:
After having used openvpn in multiple versions for several years without problems, the upgrade to version 2.3 brought this error: Sat Jan 26 22:30:33 2013 OpenVPN 2.3.0 x86_64-unknown-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [eurephia] [MH] [IPv6] built on Jan 20 2013 Sat Jan 26 22:30:33 2013 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts Sat Jan 26 22:30:33 2013 ERROR: could not not read Private Key password from stdin Sat Jan 26 22:30:33 2013 Exiting due to fatal error Additional info: * package version(s): OpenVPN 2.3 Steps to reproduce: 1. Upgrade to OpenVPN 2.3 2. Run the openvpn client with a private key that requires a passphrase. 3. Instead of prompting for the passphrase, OpenVPN immediately bombs out |
This task depends upon
Closed by Thomas Bächler (brain0)
Saturday, 09 February 2013, 14:58 GMT
Reason for closing: Fixed
Additional comments about closing: openvpn 2.3.0-2
Saturday, 09 February 2013, 14:58 GMT
Reason for closing: Fixed
Additional comments about closing: openvpn 2.3.0-2
Is your system running systemd?
----
[pid 12239] close(3) = 0
[pid 12239] dup2(4, 1) = 1
[pid 12239] execve("/bin/systemd-ask-password", ["/bin/systemd-ask-password", "Enter Auth Username:"], [/* 0 vars */]) = -1 ENOENT (No such file or directory)
[pid 12239] exit_group(127) = ?
----
Looks like the systemd-ask-password path is hardcoded to "/bin/systemd-ask-password"...
#ifdef ENABLE_SYSTEMD
if (check_systemd_running ())
return get_console_input_systemd (prompt, echo, input, capacity);
#endif
If systemd is not running, then (contrary to my first statement) openvpn falls back to querying input from the controlling terminal. This is done without the need to access libsystemd-daemon. There is thus no need for a systemd dependency.