Commit Graph

1109 Commits

Author SHA1 Message Date
Thomas Bernard 5873c5a6b4 miniupnpd: improve warning log 2015-08-26 10:04:23 +02:00
Thomas Bernard f8f5f2eb97 miniupnpd: bind to device using SO_BINDTODEVICE 2015-08-26 09:46:05 +02:00
Thomas Bernard 0cf182e51e miniupnpd: remove int_if_name, use ip_mreqn if available 2015-08-25 20:33:47 +02:00
Timothy Redaelli 138ec9e972 miniupnpd: Bind to device
This is needed when you have two interfaces with the same IP address
(for example using tinc)
2015-08-21 16:05:26 +02:00
Thomas Bernard 6db99a1a40 use mktemp properly ?
-t option to put in /tmp dir
2015-07-16 17:16:52 +02:00
Thomas Bernard 904399cd62 => (c) 2015 2015-07-16 17:16:09 +02:00
Thomas Bernard d02b1d4ec3 genconfig.sh: 2014 => 2015 2015-07-15 18:13:01 +02:00
Thomas Bernard 81d03ad41d DECODELENGTH_READ 2015-07-15 18:11:27 +02:00
Thomas Bernard a3179fb284 Check malloc/calloc return values 2015-07-15 18:10:10 +02:00
Thomas Bernard 769f4d4708 pcpserver.c: correctly return NOT_AUTHORIZED PCP error
When trying to remove PCP Map when nonce is bad

fixes #132
2015-07-09 12:46:51 +02:00
Thomas Bernard 8d08346c60 pcpserver.c: Don't overwrite lifetime.
fix #131
2015-07-09 12:28:05 +02:00
Chocobo1 24307d2951 Comparing array address with 0 is not useful, use strlen() instead 2015-06-24 16:24:01 +08:00
Chocobo1 61289d42fb Correctly terminate the string 2015-06-24 16:24:01 +08:00
Chocobo1 7e088a9039 Fix memory leak 2015-06-24 13:14:14 +08:00
Thomas Bernard 6400a13a50 miniupnpd/pcpserver.c: fix for compilation with PCP_FLOWP defined 2015-06-22 11:51:23 +02:00
Thomas Bernard 8a180b1cac Merge remote-tracking branch 'edrikk/master' 2015-06-16 09:49:02 +02:00
edrikk d002502e68 Make Tomato's OS_VERSION shorter to stop SendSSDPNotify log messages
As discussed in this thread:
http://www.linksysinfo.org/index.php?threads/tomato-shibbys-releases.33858/page-53#post-262636

It appears that the Tomato OS_VERSION has gotten long enough, that it's causing SSDP_PACKET_MAX_LEN being larger than 512 by a few characters.

This change reduces unnecessary "verbiage" at the end of the Tomato OS_VERSION string.

In short, what was previously (as example):
     Tomato 1.28.0000 MIPSR2-130 K26AC USB AIO-64K
 will become
     Tomato MIPSR2-130 K26AC
2015-06-15 12:47:34 -04:00
edrikk 70a2eee3e2 Define "TOMATO" in Tomato portion of config file creation
Define "TOMATO" in Tomato portion of config file creation
2015-06-09 15:53:11 -04:00
Thomas Bernard df85522c73 miniupnpd/miniupnpd.c: commenting #endif + minor cleaning 2015-06-09 15:13:25 +02:00
edrikk ec0707d559 Add Tomato modifications exactly as is, wrapped by ifdef TOMATO
Add Tomato modifications exactly as is in Tomato firmware, wrapped by #ifdef TOMATO so that it is dormant in base miniupnpd.
This will ease merging upstream changes back to Tomato.
2015-06-05 23:19:52 -04:00
edrikk 9fe747894c Drop log severity level to reduce verbosity
Dropping syslog message severity from WARNING to INFO.  
Tomato makes this change each update, to reduce verbosity.  This change will allow for easier merging of upstream changes back into Tomato.
2015-06-05 22:31:28 -04:00
edrikk bc69cece0e Add client address to syslog message
Align with Tomato, to ease merges back downstream.
Adds client address to syslog message, corrects typo "inexpectedly" -> "unexpectedly"
2015-06-05 22:27:20 -04:00
edrikk 2c8e3c1fc2 Align with active Tomato builds genconfig.sh entry
The current active Tomato builds do not incorporate these two lines.  Removing to ease merging upstream changes.

Toastman:
http://repo.or.cz/w/tomato.git/blob/refs/heads/Toastman-RT-N:/release/src/router/miniupnpd/genconfig.sh#l249

Shibby:
f799186a9d/release/src-rt-6.x.4708/router/miniupnpd/genconfig.sh?at=shibby-arm#cl-265
2015-06-05 22:14:47 -04:00
Thomas Bernard a43beeccf1 fix minor typo 2015-05-27 15:31:49 +02:00
Thomas Bernard 01eb15af3d Adding linux/nftables support 2015-04-30 10:52:11 +02:00
Thomas Bernard 42a5e2ae22 Merge remote-tracking branch 's1061123/nft_support' into nft_support
Conflicts:
	miniupnpd/Makefile.linux_nft
	miniupnpd/netfilter_nft/README.md
	miniupnpd/netfilter_nft/nftnlrdr.c
	miniupnpd/netfilter_nft/nftnlrdr_misc.c
2015-04-30 10:49:11 +02:00
Tomofumi Hayashi 8fedfdc4ae Fix compiler warning. 2015-04-28 17:23:09 +09:00
Tomofumi Hayashi a39365279c Fix d_printf() compile error. 2015-04-28 17:22:46 +09:00
Tomofumi Hayashi af3ac20395 Change printf to d_printf (only valid in case of -DDEBUG) 2015-04-28 17:13:09 +09:00
Tomofumi Hayashi 79d4028a93 Change message. 2015-04-28 17:13:08 +09:00
Tomofumi Hayashi 7948b7d754 Fix SEGV issue (due to invalid memory alloc case). 2015-04-28 17:13:08 +09:00
Tomofumi Hayashi 101c443192 Update README.md
Fix format.
2015-04-28 17:13:08 +09:00
Tomofumi Hayashi 73f02afca9 Remove .travis.yml and rename README.md 2015-04-28 17:13:08 +09:00
Tomofumi Hayashi e167cc1675 Move travisCI to top. 2015-04-28 17:13:07 +09:00
Tomofumi Hayashi 1e97b408f1 First commit for travisCI. 2015-04-28 17:13:07 +09:00
Tomofumi Hayashi cc0a6eecbb Add libmnl flags in Makefile.linux_nft. 2015-04-28 17:13:07 +09:00
Tomofumi Hayashi 050845156a Fix to remove rule with correct handle. 2015-04-28 17:13:07 +09:00
Tomofumi Hayashi 9e10d91347 Skip to parse rules not in miniupnpd chain. 2015-04-28 17:13:07 +09:00
Tomofumi Hayashi e54c5ff773 Fix to get NAT port as uint16_t. 2015-04-28 17:13:07 +09:00
Tomofumi Hayashi 26a5c9a3aa In case of remove filter, just remove one rule. 2015-04-28 17:13:07 +09:00
Tomofumi Hayashi c2af2650d9 Add expr_set_reg_val_u16 for network port num. 2015-04-28 17:13:07 +09:00
Tomofumi Hayashi 7f57e686d0 Fix NAT issue (cannot snat/dnat actually).
Port number endian is failed.
2015-04-28 17:13:06 +09:00
Tomofumi Hayashi 01ecb49d0e Add egress if index val and rename ifidx to ingress_ifidx. 2015-04-28 17:13:06 +09:00
Tomofumi Hayashi ad1e380d10 Changes init script (only add chains). 2015-04-28 17:13:06 +09:00
Tomofumi Hayashi 12f6bdb274 Fix init script. 2015-04-28 17:13:06 +09:00
Tomofumi Hayashi 55fba2b6c4 Add README. 2015-04-28 17:13:06 +09:00
Tomofumi Hayashi b2b6f025fb Initial commit to support nftables. 2015-04-28 17:13:06 +09:00
Thomas Bernard 2a08805783 minissdp.c: Dont try to close sockets with fd=-1
fixes #112
2015-04-28 09:08:35 +02:00
Thomas Bernard c52657f7fb update Changelog.txt 2015-04-26 16:44:57 +02:00
Thomas Bernard a224264194 Merge remote-tracking branch 'Chocobo1/typo' 2015-04-26 16:29:08 +02:00
Thomas Bernard 940909890e remove dependency on libnfnetlink
fixes #110
still allow to use libnfnetlink by defining USE_LIBNFNETLINK
if you really want/need to
2015-04-26 16:18:39 +02:00
Thomas Bernard f8c122034c remove dependency on libnfnetlink
fixes #110
still allow to use libnfnetlink by defining USE_LIBNFNETLINK
if you really want/need to
2015-04-26 16:15:41 +02:00
Chocobo1 3fcd2b5117 miniupnpd.conf: Fix typos, capitalize each sentence. 2015-04-25 16:10:15 +08:00
Thomas Bernard 60db6230ab minor README edit 2015-04-24 23:02:38 +02:00
Tomofumi Hayashi 0df3555a8c Update README.md
Fix format.
2015-04-24 16:57:40 +09:00
Tomofumi Hayashi c70e3a4637 Remove .travis.yml and rename README.md 2015-04-24 16:54:23 +09:00
Tomofumi Hayashi 8cd268dd9d Move travisCI to top. 2015-03-18 15:56:42 +09:00
Tomofumi Hayashi 4199ce46ca First commit for travisCI. 2015-03-18 15:52:22 +09:00
Tomofumi Hayashi 40871bb4cc Add libmnl flags in Makefile.linux_nft. 2015-03-18 15:27:57 +09:00
Tomofumi Hayashi c6ebb70f35 Fix to remove rule with correct handle. 2015-03-16 19:58:02 +09:00
Tomofumi Hayashi 841b2fb1f3 Skip to parse rules not in miniupnpd chain. 2015-03-16 19:39:06 +09:00
Tomofumi Hayashi af780b8255 Fix to get NAT port as uint16_t. 2015-03-16 19:38:28 +09:00
Tomofumi Hayashi d2bc556733 In case of remove filter, just remove one rule. 2015-03-16 19:35:23 +09:00
Tomofumi Hayashi 939b3262c3 Add expr_set_reg_val_u16 for network port num. 2015-03-16 18:02:07 +09:00
Tomofumi Hayashi 75fd37e958 Fix NAT issue (cannot snat/dnat actually).
Port number endian is failed.
2015-03-16 17:29:20 +09:00
Tomofumi Hayashi c19b87ee07 Add egress if index val and rename ifidx to ingress_ifidx. 2015-03-16 17:28:03 +09:00
Tomofumi Hayashi 3e635dbe17 Changes init script (only add chains). 2015-03-16 17:24:31 +09:00
Tomofumi Hayashi f7288efb5e Fix init script. 2015-03-12 15:17:33 +09:00
Tomofumi Hayashi 7065b0040f Add README. 2015-03-11 22:18:26 +09:00
Tomofumi Hayashi dcf218c452 Initial commit to support nftables. 2015-03-11 21:10:25 +09:00
Thomas Bernard b137df30d9 Merge remote-tracking branch 's1061123/fix_range1' 2015-03-09 10:59:49 +01:00
Tomofumi Hayashi 3b472b59e0 Fix get_portmappings_in_range() in non-expand case.
In get_portmappings_in_range(), array[] is not updated when
realloc() is not called, hence get_portmappings_in_range() is
always null. This fix changes to fill array[].
2015-03-09 17:33:10 +09:00
Thomas Bernard 85841abd5f miniupnpd/Changelog.txt: eb72ab5330 2015-03-07 16:57:40 +01:00
Thomas Bernard eb72ab5330 miniupnpd.c: don't die when IPv6 is enabled and interface has no IPv4 address 2015-02-20 18:31:55 +01:00
Thomas Bernard e896e298f3 miniupnpd: remove warnings 2015-02-16 22:41:40 +01:00
Thomas Bernard e13525c3e7 miniupnpd: UPnP/1.1 => UPnP/2.0 2015-02-16 11:23:05 +01:00
Thomas BERNARD d5ccd5e86e Merge pull request #101 from pyzhu/master
avoid compile warning
2015-02-11 23:33:47 +01:00
Thomas Bernard 6e5d8ce954 miniupnpd: Allow wildcard (empty string) remote host for AddPinhole() 2015-02-10 16:04:10 +01:00
Thomas Bernard 5df35db6ab fix c7d7efd230 2015-02-08 10:46:13 +01:00
Thomas Bernard 7c1a04ab30 upnpsoap.c: 2014 => 2015 2015-02-08 10:23:54 +01:00
Thomas Bernard c7d7efd230 fix realloc failure issues detected thanks to cppcheck 2015-02-08 10:23:22 +01:00
Thomas Bernard 241ede9ddf miniupnpd: improve (some) logs 2015-01-20 14:13:18 +01:00
Thomas Bernard f795af5f54 2014 => 2015 2015-01-20 14:12:10 +01:00
Thomas Bernard bbb6df523d miniupnpd/natpmp.c: #if IPV6_PKTINFO => #ifdef IPV6_PKTINFO 2014-12-31 01:38:15 +01:00
Thomas Bernard c336b23706 miniupnpd/upnpglobalvars.c: documentation about CONFIGID.UPNP.ORG 2014-12-15 12:02:42 +01:00
Thomas Bernard c4b167537f miniupnpd/Makefile.linux: fix clean (testporinuse.o) 2014-12-15 11:59:17 +01:00
Thomas Bernard 22bc695f91 remove unused bsdqueue.h 2014-12-15 11:58:57 +01:00
Thomas Bernard 2d89a05982 miniupnpd/miniupnpd.c: minor fixes in usage output 2014-12-10 10:44:32 +01:00
Thomas Bernard 99a1bafc1f miniupnpd: use time for BOOTID.UPNP.ORG value 2014-12-10 10:41:10 +01:00
Thomas Bernard 00d878eba3 miniupnpd: configurable BOOTID.UPNP.ORG SSDP header 2014-12-10 10:40:41 +01:00
Thomas Bernard 2d52890608 miniupnpd/upnpglobalvars.c: document BOOTID.UPNP.ORG and CONFIGID.UPNP.ORG 2014-12-10 10:03:13 +01:00
Thomas Bernard e283270274 miniupnpd/pf/pfpinhole.c: reduce log verbosity
also remove a "argument not used" warning
2014-12-10 09:46:57 +01:00
Thomas Bernard e013870cca miniupnpd/upnpsoap.c: remove an unneeded \n in log 2014-12-09 18:32:31 +01:00
Thomas Bernard 181850ad1f miniupnpd/upnphttp.c: check ':' in HTTP header names 2014-12-09 18:28:23 +01:00
Thomas Bernard 98cc73a372 miniupnpd/upnphttp: Checking Host: HTTP request header to prevent DNS rebinding attack 2014-12-09 17:49:02 +01:00
Thomas Bernard 31986d8190 miniupnpd/upnphttp.c: fix 526e1dcd40 2014-12-09 17:48:14 +01:00
Thomas Bernard 9e30117cac miniupnpd/upnphttp.c: fix ec94c5663f
thanks to Stephen Röttger
2014-12-09 11:44:28 +01:00
Thomas Bernard 526e1dcd40 miniupnpd/upnphttp.c: skip only spaces and tab (stop on CR and LF) 2014-12-09 11:38:50 +01:00
Thomas Bernard 064c78730c miniupnpd/upnphttp.c: cosmetical changes 2014-12-09 11:04:38 +01:00
Thomas Bernard ec94c5663f miniupnpd: check if BuildHeader_upnphttp() failed to allocate memory 2014-12-09 11:04:15 +01:00
Thomas Bernard dd39ecaa93 miniupnpd/upnphttp.c: fix buffer overrun in ParseHttpHeaders() if Content-Length doesn't contain any digit
Credits goes to Stephen Röttger of the Google Security Team for identifying
the vulnerabilities
2014-12-09 11:02:57 +01:00
Thomas Bernard e6bc04aa06 miniupnpd/upnpsoap.c: fix potential memory corruption in upnpsoap.c/GetListOfPortMappings()
Credits goes to Stephen Röttger of the Google Security Team for identifying
the vulnerabilities
2014-12-09 11:01:37 +01:00
Thomas Bernard 7c91c4e933 miniupnpd/upnpredirect.c: check inet_aton() return 2014-12-09 10:53:52 +01:00
Thomas Bernard d00b75782e miniupnpd/upnppinhole.c: fix upnp_add_inboundpinhole() : check inet_pton() return 2014-12-09 10:52:26 +01:00
Thomas Bernard 3b71766493 miniupnpd/genconfig.sh: check net.ipv6.bindv6only under LINUX 2014-12-04 11:23:56 +01:00
Thomas Bernard c14788a13a miniupnpd: fixes ExecuteSoapAction() for missing " around SOAPAction 2014-11-28 14:29:24 +01:00
Thomas Bernard 33a5ebf367 miniupnpd/upnpsoap.c: make WANAccessType easier to configure 2014-11-27 13:25:45 +01:00
Thomas Bernard eef94da7e0 miniupnpd/upnpreplyparse.c: fix DisplayNameValueList() 2014-11-12 17:05:15 +01:00
Thomas Bernard bfab1e2094 miniupnpd/upnputils.c: sockaddr_to_string() includes scope in IPv6 addresses 2014-11-07 12:54:33 +01:00
Thomas Bernard 27d4d10a3e miniupnpd/miniupnpd.c: fix PCP third party mode (in IPv4)
fixes problem introduced in commit 16389fda3c
2014-10-30 20:37:35 +01:00
Thomas Bernard 50f7611227 miniupnpd/TODO: updated TODO (a bit) 2014-10-30 20:35:36 +01:00
Thomas Bernard 510bff06ba miniupnpd: VERSION 1.9 2014-10-27 17:39:28 +01:00
Thomas Bernard 067aa01856 miniupnpd/pcpserver.c: remove unused argument warning 2014-10-27 17:39:01 +01:00
Thomas Bernard a80c87fb8d remove need of sys/queue.h or bsdqueue.h in upnpreplyparse.c/.h 2014-10-27 17:38:26 +01:00
Thomas Bernard fb1aba3c9a miniupnpd/natpmp.c: fix walktrough of mapping "list" for NATPMP removal 2014-10-23 18:00:24 +02:00
Thomas Bernard 350ca199c4 miniupnpd/natpmp.c: Properly implements NAT-PMP mapping removal
fixes #97
2014-10-23 17:57:31 +02:00
Thomas Bernard 8baf8d351a miniupnpd/minissdp.c: Remove warning (caused by double const) 2014-10-22 13:57:24 +02:00
Thomas Bernard 88b6386f55 miniupnpd/Changelog.txt: catch up (mcast_ssdp) 2014-10-22 13:41:35 +02:00
Thomas Bernard 447bad32c9 miniupnpd/minissdp.c: Add documentation to SSDPNotify* functions 2014-10-22 12:11:34 +02:00
Thomas Bernard aef2c0a3b4 miniupnpd/minissdp.c: fix 50e370abcd
while() => for() / reindent/etc
2014-10-22 12:10:30 +02:00
Thomas Bernard ac816e91f9 Merge branch 'master' into mcast_ssdp 2014-10-22 11:47:46 +02:00
Thomas Bernard 9194b02071 miniupnpd/minissdp.c: comments about binding "notify" sockets
Explain why bind() is called in functions
OpenAndConfSSDPNotifySocket and OpenAndConfSSDPNotifySocketIPV6
2014-10-22 11:43:42 +02:00
Thomas Bernard e810903443 miniupnpd/upnputils.c: do something in case inet_ntop() fails 2014-10-22 11:14:48 +02:00
Thomas Bernard bedbf88fc6 miniupnpd/upnputils.c: compile some debug output only when needed 2014-10-22 11:13:48 +02:00
Thomas Bernard 16389fda3c miniupnpd: Discard NAT-PMP packets coming from the WAN 2014-10-22 10:54:07 +02:00
Thomas Bernard f183e2b436 miniupnpd/Changelog.txt: catch up 2014-10-22 10:53:30 +02:00
sbyx 4cbcdc34d2 UPNP pinholing: add missing sys/types.h include
sys/types.h is necessary to declare u_int64_t for some c libraries, so include it.

Signed-off-by: Steven Barth <cyrus@openwrt.org>
2014-10-21 15:54:02 +02:00
sbyx 47b77fabb6 Remove unnecessary sysctl.h include for linux
miniupnpd on Linux unnecessarily includes sys/sysctl.h which breaks builds with musl-libc.

Signed-off-by: Steven Barth <cyrus@openwrt.org>
2014-10-21 10:56:34 +02:00
Thomas Bernard 82604ec5d0 miniupnpd/miniupnpd.conf: add comments regarding security
comment values, to force people to configure themselves
2014-10-13 18:03:53 +02:00
Markus Stenberg 17dabcc708 Use -f with gzip, to prevent interactive promots when running make install multiple times. 2014-10-08 14:24:01 +03:00
Thomas Bernard 97c001d464 add use(less ?)ful comments 2014-10-06 14:44:45 +02:00
Thomas Bernard 55c959247b miniupnpd/minissdp.c: remove warning if ipv6 is disabled 2014-10-06 14:44:23 +02:00
Thomas Bernard c79c17115c miniupnpd/upnpsoap.c: DeletePortMapping now checks for client IP in Securemode 2014-09-25 11:47:16 +02:00
Thomas Bernard 9885060d5c miniupnpd/bsd/getifstats.c: make it compile with OpenBSD 4.3
see commit 7f6cf3680e
2014-09-15 17:12:31 +02:00
Gleb Smirnoff 7f6cf3680e Use BSD libc API to fetch data about interface statistics instead
of nosing in kernel memory. This API should work on all versions
of FreeBSD/NetBSD/OpenBSD/Dragonfly.

This fixes compilation on FreeBSD 11, where kernel structures
have changed and protects against future breakages. It also
make the file much simplier.

Tested by:	Daniel Engberg <daniel.engberg.lists pyret.net>
2014-09-14 13:41:49 +04:00
Thomas Bernard 05cc5daf14 update Changelog.txt files 2014-09-06 10:37:08 +02:00
Thomas Bernard 1961868cd5 miniupnpd/minissdp.c: add a default delay before SSDP response
fixes #084
2014-08-01 12:30:55 +02:00
sbyx ef408d0857 Fix typo in byte conversion & writing in NAT-PMP
This fixes https://github.com/miniupnp/miniupnp/issues/89.

Signed-off-by: Steven Barth <cyrus@openwrt.org>
2014-07-31 08:43:48 +02:00
Daniel Becker dcf658c55e miniupnpd/Makefile: make firewall detection consistent with genconfig.sh; assume PF if /etc/rc.subr and/or /etc/rc.conf not found on *BSD 2014-06-20 23:23:16 -07:00
Thomas Bernard 78d32ba012 Merge remote branch 'mikedld/remove-macosx-macro' 2014-06-16 10:54:03 +02:00
Mike Gelfand c08833f9e8 Use _WIN32 instead of WIN32 to check for Windows
MinGW defines both _WIN32 and WIN32 (and may even be the only compiler
doing so). Microsoft and Intel compilers only define _WIN32. Use the
common one to eliminate the need in defining WIN32 explicitly.
2014-06-15 09:37:13 +03:00
Mike Gelfand 920845b107 Use built-in __APPLE__ macro instead of MACOSX
GCC and Clang on Mac OS have a built-in __APPLE__ macro. Use it instead of
manually-defined MACOSX.
2014-06-15 04:14:43 +03:00
Markus Stenberg 5aaac2c6f5 miniupnpd/pcpserver.c: ext_port field was not set in the (IPv6) firewall reply packet. Now setting it to int_port. 2014-06-02 19:39:06 +03:00
Markus Stenberg 3eb71223b4 For some reason, rules without ipv6.flags set (and proto set?) do not match at all at least on Linux 3.10. So with this patch, they do (and it took me a while to find out, sigh) 2014-05-29 17:56:48 +03:00
Thomas Bernard 50e370abcd miniupnpd/minissdp.c: Send SSDP announces to IPv6 link-local, site-local and global multicast addresses 2014-05-23 17:05:15 +02:00
Thomas Bernard 4069d9633c miniupnpd/minissdp.c: bind the SSDP IPv6 sending socket 2014-05-23 17:03:56 +02:00
Thomas Bernard 6bf84dc834 miniupnpd/minissdp.c: clean SendSSDPbyebye() 2014-05-23 12:07:39 +02:00
Thomas Bernard c4c2f79c12 miniupnpd/minissdp.c: Add IPV6 multicast membership only on selected "LAN" interfaces 2014-05-22 10:22:04 +02:00
Thomas Bernard 00fbdb70cf miniupnpd/minissdp.c: AddMulticastMembershipIPv6() targets specific interface 2014-05-22 10:17:06 +02:00
Thomas Bernard 165aeef129 miniupnpd/minissdp.c: clean SendSSDPNotify() code 2014-05-22 10:12:26 +02:00
Thomas Bernard 0d32445f57 miniupnpd/Changelog.txt: catch up :) 2014-05-22 09:57:59 +02:00
Thomas Bernard d916ce286a miniupnpd/miniupnpd.c: be more strict when parsing LAN addresses / interface names 2014-05-22 09:42:05 +02:00
Thomas Bernard 72463253dc miniupnpd: disable IPV6 if socket(PF_INET6) returns EAFNOSUPPORT 2014-05-22 01:38:18 +02:00
Thomas Bernard 9f78015a5b miniupnpd/minissdp.c: also listen on global SSDP multicast address FF0E::C
Add comments about also sending the NOTIFY to this address
2014-05-22 01:12:06 +02:00
Markus Stenberg c038146cee Added ipv6_listening_ip option to override it from in6addr_any.
This way IPv6 services can be selectively enabled on one IP too.
2014-05-20 15:55:35 +03:00
Thomas Bernard 93d7bb6ae2 miniupnpd/asyncsendto.c: allow setting of source address (IPV6_PKTINFO) 2014-05-19 16:27:55 +02:00
Thomas Bernard d851ad4c25 miniupnpd: Retreive PCP packed IPV6 destination address 2014-05-19 15:27:34 +02:00
Markus Stenberg 83c103bc3f Internal address check is mandatory even if third party option is set. 2014-05-19 13:23:21 +03:00
Thomas Bernard b9c20cecab miniupnpd/pf/pfpinhole.c: use label to store pinhole description 2014-05-15 23:27:51 +02:00
Thomas Bernard 7154d30adc miniupnpd/pcpserver.c: prevent compiling with PCP_PEER on if not applicable 2014-05-15 12:29:10 +02:00
Thomas Bernard 653bc79292 miniupnpd/upnpsoap.c: Follow change in upnp_get_pinhole_info() 2014-05-15 12:11:42 +02:00
Markus Stenberg c8ec092693 Added pcp_ prefix to allow_thirdparty option (options parsing reserved allow for it's own use). 2014-05-15 12:04:03 +02:00
Markus Stenberg 6b3ff0242d Made failed pinhole request actually fail in terms of return value too. 2014-05-15 12:03:18 +02:00
Markus Stenberg 924b6d1613 Checking lan only in non-thirdparty mode. 2014-05-15 12:02:46 +02:00
Markus Stenberg 28b3afbb8f Added TODO about IPv6 permission handling. 2014-05-15 12:02:12 +02:00
Markus Stenberg 3a457092ce Split Peer/Map logic to NAT- and FW specific parts. Updated TODO to include proxying.
+ fixes
2014-05-15 12:01:22 +02:00
Markus Stenberg be6db5995d miniupnpd: work in progress on PCP pinhole support 2014-05-15 11:58:17 +02:00
Markus Stenberg 7c7407099e Added Linux get_pinhole_uid_by_index. 2014-05-15 11:45:37 +02:00
Markus Stenberg e907d7bba6 miniupnpd: Some initial effort at actually adding pinhole support to PCP code. 2014-05-15 11:45:33 +02:00
Markus Stenberg c000a00508 Fixed PEER supporting PCP to compile too. 2014-05-15 11:29:01 +02:00
Markus Stenberg 3e03562b77 miniupnpd: Added ENABLE_UPNPPINHOLE macro
using ENABLE_UPNPPINHOLE to compile in the support for IPv6 Firewall pinholes.
It is enabled by either ENABLE_6CF_SERVICE or ENABLE_PCP + ENABLE_IPV6.
2014-05-15 11:26:54 +02:00
Thomas Bernard ba97c9b238 miniupnpd/pcpserver.c: fix ProcessPCPRequest()
fix commit 620af3737c8beffe87e08b7e0c34ab1661251695
2014-05-15 10:57:10 +02:00
Markus Stenberg 3f9000db76 Added unified description production, and also enforcing that desc matches in MAP/PEER delete (=> following RFC6887). Yay. 2014-05-15 10:51:00 +02:00
Thomas Bernard de96dd47d5 update Changelog.txt files 2014-05-15 10:42:08 +02:00
Thomas Bernard 4dbbf34032 miniupnpd/upnpsoap.c: improve ExecuteSoapAction()
improve commit 20f1e070a1
2014-05-15 10:35:27 +02:00
Arran Cudbard-Bell f27dd45973 Return 730 error where appropriate, and output helpful debug 2014-05-13 21:50:16 +01:00
Arran Cudbard-Bell 20f1e070a1 Don't call deletePortMapping method for deletePortMappingRange
Length of strings needs to match before doing comparison, else we can stop early on a substring of the one were trying to match.
2014-05-13 21:50:16 +01:00
Thomas Bernard 98109ea92e miniupnpd/getifaddr.c: fix when IPV6 is not enabled 2014-05-06 15:15:07 +02:00
Markus Stenberg 338a533a09 miniupnpd/pcpserver.c: Preliminary work for PCP fw control
Added preliminary is_fw flag, and added af to getifaddr_in6. Made
option parsing follow the RFC and also made it bit more paranoid
(there were some security problems with length checks not being done
at right place all the time; simplified flow, should be easier to
verify now that it does nothing untoward).
2014-05-06 15:12:42 +02:00
Markus Stenberg d058fd3f36 miniupnpd/pcpserver.c: Added checks for third-party allowed for it to be used.
If allowed, checking it against source address,
with inverse logic from that of non-thirdparty case.
2014-05-06 13:30:04 +02:00
Markus Stenberg 5e5a9d39eb Added missing check for int_ip. 2014-05-06 13:27:42 +02:00
Markus Stenberg 2f5c3ce959 miniupnpd/pcpserver.c: Some IPv6 related work on PCP. 2014-05-06 13:26:06 +02:00
Thomas Bernard 0e49fe7e94 miniupnpd: change "allow_thirdparty" PCP option to a bit flag 2014-05-06 13:15:24 +02:00
Markus Stenberg c801138c63 Added PCP third party option and made it's use an option. 2014-05-06 13:10:09 +02:00
Mike Frysinger 9f687cef9c use CPPFLAGS for -D/-I flags
The standard variable for preprocessor flags (e.g. -I and -D) is
CPPFLAGS.  The default Makefile rules already use this variable
when compiling code, so we only need to convert the name.
2014-04-29 16:56:24 -04:00
Mike Frysinger 30e510ac79 convert to LDLIBS
The standard variable for adding -l flags is LDLIBS, not LIBS.
The default Makefile rules (which this code already relies on)
will use that when linking.

This also fixes a problem where we do not want to list -l flags
in the dependency of make targets.  When you do that, make will
do a file search in /lib and /usr/lib (hardcoded) and expand the
path to those absolute files.  This breaks when you try to cross-
compile miniupnpd for other platforms.
2014-04-29 16:53:29 -04:00
Mike Frysinger 77a2ce69b6 respect standard $PKG_CONFIG env var
Rather than hardcode `pkg-config`, allow people to set PKG_CONFIG to
point to a version customized for their build.
2014-04-29 16:47:01 -04:00
Thomas Bernard 13037e57b7 miniupnpd/miniupnpd.conf: add a comment 2014-04-22 10:53:58 +02:00
Thomas Bernard 80713ba39a miniupnpd/Changelog.txt: catch up 2014-04-22 10:53:18 +02:00
Thomas Bernard 7a2bafd071 miniupnpd/miniupnpd.conf: add https_port option and rename port to http_port 2014-04-22 00:44:37 +02:00
Thomas Bernard d31badae7d miniupnpd/natpmp.c: replace macros by functions
see commit 67c28e7f8b (and comments)
2014-04-21 21:36:45 +02:00
Thomas Bernard ca9b8217b4 miniupnpd/pcpserver.c: Fix CheckExternalAddress() for working with 0 IPv4 mapped address
fixes #69
2014-04-21 19:32:09 +02:00
Thomas Bernard 8be1cc55c2 miniupnpd/pcpserver.c: Add comments to CheckExternalAddress() 2014-04-21 19:31:32 +02:00
Thomas Bernard 743dfef265 miniupnpd/miniupnpd.c: display HTTP / HTTPS in logs 2014-04-20 18:40:26 +02:00
Thomas Bernard 589b792873 miniupnpd/minissdp.c: comment about WFA. 2014-04-20 18:39:40 +02:00
Thomas Bernard 1dd48971b9 Merge branch 'https'
Conflicts:
	miniupnpd/Makefile
	miniupnpd/pf/obsdrdr.c
2014-04-20 18:12:04 +02:00
Thomas Bernard 1ff20069a1 miniupnpd/options.c: fix potential end of array access 2014-04-20 18:10:44 +02:00
Thomas Bernard 415d14fbe9 miniupnpd/options.c: Add https_port= option
also add http_port= as a synonym to port=
2014-04-20 18:06:00 +02:00
Thomas Bernard 7f85648277 miniupnpd/minissdp.c: clean up : port => http_port 2014-04-20 18:05:22 +02:00
Thomas Bernard a310b3a0dc miniupnpd/bsd/ifacewatcher.c: RTM_ADD RTM_DELETE RTM_CHANGE 2014-04-18 10:26:58 +02:00
Thomas Bernard 848218fe2d miniupnpd/Makefile: fix for OpenBSD 2014-04-18 10:26:09 +02:00
Thomas Bernard dee1fbe394 miniupnpd/bsd/ifacewatcher.c: add case RTM_GET 2014-04-18 10:12:31 +02:00
Thomas Bernard a75719677a miniupnpd/Makefile: comment out crappy pf/ipf detection 2014-04-17 12:54:14 +02:00
Thomas Bernard ed962213e8 miniupnpd/pf/obsdrdr.c: check that USE_PF is defined
also fix a warning
2014-04-16 09:59:49 +02:00
Thomas Bernard 204a3db655 miniupnpd/Makefile: link testportinuse with $LIBS 2014-04-16 01:20:34 +02:00
Thomas Bernard 1b8ed0b59d miniupnpd/upnpsoap.c: DeviceProtection has to check peer certificate 2014-04-15 15:40:03 +02:00
Dmitry Mostovenko 9e3547cdec miniupnpd/netfilter/iptables_*.sh: less usage of deprecated net-tools. Use iproute2 instead. 2014-04-15 15:57:10 +04:00
Thomas Bernard 67c28e7f8b miniupnpd/natpmp.c: Remove pointer casting, avoid possibility of unaligned memory access 2014-04-14 22:50:11 +02:00
Thomas BERNARD db6de93f34 Merge pull request #65 from razzfazz/pcp_portinuse
miniupnpd/pcpserver.c: add PCP support for CHECK_PORTINUSE
2014-04-14 09:20:49 +02:00
Thomas Bernard 1140e1bddb miniupnpd/portinuse.c: minor cosmetic changes 2014-04-14 09:17:10 +02:00
Daniel Becker eea9188eef miniupnpd/portinuse.c: whitespace cleanup 2014-04-13 04:28:47 -07:00
Daniel Becker 90cc5ad3e7 miniupnpd/portinuse.c: add FreeBSD support for CHECK_PORTINUSE 2014-04-13 04:15:58 -07:00
Daniel Becker b4e00165a0 miniupnpd/pcpserver.c: add PCP support for CHECK_PORTINUSE 2014-04-12 23:14:11 -07:00
Thomas BERNARD 974692e7ac miniupnpd/Makefile.macosx: fix a typo 2014-04-12 09:37:06 +02:00
Thomas Bernard 11e71207c8 miniupnpd/upnphttp.c: log OpenSSL version used 2014-04-11 09:48:50 +02:00
Thomas Bernard e8aca7a943 miniupnpd/genconfig.sh: adding HTTPS_CERTFILE / HTTPS_KEYFILE 2014-04-11 09:48:41 +02:00
Thomas Bernard 4f230c809b miniupnpd/asyncsendto.c: improve error handling in try_sendto()
to help investigate issue #64
2014-04-11 09:31:02 +02:00
Thomas Bernard f789a3bab7 miniupnpd/getifaddr.c: check if interface is up 2014-04-11 00:03:13 +02:00
Thomas Bernard 947be5aafc upnphttp.c: Configure OpenSSL client cert verification 2014-04-10 23:28:41 +02:00
Thomas Bernard e26174d05d miniupnpd: free OpenSSL memory 2014-04-09 16:09:31 +02:00
Thomas Bernard e91bda48d7 upnpsoap.c: fix GetAssignedRoles() 2014-04-09 15:43:39 +02:00
Thomas Bernard b4be392156 miniupnpd/portinuse.c: fix display in case of error 2014-04-09 15:38:54 +02:00
Thomas Bernard e5757cdc45 miniupnpd.c: nothing important :) 2014-04-09 15:37:37 +02:00
Thomas Bernard 974c05c7be miniupnpd/pf/obsdrdr.c: remove compilation warning 2014-04-09 15:37:16 +02:00
Thomas Bernard 123eca279c upnpd/minissdp.c: enlarge SSDP packet buffer for sending 2014-04-09 15:36:38 +02:00
Thomas Bernard 6794650f5a miniupnpd/upnpsoap.c: Adding skeleton of DeviceProtection:1 implementation 2014-04-09 15:35:55 +02:00
Thomas Bernard bbe96a15b6 miniupnpd: adding HTTPS support 2014-04-09 15:35:06 +02:00
Thomas Bernard 29e951c1e5 miniupnpd/Makefile: improve ipfw detection 2014-04-07 12:39:05 +02:00
Thomas Bernard c4d99670e7 miniupnpd: Use SA_LEN consistently 2014-04-01 11:44:39 +02:00
Thomas Bernard 3491535854 miniupnpd/Makefile: Link test programs with LIBS 2014-04-01 11:44:08 +02:00
Thomas Bernard 3bd2388d4f miniupnpd/Makefile: remove -ansi flag 2014-04-01 11:43:31 +02:00
Thomas Bernard 6a194ffcfb miniupnpd/testportinuse.c: fix compilation with CHECK_PORTINUSE undefined 2014-03-28 13:15:09 +01:00
Thomas Bernard 08127b85d4 Merge branch 'portinuse'
Conflicts:
	miniupnpd/Makefile.linux
2014-03-28 12:52:18 +01:00
Thomas Bernard f6f4e56bdf miniupnpd/portinuse: cleanup 2014-03-28 12:50:42 +01:00
Thomas Bernard 0decb351e9 miniupnpd/pcpserver.c: check source address of PCP request 2014-03-24 15:03:12 +01:00
Thomas Bernard d233655630 miniupnpd/pcpserver.c: fix for IPv6 2014-03-24 12:15:50 +01:00
Thomas Bernard ad88cc0819 miniupnpd: start work to enable IPv6 PCP operations 2014-03-24 12:07:31 +01:00
Thomas Bernard f70484f27f miniupnpd/minissdp.c: reduce syslog() verbosity
LOG_INFO => LOG_DEBUG
2014-03-24 10:33:52 +01:00
Thomas Bernard ba1875b52c miniupnpd/pcpserver.c: add comments 2014-03-24 10:24:41 +01:00
Thomas Bernard 7137665101 miniupnpd/pcpserver.c: prepare code to be able to manage more than just TCP and UDP 2014-03-24 10:24:19 +01:00
Thomas Bernard 814a6b253a miniupnpd/pcpserver.c: use const where useful 2014-03-24 10:23:07 +01:00
Thomas Bernard b1fb9cfdc4 miniupnpd/pcpserver.c: take care of "nonce" value 2014-03-24 10:21:26 +01:00
Thomas Bernard 4a7f97c7f3 miniupnpd/pcp_msg_struct.h: comments 2014-03-22 13:12:10 +01:00
Thomas Bernard 6eab849b2e miniupnpd/portinuse.c: Improve error handling in DragonFly BSD code 2014-03-20 14:07:52 +01:00
Thomas Bernard 6419602e14 miniupnpd/portinuse: port_in_use() returns -1 in case of error 2014-03-20 13:49:10 +01:00
Thomas Bernard aea062a7ba miniupnpd/portinuse.c: Add DragonFly BSD implementation
Thanks to YONETANI Tomokazu.
2014-03-20 13:40:53 +01:00
Thomas Bernard 5a3a670e89 miniupnpd/bsd/getifstats.c: fix for DragonFly BSD
struct ifnet is private to kernel code and is hidden from the userland
code unless you define a macro _KERNEL_STRUCTURES.  Although other people
argue that it should be exposed as it is on other BSDs, that's the way
it is on DragonFly BSD.

Thanks to YONETANI Tomokazu for DragonFly BSD patches
2014-03-19 12:25:52 +01:00
Thomas Bernard 75cb38edda miniupnpd/Makefile: allow to override FWNAME 2014-03-19 12:23:48 +01:00
Thomas Bernard 601bd2618b miniupnpd/Makefile: fix for DragonFly BSD
TYPE : chechyesno => checkyesno
2014-03-18 10:17:19 +01:00
Thomas Bernard f7b6b1ec19 miniupnpd/Makefile: Mac OS X switched from ipfw to pf
OS X 10.7 Lion switched to pf
2014-03-18 09:34:25 +01:00
Thomas Bernard 708c83d873 miniupnpd/Makefile: fix for DragonFly BSD 2014-03-18 09:33:33 +01:00
Thomas BERNARD e657211157 miniupnpd/Makefile.macosx: update for testasyncsendto and testportinuse 2014-03-17 15:36:10 +01:00
Thomas BERNARD ba448fd7dd miniupnpd/testasyncsendto.c: remove warning if struct timeval fields are not long int 2014-03-17 15:35:18 +01:00
Thomas Bernard a959e9e7de miniupnpd/upnpevents.c: comments/logs/etc. 2014-03-15 10:54:23 +01:00
Thomas Bernard 76170e5413 miniupnpd/upnphttp.c: Support for multiple URL in Callback: header (SUBSCRIBE) 2014-03-15 10:52:39 +01:00
Thomas Bernard 19261b6fef reject renewal of subscribtion that already timeouted 2014-03-15 10:51:32 +01:00
Thomas Bernard 3629b10ff5 miniupnpd: add port_in_use() implementation for OpenBSD 2014-03-14 12:08:13 +01:00
Thomas Bernard dcce22647d miniupnpd: add testportinuse test program 2014-03-14 12:07:03 +01:00
Thomas Bernard 7cb493919f miniupnpd/getifaddr.c: don't use getifaddrs() in IPv4 only
should fix #62 :
Don't use getifaddrs() in IPv4 only
so we avoid problems if getifaddrs() implementation is buggy
2014-03-14 10:04:49 +01:00
Thomas Bernard 09bbaac63a miniupnpd/portinuse.c: add #ifdef __linux__
TODO : BSD Code
2014-03-13 14:58:36 +01:00
Thomas Bernard 15a2320c86 miniupnpd/portinuse.c/iptcrdr.c: cosmetic changes 2014-03-13 14:49:05 +01:00
Thomas Bernard c4e63048c4 miniupnpd: add CHECK_PORTINUSE to enable/disable port_in_use() 2014-03-13 14:48:52 +01:00
Thomas Bernard 06764123fb Merge remote branch 'origin/master' into portinuse
Conflicts:
	miniupnpd/Makefile.linux
	miniupnpd/natpmp.c
2014-03-13 14:19:44 +01:00
Thomas Bernard a7d9071c5a miniupnpd/upnpevents.c: fix upnp_event_notify_connect() when ENABLE_IPV6 is set 2014-03-13 11:56:28 +01:00
Thomas Bernard 8d93ddb076 miniupnpd: change IP change msg from LOG_DEBUG to LOG_INFO 2014-03-13 11:34:34 +01:00
Thomas Bernard 9f665b572f miniupnpd: fix BSD Makefile 2014-03-13 11:34:34 +01:00
Thomas Bernard 62d6c860ce catch up Changelog.txt
see commit 3ed3478398
2014-03-13 11:34:34 +01:00
Thomas Bernard 7b13adafbd miniupnpd: reduce number of global variables by using more runtime_flags
change ipv6_enabled/ipv6fc_inbound_pinhole_allowed/ipv6fc_firewall_enabled
global vars to flags in runtime_flags
2014-03-13 11:34:33 +01:00
Thomas Bernard 15682180a5 miniupnpd: Work in IPv6 on system where PF_INET6 are restricted to IPv6 only 2014-03-13 11:34:08 +01:00
Thomas Bernard 2a48074f45 miniupnpd: Enable PCP by default. 2014-03-13 11:24:04 +01:00
Thomas Bernard 3ed3478398 miniupnpd/getifaddr.c: clean up and fix getifaddr_in6() 2014-03-13 10:42:07 +01:00
Thomas Bernard 81fa1bcd57 miniupnpd/getifaddr.c: getifaddr_in6() only return IPv4 address when IPV6 disabled
see if it can help for issue #62
pcp/CheckAddress() is likely to need more changes.
2014-03-13 10:00:42 +01:00
Thomas Bernard d397d73628 miniupnpd/getifaddr.c: fix getifaddr_in6()
-1 is returned if no address is found
2014-03-13 09:56:34 +01:00
Thomas Bernard 081c46338c miniupnpd/upnppermissions.c: disable match_permission_internal() 2014-03-13 09:53:44 +01:00
Daniel Becker 408a0b55f6 miniupnpd/pcpserver.c: return error code if PCP mapping fails
This change causes CreatePCPMap to return a PCP_ERR_NO_RESOURCES
response when upnp_redirect_internal does not succeed;
previously, no error code was returned in this case.
2014-03-11 02:06:38 -07:00
Daniel Becker efbb95aa10 miniupnpd/pcpserver.c: port NAT-PMP updates to PCP
This change ports the recent updates to the permissions checking
and eport selection code for NAT-PMP to the PCP MAP handler.
2014-03-11 01:54:10 -07:00
Thomas Bernard 210876f2a7 miniupnpd/natpmp.c: make indentation consistant and add a comment 2014-03-11 09:47:09 +01:00
Daniel Becker 4f160366bd miniupnpd/natpmp.c: remove obsolete assignment
The eport_first variable now gets initialized in the first
iteration of the while loop; the assignment right before the
loop should have been removed in the previous commit.
2014-03-10 11:14:49 -07:00
Daniel Becker f4f4573f53 miniupnpd: fix eport selection and error handling
The find_available_eport function that was intended to check if
at least one eport is allowed for a given iaddr/iport does not
work as intended; for example, it does not properly handle rule
precedence (i.e., it considers allow rules even if they are
effectively masked by earlier deny rules), and it also does not
handle the case where no rules are specified at all (which
should default to accept in order to be consistent with
check_upnp_rule_against_permissions). The present change removes
this function and instead integrates the check into the existing
while loop that iterates over all eports.
2014-03-10 00:32:23 -07:00
Thomas Bernard ecf414e160 miniupnpd/Changelog.txt: Catch up changes... 2014-03-10 00:12:20 +01:00
Thomas Bernard a27979afde Merge branch 'fix_pf_redirect'
Conflicts:
	miniupnpd/pf/testobsdrdr.c
2014-03-10 00:03:06 +01:00
Thomas BERNARD 0ff8e67c26 Merge pull request #57 from razzfazz/natpmp_avoid_port_zero
miniupnpd/natpmp.c: skip port zero when finding free eport
2014-03-08 01:03:43 +01:00
Daniel Becker 1db670d6ff miniupnpd/natpmp.c: skip port zero when finding free eport
When skipping ports that are in use or not allowed, the existing
NAT-PMP code will consider port zero as a candidate eport after
wraparound occurs. Since this is not a legal port, we skip over it.

port zero as an eport value.
2014-03-07 11:02:04 -08:00
Daniel Becker ba04327bb0 miniupnpd/natpmp.c: remove redundant break statements
These two break statements are redundant: The subsequent continue
statement will cause the loop condition to be re-evaluated, at which
point the loop will terminate if resp[3] != 0.
2014-03-07 07:42:40 -08:00
Thomas Bernard e385db03b9 miniupnpd: improved permission checking for NAT-PMP
NAT-PMP now searches an allowed eport if the one from
request is not, instead of returning an error
2014-03-07 11:48:17 +01:00
Thomas Bernard b7ee469980 miniupnpd/pf: update testobsdrdr.c 2014-03-06 14:24:58 +01:00
Thomas Bernard 60e129d131 miniupnpd/pf: delete_redirect_and_filter_rules() now take internal address into account 2014-03-06 14:24:10 +01:00
Thomas Bernard acc149ee99 miniupnpd/pf: fix add_filter_rule2() by adding internal address 2014-03-06 14:23:13 +01:00
Thomas Bernard 65b776f1ed miniupnpd/pf: add clear_filter_rules() for testing
also add a --clear / -c argument to testobsdrdr programm
2014-03-06 14:21:39 +01:00
Thomas Bernard f49a70aab0 miniupnpd/testgetifaddr.c: also test find_ipv6_addr() 2014-03-03 12:37:01 +01:00
Thomas Bernard e5146cdf24 miniupnpd/Makefile.linux: fixes for testasyncsendto
also update dependencies
2014-03-03 12:35:12 +01:00
Daniel Becker edd501f59c miniupnpd/natpmp.c: return correct error code when all external ports in use
Instead of returning code 3 ("Network Failure"), we should the
more appropriate code 4 ("Out of resources") when no external
port is available for a mapping.
2014-02-28 14:47:53 -08:00
Thomas Bernard 5512d022ac miniupnpd/pf/obsdrdr.c: add UNUSED() when necessary 2014-02-28 21:28:12 +01:00
Thomas Bernard 9d23b88cef miniupnpd/pf: replace delete_filter_rule()
now use delete_redirect_and_filter_rules()
2014-02-28 21:26:52 +01:00
Thomas Bernard 37208eecae miniupnpd/pf/obsdrdr.c: improve documentation 2014-02-28 21:22:52 +01:00
Thomas Bernard 9c7df04b13 miniupnpd/pcpserver.c: fix defines
with OpenBSD,  <netinet/in.h> must be included before <arpa/inet.h>
2014-02-28 20:26:02 +01:00
Thomas Bernard 56aca98164 miniupnpd/pf: catch up test programs 2014-02-28 20:20:51 +01:00
Thomas Bernard 802ad22f4d miniupnpd: minor stuff (remove warning, add debug log) 2014-02-28 16:40:20 +01:00
Thomas Bernard dbdad6a79b miniupnpd: improve finalize_sendto() 2014-02-28 16:39:59 +01:00
Thomas Bernard b71e0c028f Merge branch 'limit_eport_search' 2014-02-28 13:36:28 +01:00
Thomas Bernard 3c90f6a30d miniupnpd/natpmp.c: avoid hang when all external ports in use
reorganize a bit
2014-02-28 13:34:46 +01:00
Thomas Bernard 8fc7f0b5e1 miniupnpd: log message when shutting down 2014-02-28 13:16:22 +01:00
Thomas Bernard 6dff4263bd miniupnpd/Changelog.txt catch up... 2014-02-28 13:16:06 +01:00
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
hashiz 1efb4cc03c * fix incorrect filter port in pf redirect. 2014-02-28 11:28:07 +09:00
Thomas Bernard c492b6f56f minissdp.c: try again write after EINTR in SubmitServicesToMiniSSDPD() 2014-02-26 02:02:34 +01:00
Thomas Bernard 34d0954718 Merge branch 'sendto_schedule' 2014-02-25 11:47:30 +01:00
Thomas Bernard ec1686f29f miniupnpd/minissdp: Introduce SSDP_RESPOND_SAME_VERSION
changes something when compiled as IGDv2.
2014-02-25 11:45:51 +01:00
Thomas Bernard 9832adc456 miniupnpd/minissdp.c: send ssdp:alive packets more than once
fixes #35
2014-02-25 11:37:36 +01:00
Thomas Bernard a06c695fe3 miniupnpd/asyncsendto: finalize_sendto() 2014-02-25 11:36:58 +01:00
Thomas Bernard 02165b70dc minissdp.c: wait for a delay before answering M-SEARCH 2014-02-25 11:16:34 +01:00
Thomas Bernard c1e624ecd4 miniupnpd: use asyncsendto 2014-02-25 11:15:30 +01:00
Thomas Bernard cbc1a3c96a miniupnpd: add sendto() queuing 2014-02-25 11:10:05 +01:00
Thomas Bernard 1985cbf3ef asyncsendto: remove failed sendto() from queue 2014-02-25 11:08:27 +01:00
Thomas Bernard d20d959920 miniupnpd/asyncsendto.h: improve comments/doc 2014-02-25 11:07:47 +01:00
Thomas Bernard e00c1bc6e9 miniupnpd.c: init random number generator in init() 2014-02-25 10:24:22 +01:00
Thomas Bernard 8691c9c0e0 miniupnpd.c: improve comment for init() 2014-02-25 10:23:59 +01:00
Thomas Bernard 06d9d36e99 miniupnpd/asyncsendto: make sendto_schedule work 2014-02-20 16:08:20 +01:00
Thomas Bernard b2143eff94 implementation of queuing of messages to send. 2014-02-18 09:34:42 +01:00
Christopher Meng 86d3e7c053 Corrent the binary permission from 555 to 755 2014-02-14 16:56:10 +08:00
Thomas Bernard 16ea0db411 miniupnpd: Fix PCP Map renewal 2014-02-11 10:41:26 +01:00
Thomas Bernard 50f8f6c76f miniupnpd/pcpserver.c: add info message for Mapping renewal 2014-02-11 10:40:46 +01:00
Thomas Bernard 32b6e8c0fa miniupnpd/commonrdr.h: improve comments 2014-02-11 10:38:50 +01:00
Thomas Bernard bc67a7133b miniupnpd/upnputils.c: improve log in get_lan_for_peer() 2014-02-06 10:57:51 +01:00
Thomas Bernard 18f02dccb3 miniupnpd: possibility to disable ipv6 at runtime
fixes #049
2014-02-06 10:57:39 +01:00
Thomas Bernard b7a4f8d696 minixml.c: now handle XML comments 2014-02-03 11:28:31 +01:00
Thomas Bernard 538c002373 miniupnpd: PCP Add support for ANNOUNCE requests 2014-02-03 10:50:29 +01:00
Thomas Bernard 46905418ca miniupnpd: various PCP fixes 2014-02-03 10:49:59 +01:00
Thomas Bernard f6b5408e87 miniupnpd: define min/max_lifetime only when needed 2014-02-03 10:47:47 +01:00
Thomas Bernard 3712118bc4 miniupnpd: removed unused code
ScanNATPMPforExpiration() CleanExpiredNATPMP() are not used anymore
2014-02-03 10:45:59 +01:00
Thomas Bernard 18db1145ea miniupnpd.c: comments in parselanaddr() 2014-02-03 10:44:24 +01:00
Thomas Bernard 49780a99ea miniupnpd/minissdp.c: check return value of AddMulticastMembershipIPv6() 2014-02-03 10:42:38 +01:00
Thomas Bernard 064fcd2739 miniupnpd/pcpserver.c: Removed IPV6_ADDR_COPY and other simplifications
modifications that were forgotten in commit e23c589972
2014-01-27 12:07:54 +01:00
Thomas Bernard 0734265092 Makefile.linux: update dependencies 2014-01-27 11:09:30 +01:00
Thomas Bernard 401c624bcf miniupnpd/INSTALL: update infos
rdr-anchor lines should be removed in OpenBSD since 4.7
rephrased a bit the part about permissions
2014-01-14 09:26:24 +01:00
Thomas Bernard a93393df44 update README's to include PCP 2014-01-14 09:25:19 +01:00
Thomas Bernard 3b0055f1a5 Merge remote branch 'origin/config_manufacturer' 2013-12-24 15:38:19 +01:00
Thomas Bernard 4fe0fb1809 miniupnpd/pcpserver.c: minor syntax fixes 2013-12-16 17:04:45 +01:00
Thomas Bernard e23c589972 miniupnpd/pcpserver.c: Removed IPV6_ADDR_COPY and other simplifications 2013-12-16 17:04:00 +01:00
Thomas BERNARD fa87b3aff7 miniupnpd: attempt to compile for OS X/pf 2013-12-16 13:03:54 +01:00
Leo Moll d05abb5921 Added option to enable vendor configuration 2013-12-13 19:40:52 +01:00
Thomas Bernard e2a1c4d4c9 pcpserver.c: small code simplification 2013-12-13 17:15:51 +01:00
Thomas Bernard f774a54bac remove C++ style comments 2013-12-13 17:01:41 +01:00
Thomas Bernard 1e08e9ed4d getifaddr: more portable code (works with old OpenBSD) 2013-12-13 16:59:51 +01:00
Thomas Bernard 6a8a580e6f Makefile: add pcpserver.o 2013-12-13 16:57:42 +01:00
Thomas Bernard 278f6b5e45 update Changelog.txt :) 2013-12-13 16:57:07 +01:00
Thomas Bernard f7cb8a6848 update .gitignore 2013-12-13 14:43:15 +01:00
Thomas Bernard 00adeeaaad typo fix 2013-12-13 14:41:21 +01:00
Thomas Bernard b9daf5cc27 testupnpdescgen.c: minor fix on getifaddr() 2013-12-13 12:35:36 +01:00
Thomas Bernard 9b72af6f36 Merge branch 'master' into portinuse 2013-12-13 12:29:01 +01:00
Thomas Bernard d19048ef9e miniupnpd: Make all manufacturer info configurable 2013-12-13 12:03:28 +01:00
zhu a93028913c avoid compile warning 2013-11-20 14:52:04 +08:00
Leo Moll d200fb748f Made all manufacturer related information configurable:
- manufacturer_name, default is "`uname -s`"
- manufacturer_url, default is URL of OS verndor
- model_name, default is "`uname -s` router"
- model_description, default is "`uname -s` router"
- model_url, default is URL of OS verndor
2013-10-20 23:02:19 +02:00
Thomas Bernard 55099d5fc6 upnpsoap.c: adding TODO... to be done later for compliance 2013-08-19 18:25:54 +02:00
Thomas BERNARD 940b36b94b Merge pull request #42 from libpcp/master
PCP fixes
2013-07-30 04:34:27 -07:00
Thomas Bernard 98fcc3c757 fix 58827720da 2013-07-30 08:59:13 +02:00
Peter Tatrai 4bdec457a2 Add IPv4 permission check into PCP MAP operation 2013-07-23 08:59:03 +02:00
Peter Tatrai 3f85c8b859 Fix PCP MAP mapping refresh 2013-07-23 08:59:03 +02:00
Peter Tatrai 9e1ffd5cd9 Add initial PCP support 2013-07-11 09:38:55 +02:00
Thomas Bernard 87a7f05be6 minissdp.c: Also send byebye with all UUIDs 2013-06-15 14:51:28 +02:00
Thomas Bernard 04dec5cf7b send UUID based SSDP notify for each device 2013-06-14 19:10:59 +02:00
Thomas Bernard 50ec2fce4a Have distinct UUID for the 3 devices (IGD, WAN Device, WAN Connection Device) 2013-06-13 16:03:36 +02:00
Thomas Bernard 01bffe494d miniupnpd/minissdp.c: rename SendSSDPAnnounce2() to SendSSDPResponse() 2013-06-11 20:03:15 +02:00
Thomas Bernard 63ece30b87 update upnpreplyparse to allow larger values (128 chars instead of 64)
also add testcase
2013-06-06 23:41:23 +02:00
Thomas Bernard 74c3c18380 miniupnpd/minissdp.c: Don't advertise WANPPPConnection in UPNP_STRICT mode 2013-06-05 11:19:23 +02:00
Thomas Bernard 4077b0069d miniupnpd/upnpsoap: check Service ID in SetDefaultConnectionService method 2013-06-05 11:11:53 +02:00
Thomas Bernard 58827720da Remove namespace from variable name elements in Events "propertyset" to comply with UDAv1.1
See UPNP Device Architecture v1.1, section 4.3.2 :
<variableName>
REQUIRED. Element is name of a state variable that changed (<name> sub element of
<stateVariable> element in service description). MUST NOT be qualified with any namespace. Value
is the new value for this state variable. Case sensitive. Single data type as specified by UPnP service
description.
2013-05-29 23:29:29 +02:00
Thomas Bernard 50cb93be4a miniupnpd/ipf: Adding support for IP Filter version 5.x 2013-05-20 02:14:04 +02:00
Thomas Bernard 51563f038a miniupnpd/upnpsoap.c: refuses non integer <NewPortMappingIndex> values 2013-05-16 12:43:11 +02:00
Thomas Bernard 9b193b0546 comment unused function... 2013-05-14 23:11:43 +02:00
Thomas Bernard 0f401fe2d5 Update upnpreplyparse.c to take into account "empty" elements 2013-05-14 23:05:08 +02:00
Thomas Bernard 326fcdfa24 add archlinux 2013-05-03 13:17:07 +02:00
Thomas Bernard 24ee64e2fa comment... 2013-05-03 11:34:39 +02:00
Thomas Bernard 71dcf3565d miniupnpd: Use pkg-config under linux to find libiptc.
Thanks to Olivier Langlois
2013-05-03 11:33:36 +02:00
Thomas Bernard f6998fc8e6 add code to linux getifstats for wireless interfaces
not useful for miniupnpd...
2013-04-29 12:23:06 +02:00
Thomas Bernard 47390f48a0 miniupnpd: Add warning message when using IPv4 address for listening_ip with IPv6 enabled 2013-04-29 12:22:24 +02:00
Thomas Bernard d178b14fd3 miniupnpd/testgetifaddr: display addr and mask 2013-04-27 17:52:49 +02:00
Thomas Bernard 333c28a502 miniupnpd/getifaddr.c: Uses ifr_addr if ifr_netmask is not defined in struct ifreq 2013-04-27 17:51:53 +02:00
Thomas Bernard 18887cb1e4 miniupnpd: Correctly handle truncated snprintf() in SSDP code 2013-04-26 17:18:28 +02:00
Thomas Bernard 8432646a76 miniupnpd/genconfig.sh : to avoid build race conditions, use a temporary file 2013-04-24 19:04:00 +02:00
Thomas Bernard e21e724b81 miniupnpd/upnputils.c: use scope in get_lan_for_peer() for IPv6 addresses
see #032
2013-04-20 11:06:17 +02:00
Thomas Bernard 961e1c35d3 miniupnpd: autodetect LAN interface netmask instead of defaulting to /24
Fix #23
2013-03-23 11:50:57 +01:00
Thomas Bernard 01ec54aec3 Update Changelog.txt files 2013-02-11 11:40:01 +01:00
Thomas Bernard 803899514e use DESTDIR for install targets
fix #026
thanks to rofl0r
2013-02-09 16:17:23 +01:00
Thomas Bernard 0b715512b2 miniupnpd/Makefile.linux: update depend target 2013-02-07 16:56:51 +01:00
Thomas Bernard 91f34d6c38 Merge branch 'master' into portinuse
Conflicts:
	README
2013-02-07 16:48:16 +01:00
Thomas Bernard bb1e3b75f0 minissdp.c: Refactored SendSSDPNotifies() and SendSSDPGoodbye()
add missing ssdp:alive and ssdp:byebye messages with NT uuid value.
2013-02-07 13:27:09 +01:00
Thomas Bernard ac1d36d872 upnphttp.c: Added Ext: header to HTTP responses to conform to UDA 2013-02-07 11:26:48 +01:00
Thomas Bernard 6ca8ee1dcf minissdp.c: ignore SSDP packets missing the MX: header in UPNP_STRICT mode 2013-02-07 11:00:15 +01:00
Thomas Bernard 39a1d85f7a minissdp.c: Fix SSDP packets sent with uuid as ST: header to conform to UDA 2013-02-07 10:59:31 +01:00
Thomas Bernard 5217fdc090 minissdp.c: Add DATE: header in SSDP packets 2013-02-07 10:56:38 +01:00
Thomas Bernard f2d54a84aa miniupnpd: prepare for version 1.8 2013-02-06 15:20:48 +01:00
Thomas Bernard c7419a5de6 miniupnpd: filter HTTP and SSDP based on source IP
Check source address of incomining HTTP connections and SSDP
packets in order to filter out WAN SSDP and HTTP trafic.
2013-02-06 15:20:04 +01:00
Thomas Bernard 43d3939602 miniupnpd: Implement get_src_for_route_to() for *BSD
Also modify get_src_for_route_to() to return
the network interface index
2013-02-06 15:08:10 +01:00
Thomas Bernard dce91afe3c upnpsoap.c: fix 2 memory leaks in GetListOfPortMappings() 2013-02-06 15:03:25 +01:00
Thomas Bernard 50965a6ae1 upnphttp.c: add comments about ParseHttpHeaders() 2013-01-29 22:56:27 +01:00
Thomas Bernard ea141830f6 upnphttp.c: remove strchr() call in ParseHttpHeaders() 2013-01-29 22:55:57 +01:00
Thomas Bernard 72e570186c upnphttp.c: Fix and comment the findendheaders() function 2013-01-29 22:54:55 +01:00
Thomas Bernard 3b5eacb3ae upnphttp: ParseHttpHeaders() checks atoi() return
atoi() can return a negative value, and that can lead to problems
later
2013-01-27 21:07:40 +01:00
Thomas Bernard 60d1db157a miniupnpd: More return value check for malloc() and realloc() 2012-12-11 22:10:57 +01:00
Thomas Bernard f365c3a9ea minor modifications to linux/getroute.c and testgetroute.c 2012-10-23 14:35:50 +02:00
Thomas Bernard 9473a32ab9 miniupnpd/miniupnpd.c: C++ comment => Ansi C comment 2012-10-16 18:55:47 +02:00
Thomas Bernard 2a1c0cf5a7 miniupnpd/netfilter/iptcrdr.c: remove unused arg warning 2012-10-05 00:32:22 +02:00
Thomas Bernard 38939ac2d9 miniupnpd/upnpevents.c: Better error checking after connect() 2012-10-05 00:32:04 +02:00
Thomas Bernard 5de71bc396 miniupnpd/upnpsoap: More argument check for SOAP actions in UPNP_STRICT mode 2012-10-05 00:31:08 +02:00
Thomas Bernard 67bd1f9b42 updated DEFAULTCONNECTIONSERVICE_MAGICALVALUE for IGDv2 2012-10-05 00:29:55 +02:00
Thomas Bernard 5e48745eb3 miniupnpd/upnphttp: fix buffer allocation for response
increased default buffer size for HTTP response
check size of h->res_buf before building HTTP response
2012-10-05 00:28:06 +02:00
Thomas Bernard 1a458fe869 Ignore "-Wmissing-field-initializers" in upnpdescgen.c 2012-10-05 00:26:44 +02:00
Thomas Bernard 4ce891ec17 miniupnpd/upnphttp: Check compliance of headers for (UN)SUBSCRIBE
Enforce compliance for SUBSCRIBE messages (UPNP_STRICT mode)
Enforce compliance for UNSUBSCRIBE messages (UPNP_STRICT mode)
2012-10-05 00:25:08 +02:00
Thomas Bernard 50b70ae90d miniupnpd/upnpevent.c: fix newSubscriber() for IP6FirewallControl and DeviceProtection services 2012-10-05 00:23:02 +02:00
Thomas Bernard f65edba8fa miniupnpd/minissdp.c: properly set service/device version in SSDP messages 2012-10-05 00:21:00 +02:00
Thomas Bernard c0d4c9d24a upnpsoap.c: Fix atoi() on null pointers 2012-10-05 00:19:26 +02:00
Thomas Bernard 7227e55dba ENABLE_HTTP_DATE : add a Date: header to all HTTP responses 2012-10-05 00:17:40 +02:00
Thomas Bernard 239739a6f7 late update of miniupnpd/Changelog.txt 2012-09-28 11:14:10 +02:00
Thomas Bernard e5d7653002 miniupnpd/minissdp.c: Manage services/devices versions 2012-09-28 11:13:48 +02:00
Thomas Bernard 8b8772eed1 miniupnpd: Support Expect: 100-continue for POST HTTP requests 2012-09-28 11:12:50 +02:00
Thomas Bernard 9d94d08bd8 miniupnpd: Content-Type is now text/xml; charset="utf-8" to conform with UDA v1.1 2012-09-28 11:12:01 +02:00
Thomas Bernard 727eaeb2e8 miniupnpd/upnphttp: Support for Accept-Language/Content-Language HTTP headers 2012-09-28 11:10:20 +02:00
Thomas Bernard 988594dfe6 miniupnpd: SetDefaultConnectionService() checks its argumnents in UPNP_STRICT mode 2012-09-28 11:07:12 +02:00
Thomas Bernard ee0815ac85 miniupnpd: UPC must be a 12 decimal digit code 2012-09-28 11:05:34 +02:00
Thomas Bernard 840031dea7 miniupnpd: Fixes with DISABLE_CONFIG_FILE and UPNP_STRICT 2012-09-28 11:04:04 +02:00
Thomas Bernard 8d9900e728 miniupnpd: update of Changelog.txt and Makefile for recent ipfw changes 2012-09-28 10:55:55 +02:00
Jardel Weyrich 95d5c0bf39 Rename all include guards to not clash with C99 (7.1.3 Reserved identifiers). 2012-09-20 17:52:51 -03:00
Jardel Weyrich 98c504f8b9 - Rename IPFW include guards to not infringe the C standard rules.
- Move IPFW implementation to a source file. Static in headers is not good.
2012-09-19 09:46:44 -03:00
Thomas Bernard 4c5da2c31e miniupnpd/upnppinhole.h: Added doc for upnp_clean_expired_pinholes() 2012-09-18 10:31:52 +02:00
Thomas Bernard 03005fa291 miniupnpd/netfilter: Fixing a bug in clean_pinhole_list() 2012-09-18 10:31:10 +02:00
Thomas Bernard dd9cbbb7e8 Adding an informational message at startup 2012-09-15 17:36:10 +02:00
Thomas Bernard d148904d2b update/fix changelogs 2012-08-29 09:59:06 +02:00
Thomas Bernard 34c5af41ad miniupnpd: install miniupnpd.8 man page in Makefile.linux 2012-08-24 20:13:15 +02:00
Thomas Bernard 299945d6dd miniupnpd.8: uppercase MINIUPNPD in header 2012-08-24 20:12:26 +02:00
Thomas Bernard d8d416f409 Moved man page to section 8 2012-08-24 20:11:39 +02:00
Thomas Bernard dfb5a303e1 fix minus vs hyphen 2012-08-23 11:19:45 +02:00
Thomas Bernard 9805bb6872 improved SubmitServicesToMiniSSDPD() function fiability 2012-08-21 19:33:26 +02:00
Thomas Bernard 04e56b13e1 miniupnpd: Add -A command line option to add permission rules
fixes #15
2012-07-17 21:39:40 +02:00
Thomas Bernard 5a07e704ba miniupnpd/miniupnpd.c: spaces to tab to improve indentation consistency 2012-07-17 21:39:05 +02:00
Thomas Bernard e39c29dcd7 miniupnpd/miniupnpd.c: fixed signed/unsigned comparaison 2012-07-17 21:37:09 +02:00
Thomas Bernard 6451a6906d miniupnpd: Add -z command line option to change friendly name (thanks to Shawn Fisher)
see 896425597e
2012-07-14 17:31:30 +02:00
Thomas Bernard 013b0df388 miniupnpd: detect port in use / already forwarded
Patch submitted by David Kerr
2012-07-10 23:25:29 +02:00
Thomas Bernard d9f265d0cc miniupnpd/genconfig.sh: special case for AstLinux 2012-07-10 23:19:08 +02:00
Thomas Bernard cdc6ac324d fix 2012-06-29 21:48:37 +02:00
Thomas Bernard 6de4711f8b miniupnpd: Add command line parsing for clean_ruleset_interval option 2012-06-29 21:48:32 +02:00
Thomas Bernard 0df9f7f62a miniupnpd: added DISABLE_CONFIG_FILE in options.h to disable miniupnpd.conf parsing 2012-06-29 21:39:34 +02:00
Thomas Bernard dcae1caf72 update miniupnpd/Changelog.txt 2012-06-29 21:37:52 +02:00
Thomas Bernard 909ba96beb fix 2012-06-29 21:36:25 +02:00
Shawn Fisher 87bad0aeb4 miniupnpd: fix -a command line option
Fix command line parsing to work as documentation describes, i.e. when
MULTIPLE_EXTERNAL_IP is set, parse both a LAN address and the associated
WAN address.
2012-06-28 21:23:38 +02:00
Shawn Fisher 03d8967d90 miniupnpd: Clean up for logging when not built with USE_PF or USE_IPF defines 2012-06-28 21:15:04 +02:00
Thomas Bernard ad7ac5ad45 miniupnpd/minissdp.c: fixed a signed/unsigned compare 2012-06-28 21:00:49 +02:00
Thomas Bernard 779a71bb6c miniupnpd: IPv6 address used for LOCATION:
in UPNP_STRICT mode, the literal IPv6 address in "location:" of SSDP
messages is now the source address used to send the message.

For linux only at the moment

Also added testgetroute
2012-06-24 01:41:47 +02:00
Thomas Bernard 635222fd02 miniupnpd: add testgetroute to .gitignore 2012-06-24 01:39:37 +02:00
Thomas Bernard 590f1e3f37 miniupnpd/.gitignore: add *.bak 2012-06-24 00:42:37 +02:00
Thomas Bernard b32c1c7cc6 Disable -ansi in Makefile.linux 2012-06-08 20:17:35 +02:00
Thomas Bernard 28746efd66 Improvements in autodetecting firewall under (Free)BSD 2012-05-31 15:33:16 +02:00
Thomas Bernard adb9941296 Cleanup HTTP request handling. Answer 405 when relevant 2012-05-31 15:29:18 +02:00
Thomas Bernard 7e32a8825a fix tests for solaris 2012-05-31 15:22:52 +02:00
Thomas Bernard 2e468c0b69 VERSION 1.7 2012-05-28 01:21:12 +02:00
Thomas Bernard e4058f670a fix compilation without ENABLE_IPV6 2012-05-28 01:18:35 +02:00
Thomas Bernard 4cdc0b762e set natpmp socket non blocking 2012-05-28 01:18:06 +02:00
Thomas Bernard 0d56822a71 clean linux/ifacewatcher.c 2012-05-28 01:16:58 +02:00
Thomas Bernard f2db9025a9 update todo 2012-05-28 01:15:27 +02:00
Thomas Bernard fffeee019f more solaris fixes 2012-05-24 18:52:27 +02:00
Thomas Bernard ef49e90d28 Prepare release of version 1.7 of both miniupnpc and miniupnpd 2012-05-24 18:26:39 +02:00
Thomas Bernard 4922f84ee4 add dependency to VERSION for config.h 2012-05-24 18:25:42 +02:00
Thomas Bernard 6d0a225420 Add more warning CFLAGS 2012-05-24 18:24:55 +02:00
Thomas Bernard efae5a79cd fix a signed/unsigned compare 2012-05-24 18:22:59 +02:00
Thomas Bernard 8f5bfa2de0 minor formatting 2012-05-24 18:22:31 +02:00
Thomas Bernard 5672487ede bugfix in clean_pinhole_list() for pf 2012-05-24 18:18:51 +02:00
Thomas Bernard fe37de7e2c Clean signal handling 2012-05-24 18:17:31 +02:00
Thomas Bernard 2b686e5638 add options used to generate in comments in the config.h file 2012-05-09 23:32:05 +02:00
Thomas Bernard 2bb2ebbb6b fix a signed/unsigned compare 2012-05-09 23:28:26 +02:00
Thomas Bernard cd87891cd7 Try to update README and INSTALL files 2012-05-09 23:25:43 +02:00
Thomas Bernard ff397acf8f Clean expired IPv6 pinholes correctly. and also with linux/netfilter 2012-05-08 22:51:23 +02:00
Thomas Bernard fd5c172182 remove useless syslog() line 2012-05-08 22:50:39 +02:00
Thomas Bernard 457092c60a Finalizing netfilter version of get_pinhole_info() 2012-05-08 00:21:03 +02:00
Thomas Bernard ddbc22865f Add netfilter implementation for delete_pinhole()/update_pinhole()/get_pinhole_info() 2012-05-02 00:47:42 +02:00
Thomas Bernard 6fe956229b add static to list[] definition 2012-05-01 22:26:14 +02:00
Thomas Bernard 89212758f2 Move IPv6FirewallControl related code from upnpredirect.c to upnppinhole.c 2012-05-01 22:25:30 +02:00
Thomas Bernard 50ac3ae490 add macros.h 2012-05-01 14:23:22 +02:00
Thomas Bernard 57a06974bf check sidlen before string compare 2012-05-01 11:57:20 +02:00
Thomas Bernard 4edb1c03ce Also fix a couple of integer/pointer comparaisons 2012-05-01 11:53:36 +02:00
Thomas Bernard e42dfd3284 Remove Warnings caused by signed/unsigned integer comparaisons 2012-05-01 11:52:21 +02:00
Thomas Bernard ad95793e93 Add UNUSED(arg) macro to remove unused argument warning. 2012-05-01 11:49:23 +02:00
Thomas Bernard db982e1740 Fully initialize list[] global variable 2012-05-01 11:36:15 +02:00
Thomas Bernard a0f540b1f4 Clean up settings of CFLAGS in Makefile's 2012-05-01 11:34:41 +02:00
Thomas Bernard 19d728d9d8 Fix error handling in upnpevents.c (was causing segfault on Solaris !) 2012-05-01 11:29:40 +02:00
Thomas Bernard a0850c58c7 Improve netfilter ipv6 pinhole. Work still in progress
Add a memory list of pinholes with expiration timestamps and uids
2012-04-27 08:51:25 +02:00
Thomas Bernard 0440f0b8a7 Started to implement add_pinhole() for netfilter (linux) 2012-04-26 16:08:39 +02:00
Thomas Bernard d9cb61b124 Fix a bug in upnphttp
Thanks to Chiaki ISHIKAWA
2012-04-26 00:30:32 +02:00
Thomas Bernard 2139c44cc4 fix typo : FirewallDisabed => FirewallDisabled 2012-04-24 00:51:48 +02:00
Thomas Bernard c8021cb841 implementing UpdatePinhole() and CheckPinholeWorking()
WANIPv6FirewallControl

upnpredirect :
	cleanup : upnp_add_inboundpinhole
	fix : upnp_get_pinhole_info
	implement : upnp_update_inboundpinhole
upnpsoap :
	implement : UpdatePinhole
	implement : CheckPinholeWorking
2012-04-24 00:50:20 +02:00
Thomas Bernard 12825443b1 add update_pinhole() prototype, use #ifdef ENABLE_6FC_SERVICE 2012-04-24 00:45:45 +02:00
Thomas Bernard d27f35ccde Working on DeletePinhole() and GetPinholePackets() 2012-04-23 01:47:37 +02:00
Thomas Bernard 82355aca40 Add cleaning of IPv6 PinHoles + fix get_pinhole_info 2012-04-22 02:58:27 +02:00
Thomas Bernard 430d9c7240 Add clean_pinehole_list() in pfpinhole 2012-04-22 02:03:35 +02:00
Thomas Bernard 3499f6e45d Convert rem_host to literal IPv6 address in AddPinhole() 2012-04-22 02:03:08 +02:00
Thomas Bernard c9cf40633d Improve code for WANIPv6FirewallControl 2012-04-21 00:09:52 +02:00
Thomas Bernard 8148acc55c Add get_pinhole() 2012-04-21 00:08:06 +02:00
Thomas Bernard c3d979a9cd add -Wdeclaration-after-statement to CFLAGS 2012-04-21 00:05:45 +02:00
Thomas Bernard e0efe74a7c AddPinhole() and DeletePinhole() works ! (only with pf) 2012-04-20 16:53:34 +02:00
Thomas Bernard 82369d94e4 Add pf/pfpinhole.o to PFOBJS 2012-04-20 16:50:24 +02:00
Thomas Bernard d5b7d70c32 Add timestamp to add_pinhole() function
Also make the code compile only when ENABLE_IPV6 is defined
2012-04-20 16:49:04 +02:00
Thomas Bernard 137932b776 Add delete_pinhole() function 2012-04-20 00:07:13 +02:00
Thomas Bernard 3bf2534620 Add comment about which IP6FirewallControl methods are required or optional 2012-04-20 00:06:24 +02:00
Thomas Bernard b165afbba7 First working experiment of IPv6 "pinhole" with pf 2012-04-19 01:43:50 +02:00
Thomas Bernard f934bf5d17 Start to code IPv6 "pinhole" for pf
Also update tests in miniupnpd/pf/
2012-04-18 22:53:51 +02:00
Thomas Bernard e982ebc9f5 Add command line arguments to genconfig.sh config script 2012-04-15 00:35:31 +02:00
Thomas Bernard 50cb647305 More C++ => ANSI C comments to compile with -ansi option 2012-04-15 00:34:57 +02:00
Thomas Bernard 76da677016 Set TTL on SSDP Notify sockets (IPv4)
TTL is set to 2 (recommendation from UPnP Device Architecture v1.1)
2012-04-12 23:37:59 +02:00
Thomas Bernard 708ed4a8b8 Fix compilation when IPV6 is disabled 2012-04-06 19:53:26 +02:00
Thomas Bernard 3b1b647de7 add TODO file 2012-04-06 19:30:43 +02:00
Thomas Bernard 593dc26608 Send SSDP NOTIFY ssdp:alive and ssdp:goodbye in IPv6 too 2012-04-06 19:30:19 +02:00
Thomas Bernard c28d256b30 Use UPnP/1.1 in SERVER: string as required in UDA 1.1
UDA = UPnP Device architecture 1.1
2012-04-06 19:28:05 +02:00
Thomas Bernard 6d32d69608 Allow LAN interface to be given as interface names.
(instead of interface IP addresses)
It will allow IPv6 operations.
2012-04-06 17:31:24 +02:00
Thomas Bernard 225b59a6d3 fix linux/getifstats.c when bitrate is unknown 2012-04-06 17:30:22 +02:00
Thomas Bernard 70c5e194a3 Only remove pidfile if one was written in the first place 2012-03-31 09:22:50 +02:00
Thomas Bernard 31d0dfa345 update miniupnpd/Changelog.txt
Fix ipfilter support (thanks dhowland https://github.com/dhowland)
Changes to miniupnpd.init.d.script by Shawn Landden
2012-03-19 22:15:06 +01:00
David Howland a8e337326c Fix ipfilter support.
- Add support for timestamps
 - Add support for rhosts
 - Add get_portmappings_in_range
2012-03-18 10:13:10 -04:00
Shawn Landen 27b5ae6c9b miniupnpd: add LSB header to init.d script
LSB headers allows debian to use dependancy-based boot, and
makes systemd's sysvinit compatibility mode faster.
2012-03-13 20:11:22 -07:00
Shawn Landen b8cd7af65e miniupnpd: add status option on linux init.d script, set -e 2012-03-13 20:09:34 -07:00
Shawn Landen 4eb4a78c23 miniupnpd: cosmetics on linux/miniupnpd.init.d.script
was amalgamation of tabs/spaces that required tab-stops=4
Convert largely to tabs, (8) and tried to make it line up a little better with
style of existing scripts elsewhere
2012-03-13 19:30:31 -07:00
Thomas Bernard 88fc495942 remove // comment 2012-03-11 09:47:10 +01:00
Thomas Bernard 2665ed123b Merge branch 'master' of https://github.com/shawnl/miniupnp
Conflicts:
	miniupnpd/upnpredirect.c
2012-03-05 05:59:52 +01:00
Thomas Bernard 57ff044fb7 fixed reload_from_lease_file()
iport and timestamp where mixed
leaseduration always negative and NAT-PMP forwards
 with non-null timestamp always deleted
2012-03-05 05:44:02 +01:00
Shawn Landen 5c224accbf remove trailing whitespace from miniupnpd 2012-02-29 17:48:41 -08:00
Thomas Bernard b1cc7aad36 upnppermissions.c: allow 192.168.1.1/255.255.255.0 as ip/mask
Change read_permission_line() to allow 192.168.1.1/255.255.255.0 in
addition to 192.168.1.1/24 in permission line (in configuration file).
2012-02-15 23:49:56 +01:00
Thomas Bernard f01dc59aa3 miniupnpd.c: parselanaddr() pow parses 192.168.1.1/255.255.255.0
Change parselanaddr() function to allow 192.168.1.1/255.255.255.0 in
addition to 192.168.1.1/24 in configuration file.
2012-02-15 23:48:20 +01:00
Thomas Bernard 0cc68c47b6 More syntax checks in upnppermissions.c 2012-02-12 14:03:42 +01:00
Thomas Bernard a08258f549 Fix ipfw/Mac OS X specific source files to compile ok with -ansi flag 2012-02-12 13:42:37 +01:00
Thomas Bernard 45db6b8b0f clean up 2012-02-09 21:34:44 +01:00
Thomas Bernard d7de40d8cd Make SSDP receive sockets non blocking
Also use sockaddr_to_string() in SendSSDPAnnonce2 to handle IPv6 addresses
2012-02-09 21:33:24 +01:00
Thomas Bernard edfce7672f Make HTTP listen socket non blocking (so accept() can't block) 2012-02-09 21:29:20 +01:00
Thomas Bernard 8dccc0d419 getifaddr.c: Add missign freeifaddrs() in find_ipv6_addr() 2012-02-09 00:33:06 +01:00
Thomas Bernard af60fee984 Make HTTP (SOAP) sockets non blocking 2012-02-07 01:26:15 +01:00
Thomas Bernard 0d0a50a084 upnputils.c/.h: add set_non_blocking() function 2012-02-07 00:18:05 +01:00
Thomas Bernard 994bd1391b Added -ansi compilation flag 2012-02-07 00:16:25 +01:00
Thomas Bernard 439ab615e3 fixed typos 2012-02-07 00:13:56 +01:00
Thomas Bernard 65e277883b options.c: Save a few bytes
Use a string repository, instead of a fixed size buffer for each option value.

Also check realloc() error
2012-02-05 01:31:27 +01:00
Thomas Bernard 4e79d6b983 Fixed a minor memory "leak"
The upnppermlist was not free'd before exiting...
2012-02-05 00:53:29 +01:00
Thomas Bernard 9ee74defc8 Compile miniupnpd OK with -ansi flag. 2012-02-05 00:40:50 +01:00
Thomas Bernard a0a1e45ac5 Added friendl_name= option to config file 2012-02-05 00:24:13 +01:00
Thomas Bernard 87a8a06640 automatic -lip4tc and -lip6tc in Makefile.linux
Added test of presence of /lib/libip4tc.so and /lib/libip6tc.so files in
Makefile.linux in order to add -lip4tc and -lip6tc to LIBS accordingly.
2012-02-03 16:12:22 +01:00
Thomas Bernard 8263cc243a Fixes a typo in help text 2012-02-03 15:40:54 +01:00
Thomas Bernard 841d938ca9 adding miniupnpdctl.txt file
This file surely needs to be updated !
2012-02-03 13:18:30 +01:00
Thomas Bernard 874283b36f Anchor name (PF) is now configurable through the config file with anchor= 2012-02-03 13:14:10 +01:00
Thomas Bernard 73ef11624a always handle EAGAIN, EWOULDBLOCK and EINTR after recv()/recvfrom() calls 2012-02-02 18:45:43 +01:00
Thomas Bernard 691bc40bdd Changed WIN32 macro to _WIN32 2012-01-25 22:44:30 +01:00
Thomas Bernard e09da9f860 update README files 2012-01-25 22:33:08 +01:00
Thomas Bernard b30d2f8edc Support for OpenBSD 5.0
.onrdomain field was added in ps with OpenBSD 5.0.
Add PFRULE_HAS_ONRDOMAIN
2012-01-20 23:00:37 +01:00
Thomas Bernard c07408ef1f Always #include <netinet/in.h> before #include <arpa/inet.h> (for OpenBSD) 2012-01-20 22:55:43 +01:00
Thomas Bernard dd7273c6d5 Tomato specifics in genconfig.sh 2012-01-20 22:53:15 +01:00
Thomas Bernard c29468dd05 Merge branch 'master' of https://github.com/ville-k/miniupnp 2012-01-02 11:36:05 +01:00
Thomas Bernard 8f68347464 added additional checks on structure returned by getifaddrs() 2012-01-02 11:12:52 +01:00
Thomas Bernard 63a83f8a0a Fixing netfilter/iptables_*.sh scripts for new ifconfig output format
see http://miniupnp.tuxfamily.org/forum/viewtopic.php?p=2623
2012-01-02 10:58:02 +01:00
Ville Kallioniemi e8c488f9e1 UUID generation for the default config file was
not working on the mac. Man page was getting
installed to the the wrong location.
* change to always use uuidgen (available on all
  osx releases)
* fix regex to match uuidgen's uuid format which
  contains capital letters
* fix mac man page install directory
* make mac clean target delete the generated launchd config file
2011-12-31 01:21:58 -07:00
Ville Kallioniemi 7582b0e506 Mac install target for the upnp daemon was trying
to install files that don't exist and launchd
config file had hardcoded paths.
* commented out code that was trying to install
  files/scripts that don't exist
* added a make target for generating launchd
  config file with accurate install paths
* enabled installing man page
2011-12-31 01:20:51 -07:00
Thomas Bernard 24065dbaba Replaced SendResp_upnphttp()+CloseSocket_upnphttp() by SendRespAndClose_upnphttp() 2011-11-18 12:23:16 +01:00
Thomas Bernard 0ff86e4975 avoid infinite loop in SendResp_upnphttp() in case of error 2011-11-18 12:15:24 +01:00
Thomas Bernard ba27a5b5d9 Replaced hyphens by minus in man pages 2011-10-09 17:50:09 +02:00
Thomas Bernard e667e962ac Added relevant .gitignore files 2011-09-30 09:59:34 +02:00
Thomas Bernard 0d96346588 Adding miniupnpd 2011-09-28 21:13:20 +02:00