diff options
author | rmacklem <rmacklem@FreeBSD.org> | 2009-06-13 23:16:40 +0000 |
---|---|---|
committer | rmacklem <rmacklem@FreeBSD.org> | 2009-06-13 23:16:40 +0000 |
commit | 8ad39414af52b7ed7c1c6fd8ff9f9fd4112f81eb (patch) | |
tree | 628f8e705ca2c34dcb7b7660f8895c4fd66a12ab | |
parent | 911d9e9abc54d62dd3c2d6df06c6809cedf68113 (diff) | |
download | FreeBSD-src-8ad39414af52b7ed7c1c6fd8ff9f9fd4112f81eb.zip FreeBSD-src-8ad39414af52b7ed7c1c6fd8ff9f9fd4112f81eb.tar.gz |
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)
-rw-r--r-- | sys/rpc/rpcsec_gss/svc_rpcsec_gss.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c index e2469fd..eb9314b 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); } |