forked from radvd-project/radvd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES
810 lines (577 loc) · 28.6 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
2020/09/23 Release v2.19
bug fixes
cleanups
2019/02/25 Release v2.18
2019/02/15 Add TravisCI config
Fix double-free scenario in case if duplicate interface was specified (Fixes #100).
Separate systemd and SysV packaging
Update fedora packaging files
No router advertisements on tunnel interfaces
Add nodaemon option to the manpage
Write to stderr in non-daemonized mode
Fixes memory leak in add_ra_options_dnssl
Check forwarding on interface
Added contrib/95-radvd-gen.
Allow quoted strings in config.
nd_opt_6co: use uint8_t as a bitfield to be endianness-agnostic
2017/12/18 Allow quoted strings in config.
2017/07/03 Release v2.17
2017/07/01 Fix STDERR_SYSLOG log level bug.
Always close stdout and stderr when daemonizing.
2017/03/15 Implement RFC 7772 Section 5.1.1, 5.1.2, defaulted to on. <Robin H. Johnson>
2017/02/04 clang-format the code
2017/02/01 Release v2.16
2017/01/10 Fixed ExecReload in systemd service file <Harald Albrecht>
2016/11/11 Allow selection of RA source address. <Robin H. Johnson>
2016/09/24 Release v2.15
2016/09/18 Moved auto prefix code from config file parse to send_ra.
2016/08/08 Merged ARPHRD_6LOWPAN netlink query from <Alexander Aring>
Add systemd service file <Craig Andrews>
2016/07/05 Fixed bug in new vs old address list comparison when
responding to netlink messages.
Release v2.14
2016/04/02 Fix netlink bug where RADVD reacts to RTM_NEWADDR
messages when there weren't actually any new addresses
to be found. Those RTM_NEWADDR messages were only
sent when NetworkManager was running (which is just
about always).
Release v2.13
2016/02/01 process.c: fixup ugly overflow check
radvd.conf.5.man: minor fixup to 'client' option
radvd.conf.5.man: update abro usage
gram.y: deprecate abro prefix length
device-linux.c: IEEE 802.15.4 musl libc fix
send.c: seconds/miliseconds comparison fix
send.c: preferred lifetime RFC 4862, 5.5.3 fix
defaults.h: remaining lifetime RFC 4862 fix
radvdump: show routes with prefixlen > 64
2015/04/09 added --without-check option to configure <James Guthrie>
Release v2.11
2015/01/22 Reverted random delay work because it broke detecting new
interfaces in a timely manor. <Lonnie>
Release v2.10
Drop md5sum and bz2 packages
2014/12/31 Fix new interface coming up such that it is setup immediately.
This fixes a regression in the 2.x branch from 1.x <volker>
2014/11/16 Fix missing random delay before sending RA.
Fix config file crash when no auto-select prefixes are found
debian-bug-716831
2014/10/06 Remove autoconf=0 code
Fix memory leak after getting SIGHUP
release v2.8
2014/09/10 Move privsep after daemonp call to avoid doing the same
things deamonp does in privsep.
release v2.7
2014/09/03 Write PID file from child, signal parent when complete
Normalize some logging to read like headlines
release v2.6
2014/08/04 release v2.5
2014/06/03 Added autogen.sh
2014/08/02 Limit non-ready interface to a much longer min timeout
Move disable_ipv6_autoconfig to privsep
cleanup some logging
cleaned up some memory leaks
2014/07/30 Add test_rdnss.conf to DIST_EXTRA
Expand make packages rule to extract the tar.gz package
and do a make check on it to (hopefully) prevent
forgetting to update DIST_EXTRA in the future.
release v2.4
2014/07/30 Fix length field in RDNSS
Fix --test option in check_all
release v2.3
2014/07/29 Netlink, setup_iface fix for down interface coming up <Lonnie>
release v2.2
2014/07/20 Revert bison locations in order to support byacc
Amend DIST_EXTRA with the make check files
release v2.1
2014/07/12 Add command line option parsing to the check unit test application
release v2.0
2014/07/10 Add make check target based on the check unit testing framework
release v2.0-rc5
2014/06/28 Add check in configure.ac for clock_gettime <Gustavo Zacarias>
split send_ra into smaller function
orgainize struct Interface with nested structures
release v2.0-rc4
2014/06/16 Makefile.am: Fix out of tree builds
Makefile.am: disable struct-overflow warning
time: Use clock_gettime and monotonic clock <Markus Pargmann>
release v2.0-rc3
2014/06/09 reorder and fix some logging
2014/05/30 add disable_ipv6_autoconfig function so an interface radvd
is using won't autoconfig itself using its own advert
improved netlink message processing to *only* reinit an
interface that changed.
2014/04/10 Add compiler attributes to type check format strings <Cristian Rodríguez>
2014/03/18 release 1.10.0
2014/03/12 dropped --singleprocess option completely
cleaned up some spelling error in the man pages
2014/03/07 log valid and preferred lifetimes
clean up sllao code and test
2014/03/05 6LoWPAN-ND (RFC6775) support <Bhadram>
using ppoll to prevent signal races
2014/02/28 Bug fix 1048653 - UnicastOnly option still sends multicast RA
2014/02/17 Cleaned up Makefile.am
added fstack-protector for security
fixed CFLAGS warning settings
fixed problems in code raised by CFLAGS fix
2014/02/01 fixed some tests which invoked radvd instead of ./radvd
added an iface api which hides the linked list implementation
added a sorted list (by iface index) to the iface api
make globals in gram.y non-global
2014/01/18 add RTMGRP_IPV6_IFADDR processing code to netlink
refactoring, simplification and code cleanup
2014/01/13 using parser locations
the parser can run without root
added a 'make check' target
reworked the initialization of interfaces <Schiffer>
a few global variables are now local
logging radvd PIDs
using 'indent -linux' code style
2014/01/10 use -no-strict-aliasing
2013/11/20 Fixed attempt to get multiple values in an ioctl
improved logging of hardware type
2013/11/17 AdvSendAdvert was being ignored in some cases <Babel>
2013/10/02 releasing 1.9.5
minor fix in IPv6 forwarding setting check <akarl10>
2013/10/01 releasing 1.9.4
2013/09/24 Added a Makefile target to generate hashes and a gpg signature
2013/09/07 Netlink processing fix <Nathan Hintz>
Correction in IPv6 forwarding setting check <Anand Kumria>
fix for kernels with no NETLINK_NO_ENOBUFS defined <Sedat Dilek>
2013/04/13 Force UnicodeOnly if IFF_MULTICAST is unavailable
Remove check for IFF_BROADCAST since it isn't used
2013/03/14 Fix for systems without sysctl.h from vapier
Updating to version 1.9.3
release 1.9.3
2013/03/04 radvdump MTU and route fix by Jean-Jacques
2012/11/20 Replaced [email protected] with [email protected]
Normalized dates in CHANGES to YYYY/MM/DD
release 1.9.2
2012/10/11 Fix in Makefile.am for parallel builds
2012/06/19 Removing AC_C_CONST from configure
2012/06/19 Fixing bashism '==' in configure
Updating to 1.9.1 and releasing
2012/06/14 Version 1.9 release
2012/06/02 Fixing Dabian bug #634485 (GheRivero)
2012/04/10 Using libdaemon
bumping version to 1.9
2012/02/22 include the prefix option in the RA packets even when
AdvPreferredLifetime equals 0, and set AdvPreferredLifetime
as user specified(zero). Li Wei <[email protected]>
2012/02/07 NETLINK_NO_ENOBUFS set on netlink socket to prevent
endless error loop. Patch by Ulrich Weber
2012/01/25 PID in PID file is now correct
1.8.5rc1
2012/01/21 1.8.4 released
2012/01/12 renaming configure.in to configure.ac
removing CVS keywords
1.8.4rc1
2012/01/07 Always do privsep on linux. Validate the PID file contents.
2011/11/02 Adding --nodaemon option
2011/10/14 1.8.3 release
2011/10/08 More careful checking of iface name
2011/10/06 Updating buffer usage tracking in send_ra to track buffer usage BEFORE
the buffer is used rather than after in order to prevent buffer overflow
2011/10/06 1.8.2 release
2011/10/04 1) A privilege escalation flaw was found in radvd, due to a buffer overflow
in the process_ra() function. ND_OPT_DNSSL_INFORMATION option parsing
"label_len" was not checked for negative values, leading to a "suffix"
buffer overflow which can lead to privilege escalation, at least if
radvd is compiled without GCC's stack protection. If radvd is invoked
without privilege separation (the -u option), this can lead to an
escalation to root privileges. Note: Red Hat Enterprise Linux starts
radvd by default with the unprivileged user. (CVE-2011-3601)
2) An arbitrary file overwrite flaw was found in radvd's
set_interface_var() function, where it did not check the interface name
(generated by the unprivileged user) and blindly overwrites a filename
with a decimal value by the root process. If a local attacker could
create symlinks pointing to arbitrary files on the system, they could
overwrite the target file contents. If only radvd is compromised (e.g.
no local access), the attacker may only overwrite files with specific
names only (PROC_SYS_IP6_* from radvd's pathnames.h). (CVE-2011-3602)
3) The radvd daemon would not fail on privsep_init() errors, which could
cause it to run with full root privileges when it should be running as
an unprivileged user. (CVE-2011-3603)
4) A number of buffer overread flaws were found in radvd's process_ra()
function due to numerous missed len() checks. This can lead to memory
reads outside of the stack, resulting in a crash of radvd.
(CVE-2011-3604)
5) A temporary denial of service flaw was found in radvd's process_rs()
function, where it would call mdelay() on the same thread in which it
handled all input. If ->UnicastOnly were set, an attacker could cause a
flood with ND_ROUTER_SOLICIT and fill the input queue of the daemon.
This would cause a brief outage of approximately MAX_RA_DELAY_TIME / 2 *
sizeof_input_queue when handling new clients, where MAX_RA_DELAY_TIME is
500ms, leading to delays of more than a minute. Note: this is only the
case in unicast-only mode; there is no denial of service in the (normal,
default) anycast mode. (CVE-2011-3605)
2011/08/19 uClibc has no ifaddrs.h patch by Lonnie
slight changes to debugging output when receiving ra's and rs's
2011/05/14 Version 1.8 release
2011/05/10 removed AdvRDNSSPreference and AdvRDNSSOpen from the manpages
2011/05/06 - IgnoreIfMissing now defaults to on
- Fixed inf loop in Base6Interface (from Ludwig Nussel)
- Modified string regex in scanner.l reducing the compiled
size of scanner.o by a factor or 10.
2011/05/04 - radvd is useful for advertising ULA's without having a
router too (from Ludwig Nussel)
- Bumping version number to 1.8alpha in VERSION for testing
2011/04/28 Adding DecrementLifetimes patch (from Mark Smith)
2011/03/25 Renaming RemoveRoute to FlushRoute (from Mark Smith)
2011/03/22 Adding RemoveRoute options (from Mark Smith)
2011/03/20 Added DeprecatePrefix option (from Mark Smith)
2011/02/28 fixed Debian Bug#615625: radvd: Error in DNSSL parsing
2011/02/26 Added Base6Interface option
2011/01/30 Added detailed output to radvd --help for the long options.
Two sigterms or sigints calls abort.
build system cleanup work.
2011/01/22 Fixed crash and memory leak in device-bsd44.c when an
interface defined in the config file doesn't exist.
Patch submitted by Manual Kasper.
2011/01/12 Release 1.7.
2011/01/07 make dist (for building tar.gz source packages) fixed.
- 07/01: AdvSourceLLAddress fixed on FreeBSD when link
layer token length is zero.
2010/12/14 Deprecate old, pre-RFC5006 parameters.
Support RFC6106 by adding DNS Search List support.
From Pierre Ossman.
2010/12/14 Integrate cleanup patches from Reuben Hawkins:
- 14/05: patch configure.in to allow OSX 10.6 builds
- 05/06: Unnecessary >255 test when using uint8_t
- 06/06: fix fscanf parsing on Linux
- 10/12: Fix whitespaces; #includes; CLEANFILES
From Ben Greear:
- 05/11: Print errors on all exit() codepaths.
From Iain J. Watson:
- 09/12: Add '-c' flag to test configuration.
From Pierre Ossman (idea):
- 13/12: Remove automake-generated files.
2010/05/04 Fix a segmentation fault on reload_config() timer list
corruption that only occurs with multiple interfaces.
2010/03/10 Fix radvd skipping multiple interfaces when
UnicastOnly is on or AdvSendAdvert is off.
This got broken in radvd 1.3. Patch from Cedric BAIL.
2010/03/05 Release 1.6.
2010/03/05 Update Redhat spec and init files from Fedora.
2010/01/28 Decrease MSG_SIZE from 4096 to about 1500B. Send buffer
uses a smaller size in order to avoid sending out
fragmented packets, yet being able to receive full-size
frames.
2010/01/28 Keep track of buffer size and exit if the number of
prefixes/routes/etc. would grow too much. Prevent a memory
corruption due to wrong memset. Patches from Jan
Görig, Red Hat bug #554125.
2010/01/22 On BSD use getifaddrs() also in setup_deviceinfo(),
fixes a multiple interfaces problem on NetBSD 5 due to
change in data structures. Patch from Michael Stapelberg.
2009/11/07 Allow radvd.conf prefix, clients, route, and RDNSS options
to be in any order. Patch from Michael Stapelberg.
2009/09/10 Release 1.5.
2009/09/07 Fix infinite loop/segmentation fault problems when cable
plugged out/plugged back in, caused by reload_config()
and subsequent timer list corruption. Slightly modified
patch from Teemu Torma. For more information, see
http://lists.litech.org/pipermail/radvd-devel-l/2009-August/000416.html
2009/09/07 Fix IgnoreIfMissing when cable is unplugged at startup.
Radvd would keep skipping the interface. Patch from
Reuben Hawkins.
2009/08/25 Fix parallel make, from Robert Buchholz / Gentoo.
2009/08/03 Release 1.4. Only restores original behaviour changed in
1.3: RAs were accidentally often unicast to solicitors
instead of being multicast.
2009/07/07 Release 1.3.
2009/06/24 Work around unaligned traps on Alpha, patch from:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=456205
2009/06/19 Fixes and enhancements from Michael Stapelberg. Add a new
'clients' interface definition to allow configuring which
address to send advertisements and accept from. Use
getifaddrs() on BSD because ioctl didn't work on NetBSD 5.
Use int instead of bool to make NetBSD 5 happy.
2009/01/21 Add a workaround for Linux in scenarios where libc is
providing IPV6_RECV(PKTINFO|HOPLIMIT) has renumbered IPV6_PKTINFO,
but kernel doesn't support it yet (<2.6.14). Found out by
Freetz (special thanks to Paul Oranje) and OpenWrt projects.
See the source code and CVS changelog for more.
2008/10/28 Release 1.2.
2008/10/14 Accept virtually any interface name (up to 15 chars) instead of
forcing a specific naming convention. Patch from
Michiel Brandenburg.
If stale radvd.pid file exists, try to overwrite it unless
the specified PID exists, from Fedora (Martin Nagy).
Define _GNU_SOURCE on Linux, otherwise glibc >= 2.8
compilation fails.
Remove -Wconversion from default CFLAGS as it is very noisy.
Fix some warnings, from Jim Paris.
2008/03/31 Update references to RFCs. Give pointer to the "two hour rule".
Decrease the default valid and preferred lifetimes from 30/1
days to 1day/4hours, respectively. See more info at:
http://lists.litech.org/pipermail/radvd-devel-l/2007-October/000282.html
2008/02/04 Release 1.1.
2008/01/24 Implement privilege separation (Linux only) so that
config_interface() works both with a user and root,
even after HUP signal. Work by Jim Paris.
2008/01/24 The old Linux retrans_timer proc value is given in
USER_HZ, not in seconds. Fix that, by Jim Paris.
2008/01/21 Fix stderr+syslog logging crash (on non-i386). Analysis and
patch by Jim Paris (Debian bug #409600).
2007/12/01 Require that interface is also 'RUNNING' instead of just
'UP', except if IgnoreIfMissing is enabled. The reason is
that at least some recent Linux kernels do not generate
link-local addresses before interface is running and as
a result, the startup may fail if network cable is unplugged
in any case.
Note: this could break deployments with some very old
kernels, see more info at:
http://lists.litech.org/pipermail/radvd-devel-l/2007-October/000280.html
2007/10/25 Implement automatically selecting and advertising an
interface address, see radvd.conf(5) for more. Add
a warning about not being able to set interface
variables with non-root user. Relax interface naming
a bit.
2007/06/25 Send prefix, route and RDNSS options (matters if there
are many RDNSS options) in the same order they appear
in the configuration; add support for AdvDefaultLifetime
in radvdump (patches from C. Scott Ananian)
2006/01/11 Release 1.0.
2006/09/10 Perform a static/dynamic code audit; plug some minor
bugs (see CVS changelogs for more information) and
perform minor clean-up.
2006/07/08 Implement MAX_INITIAL_RTR_ADVERT_INTERVAL handling,
patch from Yoshifuji Hideaki / USAGI.
2006/05/23 Unblock SIGALRM signals at startup. Some scripts/programs
seem to run radvd from ALRM-blocked context which breaks
the timers.
2006/05/23 Redefined IgnoreIfMissing: by default, radvd will now
try to reinitialize failed interfaces automatically.
IgnoreIfMissing is still needed if radvd is started when the
interface isn't up, and it also quenches some messages
relating to missing interfaces.
2006/03/29 Implement RDNSS draft, using non-allocated
IANA ND type value 25, by Lauréline Provost,
Mickaël Guérin, Adrien Clerc, Gaetan Eleouet,
Bahattin Demirplak, Lionel Guilmin (at the
ENSEEIHT, Toulouse)
2006/03/06 Fix the default STDERR+syslog logging methods, so
we don't try to unnecessarily log to STDERR after
forking.
2006/01/18 radvd-0.9.1 did not initialize AdvDefaultLifetime (etc.)
appropriately, unbreak the "clean-up".
2006/01/13 Release 0.9.1.
2005/12/30 Great cleanup of signed/unsigned values, add
-Wall and a number of other warnings to CFLAGS
by default. Do not allow signed values for
HomeAgentPreference anymore.
2005/12/30 Fix a couple of IPv6 Ready Logo Phase-2 IPv6 Core
Protocols Self Test issues, patches from Yoshifuji
Hideaki / USAGI.
2005/11/13 Create a short FAQ in README file.
2005/10/28 Get interface MTU automatically, so that you can
use jumboframes and advertise MTU >1500.
2005/10/19 Release 0.9.
2005/10/18 Transfer sole maintainership of radvd to Pekka Savola.
2005/10/18 Make the radvd.conf syntax dump default
in radvdump and remove the previous default to
reduce code duplication.
2005/09/28 Add NEMO Basic support (RFC3961) and fix default
HomeAgentLifetime, from Ville Nuorvala.
2005/08/18 Implement more robust timer handler, especially
because some Linux kernels don't seem to behave
all that well; see http://lkml.org/lkml/2005/4/29/163.
Based on extensive testing & reports by
Tomasz Grobelny. NB: the bug report was caused by
a bad timer patch in PLD's kernel package, and this
should not occur often with standard kernels.
2005/07/24 Implement a new logging method "stderr_syslog" which is
now also the default. Everything is logged on syslog,
while the most important messages (i.e., start-up failures)
are also logged on stderr.
2005/07/08 Release 0.8.
2005/07/05 Change the more-specific route ND option code
from de-facto '9' to the official '24'. Change
back in defaults.h if you need old behaviour.
2005/07/05 Fix wrongly calculated prefix with Base6to4Interface
on ppc and maybe other big endian arches, from
Debian #301543 by Sam Hathaway.
2005/07/05 Fix Linux-2.6.12-bk4+ error with HUP signal,
from YOSHIFUJI Hideaki / USAGI.
2005/03/29 Merge a part of MIPv6/non-MIPv6 code, make printing
error messages nicer.
2005/03/22 Be a bit more informative about config file parsing
errors.
2005/02/21 Release 0.7.3.
2005/02/19 Fix crash when reloading config with AdvSendAdvert off.
2005/02/15 Merge a few fixes and improvements from USAGI:
- support microsecond scheduling and fix RA intervals
- send zero router lifetime when forwarding is disabled
- use a more flexible inter-RA delay
2005/01/07 Accomodate interface indexes > 9999, from Hagen Fritsch.
2004/12/15 Advertise zero Router Lifetime when shutting down;
implements a SHOULD in RFC2461 section 6.2.5.
2004/10/16 Update Mobile IPv6 to match RFC 3775, from Greg Daley.
2004/08/20 Minor documentation cleanups.
2004/03/09 Implement "IgnoreIfMissing" interface flag, which can be
used on interfaces which aren't enabled when radvd starts
but will later become available (e.g., Bluetooth) --
and then you wish to send HUP to radvd to activate the
configs.
2004/02/21 Further cleanups, to fix autoconf/autoheader problems
with newer toolchain; mostly by Marko Myllynen.
2004/02/20 Clean up a bit: remove old junk from configure.in,
rename "log()" to "flog()" to satisfy newer GCCs,
allow underscores in the interface names (the last two
fixes already committed earlier).
2004/01/19 Make radvd check for forwarding status using procfs on
Linux; needed with 2.6 kernels. Loosely based on
a patch by USAGI.
2003/11/21 Add support for Router Preferences and More Specific
Routes from Markku Savela <[email protected]>.
NOTE! The specification is not final yet, there will be
changes! (Man page, documentation and radvdump support
by Pekka Savola.)
2003/09/11 When starting up, check if the MAC address is all zero
(could happen e.g. with bridge interfaces with no attached
physical interfaces), and warn if so. For more information,
http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=103469
2003/06/10 When chrooting, check the possible return code
from chdir("/").
2003/03/08 Add patch from MAEDA Naoaki <[email protected]>
to discard RS's from the unspecied source address with
link-layer address option, as required by RFC2461.
2002/10/28 Release 0.7.2:
- add support for VLANs (from USAGI)
- make it compile better on newer NetBSD's (NetBSD)
- fix a syntax error in radvd.conf(5) sample documentation
- use IPV6_RECV{HOPLIMIT,PKTINFO} not
IPV6_{HOPLIMIT,PKTINFO} if supported
- (in Red Hat spec file) don't create radvd gid explicitly
- a lot of coding style cleanups
2002/01/16 Release 0.7.1.
2002/01/12 Update config.{guess,sub} from ftp.gnu.org; update INTRO.
Marko Myllynen and Debian bug #115992.
2002/01/02 Ensure NULL-termination with strncpy.
2001/12/31 Radvdump fixes: eliminate a warning of Prefix Information
sections with '-d -f'; add a note that
{Min,Max}RtrAdvInterval cannot be obtained with '-f';
implement '-e' to be used with '-f' which omits all
advertised default settings. Mostly by Marko Myllynen.
2001/12/28 Small cleanups. AdvSendAdvert is implicitly off by
default. Check configuration file permissions; must
not be writable by others, and if non-root,
not by self/own group. By Marko Myllynen.
2001/12/21 Check via sysctl that IPv6 forwarding is enabled;
exit unless debugging is enabled. Triggered by
Marko Myllynen.
2001/11/22 MinRtrAdvInterval for MIPv6 is 0.05 seconds, not 0.5.
(Note: untested).
2001/11/20 Rework BSD device memory management a bit, minor cleanups.
Version bumped to 0.7.0.
2001/11/14 Maintainership of radvd transferred from Lars Fenneberg
to Pekka Savola and Nathan Lutchansky. Lars' CVS
repository adopted, and changes merged from the -pX
branch.
2001/08/29 Minor change for NetBSD 1.5.1 compatibility.
(Nathan Lutchansky)
2001/07/20 Support for non-multicast links, like ISATAP.
(Nathan Lutchansky)
2001/07/03 Minimum MTU has been changed to 1280 in the latest RFC's.
(Pekka Savola)
2001/06/30 Check for possible buffer overflows; replace strcpy with
strncpy. No fatals found. Remove redunant radvd -t check.
(Pekka Savola)
2001/06/24 Fix 1-byte overflow in /proc/net/igmp6 handling,
clean out possible memory garbage when sending RA's
(patch from <[email protected]>).
2001/06/19 When dropping root, also set up supplementary groups
properly. On Linux, when sending RA's, check that the
interface has joined all-routers multicast group. Add a few
RFC2461 MUST sanity checks when receiving datagrams. Clean
out non-EUI64 addressing scheme and other minor bits.
(Pekka Savola)
2001/04/28 Misc cleanup and bugfixes, automake support.
2001/03/28 Grammar cleanup. Integrated 6to4 support through
"Base6to4Interface" option in prefix configuration. Signal
handling fixed by blocking on select() rather than recvmsg()
so SIGTERM/HUP take effect immediately now. (Nathan Lutchansky)
2001/03/27 Security fixes: close stdin/out and chdir("/") via
daemon() to prevent possible exploits, and a flag to allow
radvd to set[ug]id to an unprivileged user (from Pekka Savola).
2001/02/01 scope_id is not supported in glibc2.1. So it is now
compiled conditionally.
2001/01/31 Add CC variable to Makefile. Fix bug with IPV6_ADD_MEMBERSHIP
handling. Set scope_id when sending packets.
2000/12/02 man pages update, rewritten pid file handling, rewritten
signal handling (SIGHUP and SIGTERM), gcc warnings cleanup,
new radvdump option -f: print received RAs in config file
format (by Marko)
2000/11/19 integrated the last two change entries into the main source
(patches by Marko Myllynen), fixed bug in log.c, fixed file
description leak in readin_config, rewrote code in timer.c,
updated man pages again (from Marko Myllynen, too), PID
file support (patch from Marko Myllynen, based on a patch
from [email protected])
2000/08/15 RFC 2461 updates, Mobile IPv6 extensions added
2000/07/14 added RA interval option and modified some default values
for timers
1999/06/15 changed to run with glibc 2.1 on RedHat 6.0.
1998/03/03 radvd now joins ipv6-allrouters on Linux. Fix contributed
by A.N.Kuznetsov <[email protected]>.
1997/10/23 radvd will now accept any prefix length in its config
file but will warn about unusual ones
1997/10/19 removed backwards compatibility code in recv.c.
IPV6_HOPLIMIT support is now assumed to exist.
1997/10/19 fixed alignment problems in recv.c and send.c.
1997/10/16 the Makefile install target now uses mkinstalldirs.
1997/10/16 changed all u_int*_t to uint*_t for better POSIX
compliance and portability. Needs 2.1.57-CVS or glibc.
BSD seems to need patches.
1997/10/16 more intelligent configure; tries to figure out
where the IPv6 libraries and inclues are (if not in
the standard places). Searches in /usr/inet6 and /usr/ipv6.
1997/10/15 integrated small patches for glibc and BSD from Craig and
Philip
1997/09/14 EUI-64 "support"
1997/09/01 centralized all includes into includes.h for easier
maintainance
1997/08/25 changed all occurences of IPV6_TXINFO/IPV6_RXINFO
to IPV6_PKTINFO
1997/08/25 removed some compatibility stuff for older Linux kernels
1997/03/17 changed linux/if_arp.h to net/if_arp.h in device-linux.c
and configure.in (for glibc compatibility)
1997/03/17 integrated patch from Philip Blundell <[email protected]>
into configure.in to check for inet_* in libc first and
then for libinet6 (for glibc compatibility).
1997/03/16 corrected small error in radvd.conf(5) man page and other
small changes
1997/03/16 removed linklocal.c source file from the distribution
because it wasn't used anymore
1997/03/16 added html version of the INTRO, removed ascii version.
1997/02/12 missing directories are now created on make install
1997/01/19 now also the rest of a line followed by a '#' is treated
as a comment in the config file
1997/01/16 added IPPROTO_IPV6/IPV6_HOPLIMIT support, so now incoming
RS' and RAs are checked if there hoplimit is 255 (on Linux
this only works with kernel version 2.1.21 and above)
1997/01/15 lots of portability cleanups; radvd is now using autoconf
for automatic configuration; removed support for the
in. prefix
1997/01/05 integrated BSD 4.4 patches from Craig <[email protected]>
1996/12/21 release of version 0.3
1996/12/15 the AdvSendAdvert flag works now
1996/12/14 added radvdump, dumps all received RAs in a human
readable form
1996/12/13 rewrote radvd to use new advanced API headers
1996/12/08 added radvd.conf(5) man page
1996/12/03 changed RAW_CHECKSUM to IPV6_CHECKSUM for kernels
2.1.14 and above
1996/11/24 added checking of received RAs according to RFC 1970
1996/11/20 rewrote the default handling, now it should conform
to RFC 1970
1996/11/17 release of version 0.2
1996/11/17 added -h (--help) and -f (--facility) option
1996/11/17 added setsockopt(..., SOL_IPV6, IPV6_MULTICAST_HOPS), so
that radvd works for kernel versions >2.1.7 (without this
you get "NDISC: fake router advertisment received" on your
hosts)
1996/11/17 added a man page for radvd(8)
1996/11/17 some minor filename changes
1996/11/13 first release of this version of in.radvd (0.1)