From 1946f54fc6380ee57dcd3f2f491270c7b08a8479 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 12 Dec 2008 21:02:44 +0100 Subject: allow/deny interfaces support Original patch from Skinkie. Heavily modified by Lennart Poettering. Closes #212. --- avahi-daemon/avahi-daemon.conf | 2 ++ avahi-daemon/main.c | 24 +++++++++++++++++++++++- 2 files changed, 25 insertions(+), 1 deletion(-) (limited to 'avahi-daemon') diff --git a/avahi-daemon/avahi-daemon.conf b/avahi-daemon/avahi-daemon.conf index 69df050..ad69c73 100644 --- a/avahi-daemon/avahi-daemon.conf +++ b/avahi-daemon/avahi-daemon.conf @@ -26,6 +26,8 @@ browse-domains=0pointer.de, zeroconf.org use-ipv4=yes use-ipv6=no +#allow-interfaces=eth0 +#deny-interfaces=eth1 #check-response-ttl=no #use-iff-running=no #enable-dbus=yes 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; } -- cgit