Daniel Becker c6a8879c87 miniupnpd/natpmp.c: avoid hang when all external ports in use
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).
2014-02-28 00:00:26 -08:00
..
2013-07-11 09:38:55 +02:00
2014-02-25 11:47:30 +01:00
2013-07-11 09:38:55 +02:00
2014-01-14 09:26:24 +01:00
2014-02-25 11:10:05 +01:00
2014-02-25 11:10:05 +01:00
2012-02-03 13:18:30 +01:00
2014-02-03 11:28:31 +01:00
2014-02-03 10:45:59 +01:00
2013-12-13 17:01:41 +01:00
2013-07-11 09:38:55 +02:00
2013-12-13 17:01:41 +01:00
2014-02-25 11:15:30 +01:00
2013-12-13 17:01:41 +01:00
2014-01-14 09:25:19 +01:00
2012-05-31 15:22:52 +02:00
2011-09-28 21:13:20 +02:00
2012-05-28 01:15:27 +02:00
2013-07-11 09:38:55 +02:00
2013-02-06 15:20:48 +01:00

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