From owner-svn-src-stable@freebsd.org Tue Jul 21 14:27:37 2015 Return-Path: Delivered-To: svn-src-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4EA879A71C3; Tue, 21 Jul 2015 14:27:37 +0000 (UTC) (envelope-from brueffer@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 394131F82; Tue, 21 Jul 2015 14:27:37 +0000 (UTC) (envelope-from brueffer@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.70]) by repo.freebsd.org (8.14.9/8.14.9) with ESMTP id t6LERbUp089739; Tue, 21 Jul 2015 14:27:37 GMT (envelope-from brueffer@FreeBSD.org) Received: (from brueffer@localhost) by repo.freebsd.org (8.14.9/8.14.9/Submit) id t6LERb4d089738; Tue, 21 Jul 2015 14:27:37 GMT (envelope-from brueffer@FreeBSD.org) Message-Id: <201507211427.t6LERb4d089738@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brueffer set sender to brueffer@FreeBSD.org using -f From: Christian Brueffer Date: Tue, 21 Jul 2015 14:27:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r285749 - stable/10/sbin/ggate/ggated X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Jul 2015 14:27:37 -0000 Author: brueffer Date: Tue Jul 21 14:27:36 2015 New Revision: 285749 URL: https://svnweb.freebsd.org/changeset/base/285749 Log: MFC: r285529 If ggated's exports_find() fails, the connection is removed before (trying to) report the problem to the client. sendfail() is called with an already closed socket and thus it fails to inform the client about the problem. Fix this by calling sendfail() before connection_remove(). PR: 195944 Submitted by: Fabian Keil Reviewed by: pjd Approved by: re (gjb) Modified: stable/10/sbin/ggate/ggated/ggated.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sbin/ggate/ggated/ggated.c ============================================================================== --- stable/10/sbin/ggate/ggated/ggated.c Tue Jul 21 14:25:21 2015 (r285748) +++ stable/10/sbin/ggate/ggated/ggated.c Tue Jul 21 14:27:36 2015 (r285749) @@ -906,8 +906,8 @@ handshake(struct sockaddr *from, int sfd ex = exports_find(from, &cinit, conn); if (ex == NULL) { - connection_remove(conn); sendfail(sfd, errno, NULL); + connection_remove(conn); return (0); } if (conn->c_mediasize == 0) {