From owner-p4-projects@FreeBSD.ORG Thu Dec 25 13:43:53 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0C8471065673; Thu, 25 Dec 2008 13:43:53 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C2DA01065670 for ; Thu, 25 Dec 2008 13:43:52 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B048F8FC0C for ; Thu, 25 Dec 2008 13:43:52 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id mBPDhqvx026892 for ; Thu, 25 Dec 2008 13:43:52 GMT (envelope-from ed@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id mBPDhqhu026890 for perforce@freebsd.org; Thu, 25 Dec 2008 13:43:52 GMT (envelope-from ed@FreeBSD.org) Date: Thu, 25 Dec 2008 13:43:52 GMT Message-Id: <200812251343.mBPDhqhu026890@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ed@FreeBSD.org using -f From: Ed Schouten To: Perforce Change Reviews Cc: Subject: PERFORCE change 155276 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Dec 2008 13:43:53 -0000 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 .\" -.\" $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 @@ -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 -__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 #include @@ -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 @@ -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 * Julian Elischer * - * $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 @@ -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 -__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 -__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 #include @@ -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