From: Raphaƫl Gertz Date: Wed, 5 Apr 2017 17:28:28 +0000 (+0200) Subject: Fix configuration generation tool X-Git-Tag: 2.0.3~29 X-Git-Url: https://git.rapsys.eu/acme/commitdiff_plain/9c3c698790057b5c32bb7daacb9269ddf4b677df Fix configuration generation tool --- diff --git a/letsconf b/letsconf index 72e7a11..cc0f077 100755 --- a/letsconf +++ b/letsconf @@ -50,26 +50,26 @@ for (my $i = 0; $i <= $#ARGV; $i++) { # Match redhat types if ($ARGV[$i] =~ /^(?:(\-r|\-\-redhat)(?:=([^-][a-zA-Z0-9_\.,-]+))?)$/) { if (defined($2)) { - push(@redhat, split(',', $2)); + push(@redhat, [split(',', $2)]); # Extract next parameter } elsif(defined($ARGV[$i+1]) && $ARGV[$i+1] =~ /^([^-][a-zA-Z0-9_\.,-]+)$/) { - push(@redhat, split(',', $1)); + push(@redhat, [split(',', $1)]); $i++; # Set default } else { - push(@redhat, ('example.com')); + push(@redhat, ['www.example.com','example.com','...']); } # Match debian types } elsif ($ARGV[$i] =~ /^(?:(\-d|\-\-debian)(?:=([^-][a-zA-Z0-9_\.,-]+))?)$/) { if (defined($2)) { - push(@debian, split(',', $2)); + push(@debian, [split(',', $2)]); # Extract next parameter } elsif(defined($ARGV[$i+1]) && $ARGV[$i+1] =~ /^([^-][a-zA-Z0-9_\.,-]+)$/) { - push(@debian, split(',', $1)); + push(@debian, [split(',', $1)]); $i++; # Set default } else { - push(@debian, ('example.com')); + push(@debian, ['www.example.com','example.com','...']); } } } @@ -81,26 +81,25 @@ if (scalar(@ARGV) < 1) { } # Append redhat style examples -foreach my $key (@redhat) { +for my $key (@redhat) { + my $domain = shift @{$key}; + my @domains = $key; tie(%{$root{certificates}[$#{$root{certificates}}+1]}, 'Tie::IxHash', ( # Public cert #XXX: required - cert => '/etc/pki/tls/certs/'.$key.'.pem', + cert => '/etc/pki/tls/certs/'.$domain.'.pem', # Private key #XXX: required - key => '/etc/pki/tls/private/'.$key.'.pem', + key => '/etc/pki/tls/private/'.$domain.'.pem', # Mail address #XXX: required - mail => 'webmaster@'.$key, + mail => 'webmaster@'.$domain, # Root domain #XXX: required - domain => 'www.'.$key, + domain => $domain, # Domain list #XXX: required - domains => [ - $key, - '...' - ], + domains => @domains, # Production certificate #XXX: optional #XXX: set to 1 for production @@ -109,26 +108,25 @@ foreach my $key (@redhat) { } # Append debian style examples -foreach my $key (@debian) { +for my $key (@debian) { + my $domain = shift @{$key}; + my @domains = $key; tie(%{$root{certificates}[$#{$root{certificates}}+1]}, 'Tie::IxHash', ( # Public cert #XXX: required - cert => '/etc/ssl/certs/'.$key.'.crt', + cert => '/etc/ssl/certs/'.$domain.'.crt', # Private key #XXX: required - key => '/etc/ssl/private/'.$key.'.key', + key => '/etc/ssl/private/'.$domain.'.key', # Mail address #XXX: required - mail => 'webmaster@'.$key, + mail => 'webmaster@'.$domain, # Root domain #XXX: required - domain => 'www.'.$key, + domain => $domain, # Domain list #XXX: required - domains => [ - $key, - '...' - ], + domains => @domains, # Production certificate #XXX: optional #XXX: set to 1 for production