UPnP IGD implementation
http://miniupnp.free.fr/
bfbe42d392
When struct ip_mreqn is passed to IP_MULTICAST_IF setsockopt option it is always required to set also ipv4 source address. Otherwise Linux kernel will choose default system multicast ipv4 address which does not have to belong to chosen interface specified in struct ip_mreqn. Therefore on system with more multicast interfaces and more ipv4 addresses, it may happen that interface chosen by upnpc -m option would use ipv4 address which does not belong to this interface. This change is fixing above issue and ensure that if interface is chosen by upnpc -m option then source address which belongs to this interface would be used. Without this change upnpc -m eth1 can send multicast traffic over interface eth1 but with source ipv4 address of interface eth0, which obviously would be rejected by upnp gateway. |
||
---|---|---|
.github/workflows | ||
minissdpd | ||
miniupnpc | ||
miniupnpc-async | ||
miniupnpc-libevent | ||
miniupnpc-libuv | ||
miniupnpd | ||
.gitlab-ci.yml | ||
.travis.yml | ||
CODE_OF_CONDUCT | ||
CONTRIBUTING | ||
LICENSE | ||
README | ||
SECURITY.md | ||
appveyor.yml | ||
miniupnp.podspec |
README
-= MiniUPnP project =- Main author : Thomas BERNARD Web site : http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/ Gitlab : https://framagit.org/miniupnp/miniupnp/ Github : https://github.com/miniupnp/miniupnp/ Travis CI : https://travis-ci.org/miniupnp/miniupnp Appveyor : https://ci.appveyor.com/project/miniupnp/miniupnp miniupnpc/ : MiniUPnP client - an UPnP IGD control point miniupnpd/ : MiniUPnP daemon - an implementation of a UPnP IGD + NAT-PMP / PCP gateway minissdpd/ : SSDP managing daemon. Designed to work with miniupnpc, miniupnpd, ReadyMedia (formerly MiniDLNA), etc. miniupnpc-async/ : Proof of concept for a UPnP IGD control point using asynchronous (non blocking) sockets. miniupnpc-libevent/ : UPnP IGD control point using libevent2 http://libevent.org/ Thanks to : * Ryan Wagoner * João Paulo Barraca * Craig Kadziolka * Seth Mos * Rick Richard * Michael van Tellingen * Julien Wajsberg * Jeremy Collake * Matthew Sporleder * Greg Hazel * Rico Huber * Jelle Huitema * Xavier Martin * Thomas Goirand * Darren Reed * Robbie Hanson * Nikos Mavrogiannopoulos * Elsö András * Justin Maggard * David Wu * Michael Trebilcock * Soren Dreijer * Colin McFarlane * Daniel Dickinson * Guillaume Habault * Alexey Osipov * Alexey Kuznetsov * Chiaki Ishikawa * David Kerr * Jardel Weyrich * Leah X. Schmidt * Peter Tatrai * Leo Moll * Daniel Becker * Yonetani Tomokazu * Markus Stenberg * Tomofumi Hayashi * Konstantin Tokarev * Mike Tzou * Nevo Hed * Salva Peiró * Stephan Zeisberg * Ben Barnea of VDOO * Sven Auhagen * Paul Chambers * Pali Rohár