Add PPTP runtime and GUI
[tomato.git] / release / src / router / miniupnpd / Changelog.txt
bloba536abba3619648b7356e7c6f559926bb0614ac6
1 $Id: Changelog.txt,v 1.239 2011/07/25 16:06:11 nanard Exp $
3 VERSION 1.6 : released the 2011/07/25
5 2011/07/25:
6   Update doc for version 1.6
8 2011/07/15:
9   Fixing code with MULTIPLE_EXTERNAL_IP defined.
11 2011/06/27:
12   IPv6 support for UPnP events.
13   Security checks in UPnP events.
15 2011/06/22:
16   Remote host for GetListOfPortMappings
17   Remote host support for ipfw (tested on Mac OS X)
19 2011/06/20:
20   support for iptables-1.4.11.1
22 2011/06/18:
23   Remote host support for pf version
25 2011/06/04:
26   Supporting RemoteHost (mandatory in IGD v2)
28 2011/06/03:
29   Enabling events by default
31 2011/06/01:
32   Fixing Timeout missing in SUBSCRIBE renewal responses
33   (thanks to Pranesh Kulkarni)
34   Added comments about changes between IGD v1 and IGD v2
36 2011/05/28:
37   Description and leaseduration kept in ipfw version of the code.
38   Fixing ipfw code after testing under Mac OS X 10.6.7 (darwin 10.7.0)
40 2011/05/27:
41   Finishing and testing LeaseDuration support under OpenBSD.
42   Changing NAT-PMP port mapping lifetime support to match
43   lease duration support.
44   NAT-PMP address change announce broadcasted to both port
45   5350 and 5351 to be compatible with client following the
46   version of NAT PMP specification from 2008 or earlier.
47   writepidfile() Overwrite file if already existing
49 2011/05/26:
50   fix in linux/getifstats.c.
51   See http://miniupnp.tuxfamily.org/forum/viewtopic.php?p=2212
52   Implementation of LeaseDuration support.
54 2011/05/23:
55   added get_wan_connection_status_str()
57 2011/05/20:
58   adding ifacewatcher thanks to Alexey Osipov
59   GET /DP.xml is now available. The description has to be completed.
61 2011/05/19:
62   Add getconnstatus.c/.h. Dont always have ConnectionStatus to "Connected"
63   Events for WANIPv6FirewallControll
65 2011/05/16:
66   patches for gentoo linux.
67   generation of the DeviceProtection service description.
69 2011/05/15:
70   Making the SSDP receiving socket work in IPv6 !
72 2011/05/14:
73   Support for HTTP in both IPv6 and IPv4.
74   IPv6 for SSDP receiving socket.
76 2011/05/13:
77   add new options in genconfig.sh (IGD_V2, ENABLE_DP_SERVICE)
78   add global vars ipv6fc_firewall_enabled and ipv6fc_inbound_pinhole_allowed
79   have MACROS for magical values in upnpdescgen.c, add eventing vars for WanIPv6FirewallControl.
80   applied 0001-Cosmetic-changes.patch(see http://miniupnp.tuxfamily.org/forum/viewtopic.php?t=764)
81   applied 0002-Remove-lan-addresses-limit-by-changing-storage-type-.patch
82   replaced some of the urn:schemas-upnp-org:device:* literal strings by macros.
83   adding some support for IP v6. #define ENABLE_IPV6
84   added -fno-strict-aliasing to compile options.
86 2011/05/09:
87   updating upnp descriptions for IGDv2
89 2011/05/07:
90   Adding WANIPv6FirewallContro to upnp description
92 2011/04/30:
93   adding a UPNP_STRICT config macro. Use it now for checking RemoteHost.
94   ENABLE_6FC_SERVICE : add the implementations of WANIPv6FirewallControl actions
96 2011/04/11:
97   preparing getifaddr() for IP v6
98   preparing SSDP stuff for IP v6. Trying to conform to UDA v1.1
100 2011/03/09:
101   Some modifications thanks to Daniel Dickinson to improve OpenWRT
102   build.
103   Fixed some warnings.
105 2011/03/03:
106   Added code to generate devices/services descriptions for IGD v2
107   (to be continued)
109 2011/03/02:
110   improved netfilter/delete_redirect_and_filter_rules() in order
111   to remove the right filter rule, even if it has another index than
112   the nat rule.
114 2011/03/01:
115   clean up an fixes to make netfilter/testiptcrdr compile
117 2011/02/21:
118   Make "Makefile" work under Mac OS X with bsdmake.
119   added get_portmappings_in_range() in ipfwrdr.c
121 2011/02/07:
122   added get_portmappings_in_range() / upnp_get_portmappings_in_range()
124 2011/02/06:
125   Implementation of GetListOfPortMappings
127 2011/01/27:
128   Reverting "fixes" done in linux/iptables code the 2010/09/27.
129   see http://miniupnp.tuxfamily.org/forum/viewtopic.php?t=741
131 2011/01/04:
132   added MINIUPNPD_VERSION in config.h. Taken from VERSION file.
134 VERSION 1.5 : released the 2011/01/01
136 2011/01/01:
137   Started to implement some of the new methods from WANIPConnection v2
139 2010/09/27:
140   Some fixes in the linux/iptables code when
141   miniupnpd_nat_chain <> miniupnpd_forward_chain
143 2010/09/21:
144   Patch to support nfqueue thanks to Colin McFarlane
146 2010/08/07:
147   Update Mac OS X / ipfw stuff from Jardel Weyrich
148   Fix in Makefile.linux for x86_64
150 2010/05/06:
151   Bugfix un CleanNATPMPRules() : see http://miniupnp.tuxfamily.org/forum/viewtopic.php?t=640
153 2010/03/14:
154   Fixing natpmp sockets.
156 2010/03/08:
157   Fix Makefile.linux to compile properly under Mandriva/rh/Fedora with
158     Iptables >= 1.4.3
159   Workaround for bad uptime when started with a bad time set.
161 2010/03/07:
162   Tried to make a OpenBSD version 4.7 compatible code... still some
163   issues.
165 2010/03/06:
166   updates to testobsdrdr
168 2010/03/03:
169   -lip4tc in Makefile.linux.
171 2010/02/15:
172   some more error handling in set_startup_time()
173   silencing some warnings
175 2010/01/14:
176   Open Several sockets for NAT-PMP to make sure the source address
177   of NAT-PMP replies is right.
178   see http://miniupnp.tuxfamily.org/forum/viewtopic.php?t=609
180 2009/12/31:
181   miniupnpdctl now output command line arguments.
182   added a -h option to get help. improved help.
184 2009/12/22:
185   using PRIu64 format to printf u_int64_t
186   Fixing calls to get_redirect_rule_by_index() : ifname should be initialized.
187   Add header lines to miniupnpdctl output
189 2009/11/06:
190   implementing sending of ip address change notification when receiving
191     the signal SIGUSR1
193 VERSION 1.4 : released the 2009/10/30
195 2009/10/10:
196   Integrate IPfilter patch from Roy Marples.
197   Fix Netfilter code for old netfilter :
198     see http://miniupnp.tuxfamily.org/forum/viewtopic.php?t=584
199   trim the description string in reload_from_lease_file()
201 2009/09/21:
202   Fixing unclosed raw sockets bug with netfilter code.
204 2009/09/04:
205   Fixes in ipf code thanks to Roy Marples
206   Enable DragonFly BSD Support thanks to Roy Marples.
207   Allow packager to define default location of config file via CFLAGS
208   Respect $DESTDIR when installing
210 2009/08/20:
211   Adding some support for MacOS X and IPFW
212   SO_REUSEADDR in minissdp.c for SSDP listening socket
214 2009/06/05:
215   unlink lease file in reload_from_lease_file()
217 2009/05/16:
218   Fixed a buffer overflow in ProcessSSDPRequest()
220 2009/05/11:
221   improving genconfig.sh for NetBSD : detecting use of pf or ipf
223 VERSION 1.3 :
224 2009/04/17:
225   working support for iptables >= 1.4.3
227 2009/04/13:
228   work to support iptables-1.4.3 and up
230 2009/04/10:
231   fix in upnpevents_removeSubscriber() 
233 2009/02/14:
234   added reload_from_lease_file()
236 2009/02/13:
237   Changes in upnpdescgen.c to allow to remove empty elements
238   strcasecmp instead of strcmp on path comparaisons to allow
239   bugged clients to work
241 2009/01/29:
242   Some minor changes to Makefile
243   improving Makefile.linux in order to build with iptables not properly 
244   installed on the system.
246 2009/01/23:
247   Fixing upnpevents thanks to Justin Maggard
249 2008/10/15:
250   getifstats() return -1 when supplied with bad arguments
252 2008/10/11:
253   Fixed NAT-PMP response when IP not allocated to external interface
255 2008/10/09:
256   adding testgetifaddr
257   Reporting Unconnected status when the "external interface" has
258   no IP address assigned. Also added some comments
260 VERSION 1.2 :
262 2008/10/07:
263   updating docs
265 2008/10/06:
266   MiniUPnPd is now able to use MiniSSDPd to manage SSDP M-SEARCH answering
268 2008/10/03:
269   You can now let miniupnpd choose itself the HTTP port used.
271 2008/10/01:
272   Improvements in genconfig.sh for detecting ipf or pf (under FreeBSD)
273   and improve debian/ubuntu stuff.
274   custom chain name patch from : 
275     http://miniupnp.tuxfamily.org/forum/viewtopic.php?t=493
277 2008/08/24:
278   added USE_IFNAME_IN_RULES macro that can be disabled in order to
279   remove interface name from rules.
281 2008/07/10:
282   Fixed compilation without ENABLE_L3F_SERVICE
284 2008/04/27:
285   correct UNSUBSCRIBE processing
287 2008/04/25(bis):
288   changed iptables_removeall.sh and iptables_init.sh in order
289   to remove IP from the rules
291 VERSION 1.1 :
293 2008/04/25:
294   Eventing is allmost completly implemented
296 2008/04/24:
297   Correct event handling ?
299 2008/04/08:
300   enabling tag in PF rules. quick can be set off.
302 2008/03/13:
303   implementing event notify
305 2008/03/11:
306   fixing a command line parsing error
308 2008/03/09:
309   optimisations in upnpsoap.c
311 2008/03/08:
312   optimizing upnpsoap.c for size
314 2008/03/06:
315   Worked on the Eventing : generating XML event notifications
316     Send initial notification after subscribe
317   Improved pretty print of testupnpdescgen
318   Reduced Memory usage of upnpdescgen
319   fixed a small bug in the description
321 2008/03/03:
322   Fixed miniupnpd.c for compiling without natpmp support 
323   fixed presentationURL not there with L3F
324   fixing lease file creation/modification
326 2008/02/25:
327   Rewrite of Send501() and Send404()
328   More work on events
329   genconfig.sh autodetects pf/ipf
331 2008/02/24:
332   Started to implement UPnP Events. do NOT use it at the moment !
334 2008/02/21:
335   Added support for the Layer3Forwarding Service
336   added init_redirect() and shutdown_redirect() functions
338 2008/02/20:
339   Removed Ext: HTTP header when useless
340   enabled the dummy service by default to please windows XP !
342 2008/02/07:
343   upnp_enable patch by Nikos Mavrogiannopoulos.
344   lease_file patch by Nikos Mavrogiannopoulos.
346 2008/01/29:
347   some changes to Makefile.openwrt
348   use daemon() - daemonize() is still available for systems lacking daemon()
350 VERSION 1.0 :
351 2008/01/27:
352   moved lan_addr to upnpglobalvars.h/.c
353   Adding experimental multiple external IP support.
355 2008/01/22:
356   removed dummy service from description to improve compatibility
357   with emule client
358   Add "secure mode". put runtime flags in the same variable
360 2008/01/14:
361   Fixed a bug in options.c for the parsing of empty lines.
363 2008/01/03:
364   Fixed CleanExpiredNATPMP()
366 2008/01/02:
367   Adding a queue parameter for setting ALTQ in pf
369 2007/12/27:
370   improving some stuff with the PF_ENABLE_FILTER_RULE.
372 2007/12/22:
373   Adding a runtime option to enable/disable NAT-PMP
375 2007/12/20:
376   Added a cache in linux getifstats(). Please enable by editing config.h
378 2007/12/14:
379   Updating an existing NAT-PMP mapping now works
381 2007/12/13:
382   NAT-PMP code now remove expired mappings
383   TCP/UDP where swapped in NAT-PMP code
385 2007/12/04:
386   Adding details to the error message for sendto(udp_notify)
388 2007/11/27:
389   pf code doesn't generate filter rules by default anymore. The
390   #ifdef PF_ENABLE_FILTER_RULES must be uncommented in config.h.
392 2007/11/02:
393   moved some of the prototypes common to all firewalls to commonrdr.h
394   Added functionalities to NAT-PMP
396 2007/11/01:
397   Debugged NAT-PMP code
399 2007/10/28:
400   Cleaning and improving NAT-PMP code
402 2007/10/25:
403   improved the NAT-PMP experimental support
404   updated README and INSTALL files
406 2007/10/24:
407   Adding support for NAT-PMP (from apple !)
409 2007/10/11:
410   Checking the commandline for errors.
412 2007/10/08:
413   Improved the BSD/Solaris Makefile
414   Merging last code from Darren Reed. Solaris/IPF should work now !
415   added a man page.
417 2007/10/07:
418   Adding Darren Reed code for ipf.
420 2007/10/06:
421   Adding SunOS support thanks to Darren Reed.
422   Reorganizing os/firewall dependent code thanks to Darren Reed.
424 2007/09/27:
425   linux make install support PREFIX variable
427 2007/09/25:
428   reorganizing LAN sockets/address to improve multi LAN support.
429   SSDP announces are sent to all configured networks.
430   SSDP responses are "customized" by subnetwork.
432 2007/09/24:
433   prototype code to remove unused rules
434   miniupnpdctl now display current rules
435   synchronised add_filter_rule2() prototype between pf and netfilter code.
437 2007/09/19:
438   Correctly filling the Cache-control header in SSDP packets
440 2007/08/28:
441   update PFRULE_INOUT_COUNTS detection for FreeBSD
443 2007/08/27:
444   update version in genconfig.sh
445   do not error when a duplicate redirection is requested.
447 2007/07/16:
448   really fixed the compilation bug with linux>=2.6.22
450 2007/07/04:
451   fixed an error in options.c that prevented to use packet_log option
453 2007/07/03:
454   improved genconfig.sh
455   fixed a compilation bug with linux>=2.6.22
457 2007/06/22:
458   added PFRULE_INOUT_COUNTS macro to enable separate in/out packet and
459   bytes counts in pf for OpenBSD >= 3.8
461 2007/06/15:
462   removed a possible racecondition in writepidfile()
464 2007/06/12:
465   improved genconfig.sh : no more "echo -e", use lsb_release when available
467 2007/06/11:
468   get_redirect_rule*() functions now return some statistics about
469   rule usage (bytes and packets)
471 2007/06/07:
472   Fixed the get_redirect_desc() in the linux/netfilter code
474 2007/06/05:
475   Clean up init code in miniupnpd.c
476   Added a syslog message in SoapError()
478 2007/06/04:
479   Now store redirection descriptions in the linux/netfilter code
481 2007/05/21:
482   Answers to SSDP M-SEARCH requests with ST: ssdp:all
483   added make install to Makefile.linux
485 2007/05/10:
486   Fixed a bug int the DeletePortMapping linux/netfilter implementation
487   It was allways the 1st rule that was deleted.
489 2007/04/26:
490   Fixed config.h.openwrt
492 2007/04/16:
493   added something in the INSTALL file about the FreeBSD send(udp_notify)
494   problem fix (allowing 239.0.0.0/8 explicitely in pf.conf)
496 2007/03/30:
497   added setsockopt(s, SOL_SOCKET, SO_BROADCAST ...) for broadcasting
498   socket
500 2007/03/17:
501   Fixed filter rule under linux : it was using wrong port !
502   thanks to Wesley W. Terpstra
504 2007/03/01:
505   Moved some of the SSDP code from miniupnpd.c to minissdp.c
507 2007/02/28:
508   creating miniupnpdctl
510 2007/02/26:
511   use LOG_MINIUPNPD macro for openlog()
512   simplify miniupndShutdown()
514 2007/02/09:
515   improved genconfig.h
516   Added stuff to change the pf rule "rdr" to "rdr pass"
518 2007/02/07:
519   Corrected Bytes per seconds to bits per second.
520   Ryan cleaned up comments and typos.
521   Ryan cleaned up daemonize stuff.
522   Ryan added possibility to configure model number and serial number
524 2007/01/30:
525   ryan improved the robustness of most UPnP Soap methods
526   I added a target in the Makefiles to properly generate an uuid using
527   command line tools.
528   Improved configuration file parsing.
530 2007/01/29:
531   Adding uuid option in miniupnpd.conf
533 2007/01/27:
534   Added upnppermissions stuff : adding some security to UPnP !
535   fixed XML description thanks to Ryan Wagoner
536   improved QueryStateVariable thanks to Ryan Wagoner
538 2007/01/22:
539   use getifaddr() for each GetExtenalIPAddress() Call.
540   We can change the ip during execution without pb
542 2007/01/17:
543   Lots of code cleanup
545 2007/01/12:
546   Fixed a nasty bug in the linux/netfilter version of get_filter_rule()
548 2007/01/11:
549   Improved the handling of the miniupnpd.conf file.
550   added -f option to choose which config file to read.
552 2007/01/10:
553   Fixed potential bugs with ClearNameValueList()
555 2007/01/08:
556   All by Ryan Wagoner :
557   - coding style and comments cleanup
558   - using now option file miniupnpd.conf
560 2007/01/03:
561   changed "xx active incoming HTTP connections" msg
563 2007/01/02:
564   Patch from Ryan Wagoner :
565   - no need to open sockets if we can't set the error handlers
566   - format the usage so it fits nicely on a standard size terminal
567   - fix up log_err message so they have the same format and you know what
568     they are related to
569   - use same "white space" style throughout
570   - on shutdown no need to continue if opening socket or setsockopt fails
572 2006/12/14:
573   reduce amount of log lines (keeping the same information)
575 2006/12/07:
576   Fixed Makefiles
577   fixed typos in logs
578   version 1.0-RC1 released
580 2006/12/02:
581   moved strings from upnpdescgen.c to upnpdescstrings.h for
582   easier modification
583   Server: HTTP header now comes from a #define
584   added a compilation-time generated config.h
586 2006/11/30:
587   minixml updated. should have no impact
588   Added support for presentationURL with -w switch
589   implemented getifstats() for linux. Added testgetifstats program
590   improved error handling in getifstats() BSD 
592 2006/11/26:
593   no need to have miniupnpc sources to compile miniupnpd.
594   Makefile.openwrt updated
595   Closing sockets on exit thanks to Ryan Wagoner
597 2006/11/23:
598   now handling signal SIGINT
599   setting HTTP socket with REUSEADDR thanks to Ryan Wagoner
600   daemon now tested on a Linksys WRT54G device running OpenWRT !
602 2006/11/21:
603   disabling rtableid in pf code.
605 2006/11/22:
606   Also responds on M-SEARCH with the uuid
608 2006/11/20:
609   gaining some space in upnpsoap.c
611 2006/11/19:
612   Cleaning up code to comply with ANSI C89
614 2006/11/17:
615   Linux version now deleting both nat and accept rules
616   implemented -U option under Linux
618 2006/11/16:
619   implemented delete_redirect_rule() for linux
620   returning error 714 in DeletePortMapping() when needed
622 2006/11/12:
623   The linux/netfilter version should now WORK !
624   fix in the writepidfile() function. open with a mode !
626 2006/11/10:
627   fixing the XML description generation for big endian machines
628   working on the linux/netfilter port
630 2006/11/09:
631   improved a lot the handling of HTTP error cases
633 2006/11/08:
634   Tried to make the Makefile compatible with both BSDmake
635   and GNUmake. It was hard because of $^ and $<
637 2006/11/07:
638   Makefile compatible with BSD make
639   make install target.
640   getifstats.c compatible with both OpenBSD and FreeBSD.
642 2006/11/06:
643   added getifstats.c for openBSD. May not work under FreeBSD ?
644   now reports bytes/packets sent/received
645   reporting bitrates
646   possibility to report system uptime
648 2006/10/29:
649   added a -L option to enable loggin (is off by default now).
651 2006/10/28:
652   Patch by Ryan Wagoner to correct the XML description (was NewUpTime
653   instead of NewUptime) and implement uptime.
654   Trying to fix the memory leak. Added some comments
655   added a -d option for debugging purpose
656   Tnaks to valgrind (under linux!) I removed a small memory access error.
658 2006/10/27:
659   Thanks to a patch sent by Michael van Tellingen, miniupnpd is
660   now ignoring NOTIFY packets sent by other devices and is
661   writing is own pid to /var/run/miniupnpd.pid
663 2006/10/23:
664   Allways set sendEvents="no" in XML description (was causing
665   pb with winXP as SUBSCRIBE is not implemented)
667 2006/10/22:
668   added translation from hostname to IP in the AddPortMapping() method
669   Thanks to Ryan Wagoner.
671 2006/10/18:
672   Added an INSTALL file
674 2006/10/13:
675   Added the possibility to change the notify interval
677 2006/09/29:
678   Improved compliance of the XML Descriptions
679   pretty print for testupnpdescgen
681 2006/09/25:
682   improved the Error 404 response.
683   Better serviceType and serviceId for dummy service...
685 2006/09/24:
686   updating the XML description generator
688 2006/09/18:
689   Thanks to Rick Richard, support for SSDP "alive" and "byebye" notifications
690   was added. The -u options was also added. The SSDP response are now
691   improved.
692   The -o option is now working (to force a specific external IP address).
693   The Soap Methods errors are correctly responded (401 Invalid Action)
695 2006/09/09:
696   Added code to handle filter rules. Thanks to Seth Mos (pfsense.com)
697   storing the descriptions in the label of the rule
699 2006/09/02:
700   improved the generation of the XML descriptions.
701   I still need to add allowed values to variables.
703 2006/07/29:
704   filtering SSDP requests and responding with same ST: field
706 2006/07/25:
707   Added a dummy description for the WANDevice 
709 2006/07/20:
710   Command line arguments processing
711   Added possibility to listen internally on several interfaces