diff options
author | Mike Karels <karels@FreeBSD.org> | 2021-10-27 03:48:23 +0000 |
---|---|---|
committer | Mike Karels <karels@FreeBSD.org> | 2021-11-09 15:34:06 +0000 |
commit | 92aebdeaff57091c77398912accb4c758c6a0fcb (patch) | |
tree | 1d744507f21e598d09a7be9027fac7fdbc4e2a51 /usr.sbin | |
parent | 0bf7f99b2a1f50fa68e167269a633b4b5451fa35 (diff) | |
download | src-92aebdeaff57091c77398912accb4c758c6a0fcb.tar.gz src-92aebdeaff57091c77398912accb4c758c6a0fcb.zip |
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.
MFC after: 1 month
Reviewed by: rmacklem, bcr, #manpages
Differential Revision: https://reviews.freebsd.org/D32713
Diffstat (limited to 'usr.sbin')
-rw-r--r-- | usr.sbin/mountd/exports.5 | 7 | ||||
-rw-r--r-- | usr.sbin/mountd/mountd.c | 5 |
2 files changed, 8 insertions, 4 deletions
diff --git a/usr.sbin/mountd/exports.5 b/usr.sbin/mountd/exports.5 index bba10ddc7be1..d5aa49a1f428 100644 --- a/usr.sbin/mountd/exports.5 +++ b/usr.sbin/mountd/exports.5 @@ -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. diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c index c66ac13b3016..4c42fce92723 100644 --- a/usr.sbin/mountd/mountd.c +++ b/usr.sbin/mountd/mountd.c @@ -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 */ |