mirror of
https://github.com/freebsd/freebsd-src
synced 2024-07-23 03:06:48 +00:00
mountd: do not warn about using class mask with -mask
The previous code would warn that the mask was being defaulted to an obsolete class mask even if -mask was present after -network. Import a fix from Peter Much with a little tweaking, deferring the warning until after all parameters are processed. PR: 263011 Obtained from: pmc at citilink.dinoex.sub.org MFC after: 3 days Reviewed by: rmacklem Differential Revision: https://reviews.freebsd.org/D41774
This commit is contained in:
parent
a35e47369f
commit
48514c5724
|
@ -319,6 +319,7 @@ static struct pidfh *pfh = NULL;
|
||||||
#define OP_QUIET 0x100
|
#define OP_QUIET 0x100
|
||||||
#define OP_MASKLEN 0x200
|
#define OP_MASKLEN 0x200
|
||||||
#define OP_SEC 0x400
|
#define OP_SEC 0x400
|
||||||
|
#define OP_CLASSMASK 0x800 /* mask not specified, is Class A/B/C default */
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
static int debug = 1;
|
static int debug = 1;
|
||||||
|
@ -1757,6 +1758,11 @@ get_exportlist_one(int passno)
|
||||||
nextfield(&cp, &endcp);
|
nextfield(&cp, &endcp);
|
||||||
len = endcp - cp;
|
len = endcp - cp;
|
||||||
}
|
}
|
||||||
|
if (opt_flags & OP_CLASSMASK)
|
||||||
|
syslog(LOG_WARNING,
|
||||||
|
"WARNING: No mask specified for %s, "
|
||||||
|
"using out-of-date default",
|
||||||
|
(&grp->gr_ptr.gt_net)->nt_name);
|
||||||
if (check_options(dirhead)) {
|
if (check_options(dirhead)) {
|
||||||
getexp_err(ep, tgrp, NULL);
|
getexp_err(ep, tgrp, NULL);
|
||||||
goto nextline;
|
goto nextline;
|
||||||
|
@ -3393,6 +3399,7 @@ get_net(char *cp, struct netmsk *net, int maskflg)
|
||||||
goto fail;
|
goto fail;
|
||||||
bcopy(sa, &net->nt_mask, sa->sa_len);
|
bcopy(sa, &net->nt_mask, sa->sa_len);
|
||||||
opt_flags |= OP_HAVEMASK;
|
opt_flags |= OP_HAVEMASK;
|
||||||
|
opt_flags &= ~OP_CLASSMASK;
|
||||||
} else {
|
} else {
|
||||||
/* The specified sockaddr is a network address. */
|
/* The specified sockaddr is a network address. */
|
||||||
bcopy(sa, &net->nt_net, sa->sa_len);
|
bcopy(sa, &net->nt_net, sa->sa_len);
|
||||||
|
@ -3426,9 +3433,6 @@ get_net(char *cp, struct netmsk *net, int maskflg)
|
||||||
(opt_flags & OP_MASK) == 0) {
|
(opt_flags & OP_MASK) == 0) {
|
||||||
in_addr_t addr;
|
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;
|
addr = ((struct sockaddr_in *)sa)->sin_addr.s_addr;
|
||||||
if (IN_CLASSA(addr))
|
if (IN_CLASSA(addr))
|
||||||
preflen = 8;
|
preflen = 8;
|
||||||
|
@ -3443,7 +3447,7 @@ get_net(char *cp, struct netmsk *net, int maskflg)
|
||||||
|
|
||||||
bcopy(sa, &net->nt_mask, sa->sa_len);
|
bcopy(sa, &net->nt_mask, sa->sa_len);
|
||||||
makemask(&net->nt_mask, (int)preflen);
|
makemask(&net->nt_mask, (int)preflen);
|
||||||
opt_flags |= OP_HAVEMASK;
|
opt_flags |= OP_HAVEMASK | OP_CLASSMASK;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue