UPnP IGD implementation
http://miniupnp.free.fr/
08b80d5abd
If several different interfaces share same ipv4 address on different subnets (i.e. eth0 192.168.1.1/24 + eth1 192.168.1.1/16), miniupnpd may pick any one of them, possibly wrong one w/o respecting exact listening_ip interface. syslog will contain something similar to: miniupnpd: sendto(udp_notify=6, 192.168.1.1): No such device miniupnpd: sendto(udp_notify=6, 192.168.1.1): No such device miniupnpd: try_sendto(sock=6, len=464, dest=239.255.255.250:1900): sendto: No such device miniupnpd: try_sendto(sock=6, len=464, dest=239.255.255.250:1900): sendto: No such device miniupnpd: try_sendto failed to send 11 packets Fix that with specifying exact outgoing mcast interface for each notify socket with help of IP_MULTICAST_IF/mreqn struct. Since OpenAndConfSSDPNotifySocket() now takes lan_addr_s struct, OpenAndConfSSDPNotifySocketIPv6() was similary changed for api consistency. |
||
---|---|---|
minissdpd | ||
miniupnpc | ||
miniupnpc-async | ||
miniupnpc-libevent | ||
miniupnpc-libuv | ||
miniupnpd | ||
.gitlab-ci.yml | ||
.travis.yml | ||
CODE_OF_CONDUCT | ||
CONTRIBUTING | ||
LICENSE | ||
README | ||
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