diff -Nur -x '*.orig' -x '*.rej' smeserver-openvpn-s2s-0.1/root/etc/e-smith/templates/etc/openvpn/s2s/openvpn-s2s.conf/10bind mezzanine_patched_smeserver-openvpn-s2s-0.1/root/etc/e-smith/templates/etc/openvpn/s2s/openvpn-s2s.conf/10bind --- smeserver-openvpn-s2s-0.1/root/etc/e-smith/templates/etc/openvpn/s2s/openvpn-s2s.conf/10bind 2010-10-15 19:37:57.000000000 +0200 +++ mezzanine_patched_smeserver-openvpn-s2s-0.1/root/etc/e-smith/templates/etc/openvpn/s2s/openvpn-s2s.conf/10bind 2010-10-18 09:05:40.000000000 +0200 @@ -1,19 +1,22 @@ { +my $remote = $db->get_prop($key,'RemoteHost') || ''; my $port = $db->get_prop($key,'Port') || '1195'; - my $protocol = $db->get_prop($key,'Protocol') || 'udp'; - $protocol = 'tcp-'."$type" if ($protocol eq 'tcp'); $OUT .= "port $port\n"; $OUT .= "proto $protocol\n"; $OUT .= "dev tun".$key."\n"; -if ($type eq 'client'){ - my $remote = $db->get_prop($key,'RemoteHost') || '# Invalid remote host'; +# In server mode, if remote is emtpy, we should add the float directive +if ($type eq 'server'){ + $OUT .= ($remote eq '') ? "float\n":"remote $remote\n"; +} +else{ $OUT .= "nobind\n"; $OUT .= "remote $remote\n"; } + } diff -Nur -x '*.orig' -x '*.rej' smeserver-openvpn-s2s-0.1/root/etc/e-smith/templates/etc/openvpn/s2s/openvpn-s2s.conf/30key mezzanine_patched_smeserver-openvpn-s2s-0.1/root/etc/e-smith/templates/etc/openvpn/s2s/openvpn-s2s.conf/30key --- smeserver-openvpn-s2s-0.1/root/etc/e-smith/templates/etc/openvpn/s2s/openvpn-s2s.conf/30key 2010-10-18 09:06:05.000000000 +0200 +++ mezzanine_patched_smeserver-openvpn-s2s-0.1/root/etc/e-smith/templates/etc/openvpn/s2s/openvpn-s2s.conf/30key 2010-10-18 08:55:30.000000000 +0200 @@ -2,6 +2,8 @@ { my $auth = $db->get_prop($key,'Authentication') || 'TLS'; +my $checkcrt = $db->get_prop($key,'CheckCertificateUsage') || 'disabled'; +my $tlsremote = $db->get_prop($key,'RemoteCommonName') || ''; if ($auth eq 'SharedKey'){ $OUT .= "secret priv/$key"."_sharedkey.pem\n"; @@ -19,6 +21,8 @@ $OUT .= "crl-verify pub/$key" . "_cacrl.pem\n" if ( -e "/etc/openvpn/s2s/pub/$key".'_cacrl.pem' ) && ( ! -z "/etc/openvpn/s2s/pub/$key".'_cacrl.pem' ); + $OUT .= "ns-cert-type client\n" if ($checkcrt eq 'enabled'); + $OUT .= "tls-remote $tlsremote\n" if ($tlsremote ne ''); } else{ $OUT .= "tls-client\n"; @@ -31,6 +35,8 @@ $OUT .= "crl-verify pub/$key" . "_cacrl.pem\n" if ( -e "/etc/openvpn/s2s/pub/$key".'_cacrl.pem' ) && ( ! -z "/etc/openvpn/s2s/pub/$key".'_cacrl.pem' ); + $OUT .= "ns-cert-type server\n" if ($checkcrt eq 'enabled'); + $OUT .= "tls-remote $tlsremote\n" if ($tlsremote ne ''); } } diff -Nur -x '*.orig' -x '*.rej' smeserver-openvpn-s2s-0.1/root/etc/e-smith/templates/etc/openvpn/s2s/openvpn-s2s.conf/60options mezzanine_patched_smeserver-openvpn-s2s-0.1/root/etc/e-smith/templates/etc/openvpn/s2s/openvpn-s2s.conf/60options --- smeserver-openvpn-s2s-0.1/root/etc/e-smith/templates/etc/openvpn/s2s/openvpn-s2s.conf/60options 2010-10-16 17:56:47.000000000 +0200 +++ mezzanine_patched_smeserver-openvpn-s2s-0.1/root/etc/e-smith/templates/etc/openvpn/s2s/openvpn-s2s.conf/60options 2010-10-18 08:45:34.000000000 +0200 @@ -5,12 +5,12 @@ my $comp = $db->get_prop($key,'Compression') || 'enabled'; -if ( $comp eq 'enabled'){ - $OUT .= "comp-lzo\n"; -} +$OUT .= "comp-lzo adaptive\n" if ($comp eq 'enabled'); + +$OUT .= "cipher $cipher\n" if ($cipher ne 'auto'); -if ($cipher ne 'auto'){ - $OUT .= "cipher $cipher\n"; +if ($type eq 'server'){ + $OUT .= "ping-timer-rem\n"; } } @@ -18,7 +18,6 @@ ping 10 ping-restart 120 mtu-test -reneg-sec 3600 nice 5 - +passtos