summaryrefslogtreecommitdiffstats
path: root/avahi-daemon
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2008-12-12 21:02:44 +0100
committerLennart Poettering <lennart@poettering.net>2008-12-12 21:02:44 +0100
commit1946f54fc6380ee57dcd3f2f491270c7b08a8479 (patch)
treec3eb9ae2974db60ac3d7742ffe922c8485da49b1 /avahi-daemon
parent7289ee4063da05f276bce22685312baa83f0f117 (diff)
allow/deny interfaces support
Original patch from Skinkie. Heavily modified by Lennart Poettering. Closes #212.
Diffstat (limited to 'avahi-daemon')
-rw-r--r--avahi-daemon/avahi-daemon.conf2
-rw-r--r--avahi-daemon/main.c24
2 files changed, 25 insertions, 1 deletions
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;
}