From owner-p4-projects@FreeBSD.ORG Sat Mar 16 21:08:26 2013 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ADE1359A; Sat, 16 Mar 2013 21:08:26 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 4169E598 for ; Sat, 16 Mar 2013 21:08:26 +0000 (UTC) (envelope-from pjd@freebsd.org) Received: from skunkworks.freebsd.org (skunkworks.freebsd.org [IPv6:2001:1900:2254:2068::682:0]) by mx1.freebsd.org (Postfix) with ESMTP id 26EBA26B for ; Sat, 16 Mar 2013 21:08:26 +0000 (UTC) Received: from skunkworks.freebsd.org ([127.0.1.74]) by skunkworks.freebsd.org (8.14.6/8.14.6) with ESMTP id r2GL8QG1059876 for ; Sat, 16 Mar 2013 21:08:26 GMT (envelope-from pjd@freebsd.org) Received: (from perforce@localhost) by skunkworks.freebsd.org (8.14.6/8.14.6/Submit) id r2GL8PvK059873 for perforce@freebsd.org; Sat, 16 Mar 2013 21:08:25 GMT (envelope-from pjd@freebsd.org) Date: Sat, 16 Mar 2013 21:08:25 GMT Message-Id: <201303162108.r2GL8PvK059873@skunkworks.freebsd.org> X-Authentication-Warning: skunkworks.freebsd.org: perforce set sender to pjd@freebsd.org using -f From: Pawel Jakub Dawidek Subject: PERFORCE change 222934 for review To: Perforce Change Reviews Precedence: bulk X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.14 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 21:08:27 -0000 http://p4web.freebsd.org/@@222934?ac=10 Change 222934 by pjd@pjd_anger on 2013/03/16 21:08:12 Merge from FreeBSD-HEAD: When we are waiting for new trail files we may have been disconnected and reconnected in the meantime. Check if reset is set before opening next trail file, as not doing so will result in sending OPEN message with the same file name twice and this is illegal - the second OPEN is send without first closing previous trail file. Affected files ... .. //depot/projects/trustedbsd/openbsm/bin/auditdistd/sender.c#4 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/bin/auditdistd/sender.c#4 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/bin/auditdistd/sender.c#3 $ + * $P4: //depot/projects/trustedbsd/openbsm/bin/auditdistd/sender.c#4 $ */ #include @@ -394,6 +394,7 @@ mtx_lock(&adist_remote_mtx); if (adhost->adh_reset) { +reset: adhost->adh_reset = false; if (trail_filefd(adist_trail) != -1) trail_close(adist_trail); @@ -408,6 +409,14 @@ while (trail_filefd(adist_trail) == -1) { newfile = true; wait_for_dir(); + /* + * We may have been disconnected and reconnected in the + * meantime, check if reset is set. + */ + mtx_lock(&adist_remote_mtx); + if (adhost->adh_reset) + goto reset; + mtx_unlock(&adist_remote_mtx); if (trail_filefd(adist_trail) == -1) trail_next(adist_trail); }