chiark
/
gitweb
/
~ian
/
secnet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
pubkeys: Introduce `pkgf' fallback groups
[secnet.git]
/
pubkeys.fl.pl
diff --git
a/pubkeys.fl.pl
b/pubkeys.fl.pl
index da22a251e45a6e3427c0195a67546455e5afc7e2..9b6bb9b9ee5a76097ca07a06deefb386a5456496 100755
(executable)
--- a/
pubkeys.fl.pl
+++ b/
pubkeys.fl.pl
@@
-73,10
+73,15
@@
sub inst ($) {
while (<DATA>) {
s#\{!2(\w+)\}# '{'.(2 * ($subst{$1}//die "$1 ?")).'}' #ge;
while (<DATA>) {
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;
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}";
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; }
%%
!KEYWORD pkg { c->fallback_skip=0; }
+!KWALIAS pkgf { c->fallback_skip=!!c->building->nkeys; }
!ARG id [0-9a-f]{!2GRPIDSZ} {
HEX2BIN_ARRAY(c->grpid);
!}
!ARG id [0-9a-f]{!2GRPIDSZ} {
HEX2BIN_ARRAY(c->grpid);
!}