Go to file
Mike Karels b9e8ae1d8a route: error on IPv4 network routes with incorrect destination
Route destinations like 10/8 are most likely intended as a shorthand
for 10.0.0.0/8, but instead it means 0.0.0.10/8, which includes
only bits in the host part of the mask, and hence adds a route to
0.0.0.0/8.  In 12.x, there was code to "do what I mean", which was
removed as part of a cleanup of old network class remnants.  Given
that we have gone this long without that code, do not restore that
behavior.  Instead, detect the issue and produce an error.
Specifically, if there are no dots in a numeric IPv4 address, the
mask is specified with CIDR notation (using a slash), and there are
bits set in the host part, produce an error like this for 10/8:

    route: malformed address, bits set after mask; 10 means 0.0.0.10

PR:		258874
MFC after:	1 week
Reviewed by:	melifaro, emaste
Differential Revision:	https://reviews.freebsd.org/D43384
2024-01-15 15:14:54 -06:00
.cirrus-ci Cirrus-CI: add some timing info on pkg install failure 2021-08-04 15:02:00 -04:00
.github MAINTAINERS: Add myself for nvme entries, remove jimharris 2024-01-12 12:12:15 -07:00
bin Fix "version introduced" in numerous manual pages 2024-01-08 11:35:16 -05:00
cddl dtrace tests: Diff expected and actual output upon a miscompare 2024-01-10 18:19:36 -05:00
contrib Update to bmake-20240108 2024-01-13 17:31:01 -08:00
crypto Revert "kerberos: Fix numerous segfaults when using weak crypto" 2024-01-11 23:42:33 -08:00
etc dtrace: Add the 'oformat' libdtrace option 2024-01-10 18:14:26 -05:00
gnu misc: Remove ancient SCCS tags. 2023-11-26 22:23:27 -07:00
include resolv: Add a required include to resolv.h 2024-01-08 20:52:08 +09:00
kerberos5 Revert "kerberos: Fix numerous segfaults when using weak crypto" 2024-01-11 23:42:33 -08:00
lib libc: stop exposing __fcntl_compat 2024-01-13 00:01:13 +00:00
libexec rc.d: Process autobridge_* in vnet jails 2024-01-04 13:57:05 -05:00
release Increase the size of riscv GENERICSD images to 6 GB 2024-01-15 07:28:53 -06:00
rescue misc: Remove ancient SCCS tags. 2023-11-26 22:23:27 -07:00
sbin route: error on IPv4 network routes with incorrect destination 2024-01-15 15:14:54 -06:00
secure ssh: Update to OpenSSH 9.6p1 2024-01-04 22:16:30 -05:00
share snd_hdspe(4): One pcm device per physical ADAT port. 2024-01-15 10:26:41 +00:00
stand stand: Fix typo (triple S) 2023-12-27 20:24:31 -07:00
sys condvar: Fix a user-after-free in _cv_wait() when ktrace is enabled 2024-01-15 12:29:02 -05:00
targets Merge llvm-project main llvmorg-17-init-19304-gd0b54bb50e51 2023-12-08 18:34:50 +01:00
tests pf tests: dummynet + nat fragmentation test 2024-01-15 14:02:02 +01:00
tools git-arc: Add -c flag to patch to commit the change 2024-01-14 19:23:46 -07:00
usr.bin find: Allow '/' to be used with -perm for GNU compatibility 2024-01-15 11:47:24 -07:00
usr.sbin tcpsso: fix TIME_WAIT description in man-page 2024-01-14 14:45:43 +01:00
.arcconfig arcanist: use FreeBSD/git project repository instead of FreeBSD/svn 2022-08-23 14:16:41 +00:00
.arclint arc lint: ignore /tests/ in chmod 2017-12-19 03:38:06 +00:00
.cirrus.yml Cirrus-CI: stop forcibly installing pkg 2023-12-12 19:50:19 -05:00
.clang-format Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00
.git-blame-ignore-revs git-blame-ignore-revs: OptionalObsoleteFiles.inc sorting commits 2023-11-15 17:47:02 +00:00
.gitattributes Remove SVN related Git attributes 2023-12-26 10:28:28 -07:00
.gitignore .gitignore: Ignore LSP generated .cache 2023-03-07 10:04:18 -05:00
.mailmap mailmap: Translate olce's personal address to olce@FreeBSD.org 2024-01-04 15:59:01 +01:00
CONTRIBUTING.md CONTRIBUTING.md: fix typo from commmit to commit 2023-12-28 10:01:03 -05:00
COPYRIGHT copyright: Bump the copyright date. 2023-12-31 23:15:43 -07:00
LOCKS Update LOCKS for Git 2023-12-26 10:28:25 -07:00
MAINTAINERS MAINTAINERS: Add myself for nvme entries, remove jimharris 2024-01-12 12:12:15 -07:00
Makefile Makefile: Deorbit fmake support 2024-01-03 12:13:26 -07:00
Makefile.inc1 build: Use ls -i | cut rather than stat -f %i to extract inode 2024-01-14 19:23:45 -07:00
Makefile.libcompat build{libcompat}: Pass UNIVERSE_TOOLCHAIN_PATH to the _lc_build-tools submake 2023-08-21 21:00:45 -07:00
Makefile.sys.inc Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00
ObsoleteFiles.inc geom_map(4): Garbage collect disconnected driver 2024-01-14 22:22:21 +01:00
README.md README.md: link to the list of supported platforms 2022-11-01 12:20:55 -03:00
RELNOTES Document the two recent newsyslog(8) change (-c option and <compress> 2023-12-29 00:45:52 -08:00
UPDATING UPDATING: Add an entry for the __FreeBSD_version bump to 1500010 2024-01-11 16:53:46 -08:00

FreeBSD Source:

This is the top level of the FreeBSD source directory.

FreeBSD is an operating system used to power modern servers, desktops, and embedded platforms. A large community has continually developed it for more than thirty years. Its advanced networking, security, and storage features have made FreeBSD the platform of choice for many of the busiest web sites and most pervasive embedded networking and storage devices.

For copyright information, please see the file COPYRIGHT in this directory. Additional copyright information also exists for some sources in this tree - please see the specific source directories for more information.

The Makefile in this directory supports a number of targets for building components (or all) of the FreeBSD source tree. See build(7), config(8), FreeBSD handbook on building userland, and Handbook for kernels for more information, including setting make(1) variables.

For information on the CPU architectures and platforms supported by FreeBSD, see the FreeBSD website's Platforms page.

Source Roadmap:

Directory Description
bin System/user commands.
cddl Various commands and libraries under the Common Development and Distribution License.
contrib Packages contributed by 3rd parties.
crypto Cryptography stuff (see crypto/README).
etc Template files for /etc.
gnu Commands and libraries under the GNU General Public License (GPL) or Lesser General Public License (LGPL). Please see gnu/COPYING and gnu/COPYING.LIB for more information.
include System include files.
kerberos5 Kerberos5 (Heimdal) package.
lib System libraries.
libexec System daemons.
release Release building Makefile & associated tools.
rescue Build system for statically linked /rescue utilities.
sbin System commands.
secure Cryptographic libraries and commands.
share Shared resources.
stand Boot loader sources.
sys Kernel sources (see sys/README.md).
targets Support for experimental DIRDEPS_BUILD
tests Regression tests which can be run by Kyua. See tests/README for additional information.
tools Utilities for regression testing and miscellaneous tasks.
usr.bin User commands.
usr.sbin System administration commands.

For information on synchronizing your source tree with one or more of the FreeBSD Project's development branches, please see FreeBSD Handbook.