]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Attributes declared in config can be bytestrings
authorkaterina.kubecova <katerina.kubecova@nic.cz>
Mon, 18 Sep 2023 12:07:59 +0000 (14:07 +0200)
committerMaria Matejka <mq@ucw.cz>
Wed, 20 Sep 2023 12:03:41 +0000 (14:03 +0200)
filter/f-inst.c
filter/f-util.c

index c56d874b03020dc698fa98fc89885208db8350fb..510c431f1752e5639923800610c51e2c3705b280 100644 (file)
        l->attrs[0].u.data = v1.val.i;
        break;
 
-      case EAF_TYPE_OPAQUE:
-       runtime( "Setting opaque attribute is not allowed" );
-       break;
-
       case EAF_TYPE_IP_ADDRESS:;
        int len = sizeof(ip_addr);
        struct adata *ad = lp_alloc(fs->pool, sizeof(struct adata) + len);
        l->attrs[0].u.ptr = ad;
        break;
 
+      case EAF_TYPE_OPAQUE:
       case EAF_TYPE_AS_PATH:
       case EAF_TYPE_INT_SET:
       case EAF_TYPE_EC_SET:
index d589927a191553e4af577722ac9c3777db34e678..a47a874775e6137928be41eca558fd51b2cb9359 100644 (file)
@@ -294,6 +294,9 @@ ca_lookup(pool *p, const char *name, int f_type)
     case T_LCLIST:
       ea_type = EAF_TYPE_LC_SET;
       break;
+    case T_BYTESTRING:
+      ea_type = EAF_TYPE_OPAQUE;
+      break;
     default:
       cf_error("Custom route attribute of unsupported type");
   }