Commit Graph

453 Commits

Author SHA1 Message Date
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