1$Id: CHANGES,v 1.84 2009/07/07 04:33:59 psavola Exp $
2
307/07/2009	Release 1.3.
4
524/06/2009	Work around unaligned traps on Alpha, patch from:
6		http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=456205
7
819/06/2009	Fixes and enhancements from Michael Stapelberg.  Add a new
9		'clients' interface definition to allow configuring which
10		address to send advertisements and accept from. Use
11		getifaddrs() on BSD because ioctl didn't work on NetBSD 5.
12		Use int instead of bool to make NetBSD 5 happy.
13
1421/01/2009	Add a workaround for Linux in scenarios where libc is
15		providing IPV6_RECV(PKTINFO|HOPLIMIT) has renumbered IPV6_PKTINFO,
16		but kernel doesn't support it yet (<2.6.14).  Found out by
17		Freetz (special thanks to Paul Oranje) and OpenWrt projects.
18		See the source code and CVS changelog for more.
19
2028/10/2008	Release 1.2.
21
2214/10/2008	Accept virtually any interface name (up to 15 chars) instead of
23		forcing a specific naming convention.  Patch from
24		Michiel Brandenburg.
25
26		If stale radvd.pid file exists, try to overwrite it unless
27		the specified PID exists, from Fedora (Martin Nagy).
28
29		Define _GNU_SOURCE on Linux, otherwise glibc >= 2.8
30		compilation fails.
31
32		Remove -Wconversion from default CFLAGS as it is very noisy.
33		Fix some warnings, from Jim Paris.
34
3531/03/2008	Update references to RFCs.  Give pointer to the "two hour rule".
36		Decrease the default valid and preferred lifetimes from 30/1
37		days to 1day/4hours, respectively.  See more info at:
38
39		http://lists.litech.org/pipermail/radvd-devel-l/2007-October/000282.html
40
4104/02/2008	Release 1.1.
42
4324/01/2008	Implement privilege separation (Linux only) so that
44		config_interface() works both with a user and root,
45		even after HUP signal.  Work by Jim Paris.
46
4724/01/2008      The old Linux retrans_timer proc value is given in
48		USER_HZ, not in seconds.  Fix that, by Jim Paris.
49
5021/01/2008	Fix stderr+syslog logging crash (on non-i386).  Analysis and
51		patch by Jim Paris (Debian bug #409600).
52
5301/12/2007	Require that interface is also 'RUNNING' instead of just
54		'UP', except if IgnoreIfMissing is enabled.  The reason is
55		that at least some recent Linux kernels do not generate
56		link-local addresses before interface is running and as
57		a result, the startup may fail if network cable is unplugged
58		in any case.
59
60		Note: this could break deployments with some very old 
61                kernels, see more info at:
62
63		http://lists.litech.org/pipermail/radvd-devel-l/2007-October/000280.html
64
6525/10/2007	Implement automatically selecting and advertising an
66                interface address, see radvd.conf(5) for more.  Add
67		a warning about not being able to set interface
68		variables with non-root user.  Relax interface naming
69                a bit.
70
7125/06/2007	Send prefix, route and RDNSS options (matters if there
72		are many RDNSS options) in the same order they appear
73		in the configuration; add support for AdvDefaultLifetime
74		in radvdump (patches from C. Scott Ananian)
75
7611/01/2006	Release 1.0.
77
7810/09/2006	Perform a static/dynamic code audit; plug some minor
79		bugs (see CVS changelogs for more information) and
80		perform minor clean-up.
81
8208/07/2006	Implement MAX_INITIAL_RTR_ADVERT_INTERVAL handling,
83		patch from Yoshifuji Hideaki / USAGI.
84
8505/23/2006	Unblock SIGALRM signals at startup.  Some scripts/programs
86		seem to run radvd from ALRM-blocked context which breaks
87		the timers.
88
8905/23/2006	Redefined IgnoreIfMissing: by default, radvd will now
90		try to reinitialize failed interfaces automatically.
91		IgnoreIfMissing is still needed if radvd is started when the
92		interface isn't up, and it also quenches some messages
93		relating to missing interfaces.
94
9503/29/2006	Implement RDNSS draft, using non-allocated
96		IANA ND type value 25, by Laur�line Provost,
97                Micka�l Gu�rin, Adrien Clerc, Gaetan Eleouet,
98                Bahattin Demirplak, Lionel Guilmin (at the
99                ENSEEIHT, Toulouse)
100
10103/06/2006	Fix the default STDERR+syslog logging methods, so
102		we don't try to unnecessarily log to STDERR after
103		forking.
104
10501/18/2006	radvd-0.9.1 did not initialize AdvDefaultLifetime (etc.)
106		appropriately, unbreak the "clean-up".
107
10801/13/2006	Release 0.9.1.
109
11012/30/2005	Great cleanup of signed/unsigned values, add
111		-Wall and a number of other warnings to CFLAGS
112		by default.  Do not allow signed values for
113		HomeAgentPreference anymore.
114
11512/30/2005	Fix a couple of  IPv6 Ready Logo Phase-2 IPv6 Core
116		Protocols Self Test issues, patches from Yoshifuji
117		Hideaki / USAGI.
118
11911/13/2005	Create a short FAQ in README file.
120
12110/28/2005	Get interface MTU automatically, so that you can
122		use jumboframes and advertise MTU >1500.
123
12410/19/2005	Release 0.9.
125
12610/18/2005	Transfer sole maintainership of radvd to Pekka Savola.
127
12810/18/2005	Make the radvd.conf syntax dump default
129		in radvdump and remove the previous default to
130		reduce code duplication.
131
13209/28/2005	Add NEMO Basic support (RFC3961) and fix default
133		HomeAgentLifetime, from Ville Nuorvala.
134
13508/18/2005	Implement more robust timer handler, especially
136		because some Linux kernels don't seem to behave
137		all that well; see http://lkml.org/lkml/2005/4/29/163.
138		Based on extensive testing & reports by
139		Tomasz Grobelny.  NB: the bug report was caused by
140		a bad timer patch in PLD's kernel package, and this
141		should not occur often with standard kernels.
142
14307/24/2005	Implement a new logging method "stderr_syslog" which is
144		now also the default.  Everything is logged on syslog,
145		while the most important messages (i.e., start-up failures)
146		are also logged on stderr.
147
14807/08/2005	Release 0.8.
149
15007/05/2005	Change the more-specific route ND option code
151		from de-facto '9' to the official '24'.  Change
152		back in defaults.h if you need old behaviour.
153
15407/05/2005	Fix wrongly calculated prefix with Base6to4Interface
155                on ppc and maybe other big endian arches, from
156		Debian #301543 by Sam Hathaway.
157
15807/05/2005	Fix Linux-2.6.12-bk4+ error with HUP signal,
159		from YOSHIFUJI Hideaki / USAGI.
160
16103/29/2005	Merge a part of MIPv6/non-MIPv6 code, make printing
162		error messages nicer.
163
16403/22/2005	Be a bit more informative about config file parsing
165		errors.
166
16702/21/2005	Release 0.7.3.
168
16902/19/2005	Fix crash when reloading config with AdvSendAdvert off.
170
17102/15/2005	Merge a few fixes and improvements from USAGI:
172		 - support microsecond scheduling and fix RA intervals
173		 - send zero router lifetime when forwarding is disabled
174		 - use a more flexible inter-RA delay
175
17601/07/2005	Accomodate interface indexes > 9999, from Hagen Fritsch.
177
17812/15/2004	Advertise zero Router Lifetime when shutting down;
179		implements a SHOULD in RFC2461 section 6.2.5.
180
18110/16/2004	Update Mobile IPv6 to match RFC 3775, from Greg Daley.
182
18308/20/2004	Minor documentation cleanups.
184
18503/09/2004      Implement "IgnoreIfMissing" interface flag, which can be
186                used on interfaces which aren't enabled when radvd starts
187                but will later become available (e.g., Bluetooth) --
188                and then you wish to send HUP to radvd to activate the
189                configs.
190
19102/21/2004      Further cleanups, to fix autoconf/autoheader problems
192                with newer toolchain; mostly by Marko Myllynen.
193
19402/20/2004      Clean up a bit: remove old junk from configure.in,
195                rename "log()" to "flog()" to satisfy newer GCCs,
196                allow underscores in the interface names (the last two
197                fixes already committed earlier).
198                                                                                
19901/19/2004      Make radvd check for forwarding status using procfs on
200                Linux; needed with 2.6 kernels.  Loosely based on
201                a patch by USAGI.
202
20311/21/2003	Add support for Router Preferences and More Specific
204		Routes from Markku Savela <msa@burp.tkv.asdf.org>.
205		NOTE! The specification is not final yet, there will be
206		changes!  (Man page, documentation and radvdump support
207		by Pekka Savola.)
208
20909/11/2003	When starting up, check if the MAC address is all zero
210		(could happen e.g. with bridge interfaces with no attached
211		physical interfaces), and warn if so. For more information,
212		http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=103469
213
21406/10/2003	When chrooting, check the possible return code 
215		from chdir("/").
216
21703/08/2003	Add patch from MAEDA Naoaki <maeda.naoaki@jp.fujitsu.com>
218		to discard RS's from the unspecied source address with
219		link-layer address option, as required by RFC2461.
220
22110/28/2002	Release 0.7.2:
222		 - add support for VLANs (from USAGI)
223		 - make it compile better on newer NetBSD's (NetBSD)
224		 - fix a syntax error in radvd.conf(5) sample documentation
225		 - use IPV6_RECV{HOPLIMIT,PKTINFO} not 
226                       IPV6_{HOPLIMIT,PKTINFO} if supported
227		 - (in Red Hat spec file) don't create radvd gid explicitly
228		 - a lot of coding style cleanups
229
23001/16/2002	Release 0.7.1.
231
23201/12/2002	Update config.{guess,sub} from ftp.gnu.org; update INTRO.
233		Marko Myllynen and Debian bug #115992.
234
23501/02/2002	Ensure NULL-termination with strncpy.
236
23712/31/2001	Radvdump fixes: eliminate a warning of Prefix Information
238		sections with '-d -f'; add a note that
239		{Min,Max}RtrAdvInterval cannot be obtained with '-f';
240		implement '-e' to be used with '-f' which omits all
241		advertised default settings. Mostly by Marko Myllynen.
242
24312/28/2001	Small cleanups.  AdvSendAdvert is implicitly off by
244		default.  Check configuration file permissions; must
245		not be writable by others, and if non-root,
246		not by self/own group.  By Marko Myllynen.
247
24812/21/2001	Check via sysctl that IPv6 forwarding is enabled;
249		exit unless debugging is enabled.  Triggered by
250		Marko Myllynen.
251
25211/22/2001	MinRtrAdvInterval for MIPv6 is 0.05 seconds, not 0.5.
253		(Note: untested).
254
25511/20/2001	Rework BSD device memory management a bit, minor cleanups.
256		Version bumped to 0.7.0.
257
25811/14/2001	Maintainership of radvd transferred from Lars Fenneberg
259		to Pekka Savola and Nathan Lutchansky.  Lars' CVS
260		repository adopted, and changes merged from the -pX
261		branch.
262
26308/29/2001	Minor change for NetBSD 1.5.1 compatibility.
264		(Nathan Lutchansky)
265
26607/20/2001	Support for non-multicast links, like ISATAP.
267		(Nathan Lutchansky)
268
26907/03/2001	Minimum MTU has been changed to 1280 in the latest RFC's.
270		(Pekka Savola)
271
27206/30/2001	Check for possible buffer overflows; replace strcpy with
273		strncpy.  No fatals found.  Remove redunant radvd -t check.
274		(Pekka Savola)
275
27606/24/2001	Fix 1-byte overflow in /proc/net/igmp6 handling,
277                clean out possible memory garbage when sending RA's
278		(patch from <yoshfuji@linux-ipv6.org>).
279
28006/19/2001	When dropping root, also set up supplementary groups
281		properly.  On Linux, when sending RA's, check that the
282		interface has joined all-routers multicast group.  Add a few
283		RFC2461 MUST sanity checks when receiving datagrams.  Clean
284		out non-EUI64 addressing scheme and other minor bits.
285		(Pekka Savola)
286
28704/28/2001	Misc cleanup and bugfixes, automake support.
288
28903/28/2001	Grammar cleanup. Integrated 6to4 support through
290		"Base6to4Interface" option in prefix configuration. Signal
291		handling fixed by blocking on select() rather than recvmsg()
292		so SIGTERM/HUP take effect immediately now. (Nathan Lutchansky)
293
29403/27/2001	Security fixes: close stdin/out and chdir("/") via
295		daemon() to prevent possible exploits, and a flag to allow
296		radvd to set[ug]id to an unprivileged user (from Pekka Savola).
297
29802/01/2001	scope_id is not supported in glibc2.1. So it is now
299		compiled conditionally.
300
30101/31/2001	Add CC variable to Makefile. Fix bug with IPV6_ADD_MEMBERSHIP
302		handling. Set scope_id when sending packets.
303
30412/02/2000	man pages update, rewritten pid file handling, rewritten
305		signal handling (SIGHUP and SIGTERM), gcc warnings cleanup,
306		new radvdump option -f: print received RAs in config file
307		format (by Marko)
308
30911/19/2000	integrated the last two change entries into the main source
310		(patches by Marko Myllynen), fixed bug in log.c, fixed file
311		description leak in readin_config, rewrote code in timer.c,
312		updated man pages again (from Marko Myllynen, too), PID
313		file support (patch from Marko Myllynen, based on a patch
314		from Tommi.Komulainen@iki.fi)
315
31615/08/2000	RFC 2461 updates, Mobile IPv6 extensions added
317
31814/07/2000 	added RA interval option and modified some default values
319		for timers
320
32106/15/99	changed to run with glibc 2.1 on RedHat 6.0.
322
32303/03/98	radvd now joins ipv6-allrouters on Linux.  Fix contributed
324		by A.N.Kuznetsov <kuznet@ms2.inr.ac.ru>.
325
32610/23/97	radvd will now accept any prefix length in its config
327		file but will warn about unusual ones
328
32910/19/97	removed backwards compatibility code in recv.c.
330		IPV6_HOPLIMIT support is now assumed to exist.
331
33210/19/97	fixed alignment problems in recv.c and send.c.
333
33410/16/97	the Makefile install target now uses mkinstalldirs.
335
33610/16/97	changed all u_int*_t to uint*_t for better POSIX
337		compliance and portability. Needs 2.1.57-CVS or glibc.
338		BSD seems to need patches.
339
34010/16/97	more intelligent configure; tries to figure out
341		where the IPv6 libraries and inclues are (if not in
342		the standard places). Searches in /usr/inet6 and /usr/ipv6.
343
34410/15/97	integrated small patches for glibc and BSD from Craig and
345		Philip
346
34709/14/97	EUI-64 "support"
348
34909/01/97	centralized all includes into includes.h for easier
350		maintainance
351
35208/25/97	changed all occurences of IPV6_TXINFO/IPV6_RXINFO
353		to IPV6_PKTINFO
354
35508/25/97	removed some compatibility stuff for older Linux kernels
356
35703/17/97	changed linux/if_arp.h to net/if_arp.h in device-linux.c
358		and configure.in (for glibc compatibility)
359
36003/17/97	integrated patch from Philip Blundell <pjb27@cam.ac.uk>
361		into configure.in to check for inet_* in libc first and
362		then for libinet6 (for glibc compatibility).
363
36403/16/97	corrected small error in radvd.conf(5) man page and other
365		small changes
366
36703/16/97	removed linklocal.c source file from the distribution
368		because it wasn't used anymore
369
37003/16/97	added html version of the INTRO, removed ascii version.
371
37202/12/97	missing directories are now created on make install
373
37401/19/97	now also the rest of a line followed by a '#' is treated
375		as a comment in the config file
376
37701/16/97	added IPPROTO_IPV6/IPV6_HOPLIMIT support, so now incoming
378		RS' and RAs are checked if there hoplimit is 255 (on Linux
379		this only works with kernel version 2.1.21 and above)
380
38101/15/97	lots of portability cleanups; radvd is now using autoconf
382		for automatic configuration; removed support for the
383		in. prefix
384
38501/05/97	integrated BSD 4.4 patches from Craig <cmetz@inner.net>
386
38712/21/96	release of version 0.3
388
38912/15/96	the AdvSendAdvert flag works now
390
39112/14/96	added radvdump, dumps all received RAs in a human
392		readable form	
393
39412/13/96	rewrote radvd to use new advanced API headers
395
39612/08/96	added radvd.conf(5) man page
397
39812/03/96	changed RAW_CHECKSUM to IPV6_CHECKSUM for kernels
399		2.1.14 and above
400
40111/24/96	added checking of received RAs according to RFC 1970
402
40311/20/96	rewrote the default handling, now it should conform
404		to RFC 1970
405
40611/17/96	release of version 0.2
407	
40811/17/96	added -h (--help) and -f (--facility) option
409
41011/17/96	added setsockopt(..., SOL_IPV6, IPV6_MULTICAST_HOPS), so
411	 	that radvd works for kernel versions >2.1.7 (without this
412	 	you get "NDISC: fake router advertisment received" on your
413	 	hosts)
414	
41511/17/96	added a man page for radvd(8)
416
41711/17/96	some minor filename changes
418
41911/13/96	first release of this version of in.radvd (0.1)
420