miniupnp/miniupnpd
Thomas Bernard 7b9489fb84
the buffer passed to mnl_nlmsg_batch_start() must be double of MNL_SOCKET_BUFFER_SIZE
see https://www.netfilter.org/projects/libmnl/doxygen/html/group__batch.html
http://www.lt.netfilter.org/projects/libmnl/doxygen/group__batch.html#ga28488fc4dee4c3e9eda5918f049db2af
2020-06-02 00:07:39 +02:00
..
bsd miniupnpd: BSD: allow to build from another directory 2020-05-11 23:30:19 +02:00
ipf miniupnpd: BSD: allow to build from another directory 2020-05-11 23:30:19 +02:00
ipfw miniupnpd: BSD: allow to build from another directory 2020-05-11 23:30:19 +02:00
linux => 2020 2020-05-10 20:00:37 +02:00
mac miniupnpd: BSD: allow to build from another directory 2020-05-11 23:30:19 +02:00
netfilter => 2020 2020-05-10 20:00:37 +02:00
netfilter_nft the buffer passed to mnl_nlmsg_batch_start() must be double of MNL_SOCKET_BUFFER_SIZE 2020-06-02 00:07:39 +02:00
pf minor stuff 2020-05-17 23:16:45 +02:00
solaris Solaris 11 compilation fixes 2016-11-11 09:42:22 -05:00
.gitignore miniupnpd: allow to build in another directory. use .d for depends 2020-05-07 00:34:40 +02:00
Changelog.txt miniupnpd: update Changelog 2020-05-10 20:01:30 +02:00
INSTALL miniupnpd: move many scripts from Makefile.linux to configure 2020-05-02 18:28:05 +02:00
LICENSE 2019 2019-04-08 14:46:11 +02:00
Makefile.bsd miniupnpd: BSD: allow to build from another directory 2020-05-11 23:30:19 +02:00
Makefile.linux minipnpd: move check target to check.mk 2020-05-07 01:02:48 +02:00
Makefile.linux_nft miniupnpd/Makefile.linux_nft: update CFLAGS / LDFLAGS 2020-05-10 20:00:50 +02:00
Makefile.macosx https://miniupnp.tuxfamily.org/ 2020-05-10 20:01:24 +02:00
Makefile.sunos genconfig.sh -> configure 2020-05-02 18:26:45 +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
check.mk minipnpd: move check target to check.mk 2020-05-07 01:02:48 +02:00
codelength.h DECODELENGTH_READ 2015-07-15 18:11:27 +02:00
commonrdr.h 2019 2019-10-03 00:15:32 +02:00
configure some cp implementations do not support the -v option 2020-05-11 23:31:53 +02:00
daemonize.c no more strlen(xxx) == 0. 2018-04-20 17:19:52 +02:00
daemonize.h Rename all include guards to not clash with C99 (7.1.3 Reserved identifiers). 2012-09-20 17:52:51 -03:00
getconnstatus.c miniupnpd: autodetect LAN interface netmask instead of defaulting to /24 2013-03-23 11:50:57 +01:00
getconnstatus.h Rename all include guards to not clash with C99 (7.1.3 Reserved identifiers). 2012-09-20 17:52:51 -03:00
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 Rename all include guards to not clash with C99 (7.1.3 Reserved identifiers). 2012-09-20 17:52:51 -03:00
getroute.h miniupnpd: Implement get_src_for_route_to() for *BSD 2013-02-06 15:08:10 +01:00
gitrev.mk gitrev.mk: CFLAGS => CPPFLAGS 2020-05-02 18:25:48 +02:00
ifacewatcher.h Rename all include guards to not clash with C99 (7.1.3 Reserved identifiers). 2012-09-20 17:52:51 -03:00
macros.h macros.h: add FALL_THROUGH macro 2019-09-24 12:04:40 +02:00
minissdp.c miniupnpd: prevent buffer overread of known_devices_types 2020-05-29 18:01:39 +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 --version commandline option 2019-10-05 22:44:31 +02:00
miniupnpd.c support for libcap-ng 2020-05-10 15:34:45 +02:00
miniupnpd.conf miniupnpd: fix for bridges 2020-04-29 00:03:54 +02:00
miniupnpd.doxyconf miniupnpd: allow to build in another directory. use .d for depends 2020-05-07 00:34:40 +02: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 Rename all include guards to not clash with C99 (7.1.3 Reserved identifiers). 2012-09-20 17:52:51 -03:00
miniupnpdtypes.h miniupnpd: fix for bridges 2020-04-29 00:03:54 +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
objects.mk miniupnpd: update linux makefiles 2020-05-07 00:34:44 +02:00
options.c miniupnpd: Option to disable IPv6 at runtime : -4 / ipv6_disable=yes 2020-04-09 21:12:20 +02:00
options.h miniupnpd: Option to disable IPv6 at runtime : -4 / ipv6_disable=yes 2020-04-09 21:12:20 +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 remove C++ style comments 2013-12-13 17:01:41 +01:00
pcpserver.c Fix PCPSendUnsolicitedAnnounce() when IPv6 is not available 2019-12-18 01:18:56 +01:00
pcpserver.h miniupnpd/pcp: Send PCP announcment at startup 2018-05-08 23:06:19 +02:00
portinuse.c https://miniupnp.tuxfamily.org/ 2019-10-22 20:11:02 +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 cast time_t to long long instead of long 2019-09-24 16:07:42 +02:00
testgetifaddr.c miniupnpd/testgetifaddr.c: also test find_ipv6_addr() 2014-03-03 12:37:01 +01:00
testgetifaddr.sh Fix OS detection for Debian kFreeBSD 2018-05-08 21:59:15 +08:00
testgetifstats.c fix tests for solaris 2012-05-31 15:22:52 +02:00
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 miniupnpd/testupnppermissions.sh: do not require bash or ksh anymore 2020-05-07 00:34:44 +02:00
upnpdescgen.c miniupnpd/upnpdescgen.c: check string length before memcmp() in genServiceDesc() 2020-05-30 11:06:24 +02:00
upnpdescgen.h Rename all include guards to not clash with C99 (7.1.3 Reserved identifiers). 2012-09-20 17:52:51 -03:00
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 2019 2019-10-03 00:15:32 +02:00
upnpglobalvars.h rework nft-specific globals, create & destroy tables/chains at init & shutdown 2019-09-30 00:12:08 -07:00
upnphttp.c compatibility with OpenSSL 1.1.x 2019-10-05 22:44:31 +02: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 miniupnpd: improve AddAnyPortMapping() 2020-05-30 10:29:24 +02:00
upnpsoap.h Rename all include guards to not clash with C99 (7.1.3 Reserved identifiers). 2012-09-20 17:52:51 -03:00
upnpstun.c upnpstun.c: TEST: Require root user 2020-05-08 16:32:16 +02: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 Rename all include guards to not clash with C99 (7.1.3 Reserved identifiers). 2012-09-20 17:52:51 -03:00
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