summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau2025-03-09 15:39:53 +0000
committerFelix Fietkau2025-03-09 15:39:53 +0000
commit6c9c8fbd81285a2cba7dd1c2c1ac2bf25ca99e27 (patch)
tree5923a72cfd81e9ea01f68ae3080912efa3bcfaaf
parent7326459bd7438a47751873bbd4c2d45b6f31f8b6 (diff)
downloadunetd-6c9c8fbd81285a2cba7dd1c2c1ac2bf25ca99e27.tar.gz
service: add @all as alias for all members, unless defined differently
Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r--service.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/service.c b/service.c
index 0050c23..0f5a8be 100644
--- a/service.c
+++ b/service.c
@@ -69,7 +69,11 @@ __service_parse_members(struct network *net, struct network_service *s,
}
name++;
- if (!name[0]) {
+ group = avl_find_element(&net->groups, name, group, node);
+ if (!group) {
+ if (name[0] && strcmp(name, "all") != 0)
+ return 0;
+
avl_for_each_element(&net->hosts, host, node) {
if (s)
__service_add_member(s->members, &s->n_members, host);
@@ -78,10 +82,6 @@ __service_parse_members(struct network *net, struct network_service *s,
return count;
}
- group = avl_find_element(&net->groups, name, group, node);
- if (!group)
- return 0;
-
if (s)
return __service_add_group(s->members, &s->n_members, group);
else