From owner-freebsd-bugs@FreeBSD.ORG Fri Mar 5 10:20:26 2004 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CB11E16A4CE for ; Fri, 5 Mar 2004 10:20:26 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id C31FC43D1F for ; Fri, 5 Mar 2004 10:20:26 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) i25IKQbv093411 for ; Fri, 5 Mar 2004 10:20:26 -0800 (PST) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.10/8.12.10/Submit) id i25IKQpR093410; Fri, 5 Mar 2004 10:20:26 -0800 (PST) (envelope-from gnats) Date: Fri, 5 Mar 2004 10:20:26 -0800 (PST) Message-Id: <200403051820.i25IKQpR093410@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Stefan `Sec` Zehl Subject: Re: kern/63772: tap device / exclusive open problem X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Stefan `Sec` Zehl List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Mar 2004 18:20:26 -0000 The following reply was made to PR kern/63772; it has been noted by GNATS. From: Stefan `Sec` Zehl To: FreeBSD-gnats-submit@FreeBSD.org, freebsd-bugs@FreeBSD.org Cc: Subject: Re: kern/63772: tap device / exclusive open problem Date: Fri, 5 Mar 2004 19:18:52 +0100 On Thu, Mar 04, 2004 at 11:20 -0800, FreeBSD-gnats-submit@FreeBSD.org wrote: > Thank you very much for your problem report. > It has the internal identification `kern/63772'. I have checked the if_tap.c in the current and stable branches, and was thus able to come up with an easy fix: --- if_tap.c Tue Feb 24 05:35:44 2004 +++ if_tap.c.neu Fri Mar 5 19:09:12 2004 @@ -323,6 +323,9 @@ KASSERT(!(tp->tap_flags & TAP_OPEN), ("%s flags is out of sync", tp->tap_if.if_xname)); + if (tp->tap_flags & TAP_OPEN) + return (EBUSY); + bcopy(tp->arpcom.ac_enaddr, tp->ether_addr, sizeof(tp->ether_addr)); tp->tap_pid = td->td_proc->p_pid; After this simple change, openvpn works with multiple tunnels again. I hope this can be committed. CU, Sec -- "Caution, you have *no chance* of operating this device successfully unless you have read the instruction manual." - from a card covering the screen of an Amstrad phone