Commit graph

64 commits

Author SHA1 Message Date
Jose Luis Duran 0fef54255b route6d: Fix typo (triple S)
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/955
2023-12-27 20:24:32 -07:00
Warner Losh 8a7b612037 usr.sbin: Remove ancient SCCS tags.
Remove ancient SCCS tags from the tree, automated scripting, with two
minor fixup to keep things compiling. All the common forms in the tree
were removed with a perl script.

Sponsored by:		Netflix
2023-11-26 22:23:56 -07:00
Warner Losh 2a63c3be15 Remove $FreeBSD$: one-line .c comment pattern
Remove /^/[*/]\s*\$FreeBSD\$.*\n/
2023-08-16 11:54:29 -06:00
Elyes Haouas e71b329402 route6d: Fix typos
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/653
2023-06-01 20:33:40 -06:00
Mark Johnston c274f99ab3 Use the right variable when updating interface routes.
PR:		229807
Submitted by:	John Hay <jhay@meraka.org.za>
MFC after:	2 weeks
2018-08-08 20:15:40 +00:00
Dag-Erling Smørgrav 6bff85ff9a Reduce <sys/queue.h> pollution.
While <sys/sysctl.h> includes <sys/queue.h> unconditionally, it is only
actually used in code which is conditional on _KERNEL.  Make the #include
itself conditional as well, and fix userland code that uses <sys/queue.h>
for other purposes but relied on <sys/sysctl.h> to bring it in.

MFC after:	1 week
2018-05-11 00:01:43 +00:00
Pedro F. Giffuni 8a16b7a18f General further adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 3-Clause license.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.

Special thanks to Wind River for providing access to "The Duke of
Highlander" tool: an older (2014) run over FreeBSD tree was useful as a
starting point.
2017-11-20 19:49:47 +00:00
Patrick Kelsey 2f8c6c0a58 Fix userland tools that don't check the format of routing socket
messages before accessing message fields that may not be present,
removing dead/duplicate/misleading code along the way.

Document the message format for each routing socket message in
route.h.

Fix a bug in usr.bin/netstat introduced in r287351 that resulted in
pointer computation with essentially random 16-bit offsets and
dereferencing of the results.

Reviewed by:	ae
MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D10330
2017-04-16 19:17:10 +00:00
Hiroki Sato 373eea194d Purge varargs.h in favor of stdarg.h. 2017-01-13 08:01:27 +00:00
Hiroki Sato 1296e1b0b7 - Add static for functions and variables with internal linkage.
- Quiet down -Wcast-align warnings.
- Remove dead code.

There is no functionality change.
2017-01-13 06:22:49 +00:00
Hiroki Sato c10340d440 - Fix dereference of NULL pointer which could cause a crash [1]
- Fix memory leak due to lack of freeaddrinfo() [2]

CID:	1018281 [1]
CID:	1225057 [2]
MFC after:	3 days
2017-01-12 18:44:58 +00:00
Alan Somers c6e3715fbc Fix uninitialized variable CIDs in route6d
The variables in question are actually return arguments, but it's still good
form to initialize them.

Reported by:	Coverity
CID:		979679 979680
MFC after:	4 weeks
Sponsored by:	Spectra Logic Corp
2017-01-12 16:22:28 +00:00
Enji Cooper 074a0dcceb Use nitems(mib) instead of hardcoding mib's length
MFC after:	3 days
2017-01-09 00:38:19 +00:00
Enji Cooper 240ecb400f Sort #includes
MFC after:	3 days
2017-01-09 00:37:09 +00:00
Enji Cooper b3b69d9980 Clean up trailing whitespace
MFC after:	3 days
2017-01-09 00:33:27 +00:00
Don Lewis b0882deadb Use strlcpy() instead of strncpy() when copying ifname to ensure
that it is NUL terminated.  Additional NUL padding is not required
for short names.

Reported by:	Coverity
CID:		1009974
MFC after:	1 week
2016-05-15 22:31:03 +00:00
Conrad Meyer 134fd583cb route6d(8): Fix potential double-free
In the case that the subsequent sysctl(3) call failed, 'buf' could be free(3)ed
repeatedly.  It isn't clear to me that that case is possible, but be clear and
do the right thing in case it is.

Reported by:	Coverity
CID:		272537
Sponsored by:	EMC / Isilon Storage Division
2016-05-11 22:33:20 +00:00
Gleb Smirnoff 56d5e0967c Stop including if_var.h from userland.
Sponsored by:	Nginx, Inc.
2015-04-06 09:42:23 +00:00
Hiroki Sato d292a6c795 Recover sin6_scope_id of gateway addresses in riprecv() by using the if_index
where a RIP packet was received.  This fixes a bug which prevented gateway
addresses in fe80::/64 from being added.
2014-08-20 17:27:15 +00:00
Gleb Smirnoff 4e3f1ce854 Remove unneeded fake _KERNEL definition. 2014-03-23 09:15:14 +00:00
Gleb Smirnoff 66dcee729c Garbage collect long time obsoleted (or never used) stuff from routing API. 2014-03-15 06:49:32 +00:00
Gleb Smirnoff af50ea380f Axe IFF_SMART. Fortunately this layering violating flag was never used,
it was just declared.
2013-11-05 12:52:56 +00:00
Hiroki Sato 0fa8505bb7 - Increase the number of retry for NET_RT_DUMP from 5 to 15.
- Use 2001:db8:: as an example instead of deprecated 3ffe:: address block.
- Add check for connected routes.
- Add support of RTM_IFANNOUNCE for dyanmically-added/removed interfaces.
- Add support of *, ?, and [ in the interface list.
- Add -P number to specify route flag which will never expire.
- Add -Q number to specify route flag which route6d will add to routes via RIP.
- Add -p pidfile to specify the process ID file.
2012-11-18 15:48:02 +00:00
Hiroki Sato 2cccf8942b Overhaul of route6d(8):
- Use queue(3) for linked-list.
- Use a consistent naming scheme for struct members.
- Use ANSI C style function declaration.
- Add check of RTM_VERSION mismatch.

There is no functional change.
2012-11-18 15:37:27 +00:00
Hiroki Sato aef11ef65b Use sin6_scope_id instead of KAME-specific embedded scope id. 2012-11-18 15:11:47 +00:00
Ulrich Spörlein 3df5ecac8c Spelling fixes for usr.sbin/ 2011-12-30 10:58:14 +00:00
Dimitry Andric 2214781145 In usr.sbin/route6d/route6d.c, use the correct printf length modifier
for an ssize_t.

MFC after:	1 week
2011-12-18 00:03:03 +00:00
Qing Li 6e6b3f7cbc This main goals of this project are:
1. separating L2 tables (ARP, NDP) from the L3 routing tables
2. removing as much locking dependencies among these layers as
   possible to allow for some parallelism in the search operations
3. simplify the logic in the routing code,

The most notable end result is the obsolescent of the route
cloning (RTF_CLONING) concept, which translated into code reduction
in both IPv4 ARP and IPv6 NDP related modules, and size reduction in
struct rtentry{}. The change in design obsoletes the semantics of
RTF_CLONING, RTF_WASCLONE and RTF_LLINFO routing flags. The userland
applications such as "arp" and "ndp" have been modified to reflect
those changes. The output from "netstat -r" shows only the routing
entries.

Quite a few developers have contributed to this project in the
past: Glebius Smirnoff, Luigi Rizzo, Alessandro Cerri, and
Andre Oppermann. And most recently:

- Kip Macy revised the locking code completely, thus completing
  the last piece of the puzzle, Kip has also been conducting
  active functional testing
- Sam Leffler has helped me improving/refactoring the code, and
  provided valuable reviews
- Julian Elischer setup the perforce tree for me and has helped
  me maintaining that branch before the svn conversion
2008-12-15 06:10:57 +00:00
Kevin Lo 784bddbc5b Cleanup of userland __P use 2007-11-07 10:53:41 +00:00
SUZUKI Shinsuke 5e5792a887 implemented more validation checks about incoming responses per RFC2080, and one additional heuristic check for safer operation.
Obtained from: KAME
MFC after: 1 week
2006-11-16 19:03:03 +00:00
Hajimu UMEMOTO cd8ce96d58 - need_trigger/idx should be u_int, not ssize_t.
- realloc pedant.
- set sin6_scope_id before sending (link-local/multicast) packets
- removed an incorrect comment
- don't age non-gateway host routes.
- not remove global addresses on loopback interface from routing table
  by route aging.

Obtained from:	KAME
2003-11-14 17:16:50 +00:00
SUZUKI Shinsuke 7a1413f972 fixe remote panic on short packet
Obtained from: KAME
2003-10-31 03:18:45 +00:00
Sam Leffler d6bb3ab6ff remove unused variable
Supported by:	FreeBSD Foundation
2003-10-03 21:06:17 +00:00
Hajimu UMEMOTO 3b24803f01 rtm_seq is int, so seq/myseq should be int.
Obtained from:	KAME
MFC after:	1 week
2003-08-18 16:20:30 +00:00
Hajimu UMEMOTO 0d30357ff6 suppress outpt on dump request if -q is specified.
Obtained from:	KAME
MFC after:	1 week
2003-08-18 16:15:30 +00:00
Hajimu UMEMOTO 8ecfc219e1 atoi -> strtoul
Obtained from:	KAME
MFC after:	1 week
2003-08-18 16:09:59 +00:00
Hajimu UMEMOTO c706c1cddc - port numbers are unsigned. use %u.
- %d is not 10 chars, but 12 chars.

Obtained from:	KAME
MFC after:	1 week
2003-08-18 15:58:23 +00:00
Hajimu UMEMOTO 651555cc54 explicitly specify IPPROTO_UDP when calling getaddrinfo().
Obtained from:	KAME
MFC after:	1 week
2003-08-18 15:54:08 +00:00
Hajimu UMEMOTO 16dd7c128d remove a variable that is never used.
Obtained from:	KAME
MFC after:	1 week
2003-08-18 15:47:17 +00:00
Hajimu UMEMOTO 7b01856526 support poll(2).
Obtained from:	KAME
MFC after:	1 week
2003-08-18 15:35:33 +00:00
Hajimu UMEMOTO ed7ac91c5f - don't select with FD_SETSIZE.
- avoid fd_set overrun.

Obtained from:	KAME
MFC after:	1 week
2003-08-18 15:24:32 +00:00
Hajimu UMEMOTO b18ac9358c - don't print strerror() if errno == 0 on fatal().
- va_start/end audit.
- can't use vfprintf() twice.  need va_start/end pair every time.

Obtained from:	KAME
MFC after:	1 week
2003-08-17 18:35:56 +00:00
Hajimu UMEMOTO 4776b349ce - do not SEGV on IFF_UP.
- recover rrt_gw setting for non-p2p case.  otherwise, we will not
  be able to recover interface route on interface down -> up
  transition.
- clarify loop exit condition

Obtained from:	KAME
MFC after:	1 week
2003-08-17 18:12:11 +00:00
Hajimu UMEMOTO 6b036f549c do not send dump request on -N
Obtained from:	KAME
MFC after:	1 week
2003-08-17 17:51:30 +00:00
Hajimu UMEMOTO ceb128190f macro pedant
Obtained from:	KAME
MFC after:	1 week
2003-08-17 17:47:22 +00:00
Hajimu UMEMOTO 70aff8bf47 minor cleanup; no need for extra variable here
Obtained from:	KAME
MFC after:	1 week
2003-08-17 17:40:47 +00:00
Hajimu UMEMOTO 691ab711fb use strchr(3).
Obtained from:	KAME
MFC after:	1 week
2003-08-17 17:34:09 +00:00
Hajimu UMEMOTO 532ba48e39 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-17 17:29:54 +00:00
Hajimu UMEMOTO 05d7208ae7 knf, typo, space.
Obtained from:	KAME
MFC after:	1 week
2003-08-17 16:26:35 +00:00
Hajimu UMEMOTO 65033d4fcb set IPV6_V6ONLY.
Obtained from:	KAME
MFC after:	1 week
2003-08-17 16:08:56 +00:00