diff -Nur smeserver-openvpn-bridge-2.0/root/etc/e-smith/templates/etc/openvpn/bridge/openvpn.conf/40userAuth smeserver-openvpn-bridge-2.0-lib64/root/etc/e-smith/templates/etc/openvpn/bridge/openvpn.conf/40userAuth --- smeserver-openvpn-bridge-2.0/root/etc/e-smith/templates/etc/openvpn/bridge/openvpn.conf/40userAuth 2013-06-05 14:43:29.830868859 +0200 +++ smeserver-openvpn-bridge-2.0-lib64/root/etc/e-smith/templates/etc/openvpn/bridge/openvpn.conf/40userAuth 2013-06-06 11:59:41.919182924 +0200 @@ -2,9 +2,25 @@ { my $userAuth = ${'openvpn-bridge'}{userAuth} || 'CrtWithPass'; if ($userAuth eq 'CrtWithPass'){ - my $plugin_dir = (-d "/usr/share/openvpn/plugin/lib") ? - '/usr/share/openvpn/plugin/lib':'/usr/lib/openvpn/plugin/lib'; - $OUT .= "plugin ".$plugin_dir."/openvpn-auth-pam.so login\n"; + # This the the old default location of the plugin + my $plugin = "/usr/share/openvpn/plugin/lib/openvpn-auth-pam.so"; + # This is the new (since openvpn 2.3.1-2) of the plugin, for x86 + if ( -e "/usr/lib/openvpn/plugins/openvpn-plugin-auth-pam.so" ){ + $plugin = "/usr/lib/openvpn/plugins/openvpn-plugin-auth-pam.so"; + } + # Same for x86_64 + elsif ( -e "/usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so" ){ + $plugin = "/usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so"; + } + # This is the location for openvpn before 2.3.1-2 + elsif ( -e "/usr/lib/openvpn/plugin/lib/openvpn-auth-pam.so" ){ + $plugin = "/usr/lib/openvpn/plugin/lib/openvpn-auth-pam.so"; + } + # Same for x86_64 + elsif ( -e "/usr/lib64/openvpn/plugin/lib/openvpn-auth-pam.so" ){ + $plugin = "/usr/lib64/openvpn/plugin/lib/openvpn-auth-pam.so"; + } + $OUT .= "plugin " . $plugin . " login\n"; } $OUT .= ''; }