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