X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=pubkeys.fl.pl;fp=pubkeys.fl.pl;h=9b6bb9b9ee5a76097ca07a06deefb386a5456496;hb=8c8578ff6ce65c8fcf609cfd171b0d9cbf93a447;hp=da22a251e45a6e3427c0195a67546455e5afc7e2;hpb=d27e77d0b3a7cbbbc2da207673cdab17f1f298ea;p=secnet.git diff --git a/pubkeys.fl.pl b/pubkeys.fl.pl index da22a25..9b6bb9b 100755 --- a/pubkeys.fl.pl +++ b/pubkeys.fl.pl @@ -73,10 +73,15 @@ sub inst ($) { while () { s#\{!2(\w+)\}# '{'.(2 * ($subst{$1}//die "$1 ?")).'}' #ge; - if (m/^!KEYWORD ([-0-9a-z]+)(\s*\{.*\})?$/) { + if (m/^!(KEYWORD|KWALIAS) ([-0-9a-z]+)(\s*\{.*\})?$/) { my $kwt=$2; - die if $kw; - $kw = $1; + if ($1 eq 'KEYWORD') { + die if $kw; + $kw = $kwt; + } else { + die if @next_kw; + die unless $kw; + } my $xact = $3 // ''; $kwid = $kw; $kwid =~ y/-/_/; $in_s = "HK_${kwid}"; @@ -193,6 +198,7 @@ static struct pubkeyset_context c[1]; %% !KEYWORD pkg { c->fallback_skip=0; } +!KWALIAS pkgf { c->fallback_skip=!!c->building->nkeys; } !ARG id [0-9a-f]{!2GRPIDSZ} { HEX2BIN_ARRAY(c->grpid); !}