From aae53bae730cc643c9274fb74c7acdf272f6bf2c Mon Sep 17 00:00:00 2001 From: Rick Macklem Date: Sat, 13 Jun 2009 23:16:40 +0000 Subject: [PATCH] When a Solaris10 client does an NFS mount using krb5i or krb5p, the server would crash because the Solaris10 client would attempt to use Sun's NFSACL protocol, which FreeBSD doesn't support. When the server generated the error reply via svcerr_noprog(), it would cause a crash because it would try and wrap a NULL reply. According to RFC2203, no wrapping is required for error cases. This one line change avoids wrapping of NULL replies. Reviewed by: dfr Approved by: kib (mentor) --- sys/rpc/rpcsec_gss/svc_rpcsec_gss.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c index e2469fdedc54..eb9314b6e55a 100644 --- a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c +++ b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c @@ -1442,7 +1442,7 @@ svc_rpc_gss_wrap(SVCAUTH *auth, struct mbuf **mp) cc = (struct svc_rpc_gss_cookedcred *) auth->svc_ah_private; client = cc->cc_client; if (client->cl_state != CLIENT_ESTABLISHED - || cc->cc_service == rpc_gss_svc_none) { + || cc->cc_service == rpc_gss_svc_none || *mp == NULL) { return (TRUE); }