mirror of
https://github.com/status-im/miniupnp.git
synced 2025-02-07 11:54:35 +00:00
The NAT-PMP code attempts to find a different eport if the requested one is already in use. If all eports are in use, that would previously cause the code to iterate through the range of eports forever. To avoid this case, we keep track of the first eport we attempted to use and abort the loop once we've cycled through all possible values exactly once (which takes us back to the initial eport).
MiniUPnP project (c) 2006-2014 Thomas Bernard webpage: http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/ github: https://github.com/miniupnp/miniupnp freecode: http://freecode.com/projects/miniupnp contact: miniupnp@free.fr This directory contain the miniUPnP daemon software, aka miniUPnPd. This software is subject to the conditions detailed in the LICENSE file provided with this distribution. The miniUPnP daemon is an UPnP IGD (internet gateway device) which provide NAT traversal services to any UPnP enabled client on the network. See http://www.upnp.org/ for more details on UPnP. During the year 2011, support for IGD v2 has been added. In 2012, IGD v2 WANIPv6FirewallControl has been implemented. It is not yes enabled by default because it still needs testing. Support for the NAT Port Mapping Protocol (NAT-PMP) has been added. See information about NAT-PMP here : http://miniupnp.free.fr/nat-pmp.html NAT-PMP is the precursor of Port Control Protocol (PCP). In 2013, support for PCP has been added too. Read the INSTALL files for instructions to compile, install and configure miniupnpd on your system. Report bugs to miniupnp@free.fr on the web forum http://miniupnp.tuxfamily.org/forum/ or using https://github.com/miniupnp/miniupnp/issues Thomas Bernard