1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-10-18 02:19:39 +00:00

mountd: deprecate exports to a network without mask

The exports file format allows export to a network using an explicit
mask or prefix length (CIDR).  It also allows a network with just
a dotted address, in which case the historical mask was used.
Deprecate this usage, and warn when it is used.  Document that this
is deprecated.

(cherry picked from commit 92aebdeaff)
This commit is contained in:
Mike Karels 2021-10-26 22:48:23 -05:00
parent 1ab4b70db5
commit e5d4e532a0
2 changed files with 8 additions and 4 deletions

View File

@ -28,7 +28,7 @@
.\" @(#)exports.5 8.3 (Berkeley) 3/29/95
.\" $FreeBSD$
.\"
.Dd November 20, 2020
.Dd November 9, 2021
.Dt EXPORTS 5
.Os
.Sh NAME
@ -338,9 +338,10 @@ to the
option, or by using a separate
.Fl mask
option.
If the mask is not specified, it will default to the mask for that network
class (A, B or C; see
If the mask is not specified, it will default to the historical mask
for that network class (A, B, or C; see
.Xr inet 4 ) .
This usage is deprecated, and will elicit a warning log message.
See the
.Sx EXAMPLES
section below.

View File

@ -3418,6 +3418,9 @@ get_net(char *cp, struct netmsk *net, int maskflg)
(opt_flags & OP_MASK) == 0) {
in_addr_t addr;
syslog(LOG_WARNING,
"WARNING: No mask specified for %s, "
"using out-of-date default", name);
addr = ((struct sockaddr_in *)sa)->sin_addr.s_addr;
if (IN_CLASSA(addr))
preflen = 8;
@ -3425,7 +3428,7 @@ get_net(char *cp, struct netmsk *net, int maskflg)
preflen = 16;
else if (IN_CLASSC(addr))
preflen = 24;
else if (IN_CLASSD(addr))
else if (IN_CLASSD(addr)) /* XXX Multicast??? */
preflen = 28;
else
preflen = 32; /* XXX */