]> 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)
committerkaterina.kubecova <katerina.kubecova@nic.cz>
Wed, 20 Sep 2023 11:52:22 +0000 (13:52 +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..b655ea04ff26f8f67c7cf0d3a865e2ef7f50b542 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");
   }