Updates to Tomato RAF including NGINX && PHP
[tomato.git] / release / src / router / miniupnpd / Changelog.txt
blob443e38b5ad727163f97a656c3b132c950ee3c0e4
1 $Id: Changelog.txt,v 1.330 2013/02/07 12:22:23 nanard Exp $
3 2013/02/07:
4   Add DATE: header in SSDP packets
5   Fix SSDP packets sent with uuid as ST: header to conform to UDA
6   ignore SSDP packets missing the MX: header in UPNP_STRICT mode
7   Added Ext: header to HTTP responses to conform to UDA
8   Refactored SendSSDPNotifies() and SendSSDPGoodbye() and add
9     missing ssdp:alive and ssdp:byebye with NT uuid value.
11 VERSION 1.8 : released on 2013/02/06
13 2013/02/06:
14   Check source address of incomining HTTP connections and SSDP
15     packets in order to filter out WAN SSDP and HTTP trafic.
16   Implement get_src_for_route_to() for *BSD
17   fix 2 potential memory leaks in GetListOfPortMappings()
19 2013/01/29:
20   upnphttp.c: Fix and comment the findendheaders() function
21   upnphttp.c: remove strchr() call in ParseHttpHeaders()
22     add comments to explain how buffer is checked before calls
23     to ParseHttpHeaders()
25 2013/01/27:
26   upnphttp.c: ParseHttpHeaders() now checks atoi() return
28 2012/12/11:
29   More return value check for malloc() and realloc()
31 2012/10/23:
32   minor modifications to linux/getroute.c and testgetroute.c
34 2012/10/04:
35   updated DEFAULTCONNECTIONSERVICE_MAGICALVALUE for IGDv2
36   increased default buffer size for HTTP response
37   More argument check for SOAP actions in UPNP_STRICT mode
38   Better error checking after connect() in upnpevent
40 2012/10/03:
41   Fix atoi() on null pointer in upnpsoap.c
42   properly set service/device version in SSDP messages
43   fix newSubscriber() for IP6FirewallControl and DeviceProtection services
44   Enforce compliance for SUBSCRIBE messages (UPNP_STRICT mode)
45   Enforce compliance for UNSUBSCRIBE messages (UPNP_STRICT mode)
46   Ignore "-Wmissing-field-initializers" in upnpdescgen.c
47   check size of h->res_buf before building HTTP response
48   ENABLE_HTTP_DATE : add a Date: header to all HTTP responses
50 2012/09/27:
51   Fixes with DISABLE_CONFIG_FILE
52   and UPNP_STRICT
53   UPC must be a 12 decimal digit code
54   SetDefaultConnectionService() checks its argumnents in UPNP_STRICT mode
55   Support for Accept-Language/Content-Language HTTP headers
56   Content-Type is now text/xml; charset="utf-8" to conform with UDA v1.1
57   Support Expect: 100-continue for POST HTTP requests
58   Manage services/devices versions in minissdp.c
59   Rename all include guards to not clash with C99.
60    (7.1.3 Reserved identifiers)
62 2012/09/20:
63   Cleaning code in ipfw (Jardel Weyrich)
65 2012/09/18:
66   Fixing a bug in clean_pinhole_list() under linux/netfilter
68 2012/09/15:
69   Adding an informational message at startup
71 2012/08/24:
72   Moved man page to section 8. miniupnpd.1 => miniupnpd.8
73   Added install of miniupnpd.8 man page in Makefile.linux
75 2012/08/10:
76   improved SubmitServicesToMiniSSDPD() function fiability
78 2012/07/17:
79   Add -A command line option to add permission rules
81 2012/07/14:
82   Add -z command line option to change friendly name (thanks to Shawn Fisher)
84 2012/06/29:
85   added DISABLE_CONFIG_FILE in options.h to disable miniupnpd.conf parsing
86   Add command line parsing for clean_ruleset_interval option
88 2012/06/28:
89   Only activate -L option for PF and IPF
90   -a option takes two arguments with MULTIPLE_EXTERNAL_IP defined
92 2012/06/23:
93   in UPNP_STRICT mode, the literal IPv6 address in "location:" of SSDP
94   messages is the source address used to send the message
96 2012/06/08:
97   Disable -ansi CFLAGS in Makefile.linux because recent iptables headers
98   make use of typeof keyword which is a GCC extension.
100 2012/05/31:
101   Improvements in autodetecting firewall under (Free)BSD
103 2012/05/28:
104   Cleanup HTTP request handling. Answer 405 when relevant
106 VERSION 1.7 : released the 2012/05/28
108 2012/05/28:
109   clean linux/ifacewatcher.c
110   set natpmp socket non blocking
112 2012/05/24:
113   More solaris fixes
115 2012/05/21:
116   Clean signal handling
118 2012/05/08:
119   Clean expired IPv6 pinholes correctly. and also with linux/netfilter.
121 2012/05/07:
122   Finalizing netfilter version of get_pinhole_info()
124 2012/05/01:
125   Move IPv6FirewallControl related code from upnpredirect.c to upnppinhole.c
126   Add netfilter implementation for
127     delete_pinhole()/update_pinhole()/get_pinhole_info()
129 2012/04/30:
130   Clean up settings of CFLAGS in Makefile's
131   Remove Warnings caused by signed/unsigned integer comparaisons
132   Also fix a couple of integer/pointer comparaisons.
133   Add UNUSED(arg) macro to remove unused argument warning.
134   Fix error handling in upnpevents.c (was causing segfault on Solaris !)
136 2012/04/26:
137   Started to implement add_pinhole() for netfilter (linux)
139 2012/04/25:
140   Fixed a bug in upnphttp that happened when POST is received in several
141   recv() calls and realloc() is called so the buffer used is moved.
143 2012/04/23:
144   Implement CheckPinholeWorking GetPinholePackets. WANIPv6FirewallControl
145   UpdatePinhole still to be done. And also netfilter/ipf/ipfw versions
147 2012/04/20:
148   Enough WANIPv6FirewallControl is implemented on pf so that AddPinhole() and
149     DeletePinhole() works !
151 2012/04/19:
152   First working experiment of IPv6 "pinhole" with pf
154 2012/04/15:
155   More C++ => ANSI C comments to compile with -ansi option
156   Add command line arguments to genconfig.sh config script.
158 2012/04/12:
159   Set TTL on SSDP Notify sockets (IPv4). TTL is set to 2 (recommendation from
160     UPnP Device Architecture v1.1)
162 2012/04/06:
163   Implementing IPv6 support :
164     Send SSDP NOTIFY ssdp:alive and ssdp:goodbye messages in IPv6.
165   Use UPnP/1.1 in SERVER: string as required in UPnP Device architecture 1.1.
166   Allow LAN interface to be given as interface names, instead of interface
167     IP addresses. It will allow IPv6 operations.
168   fix linux/getifstats.c when bitrate is unknown
170 2012/03/31:
171   Only remove pidfile if one was written in the first place.
173 2012/03/19:
174   Fix ipfilter support (thanks dhowland https://github.com/dhowland)
176 2012/03/14:
177   Changes to miniupnpd.init.d.script by Shawn Landden
179 2012/03/05:
180   fixed reload_from_lease_file().
182 2012/02/15:
183   Change parselanaddr() function to allow 192.168.1.1/255.255.255.0 in
184     configuration file.
185   Change read_permission_line() to allow 192.168.1.1/255.255.255.0 in
186     permission line (in configuration file).
188 2012/02/12:
189   More syntax checks in upnppermissions.c
191 2012/02/11:
192   Fix ipfw/Mac OS X specific source files to compile ok with -ansi flag
194 2012/02/09:
195   Make HTTP listen socket non blocking (so accept() can't block)
196   Make SSDP receive sockets non blocking
197   use sockaddr_to_string() in SendSSDPAnnonce2 to handle IPv6 addresses
199 2012/02/06:
200   Make HTTP (SOAP) sockets non blocking.
202 2012/02/05:
203   Compile ok with -ansi flag.
204   Save a few bytes in options.c using a string repository, instead of a fixed size
205     buffer for each option value.
207 2012/02/04:
208   Added friendly_name= option to config file
210 2012/02/03:
211   Anchor name (PF) is now configurable through the config file with anchor=
212   Added test of presence of /lib/libip4tc.so and /lib/libip6tc.so files in
213     Makefile.linux in order to add -lip4tc and -lip6tc to LIBS accordingly.
215 2012/02/01:
216   always handle EAGAIN, EWOULDBLOCK and EINTR after recv()/recvfrom() calls
218 2012/01/20:
219   Always #include <netinet/in.h> before #include <arpa/inet.h> (for OpenBSD)
220   .onrdomain field was added in pf with OpenBSD 5.0. Add PFRULE_HAS_ONRDOMAIN
222 2012/01/02:
223   Fixing netfilter/iptables_*.sh scripts for new ifconfig output format.
224   getifaddr.c: added additional checks on structure returned by getifaddrs()
225   Fixing Mac OS X makefile for installation
227 2011/11/18:
228   avoid infinite loop in SendResp_upnphttp() in case of error
229   Replaced SendResp_upnphttp() + CloseSocket_upnphttp() by
230     SendRespAndClose_upnphttp()
231   Tomato specifics in genconfig.sh
233 2011/07/30:
234   netfilter : Added a tiny_nf_nat.h file to compile with iptables
235     installed headers.
236     include xtables.h instead of iptables.h
238 VERSION 1.6 : released the 2011/07/25
240 2011/07/25:
241   Update doc for version 1.6
243 2011/07/15:
244   Fixing code with MULTIPLE_EXTERNAL_IP defined.
246 2011/06/27:
247   IPv6 support for UPnP events.
248   Security checks in UPnP events.
250 2011/06/22:
251   Remote host for GetListOfPortMappings
252   Remote host support for ipfw (tested on Mac OS X)
254 2011/06/20:
255   support for iptables-1.4.11.1
257 2011/06/18:
258   Remote host support for pf version
260 2011/06/04:
261   Supporting RemoteHost (mandatory in IGD v2)
263 2011/06/03:
264   Enabling events by default
266 2011/06/01:
267   Fixing Timeout missing in SUBSCRIBE renewal responses
268   (thanks to Pranesh Kulkarni)
269   Added comments about changes between IGD v1 and IGD v2
271 2011/05/28:
272   Description and leaseduration kept in ipfw version of the code.
273   Fixing ipfw code after testing under Mac OS X 10.6.7 (darwin 10.7.0)
275 2011/05/27:
276   Finishing and testing LeaseDuration support under OpenBSD.
277   Changing NAT-PMP port mapping lifetime support to match
278   lease duration support.
279   NAT-PMP address change announce broadcasted to both port
280   5350 and 5351 to be compatible with client following the
281   version of NAT PMP specification from 2008 or earlier.
282   writepidfile() Overwrite file if already existing
284 2011/05/26:
285   fix in linux/getifstats.c.
286   See http://miniupnp.tuxfamily.org/forum/viewtopic.php?p=2212
287   Implementation of LeaseDuration support.
289 2011/05/23:
290   added get_wan_connection_status_str()
292 2011/05/20:
293   adding ifacewatcher thanks to Alexey Osipov
294   GET /DP.xml is now available. The description has to be completed.
296 2011/05/19:
297   Add getconnstatus.c/.h. Dont always have ConnectionStatus to "Connected"
298   Events for WANIPv6FirewallControll
300 2011/05/16:
301   patches for gentoo linux.
302   generation of the DeviceProtection service description.
304 2011/05/15:
305   Making the SSDP receiving socket work in IPv6 !
307 2011/05/14:
308   Support for HTTP in both IPv6 and IPv4.
309   IPv6 for SSDP receiving socket.
311 2011/05/13:
312   add new options in genconfig.sh (IGD_V2, ENABLE_DP_SERVICE)
313   add global vars ipv6fc_firewall_enabled and ipv6fc_inbound_pinhole_allowed
314   have MACROS for magical values in upnpdescgen.c, add eventing vars for WanIPv6FirewallControl.
315   applied 0001-Cosmetic-changes.patch(see http://miniupnp.tuxfamily.org/forum/viewtopic.php?t=764)
316   applied 0002-Remove-lan-addresses-limit-by-changing-storage-type-.patch
317   replaced some of the urn:schemas-upnp-org:device:* literal strings by macros.
318   adding some support for IP v6. #define ENABLE_IPV6
319   added -fno-strict-aliasing to compile options.
321 2011/05/09:
322   updating upnp descriptions for IGDv2
324 2011/05/07:
325   Adding WANIPv6FirewallContro to upnp description
327 2011/04/30:
328   adding a UPNP_STRICT config macro. Use it now for checking RemoteHost.
329   ENABLE_6FC_SERVICE : add the implementations of WANIPv6FirewallControl actions
331 2011/04/11:
332   preparing getifaddr() for IP v6
333   preparing SSDP stuff for IP v6. Trying to conform to UDA v1.1
335 2011/03/09:
336   Some modifications thanks to Daniel Dickinson to improve OpenWRT
337   build.
338   Fixed some warnings.
340 2011/03/03:
341   Added code to generate devices/services descriptions for IGD v2
342   (to be continued)
344 2011/03/02:
345   improved netfilter/delete_redirect_and_filter_rules() in order
346   to remove the right filter rule, even if it has another index than
347   the nat rule.
349 2011/03/01:
350   clean up an fixes to make netfilter/testiptcrdr compile
352 2011/02/21:
353   Make "Makefile" work under Mac OS X with bsdmake.
354   added get_portmappings_in_range() in ipfwrdr.c
356 2011/02/07:
357   added get_portmappings_in_range() / upnp_get_portmappings_in_range()
359 2011/02/06:
360   Implementation of GetListOfPortMappings
362 2011/01/27:
363   Reverting "fixes" done in linux/iptables code the 2010/09/27.
364   see http://miniupnp.tuxfamily.org/forum/viewtopic.php?t=741
366 2011/01/04:
367   added MINIUPNPD_VERSION in config.h. Taken from VERSION file.
369 VERSION 1.5 : released the 2011/01/01
371 2011/01/01:
372   Started to implement some of the new methods from WANIPConnection v2
374 2010/09/27:
375   Some fixes in the linux/iptables code when
376   miniupnpd_nat_chain <> miniupnpd_forward_chain
378 2010/09/21:
379   Patch to support nfqueue thanks to Colin McFarlane
381 2010/08/07:
382   Update Mac OS X / ipfw stuff from Jardel Weyrich
383   Fix in Makefile.linux for x86_64
385 2010/05/06:
386   Bugfix un CleanNATPMPRules() : see http://miniupnp.tuxfamily.org/forum/viewtopic.php?t=640
388 2010/03/14:
389   Fixing natpmp sockets.
391 2010/03/08:
392   Fix Makefile.linux to compile properly under Mandriva/rh/Fedora with
393     Iptables >= 1.4.3
394   Workaround for bad uptime when started with a bad time set.
396 2010/03/07:
397   Tried to make a OpenBSD version 4.7 compatible code... still some
398   issues.
400 2010/03/06:
401   updates to testobsdrdr
403 2010/03/03:
404   -lip4tc in Makefile.linux.
406 2010/02/15:
407   some more error handling in set_startup_time()
408   silencing some warnings
410 2010/01/14:
411   Open Several sockets for NAT-PMP to make sure the source address
412   of NAT-PMP replies is right.
413   see http://miniupnp.tuxfamily.org/forum/viewtopic.php?t=609
415 2009/12/31:
416   miniupnpdctl now output command line arguments.
417   added a -h option to get help. improved help.
419 2009/12/22:
420   using PRIu64 format to printf u_int64_t
421   Fixing calls to get_redirect_rule_by_index() : ifname should be initialized.
422   Add header lines to miniupnpdctl output
424 2009/11/06:
425   implementing sending of ip address change notification when receiving
426     the signal SIGUSR1
428 VERSION 1.4 : released the 2009/10/30
430 2009/10/10:
431   Integrate IPfilter patch from Roy Marples.
432   Fix Netfilter code for old netfilter :
433     see http://miniupnp.tuxfamily.org/forum/viewtopic.php?t=584
434   trim the description string in reload_from_lease_file()
436 2009/09/21:
437   Fixing unclosed raw sockets bug with netfilter code.
439 2009/09/04:
440   Fixes in ipf code thanks to Roy Marples
441   Enable DragonFly BSD Support thanks to Roy Marples.
442   Allow packager to define default location of config file via CFLAGS
443   Respect $DESTDIR when installing
445 2009/08/20:
446   Adding some support for MacOS X and IPFW
447   SO_REUSEADDR in minissdp.c for SSDP listening socket
449 2009/06/05:
450   unlink lease file in reload_from_lease_file()
452 2009/05/16:
453   Fixed a buffer overflow in ProcessSSDPRequest()
455 2009/05/11:
456   improving genconfig.sh for NetBSD : detecting use of pf or ipf
458 VERSION 1.3 :
459 2009/04/17:
460   working support for iptables >= 1.4.3
462 2009/04/13:
463   work to support iptables-1.4.3 and up
465 2009/04/10:
466   fix in upnpevents_removeSubscriber()
468 2009/02/14:
469   added reload_from_lease_file()
471 2009/02/13:
472   Changes in upnpdescgen.c to allow to remove empty elements
473   strcasecmp instead of strcmp on path comparaisons to allow
474   bugged clients to work
476 2009/01/29:
477   Some minor changes to Makefile
478   improving Makefile.linux in order to build with iptables not properly
479   installed on the system.
481 2009/01/23:
482   Fixing upnpevents thanks to Justin Maggard
484 2008/10/15:
485   getifstats() return -1 when supplied with bad arguments
487 2008/10/11:
488   Fixed NAT-PMP response when IP not allocated to external interface
490 2008/10/09:
491   adding testgetifaddr
492   Reporting Unconnected status when the "external interface" has
493   no IP address assigned. Also added some comments
495 VERSION 1.2 :
497 2008/10/07:
498   updating docs
500 2008/10/06:
501   MiniUPnPd is now able to use MiniSSDPd to manage SSDP M-SEARCH answering
503 2008/10/03:
504   You can now let miniupnpd choose itself the HTTP port used.
506 2008/10/01:
507   Improvements in genconfig.sh for detecting ipf or pf (under FreeBSD)
508   and improve debian/ubuntu stuff.
509   custom chain name patch from :
510     http://miniupnp.tuxfamily.org/forum/viewtopic.php?t=493
512 2008/08/24:
513   added USE_IFNAME_IN_RULES macro that can be disabled in order to
514   remove interface name from rules.
516 2008/07/10:
517   Fixed compilation without ENABLE_L3F_SERVICE
519 2008/04/27:
520   correct UNSUBSCRIBE processing
522 2008/04/25(bis):
523   changed iptables_removeall.sh and iptables_init.sh in order
524   to remove IP from the rules
526 VERSION 1.1 :
528 2008/04/25:
529   Eventing is allmost completly implemented
531 2008/04/24:
532   Correct event handling ?
534 2008/04/08:
535   enabling tag in PF rules. quick can be set off.
537 2008/03/13:
538   implementing event notify
540 2008/03/11:
541   fixing a command line parsing error
543 2008/03/09:
544   optimisations in upnpsoap.c
546 2008/03/08:
547   optimizing upnpsoap.c for size
549 2008/03/06:
550   Worked on the Eventing : generating XML event notifications
551     Send initial notification after subscribe
552   Improved pretty print of testupnpdescgen
553   Reduced Memory usage of upnpdescgen
554   fixed a small bug in the description
556 2008/03/03:
557   Fixed miniupnpd.c for compiling without natpmp support
558   fixed presentationURL not there with L3F
559   fixing lease file creation/modification
561 2008/02/25:
562   Rewrite of Send501() and Send404()
563   More work on events
564   genconfig.sh autodetects pf/ipf
566 2008/02/24:
567   Started to implement UPnP Events. do NOT use it at the moment !
569 2008/02/21:
570   Added support for the Layer3Forwarding Service
571   added init_redirect() and shutdown_redirect() functions
573 2008/02/20:
574   Removed Ext: HTTP header when useless
575   enabled the dummy service by default to please windows XP !
577 2008/02/07:
578   upnp_enable patch by Nikos Mavrogiannopoulos.
579   lease_file patch by Nikos Mavrogiannopoulos.
581 2008/01/29:
582   some changes to Makefile.openwrt
583   use daemon() - daemonize() is still available for systems lacking daemon()
585 VERSION 1.0 :
586 2008/01/27:
587   moved lan_addr to upnpglobalvars.h/.c
588   Adding experimental multiple external IP support.
590 2008/01/22:
591   removed dummy service from description to improve compatibility
592   with emule client
593   Add "secure mode". put runtime flags in the same variable
595 2008/01/14:
596   Fixed a bug in options.c for the parsing of empty lines.
598 2008/01/03:
599   Fixed CleanExpiredNATPMP()
601 2008/01/02:
602   Adding a queue parameter for setting ALTQ in pf
604 2007/12/27:
605   improving some stuff with the PF_ENABLE_FILTER_RULE.
607 2007/12/22:
608   Adding a runtime option to enable/disable NAT-PMP
610 2007/12/20:
611   Added a cache in linux getifstats(). Please enable by editing config.h
613 2007/12/14:
614   Updating an existing NAT-PMP mapping now works
616 2007/12/13:
617   NAT-PMP code now remove expired mappings
618   TCP/UDP where swapped in NAT-PMP code
620 2007/12/04:
621   Adding details to the error message for sendto(udp_notify)
623 2007/11/27:
624   pf code doesn't generate filter rules by default anymore. The
625   #ifdef PF_ENABLE_FILTER_RULES must be uncommented in config.h.
627 2007/11/02:
628   moved some of the prototypes common to all firewalls to commonrdr.h
629   Added functionalities to NAT-PMP
631 2007/11/01:
632   Debugged NAT-PMP code
634 2007/10/28:
635   Cleaning and improving NAT-PMP code
637 2007/10/25:
638   improved the NAT-PMP experimental support
639   updated README and INSTALL files
641 2007/10/24:
642   Adding support for NAT-PMP (from apple !)
644 2007/10/11:
645   Checking the commandline for errors.
647 2007/10/08:
648   Improved the BSD/Solaris Makefile
649   Merging last code from Darren Reed. Solaris/IPF should work now !
650   added a man page.
652 2007/10/07:
653   Adding Darren Reed code for ipf.
655 2007/10/06:
656   Adding SunOS support thanks to Darren Reed.
657   Reorganizing os/firewall dependent code thanks to Darren Reed.
659 2007/09/27:
660   linux make install support PREFIX variable
662 2007/09/25:
663   reorganizing LAN sockets/address to improve multi LAN support.
664   SSDP announces are sent to all configured networks.
665   SSDP responses are "customized" by subnetwork.
667 2007/09/24:
668   prototype code to remove unused rules
669   miniupnpdctl now display current rules
670   synchronised add_filter_rule2() prototype between pf and netfilter code.
672 2007/09/19:
673   Correctly filling the Cache-control header in SSDP packets
675 2007/08/28:
676   update PFRULE_INOUT_COUNTS detection for FreeBSD
678 2007/08/27:
679   update version in genconfig.sh
680   do not error when a duplicate redirection is requested.
682 2007/07/16:
683   really fixed the compilation bug with linux>=2.6.22
685 2007/07/04:
686   fixed an error in options.c that prevented to use packet_log option
688 2007/07/03:
689   improved genconfig.sh
690   fixed a compilation bug with linux>=2.6.22
692 2007/06/22:
693   added PFRULE_INOUT_COUNTS macro to enable separate in/out packet and
694   bytes counts in pf for OpenBSD >= 3.8
696 2007/06/15:
697   removed a possible racecondition in writepidfile()
699 2007/06/12:
700   improved genconfig.sh : no more "echo -e", use lsb_release when available
702 2007/06/11:
703   get_redirect_rule*() functions now return some statistics about
704   rule usage (bytes and packets)
706 2007/06/07:
707   Fixed the get_redirect_desc() in the linux/netfilter code
709 2007/06/05:
710   Clean up init code in miniupnpd.c
711   Added a syslog message in SoapError()
713 2007/06/04:
714   Now store redirection descriptions in the linux/netfilter code
716 2007/05/21:
717   Answers to SSDP M-SEARCH requests with ST: ssdp:all
718   added make install to Makefile.linux
720 2007/05/10:
721   Fixed a bug int the DeletePortMapping linux/netfilter implementation
722   It was allways the 1st rule that was deleted.
724 2007/04/26:
725   Fixed config.h.openwrt
727 2007/04/16:
728   added something in the INSTALL file about the FreeBSD send(udp_notify)
729   problem fix (allowing 239.0.0.0/8 explicitely in pf.conf)
731 2007/03/30:
732   added setsockopt(s, SOL_SOCKET, SO_BROADCAST ...) for broadcasting
733   socket
735 2007/03/17:
736   Fixed filter rule under linux : it was using wrong port !
737   thanks to Wesley W. Terpstra
739 2007/03/01:
740   Moved some of the SSDP code from miniupnpd.c to minissdp.c
742 2007/02/28:
743   creating miniupnpdctl
745 2007/02/26:
746   use LOG_MINIUPNPD macro for openlog()
747   simplify miniupndShutdown()
749 2007/02/09:
750   improved genconfig.h
751   Added stuff to change the pf rule "rdr" to "rdr pass"
753 2007/02/07:
754   Corrected Bytes per seconds to bits per second.
755   Ryan cleaned up comments and typos.
756   Ryan cleaned up daemonize stuff.
757   Ryan added possibility to configure model number and serial number
759 2007/01/30:
760   ryan improved the robustness of most UPnP Soap methods
761   I added a target in the Makefiles to properly generate an uuid using
762   command line tools.
763   Improved configuration file parsing.
765 2007/01/29:
766   Adding uuid option in miniupnpd.conf
768 2007/01/27:
769   Added upnppermissions stuff : adding some security to UPnP !
770   fixed XML description thanks to Ryan Wagoner
771   improved QueryStateVariable thanks to Ryan Wagoner
773 2007/01/22:
774   use getifaddr() for each GetExtenalIPAddress() Call.
775   We can change the ip during execution without pb
777 2007/01/17:
778   Lots of code cleanup
780 2007/01/12:
781   Fixed a nasty bug in the linux/netfilter version of get_filter_rule()
783 2007/01/11:
784   Improved the handling of the miniupnpd.conf file.
785   added -f option to choose which config file to read.
787 2007/01/10:
788   Fixed potential bugs with ClearNameValueList()
790 2007/01/08:
791   All by Ryan Wagoner :
792   - coding style and comments cleanup
793   - using now option file miniupnpd.conf
795 2007/01/03:
796   changed "xx active incoming HTTP connections" msg
798 2007/01/02:
799   Patch from Ryan Wagoner :
800   - no need to open sockets if we can't set the error handlers
801   - format the usage so it fits nicely on a standard size terminal
802   - fix up log_err message so they have the same format and you know what
803     they are related to
804   - use same "white space" style throughout
805   - on shutdown no need to continue if opening socket or setsockopt fails
807 2006/12/14:
808   reduce amount of log lines (keeping the same information)
810 2006/12/07:
811   Fixed Makefiles
812   fixed typos in logs
813   version 1.0-RC1 released
815 2006/12/02:
816   moved strings from upnpdescgen.c to upnpdescstrings.h for
817   easier modification
818   Server: HTTP header now comes from a #define
819   added a compilation-time generated config.h
821 2006/11/30:
822   minixml updated. should have no impact
823   Added support for presentationURL with -w switch
824   implemented getifstats() for linux. Added testgetifstats program
825   improved error handling in getifstats() BSD
827 2006/11/26:
828   no need to have miniupnpc sources to compile miniupnpd.
829   Makefile.openwrt updated
830   Closing sockets on exit thanks to Ryan Wagoner
832 2006/11/23:
833   now handling signal SIGINT
834   setting HTTP socket with REUSEADDR thanks to Ryan Wagoner
835   daemon now tested on a Linksys WRT54G device running OpenWRT !
837 2006/11/21:
838   disabling rtableid in pf code.
840 2006/11/22:
841   Also responds on M-SEARCH with the uuid
843 2006/11/20:
844   gaining some space in upnpsoap.c
846 2006/11/19:
847   Cleaning up code to comply with ANSI C89
849 2006/11/17:
850   Linux version now deleting both nat and accept rules
851   implemented -U option under Linux
853 2006/11/16:
854   implemented delete_redirect_rule() for linux
855   returning error 714 in DeletePortMapping() when needed
857 2006/11/12:
858   The linux/netfilter version should now WORK !
859   fix in the writepidfile() function. open with a mode !
861 2006/11/10:
862   fixing the XML description generation for big endian machines
863   working on the linux/netfilter port
865 2006/11/09:
866   improved a lot the handling of HTTP error cases
868 2006/11/08:
869   Tried to make the Makefile compatible with both BSDmake
870   and GNUmake. It was hard because of $^ and $<
872 2006/11/07:
873   Makefile compatible with BSD make
874   make install target.
875   getifstats.c compatible with both OpenBSD and FreeBSD.
877 2006/11/06:
878   added getifstats.c for openBSD. May not work under FreeBSD ?
879   now reports bytes/packets sent/received
880   reporting bitrates
881   possibility to report system uptime
883 2006/10/29:
884   added a -L option to enable loggin (is off by default now).
886 2006/10/28:
887   Patch by Ryan Wagoner to correct the XML description (was NewUpTime
888   instead of NewUptime) and implement uptime.
889   Trying to fix the memory leak. Added some comments
890   added a -d option for debugging purpose
891   Tnaks to valgrind (under linux!) I removed a small memory access error.
893 2006/10/27:
894   Thanks to a patch sent by Michael van Tellingen, miniupnpd is
895   now ignoring NOTIFY packets sent by other devices and is
896   writing is own pid to /var/run/miniupnpd.pid
898 2006/10/23:
899   Allways set sendEvents="no" in XML description (was causing
900   pb with winXP as SUBSCRIBE is not implemented)
902 2006/10/22:
903   added translation from hostname to IP in the AddPortMapping() method
904   Thanks to Ryan Wagoner.
906 2006/10/18:
907   Added an INSTALL file
909 2006/10/13:
910   Added the possibility to change the notify interval
912 2006/09/29:
913   Improved compliance of the XML Descriptions
914   pretty print for testupnpdescgen
916 2006/09/25:
917   improved the Error 404 response.
918   Better serviceType and serviceId for dummy service...
920 2006/09/24:
921   updating the XML description generator
923 2006/09/18:
924   Thanks to Rick Richard, support for SSDP "alive" and "byebye" notifications
925   was added. The -u options was also added. The SSDP response are now
926   improved.
927   The -o option is now working (to force a specific external IP address).
928   The Soap Methods errors are correctly responded (401 Invalid Action)
930 2006/09/09:
931   Added code to handle filter rules. Thanks to Seth Mos (pfsense.com)
932   storing the descriptions in the label of the rule
934 2006/09/02:
935   improved the generation of the XML descriptions.
936   I still need to add allowed values to variables.
938 2006/07/29:
939   filtering SSDP requests and responding with same ST: field
941 2006/07/25:
942   Added a dummy description for the WANDevice
944 2006/07/20:
945   Command line arguments processing
946   Added possibility to listen internally on several interfaces