Hello,

Indeed minissdpd does bind() the socket on *:1900 but adds membership
(join group for IPv6) to the multicast group 239.255.255.250(FF02::C,
FF05::C) only on the specified interface(s).
https://github.com/miniupnp/miniupnp/blob/master/minissdpd/openssdpsocket.c#L105

Then, the first thing done when a packet is received is to check the
interface and or the peer address :
https://github.com/miniupnp/miniupnp/blob/master/minissdpd/minissdpd.c#L629
Non matching packets are dropped.

Binding on a specific address may or may not work properly depending on
the way the OS implements IP Multicast.
it can be enabled at compile time but was disabled for incompatibilities
reasons (afair)


Regards,

Thomas



Reply via email to