History log of /freebsd-10.0-release/usr.sbin/rtadvd/config.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 259065 07-Dec-2013 gjb

- Copy stable/10 (r259064) to releng/10.0 as part of the
10.0-RELEASE cycle.
- Update __FreeBSD_version [1]
- Set branch name to -RC1

[1] 10.0-CURRENT __FreeBSD_version value ended at '55', so
start releng/10.0 at '100' so the branch is started with
a value ending in zero.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


# 254955 27-Aug-2013 hrs

Fix a crash when reloading the configuration file.

Spotted by: des


# 254684 23-Aug-2013 des

Set the back pointer from the prefix to the interface before adding
the prefix to the interface's prefix list. This shouldn't make a
difference, since rtadvd(8) is single-threaded, but I've seen it crash
in delete_prefix() with pfx_rainfo == NULL, and this is the only place
where a prefix can be added to the list with a NULL pfx_rainfo.

MFC after: 3 days


# 253970 05-Aug-2013 hrs

- Use time_uptime instead of time_second in data structures for
PF_INET6 in kernel. This fixes various malfunction when the wall time
clock is changed. Bump __FreeBSD_version to 1000041.

- Use clock_gettime(CLOCK_MONOTONIC_FAST) in userland utilities.

MFC after: 1 month


# 253057 09-Jul-2013 hrs

Add a missing white space.


# 228990 30-Dec-2011 uqs

Spelling fixes for usr.sbin/


# 224144 17-Jul-2011 hrs

- Improve interface list handling. The rtadvd(8) now supports dynamically-
added/removed interfaces in a more consistent manner and reloading the
configuration file.

- Implement burst unsolicited RA sending into the internal RA timer framework
when AdvSendAdvertisements and/or configuration entries are changed as
described in RFC 4861 6.2.4. This fixes issues that make termination of the
rtadvd(8) daemon take very long time.

An interface now has three internal states, UNCONFIGURED, TRANSITIVE, or
CONFIGURED, and the burst unsolicited sending happens in TRANSITIVE.
See rtadvd.h for the details.

- rtadvd(8) now accepts non-existent interfaces as well in the command line.

- Add control socket support and rtadvctl(8) utility to show the RA information
in rtadvd(8). Dumping by SIGUSR1 has been removed in favor of it.


# 222972 11-Jun-2011 hrs

Support SIGHUP for reloading /etc/rtadvd.conf.


# 222820 07-Jun-2011 hrs

- Use ELM_MALLOC() for struct rainfo.

- Fix a missing back pointer assignment in struct prefix to struct rainfo
when addr="" is specified. This caused SIGSEGV.

- Insert a prefix element to a tail queue after setting parameters.


# 222743 06-Jun-2011 hrs

Fix build on 64-bit arch.

Submitted by: dim
Pointy hat to: hrs


# 222732 06-Jun-2011 hrs

- Implement RDNSS and DNSSL options (RFC 6106, IPv6 Router Advertisement
Options for DNS Configuration) into rtadvd(8) and rtsold(8). DNS
information received by rtsold(8) will go to resolv.conf(5) by
resolvconf(8) script. This is based on work by J.R. Oldroyd (kern/156259)
but revised extensively[1].

- rtadvd(8) now supports "noifprefix" to disable gathering on-link prefixes
from interfaces when no "addr" is specified[2]. An entry in rtadvd.conf
with "noifprefix" + no "addr" generates an RA message with no prefix
information option.

- rtadvd(8) now supports RTM_IFANNOUNCE message to fix crashes when an
interface is added or removed.

- Correct bogus ND_OPT_ROUTE_INFO value to one in RFC 4191.

Reviewed by: bz[1]
PR: kern/156259 [1]
PR: bin/152458 [2]


# 173412 07-Nov-2007 kevlo

Cleanup of userland __P use


# 157047 23-Mar-2006 suz

avoid heap overrun

Obtained from: KAME
MFC after: 1 day


# 152538 17-Nov-2005 suz

fixed a typo in comment


# 151468 19-Oct-2005 suz

added an ioctl option in kernel so that ndp/rtadvd can change some NDP-related kernel variables based on their configurations (RFC2461 p.43 6.2.1 mandates this for IPv6 routers)

Obtained from: KAME
Reviewd by: ume, gnn
MFC after: 2 weeks


# 136764 22-Oct-2004 suz

removed compilation warning

PR: bin/71624


# 118968 15-Aug-2003 ume

- supported a string notation for xxflags.
- deprecate routes#N, as it is hard to keep consistency with
rtprefixN. accept any number of "rtprefix", "rtrefix0",
..., "rtprefix99".
- deprecate "addrs#N", as it is difficult for users to keep
consistency with "addrN".
accept 100 prefix info in maximum - like "addr", "addr0"
... "addr99". WARNS=2 clean on netbsd.
old configuration file should work just fine.
behavior change:
previously, we rejected "addrN" if there's "addr", and we rejected
"addr" if there is "addrN". now we accept both without problem.
- when an advertised prefix configured from the kernel has been added
or invalidated, notice the change in a short delay.
- when invalidating a prefix, do not bark even if there is
inconsistency about prefix lifetimes.
- wrap more specific route info code into ROUTEINFO.

Obtained from: KAME
MFC after: 1 week


# 118831 12-Aug-2003 ume

malloc() may return NULL.

Obtained from: KAME
MFC after: 1 week


# 118787 11-Aug-2003 ume

reduce #ifdef.

MFC after: 1 week


# 118786 11-Aug-2003 ume

use strlcpy() and snprintf().

Obtained from: KAME
MFC after: 1 week


# 118784 11-Aug-2003 ume

use int64_t instead of long long.

Obtained from: KAME
MFC after: 1 week


# 118672 08-Aug-2003 ume

Drop MIP6 code. We don't support MIP6 yet.

MFC after: 1 week


# 118664 08-Aug-2003 ume

KNF, correct typos and cleanup spaces.

Obtained from: KAME
MFC after: 1 week


# 118660 08-Aug-2003 ume

__FUNCTION__ --> __func__

Obtained from: KAME
MFC after: 1 week


# 113325 10-Apr-2003 suz

- fixed byte order of route lifetimes in route info opptions.
- corrected wording in a log message.

Obtained from: KAME
MFC after: 1 week


# 113137 05-Apr-2003 njl

Use assignment, not equivalence test.

No response from: suz


# 112976 02-Apr-2003 suz

fixed invalid pointer reference

Obtained from: KAME


# 108470 30-Dec-2002 schweikh

Fix typos, mostly s/ an / a / where appropriate and a few s/an/and/
Add FreeBSD Id tag where missing.


# 98262 15-Jun-2002 ume

Do not issue deprecated ioctl.

Obtained from: KAME
MFC after: 2 weeks


# 98172 13-Jun-2002 ume

Changed the behavior when an interface-direct prefix being advertised
was removed from the kernel;
Advertise the prefix with zero lifetimes rather than to remove the prefix
from the prefix list to be advertised.
This will help renumber a receiving host by deprecating the address
derived from the old prefix.

Obtained from: KAME
MFC after: 2 weeks


# 97719 01-Jun-2002 ume

Skip duplicated prefixes in get_prefix().

Obtained from: KAME


# 97709 01-Jun-2002 ume

sprintf -> snprintf

Obtained from: KAME


# 78064 11-Jun-2001 ume

Sync with recent KAME.
This work was based on kame-20010528-freebsd43-snap.tgz and some
critical problem after the snap was out were fixed.
There are many many changes since last KAME merge.

TODO:
- The definitions of SADB_* in sys/net/pfkeyv2.h are still different
from RFC2407/IANA assignment because of binary compatibility
issue. It should be fixed under 5-CURRENT.
- ip6po_m member of struct ip6_pktopts is no longer used. But, it
is still there because of binary compatibility issue. It should
be removed under 5-CURRENT.

Reviewed by: itojun
Obtained from: KAME
MFC after: 3 weeks


# 71437 23-Jan-2001 ume

zero-cleared allocated prefix information when configured.

Obtained from: KAME


# 71333 21-Jan-2001 itojun

make it easier to handle $FreeBSD$ tags (amount of diff matters).


# 62656 05-Jul-2000 kris

Sync with latest KAME

Obtained from: KAME


# 57852 09-Mar-2000 shin

Added several socket close() which were mistakenly forgotten.

Reported by: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>


# 57120 10-Feb-2000 shin

Forbid include of soem inet6 header files from wrong place

KAME put INET6 related stuff into sys/netinet6 dir, but IPv6
standard API(RFC2553) require following files to be under sys/netinet.
netinet/ip6.h
netinet/icmp6.h
Now those header files just include each following files.
netinet6/ip6.h
netinet6/icmp6.h

Also KAME has netinet6/in6.h for easy INET6 common defs
sharing between different BSDs, but RFC2553 requires only
netinet/in.h should be included from userland.
So netinet/in.h also includes netinet6/in6.h inside.

To keep apps portability, apps should not directly include
above files from netinet6 dir.
Ideally, all contents of,
netinet6/ip6.h
netinet6/icmp6.h
netinet6/in6.h
should be moved into
netinet/ip6.h
netinet/icmp6.h
netinet/in.h
but to avoid big changes in this stage, add some hack, that
-Put some special macro define into those files under neitnet
-Let files under netinet6 cause error if it is included
from some apps, and, if the specifal macro define is not
defined.
(which should have been defined if files under netinet is
included)
-And let them print an error message which tells the
correct name of the include file to be included.

Also fix apps which includes invalid header files.

Approved by: jkh

Obtained from: KAME project


# 55505 06-Jan-2000 shin

libipsec and IPsec related apps. (and some KAME related man pages)

Reviewed by: freebsd-arch, cvs-committers
Obtained from: KAME project