Commit Graph

147 Commits

Author SHA1 Message Date
Ulrich Spörlein
3df5ecac8c Spelling fixes for usr.sbin/ 2011-12-30 10:58:14 +00:00
Hiroki Sato
8cdd0a8091 Remove RA timer on an interface with !IFF_UP actively after starting to send
clean-up RA messages for shutting down.  The RA timers could prevent the rtadvd
daemon from shutting down because ra_output() just ignored !IFF_UP interfaces
and TRANSITIVE->UNCONFIGURED state transition never happened due to it.

Spotted by:	kib
Approved by:	re (bz)
2011-09-20 00:32:30 +00:00
Hiroki Sato
aed378729e - Fix a bug that can lead to displaying an incorrect value. (r224210)
- Fix an abnormal termination caused by twice of "rtadvctl disable". (r224303)
- Use poll() to wait for the control message socket instead of a spin loop.
  (r224304)
- s/cmsg_/cm_/ to avoid conflict with CMSG_* symbols for struct cmsghdr.
  (r224619)
- Ignore an interface that never sent RAs for graceful shut-down. (r224620)
- Refine log messages. (r225148)
- Fix SIGSEGV when receiving RAs that contain RDNSS and/or DNSSL options.
  (r225149)

Approved by:	re (kib)
2011-09-12 23:52:55 +00:00
Hiroki Sato
3724189620 - 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.
2011-07-17 19:24:54 +00:00
Hiroki Sato
adfd20273c Add sanity check for ifm_version in struct if_msghdr. 2011-07-04 03:19:06 +00:00
Hiroki Sato
729d2abb51 Support SIGHUP for reloading /etc/rtadvd.conf. 2011-06-11 03:25:10 +00:00
Hiroki Sato
5a10f1ccec Fix a bug that prevents tc=xxx from working. 2011-06-07 15:40:17 +00:00
Hiroki Sato
07a42575b4 - 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.
2011-06-07 12:00:29 +00:00
Hiroki Sato
37a0ad8079 Set WARNS=1 temporarily to unbreak universe. 2011-06-06 20:14:50 +00:00
Hiroki Sato
587d184d3d Fix build on 64-bit arch.
Submitted by:	dim
Pointy hat to:	hrs
2011-06-06 10:51:00 +00:00
Hiroki Sato
db82af41db - 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]
2011-06-06 03:06:43 +00:00
Bjoern A. Zeeb
5033bae6d0 Prevent crashes from a race when (cloned) interfaces go away.
PR:		bin/152143
Submitted by:	Przemyslaw Frasunek (przemyslaw frasunek.com)
Tested by:	Przemyslaw Frasunek (przemyslaw frasunek.com)
MFC after:	1 week
2011-03-02 17:13:07 +00:00
Xin LI
24f2cbe959 style.Makefile says tab between var= and value. 2010-12-23 01:45:48 +00:00
Xin LI
f49f3df86a Allow overriding pidfile and dumpfile.
PR:		bin/153362
Submitted by:	Joe Holden <joe rewt org uk>
MFC after:	1 month
2010-12-22 23:58:21 +00:00
Ulrich Spörlein
02ac77f222 Fix another "string" typo.
MFC after:	3 days
2010-10-28 22:28:45 +00:00
Bjoern A. Zeeb
9398643636 Correct a typo.
MFC after:	3 days
2010-10-28 11:09:12 +00:00
Ulrich Spörlein
0b31f1f731 mdoc: move remaining sections into consistent order
This pertains mostly to FILES, HISTORY, EXIT STATUS and AUTHORS sections.

Found by:	mdocml lint run
Reviewed by:	ru
2010-05-13 12:08:11 +00:00
Ed Schouten
71ccf09269 The last big commit: let usr.sbin/ use WARNS=6 by default. 2010-01-02 11:07:44 +00:00
Warner Losh
6f74a8c7a0 Properly convert bit value to a bit field. Before we were storing
values like 0x80 or 0x40 into a uint8_t foo:1 bitfield.  This would
result in the bit always being 0.  One of these caused a warning for
overflow (one that was 0x80), but the other didn't.  They were both
wrong.

This is why I hate code that mixes c struct bitfields and #defines.
The rest of the fields accessed by the program should be audited.
2009-02-19 16:30:11 +00:00
Daniel Gerzo
8411572050 - rename the RETURN VALUES section to EXIT STATUS [1]
- convert to .Ex macro
- not bumping a date as this is not a real content change

Approved by:	ru [1]
MFC after:	3 days
2009-01-07 01:01:26 +00:00
Andrey A. Chernov
f90b161b21 Change 2 arc4random modulo operations to arc4random_uniform() as
OpenBSD does, since modulo is not power of 2.

Obtained from:  OpenBSD
2008-07-26 15:39:32 +00:00
Kevin Lo
784bddbc5b Cleanup of userland __P use 2007-11-07 10:53:41 +00:00
Maxim Konovalov
ba5b74d001 o Remove duplicate includes.
Obtained from:	Slava Semushin via NetBSD
2007-01-20 08:24:02 +00:00
Yaroslav Tykhiy
064aa4479f These IPv6-only tools have no explicit dependency on the INET6 macro.
Tested with:	cmp(1)
2006-07-27 15:31:13 +00:00
SUZUKI Shinsuke
94182c08be avoid heap overrun
Obtained from: KAME
MFC after: 1 day
2006-03-23 14:39:38 +00:00
SUZUKI Shinsuke
990634f5e8 fixed a typo in comment 2005-11-17 02:34:50 +00:00
SUZUKI Shinsuke
09f3617564 changed syslog level to more appropriate ones
Obtained from: KAME
Reviewd by: ume, gnn
MFC after: 2 weeks
2005-10-19 15:19:06 +00:00
SUZUKI Shinsuke
375ef204cd source link-layer address option should be marked to be checked later,
because rs_input() need this option.

Obtained from: KAME
Reviewed by: ume, gnn
MFC after: 2 weeks
2005-10-19 15:14:28 +00:00
SUZUKI Shinsuke
b9204379a1 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
2005-10-19 15:05:42 +00:00
Hajimu UMEMOTO
9cc94db2fe fix typo.
Submitted by:	suz
Obtained from:	KAME
2005-08-10 17:09:08 +00:00
Ruslan Ermilov
6b806d21d1 Fixed the misplaced $FreeBSD$. 2005-02-09 18:07:17 +00:00
SUZUKI Shinsuke
72286081d0 removed compilation warning
PR:	bin/71624
2004-10-22 07:31:12 +00:00
Warner Losh
486c8cc4c6 Per letter dated July 22, 1999 remove 3rd clause of Berkeley derived software
(with permission of addtional copyright holders where appropriate)
2004-08-07 04:28:56 +00:00
Ruslan Ermilov
160ad8f136 Fixed SEE ALSO references. 2004-07-02 22:50:25 +00:00
Poul-Henning Kamp
18598252b8 libcompat doesn't seem to be necessary any more. 2004-06-21 16:09:29 +00:00
Bruce Evans
c88f8102e3 Fixed a misspelling of 0 as NULL. 2004-03-10 08:46:39 +00:00
SUZUKI Shinsuke
f9547841bc fixed memory leak.
Obtained From: KAME
2003-09-20 09:41:13 +00:00
Ruslan Ermilov
959d6c24f6 Get rid of duplicates. 2003-09-14 13:41:59 +00:00
Hajimu UMEMOTO
fc35a81b09 - 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
2003-08-15 19:13:53 +00:00
Hajimu UMEMOTO
dba14c305c use arc4random.
Obtained from:	KAME
MFC after:	1 week
2003-08-15 17:51:51 +00:00
Hajimu UMEMOTO
51964a1b2b variable shared with signal handler needs to be "volatile sig_atomic_t".
Obtained from:	KAME
MFC after:	1 week
2003-08-15 17:20:49 +00:00
Hajimu UMEMOTO
fbcc332a1d set LOG_PERROR for openlog() when running foreground.
Obtained from:	KAME
MFC after:	1 week
2003-08-15 17:15:10 +00:00
Hajimu UMEMOTO
767b3bfd66 dump the content of route information options
Obtained from:	KAME
MFC after:	1 week
2003-08-15 17:04:28 +00:00
Hajimu UMEMOTO
776fdb8006 logged the fact to dump the status.
Obtained from:	KAME
MFC after:	1 week
2003-08-15 16:50:34 +00:00
Hajimu UMEMOTO
145b960169 daemon() has to be called prior to file descriptor setups
(otherwise file descriptors could be closed mistakenly)

Obtained from:	KAME
MFC after:	1 week
2003-08-14 19:05:24 +00:00
Hajimu UMEMOTO
5c706347d5 support poll(2).
Obtained from:	KAME
MFC after:	1 week
2003-08-14 18:43:57 +00:00
Hajimu UMEMOTO
4eb4a0e6ec - rename some variables.
- remove unused block.

Obtained from:	KAME
MFC after:	1 week
2003-08-14 16:51:13 +00:00
Hajimu UMEMOTO
71aa258ee8 signal handler must take "int" arg.
Obtained from:	KAME
MFC after:	1 week
2003-08-14 16:23:39 +00:00
Hajimu UMEMOTO
eaa5529180 avoid fd_set overrun.
Obtained from:	KAME
MFC after:	1 week
2003-08-14 16:19:59 +00:00
Hajimu UMEMOTO
d7f0819bf0 malloc() may return NULL.
Obtained from:	KAME
MFC after:	1 week
2003-08-12 16:58:32 +00:00
Hajimu UMEMOTO
b6ed844ff2 reduce #ifdef.
MFC after:	1 week
2003-08-11 15:51:54 +00:00
Hajimu UMEMOTO
bb58b617fb use strlcpy() and snprintf().
Obtained from:	KAME
MFC after:	1 week
2003-08-11 15:49:47 +00:00
Hajimu UMEMOTO
47742de0ef use int64_t instead of long long.
Obtained from:	KAME
MFC after:	1 week
2003-08-11 15:46:37 +00:00
Hajimu UMEMOTO
be9879af48 Drop MIP6 code. We don't support MIP6 yet.
MFC after:	1 week
2003-08-08 20:14:28 +00:00
Hajimu UMEMOTO
fa19f9be04 KNF, correct typos and cleanup spaces.
Obtained from:	KAME
MFC after:	1 week
2003-08-08 16:56:01 +00:00
Hajimu UMEMOTO
8198209700 stop use of register.
Obtained from:	KAME
MFC after:	1 week
2003-08-08 16:47:06 +00:00
Hajimu UMEMOTO
1533bed05b __FUNCTION__ --> __func__
Obtained from:	KAME
MFC after:	1 week
2003-08-08 16:38:23 +00:00
SUZUKI Shinsuke
c41387f6b2 fixed wrong parameter descriptions
Obtained from: KAME
MFC after: 1 day
2003-07-30 07:33:10 +00:00
SUZUKI Shinsuke
a9379b2924 - fixed byte order of route lifetimes in route info opptions.
- corrected wording in a log message.

Obtained from: KAME
MFC after: 1 week
2003-04-10 07:31:34 +00:00
Nate Lawson
3f171d2283 Use assignment, not equivalence test.
No response from:	suz
2003-04-05 20:54:54 +00:00
David E. O'Brien
052238b16c style.Makefile(5) 2003-04-04 17:49:21 +00:00
SUZUKI Shinsuke
ac03f2af25 fixed invalid pointer reference
Obtained from: KAME
2003-04-02 11:35:51 +00:00
Hajimu UMEMOTO
8a9448cabc tightened check for the length of ND options.
Submitted by:	jinmei@kame.net (JINMEI Tatuya)
Obtained from:	KAME
2003-03-26 17:28:47 +00:00
Andrey A. Chernov
9328833aac Use srandomdev() for FreeBSD 2003-02-11 02:21:41 +00:00
Jens Schweikhardt
d64ada501a Fix typos, mostly s/ an / a / where appropriate and a few s/an/and/
Add FreeBSD Id tag where missing.
2002-12-30 21:18:15 +00:00
Jens Schweikhardt
57bd0fc6e8 english(4) police. 2002-12-27 12:15:40 +00:00
Philippe Charnier
490d5836b5 The .Nm utility 2002-07-14 14:47:15 +00:00
Hajimu UMEMOTO
c4a0032fe3 Do not issue deprecated ioctl.
Obtained from:	KAME
MFC after:	2 weeks
2002-06-15 18:56:32 +00:00
Hajimu UMEMOTO
0a5f3ef410 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
2002-06-13 16:59:31 +00:00
Hajimu UMEMOTO
c7aec5cc57 Skip duplicated prefixes in get_prefix().
Obtained from:	KAME
2002-06-01 19:16:13 +00:00
Hajimu UMEMOTO
99a92b2c8a KNF
Obtained from:	KAME
2002-06-01 17:28:12 +00:00
Hajimu UMEMOTO
bc89a11710 sprintf -> snprintf
Obtained from:	KAME
2002-06-01 16:50:21 +00:00
Ruslan Ermilov
d628d776c4 mdoc(7) police: utilize the new .Ex macro. 2001-08-15 09:09:47 +00:00
Ruslan Ermilov
c4d9468ea0 mdoc(7) police:
Avoid using parenthesis enclosure macros (.Pq and .Po/.Pc) with plain text.
Not only this slows down the mdoc(7) processing significantly, but it also
has an undesired (in this case) effect of disabling hyphenation within the
entire enclosed block.
2001-08-07 15:48:51 +00:00
Sheldon Hearn
e1b4d8d074 Use STD{ERR,IN,OUT}_FILENO instead of their numeric values. The
definitions are more readable, and it's possible that they're
more portable to pathalogical platforms.

Submitted by:   David Hill <david@phobia.ms>
2001-07-26 11:02:39 +00:00
David E. O'Brien
90e655ea4e Perform a major cleanup of the usr.sbin Makefiles.
These are not perfectly in agreement with each other style-wise, but they
are orders of orders of magnitude more consistent style-wise than before.
2001-07-20 06:20:32 +00:00
Dima Dorfman
f247324df7 Remove whitespace at EOL. 2001-07-15 08:06:20 +00:00
Dima Dorfman
70d51341bf mdoc(7) police: remove extraneous .Pp before and/or after .Sh. 2001-07-09 09:54:33 +00:00
Ruslan Ermilov
5521ff5a4d mdoc(7) police: sort SEE ALSO xrefs (sort -b -f +2 -3 +1 -2). 2001-07-06 16:46:48 +00:00
Hajimu UMEMOTO
3384154590 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
2001-06-11 12:39:29 +00:00
Ruslan Ermilov
345e52e742 - Backout botched attempt to introduce MANSECT feature.
- MAN[1-9] -> MAN.
2001-03-26 14:42:20 +00:00
Hajimu UMEMOTO
1167992be6 zero-cleared allocated prefix information when configured.
Obtained from:	KAME
2001-01-23 17:29:12 +00:00
Jun-ichiro itojun Hagino
ae3267258a make it easier to handle $FreeBSD$ tags (amount of diff matters). 2001-01-21 15:25:46 +00:00
Jun-ichiro itojun Hagino
a336d37d0f make it clearer that rtadvd.conf is optional (configs are grabbed from kernel). 2001-01-21 15:25:05 +00:00
Ruslan Ermilov
e97407b4f2 mdoc(7) police: use the new features of the Nm macro. 2000-11-20 20:10:44 +00:00
Ruslan Ermilov
251c176f41 mdoc(7) police: use certified section headers wherever possible. 2000-11-17 11:44:16 +00:00
Hajimu UMEMOTO
e70bc6a4a3 - Sync with latest manpage of rtadvd.
- Ripped MIP6 related description out.  MIP6 is not merged, yet.

Obtained from:	KAME Project
2000-10-29 16:44:10 +00:00
Hajimu UMEMOTO
7c991abcbc some clarification on if_getmtu()
- avoid to use freed (by freeifaddrs) data
  - 1st try getifaddrs, then try SIOCGIFMTU as the last resort

Submitted by:	JINMEI Tatuya <jinmei@isl.rdc.toshiba.co.jp>
Obtained from:	KAME Project
2000-10-28 17:57:38 +00:00
Kris Kennaway
9ac104e443 Add two files missing from the KAME sync
Submitted by:	Eric Sabban <esabban@pacbell.net>
2000-07-06 04:01:37 +00:00
Kris Kennaway
b26e03e907 Sync with latest KAME
Obtained from:	KAME
2000-07-05 22:09:50 +00:00
Yoshinobu Inoue
32387b216d Added several socket close() which were mistakenly forgotten.
Reported by: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
2000-03-09 14:51:05 +00:00
Sheldon Hearn
f2e366a105 Remove single-space hard sentence breaks. These degrade the quality
of the typeset output, tend to make diffs harder to read and provide
bad examples for new-comers to mdoc.
2000-03-01 14:09:25 +00:00
Yoshinobu Inoue
93eff08412 Print ifname when sendmsg failed.
Approved by: jkh
2000-02-24 18:46:51 +00:00
Yoshinobu Inoue
b85d5dc850 -P option was not enabled, so enable it
(The option specify IPsec policy for rtadvd to receive Router Renumbering
messages.)

Approved by: jkh
2000-02-15 18:24:27 +00:00
Yoshinobu Inoue
9bf48e31c5 Correct pathname of rtadvd.conf from /usr/local/v6/etc to /etc.
Approved by: jkh
2000-02-15 18:21:38 +00:00
Yoshinobu Inoue
1aa540eb03 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
2000-02-10 19:33:58 +00:00
Yoshinobu Inoue
9a4365d0e0 libipsec and IPsec related apps. (and some KAME related man pages)
Reviewed by: freebsd-arch, cvs-committers
Obtained from: KAME project
2000-01-06 12:40:54 +00:00