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)
This commit is contained in:
rmacklem 2009-06-13 23:16:40 +00:00
parent 911d9e9abc
commit 8ad39414af

View File

@ -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);
}