X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/distorted-keys/blobdiff_plain/e9cf707985f070cf5992f1bb112df58e532e01ca..f012ad83100add4822bfa4e7017673beae6ebf17:/keyfunc.sh.in diff --git a/keyfunc.sh.in b/keyfunc.sh.in index 38ca243..b55bd99 100644 --- a/keyfunc.sh.in +++ b/keyfunc.sh.in @@ -144,7 +144,7 @@ check () { validp=t case "$thing" in *"$nl"*) validp=nil ;; - *) if ! expr >/dev/null "$thing" : "$ckpat\$"; then validp=nil; fi ;; + *) if ! expr >/dev/null "Q$thing" : "Q$ckpat\$"; then validp=nil; fi ;; esac case $validp in nil) echo >&2 "$quis: bad $ckwhat \`$thing'"; exit 1 ;; @@ -153,10 +153,13 @@ check () { ## Regular expressions for validating input. R_IDENTCHARS="A-Za-z0-9_" -R_WORDCHARS="-$R_IDENTCHARS!%@+=" +R_GOODPUNCT="!%@+=" +R_WORDCHARS="-$R_IDENTCHARS$R_GOODPUNCT" R_IDENT="[$R_IDENTCHARS][$R_IDENTCHARS]*" R_WORD="[$R_WORDCHARS][$R_WORDCHARS]*" +R_ACLCHARS="][$R_IDENTCHARS$R_GOODPUNCT*?:.#" R_WORDSEQ="[$R_WORDCHARS[:space:]][$R_WORDCHARS[:space:]]*" +R_ACL="[$R_ACLCHARS[:space:]-][$R_ACLCHARS[:space:]-]*" R_NUMERIC='\(\([1-9][0-9]*\)\{0,1\}0\{0,1\}\)' R_LABEL="\($R_WORD\(/$R_WORD\)*\)" R_LINE=".*" @@ -241,6 +244,11 @@ random t $R_WORD nub_hash t $R_WORD nubid_hash t $R_WORD nub_random_bytes t $R_NUMERIC +acl_encrypt t $R_ACL +acl_decrypt t $R_ACL +acl_sign t $R_ACL +acl_verify t $R_ACL +acl_info t $R_ACL EOF readprops () {