]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Filter: Function unset() accepts attributes declared in config
authorkaterina.kubecova <katerina.kubecova@nic.cz>
Wed, 20 Sep 2023 07:50:22 +0000 (09:50 +0200)
committerMaria Matejka <mq@ucw.cz>
Wed, 20 Sep 2023 12:03:18 +0000 (14:03 +0200)
filter/config.Y

index a87fb0e5ff93dfb02cf478102380071872ee6f43..dfabddf7bff52443cd011b0b8623f99ab4be76b0 100644 (file)
@@ -1002,6 +1002,15 @@ cmd:
  | UNSET '(' dynamic_attr ')' ';' {
      $$ = f_new_inst(FI_EA_UNSET, $3);
    }
+ | UNSET '(' symbol_known ')' ';' {
+     switch ($3->class) {
+       case SYM_ATTRIBUTE:
+        $$ = f_new_inst(FI_EA_UNSET, *$3->attribute);
+        break;
+       default:
+        cf_error("Can't unset symbol %s", $3->name);
+     }
+ }
  | break_command var_list_r ';' {
     $$ = f_print($2, !!$2, $1);
    }