diff options
Diffstat (limited to 'avahi-core')
-rw-r--r-- | avahi-core/core.h | 1 | ||||
-rw-r--r-- | avahi-core/iface-linux.c | 2 | ||||
-rw-r--r-- | avahi-core/iface-pfroute.c | 2 | ||||
-rw-r--r-- | avahi-core/server.c | 1 |
4 files changed, 4 insertions, 2 deletions
diff --git a/avahi-core/core.h b/avahi-core/core.h index 62eeef6..d1c60cc 100644 --- a/avahi-core/core.h +++ b/avahi-core/core.h @@ -62,6 +62,7 @@ typedef struct AvahiServerConfig { int disallow_other_stacks; /**< Make sure that only one mDNS responder is run at the same time on the local machine. If this is enable Avahi will not set SO_REUSADDR on its sockets, effectively preventing other stacks from running on the local machine */ AvahiStringList *browse_domains; /**< Additional browsing domains */ int disable_publishing; /**< Disable publishing of any record */ + int allow_point_to_point; /**< Enable publishing on POINTOPOINT interfaces */ } AvahiServerConfig; /** Allocate a new mDNS responder object. */ diff --git a/avahi-core/iface-linux.c b/avahi-core/iface-linux.c index 985fe3f..910000d 100644 --- a/avahi-core/iface-linux.c +++ b/avahi-core/iface-linux.c @@ -98,7 +98,7 @@ static void netlink_callback(AvahiNetlink *nl, struct nlmsghdr *n, void* userdat (!m->server->config.use_iff_running || (ifinfomsg->ifi_flags & IFF_RUNNING)) && !(ifinfomsg->ifi_flags & IFF_LOOPBACK) && (ifinfomsg->ifi_flags & IFF_MULTICAST) && - !(ifinfomsg->ifi_flags & IFF_POINTOPOINT); + (m->server->config.allow_point_to_point || !(ifinfomsg->ifi_flags & IFF_POINTOPOINT)); /* Handle interface attributes */ l = NLMSG_PAYLOAD(n, sizeof(struct ifinfomsg)); diff --git a/avahi-core/iface-pfroute.c b/avahi-core/iface-pfroute.c index cb47a0d..6fb6cfc 100644 --- a/avahi-core/iface-pfroute.c +++ b/avahi-core/iface-pfroute.c @@ -80,7 +80,7 @@ static void rtm_info(struct rt_msghdr *rtm, AvahiInterfaceMonitor *m) (!m->server->config.use_iff_running || (ifm->ifm_flags & IFF_RUNNING)) && !(ifm->ifm_flags & IFF_LOOPBACK) && (ifm->ifm_flags & IFF_MULTICAST) && - !(ifm->ifm_flags & IFF_POINTOPOINT); + (m->server->config.allow_point_to_point || !(ifinfomsg->ifi_flags & IFF_POINTOPOINT)); avahi_free(hw->name); hw->name = avahi_strndup(sdl->sdl_data, sdl->sdl_nlen); diff --git a/avahi-core/server.c b/avahi-core/server.c index 017605e..4aa48a8 100644 --- a/avahi-core/server.c +++ b/avahi-core/server.c @@ -1538,6 +1538,7 @@ AvahiServerConfig* avahi_server_config_init(AvahiServerConfig *c) { c->disallow_other_stacks = 0; c->browse_domains = NULL; c->disable_publishing = 0; + c->allow_point_to_point = 0; return c; } |