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