]> Raphaƫl G. Git Repositories - acme/blobdiff - acmeconf
Switch to new ACME v2 API
[acme] / acmeconf
index 10595c83d9b0c6338257babb276f6d4dc88e4368..bfab64efe25611d27975ac25ecdffe3d258fc42d 100755 (executable)
--- a/acmeconf
+++ b/acmeconf
@@ -34,7 +34,7 @@ my @debian = ();
 
 # Init root
 my %root = ();
-tie(%root, 'Tie::IxHash', thumbprint => '/etc/acme/thumbprint', certificates => []);
+tie(%root, 'Tie::IxHash', thumbprint => '/etc/acme/thumbprint', term => 'https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf', pending => '/tmp/acme.pending', certificates => []);
 
 # Init prod
 my $prod = 0;
@@ -68,12 +68,28 @@ for (my $i = 0; $i <= $#ARGV; $i++) {
                } else {
                        push(@debian, ['www.example.com','example.com','...']);
                }
+       # Match term
+       } elsif ($ARGV[$i] =~ /^(?:(\-t|\-\-term)(?:=(https:\/\/letsencrypt\.org\/documents\/[a-zA-Z0-9\._-]+\.pdf))?)$/) {
+               if (defined($2)) {
+                       $root{term} = $2;
+                       splice(@ARGV, $i, 1);
+                       $i--;
+               # Extract next parameter
+               } elsif(defined($ARGV[$i+1]) && $ARGV[$i+1] =~ /^(https:\/\/letsencrypt\.org\/documents\/[a-zA-Z0-9\._-]+\.pdf)$/) {
+                       $root{term} = $1;
+                       splice(@ARGV, $i, 2);
+                       $i--;
+               # Set default
+               } else {
+                       print 'Term parameter without valid link'."\n";
+                       exit EXIT_FAILURE;
+               }
        }
 }
 
 # Show usage
-if (scalar(@ARGV) < 1) {
-       print "Usage: $0 [(-d|--debian)[=example.com[,...]] [(-r|--redhat)[=example.com[,...]]] [...] > /etc/acme/config\n";
+if (scalar(@redhat) < 1 && scalar(@debian) < 1) {
+       print "Usage: $0 [(-d|--debian)[=example.com[,...]] [(-r|--redhat)[=example.com[,...]]] [(-t|--term)[=https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf]] [...] > /etc/acme/config\n";
        exit EXIT_FAILURE;
 }