fix ipv6 lease remaining time in dhcp leases file. Now behaves
[tomato.git] / release / src / router / radvd / CHANGES
blobe48b9663ceefce3779269df507561ae8888d5fca
1 19/08/2011      uClibc has no ifaddrs.h patch by Lonnie
2                 slight changes to debugging output when receiving ra's and rs's
4 14/05/2011      Version 1.8 release
6 10/05/2011      removed AdvRDNSSPreference and AdvRDNSSOpen from the manpages
8 06/05/2011      - IgnoreIfMissing now defaults to on
9                 - Fixed inf loop in Base6Interface (from Ludwig Nussel)
10                 - Modified string regex in scanner.l reducing the compiled
11                 size of scanner.o by a factor or 10.
13 04/05/2011      - radvd is useful for advertising ULA's without having a
14                 router too (from Ludwig Nussel)
15                 - Bumping version number to 1.8alpha in VERSION for testing
17 28/04/2011      Adding DecrementLifetimes patch (from Mark Smith)
19 25/03/2011      Renaming RemoveRoute to FlushRoute (from Mark Smith)
21 22/03/2011      Adding RemoveRoute options (from Mark Smith)
23 20/03/2011      Added DeprecatePrefix option (from Mark Smith)
25 28/02/2011      fixed Debian Bug#615625: radvd: Error in DNSSL parsing
27 26/02/2011      Added Base6Interface option
29 30/01/2011      Added detailed output to radvd --help for the long options.
30                 Two sigterms or sigints calls abort.
31                 build system cleanup work.
33 22/01/2011      Fixed crash and memory leak in device-bsd44.c when an
34                 interface defined in the config file doesn't exist.
35                 Patch submitted by Manual Kasper.
37 12/01/2011      Release 1.7.
39 07/01/2011      make dist (for building tar.gz source packages) fixed.
40                 - 07/01: AdvSourceLLAddress fixed on FreeBSD when link
41                 layer token length is zero.
43 14/12/2010      Deprecate old, pre-RFC5006 parameters.
44                 Support RFC6106 by adding DNS Search List support.
45                 From Pierre Ossman.
47 14/12/2010      Integrate cleanup patches from Reuben Hawkins:
48                 - 14/05: patch configure.in to allow OSX 10.6 builds
49                 - 05/06: Unnecessary >255 test when using uint8_t
50                 - 06/06: fix fscanf parsing on Linux 
51                 - 10/12: Fix whitespaces; #includes; CLEANFILES
52                 From Ben Greear:
53                 - 05/11: Print errors on all exit() codepaths.
54                 From Iain J. Watson:
55                 - 09/12: Add '-c' flag to test configuration.
56                 From Pierre Ossman (idea):
57                 - 13/12: Remove automake-generated files.
59 04/05/2010      Fix a segmentation fault on reload_config() timer list
60                 corruption that only occurs with multiple interfaces.
62 10/03/2010      Fix radvd skipping multiple interfaces when
63                 UnicastOnly is on or AdvSendAdvert is off.
64                 This got broken in radvd 1.3. Patch from Cedric BAIL.
66 05/03/2010      Release 1.6.
68 05/03/2010      Update Redhat spec and init files from Fedora.
70 28/01/2010      Decrease MSG_SIZE from 4096 to about 1500B. Send buffer
71                 uses a smaller size in order to avoid sending out
72                 fragmented packets, yet being able to receive full-size
73                 frames.
75 28/01/2010      Keep track of buffer size and exit if the number of
76                 prefixes/routes/etc. would grow too much. Prevent a memory
77                 corruption due to wrong memset. Patches from Jan
78                 Görig, Red Hat bug #554125.
80 22/01/2010      On BSD use getifaddrs() also in setup_deviceinfo(),
81                 fixes a multiple interfaces problem on NetBSD 5 due to
82                 change in data structures. Patch from Michael Stapelberg.
84 07/11/2009      Allow radvd.conf prefix, clients, route, and RDNSS options
85                 to be in any order.  Patch from Michael Stapelberg.
87 10/09/2009      Release 1.5.
89 07/09/2009      Fix infinite loop/segmentation fault problems when cable
90                 plugged out/plugged back in, caused by reload_config()
91                 and subsequent timer list corruption.  Slightly modified
92                 patch from Teemu Torma.  For more information, see
93                 http://lists.litech.org/pipermail/radvd-devel-l/2009-August/000416.html
95 07/09/2009      Fix IgnoreIfMissing when cable is unplugged at startup.
96                 Radvd would keep skipping the interface.  Patch from
97                 Reuben Hawkins.
99 25/08/2009      Fix parallel make, from Robert Buchholz / Gentoo.
101 03/08/2009      Release 1.4.  Only restores original behaviour changed in
102                 1.3: RAs were accidentally often unicast to solicitors
103                 instead of being multicast.
105 07/07/2009      Release 1.3.
107 24/06/2009      Work around unaligned traps on Alpha, patch from:
108                 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=456205
110 19/06/2009      Fixes and enhancements from Michael Stapelberg.  Add a new
111                 'clients' interface definition to allow configuring which
112                 address to send advertisements and accept from. Use
113                 getifaddrs() on BSD because ioctl didn't work on NetBSD 5.
114                 Use int instead of bool to make NetBSD 5 happy.
116 21/01/2009      Add a workaround for Linux in scenarios where libc is
117                 providing IPV6_RECV(PKTINFO|HOPLIMIT) has renumbered IPV6_PKTINFO,
118                 but kernel doesn't support it yet (<2.6.14).  Found out by
119                 Freetz (special thanks to Paul Oranje) and OpenWrt projects.
120                 See the source code and CVS changelog for more.
122 28/10/2008      Release 1.2.
124 14/10/2008      Accept virtually any interface name (up to 15 chars) instead of
125                 forcing a specific naming convention.  Patch from
126                 Michiel Brandenburg.
128                 If stale radvd.pid file exists, try to overwrite it unless
129                 the specified PID exists, from Fedora (Martin Nagy).
131                 Define _GNU_SOURCE on Linux, otherwise glibc >= 2.8
132                 compilation fails.
134                 Remove -Wconversion from default CFLAGS as it is very noisy.
135                 Fix some warnings, from Jim Paris.
137 31/03/2008      Update references to RFCs.  Give pointer to the "two hour rule".
138                 Decrease the default valid and preferred lifetimes from 30/1
139                 days to 1day/4hours, respectively.  See more info at:
141                 http://lists.litech.org/pipermail/radvd-devel-l/2007-October/000282.html
143 04/02/2008      Release 1.1.
145 24/01/2008      Implement privilege separation (Linux only) so that
146                 config_interface() works both with a user and root,
147                 even after HUP signal.  Work by Jim Paris.
149 24/01/2008      The old Linux retrans_timer proc value is given in
150                 USER_HZ, not in seconds.  Fix that, by Jim Paris.
152 21/01/2008      Fix stderr+syslog logging crash (on non-i386).  Analysis and
153                 patch by Jim Paris (Debian bug #409600).
155 01/12/2007      Require that interface is also 'RUNNING' instead of just
156                 'UP', except if IgnoreIfMissing is enabled.  The reason is
157                 that at least some recent Linux kernels do not generate
158                 link-local addresses before interface is running and as
159                 a result, the startup may fail if network cable is unplugged
160                 in any case.
162                 Note: this could break deployments with some very old 
163                 kernels, see more info at:
165                 http://lists.litech.org/pipermail/radvd-devel-l/2007-October/000280.html
167 25/10/2007      Implement automatically selecting and advertising an
168                 interface address, see radvd.conf(5) for more.  Add
169                 a warning about not being able to set interface
170                 variables with non-root user.  Relax interface naming
171                 a bit.
173 25/06/2007      Send prefix, route and RDNSS options (matters if there
174                 are many RDNSS options) in the same order they appear
175                 in the configuration; add support for AdvDefaultLifetime
176                 in radvdump (patches from C. Scott Ananian)
178 11/01/2006      Release 1.0.
180 10/09/2006      Perform a static/dynamic code audit; plug some minor
181                 bugs (see CVS changelogs for more information) and
182                 perform minor clean-up.
184 08/07/2006      Implement MAX_INITIAL_RTR_ADVERT_INTERVAL handling,
185                 patch from Yoshifuji Hideaki / USAGI.
187 05/23/2006      Unblock SIGALRM signals at startup.  Some scripts/programs
188                 seem to run radvd from ALRM-blocked context which breaks
189                 the timers.
191 05/23/2006      Redefined IgnoreIfMissing: by default, radvd will now
192                 try to reinitialize failed interfaces automatically.
193                 IgnoreIfMissing is still needed if radvd is started when the
194                 interface isn't up, and it also quenches some messages
195                 relating to missing interfaces.
197 03/29/2006      Implement RDNSS draft, using non-allocated
198                 IANA ND type value 25, by Lauréline Provost,
199                 Mickaël Guérin, Adrien Clerc, Gaetan Eleouet,
200                 Bahattin Demirplak, Lionel Guilmin (at the
201                 ENSEEIHT, Toulouse)
203 03/06/2006      Fix the default STDERR+syslog logging methods, so
204                 we don't try to unnecessarily log to STDERR after
205                 forking.
207 01/18/2006      radvd-0.9.1 did not initialize AdvDefaultLifetime (etc.)
208                 appropriately, unbreak the "clean-up".
210 01/13/2006      Release 0.9.1.
212 12/30/2005      Great cleanup of signed/unsigned values, add
213                 -Wall and a number of other warnings to CFLAGS
214                 by default.  Do not allow signed values for
215                 HomeAgentPreference anymore.
217 12/30/2005      Fix a couple of  IPv6 Ready Logo Phase-2 IPv6 Core
218                 Protocols Self Test issues, patches from Yoshifuji
219                 Hideaki / USAGI.
221 11/13/2005      Create a short FAQ in README file.
223 10/28/2005      Get interface MTU automatically, so that you can
224                 use jumboframes and advertise MTU >1500.
226 10/19/2005      Release 0.9.
228 10/18/2005      Transfer sole maintainership of radvd to Pekka Savola.
230 10/18/2005      Make the radvd.conf syntax dump default
231                 in radvdump and remove the previous default to
232                 reduce code duplication.
234 09/28/2005      Add NEMO Basic support (RFC3961) and fix default
235                 HomeAgentLifetime, from Ville Nuorvala.
237 08/18/2005      Implement more robust timer handler, especially
238                 because some Linux kernels don't seem to behave
239                 all that well; see http://lkml.org/lkml/2005/4/29/163.
240                 Based on extensive testing & reports by
241                 Tomasz Grobelny.  NB: the bug report was caused by
242                 a bad timer patch in PLD's kernel package, and this
243                 should not occur often with standard kernels.
245 07/24/2005      Implement a new logging method "stderr_syslog" which is
246                 now also the default.  Everything is logged on syslog,
247                 while the most important messages (i.e., start-up failures)
248                 are also logged on stderr.
250 07/08/2005      Release 0.8.
252 07/05/2005      Change the more-specific route ND option code
253                 from de-facto '9' to the official '24'.  Change
254                 back in defaults.h if you need old behaviour.
256 07/05/2005      Fix wrongly calculated prefix with Base6to4Interface
257                 on ppc and maybe other big endian arches, from
258                 Debian #301543 by Sam Hathaway.
260 07/05/2005      Fix Linux-2.6.12-bk4+ error with HUP signal,
261                 from YOSHIFUJI Hideaki / USAGI.
263 03/29/2005      Merge a part of MIPv6/non-MIPv6 code, make printing
264                 error messages nicer.
266 03/22/2005      Be a bit more informative about config file parsing
267                 errors.
269 02/21/2005      Release 0.7.3.
271 02/19/2005      Fix crash when reloading config with AdvSendAdvert off.
273 02/15/2005      Merge a few fixes and improvements from USAGI:
274                  - support microsecond scheduling and fix RA intervals
275                  - send zero router lifetime when forwarding is disabled
276                  - use a more flexible inter-RA delay
278 01/07/2005      Accomodate interface indexes > 9999, from Hagen Fritsch.
280 12/15/2004      Advertise zero Router Lifetime when shutting down;
281                 implements a SHOULD in RFC2461 section 6.2.5.
283 10/16/2004      Update Mobile IPv6 to match RFC 3775, from Greg Daley.
285 08/20/2004      Minor documentation cleanups.
287 03/09/2004      Implement "IgnoreIfMissing" interface flag, which can be
288                 used on interfaces which aren't enabled when radvd starts
289                 but will later become available (e.g., Bluetooth) --
290                 and then you wish to send HUP to radvd to activate the
291                 configs.
293 02/21/2004      Further cleanups, to fix autoconf/autoheader problems
294                 with newer toolchain; mostly by Marko Myllynen.
296 02/20/2004      Clean up a bit: remove old junk from configure.in,
297                 rename "log()" to "flog()" to satisfy newer GCCs,
298                 allow underscores in the interface names (the last two
299                 fixes already committed earlier).
300                                                                                 
301 01/19/2004      Make radvd check for forwarding status using procfs on
302                 Linux; needed with 2.6 kernels.  Loosely based on
303                 a patch by USAGI.
305 11/21/2003      Add support for Router Preferences and More Specific
306                 Routes from Markku Savela <msa@burp.tkv.asdf.org>.
307                 NOTE! The specification is not final yet, there will be
308                 changes!  (Man page, documentation and radvdump support
309                 by Pekka Savola.)
311 09/11/2003      When starting up, check if the MAC address is all zero
312                 (could happen e.g. with bridge interfaces with no attached
313                 physical interfaces), and warn if so. For more information,
314                 http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=103469
316 06/10/2003      When chrooting, check the possible return code 
317                 from chdir("/").
319 03/08/2003      Add patch from MAEDA Naoaki <maeda.naoaki@jp.fujitsu.com>
320                 to discard RS's from the unspecied source address with
321                 link-layer address option, as required by RFC2461.
323 10/28/2002      Release 0.7.2:
324                  - add support for VLANs (from USAGI)
325                  - make it compile better on newer NetBSD's (NetBSD)
326                  - fix a syntax error in radvd.conf(5) sample documentation
327                  - use IPV6_RECV{HOPLIMIT,PKTINFO} not 
328                        IPV6_{HOPLIMIT,PKTINFO} if supported
329                  - (in Red Hat spec file) don't create radvd gid explicitly
330                  - a lot of coding style cleanups
332 01/16/2002      Release 0.7.1.
334 01/12/2002      Update config.{guess,sub} from ftp.gnu.org; update INTRO.
335                 Marko Myllynen and Debian bug #115992.
337 01/02/2002      Ensure NULL-termination with strncpy.
339 12/31/2001      Radvdump fixes: eliminate a warning of Prefix Information
340                 sections with '-d -f'; add a note that
341                 {Min,Max}RtrAdvInterval cannot be obtained with '-f';
342                 implement '-e' to be used with '-f' which omits all
343                 advertised default settings. Mostly by Marko Myllynen.
345 12/28/2001      Small cleanups.  AdvSendAdvert is implicitly off by
346                 default.  Check configuration file permissions; must
347                 not be writable by others, and if non-root,
348                 not by self/own group.  By Marko Myllynen.
350 12/21/2001      Check via sysctl that IPv6 forwarding is enabled;
351                 exit unless debugging is enabled.  Triggered by
352                 Marko Myllynen.
354 11/22/2001      MinRtrAdvInterval for MIPv6 is 0.05 seconds, not 0.5.
355                 (Note: untested).
357 11/20/2001      Rework BSD device memory management a bit, minor cleanups.
358                 Version bumped to 0.7.0.
360 11/14/2001      Maintainership of radvd transferred from Lars Fenneberg
361                 to Pekka Savola and Nathan Lutchansky.  Lars' CVS
362                 repository adopted, and changes merged from the -pX
363                 branch.
365 08/29/2001      Minor change for NetBSD 1.5.1 compatibility.
366                 (Nathan Lutchansky)
368 07/20/2001      Support for non-multicast links, like ISATAP.
369                 (Nathan Lutchansky)
371 07/03/2001      Minimum MTU has been changed to 1280 in the latest RFC's.
372                 (Pekka Savola)
374 06/30/2001      Check for possible buffer overflows; replace strcpy with
375                 strncpy.  No fatals found.  Remove redunant radvd -t check.
376                 (Pekka Savola)
378 06/24/2001      Fix 1-byte overflow in /proc/net/igmp6 handling,
379                 clean out possible memory garbage when sending RA's
380                 (patch from <yoshfuji@linux-ipv6.org>).
382 06/19/2001      When dropping root, also set up supplementary groups
383                 properly.  On Linux, when sending RA's, check that the
384                 interface has joined all-routers multicast group.  Add a few
385                 RFC2461 MUST sanity checks when receiving datagrams.  Clean
386                 out non-EUI64 addressing scheme and other minor bits.
387                 (Pekka Savola)
389 04/28/2001      Misc cleanup and bugfixes, automake support.
391 03/28/2001      Grammar cleanup. Integrated 6to4 support through
392                 "Base6to4Interface" option in prefix configuration. Signal
393                 handling fixed by blocking on select() rather than recvmsg()
394                 so SIGTERM/HUP take effect immediately now. (Nathan Lutchansky)
396 03/27/2001      Security fixes: close stdin/out and chdir("/") via
397                 daemon() to prevent possible exploits, and a flag to allow
398                 radvd to set[ug]id to an unprivileged user (from Pekka Savola).
400 02/01/2001      scope_id is not supported in glibc2.1. So it is now
401                 compiled conditionally.
403 01/31/2001      Add CC variable to Makefile. Fix bug with IPV6_ADD_MEMBERSHIP
404                 handling. Set scope_id when sending packets.
406 12/02/2000      man pages update, rewritten pid file handling, rewritten
407                 signal handling (SIGHUP and SIGTERM), gcc warnings cleanup,
408                 new radvdump option -f: print received RAs in config file
409                 format (by Marko)
411 11/19/2000      integrated the last two change entries into the main source
412                 (patches by Marko Myllynen), fixed bug in log.c, fixed file
413                 description leak in readin_config, rewrote code in timer.c,
414                 updated man pages again (from Marko Myllynen, too), PID
415                 file support (patch from Marko Myllynen, based on a patch
416                 from Tommi.Komulainen@iki.fi)
418 15/08/2000      RFC 2461 updates, Mobile IPv6 extensions added
420 14/07/2000      added RA interval option and modified some default values
421                 for timers
423 06/15/99        changed to run with glibc 2.1 on RedHat 6.0.
425 03/03/98        radvd now joins ipv6-allrouters on Linux.  Fix contributed
426                 by A.N.Kuznetsov <kuznet@ms2.inr.ac.ru>.
428 10/23/97        radvd will now accept any prefix length in its config
429                 file but will warn about unusual ones
431 10/19/97        removed backwards compatibility code in recv.c.
432                 IPV6_HOPLIMIT support is now assumed to exist.
434 10/19/97        fixed alignment problems in recv.c and send.c.
436 10/16/97        the Makefile install target now uses mkinstalldirs.
438 10/16/97        changed all u_int*_t to uint*_t for better POSIX
439                 compliance and portability. Needs 2.1.57-CVS or glibc.
440                 BSD seems to need patches.
442 10/16/97        more intelligent configure; tries to figure out
443                 where the IPv6 libraries and inclues are (if not in
444                 the standard places). Searches in /usr/inet6 and /usr/ipv6.
446 10/15/97        integrated small patches for glibc and BSD from Craig and
447                 Philip
449 09/14/97        EUI-64 "support"
451 09/01/97        centralized all includes into includes.h for easier
452                 maintainance
454 08/25/97        changed all occurences of IPV6_TXINFO/IPV6_RXINFO
455                 to IPV6_PKTINFO
457 08/25/97        removed some compatibility stuff for older Linux kernels
459 03/17/97        changed linux/if_arp.h to net/if_arp.h in device-linux.c
460                 and configure.in (for glibc compatibility)
462 03/17/97        integrated patch from Philip Blundell <pjb27@cam.ac.uk>
463                 into configure.in to check for inet_* in libc first and
464                 then for libinet6 (for glibc compatibility).
466 03/16/97        corrected small error in radvd.conf(5) man page and other
467                 small changes
469 03/16/97        removed linklocal.c source file from the distribution
470                 because it wasn't used anymore
472 03/16/97        added html version of the INTRO, removed ascii version.
474 02/12/97        missing directories are now created on make install
476 01/19/97        now also the rest of a line followed by a '#' is treated
477                 as a comment in the config file
479 01/16/97        added IPPROTO_IPV6/IPV6_HOPLIMIT support, so now incoming
480                 RS' and RAs are checked if there hoplimit is 255 (on Linux
481                 this only works with kernel version 2.1.21 and above)
483 01/15/97        lots of portability cleanups; radvd is now using autoconf
484                 for automatic configuration; removed support for the
485                 in. prefix
487 01/05/97        integrated BSD 4.4 patches from Craig <cmetz@inner.net>
489 12/21/96        release of version 0.3
491 12/15/96        the AdvSendAdvert flag works now
493 12/14/96        added radvdump, dumps all received RAs in a human
494                 readable form   
496 12/13/96        rewrote radvd to use new advanced API headers
498 12/08/96        added radvd.conf(5) man page
500 12/03/96        changed RAW_CHECKSUM to IPV6_CHECKSUM for kernels
501                 2.1.14 and above
503 11/24/96        added checking of received RAs according to RFC 1970
505 11/20/96        rewrote the default handling, now it should conform
506                 to RFC 1970
508 11/17/96        release of version 0.2
509         
510 11/17/96        added -h (--help) and -f (--facility) option
512 11/17/96        added setsockopt(..., SOL_IPV6, IPV6_MULTICAST_HOPS), so
513                 that radvd works for kernel versions >2.1.7 (without this
514                 you get "NDISC: fake router advertisment received" on your
515                 hosts)
516         
517 11/17/96        added a man page for radvd(8)
519 11/17/96        some minor filename changes
521 11/13/96        first release of this version of in.radvd (0.1)