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:
Rick Macklem 2009-06-13 23:16:40 +00:00
parent cfed37836e
commit aae53bae73

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