From 46b2c190dd49347015fa7a87ebaf70a4ed6725c7 Mon Sep 17 00:00:00 2001 From: Raffael Schmid Date: Wed, 8 Aug 2012 12:23:56 +0300 Subject: Add support for Ubuntu precise openssl.cnf has to be linked for precise to work also added the client-specific config dir per default and the required "mode server" --- manifests/server.pp | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/manifests/server.pp b/manifests/server.pp index 82a4ca5..ec2fde9 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -8,6 +8,11 @@ define openvpn::server($country, $province, $city, $organization, $email) { default => '/usr/share/doc/openvpn/examples/easy-rsa/2.0' } + $link_openssl_cnf = $lsbdistcodename ? { + 'precise' => true, + default => false + } + file { "/etc/openvpn/${name}": ensure => directory, @@ -22,6 +27,18 @@ define openvpn::server($country, $province, $city, $organization, $email) { require => File["/etc/openvpn/${name}"]; } + openvpn::option { + "client-config-dir ${name}": + key => 'client-config-dir', + value => "/etc/openvpn/${name}/client-configs", + server => $name, + require => File["/etc/openvpn/${name}"]; + "mode ${name}": + key => 'mode', + value => 'server', + server => $name; + } + exec { "copy easy-rsa to openvpn config folder ${name}": command => "/bin/cp -r ${easyrsa_source} /etc/openvpn/${name}/easy-rsa", @@ -41,6 +58,17 @@ define openvpn::server($country, $province, $city, $organization, $email) { require => Exec["copy easy-rsa to openvpn config folder ${name}"]; } + file { + "/etc/openvpn/${name}/easy-rsa/openssl.cnf": + require => Exec["copy easy-rsa to openvpn config folder ${name}"]; + } + if $link_openssl_cnf == true { + File["/etc/openvpn/${name}/easy-rsa/openssl.cnf"] { + ensure => link, + target => "/etc/openvpn/${name}/easy-rsa/openssl-1.0.0.cnf" + } + } + exec { "generate dh param ${name}": command => ". ./vars && ./clean-all && ./build-dh", @@ -54,7 +82,7 @@ define openvpn::server($country, $province, $city, $organization, $email) { cwd => "/etc/openvpn/${name}/easy-rsa", creates => "/etc/openvpn/${name}/easy-rsa/keys/ca.key", provider => "shell", - require => Exec["generate dh param ${name}"]; + require => [ Exec["generate dh param ${name}"], File["/etc/openvpn/${name}/easy-rsa/openssl.cnf"] ]; "generate server cert ${name}": command => ". ./vars && ./pkitool --server server", -- cgit v1.2.3