miniupnp/miniupnpd
Thomas Bernard 8c00d0747a
include <sys/select.h> for fd_set
2019-09-24 16:06:12 +02:00
..
bsd miniupnpd: time() => upnp_time() 2018-03-14 00:09:42 +01:00
ipf Solaris 11 compilation fixes 2016-11-11 09:42:22 -05:00
ipfw add update_portmapping() / update_portmapping_desc_timestamp() functions 2016-02-12 15:01:30 +01:00
linux linux/getifstats.c: use custom strtoul() implementation to roll over after 2^32-1 2019-02-12 15:10:49 +01:00
mac miniupnpd: time() => upnp_time() 2018-03-14 00:09:42 +01:00
netfilter iptpinhole.c: fix ressource leak in ip6tc_init_verify_append() 2019-08-24 10:55:33 +02:00
netfilter_nft fix file modes for nft_display.sh (chmod +x) 2019-09-02 00:57:49 +02:00
pf pfpinhole.c: fix includes 2019-09-02 02:03:41 +02:00
solaris Solaris 11 compilation fixes 2016-11-11 09:42:22 -05:00
.gitignore miniupnpd: add a test for ProcessSSDPData() 2017-12-12 10:08:44 +01:00
Changelog.txt update miniupnpd/Changelog.txt and README 2019-09-24 13:02:20 +02:00
INSTALL miniupnpd: Allow to use two different network interfaces for IPv4 and IPv6 internet 2019-05-21 10:42:40 +02:00
LICENSE 2019 2019-04-08 14:46:11 +02:00
Makefile build doc with Doxygen 2019-09-24 11:57:27 +02:00
Makefile.linux build doc with Doxygen 2019-09-24 11:57:27 +02:00
Makefile.linux_nft build doc with Doxygen 2019-09-24 11:57:27 +02:00
Makefile.macosx miniupnpd: Add function perform_stun() for detecting external IP address and restrictive NAT via STUN protocol 2018-05-19 13:31:08 +02:00
Makefile.sunos miniupnpd: Add function perform_stun() for detecting external IP address and restrictive NAT via STUN protocol 2018-05-19 13:31:08 +02:00
README Update Changelogs + 2019 2019-02-10 16:11:16 +01:00
TODO miniupnpd: update some TODO 2016-02-12 15:02:06 +01:00
VERSION miniupnpd: VERSION 2.1 2018-05-08 23:40:27 +02:00
asyncsendto.c include <sys/select.h> for fd_set 2019-09-24 16:06:12 +02:00
asyncsendto.h copyright notice => 2017 2017-11-02 16:52:07 +01:00
codelength.h DECODELENGTH_READ 2015-07-15 18:11:27 +02:00
commonrdr.h add update_portmapping() / update_portmapping_desc_timestamp() functions 2016-02-12 15:01:30 +01:00
daemonize.c no more strlen(xxx) == 0. 2018-04-20 17:19:52 +02:00
daemonize.h
genconfig.sh 2019 2019-09-24 16:05:44 +02:00
getconnstatus.c
getconnstatus.h
getifaddr.c getifaddr.c: properly use strncpy() 2019-05-20 21:55:17 +02:00
getifaddr.h fix file headers (=>2018) 2018-07-06 14:16:49 +02:00
getifstats.h
getroute.h
ifacewatcher.h
macros.h macros.h: add FALL_THROUGH macro 2019-09-24 12:04:40 +02:00
minissdp.c handle both IP_PKTINFO and IP_RECVIF defined. 2019-09-24 12:26:57 +02:00
minissdp.h SSDP: use receiving interface index to check if from LAN 2017-05-25 00:44:29 +02:00
miniupnpd.8 miniupnpd: Add -1 option 2018-02-22 14:02:52 +01:00
miniupnpd.c miniupnpd: Allow to use two different network interfaces for IPv4 and IPv6 internet 2019-05-21 10:42:40 +02:00
miniupnpd.conf miniupnpd: Allow to use two different network interfaces for IPv4 and IPv6 internet 2019-05-21 10:42:40 +02:00
miniupnpd.doxyconf add 'dox' make target for nftables, which generates docs using doxygen. Also modify the uuid in the installed copy of miniupnpd.conf, not the pristine local copy that is under revision control. 2019-09-17 18:22:11 -07:00
miniupnpd.rc.once.d.script added rc-once script to initialize uuid on first start 2017-09-03 16:59:19 +02:00
miniupnpdctl.c
miniupnpdctl.txt
miniupnpdpath.h
miniupnpdtypes.h SSDP: use receiving interface index to check if from LAN 2017-05-25 00:44:29 +02:00
minixml.c minixml.c: fix heap buffer overflow 2017-12-11 14:59:29 +01:00
minixml.h update miniupnpd/minixml.h 2019-02-10 16:10:07 +01:00
natpmp.c 2019 2019-09-24 16:05:44 +02:00
natpmp.h miniupnpd: Retreive PCP packed IPV6 destination address 2014-05-19 15:27:34 +02:00
options.c miniupnpd: Allow to use two different network interfaces for IPv4 and IPv6 internet 2019-05-21 10:42:40 +02:00
options.h miniupnpd: Allow to use two different network interfaces for IPv4 and IPv6 internet 2019-05-21 10:42:40 +02:00
pcp_msg_struct.h add include guard 2015-09-22 10:24:47 +02:00
pcplearndscp.c Fix output specifier 2016-01-04 12:13:00 +08:00
pcplearndscp.h
pcpserver.c miniupnpd: Allow to use two different network interfaces for IPv4 and IPv6 internet 2019-05-21 10:42:40 +02:00
pcpserver.h miniupnpd/pcp: Send PCP announcment at startup 2018-05-08 23:06:19 +02:00
portinuse.c 2019 2019-09-24 16:05:44 +02:00
portinuse.h miniupnpd/portinuse: port_in_use() returns -1 in case of error 2014-03-20 13:49:10 +01:00
testasyncsendto.c 2019 2019-09-24 16:05:44 +02:00
testgetifaddr.c
testgetifaddr.sh Fix OS detection for Debian kFreeBSD 2018-05-08 21:59:15 +08:00
testgetifstats.c
testgetroute.c miniupnpd: use monotonic clock for timeouts, etc. 2018-03-13 11:43:07 +01:00
testminissdp.c miniupnpd/testminissdp.c: int => size_t. 2018 2018-01-15 17:47:22 +01:00
testportinuse.c MINIUPNPD-PCP-PEER => MINIUPNPD-POSTROUTING 2016-01-26 16:50:48 +01:00
testssdppktgen.c add a validation of SSDP packet generation 2015-10-24 17:02:11 +02:00
testupnpdescgen.c fix file headers (=>2018) 2018-07-06 14:16:49 +02:00
testupnppermissions.c add "make check" to miniupnpd 2015-09-22 16:02:19 +02:00
testupnppermissions.sh fix testupnppermissions.sh for non DEBUG builds 2015-09-22 17:13:26 +02:00
upnpdescgen.c miniupnpd: Add validation that public ip address is not reserved and is really public 2018-05-19 13:31:26 +02:00
upnpdescgen.h
upnpdescstrings.h rename macro UPNP_VERSION to MINIUPNPD_DATE 2015-09-21 22:37:50 +02:00
upnpevents.c include <sys/select.h> for fd_set 2019-09-24 16:06:12 +02:00
upnpevents.h copyright notice => 2017 2017-11-02 16:52:07 +01:00
upnpglobalvars.c miniupnpd: Allow to use two different network interfaces for IPv4 and IPv6 internet 2019-05-21 10:42:40 +02:00
upnpglobalvars.h miniupnpd: Allow to use two different network interfaces for IPv4 and IPv6 internet 2019-05-21 10:42:40 +02:00
upnphttp.c Update file headers. 2017 => 2018 etc. 2018-01-16 02:06:46 +01:00
upnphttp.h cleanup 2015-12-16 11:26:40 +01:00
upnppermissions.c miniupnpd/upnppermissions.c: disable match_permission_internal() 2014-03-13 09:53:44 +01:00
upnppermissions.h miniupnpd: fix eport selection and error handling 2014-03-10 00:32:23 -07:00
upnppinhole.c miniupnpd: Allow to use two different network interfaces for IPv4 and IPv6 internet 2019-05-21 10:42:40 +02:00
upnppinhole.h PCP: check pinhole before adding in CreatePCPMap_FW() 2016-01-18 20:16:06 +01:00
upnpredirect.c upnp_redirect(): accept NULL desc argument 2018-12-18 22:59:18 +01:00
upnpredirect.h add option LEASEFILE_USE_REMAINING_TIME 2018-05-02 09:40:12 +02:00
upnpreplyparse.c upnpreplyparse.c: Fix memory leak 2019-04-05 10:30:10 +02:00
upnpreplyparse.h remove need of sys/queue.h or bsdqueue.h in upnpreplyparse.c/.h 2014-10-27 17:38:26 +01:00
upnpsoap.c 2019 2019-04-08 14:46:11 +02:00
upnpsoap.h
upnpstun.c upnpstun.c: fix generate_transaction_id() 2018-12-15 18:02:46 +01:00
upnpstun.h miniupnpd: Add function perform_stun() for detecting external IP address and restrictive NAT via STUN protocol 2018-05-19 13:31:08 +02:00
upnpurns.h
upnputils.c miniupnpd: introduce upnp_gettimeofday() which is monotonic :) 2018-04-12 10:07:11 +02:00
upnputils.h miniupnpd: introduce upnp_gettimeofday() which is monotonic :) 2018-04-12 10:07:11 +02:00

README

MiniUPnP project
(c) 2006-2019 Thomas Bernard
webpage: http://miniupnp.free.fr/ or https://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.

IGD2 is still not enabled by default because of interoperability
issues.

In addition to UPnP IGD, miniUPnPd supports NAT-PMP and PCP :

See information about NAT Port Mapping Protocol (NAT-PMP) here :
http://miniupnp.free.fr/nat-pmp.html
NAT-PMP is the precursor of Port Control Protocol (PCP, RFC 6887).
In 2013, support for PCP has been added too.

Read the INSTALL file for instructions to compile, install and
configure miniupnpd on your system.

Report bugs to miniupnp@free.fr or on the web forum
https://miniupnp.tuxfamily.org/forum/
or using https://github.com/miniupnp/miniupnp/issues

Thomas Bernard