From owner-svn-src-all@FreeBSD.ORG Sat Jun 13 23:16:41 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 28286106566B; Sat, 13 Jun 2009 23:16:41 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 15C008FC14; Sat, 13 Jun 2009 23:16:41 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5DNGeEJ027164; Sat, 13 Jun 2009 23:16:40 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5DNGekM027163; Sat, 13 Jun 2009 23:16:40 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <200906132316.n5DNGekM027163@svn.freebsd.org> From: Rick Macklem Date: Sat, 13 Jun 2009 23:16:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r194133 - head/sys/rpc/rpcsec_gss X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 13 Jun 2009 23:16:41 -0000 Author: rmacklem Date: Sat Jun 13 23:16:40 2009 New Revision: 194133 URL: http://svn.freebsd.org/changeset/base/194133 Log: 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) Modified: head/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c Modified: head/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c ============================================================================== --- head/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c Sat Jun 13 23:05:54 2009 (r194132) +++ head/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c Sat Jun 13 23:16:40 2009 (r194133) @@ -1442,7 +1442,7 @@ svc_rpc_gss_wrap(SVCAUTH *auth, struct m 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); }