git: 7aa23c7b59f7 - stable/13 - rpc: Delete AUTH_NEEDS_TLS(_MUTUAL_HOST) auth_stat values
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 30 Dec 2021 01:26:55 UTC
The branch stable/13 has been updated by rmacklem:
URL: https://cgit.FreeBSD.org/src/commit/?id=7aa23c7b59f7c7ba1402175dcaafb65a44e10eab
commit 7aa23c7b59f7c7ba1402175dcaafb65a44e10eab
Author: Rick Macklem <rmacklem@FreeBSD.org>
AuthorDate: 2021-12-23 22:31:53 +0000
Commit: Rick Macklem <rmacklem@FreeBSD.org>
CommitDate: 2021-12-30 01:23:30 +0000
rpc: Delete AUTH_NEEDS_TLS(_MUTUAL_HOST) auth_stat values
I thought that these new auth_stat values had been agreed
upon by the IETF NFSv4 working group, but that no longer
is the case. As such, delete them and use AUTH_TOOWEAK
instead. Leave the code that uses these new auth_stat
values in the sources #ifdef notnow, in case they are
defined in the future.
(cherry picked from commit 744c2dc7dde4ee1e1efc9630439682ea0dc338db)
---
sys/fs/nfsserver/nfs_nfsdport.c | 5 +++++
sys/fs/nfsserver/nfs_nfsdsubs.c | 4 ++++
sys/rpc/auth.h | 6 ------
3 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c
index c63e24378ef5..f28d973a867a 100644
--- a/sys/fs/nfsserver/nfs_nfsdport.c
+++ b/sys/fs/nfsserver/nfs_nfsdport.c
@@ -4056,10 +4056,15 @@ nfsvno_testexp(struct nfsrv_descript *nd, struct nfsexstuff *exp)
(nd->nd_flag & ND_TLSCERTUSER) == 0))) {
if ((nd->nd_flag & ND_NFSV4) != 0)
return (NFSERR_WRONGSEC);
+#ifdef notnow
+ /* There is currently no auth_stat for this. */
else if ((nd->nd_flag & ND_TLS) == 0)
return (NFSERR_AUTHERR | AUTH_NEEDS_TLS);
else
return (NFSERR_AUTHERR | AUTH_NEEDS_TLS_MUTUAL_HOST);
+#endif
+ else
+ return (NFSERR_AUTHERR | AUTH_TOOWEAK);
}
/*
diff --git a/sys/fs/nfsserver/nfs_nfsdsubs.c b/sys/fs/nfsserver/nfs_nfsdsubs.c
index 8c3e748a290f..9e278dbab7e5 100644
--- a/sys/fs/nfsserver/nfs_nfsdsubs.c
+++ b/sys/fs/nfsserver/nfs_nfsdsubs.c
@@ -2145,9 +2145,13 @@ checktls:
if ((nd->nd_flag & (ND_TLS | ND_EXTLSCERTUSER | ND_EXTLSCERT)) ==
ND_TLS)
return (0);
+#ifdef notnow
+ /* There is currently no auth_stat for this. */
if ((nd->nd_flag & ND_TLS) == 0)
return (NFSERR_AUTHERR | AUTH_NEEDS_TLS);
return (NFSERR_AUTHERR | AUTH_NEEDS_TLS_MUTUAL_HOST);
+#endif
+ return (NFSERR_AUTHERR | AUTH_TOOWEAK);
}
/*
diff --git a/sys/rpc/auth.h b/sys/rpc/auth.h
index 5444f6180c5e..0752e72de95e 100644
--- a/sys/rpc/auth.h
+++ b/sys/rpc/auth.h
@@ -138,7 +138,6 @@ enum auth_stat {
/*
* kerberos errors
*/
- ,
AUTH_KERB_GENERIC = 8, /* kerberos generic error */
AUTH_TIMEEXPIRE = 9, /* time of credential expired */
AUTH_TKT_FILE = 10, /* something wrong with ticket file */
@@ -150,11 +149,6 @@ enum auth_stat {
*/
RPCSEC_GSS_CREDPROBLEM = 13,
RPCSEC_GSS_CTXPROBLEM = 14,
- /*
- * RPC-over-TLS errors
- */
- AUTH_NEEDS_TLS = 15,
- AUTH_NEEDS_TLS_MUTUAL_HOST = 16,
/* Also used by RPCSEC_TLS for the same purpose */
RPCSEC_GSS_NODISPATCH = 0x8000000
};