Commit Graph

787 Commits

Author SHA1 Message Date
Thomas Bernard 92e6173a97 with UDA 1.1 content-type should include charset 2016-02-16 10:56:32 +01:00
Thomas Bernard 22f7836816 reorder elements in XML descriptions to follow UDA 1.1 2016-02-16 10:55:48 +01:00
Thomas Bernard 13a6a38241 add configId attribute to <root> element (UDA 1.1) 2016-02-16 10:55:03 +01:00
Thomas Bernard 8c5e90db3a do not delete/re-add pf rule if the desc/label is unchanged 2016-02-15 18:48:23 +01:00
Thomas Bernard 0d6d6afc32 try to support better IPPROTO_UDPLITE :) 2016-02-15 13:36:30 +01:00
Thomas Bernard 34883b7113 use a proto_itoa() function 2016-02-15 13:34:22 +01:00
Thomas Bernard 430dcc7b22 update leasefile 2016-02-12 16:57:22 +01:00
Thomas Bernard 680862915a accept udp in lowercase 2016-02-12 16:55:13 +01:00
Thomas Bernard 7112203428 pf/obsdrdr.c: add_timestamp_entry() 2016-02-12 16:35:46 +01:00
Thomas Bernard 4eda8234c2 reject mappings with wildcard ExternalPort 2016-02-12 15:58:19 +01:00
Thomas Bernard 9c28a0745f remove warning 2016-02-12 15:31:21 +01:00
Thomas Bernard b439bd7791 check uuid-dev / libuuid 2016-02-12 15:29:49 +01:00
Thomas Bernard 68dd51559c minimal support for ipf 2016-02-12 15:13:59 +01:00
Thomas Bernard ff4b9c5d75 netfilter/iptcrdr.c: improve debug output 2016-02-12 15:02:44 +01:00
Thomas Bernard db6f272bba miniupnpd: update some TODO 2016-02-12 15:02:06 +01:00
Thomas Bernard bdac007771 add update_portmapping() / update_portmapping_desc_timestamp() functions 2016-02-12 15:01:30 +01:00
Thomas Bernard 34f80a011f Add light version of iptables_display.sh script 2016-02-12 14:56:10 +01:00
Thomas Bernard 8bad6cd338 netfilter/iptcrdr.c: remove old USE_INDEX_FROM_DESC_LIST code 2016-02-12 14:55:09 +01:00
Thomas Bernard cc35c1d450 AddPortMapping return error 729 - ConflictWithOtherMechanisms if IGD v2 is enabled 2016-02-12 14:54:13 +01:00
Thomas Bernard dd9bf47c68 iptcrdr.c: add iptc_init() check in init_redirect() 2016-02-12 14:51:59 +01:00
Thomas Bernard c4f2397d5c upnpevents.c: quick syntax fix... 2016-02-11 11:42:59 +01:00
Thomas Bernard 6059f000f7 use Linux libuuid uuid_generate() / BSD uuid_create() API 2016-02-11 11:39:28 +01:00
Thomas Bernard 19211d20d1 add debug log in remove_unused_rules() 2016-02-11 10:31:49 +01:00
Thomas Bernard cac8668a7d miniupnpd/Makefile: linking uses LDFLAGS, not CFLAGS 2016-02-10 21:37:00 +01:00
Thomas Bernard 42c7bf935c ClearOS specifics 2016-02-10 20:44:46 +01:00
Thomas Bernard 81e0ca10df upnphttp.c: fix when compiling with UPNP_STRICT 2016-02-09 10:17:58 +01:00
Thomas Bernard d23bb8d670 improve config.h comment :) 2016-02-09 10:16:45 +01:00
Thomas Bernard 06049f1e7d add ENABLE_PORT_TRIGGERING macro in config.h
enabled by default. Will allow people to disable the code :)
2016-02-09 10:09:19 +01:00
Thomas Bernard 5f74a08dd6 update README and INSTALL 2016-01-28 23:10:25 +01:00
Thomas Bernard 0deaf32796 update Changelog.txt about port triggering 2016-01-28 23:09:45 +01:00
Thomas Bernard 3284d113c7 remove ifname arg from addmasqueraderule()
also improve comment and remove useless log :)
2016-01-28 22:16:07 +01:00
Thomas Bernard 40aa39679f improve comments 2016-01-26 19:51:07 +01:00
Thomas Bernard 141e861c3a remove call to addpeernatrule() ... 2016-01-26 18:17:05 +01:00
Thomas Bernard 9059966122 netfilter/iptcrdr.c: improve comments
give which iptables command is equivalent for adding the rule
2016-01-26 18:16:23 +01:00
Thomas Bernard d3635faeed add upnp_nat_postrouting_chain .conf option
fixes #190

MINIUPNPD-PCP-PEER has also been renamed to MINIUPNPD-POSTROUTING
( 1ba4362910 )
2016-01-26 16:59:04 +01:00
Thomas Bernard 1ba4362910 MINIUPNPD-PCP-PEER => MINIUPNPD-POSTROUTING
renamed
miniupnpd_peer_chain = "MINIUPNPD-PCP-PEER"
to
miniupnpd_nat_postrouting_chain = "MINIUPNPD-POSTROUTING";
2016-01-26 16:50:48 +01:00
Thomas Bernard ba91c4ec23 add addmasqueraderule()
see issue #166
http://miniupnp.tuxfamily.org/forum/viewtopic.php?t=1820

iptables -t nat -I POSTROUTING -o <extif> -s <iaddr> -p UDP --sport <iport> -j MASQUERADE --to-ports <eport>
2016-01-26 16:38:32 +01:00
Thomas Bernard f4324d45e5 fix netfilter/Makefile dependencies, fix iptables_display.sh 2016-01-26 16:38:32 +01:00
Thomas Bernard 55cf34a101 fix iptc_init_verify_and_append() calls 2016-01-26 16:38:32 +01:00
Thomas Bernard aa4e0a4549 add netfilter/test_nfct_get 2016-01-26 16:38:31 +01:00
Thomas Bernard 21a98adc5d update Changelog.txt 2016-01-19 11:06:06 +01:00
Thomas Bernard f1ce2301da shutdown_iptpinhole() frees memory 2016-01-19 10:53:14 +01:00
Thomas Bernard 6f8951d40d find_pinhole() return -2 if not found 2016-01-19 10:52:36 +01:00
Thomas Bernard f16b291cfa add pf/BSD files to .gitignore 2016-01-18 22:48:18 +01:00
Thomas Bernard be124b6508 add find_pinhole() to pf/ code also
see #188
2016-01-18 22:46:30 +01:00
Thomas Bernard e252acef88 PCP: check pinhole before adding in CreatePCPMap_FW()
fixes #188
2016-01-18 20:16:06 +01:00
vvsvic a8ab2149f4 Remove some bugs in DeletePCPPeer and DeletePCPMap 2016-01-13 13:26:20 +03:00
Chocobo1 e405f78b89 Fix output specifier 2016-01-04 12:13:00 +08:00
Chocobo1 948b883966 Fix memory leak when realloc fails 2016-01-04 11:51:49 +08:00
Thomas Bernard e076899a37 buffer overflow fix
in MULTIPLE_EXTERNAL_IP code which is not used normally...
2015-12-31 00:41:24 +01:00
Thomas Bernard 58b130116b revert to UPnP/1.1 (UDA v1.1) as default.
see https://github.com/miniupnp/miniupnp/issues/167
fixes #167
2015-12-19 11:52:38 +01:00
Thomas Bernard fb1c29f732 cleanup 2015-12-16 11:26:40 +01:00
Thomas Bernard 1ab8cf0a22 improve syslog message for incoming HTTP requests 2015-12-16 11:26:03 +01:00
Thomas Bernard 6f89608a2c ExecuteSoapAction() : add namespace to log messages 2015-12-15 12:14:05 +01:00
Thomas Bernard ba1c9239c0 update Changelog.txt 2015-12-15 12:13:45 +01:00
Thomas Bernard 9d8a988b82 add comments in upnpdescgen.c 2015-12-15 11:17:15 +01:00
Thomas Bernard 0139addbda Merge branch 'desc_test' 2015-12-15 10:57:14 +01:00
Thomas Bernard 9e31ceb630 add --disable-pppconn genconfig.sh option to disable WANPPPConnection
fixes #176
2015-12-13 15:57:49 +01:00
Thomas BERNARD 66b087b9b1 Merge pull request #174 from razzfazz/new_subscriber_uuid_cleanup
use sizeof() instead of hard-coded UUID length in newSubscriber()
2015-12-13 00:32:01 +01:00
Thomas Bernard f076f368bd fix DeviceProtection#GetSupportedProtocols response
add CDATA to escape XML document in response :
ProtocolList content is an XML document that should be escaped
See  section 2.4.3.1 of the DeviceProtection spec
http://upnp.org/specs/gw/UPnP-gw-DeviceProtection-v1-Service.pdf

see PR #178
2015-12-13 00:24:05 +01:00
Thomas Bernard e76dd788c4 Merge remote-tracking branch 'razzfazz/fix_dp_setup_ready_notify'
PR #182
2015-12-12 12:02:36 +01:00
Daniel Becker 04b344b6f8 actually return a value in SetupReady notifications 2015-12-12 02:42:13 -08:00
Daniel Becker db0ef3022e fix parsing of input arguments in SendSetupMessage() 2015-12-12 02:33:30 -08:00
Thomas Bernard f77d701489 update changelog and year => 2015
see 1cc3d1a5fa
and 6430805381
2015-12-12 10:38:40 +01:00
Thomas Bernard a4a3e5a3f8 add comments. see 0298b66365 2015-12-12 09:31:22 +01:00
Thomas Bernard 9f32a1de1d add "uname -a" result to config.h 2015-12-12 09:13:05 +01:00
Thomas Bernard 58f6626179 add --uda-version to usage help + fix
fixes 9e65fbbded
2015-12-12 09:10:54 +01:00
Thomas BERNARD 128bbee806 Merge pull request #180 from razzfazz/fix_dp_action_args
fix action arguments for DeviceProtection service (IGDv2)
2015-12-12 08:58:25 +01:00
Thomas Bernard aa34dd2e45 Merge branch 'fix_advertised_versions' 2015-12-12 08:47:32 +01:00
Thomas Bernard e97be7f37f add comments to previous commit 2015-12-12 08:47:06 +01:00
Daniel Becker ce3d66a3ee fix tags for DeviceProtection action responses 2015-12-11 23:36:19 -08:00
Thomas Bernard 2a654e0ef4 Merge remote-tracking branch 'razzfazz/renew_cleanup' 2015-12-12 08:28:48 +01:00
Daniel Becker 0298b66365 fix argument names for DeviceProtection actions 2015-12-11 23:12:11 -08:00
Daniel Becker 7774c24daa add missing parameters for DeviceProtection service actions 2015-12-11 22:56:20 -08:00
Daniel Becker 1cc3d1a5fa advertise correct service and device versions when IGDv2 is enabled 2015-12-11 18:08:18 -08:00
Daniel Becker 6430805381 return SID in renew response 2015-12-11 16:29:32 -08:00
Daniel Becker 5fd754c4e2 use sizeof() instead of hard-coded UUID length in newSubscriber() 2015-12-11 16:21:32 -08:00
Thomas Bernard 0d0728e2d1 name WANIPv6FirewallControl:1 service WANUPv6Firewall1
done according to http://upnp.org/specs/gw/UPnP-gw-InternetGatewayDevice-v2-Device.pdf
2.2 (page 9)
2015-12-11 14:40:13 +01:00
Thomas Bernard 9e65fbbded allow to set UPnP Device architecture version using commandline
--uda-version=x.x
2015-12-11 14:37:59 +01:00
Daniel Becker d89e4aaf70 fix Layer3Forwarding serviceId to be consistent with IGDv2 spec 2015-12-11 02:13:42 -08:00
Thomas Bernard 76a5f9930b Changes to WANIPCn.xml
Add default values for :
RSIPAvailable
NATEnabled
LastConnectionError
ConnectionStatus

follow the Specification regarding ConnectionType / PossibleConnectionTypes
allowed values
2015-12-11 10:57:25 +01:00
Thomas Bernard 24d54ba13a SA_SIZE() is >= sizeof(long) 2015-11-19 12:55:44 +01:00
Thomas Bernard 834a7f5db9 use bash or ksh to execute ./testupnppermissions.sh 2015-11-19 12:54:56 +01:00
Thomas Bernard 3d50adc170 bsd/getroute.c: check message length. Avoid buffer overread 2015-11-18 09:53:58 +01:00
Thomas Bernard 35aae6debb bsd/getroute.c: fix parsing of address with SA_LEN() = 0
at least with OpenBSD 4.3, the minimum is 4 bytes
2015-11-18 09:52:54 +01:00
Daniel Becker e5d30a1f4b explicitly request interface name as well 2015-11-17 17:29:09 -08:00
Daniel Becker eb5f179c9f make get_src_for_route_to() actually return the source address on *BSD 2015-11-17 17:06:05 -08:00
Thomas BERNARD 7d19326ef9 get_src_for_route_to() is tested with Mac OS X 10.4 2015-11-17 11:25:10 +01:00
Thomas Bernard 191940467f define SA_SIZE if needed 2015-11-17 10:55:17 +01:00
Daniel Becker 7ab525700d fix parsing of sockaddr entries returned by routing socket on BSD 2015-11-17 10:16:51 +01:00
Thomas Bernard 5cfa875477 fill sa_len in address for rt_msg 2015-11-17 10:15:36 +01:00
Thomas Bernard 84b609849a fix get_src_for_route_to() with IPv6
fixes #160
2015-11-16 23:01:44 +01:00
Thomas Bernard 66dceb5e94 Fix get_src_for_route_to() when args are NULL
fixes #160 ???
2015-11-16 20:32:02 +01:00
Thomas Bernard 5856fb0f7d test get_src_for_route_to() with NULL args 2015-11-16 20:19:00 +01:00
Thomas Bernard 372ad64bb5 update Changelog.txt files 2015-11-05 12:04:26 +01:00
Thomas Bernard f5f3ad1631 clarify multiple LAN interfaces / listening_ip= 2015-11-05 11:51:02 +01:00
Thomas Bernard be70a04c66 use LOG_INFO instead of LOG_ERR for PCP PEER and MAP success
fixes #158
2015-11-02 23:30:28 +01:00
Thomas Bernard 92cc93f6f8 use name server from query in SOAP responses (continued)
see a4b97cf105
and 1e7b2342fa
2015-10-30 19:53:08 +01:00
Thomas Bernard 4ed5bc6fee remove a warning :) 2015-10-30 19:52:41 +01:00
Thomas Bernard 4afc6fcf7f fix : properly call find_ipv6_addr() with the 1st LAN interface 2015-10-30 19:36:42 +01:00
Thomas BERNARD d4ee1ee7e6 Add "make check" to BSD Makefile.
Also make sure files are removed properly when using "make clean"
2015-10-25 16:33:24 +01:00
Thomas BERNARD f4b730af9b clean up UTF-8 chars 2015-10-25 16:19:21 +01:00
Thomas Bernard 359c5d8805 add a validation of SSDP packet generation
checks it doesn't overflow  SSDP_PACKET_MAX_LEN
2015-10-24 17:02:11 +02:00
Thomas Bernard 3bd1886d2a move SSDP_PACKET_MAX_LEN to config.h
also set it to 1024 by default. See #129
2015-10-24 13:11:31 +02:00
Thomas Bernard 8fde9568cc make it work with Darwin (Mac OS X) 2015-10-08 14:03:15 +02:00
Thomas Bernard 6c46d285aa fix testupnppermissions.sh for non DEBUG builds
cleanup tests also
2015-09-22 17:13:26 +02:00
Thomas Bernard 6837787f1c validategetifaddr 2015-09-22 16:51:56 +02:00
Thomas Bernard aa1e24acf8 bash is needed for arrays 2015-09-22 16:19:24 +02:00
Thomas Bernard 71a7846479 add "make check" to miniupnpd 2015-09-22 16:02:19 +02:00
Thomas Bernard 146613a493 update Changelog.txt 2015-09-22 12:13:32 +02:00
Thomas Bernard 3b12b8fb4e copy ext_ip in response only if needed 2015-09-22 11:52:24 +02:00
Thomas Bernard 68b3cab718 add a warning syslog() in parsePCPOptions 2015-09-22 11:36:09 +02:00
Thomas Bernard c87809a608 remove redundant test about ports 2015-09-22 11:35:24 +02:00
Thomas Bernard c3660a5aa7 add include guard 2015-09-22 10:24:47 +02:00
Thomas Bernard 13aeb88feb remove #pragma directive 2015-09-22 10:24:38 +02:00
Thomas Bernard 3d8986b646 Dont read/write PCP messages as C struct to remove dependency to the "pack" feature.
structs are left (commented out) in pcp_msg_struct.h for information
2015-09-22 10:22:06 +02:00
Thomas Bernard a6b947e0ca move READNUxx/WRITENUxx macros to macros.h 2015-09-21 23:58:00 +02:00
Thomas Bernard 2372d7bdd9 Merge branch 'uda_20' 2015-09-21 22:40:16 +02:00
Thomas Bernard 7ae5783d85 UPNP_VERSION_MAJOR / UPNP_VERSION_MINOR macros defined in config.h 2015-09-21 22:39:30 +02:00
Thomas Bernard 50c68a9f03 rename macro UPNP_VERSION to MINIUPNPD_DATE
(a more meaningful name)
2015-09-21 22:37:50 +02:00
Thomas Bernard 861c5f5796 add comments with usual namespace
see a4b97cf105
2015-09-21 17:10:15 +02:00
Thomas Bernard 7b3cda0f9a add testdescs to .gitignore 2015-09-15 16:17:29 +02:00
Thomas Bernard 1e7b2342fa use name server from query in SOAP responses (continued)
see a4b97cf105
2015-09-15 09:39:50 +02:00
Thomas Bernard a4b97cf105 use name server from query in SOAP responses
to be finished :)
2015-09-15 00:02:56 +02:00
Thomas Bernard fde90d221b fix typo in "urn" (url) 2015-09-14 23:35:14 +02:00
Thomas Bernard a8f80040c9 Randomize URLs to avoid http://www.filet-o-firewall.com/ 2015-09-14 12:10:15 +02:00
Thomas Bernard 32f1981520 ipfwrdr.c: remove unused argument warnings 2015-09-10 16:01:26 +02:00
Thomas Bernard 8ecb5fcd92 fix includes for old Mac OS X 2015-09-04 18:50:54 +02:00
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