From 406fbf478e87a926944dc3a648230ad5a4b1ebbe Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Wed, 3 Nov 2021 15:26:40 +0100 Subject: [PATCH] ubus: add support for dynamically adding dns based rules Signed-off-by: Felix Fietkau --- ubus.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ubus.c b/ubus.c index 79ad957..1be17b4 100644 --- a/ubus.c +++ b/ubus.c @@ -50,6 +50,7 @@ enum { CL_ADD_IPV6, CL_ADD_TCP_PORT, CL_ADD_UDP_PORT, + CL_ADD_DNS, __CL_ADD_MAX }; @@ -60,6 +61,7 @@ static const struct blobmsg_policy qosify_add_policy[__CL_ADD_MAX] = { [CL_ADD_IPV6] = { "ipv6", BLOBMSG_TYPE_ARRAY }, [CL_ADD_TCP_PORT] = { "tcp_port", BLOBMSG_TYPE_ARRAY }, [CL_ADD_UDP_PORT] = { "udp_port", BLOBMSG_TYPE_ARRAY }, + [CL_ADD_DNS] = { "dns", BLOBMSG_TYPE_ARRAY }, }; @@ -117,6 +119,10 @@ qosify_ubus_add(struct ubus_context *ctx, struct ubus_object *obj, (ret = qosify_ubus_add_array(cur, dscp, CL_MAP_UDP_PORTS) != 0)) return ret; + if ((cur = tb[CL_ADD_DNS]) != NULL && + (ret = qosify_ubus_add_array(cur, dscp, CL_MAP_DNS) != 0)) + return ret; + qosify_map_timeout = prev_timemout; return 0; -- 2.30.2