Commit Graph

21 Commits

Author SHA1 Message Date
christos b3ffdf360d - remove extra \n from stderr logging
- add string message types
- sprinkle const
2021-03-22 18:41:11 +00:00
roy 8a7de48817 rtadvd: Add C flag to control the zeroing of the leaving configuration
This is only intended to assist the testing of clients which consume
Router Advertisement messages, such as dhcpcd(8).
2019-11-11 13:42:49 +00:00
roy 1aeb87918e Update values from RFC 8319 2018-04-20 16:37:17 +00:00
roy e673cfdc24 Make the #defines more readable 2018-04-20 16:18:18 +00:00
roy 5977af5905 Unicast solicited RA's as per RFC 7772.
This is done by having a secondary timer against rainfo so we
can delay unicasting by the required randomised amount of time
without affecting the unsolicited RA timer.
2018-04-20 15:57:23 +00:00
roy e4c3b35870 White space police. 2018-04-20 10:39:37 +00:00
ozaki-r cd58b07d6c Fix the default value of rltime
According to rtadvd.conf(5), the default value of rltime is 1800 seconds.

PR bin/51994
2017-02-27 05:41:36 +00:00
roy 76ec1114d0 Use clock_gettime(2) instead of gettimeofday(2) so we can use a monotonic
clock rather than the wall clock.
Use timespec rather than timeval structs to make this transition easier.
Kill custom timeval comparison functions in favor of timespeccmp(3).
2015-06-05 14:09:20 +00:00
roy d87d6793f0 Add _rtadvd user and group.
Add a chroot dir for the _rtadvd user.
Drop privs to the user _rtadvd after acquiring our socket.
When rc.d/rtadvd starts or reloads, the rtadvd config file is copied
into the chroot before starting or reloading rtadvd itself.
Create a symlink from /var/run/rtadvd.dump to the chroot

Inital idea from OpenBSD patch rtadvd.c r1.36
2013-07-09 09:34:58 +00:00
roy 83ab565911 Remove the iflist array and store ifflags in rainfo.
Add support for SIGHUP to re-read the configuration for each interface.
If an invalid configuration is found, we continue to use the old one;
otherwise we expire the current one and then start advertising the new one.

Specififed interfaces don't have to exist at startup.
If specified interfaces arrive, load their config and start advertising.
If they depart, remove their rainfo structure and continue.

Fixes PR/43881 and PR/47311
2012-12-13 15:36:35 +00:00
roy 4d6bb52603 Add RDNSS and DNSSL support, RFC6106.
Replace custom lists with TAILQ lists.
Clean up plently of signed vs unsigned warnings and set WARNS=4.

Adapted from FreeBSD.
2011-12-10 19:14:29 +00:00
rpaulo 8c2379fd97 NDP-related improvements:
RFC4191
	- supports host-side router-preference

	RFC3542
	- if DAD fails on a interface, disables IPv6 operation on the
          interface
	- don't advertise MLD report before DAD finishes

	Others
	- fixes integer overflow for valid and preferred lifetimes
	- improves timer granularity for MLD, using callout-timer.
	- reflects rtadvd's IPv6 host variable information into kernel
	  (router only)
	- adds a sysctl option to enable/disable pMTUd for multicast
          packets
	- performs NUD on PPP/GRE interface by default
	- Redirect works regardless of ip6_accept_rtadv
	- removes RFC1885-related code

From the KAME project via SUZUKI Shinsuke.
Reviewed by core.
2006-03-05 23:47:08 +00:00
itojun cde8ec7d66 KNF, strlcpy, memory leak fix, random other cleanups. sync w/kame 2002-05-29 14:40:31 +00:00
itojun 1b614e8939 minor sync w/kame (prototype location) 2002-05-21 23:16:39 +00:00
itojun 33413b2866 KNF. a memory leak fix. sync w/kame 2002-05-21 14:22:05 +00:00
itojun a88307ab86 sync with latest kame tree.
- reduce chances for signal handler rae condition
- decrease chances for misconfiguration
- feedbacks from router renumbering protocol bakeoff
2001-01-15 06:14:05 +00:00
itojun 19a4d0910c sync with sys/netinet/icmp6.h change (no bitfield for router renumber).
more logging.  improve error handling/garbage collection.  sync with kame.
2000-07-06 12:37:56 +00:00
itojun e459e7617b sync with latest kame.
- decrease warning level on missing rtadvd.conf (actually, the file
  can be omitted)
- strict prototype
- gather stats better, emit stats on SIGUSR1 to /var/run
2000-05-23 11:37:58 +00:00
itojun 6f7d4a0536 bring in latest kame tree. this fixes unclosed file descdriptor
in router renumbering case.
2000-03-13 06:16:46 +00:00
itojun 6a12600abf fix for 64bit arch, where sizeof(size_t) != sizeof(int).
add NetBSD RCS ID.
1999-07-06 13:02:09 +00:00
itojun 134b5f49f2 rtadvd: advertise IPv6 prefix info via router advertisement.
(to be run on routers)
1999-07-02 09:28:16 +00:00