1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-24 11:29:10 +00:00
freebsd/sbin
Alexander V. Chernikov 3deb3649d5 Fix incorrect netmasks being passed via rtsock.
Since radix has been ignoring sa_family in passed sockaddrs,
no one ever has bothered filling valid sa_family in netmasks.
Additionally, radix adjusts sa_len field in every netmask not to
compare zero bytes at all.

This leads us to rt_mask with sa_family of AF_UNSPEC (-1) and
arbitrary sa_len field (0 for default route, for example).

However, rtsock have been passing that rt_mask intact for ages,
requiring all rtsock consumers to make ther own local hacks.
We even have unfixed on in base:

do `route -n monitor` in one window and issue `route -n get addr`
for some directly-connected address. You will probably see the following:

got message of size 304 on Thu May  8 15:06:06 2014
RTM_GET: Report Metrics: len 304, pid: 30493, seq 1, errno 0, flags:<UP,DONE,PINNED>
locks:  inits:
sockaddrs: <DST,GATEWAY,NETMASK,IFP,IFA>
 10.0.0.0 link#1 (255) ffff ffff ff em0:8.0.27.c5.29.d4 10.0.0.92
_________________^^^^^^^^^^^^^^^^^^

after the change:

got message of size 312 on Thu May  8 15:44:07 2014
RTM_GET: Report Metrics: len 312, pid: 2895, seq 1, errno 0, flags:<UP,DONE,PINNED>
locks:  inits:
sockaddrs: <DST,GATEWAY,NETMASK,IFP,IFA>
 10.0.0.0 link#1 255.255.255.0 em0:8.0.27.c5.29.d4 10.0.0.92
_________________^^^^^^^^^^^^^^^^^^

Sponsored by:	Yandex LLC
MFC after:	1 month
2014-05-08 11:56:06 +00:00
..
adjkerntz
atm Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
badsect
bsdlabel
camcontrol Add information about supported NCQ functionality to camcontrol identify. 2014-04-24 02:16:23 +00:00
casperd Detach from controlling session of parent. This is similar 2014-04-03 22:14:18 +00:00
ccdconfig
clri
comcontrol
conscontrol
ddb
devd Revert r263694, and apply a better fix to squelch unnecessary warnings 2014-03-26 19:31:33 +00:00
devfs
dhclient Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
dmesg
dump
dumpfs
dumpon
etherswitchcfg Add a license (1) and do some cleanup. 2014-02-04 22:20:17 +00:00
fdisk Fix fdisk(8) to create 2TB partitions on disks larger than 2TB, rather than 2013-11-27 17:59:13 +00:00
fdisk_pc98
ffsinfo
fsck
fsck_ffs Avoid segment fault when attempting to clean up cylinder group 2014-03-12 01:28:21 +00:00
fsck_msdosfs
fsdb Add globs.c to the build now that it's a separate file. 2013-12-30 01:17:05 +00:00
fsirand
gbde Add a missing break in option parsing. 2014-04-15 07:37:56 +00:00
geom Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
ggate Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
growfs Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
gvinum - Sprinkle const and static as appropriate. 2014-05-07 09:15:46 +00:00
hastctl Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
hastd Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
ifconfig Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
init init: Remove code to track line numbers in /etc/ttys. 2014-02-08 13:51:15 +00:00
ipf
ipfw Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
iscontrol Reword the part about mutual CHAP. 2013-12-17 10:33:27 +00:00
kldconfig kldconfig: Remove some code for compatibility with FreeBSD 4.x. 2014-03-09 13:19:37 +00:00
kldload Fix dmesg(1) -> dmesg(8) 2014-01-13 17:14:10 +00:00
kldstat Add quiet support for kldstat -n 2014-01-22 17:15:17 +00:00
kldunload
ldconfig
mca
md5
mdconfig Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
mdmfs
mknod
mksnap_ffs
mount
mount_cd9660
mount_fusefs In tree makefile shouldn't be setting policy piecemeal. Don't set 2014-04-13 05:22:22 +00:00
mount_msdosfs
mount_nfs Document the noncontigwr NFS mount option. 2013-12-08 00:59:04 +00:00
mount_nullfs
mount_udf Unbreak mount_udf by passing the correct iovec length into 2014-02-04 21:15:15 +00:00
mount_unionfs
nandfs
natd
newfs Refer newfs and growfs users to fsck_ffs instead of 2014-02-09 14:28:47 +00:00
newfs_msdos Small cleanup: mostly whitespace vs. tabs. 2014-04-30 21:19:46 +00:00
newfs_nandfs Slight if reordering to make error branch last. 2014-03-07 01:01:57 +00:00
nfsiod
nos-tun
nvmecontrol For "nvmecontrol devlist", show namespace sizes in terms of MB instead of 2014-01-06 23:48:47 +00:00
pfctl Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
pflogd
ping Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
ping6
quotacheck
rcorder
reboot
recoverdisk
resolvconf
restore
route Fix incorrect netmasks being passed via rtsock. 2014-05-08 11:56:06 +00:00
routed
rtsol NO_MAN= has been deprecated in favor of MAN= for some time, go ahead 2014-04-13 05:21:56 +00:00
savecore Fix double fclose() in an error case. 2014-04-14 21:44:34 +00:00
sconfig
setkey Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
shutdown
spppcontrol
sunlabel
swapon swapon: Fix buffer overflow when configuring encrypted swap on GBDE. 2013-12-21 11:59:58 +00:00
sysctl Fix warnings to not append "No error: 0". 2013-11-26 19:14:18 +00:00
tests Migrate tools/regression/sbin/ to the new tests layout. 2014-03-16 02:07:08 +00:00
tunefs
umount
Makefile Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
Makefile.amd64
Makefile.arm
Makefile.i386
Makefile.ia64
Makefile.inc Use src.opts.mk in preference to bsd.own.mk except where we need stuff 2014-05-06 04:22:01 +00:00
Makefile.mips
Makefile.pc98
Makefile.sparc64