Apply default security flavor in vfs_export
There may be some version of mountd out there that does not supply a default security flavor when none is given for an export. Set the default security flavor in vfs_export if none is given, and remove the workaround for oexport compat. Reported by: npn Reviewed by: rmacklem Approved by: mav (mentor) MFC after: 3 days Sponsored by: iXsystems, Inc. Differential Revision: https://reviews.freebsd.org/D25300
This commit is contained in:
parent
964866bc61
commit
589bc61c67
@ -61,6 +61,9 @@ __FBSDID("$FreeBSD$");
|
||||
#include <netinet/in.h>
|
||||
#include <net/radix.h>
|
||||
|
||||
#include <rpc/types.h>
|
||||
#include <rpc/auth.h>
|
||||
|
||||
static MALLOC_DEFINE(M_NETADDR, "export_host", "Export host address structure");
|
||||
|
||||
#if defined(INET) || defined(INET6)
|
||||
@ -303,7 +306,7 @@ vfs_export(struct mount *mp, struct export_args *argp)
|
||||
return (EINVAL);
|
||||
|
||||
if ((argp->ex_flags & MNT_EXPORTED) != 0 &&
|
||||
(argp->ex_numsecflavors <= 0
|
||||
(argp->ex_numsecflavors < 0
|
||||
|| argp->ex_numsecflavors >= MAXSECFLAVORS))
|
||||
return (EINVAL);
|
||||
|
||||
@ -341,6 +344,10 @@ vfs_export(struct mount *mp, struct export_args *argp)
|
||||
mp->mnt_flag |= MNT_EXPUBLIC;
|
||||
MNT_IUNLOCK(mp);
|
||||
}
|
||||
if (argp->ex_numsecflavors == 0) {
|
||||
argp->ex_numsecflavors = 1;
|
||||
argp->ex_secflavors[0] = AUTH_SYS;
|
||||
}
|
||||
if ((error = vfs_hang_addrlist(mp, nep, argp)))
|
||||
goto out;
|
||||
MNT_ILOCK(mp);
|
||||
|
@ -70,9 +70,6 @@ __FBSDID("$FreeBSD$");
|
||||
|
||||
#include <machine/stdarg.h>
|
||||
|
||||
#include <rpc/types.h>
|
||||
#include <rpc/auth.h>
|
||||
|
||||
#include <security/audit/audit.h>
|
||||
#include <security/mac/mac_framework.h>
|
||||
|
||||
@ -1131,8 +1128,6 @@ vfs_domount_update(
|
||||
switch (len) {
|
||||
case (sizeof(struct oexport_args)):
|
||||
bzero(&o2export, sizeof(o2export));
|
||||
o2export.ex_numsecflavors = 1;
|
||||
o2export.ex_secflavors[0] = AUTH_SYS;
|
||||
/* FALLTHROUGH */
|
||||
case (sizeof(o2export)):
|
||||
bcopy(bufp, &o2export, len);
|
||||
|
Loading…
Reference in New Issue
Block a user