diff options
author | Lennart Poettering <lennart@poettering.net> | 2008-12-12 21:02:44 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2008-12-12 21:02:44 +0100 |
commit | 1946f54fc6380ee57dcd3f2f491270c7b08a8479 (patch) | |
tree | c3eb9ae2974db60ac3d7742ffe922c8485da49b1 /avahi-daemon/main.c | |
parent | 7289ee4063da05f276bce22685312baa83f0f117 (diff) |
allow/deny interfaces support
Original patch from Skinkie. Heavily modified by Lennart Poettering.
Closes #212.
Diffstat (limited to 'avahi-daemon/main.c')
-rw-r--r-- | avahi-daemon/main.c | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/avahi-daemon/main.c b/avahi-daemon/main.c index 7619399..c3cbb0e 100644 --- a/avahi-daemon/main.c +++ b/avahi-daemon/main.c @@ -597,7 +597,29 @@ static int load_config_file(DaemonConfig *c) { } } #endif - else { + else if (strcasecmp(p->key, "allow-interfaces") == 0) { + char **e, **t; + + avahi_string_list_free(c->server_config.allow_interfaces); + c->server_config.allow_interfaces = NULL; + e = avahi_split_csv(p->value); + + for (t = e; *t; t++) + c->server_config.allow_interfaces = avahi_string_list_add(c->server_config.allow_interfaces, *t); + + avahi_strfreev(e); + } else if (strcasecmp(p->key, "deny-interfaces") == 0) { + char **e, **t; + + avahi_string_list_free(c->server_config.deny_interfaces); + c->server_config.deny_interfaces = NULL; + e = avahi_split_csv(p->value); + + for (t = e; *t; t++) + c->server_config.deny_interfaces = avahi_string_list_add(c->server_config.deny_interfaces, *t); + + avahi_strfreev(e); + } else { avahi_log_error("Invalid configuration key \"%s\" in group \"%s\"\n", p->key, g->name); goto finish; } |