chiark / gitweb /
keyfunc.sh.in (prepare): Indicate that an ACL check isn't necessary.
[distorted-keys] / keyfunc.sh.in
index bad5af12a755ffd883e8b1a37012211790a0d6f8..f134198afcbbf8d56ae02bfa097f5b3131780aec 100644 (file)
@@ -426,7 +426,8 @@ k_verify () { notsupp verify; }
 prepare () {
   key=$1 op=$2
   ## Prepare for a crypto operation OP, using the KEY.  This validates the
-  ## key label, reads the profile, and checks the access-control list.
+  ## key label, reads the profile, and checks the access-control list.  If OP
+  ## is `-' then allow the operation unconditionally.
 
   ## Find the key properties.
   parse_keylabel "$key"
@@ -436,6 +437,7 @@ prepare () {
 
   ## Check whether we're allowed to do this thing.  This is annoyingly
   ## fiddly.
+  case $op in -) return ;; esac
   eval acl=\${kprop_acl_$op-!owner}
   verdict=forbid
   while :; do