chiark / gitweb /
bin/*: Use plain `/usr/bin/tclsh' in shebang lines.
[ca] / bin / add
diff --git a/bin/add b/bin/add
index 1c2ae81f385320563ed251e503633b072bc621b3..cb4ecf0f582b167ff6f5d80b68637c8ef14e1f5d 100755 (executable)
--- a/bin/add
+++ b/bin/add
@@ -1,4 +1,4 @@
-#! /usr/bin/tclsh8.5
+#! /usr/bin/tclsh
 ### -*-tcl-*-
 ###
 ### Insert a certificate request into the database.
@@ -70,14 +70,14 @@ db transaction {
 
     ## Check whether the profile exists.
     if {![db exists {
-      SELECT 1 FROM profile WHERE label = $profile;
+      SELECT 1 FROM profile WHERE label = $profile AND tombstone = 0;
     }]} {
       error "unknown profile `$profile'"
     }
 
     ## Copy the file away.
     fresh-temp "$CERTROOT/tmp" tmp {
-      file copy $file $tmp
+      exec openssl req -text -in $file -out $tmp
     }
     cleanup { file delete $tmp }
 
@@ -109,3 +109,6 @@ db transaction {
   ## Issue a shiny new certificate.
   issue-cert $id [now]
 }
+
+## Publish any necessary changes.
+update-hook