Miniupnpd ver 1.5 (20110309)
[tomato.git] / release / src / router / miniupnpd / Changelog.txt
blobcd5f41da2574e0b82a81c3e0909decdec414a50f
1 $Id: Changelog.txt,v 1.211 2011/03/09 15:27:41 nanard Exp $
3 2011/03/09:
4   Some modifications thanks to Daniel Dickinson to improve OpenWRT
5   build.
6   Fixed some warnings.
8 2011/03/03:
9   Added code to generate devices/services descriptions for IGD v2
10   (to be continued)
12 2011/03/02:
13   improved netfilter/delete_redirect_and_filter_rules() in order
14   to remove the right filter rule, even if it has another index than
15   the nat rule.
17 2011/03/01:
18   clean up an fixes to make netfilter/testiptcrdr compile
20 2011/02/21:
21   Make "Makefile" work under Mac OS X with bsdmake.
22   added get_portmappings_in_range() in ipfwrdr.c
24 2011/02/07:
25   added get_portmappings_in_range() / upnp_get_portmappings_in_range()
27 2011/02/06:
28   Implementation of GetListOfPortMappings
30 2011/01/27:
31   Reverting "fixes" done in linux/iptables code the 2010/09/27.
32   see http://miniupnp.tuxfamily.org/forum/viewtopic.php?t=741
34 2011/01/04:
35   added MINIUPNPD_VERSION in config.h. Taken from VERSION file.
37 VERSION 1.5 : released the 2011/01/01
39 2011/01/01:
40   Started to implement some of the new methods from WANIPConnection v2
42 2010/09/27:
43   Some fixes in the linux/iptables code when
44   miniupnpd_nat_chain <> miniupnpd_forward_chain
46 2010/09/21:
47   Patch to support nfqueue thanks to Colin McFarlane
49 2010/08/07:
50   Update Mac OS X / ipfw stuff from Jardel Weyrich
51   Fix in Makefile.linux for x86_64
53 2010/05/06:
54   Bugfix un CleanNATPMPRules() : see http://miniupnp.tuxfamily.org/forum/viewtopic.php?t=640
56 2010/03/14:
57   Fixing natpmp sockets.
59 2010/03/08:
60   Fix Makefile.linux to compile properly under Mandriva/rh/Fedora with
61     Iptables >= 1.4.3
62   Workaround for bad uptime when started with a bad time set.
64 2010/03/07:
65   Tried to make a OpenBSD version 4.7 compatible code... still some
66   issues.
68 2010/03/06:
69   updates to testobsdrdr
71 2010/03/03:
72   -lip4tc in Makefile.linux.
74 2010/02/15:
75   some more error handling in set_startup_time()
76   silencing some warnings
78 2010/01/14:
79   Open Several sockets for NAT-PMP to make sure the source address
80   of NAT-PMP replies is right.
81   see http://miniupnp.tuxfamily.org/forum/viewtopic.php?t=609
83 2009/12/31:
84   miniupnpdctl now output command line arguments.
85   added a -h option to get help. improved help.
87 2009/12/22:
88   using PRIu64 format to printf u_int64_t
89   Fixing calls to get_redirect_rule_by_index() : ifname should be initialized.
90   Add header lines to miniupnpdctl output
92 2009/11/06:
93   implementing sending of ip address change notification when receiving
94     the signal SIGUSR1
96 VERSION 1.4 : released the 2009/10/30
98 2009/10/10:
99   Integrate IPfilter patch from Roy Marples.
100   Fix Netfilter code for old netfilter :
101     see http://miniupnp.tuxfamily.org/forum/viewtopic.php?t=584
102   trim the description string in reload_from_lease_file()
104 2009/09/21:
105   Fixing unclosed raw sockets bug with netfilter code.
107 2009/09/04:
108   Fixes in ipf code thanks to Roy Marples
109   Enable DragonFly BSD Support thanks to Roy Marples.
110   Allow packager to define default location of config file via CFLAGS
111   Respect $DESTDIR when installing
113 2009/08/20:
114   Adding some support for MacOS X and IPFW
115   SO_REUSEADDR in minissdp.c for SSDP listening socket
117 2009/06/05:
118   unlink lease file in reload_from_lease_file()
120 2009/05/16:
121   Fixed a buffer overflow in ProcessSSDPRequest()
123 2009/05/11:
124   improving genconfig.sh for NetBSD : detecting use of pf or ipf
126 VERSION 1.3 :
127 2009/04/17:
128   working support for iptables >= 1.4.3
130 2009/04/13:
131   work to support iptables-1.4.3 and up
133 2009/04/10:
134   fix in upnpevents_removeSubscriber() 
136 2009/02/14:
137   added reload_from_lease_file()
139 2009/02/13:
140   Changes in upnpdescgen.c to allow to remove empty elements
141   strcasecmp instead of strcmp on path comparaisons to allow
142   bugged clients to work
144 2009/01/29:
145   Some minor changes to Makefile
146   improving Makefile.linux in order to build with iptables not properly 
147   installed on the system.
149 2009/01/23:
150   Fixing upnpevents thanks to Justin Maggard
152 2008/10/15:
153   getifstats() return -1 when supplied with bad arguments
155 2008/10/11:
156   Fixed NAT-PMP response when IP not allocated to external interface
158 2008/10/09:
159   adding testgetifaddr
160   Reporting Unconnected status when the "external interface" has
161   no IP address assigned. Also added some comments
163 VERSION 1.2 :
165 2008/10/07:
166   updating docs
168 2008/10/06:
169   MiniUPnPd is now able to use MiniSSDPd to manage SSDP M-SEARCH answering
171 2008/10/03:
172   You can now let miniupnpd choose itself the HTTP port used.
174 2008/10/01:
175   Improvements in genconfig.sh for detecting ipf or pf (under FreeBSD)
176   and improve debian/ubuntu stuff.
177   custom chain name patch from : 
178     http://miniupnp.tuxfamily.org/forum/viewtopic.php?t=493
180 2008/08/24:
181   added USE_IFNAME_IN_RULES macro that can be disabled in order to
182   remove interface name from rules.
184 2008/07/10:
185   Fixed compilation without ENABLE_L3F_SERVICE
187 2008/04/27:
188   correct UNSUBSCRIBE processing
190 2008/04/25(bis):
191   changed iptables_removeall.sh and iptables_init.sh in order
192   to remove IP from the rules
194 VERSION 1.1 :
196 2008/04/25:
197   Eventing is allmost completly implemented
199 2008/04/24:
200   Correct event handling ?
202 2008/04/08:
203   enabling tag in PF rules. quick can be set off.
205 2008/03/13:
206   implementing event notify
208 2008/03/11:
209   fixing a command line parsing error
211 2008/03/09:
212   optimisations in upnpsoap.c
214 2008/03/08:
215   optimizing upnpsoap.c for size
217 2008/03/06:
218   Worked on the Eventing : generating XML event notifications
219     Send initial notification after subscribe
220   Improved pretty print of testupnpdescgen
221   Reduced Memory usage of upnpdescgen
222   fixed a small bug in the description
224 2008/03/03:
225   Fixed miniupnpd.c for compiling without natpmp support 
226   fixed presentationURL not there with L3F
227   fixing lease file creation/modification
229 2008/02/25:
230   Rewrite of Send501() and Send404()
231   More work on events
232   genconfig.sh autodetects pf/ipf
234 2008/02/24:
235   Started to implement UPnP Events. do NOT use it at the moment !
237 2008/02/21:
238   Added support for the Layer3Forwarding Service
239   added init_redirect() and shutdown_redirect() functions
241 2008/02/20:
242   Removed Ext: HTTP header when useless
243   enabled the dummy service by default to please windows XP !
245 2008/02/07:
246   upnp_enable patch by Nikos Mavrogiannopoulos.
247   lease_file patch by Nikos Mavrogiannopoulos.
249 2008/01/29:
250   some changes to Makefile.openwrt
251   use daemon() - daemonize() is still available for systems lacking daemon()
253 VERSION 1.0 :
254 2008/01/27:
255   moved lan_addr to upnpglobalvars.h/.c
256   Adding experimental multiple external IP support.
258 2008/01/22:
259   removed dummy service from description to improve compatibility
260   with emule client
261   Add "secure mode". put runtime flags in the same variable
263 2008/01/14:
264   Fixed a bug in options.c for the parsing of empty lines.
266 2008/01/03:
267   Fixed CleanExpiredNATPMP()
269 2008/01/02:
270   Adding a queue parameter for setting ALTQ in pf
272 2007/12/27:
273   improving some stuff with the PF_ENABLE_FILTER_RULE.
275 2007/12/22:
276   Adding a runtime option to enable/disable NAT-PMP
278 2007/12/20:
279   Added a cache in linux getifstats(). Please enable by editing config.h
281 2007/12/14:
282   Updating an existing NAT-PMP mapping now works
284 2007/12/13:
285   NAT-PMP code now remove expired mappings
286   TCP/UDP where swapped in NAT-PMP code
288 2007/12/04:
289   Adding details to the error message for sendto(udp_notify)
291 2007/11/27:
292   pf code doesn't generate filter rules by default anymore. The
293   #ifdef PF_ENABLE_FILTER_RULES must be uncommented in config.h.
295 2007/11/02:
296   moved some of the prototypes common to all firewalls to commonrdr.h
297   Added functionalities to NAT-PMP
299 2007/11/01:
300   Debugged NAT-PMP code
302 2007/10/28:
303   Cleaning and improving NAT-PMP code
305 2007/10/25:
306   improved the NAT-PMP experimental support
307   updated README and INSTALL files
309 2007/10/24:
310   Adding support for NAT-PMP (from apple !)
312 2007/10/11:
313   Checking the commandline for errors.
315 2007/10/08:
316   Improved the BSD/Solaris Makefile
317   Merging last code from Darren Reed. Solaris/IPF should work now !
318   added a man page.
320 2007/10/07:
321   Adding Darren Reed code for ipf.
323 2007/10/06:
324   Adding SunOS support thanks to Darren Reed.
325   Reorganizing os/firewall dependent code thanks to Darren Reed.
327 2007/09/27:
328   linux make install support PREFIX variable
330 2007/09/25:
331   reorganizing LAN sockets/address to improve multi LAN support.
332   SSDP announces are sent to all configured networks.
333   SSDP responses are "customized" by subnetwork.
335 2007/09/24:
336   prototype code to remove unused rules
337   miniupnpdctl now display current rules
338   synchronised add_filter_rule2() prototype between pf and netfilter code.
340 2007/09/19:
341   Correctly filling the Cache-control header in SSDP packets
343 2007/08/28:
344   update PFRULE_INOUT_COUNTS detection for FreeBSD
346 2007/08/27:
347   update version in genconfig.sh
348   do not error when a duplicate redirection is requested.
350 2007/07/16:
351   really fixed the compilation bug with linux>=2.6.22
353 2007/07/04:
354   fixed an error in options.c that prevented to use packet_log option
356 2007/07/03:
357   improved genconfig.sh
358   fixed a compilation bug with linux>=2.6.22
360 2007/06/22:
361   added PFRULE_INOUT_COUNTS macro to enable separate in/out packet and
362   bytes counts in pf for OpenBSD >= 3.8
364 2007/06/15:
365   removed a possible racecondition in writepidfile()
367 2007/06/12:
368   improved genconfig.sh : no more "echo -e", use lsb_release when available
370 2007/06/11:
371   get_redirect_rule*() functions now return some statistics about
372   rule usage (bytes and packets)
374 2007/06/07:
375   Fixed the get_redirect_desc() in the linux/netfilter code
377 2007/06/05:
378   Clean up init code in miniupnpd.c
379   Added a syslog message in SoapError()
381 2007/06/04:
382   Now store redirection descriptions in the linux/netfilter code
384 2007/05/21:
385   Answers to SSDP M-SEARCH requests with ST: ssdp:all
386   added make install to Makefile.linux
388 2007/05/10:
389   Fixed a bug int the DeletePortMapping linux/netfilter implementation
390   It was allways the 1st rule that was deleted.
392 2007/04/26:
393   Fixed config.h.openwrt
395 2007/04/16:
396   added something in the INSTALL file about the FreeBSD send(udp_notify)
397   problem fix (allowing 239.0.0.0/8 explicitely in pf.conf)
399 2007/03/30:
400   added setsockopt(s, SOL_SOCKET, SO_BROADCAST ...) for broadcasting
401   socket
403 2007/03/17:
404   Fixed filter rule under linux : it was using wrong port !
405   thanks to Wesley W. Terpstra
407 2007/03/01:
408   Moved some of the SSDP code from miniupnpd.c to minissdp.c
410 2007/02/28:
411   creating miniupnpdctl
413 2007/02/26:
414   use LOG_MINIUPNPD macro for openlog()
415   simplify miniupndShutdown()
417 2007/02/09:
418   improved genconfig.h
419   Added stuff to change the pf rule "rdr" to "rdr pass"
421 2007/02/07:
422   Corrected Bytes per seconds to bits per second.
423   Ryan cleaned up comments and typos.
424   Ryan cleaned up daemonize stuff.
425   Ryan added possibility to configure model number and serial number
427 2007/01/30:
428   ryan improved the robustness of most UPnP Soap methods
429   I added a target in the Makefiles to properly generate an uuid using
430   command line tools.
431   Improved configuration file parsing.
433 2007/01/29:
434   Adding uuid option in miniupnpd.conf
436 2007/01/27:
437   Added upnppermissions stuff : adding some security to UPnP !
438   fixed XML description thanks to Ryan Wagoner
439   improved QueryStateVariable thanks to Ryan Wagoner
441 2007/01/22:
442   use getifaddr() for each GetExtenalIPAddress() Call.
443   We can change the ip during execution without pb
445 2007/01/17:
446   Lots of code cleanup
448 2007/01/12:
449   Fixed a nasty bug in the linux/netfilter version of get_filter_rule()
451 2007/01/11:
452   Improved the handling of the miniupnpd.conf file.
453   added -f option to choose which config file to read.
455 2007/01/10:
456   Fixed potential bugs with ClearNameValueList()
458 2007/01/08:
459   All by Ryan Wagoner :
460   - coding style and comments cleanup
461   - using now option file miniupnpd.conf
463 2007/01/03:
464   changed "xx active incoming HTTP connections" msg
466 2007/01/02:
467   Patch from Ryan Wagoner :
468   - no need to open sockets if we can't set the error handlers
469   - format the usage so it fits nicely on a standard size terminal
470   - fix up log_err message so they have the same format and you know what
471     they are related to
472   - use same "white space" style throughout
473   - on shutdown no need to continue if opening socket or setsockopt fails
475 2006/12/14:
476   reduce amount of log lines (keeping the same information)
478 2006/12/07:
479   Fixed Makefiles
480   fixed typos in logs
481   version 1.0-RC1 released
483 2006/12/02:
484   moved strings from upnpdescgen.c to upnpdescstrings.h for
485   easier modification
486   Server: HTTP header now comes from a #define
487   added a compilation-time generated config.h
489 2006/11/30:
490   minixml updated. should have no impact
491   Added support for presentationURL with -w switch
492   implemented getifstats() for linux. Added testgetifstats program
493   improved error handling in getifstats() BSD 
495 2006/11/26:
496   no need to have miniupnpc sources to compile miniupnpd.
497   Makefile.openwrt updated
498   Closing sockets on exit thanks to Ryan Wagoner
500 2006/11/23:
501   now handling signal SIGINT
502   setting HTTP socket with REUSEADDR thanks to Ryan Wagoner
503   daemon now tested on a Linksys WRT54G device running OpenWRT !
505 2006/11/21:
506   disabling rtableid in pf code.
508 2006/11/22:
509   Also responds on M-SEARCH with the uuid
511 2006/11/20:
512   gaining some space in upnpsoap.c
514 2006/11/19:
515   Cleaning up code to comply with ANSI C89
517 2006/11/17:
518   Linux version now deleting both nat and accept rules
519   implemented -U option under Linux
521 2006/11/16:
522   implemented delete_redirect_rule() for linux
523   returning error 714 in DeletePortMapping() when needed
525 2006/11/12:
526   The linux/netfilter version should now WORK !
527   fix in the writepidfile() function. open with a mode !
529 2006/11/10:
530   fixing the XML description generation for big endian machines
531   working on the linux/netfilter port
533 2006/11/09:
534   improved a lot the handling of HTTP error cases
536 2006/11/08:
537   Tried to make the Makefile compatible with both BSDmake
538   and GNUmake. It was hard because of $^ and $<
540 2006/11/07:
541   Makefile compatible with BSD make
542   make install target.
543   getifstats.c compatible with both OpenBSD and FreeBSD.
545 2006/11/06:
546   added getifstats.c for openBSD. May not work under FreeBSD ?
547   now reports bytes/packets sent/received
548   reporting bitrates
549   possibility to report system uptime
551 2006/10/29:
552   added a -L option to enable loggin (is off by default now).
554 2006/10/28:
555   Patch by Ryan Wagoner to correct the XML description (was NewUpTime
556   instead of NewUptime) and implement uptime.
557   Trying to fix the memory leak. Added some comments
558   added a -d option for debugging purpose
559   Tnaks to valgrind (under linux!) I removed a small memory access error.
561 2006/10/27:
562   Thanks to a patch sent by Michael van Tellingen, miniupnpd is
563   now ignoring NOTIFY packets sent by other devices and is
564   writing is own pid to /var/run/miniupnpd.pid
566 2006/10/23:
567   Allways set sendEvents="no" in XML description (was causing
568   pb with winXP as SUBSCRIBE is not implemented)
570 2006/10/22:
571   added translation from hostname to IP in the AddPortMapping() method
572   Thanks to Ryan Wagoner.
574 2006/10/18:
575   Added an INSTALL file
577 2006/10/13:
578   Added the possibility to change the notify interval
580 2006/09/29:
581   Improved compliance of the XML Descriptions
582   pretty print for testupnpdescgen
584 2006/09/25:
585   improved the Error 404 response.
586   Better serviceType and serviceId for dummy service...
588 2006/09/24:
589   updating the XML description generator
591 2006/09/18:
592   Thanks to Rick Richard, support for SSDP "alive" and "byebye" notifications
593   was added. The -u options was also added. The SSDP response are now
594   improved.
595   The -o option is now working (to force a specific external IP address).
596   The Soap Methods errors are correctly responded (401 Invalid Action)
598 2006/09/09:
599   Added code to handle filter rules. Thanks to Seth Mos (pfsense.com)
600   storing the descriptions in the label of the rule
602 2006/09/02:
603   improved the generation of the XML descriptions.
604   I still need to add allowed values to variables.
606 2006/07/29:
607   filtering SSDP requests and responding with same ST: field
609 2006/07/25:
610   Added a dummy description for the WANDevice 
612 2006/07/20:
613   Command line arguments processing
614   Added possibility to listen internally on several interfaces