Closed Izorkin closed 3 years ago
You made a valid point. A bind
call is missing for the sending socket. I'll fix that...
It turned out, a call to bind
wasn't missing, but messages need to be sent via the correct one out of two sockets which are created internally. This is what the latest commit does. I tested it on Linux and FreeBSD. The outgoing replies for multicast requests now originate from the local UDP port 3702 as described in https://docs.microsoft.com/en-us/windows/win32/wsdapi/discovery-and-metadata-exchange-message-patterns If there is still something wrong, please let me know.
Requests from the neighboring subnet are blocked with firewall.
Firewall configuration:
Firewall log:
Opened ports on computers:
Network scheme:
WSDD creates a random UDP port on each computer and sends requests to a random UDP port of the neighboring SSDP service. As a result, it is impossible to create a working rule for the firewall. If allow all UDP traffic from
192.168.11.0/24
subnet, then WSDD working.