mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-29 05:40:27 -04:00
module-raop-discover: Skip tunnel creation for link-local addresses
Some Apple devices will advertise their link-local address via mDNS. Ignore these mDNS entries.
This commit is contained in:
parent
c0f018e0f4
commit
c386c96ff0
1 changed files with 8 additions and 3 deletions
|
|
@ -363,7 +363,7 @@ static void resolver_cb(AvahiServiceResolver *r, AvahiIfIndex interface, AvahiPr
|
|||
struct impl *impl = userdata;
|
||||
struct tunnel_info tinfo;
|
||||
struct tunnel *t;
|
||||
const char *str;
|
||||
const char *str, *link_local_range = "169.254.";
|
||||
AvahiStringList *l;
|
||||
struct pw_properties *props = NULL;
|
||||
char at[AVAHI_ADDRESS_STR_MAX];
|
||||
|
|
@ -374,6 +374,12 @@ static void resolver_cb(AvahiServiceResolver *r, AvahiIfIndex interface, AvahiPr
|
|||
goto done;
|
||||
}
|
||||
|
||||
avahi_address_snprint(at, sizeof(at), a);
|
||||
if (spa_strstartswith(at, link_local_range)) {
|
||||
pw_log_info("found link-local ip address %s - skipping tunnel creation", at);
|
||||
goto done;
|
||||
}
|
||||
|
||||
tinfo = TUNNEL_INFO(.name = name);
|
||||
|
||||
t = find_tunnel(impl, &tinfo);
|
||||
|
|
@ -384,7 +390,7 @@ static void resolver_cb(AvahiServiceResolver *r, AvahiIfIndex interface, AvahiPr
|
|||
goto done;
|
||||
}
|
||||
if (t->module != NULL) {
|
||||
pw_log_info("found duplicate mdns entry - skipping tunnel creation");
|
||||
pw_log_info("found duplicate mdns entry for %s on IP %s - skipping tunnel creation", name, at);
|
||||
goto done;
|
||||
}
|
||||
|
||||
|
|
@ -394,7 +400,6 @@ static void resolver_cb(AvahiServiceResolver *r, AvahiIfIndex interface, AvahiPr
|
|||
goto done;
|
||||
}
|
||||
|
||||
avahi_address_snprint(at, sizeof(at), a);
|
||||
pw_properties_setf(props, "raop.ip", "%s", at);
|
||||
pw_properties_setf(props, "raop.port", "%u", port);
|
||||
pw_properties_setf(props, "raop.name", "%s", name);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue