]> granicus.if.org Git - curl/commitdiff
added -b switch to provide a backup functionality for existing ca-bundle.crt file.
authorGunter Knauf <gk@gknw.de>
Sun, 10 Feb 2008 01:29:24 +0000 (01:29 +0000)
committerGunter Knauf <gk@gknw.de>
Sun, 10 Feb 2008 01:29:24 +0000 (01:29 +0000)
lib/mk-ca-bundle.pl

index a96c2217906cecb1e8e9c5c363039ef38505979b..959bbf27722eb42ef58843770ac3abd3d30c06cc 100755 (executable)
@@ -39,11 +39,12 @@ my $url = 'http://lxr.mozilla.org/seamonkey/source/security/nss/lib/ckfw/builtin
 # If the OpenSSL commandline is not in search path you can configure it here!
 my $openssl = 'openssl';
 
-getopts('hilnuv');
+getopts('bhilnuv');
 
 if ($opt_h) {
   $0 =~ s/\\/\//g;
-  printf("Usage:\t%s [-i] [-l] [-n] [-u] [-v] [<outputfile>]\n", substr($0, rindex($0, '/') + 1));
+  printf("Usage:\t%s [-b] [-i] [-l] [-n] [-u] [-v] [<outputfile>]\n", substr($0, rindex($0, '/') + 1));
+  print "\t-b\tbackup an existing version of ca-bundle.crt\n";
   print "\t-i\tprint version info about used modules\n";
   print "\t-l\tprint license info about certdata.txt\n";
   print "\t-n\tno download of certdata.txt (to use existing)\n";
@@ -80,6 +81,14 @@ if (!$opt_n) {
 
 die "File '$txt' doesnt exist - dont use -n switch to download the file!\n" if (!-e $txt);
 
+if ($opt_b && -e $crt) {
+  my $bk = 1;
+  while (-e "$crt.~$bk~") {
+    $bk++;
+  }
+  rename $crt, "$crt.~$bk~";
+}
+
 my $currentdate = scalar gmtime() . " UTC";
 open(CRT,">$crt") or die "Couldn't open $crt: $!";
 print CRT <<EOT;