Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Dec 2008 13:43:52 GMT
From:      Ed Schouten <ed@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 155276 for review
Message-ID:  <200812251343.mBPDhqhu026890@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=155276

Change 155276 by ed@ed_dull on 2008/12/25 13:43:08

	IFC. Also integrate libteken sources.

Affected files ...

.. //depot/projects/mpsafetty/UPDATING#18 integrate
.. //depot/projects/mpsafetty/lib/libc/sys/kldunload.2#2 integrate
.. //depot/projects/mpsafetty/sbin/ddb/ddb.8#3 integrate
.. //depot/projects/mpsafetty/sbin/savecore/savecore.8#2 integrate
.. //depot/projects/mpsafetty/share/man/man4/Makefile#17 integrate
.. //depot/projects/mpsafetty/share/man/man4/ng_ether_echo.4#1 branch
.. //depot/projects/mpsafetty/share/man/man4/ng_tty.4#3 integrate
.. //depot/projects/mpsafetty/share/man/man4/textdump.4#3 integrate
.. //depot/projects/mpsafetty/sys/conf/files#38 integrate
.. //depot/projects/mpsafetty/sys/conf/options#19 integrate
.. //depot/projects/mpsafetty/sys/dev/syscons/teken/teken_wcwidth.h#3 edit
.. //depot/projects/mpsafetty/sys/dev/usb/if_zyd.c#7 integrate
.. //depot/projects/mpsafetty/sys/kern/uipc_domain.c#3 integrate
.. //depot/projects/mpsafetty/sys/modules/netgraph/Makefile#3 integrate
.. //depot/projects/mpsafetty/sys/modules/netgraph/ether_echo/Makefile#1 branch
.. //depot/projects/mpsafetty/sys/net/if_tun.c#10 integrate
.. //depot/projects/mpsafetty/sys/netgraph/ng_ether.c#5 integrate
.. //depot/projects/mpsafetty/sys/netgraph/ng_ether_echo.c#1 branch
.. //depot/projects/mpsafetty/sys/netgraph/ng_ether_echo.h#1 branch
.. //depot/projects/mpsafetty/sys/sys/tree.h#2 integrate
.. //depot/projects/mpsafetty/usr.bin/gprof/gprof.1#2 integrate
.. //depot/projects/mpsafetty/usr.sbin/arp/arp.8#2 integrate
.. //depot/projects/mpsafetty/usr.sbin/arp/arp.c#3 integrate
.. //depot/projects/mpsafetty/usr.sbin/ugidfw/ugidfw.c#2 integrate

Differences ...

==== //depot/projects/mpsafetty/UPDATING#18 (text+ko) ====

@@ -22,6 +22,12 @@
 	to maximize performance.  (To disable malloc debugging, run
 	ln -s aj /etc/malloc.conf.)
 
+20081225:
+	ng_tty(4) module updated to match the new TTY subsystem.
+	Due to API change, user-level applications must be updated.
+	New API support added to mpd5 CVS and expected to be present
+	in next mpd5.3 release.
+
 20081219:
 	With __FreeBSD_version 800060 the makefs tool is part of
 	the base system (it was a port).
@@ -1195,4 +1201,4 @@
 Contact Warner Losh if you have any questions about your use of
 this document.
 
-$FreeBSD: src/UPDATING,v 1.556 2008/12/19 23:12:14 sam Exp $
+$FreeBSD: src/UPDATING,v 1.557 2008/12/25 10:05:00 mav Exp $

==== //depot/projects/mpsafetty/lib/libc/sys/kldunload.2#2 (text+ko) ====

@@ -23,9 +23,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/lib/libc/sys/kldunload.2,v 1.20 2008/03/13 10:33:24 ru Exp $
+.\" $FreeBSD: src/lib/libc/sys/kldunload.2,v 1.21 2008/12/25 09:15:31 trhodes Exp $
 .\"
-.Dd March 10, 2008
+.Dd December 25, 2008
 .Dt KLDUNLOAD 2
 .Os
 .Sh NAME
@@ -69,6 +69,10 @@
 The file was not found.
 .It Bq Er EBUSY
 You attempted to unload a file linked by the kernel.
+.It Bq Er EINVAL
+The
+.Fn kldunloadf
+system call was passed invalid flags.
 .El
 .Sh SEE ALSO
 .Xr kldfind 2 ,

==== //depot/projects/mpsafetty/sbin/ddb/ddb.8#3 (text+ko) ====

@@ -23,9 +23,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/sbin/ddb/ddb.8,v 1.6 2008/08/03 14:27:06 rwatson Exp $
+.\" $FreeBSD: src/sbin/ddb/ddb.8,v 1.7 2008/12/24 11:12:21 trhodes Exp $
 .\"
-.Dd April 24, 2008
+.Dd December 24, 2008
 .Dt DDB 8
 .Os
 .Sh NAME
@@ -87,7 +87,7 @@
 The following debugger commands are available from the command line:
 .Bl -tag -width indent
 .It Xo
-.Ic Cm capture
+.Cm capture
 .Op Fl M Ar core
 .Op Fl N Ar system
 .Cm print
@@ -96,7 +96,7 @@
 .Xr ddb 4
 output capture buffer.
 .It Xo
-.Ic Cm capture
+.Cm capture
 .Op Fl M Ar core
 .Op Fl N Ar system
 .Cm status
@@ -104,6 +104,7 @@
 Print the current status of the
 .Xr ddb 4
 output capture buffer.
+.El
 .Sh SCRIPTING
 The
 .Nm

==== //depot/projects/mpsafetty/sbin/savecore/savecore.8#2 (text+ko) ====

@@ -26,9 +26,9 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     From: @(#)savecore.8	8.1 (Berkeley) 6/5/93
-.\" $FreeBSD: src/sbin/savecore/savecore.8,v 1.26 2007/12/26 11:42:10 rwatson Exp $
+.\" $FreeBSD: src/sbin/savecore/savecore.8,v 1.27 2008/12/24 11:12:21 trhodes Exp $
 .\"
-.Dd February 24, 2005
+.Dd December 24, 2008
 .Dt SAVECORE 8
 .Os
 .Sh NAME
@@ -144,7 +144,7 @@
 .Xr gzip 1 ,
 .Xr getbootfile 3 ,
 .Xr textdump 4 ,
-.Xr tar 4 ,
+.Xr tar 5 ,
 .Xr dumpon 8 ,
 .Xr syslogd 8
 .Sh HISTORY

==== //depot/projects/mpsafetty/share/man/man4/Makefile#17 (text+ko) ====

@@ -1,5 +1,5 @@
 #	@(#)Makefile	8.1 (Berkeley) 6/18/93
-# $FreeBSD: src/share/man/man4/Makefile,v 1.438 2008/12/15 13:19:11 bz Exp $
+# $FreeBSD: src/share/man/man4/Makefile,v 1.439 2008/12/25 07:34:14 julian Exp $
 
 MAN=	aac.4 \
 	acpi.4 \
@@ -228,6 +228,7 @@
 	ng_eiface.4 \
 	ng_etf.4 \
 	ng_ether.4 \
+	ng_ether_echo.4 \
 	ng_fec.4 \
 	ng_frame_relay.4 \
 	ng_gif.4 \

==== //depot/projects/mpsafetty/share/man/man4/ng_tty.4#3 (text+ko) ====

@@ -32,10 +32,10 @@
 .\"
 .\" Author: Archie Cobbs <archie@FreeBSD.org>
 .\"
-.\" $FreeBSD: src/share/man/man4/ng_tty.4,v 1.18 2008/10/03 05:14:54 thompsa Exp $
+.\" $FreeBSD: src/share/man/man4/ng_tty.4,v 1.19 2008/12/25 10:18:35 mav Exp $
 .\" $Whistle: ng_tty.8,v 1.5 1999/01/25 23:46:28 archie Exp $
 .\"
-.Dd October 2, 2008
+.Dd December 25, 2008
 .Dt NG_TTY 4
 .Os
 .Sh NAME
@@ -78,18 +78,6 @@
 .Xr ng_async 4
 type node.
 The hot character has no effect on the transmission of data.
-.Pp
-The node will attempt to give itself the same netgraph name as the name
-of the tty device.
-In any case, information about the node is available via the netgraph
-.Xr ioctl 2
-command
-.Dv NGIOCGINFO .
-This command returns a
-.Dv "struct nodeinfo"
-similar to the
-.Dv NGM_NODEINFO
-netgraph control message.
 .Sh HOOKS
 This node type supports the following hooks:
 .Pp
@@ -112,7 +100,7 @@
 Returns an integer containing the current hot character in the lower
 eight bits.
 .It Dv NGM_TTY_SET_TTY
-This command takes an integer pointer to the open file descriptor of the tty
+This command takes integer process ID and file descriptor of open tty
 and registers the tty hooks.
 .El
 .Sh SHUTDOWN

==== //depot/projects/mpsafetty/share/man/man4/textdump.4#3 (text+ko) ====

@@ -25,9 +25,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man4/textdump.4,v 1.5 2008/08/03 14:14:43 rwatson Exp $
+.\" $FreeBSD: src/share/man/man4/textdump.4,v 1.6 2008/12/24 11:12:21 trhodes Exp $
 .\"
-.Dd December 26, 2007
+.Dd December 24, 2008
 .Dt textdump 4
 .Os
 .Sh NAME
@@ -148,10 +148,15 @@
 .Bd -literal -offset indent
 script kdb.enter.witness=show locks
 .Ed
+.Pp
+These scripts may also be configured using the
+.Xr ddb 8
+utility.
 .Sh SEE ALSO
 .Xr bsdtar 1 ,
 .Xr ddb 4 ,
 .Xr tar 5 ,
+.Xr ddb 8 ,
 .Xr dumpon 8 ,
 .Xr savecore 8 ,
 .Xr sysctl 8

==== //depot/projects/mpsafetty/sys/conf/files#38 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.1358 2008/12/22 21:37:06 alfred Exp $
+# $FreeBSD: src/sys/conf/files,v 1.1359 2008/12/25 07:34:14 julian Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -2291,6 +2291,7 @@
 netgraph/ng_echo.c		optional netgraph_echo
 netgraph/ng_eiface.c		optional netgraph_eiface
 netgraph/ng_ether.c		optional netgraph_ether
+netgraph/ng_ether_echo.c	optional netgraph_ether_echo
 netgraph/ng_fec.c		optional netgraph_fec
 netgraph/ng_frame_relay.c	optional netgraph_frame_relay
 netgraph/ng_gif.c		optional netgraph_gif

==== //depot/projects/mpsafetty/sys/conf/options#19 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options,v 1.652 2008/12/20 03:02:32 sam Exp $
+# $FreeBSD: src/sys/conf/options,v 1.653 2008/12/25 07:34:14 julian Exp $
 #
 #        On the handling of kernel options
 #
@@ -459,6 +459,7 @@
 NETGRAPH_ECHO		opt_netgraph.h
 NETGRAPH_EIFACE		opt_netgraph.h
 NETGRAPH_ETHER		opt_netgraph.h
+NETGRAPH_ETHER_ECHO	opt_netgraph.h
 NETGRAPH_FEC		opt_netgraph.h
 NETGRAPH_FRAME_RELAY	opt_netgraph.h
 NETGRAPH_GIF		opt_netgraph.h

==== //depot/projects/mpsafetty/sys/dev/syscons/teken/teken_wcwidth.h#3 (text+ko) ====

@@ -35,39 +35,6 @@
   return 0;
 }
 
-
-/* The following two functions define the column width of an ISO 10646
- * character as follows:
- *
- *    - The null character (U+0000) has a column width of 0.
- *
- *    - Other C0/C1 control characters and DEL will lead to a return
- *      value of -1.
- *
- *    - Non-spacing and enclosing combining characters (general
- *      category code Mn or Me in the Unicode database) have a
- *      column width of 0.
- *
- *    - SOFT HYPHEN (U+00AD) has a column width of 1.
- *
- *    - Other format characters (general category code Cf in the Unicode
- *      database) and ZERO WIDTH SPACE (U+200B) have a column width of 0.
- *
- *    - Hangul Jamo medial vowels and final consonants (U+1160-U+11FF)
- *      have a column width of 0.
- *
- *    - Spacing characters in the East Asian Wide (W) or East Asian
- *      Full-width (F) category as defined in Unicode Technical
- *      Report #11 have a column width of 2.
- *
- *    - All remaining characters (including all printable
- *      ISO 8859-1 and WGL4 characters, Unicode control characters,
- *      etc.) have a column width of 1.
- *
- * This implementation assumes that wchar_t characters are encoded
- * in ISO 10646.
- */
-
 static int teken_wcwidth(teken_char_t ucs)
 {
   /* sorted list of non-overlapping intervals of non-spacing characters */

==== //depot/projects/mpsafetty/sys/dev/usb/if_zyd.c#7 (text+ko) ====

@@ -1,6 +1,6 @@
 /*	$OpenBSD: if_zyd.c,v 1.52 2007/02/11 00:08:04 jsg Exp $	*/
 /*	$NetBSD: if_zyd.c,v 1.7 2007/06/21 04:04:29 kiyohara Exp $	*/
-/*	$FreeBSD: src/sys/dev/usb/if_zyd.c,v 1.24 2008/11/25 02:19:02 weongyo Exp $	*/
+/*	$FreeBSD: src/sys/dev/usb/if_zyd.c,v 1.25 2008/12/25 04:29:40 weongyo Exp $	*/
 
 /*-
  * Copyright (c) 2006 by Damien Bergamini <damien.bergamini@free.fr>
@@ -1061,8 +1061,10 @@
 	for (i = 0; i < N(phyini); i++)
 		zyd_write16_m(sc, phyini[i].reg, phyini[i].val);
 
-	if (sc->sc_rfrev == ZYD_RF_AL2230S || sc->sc_al2230s != 0)
-		zyd_write16_m(sc, phy2230s[i].reg, phy2230s[i].val);
+	if (sc->sc_rfrev == ZYD_RF_AL2230S || sc->sc_al2230s != 0) {
+		for (i = 0; i < N(phy2230s); i++)
+			zyd_write16_m(sc, phy2230s[i].reg, phy2230s[i].val);
+	}
 
 	for (i = 0; i < 3; i++) {
 		error = zyd_rfwrite_cr(sc, zyd_al2230_chtable[0][i]);

==== //depot/projects/mpsafetty/sys/kern/uipc_domain.c#3 (text+ko) ====

@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/uipc_domain.c,v 1.53 2008/12/23 01:23:09 cperciva Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/uipc_domain.c,v 1.54 2008/12/25 11:32:38 rwatson Exp $");
 
 #include <sys/param.h>
 #include <sys/socket.h>
@@ -110,6 +110,28 @@
 	    pr->pr_domain->dom_name,
 	    (int)(pr - pr->pr_domain->dom_protosw)));
 
+	/*
+	 * Protocol switch methods fall into three categories: mandatory,
+	 * mandatory but protosw_init() provides a default, and optional.
+	 *
+	 * For true protocols (i.e., pru_attach != NULL), KASSERT truly
+	 * mandatory methods with no defaults, and initialize defaults for
+	 * other mandatory methods if the protocol hasn't defined an
+	 * implementation (NULL function pointer).
+	 */
+#if 0
+	if (pu->pru_attach != NULL) {
+		KASSERT(pu->pru_abort != NULL,
+		    ("protosw_init: %ssw[%d] pru_abort NULL",
+		    pr->pr_domain->dom_name,
+		    (int)(pr - pr->pr_domain->dom_protosw)));
+		KASSERT(pu->pru_send != NULL,
+		    ("protosw_init: %ssw[%d] pru_send NULL",
+		    pr->pr_domain->dom_name,
+		    (int)(pr - pr->pr_domain->dom_protosw)));
+	}
+#endif
+
 #define DEFAULT(foo, bar)	if ((foo) == NULL)  (foo) = (bar)
 	DEFAULT(pu->pru_accept, pru_accept_notsupp);
 	DEFAULT(pu->pru_bind, pru_bind_notsupp);

==== //depot/projects/mpsafetty/sys/modules/netgraph/Makefile#3 (text+ko) ====

@@ -1,5 +1,5 @@
 # $Whistle: Makefile,v 1.5 1999/01/24 06:48:37 archie Exp $
-# $FreeBSD: src/sys/modules/netgraph/Makefile,v 1.50 2008/08/03 10:32:17 ed Exp $
+# $FreeBSD: src/sys/modules/netgraph/Makefile,v 1.52 2008/12/25 09:32:20 mav Exp $
 
 .include <bsd.own.mk>
 
@@ -17,6 +17,7 @@
 	eiface \
 	etf \
 	ether \
+	ether_echo \
 	fec \
 	frame_relay \
 	gif \
@@ -48,6 +49,7 @@
 	tag \
 	tcpmss \
 	tee \
+	tty \
 	UI \
 	vjc \
 	vlan

==== //depot/projects/mpsafetty/sys/net/if_tun.c#10 (text+ko) ====

@@ -13,7 +13,7 @@
  * UCL. This driver is based much more on read/write/poll mode of
  * operation though.
  *
- * $FreeBSD: src/sys/net/if_tun.c,v 1.173 2008/12/22 01:56:56 qingli Exp $
+ * $FreeBSD: src/sys/net/if_tun.c,v 1.174 2008/12/25 02:14:25 kmacy Exp $
  */
 
 #include "opt_atalk.h"
@@ -79,6 +79,7 @@
 #define	TUN_RWAIT	0x0040
 #define	TUN_ASYNC	0x0080
 #define	TUN_IFHEAD	0x0100
+#define	TUN_CLOSED	0x0200
 
 #define TUN_READY       (TUN_OPEN | TUN_INITED)
 
@@ -256,9 +257,11 @@
 
 	/* Unlocked read. */
 	mtx_lock(&tp->tun_mtx);
-	if ((tp->tun_flags & TUN_OPEN) != 0)
+	if ((tp->tun_flags & (TUN_OPEN|TUN_CLOSED)) != TUN_CLOSED)
 		cv_wait_unlock(&tp->tun_cv, &tp->tun_mtx);
-
+	else
+		mtx_unlock(&tp->tun_mtx);
+	    
 	CURVNET_SET(TUN2IFP(tp)->if_vnet);
 	dev = tp->tun_dev;
 	bpfdetach(TUN2IFP(tp));
@@ -497,6 +500,7 @@
 	KNOTE_UNLOCKED(&tp->tun_rsel.si_note, 0);
 	TUNDEBUG (ifp, "closed\n");
 
+	tp->tun_flags |= TUN_CLOSED;
 	cv_broadcast(&tp->tun_cv);
 	mtx_unlock(&tp->tun_mtx);
 	return (0);

==== //depot/projects/mpsafetty/sys/netgraph/ng_ether.c#5 (text+ko) ====

@@ -39,7 +39,7 @@
  * Authors: Archie Cobbs <archie@freebsd.org>
  *	    Julian Elischer <julian@freebsd.org>
  *
- * $FreeBSD: src/sys/netgraph/ng_ether.c,v 1.65 2008/12/02 21:37:28 bz Exp $
+ * $FreeBSD: src/sys/netgraph/ng_ether.c,v 1.66 2008/12/25 09:02:55 julian Exp $
  */
 
 /*
@@ -102,8 +102,8 @@
 static void	ng_ether_link_state(struct ifnet *ifp, int state); 
 
 /* Other functions */
-static int	ng_ether_rcv_lower(node_p node, struct mbuf *m);
-static int	ng_ether_rcv_upper(node_p node, struct mbuf *m);
+static int	ng_ether_rcv_lower(hook_p node, item_p item);
+static int	ng_ether_rcv_upper(hook_p node, item_p item);
 
 /* Netgraph node methods */
 static ng_constructor_t	ng_ether_constructor;
@@ -389,13 +389,16 @@
 		name = NG_ETHER_HOOK_LOWER;
 
 	/* Which hook? */
-	if (strcmp(name, NG_ETHER_HOOK_UPPER) == 0)
+	if (strcmp(name, NG_ETHER_HOOK_UPPER) == 0) {
 		hookptr = &priv->upper;
-	else if (strcmp(name, NG_ETHER_HOOK_LOWER) == 0)
+		NG_HOOK_SET_RCVDATA(hook, ng_ether_rcv_upper);
+	} else if (strcmp(name, NG_ETHER_HOOK_LOWER) == 0) {
 		hookptr = &priv->lower;
-	else if (strcmp(name, NG_ETHER_HOOK_ORPHAN) == 0)
+		NG_HOOK_SET_RCVDATA(hook, ng_ether_rcv_lower);
+	} else if (strcmp(name, NG_ETHER_HOOK_ORPHAN) == 0) {
 		hookptr = &priv->orphan;
-	else
+		NG_HOOK_SET_RCVDATA(hook, ng_ether_rcv_lower);
+	} else
 		return (EINVAL);
 
 	/* Check if already connected (shouldn't be, but doesn't hurt) */
@@ -571,21 +574,13 @@
 
 /*
  * Receive data on a hook.
+ * Since we use per-hook recveive methods this should never be called.
  */
 static int
 ng_ether_rcvdata(hook_p hook, item_p item)
 {
-	const node_p node = NG_HOOK_NODE(hook);
-	const priv_p priv = NG_NODE_PRIVATE(node);
-	struct mbuf *m;
-
-	NGI_GET_M(item, m);
 	NG_FREE_ITEM(item);
 
-	if (hook == priv->lower || hook == priv->orphan)
-		return ng_ether_rcv_lower(node, m);
-	if (hook == priv->upper)
-		return ng_ether_rcv_upper(node, m);
 	panic("%s: weird hook", __func__);
 #ifdef RESTARTABLE_PANICS /* so we don't get an error msg in LINT */
 	return (0);
@@ -596,12 +591,18 @@
  * Handle an mbuf received on the "lower" or "orphan" hook.
  */
 static int
-ng_ether_rcv_lower(node_p node, struct mbuf *m)
+ng_ether_rcv_lower(hook_p hook, item_p item)
 {
+	struct mbuf *m;
+	const node_p node = NG_HOOK_NODE(hook);
 	const priv_p priv = NG_NODE_PRIVATE(node);
  	struct ifnet *const ifp = priv->ifp;
 
+	NGI_GET_M(item, m);
+	NG_FREE_ITEM(item);
+
 	/* Check whether interface is ready for packets */
+
 	if (!((ifp->if_flags & IFF_UP) &&
 	    (ifp->if_drv_flags & IFF_DRV_RUNNING))) {
 		NG_FREE_M(m);
@@ -639,11 +640,16 @@
  * Handle an mbuf received on the "upper" hook.
  */
 static int
-ng_ether_rcv_upper(node_p node, struct mbuf *m)
+ng_ether_rcv_upper(hook_p hook, item_p item)
 {
+	struct mbuf *m;
+	const node_p node = NG_HOOK_NODE(hook);
 	const priv_p priv = NG_NODE_PRIVATE(node);
 	struct ifnet *ifp = priv->ifp;
 
+	NGI_GET_M(item, m);
+	NG_FREE_ITEM(item);
+
 	/* Check length and pull off header */
 	if (m->m_pkthdr.len < sizeof(struct ether_header)) {
 		NG_FREE_M(m);

==== //depot/projects/mpsafetty/sys/sys/tree.h#2 (text+ko) ====

@@ -1,6 +1,6 @@
 /*	$NetBSD: tree.h,v 1.8 2004/03/28 19:38:30 provos Exp $	*/
 /*	$OpenBSD: tree.h,v 1.7 2002/10/17 21:51:54 art Exp $	*/
-/* $FreeBSD: src/sys/sys/tree.h,v 1.7 2007/12/28 07:03:26 jasone Exp $ */
+/* $FreeBSD: src/sys/sys/tree.h,v 1.8 2008/12/24 19:57:22 bms Exp $ */
 
 /*-
  * Copyright 2002 Niels Provos <provos@citi.umich.edu>
@@ -737,6 +737,11 @@
 	     (x) != NULL;						\
 	     (x) = name##_RB_NEXT(x))
 
+#define RB_FOREACH_SAFE(x, name, head, y)				\
+	for ((x) = RB_MIN(name, head);					\
+	     (x) != NULL && ((y) = name##_RB_NEXT(x));			\
+	     (x) = (y))
+
 #define RB_FOREACH_REVERSE(x, name, head)				\
 	for ((x) = RB_MAX(name, head);					\
 	     (x) != NULL;						\

==== //depot/projects/mpsafetty/usr.bin/gprof/gprof.1#2 (text+ko) ====

@@ -30,9 +30,9 @@
 .\" SUCH DAMAGE.
 .\"
 .\"	@(#)gprof.1	8.1 (Berkeley) 6/6/93
-.\" $FreeBSD: src/usr.bin/gprof/gprof.1,v 1.29 2005/10/07 11:58:46 bde Exp $
+.\" $FreeBSD: src/usr.bin/gprof/gprof.1,v 1.30 2008/12/25 08:48:08 trhodes Exp $
 .\"
-.Dd October 7, 2005
+.Dd December 25, 2008
 .Dt GPROF 1
 .Os
 .Sh NAME
@@ -263,9 +263,6 @@
 .It Fl z
 Display routines that have zero usage (as shown by call counts
 and accumulated time).
-This is useful with the
-.Fl c
-option for discovering which routines were never called.
 .El
 .Sh FILES
 .Bl -tag -width a.out.gmon -compact

==== //depot/projects/mpsafetty/usr.sbin/arp/arp.8#2 (text+ko) ====

@@ -26,9 +26,9 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     @(#)arp.8	8.1 (Berkeley) 6/6/93
-.\" $FreeBSD: src/usr.sbin/arp/arp.8,v 1.27 2008/03/24 22:57:55 ru Exp $
+.\" $FreeBSD: src/usr.sbin/arp/arp.8,v 1.28 2008/12/25 06:44:19 trhodes Exp $
 .\"
-.Dd March 18, 2008
+.Dd December 25, 2008
 .Dt ARP 8
 .Os
 .Sh NAME
@@ -53,14 +53,12 @@
 .Nm
 .Fl s Ar hostname ether_addr
 .Op Cm temp
-.Op Cm reject
-.Op Cm blackhole
+.Op Cm blackhole No \&| Cm reject
 .Op Cm pub Op Cm only
 .Nm
 .Fl S Ar hostname ether_addr
 .Op Cm temp
-.Op Cm reject
-.Op Cm blackhole
+.Op Cm blackhole No \&| Cm reject
 .Op Cm pub Op Cm only
 .Nm
 .Fl f Ar filename
@@ -182,7 +180,8 @@
 .Bd -ragged -offset indent -compact
 .Ar hostname ether_addr
 .Op Cm temp
-.Op Cm pub
+.Op Cm blackhole No \&| Cm reject
+.Op Cm pub Op Cm only
 .Ed
 .Pp
 with argument meanings as given above.

==== //depot/projects/mpsafetty/usr.sbin/arp/arp.c#3 (text+ko) ====

@@ -42,7 +42,7 @@
 #endif /* not lint */
 #endif
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/usr.sbin/arp/arp.c,v 1.68 2008/12/15 06:10:57 qingli Exp $");
+__FBSDID("$FreeBSD: src/usr.sbin/arp/arp.c,v 1.69 2008/12/25 06:44:19 trhodes Exp $");
 
 /*
  * arp - display, set, and delete arp table entries
@@ -330,8 +330,14 @@
 				argc--; argv++;
 			}
 		} else if (strncmp(argv[0], "blackhole", 9) == 0) {
+			if (flags & RTF_REJECT) {
+				printf("Choose one of blackhole or reject, not both.\n");
+			}
 			flags |= RTF_BLACKHOLE;
 		} else if (strncmp(argv[0], "reject", 6) == 0) {
+			if (flags & RTF_BLACKHOLE) {
+				printf("Choose one of blackhole or reject, not both.\n");
+			}
 			flags |= RTF_REJECT;
 		} else if (strncmp(argv[0], "trail", 5) == 0) {
 			/* XXX deprecated and undocumented feature */
@@ -648,8 +654,8 @@
 		"       arp [-n] [-i interface] -a",
 		"       arp -d hostname [pub]",
 		"       arp -d [-i interface] -a",
-		"       arp -s hostname ether_addr [temp] [reject] [blackhole] [pub [only]]",
-		"       arp -S hostname ether_addr [temp] [reject] [blackhole] [pub [only]]",
+		"       arp -s hostname ether_addr [temp] [reject | blackhole] [pub [only]]",
+		"       arp -S hostname ether_addr [temp] [reject | blackhole] [pub [only]]",
 		"       arp -f filename");
 	exit(1);
 }

==== //depot/projects/mpsafetty/usr.sbin/ugidfw/ugidfw.c#2 (text+ko) ====

@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/usr.sbin/ugidfw/ugidfw.c,v 1.6 2006/04/23 17:06:18 dwmalone Exp $");
+__FBSDID("$FreeBSD: src/usr.sbin/ugidfw/ugidfw.c,v 1.7 2008/12/24 22:40:13 rwatson Exp $");
 
 #include <sys/param.h>
 #include <sys/errno.h>
@@ -71,7 +71,7 @@
 void
 add_rule(int argc, char *argv[])
 {
-	char errstr[BUFSIZ];
+	char errstr[BUFSIZ], charstr[BUFSIZ];
 	struct mac_bsdextended_rule rule;
 	int error, rulenum;
 
@@ -86,7 +86,10 @@
 		warnx("%s", errstr);
 		return;
 	}
-	printf("Added rule %d\n", rulenum);
+	if (bsde_rule_to_string(&rule, charstr, BUFSIZ) == -1)
+		warnx("Added rule, but unable to print string.");
+	else
+		printf("%d %s\n", rulenum, charstr);
 }
 
 void



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200812251343.mBPDhqhu026890>