From owner-svn-src-projects@FreeBSD.ORG Wed Oct 21 17:08:36 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C6F17106566B; Wed, 21 Oct 2009 17:08:36 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B29B48FC1D; Wed, 21 Oct 2009 17:08:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n9LH8aWj005308; Wed, 21 Oct 2009 17:08:36 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n9LH8ZlS005261; Wed, 21 Oct 2009 17:08:35 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <200910211708.n9LH8ZlS005261@svn.freebsd.org> From: Robert Watson Date: Wed, 21 Oct 2009 17:08:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r198336 - in projects/capabilities8: . bin/csh bin/sh cddl/compat/opensolaris cddl/contrib/opensolaris cddl/lib/libnvpair contrib/bind9 contrib/bzip2 contrib/cpio contrib/csup contrib/e... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Oct 2009 17:08:36 -0000 Author: rwatson Date: Wed Oct 21 17:08:35 2009 New Revision: 198336 URL: http://svn.freebsd.org/changeset/base/198336 Log: Merge through r198334 from stable/8 to capabilities8. Added: projects/capabilities8/tools/regression/bin/sh/execution/func1.0 - copied unchanged from r198334, stable/8/tools/regression/bin/sh/execution/func1.0 projects/capabilities8/tools/regression/bin/sh/execution/func2.0 - copied unchanged from r198334, stable/8/tools/regression/bin/sh/execution/func2.0 Modified: projects/capabilities8/ (props changed) projects/capabilities8/Makefile.inc1 projects/capabilities8/ObsoleteFiles.inc (props changed) projects/capabilities8/UPDATING (props changed) projects/capabilities8/bin/csh/ (props changed) projects/capabilities8/bin/csh/iconv_stub.c projects/capabilities8/bin/sh/ (props changed) projects/capabilities8/bin/sh/eval.c projects/capabilities8/bin/sh/exec.c projects/capabilities8/bin/sh/exec.h projects/capabilities8/bin/sh/mknodes.c projects/capabilities8/bin/sh/nodes.c.pat projects/capabilities8/cddl/compat/opensolaris/ (props changed) projects/capabilities8/cddl/contrib/opensolaris/ (props changed) projects/capabilities8/cddl/lib/libnvpair/ (props changed) projects/capabilities8/contrib/bind9/ (props changed) projects/capabilities8/contrib/bzip2/ (props changed) projects/capabilities8/contrib/cpio/ (props changed) projects/capabilities8/contrib/csup/ (props changed) projects/capabilities8/contrib/ee/ (props changed) projects/capabilities8/contrib/file/ (props changed) projects/capabilities8/contrib/gdb/ (props changed) projects/capabilities8/contrib/gdtoa/ (props changed) projects/capabilities8/contrib/less/ (props changed) projects/capabilities8/contrib/libpcap/ (props changed) projects/capabilities8/contrib/ncurses/ (props changed) projects/capabilities8/contrib/netcat/ (props changed) projects/capabilities8/contrib/ntp/ (props changed) projects/capabilities8/contrib/openbsm/ (props changed) projects/capabilities8/contrib/openpam/ (props changed) projects/capabilities8/contrib/pf/ (props changed) projects/capabilities8/contrib/sendmail/ (props changed) projects/capabilities8/contrib/tcpdump/ (props changed) projects/capabilities8/contrib/tcsh/ (props changed) projects/capabilities8/contrib/tcsh/sh.c projects/capabilities8/contrib/top/ (props changed) projects/capabilities8/contrib/top/install-sh (props changed) projects/capabilities8/contrib/traceroute/ (props changed) projects/capabilities8/contrib/wpa/ (props changed) projects/capabilities8/crypto/openssh/ (props changed) projects/capabilities8/crypto/openssl/ (props changed) projects/capabilities8/etc/ (props changed) projects/capabilities8/etc/rc.d/bgfsck projects/capabilities8/etc/rc.d/cleartmp projects/capabilities8/etc/rc.d/fsck projects/capabilities8/etc/rc.d/hostid projects/capabilities8/etc/rc.d/hostname projects/capabilities8/etc/rc.d/ipsec projects/capabilities8/etc/rc.d/ldconfig projects/capabilities8/etc/rc.d/motd projects/capabilities8/etc/rc.d/mountcritlocal projects/capabilities8/etc/rc.d/moused projects/capabilities8/etc/rc.d/netif projects/capabilities8/etc/rc.d/newsyslog projects/capabilities8/etc/rc.d/nfsclient projects/capabilities8/etc/rc.d/pf projects/capabilities8/etc/rc.d/savecore projects/capabilities8/etc/rc.subr projects/capabilities8/gnu/usr.bin/patch/ (props changed) projects/capabilities8/include/ (props changed) projects/capabilities8/kerberos5/lib/libgssapi_krb5/ (props changed) projects/capabilities8/kerberos5/lib/libgssapi_krb5/Makefile projects/capabilities8/kerberos5/lib/libgssapi_spnego/ (props changed) projects/capabilities8/kerberos5/lib/libgssapi_spnego/Makefile projects/capabilities8/lib/libarchive/ (props changed) projects/capabilities8/lib/libc/ (props changed) projects/capabilities8/lib/libc/gen/ (props changed) projects/capabilities8/lib/libc/stdio/asprintf.c (props changed) projects/capabilities8/lib/libc/stdtime/ (props changed) projects/capabilities8/lib/libc/string/ffsll.c (props changed) projects/capabilities8/lib/libc/string/flsll.c (props changed) projects/capabilities8/lib/libc/string/wcpcpy.c (props changed) projects/capabilities8/lib/libc/string/wcpncpy.c (props changed) projects/capabilities8/lib/libc/sys/nanosleep.2 projects/capabilities8/lib/libc/sys/setfib.2 projects/capabilities8/lib/libc/sys/stack_protector.c projects/capabilities8/lib/libdevinfo/ (props changed) projects/capabilities8/lib/libdisk/ (props changed) projects/capabilities8/lib/libkvm/ (props changed) projects/capabilities8/lib/libthr/ (props changed) projects/capabilities8/lib/libusb/ (props changed) projects/capabilities8/lib/libusb/libusb20.3 (props changed) projects/capabilities8/lib/libusb/usb.h (props changed) projects/capabilities8/lib/libutil/ (props changed) projects/capabilities8/libexec/rtld-elf/ (props changed) projects/capabilities8/libexec/rtld-elf/rtld.c projects/capabilities8/release/ (props changed) projects/capabilities8/release/Makefile projects/capabilities8/release/doc/ (props changed) projects/capabilities8/release/doc/en_US.ISO8859-1/hardware/ (props changed) projects/capabilities8/sbin/ (props changed) projects/capabilities8/sbin/bsdlabel/ (props changed) projects/capabilities8/sbin/camcontrol/ (props changed) projects/capabilities8/sbin/geom/ (props changed) projects/capabilities8/sbin/geom/class/nop/gnop.8 projects/capabilities8/sbin/ifconfig/ (props changed) projects/capabilities8/sbin/ifconfig/ifconfig.8 projects/capabilities8/sbin/ifconfig/ifieee80211.c projects/capabilities8/sbin/ipfw/ (props changed) projects/capabilities8/sbin/ipfw/ipfw.8 projects/capabilities8/sbin/mksnap_ffs/ (props changed) projects/capabilities8/sbin/mksnap_ffs/mksnap_ffs.8 projects/capabilities8/sbin/mount/ (props changed) projects/capabilities8/sbin/mount_nfs/ (props changed) projects/capabilities8/sbin/mount_nfs/mount_nfs.c projects/capabilities8/sbin/umount/ (props changed) projects/capabilities8/share/man/man4/ (props changed) projects/capabilities8/share/man/man4/acpi_panasonic.4 projects/capabilities8/share/man/man4/bce.4 projects/capabilities8/share/man/man4/bge.4 projects/capabilities8/share/man/man4/mfi.4 projects/capabilities8/share/man/man4/sbp_targ.4 projects/capabilities8/share/man/man4/targ.4 projects/capabilities8/share/man/man5/ (props changed) projects/capabilities8/share/man/man7/ (props changed) projects/capabilities8/share/man/man9/ (props changed) projects/capabilities8/share/man/man9/fail.9 projects/capabilities8/share/man/man9/ieee80211.9 projects/capabilities8/share/man/man9/ieee80211_amrr.9 projects/capabilities8/share/man/man9/ieee80211_beacon.9 projects/capabilities8/share/man/man9/ieee80211_bmiss.9 projects/capabilities8/share/man/man9/ieee80211_crypto.9 projects/capabilities8/share/man/man9/ieee80211_ddb.9 projects/capabilities8/share/man/man9/ieee80211_input.9 projects/capabilities8/share/man/man9/ieee80211_node.9 projects/capabilities8/share/man/man9/ieee80211_output.9 projects/capabilities8/share/man/man9/ieee80211_proto.9 projects/capabilities8/share/man/man9/ieee80211_radiotap.9 projects/capabilities8/share/man/man9/ieee80211_regdomain.9 projects/capabilities8/share/man/man9/ieee80211_scan.9 projects/capabilities8/share/man/man9/ieee80211_vap.9 projects/capabilities8/share/timedef/ (props changed) projects/capabilities8/share/zoneinfo/ (props changed) projects/capabilities8/sys/ (props changed) projects/capabilities8/sys/amd64/include/atomic.h projects/capabilities8/sys/amd64/include/elf.h projects/capabilities8/sys/amd64/include/xen/ (props changed) projects/capabilities8/sys/arm/include/elf.h projects/capabilities8/sys/boot/i386/zfsboot/zfsboot.c projects/capabilities8/sys/cam/ata/ata_da.c projects/capabilities8/sys/cddl/compat/opensolaris/kern/opensolaris_policy.c projects/capabilities8/sys/cddl/compat/opensolaris/sys/policy.h projects/capabilities8/sys/cddl/contrib/opensolaris/ (props changed) projects/capabilities8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c projects/capabilities8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/capabilities8/sys/contrib/dev/acpica/ (props changed) projects/capabilities8/sys/contrib/pf/ (props changed) projects/capabilities8/sys/dev/bge/if_bge.c projects/capabilities8/sys/dev/uart/uart_bus.h projects/capabilities8/sys/dev/uart/uart_core.c projects/capabilities8/sys/dev/uart/uart_tty.c projects/capabilities8/sys/dev/usb/wlan/if_rum.c projects/capabilities8/sys/dev/usb/wlan/if_uath.c projects/capabilities8/sys/dev/usb/wlan/if_upgt.c projects/capabilities8/sys/dev/usb/wlan/if_ural.c projects/capabilities8/sys/dev/usb/wlan/if_urtw.c projects/capabilities8/sys/dev/usb/wlan/if_zyd.c projects/capabilities8/sys/dev/xen/xenpci/ (props changed) projects/capabilities8/sys/geom/concat/g_concat.c projects/capabilities8/sys/geom/label/g_label.c projects/capabilities8/sys/geom/part/g_part.c projects/capabilities8/sys/geom/shsec/g_shsec.c projects/capabilities8/sys/geom/stripe/g_stripe.c projects/capabilities8/sys/geom/uzip/g_uzip.c projects/capabilities8/sys/i386/include/atomic.h projects/capabilities8/sys/i386/include/elf.h projects/capabilities8/sys/ia64/include/elf.h projects/capabilities8/sys/kern/imgact_elf.c projects/capabilities8/sys/kern/kern_exit.c projects/capabilities8/sys/kern/kern_lock.c projects/capabilities8/sys/kern/kern_rwlock.c projects/capabilities8/sys/kern/kern_sx.c projects/capabilities8/sys/kern/kern_umtx.c projects/capabilities8/sys/kern/sched_ule.c projects/capabilities8/sys/kern/uipc_syscalls.c projects/capabilities8/sys/mips/include/elf.h projects/capabilities8/sys/modules/pf/Makefile projects/capabilities8/sys/net/pfil.c projects/capabilities8/sys/net/pfil.h projects/capabilities8/sys/net/route.c projects/capabilities8/sys/net80211/ieee80211_hwmp.c projects/capabilities8/sys/net80211/ieee80211_mesh.c projects/capabilities8/sys/net80211/ieee80211_mesh.h projects/capabilities8/sys/netinet/if_ether.c projects/capabilities8/sys/netinet/in.c projects/capabilities8/sys/netinet/ip_input.c projects/capabilities8/sys/netinet/sctp_output.c projects/capabilities8/sys/netinet/tcp_input.c projects/capabilities8/sys/nfsclient/nfs_kdtrace.c projects/capabilities8/sys/powerpc/include/elf.h projects/capabilities8/sys/sparc64/include/elf.h projects/capabilities8/sys/sun4v/include/elf.h projects/capabilities8/sys/sys/rwlock.h projects/capabilities8/sys/sys/sx.h projects/capabilities8/sys/vm/swap_pager.c projects/capabilities8/tools/regression/bin/sh/ (props changed) projects/capabilities8/tools/regression/lib/msun/test-conj.t (props changed) projects/capabilities8/tools/regression/poll/ (props changed) projects/capabilities8/tools/regression/priv/ (props changed) projects/capabilities8/tools/regression/usr.bin/pkill/pgrep-_g.t (props changed) projects/capabilities8/tools/regression/usr.bin/pkill/pgrep-_s.t (props changed) projects/capabilities8/tools/regression/usr.bin/pkill/pkill-_g.t (props changed) projects/capabilities8/tools/tools/ath/common/dumpregs.h (props changed) projects/capabilities8/tools/tools/ath/common/dumpregs_5210.c (props changed) projects/capabilities8/tools/tools/ath/common/dumpregs_5211.c (props changed) projects/capabilities8/tools/tools/ath/common/dumpregs_5212.c (props changed) projects/capabilities8/tools/tools/ath/common/dumpregs_5416.c (props changed) projects/capabilities8/tools/tools/termcap/termcap.pl (props changed) projects/capabilities8/tools/tools/vimage/ (props changed) projects/capabilities8/usr.bin/calendar/calendars/calendar.freebsd (props changed) projects/capabilities8/usr.bin/csup/ (props changed) projects/capabilities8/usr.bin/fstat/ (props changed) projects/capabilities8/usr.bin/look/ (props changed) projects/capabilities8/usr.bin/netstat/ (props changed) projects/capabilities8/usr.bin/netstat/route.c projects/capabilities8/usr.bin/procstat/ (props changed) projects/capabilities8/usr.bin/w/ (props changed) projects/capabilities8/usr.bin/whois/ (props changed) projects/capabilities8/usr.sbin/ (props changed) projects/capabilities8/usr.sbin/arp/ (props changed) projects/capabilities8/usr.sbin/dumpcis/cardinfo.h (props changed) projects/capabilities8/usr.sbin/dumpcis/cis.h (props changed) projects/capabilities8/usr.sbin/freebsd-update/ (props changed) projects/capabilities8/usr.sbin/iostat/ (props changed) projects/capabilities8/usr.sbin/jls/ (props changed) projects/capabilities8/usr.sbin/lpr/ (props changed) projects/capabilities8/usr.sbin/makefs/ffs/ffs_bswap.c (props changed) projects/capabilities8/usr.sbin/makefs/ffs/ffs_subr.c (props changed) projects/capabilities8/usr.sbin/makefs/ffs/ufs_bswap.h (props changed) projects/capabilities8/usr.sbin/makefs/getid.c (props changed) projects/capabilities8/usr.sbin/mfiutil/README (props changed) projects/capabilities8/usr.sbin/mfiutil/mfiutil.1 (props changed) projects/capabilities8/usr.sbin/mfiutil/mfiutil.8 (props changed) projects/capabilities8/usr.sbin/ndp/ (props changed) projects/capabilities8/usr.sbin/ntp/ (props changed) projects/capabilities8/usr.sbin/ppp/ (props changed) projects/capabilities8/usr.sbin/pstat/ (props changed) projects/capabilities8/usr.sbin/sysinstall/ (props changed) projects/capabilities8/usr.sbin/traceroute6/ (props changed) projects/capabilities8/usr.sbin/wpa/ (props changed) projects/capabilities8/usr.sbin/zic/ (props changed) Modified: projects/capabilities8/Makefile.inc1 ============================================================================== --- projects/capabilities8/Makefile.inc1 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/Makefile.inc1 Wed Oct 21 17:08:35 2009 (r198336) @@ -1122,7 +1122,7 @@ lib/libradius__L secure/lib/libssl__L: s _secure_lib_libssh= secure/lib/libssh secure/lib/libssh__L: lib/libz__L secure/lib/libcrypto__L lib/libcrypt__L .if ${MK_KERBEROS} != "no" -kerberos5/lib/libgssapi_krb5__L: kerberos5/lib/libkrb5__L \ +kerberos5/lib/libgssapi_krb5__L: lib/libgssapi__L kerberos5/lib/libkrb5__L \ kerberos5/lib/libhx509__L kerberos5/lib/libasn1__L lib/libcom_err__L \ lib/libmd__L kerberos5/lib/libroken__L secure/lib/libcrypto__L \ lib/libcrypt__L Modified: projects/capabilities8/bin/csh/iconv_stub.c ============================================================================== --- projects/capabilities8/bin/csh/iconv_stub.c Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/bin/csh/iconv_stub.c Wed Oct 21 17:08:35 2009 (r198336) @@ -61,9 +61,20 @@ dl_iconv_open(const char *tocode, const if (iconvlib == NULL) return (iconv_t)-1; iconv_open = (iconv_open_t *)dlfunc(iconvlib, ICONV_OPEN); + if (iconv_open == NULL) + goto dlfunc_err; dl_iconv = (dl_iconv_t *)dlfunc(iconvlib, ICONV_ENGINE); + if (dl_iconv == NULL) + goto dlfunc_err; dl_iconv_close = (dl_iconv_close_t *)dlfunc(iconvlib, ICONV_CLOSE); + if (dl_iconv_close == NULL) + goto dlfunc_err; } return iconv_open(tocode, fromcode); + +dlfunc_err: + dlclose(iconvlib); + iconvlib = NULL; + return (iconv_t)-1; } Modified: projects/capabilities8/bin/sh/eval.c ============================================================================== --- projects/capabilities8/bin/sh/eval.c Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/bin/sh/eval.c Wed Oct 21 17:08:35 2009 (r198336) @@ -785,6 +785,7 @@ evalcommand(union node *cmd, int flags, INTOFF; savelocalvars = localvars; localvars = NULL; + reffunc(cmdentry.u.func); INTON; savehandler = handler; if (setjmp(jmploc.loc)) { @@ -794,6 +795,7 @@ evalcommand(union node *cmd, int flags, freeparam(&shellparam); shellparam = saveparam; } + unreffunc(cmdentry.u.func); poplocalvars(); localvars = savelocalvars; handler = savehandler; @@ -805,11 +807,12 @@ evalcommand(union node *cmd, int flags, funcnest++; exitstatus = oexitstatus; if (flags & EV_TESTED) - evaltree(cmdentry.u.func, EV_TESTED); + evaltree(getfuncnode(cmdentry.u.func), EV_TESTED); else - evaltree(cmdentry.u.func, 0); + evaltree(getfuncnode(cmdentry.u.func), 0); funcnest--; INTOFF; + unreffunc(cmdentry.u.func); poplocalvars(); localvars = savelocalvars; freeparam(&shellparam); Modified: projects/capabilities8/bin/sh/exec.c ============================================================================== --- projects/capabilities8/bin/sh/exec.c Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/bin/sh/exec.c Wed Oct 21 17:08:35 2009 (r198336) @@ -286,7 +286,7 @@ printentry(struct tblentry *cmdp, int ve out1fmt("function %s", cmdp->cmdname); if (verbose) { INTOFF; - name = commandtext(cmdp->param.func); + name = commandtext(getfuncnode(cmdp->param.func)); out1c(' '); out1str(name); ckfree(name); @@ -583,7 +583,7 @@ deletefuncs(void) while ((cmdp = *pp) != NULL) { if (cmdp->cmdtype == CMDFUNCTION) { *pp = cmdp->next; - freefunc(cmdp->param.func); + unreffunc(cmdp->param.func); ckfree(cmdp); } else { pp = &cmdp->next; @@ -670,7 +670,7 @@ addcmdentry(char *name, struct cmdentry INTOFF; cmdp = cmdlookup(name, 1); if (cmdp->cmdtype == CMDFUNCTION) { - freefunc(cmdp->param.func); + unreffunc(cmdp->param.func); } cmdp->cmdtype = entry->cmdtype; cmdp->param = entry->u; @@ -705,7 +705,7 @@ unsetfunc(char *name) struct tblentry *cmdp; if ((cmdp = cmdlookup(name, 0)) != NULL && cmdp->cmdtype == CMDFUNCTION) { - freefunc(cmdp->param.func); + unreffunc(cmdp->param.func); delete_cmd_entry(); return (0); } Modified: projects/capabilities8/bin/sh/exec.h ============================================================================== --- projects/capabilities8/bin/sh/exec.h Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/bin/sh/exec.h Wed Oct 21 17:08:35 2009 (r198336) @@ -46,11 +46,12 @@ enum { TYPECMD_TYPE /* type */ }; +union node; struct cmdentry { int cmdtype; union param { int index; - union node *func; + struct funcdef *func; } u; int special; }; Modified: projects/capabilities8/bin/sh/mknodes.c ============================================================================== --- projects/capabilities8/bin/sh/mknodes.c Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/bin/sh/mknodes.c Wed Oct 21 17:08:35 2009 (r198336) @@ -248,8 +248,11 @@ output(char *file) fputs("\tstruct nodelist *next;\n", hfile); fputs("\tunion node *n;\n", hfile); fputs("};\n\n\n", hfile); - fputs("union node *copyfunc(union node *);\n", hfile); - fputs("void freefunc(union node *);\n", hfile); + fputs("struct funcdef;\n", hfile); + fputs("struct funcdef *copyfunc(union node *);\n", hfile); + fputs("union node *getfuncnode(struct funcdef *);\n", hfile); + fputs("void reffunc(struct funcdef *);\n", hfile); + fputs("void unreffunc(struct funcdef *);\n", hfile); fputs(writer, cfile); while (fgets(line, sizeof line, patfile) != NULL) { Modified: projects/capabilities8/bin/sh/nodes.c.pat ============================================================================== --- projects/capabilities8/bin/sh/nodes.c.pat Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/bin/sh/nodes.c.pat Wed Oct 21 17:08:35 2009 (r198336) @@ -35,6 +35,7 @@ #include #include +#include /* * Routine for dealing with parsed shell commands. */ @@ -60,25 +61,40 @@ STATIC struct nodelist *copynodelist(str STATIC char *nodesavestr(char *); +struct funcdef { + unsigned int refcount; + union node n; +}; /* * Make a copy of a parse tree. */ -union node * +struct funcdef * copyfunc(union node *n) { + struct funcdef *fn; + if (n == NULL) return NULL; - funcblocksize = 0; + funcblocksize = offsetof(struct funcdef, n); funcstringsize = 0; calcsize(n); - funcblock = ckmalloc(funcblocksize + funcstringsize); - funcstring = (char *)funcblock + funcblocksize; - return copynode(n); + fn = ckmalloc(funcblocksize + funcstringsize); + fn->refcount = 1; + funcblock = (char *)fn + offsetof(struct funcdef, n); + funcstring = (char *)fn + funcblocksize; + copynode(n); + return fn; } +union node * +getfuncnode(struct funcdef *fn) +{ + return fn == NULL ? NULL : &fn->n; +} + STATIC void calcsize(union node *n) @@ -144,14 +160,26 @@ nodesavestr(char *s) } +void +reffunc(struct funcdef *fn) +{ + if (fn) + fn->refcount++; +} + /* - * Free a parse tree. + * Decrement the reference count of a function definition, freeing it + * if it falls to 0. */ void -freefunc(union node *n) +unreffunc(struct funcdef *fn) { - if (n) - ckfree(n); + if (fn) { + fn->refcount--; + if (fn->refcount > 0) + return; + ckfree(fn); + } } Modified: projects/capabilities8/contrib/tcsh/sh.c ============================================================================== --- projects/capabilities8/contrib/tcsh/sh.c Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/contrib/tcsh/sh.c Wed Oct 21 17:08:35 2009 (r198336) @@ -1291,6 +1291,8 @@ main(int argc, char **argv) /* * Mop-up. */ + /* Take care of these (especially HUP) here instead of inside flush. */ + handle_pending_signals(); if (intty) { if (loginsh) { xprintf("logout\n"); Modified: projects/capabilities8/etc/rc.d/bgfsck ============================================================================== --- projects/capabilities8/etc/rc.d/bgfsck Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/bgfsck Wed Oct 21 17:08:35 2009 (r198336) @@ -31,7 +31,7 @@ bgfsck_start () bgfsck_msg="${bgfsck_msg} in ${background_fsck_delay} seconds" fi if [ -z "${rc_force}" ]; then - [ -z "${rc_quiet}" ] && echo "${bgfsck_msg}." + check_startmsgs && echo "${bgfsck_msg}." fi (sleep ${background_fsck_delay}; nice -4 fsck -B -p) 2>&1 | \ Modified: projects/capabilities8/etc/rc.d/cleartmp ============================================================================== --- projects/capabilities8/etc/rc.d/cleartmp Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/cleartmp Wed Oct 21 17:08:35 2009 (r198336) @@ -25,7 +25,7 @@ cleartmp_start() ${tmp}/.ICE-unix ${tmp}/.font-unix" if checkyesno ${rcvar1}; then - [ -z "${rc_quiet}" ] && echo "Clearing ${tmp}." + check_startmsgs && echo "Clearing ${tmp}." # This is not needed for mfs, but doesn't hurt anything. # Things to note: @@ -44,7 +44,7 @@ cleartmp_start() elif checkyesno clear_tmp_X; then # Remove X lock files, since they will prevent you from # restarting X. Remove other X related directories. - [ -z "${rc_quiet}" ] && echo "Clearing ${tmp} (X related)." + check_startmsgs && echo "Clearing ${tmp} (X related)." rm -rf ${tmp}/.X[0-9]-lock ${x11_socket_dirs} fi if checkyesno clear_tmp_X; then Modified: projects/capabilities8/etc/rc.d/fsck ============================================================================== --- projects/capabilities8/etc/rc.d/fsck Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/fsck Wed Oct 21 17:08:35 2009 (r198336) @@ -23,7 +23,7 @@ fsck_start() # During fsck ignore SIGQUIT trap : 3 - [ -z "${rc_quiet}" ] && echo "Starting file system checks:" + check_startmsgs && echo "Starting file system checks:" if checkyesno background_fsck; then fsck -F -p else Modified: projects/capabilities8/etc/rc.d/hostid ============================================================================== --- projects/capabilities8/etc/rc.d/hostid Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/hostid Wed Oct 21 17:08:35 2009 (r198336) @@ -49,9 +49,9 @@ hostid_set() # Set both kern.hostuuid and kern.hostid. # - [ -z "${rc_quiet}" ] && echo "Setting hostuuid: ${uuid}." + check_startmsgs && echo "Setting hostuuid: ${uuid}." ${SYSCTL_W} kern.hostuuid="${uuid}" >/dev/null - [ -z "${rc_quiet}" ] && echo "Setting hostid: ${id}." + check_startmsgs && echo "Setting hostid: ${id}." ${SYSCTL_W} kern.hostid=${id} >/dev/null } Modified: projects/capabilities8/etc/rc.d/hostname ============================================================================== --- projects/capabilities8/etc/rc.d/hostname Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/hostname Wed Oct 21 17:08:35 2009 (r198336) @@ -72,8 +72,9 @@ hostname_start() # All right, it is safe to invoke hostname(1) now. # - [ -z "${rc_quiet}" ] && echo "Setting hostname: ${hostname}." + check_startmsgs && echo -n "Setting hostname: ${hostname}" /bin/hostname "${hostname}" + check_startmsgs && echo '.' } load_rc_config $name Modified: projects/capabilities8/etc/rc.d/ipsec ============================================================================== --- projects/capabilities8/etc/rc.d/ipsec Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/ipsec Wed Oct 21 17:08:35 2009 (r198336) @@ -41,9 +41,9 @@ ipsec_stop() { echo "Clearing ipsec manual keys/policies." - # still not 100% sure if we would like to do this. - # it is very questionable to do this during shutdown session, since - # it can hang any of remaining IPv4/v6 session. + # Still not 100% sure if we would like to do this. + # It is very questionable to do this during shutdown session + # since it can hang any of the remaining IPv4/v6 sessions. # ${ipsec_program} -F ${ipsec_program} -FP Modified: projects/capabilities8/etc/rc.d/ldconfig ============================================================================== --- projects/capabilities8/etc/rc.d/ldconfig Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/ldconfig Wed Oct 21 17:08:35 2009 (r198336) @@ -36,7 +36,7 @@ ldconfig_start() _LDC="${_LDC} ${i}" fi done - [ -z "${rc_quiet}" ] && echo 'ELF ldconfig path:' ${_LDC} + check_startmsgs && echo 'ELF ldconfig path:' ${_LDC} ${ldconfig} -elf ${_ins} ${_LDC} case `sysctl -n hw.machine_arch` in @@ -55,7 +55,7 @@ ldconfig_start() _LDC="${_LDC} ${i}" fi done - [ -z "${rc_quiet}" ] && + check_startmsgs && echo '32-bit compatibility ldconfig path:' ${_LDC} ${ldconfig} -32 -m ${_ins} ${_LDC} ;; @@ -72,8 +72,7 @@ ldconfig_start() _LDC="${_LDC} ${i}" fi done - [ -z "${rc_quiet}" ] && - echo 'a.out ldconfig path:' ${_LDC} + check_startmsgs && echo 'a.out ldconfig path:' ${_LDC} ${ldconfig} -aout ${_ins} ${_LDC} ;; esac Modified: projects/capabilities8/etc/rc.d/motd ============================================================================== --- projects/capabilities8/etc/rc.d/motd Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/motd Wed Oct 21 17:08:35 2009 (r198336) @@ -22,7 +22,7 @@ motd_start() # Must be done *before* interactive logins are possible # to prevent possible race conditions. # - [ -z "${rc_quiet}" ] && echo -n 'Updating motd:' + check_startmsgs && echo -n 'Updating motd:' if [ ! -f /etc/motd ]; then install -c -o root -g wheel -m ${PERMS} /dev/null /etc/motd fi @@ -42,7 +42,7 @@ motd_start() } rm -f $T - [ -z "${rc_quiet}" ] && echo . + check_startmsgs && echo '.' } load_rc_config $name Modified: projects/capabilities8/etc/rc.d/mountcritlocal ============================================================================== --- projects/capabilities8/etc/rc.d/mountcritlocal Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/mountcritlocal Wed Oct 21 17:08:35 2009 (r198336) @@ -28,7 +28,7 @@ mountcritlocal_start() esac # Mount everything except nfs filesystems. - [ -z "${rc_quiet}" ] && echo -n 'Mounting local file systems:' + check_startmsgs && echo -n 'Mounting local file systems:' mount_excludes='no' for i in ${netfs_types}; do fstype=${i%:*} @@ -37,7 +37,7 @@ mountcritlocal_start() mount_excludes=${mount_excludes%,} mount -a -t ${mount_excludes} err=$? - [ -z "${rc_quiet}" ] && echo '.' + check_startmsgs && echo '.' case ${err} in 0) Modified: projects/capabilities8/etc/rc.d/moused ============================================================================== --- projects/capabilities8/etc/rc.d/moused Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/moused Wed Oct 21 17:08:35 2009 (r198336) @@ -51,8 +51,9 @@ moused_start() mytype="$moused_type" fi - [ -z "${rc_quiet}" ] && echo -n "Starting ${ms} moused." + check_startmsgs && echo -n "Starting ${ms} moused" /usr/sbin/moused ${myflags} -p ${myport} -t ${mytype} ${pidarg} + check_startmsgs && echo '.' mousechar_arg= case ${mousechar_start} in Modified: projects/capabilities8/etc/rc.d/netif ============================================================================== --- projects/capabilities8/etc/rc.d/netif Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/netif Wed Oct 21 17:08:35 2009 (r198336) @@ -141,7 +141,7 @@ network_common() ;; esac echo "${_str} Network:${_ok}." - if [ -z "${rc_quiet}" ]; then + if check_startmsgs; then for ifn in ${_ok}; do /sbin/ifconfig ${ifn} done Modified: projects/capabilities8/etc/rc.d/newsyslog ============================================================================== --- projects/capabilities8/etc/rc.d/newsyslog Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/newsyslog Wed Oct 21 17:08:35 2009 (r198336) @@ -17,9 +17,9 @@ stop_cmd=":" newsyslog_start() { - [ -z "${rc_quiet}" ] && echo -n "Creating and/or trimming log files:" + check_startmsgs && echo -n 'Creating and/or trimming log files' ${command} ${rc_flags} - [ -z "${rc_quiet}" ] && echo "." + check_startmsgs && echo '.' } load_rc_config $name Modified: projects/capabilities8/etc/rc.d/nfsclient ============================================================================== --- projects/capabilities8/etc/rc.d/nfsclient Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/nfsclient Wed Oct 21 17:08:35 2009 (r198336) @@ -22,7 +22,8 @@ nfsclient_start() # if [ -n "${nfs_access_cache}" ]; then - [ -z "${rc_quiet}" ] && echo "NFS access cache time=${nfs_access_cache}" + check_startmsgs && + echo "NFS access cache time=${nfs_access_cache}" if ! sysctl vfs.nfs.access_cache_timeout=${nfs_access_cache} >/dev/null; then warn "failed to set access cache timeout" fi Modified: projects/capabilities8/etc/rc.d/pf ============================================================================== --- projects/capabilities8/etc/rc.d/pf Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/pf Wed Oct 21 17:08:35 2009 (r198336) @@ -25,19 +25,21 @@ required_modules="pf" pf_start() { - [ -z "${rc_quiet}" ] && echo "Enabling pf." + check_startmsgs && echo -n 'Enabling pf' $pf_program -F all > /dev/null 2>&1 $pf_program -f "$pf_rules" $pf_flags if ! $pf_program -s info | grep -q "Enabled" ; then $pf_program -e fi + check_startmsgs && echo '.' } pf_stop() { if $pf_program -s info | grep -q "Enabled" ; then - [ -z "${rc_quiet}" ] && echo "Disabling pf." + echo -n 'Disabling pf' $pf_program -d + echo '.' fi } Modified: projects/capabilities8/etc/rc.d/savecore ============================================================================== --- projects/capabilities8/etc/rc.d/savecore Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.d/savecore Wed Oct 21 17:08:35 2009 (r198336) @@ -69,7 +69,7 @@ savecore_start() ${crashinfo_program} -d ${dumpdir} fi else - [ -z "${rc_quiet}" ] && echo "No core dumps found" + check_startmsgs && echo 'No core dumps found.' fi } Modified: projects/capabilities8/etc/rc.subr ============================================================================== --- projects/capabilities8/etc/rc.subr Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/etc/rc.subr Wed Oct 21 17:08:35 2009 (r198336) @@ -372,6 +372,20 @@ wait_for_pids() } # +# check_startmsgs +# If rc_quiet is set (usually as a result of using faststart at +# boot time) check if rc_startmsgs is enabled. +# +check_startmsgs() +{ + if [ -n "$rc_quiet" ]; then + checkyesno rc_startmsgs + else + return 0 + fi +} + +# # run_rc_command argument # Search for argument in the list of supported commands, which is: # "start stop restart rcvar status poll ${extra_commands}" @@ -680,13 +694,7 @@ run_rc_command() # setup the full command to run # - _show_startmsgs=1 - if [ -n "${rc_quiet}" ]; then - if ! checkyesno rc_startmsgs; then - unset _show_startmsgs - fi - fi - [ -n "$_show_startmsgs" ] && echo "Starting ${name}." + check_startmsgs && echo "Starting ${name}." if [ -n "$_chroot" ]; then _doit="\ ${_nice:+nice -n $_nice }\ Modified: projects/capabilities8/kerberos5/lib/libgssapi_krb5/Makefile ============================================================================== --- projects/capabilities8/kerberos5/lib/libgssapi_krb5/Makefile Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/kerberos5/lib/libgssapi_krb5/Makefile Wed Oct 21 17:08:35 2009 (r198336) @@ -2,8 +2,8 @@ LIB= gssapi_krb5 LDFLAGS= -Wl,-Bsymbolic -LDADD= -lkrb5 -lhx509 -lcrypto -lroken -lasn1 -lcom_err -lcrypt -DPADD= ${LIBKRB5} ${LIBHX509} ${LIBCRYPTO} ${LIBROKEN} ${LIBASN1} \ +LDADD= -lgssapi -lkrb5 -lhx509 -lcrypto -lroken -lasn1 -lcom_err -lcrypt +DPADD= ${LIBGSSAPI} ${LIBKRB5} ${LIBHX509} ${LIBCRYPTO} ${LIBROKEN} ${LIBASN1} \ ${LIBCOM_ERR} ${LIBCRYPT} INCS= ${KRB5DIR}/lib/gssapi/gssapi/gssapi_krb5.h Modified: projects/capabilities8/kerberos5/lib/libgssapi_spnego/Makefile ============================================================================== --- projects/capabilities8/kerberos5/lib/libgssapi_spnego/Makefile Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/kerberos5/lib/libgssapi_spnego/Makefile Wed Oct 21 17:08:35 2009 (r198336) @@ -2,8 +2,8 @@ LIB= gssapi_spnego LDFLAGS= -Wl,-Bsymbolic -LDADD= -lasn1 -DPADD= ${LIBASN1} +LDADD= -lgssapi -lasn1 +DPADD= ${LIBGSSAPI} ${LIBASN1} SRCS= accept_sec_context.c \ compat.c \ Modified: projects/capabilities8/lib/libc/sys/nanosleep.2 ============================================================================== --- projects/capabilities8/lib/libc/sys/nanosleep.2 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/lib/libc/sys/nanosleep.2 Wed Oct 21 17:08:35 2009 (r198336) @@ -47,7 +47,9 @@ The .Fn nanosleep system call -causes the process to sleep for the specified time. +causes the calling thread to sleep until the time interval specified by +.Fa rqtp +has elapsed. An unmasked signal will cause it to terminate the sleep early, regardless of the .Dv SA_RESTART Modified: projects/capabilities8/lib/libc/sys/setfib.2 ============================================================================== --- projects/capabilities8/lib/libc/sys/setfib.2 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/lib/libc/sys/setfib.2 Wed Oct 21 17:08:35 2009 (r198336) @@ -67,8 +67,8 @@ if the .Fa fib argument is greater than the current system maximum. .Sh SEE ALSO -.Xr setsockopt 2 , -.Xr setfib 8 +.Xr setfib 1 , +.Xr setsockopt 2 .Sh STANDARDS The .Fn setfib Modified: projects/capabilities8/lib/libc/sys/stack_protector.c ============================================================================== --- projects/capabilities8/lib/libc/sys/stack_protector.c Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/lib/libc/sys/stack_protector.c Wed Oct 21 17:08:35 2009 (r198336) @@ -108,4 +108,8 @@ __chk_fail(void) __fail("buffer overflow detected; terminated"); } +#ifdef PIC __sym_compat(__stack_chk_fail_local, __stack_chk_fail, FBSD_1.0); +#else +__weak_reference(__stack_chk_fail, __stack_chk_fail_local); +#endif Modified: projects/capabilities8/libexec/rtld-elf/rtld.c ============================================================================== --- projects/capabilities8/libexec/rtld-elf/rtld.c Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/libexec/rtld-elf/rtld.c Wed Oct 21 17:08:35 2009 (r198336) @@ -555,6 +555,7 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_ /* Initialize a fake symbol for resolving undefined weak references. */ sym_zero.st_info = ELF_ST_INFO(STB_GLOBAL, STT_NOTYPE); sym_zero.st_shndx = SHN_UNDEF; + sym_zero.st_value = -(uintptr_t)obj_main->relocbase; #ifdef IN_RTLD_CAP if (ld_caplibindex != NULL) @@ -1114,26 +1115,26 @@ digest_phdr(const Elf_Phdr *phdr, int ph obj = obj_new(); for (ph = phdr; ph < phlimit; ph++) { - switch (ph->p_type) { + if (ph->p_type != PT_PHDR) + continue; - case PT_PHDR: - if ((const Elf_Phdr *)ph->p_vaddr != phdr) { - _rtld_error("%s: invalid PT_PHDR", path); - return NULL; - } - obj->phdr = (const Elf_Phdr *) ph->p_vaddr; - obj->phsize = ph->p_memsz; - break; + obj->phdr = phdr; + obj->phsize = ph->p_memsz; + obj->relocbase = (caddr_t)phdr - ph->p_vaddr; + break; + } + + for (ph = phdr; ph < phlimit; ph++) { + switch (ph->p_type) { case PT_INTERP: - obj->interp = (const char *) ph->p_vaddr; + obj->interp = (const char *)(ph->p_vaddr + obj->relocbase); break; case PT_LOAD: if (nsegs == 0) { /* First load segment */ obj->vaddrbase = trunc_page(ph->p_vaddr); - obj->mapbase = (caddr_t) obj->vaddrbase; - obj->relocbase = obj->mapbase - obj->vaddrbase; + obj->mapbase = obj->vaddrbase + obj->relocbase; obj->textsize = round_page(ph->p_vaddr + ph->p_memsz) - obj->vaddrbase; } else { /* Last load segment */ @@ -1144,7 +1145,7 @@ digest_phdr(const Elf_Phdr *phdr, int ph break; case PT_DYNAMIC: - obj->dynamic = (const Elf_Dyn *) ph->p_vaddr; + obj->dynamic = (const Elf_Dyn *)(ph->p_vaddr + obj->relocbase); break; case PT_TLS: @@ -1152,7 +1153,7 @@ digest_phdr(const Elf_Phdr *phdr, int ph obj->tlssize = ph->p_memsz; obj->tlsalign = ph->p_align; obj->tlsinitsize = ph->p_filesz; - obj->tlsinit = (void*) ph->p_vaddr; + obj->tlsinit = (void*)(ph->p_vaddr + obj->relocbase); break; } } Modified: projects/capabilities8/release/Makefile ============================================================================== --- projects/capabilities8/release/Makefile Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/release/Makefile Wed Oct 21 17:08:35 2009 (r198336) @@ -242,6 +242,7 @@ MFSSIZE= 4096 MFSINODE= 8192 MFSLABEL= auto MINIROOT= +SEPARATE_LIVEFS= .elif ${TARGET_ARCH} == "ia64" DISKLABEL= "" MAKE_DVD= Modified: projects/capabilities8/sbin/geom/class/nop/gnop.8 ============================================================================== --- projects/capabilities8/sbin/geom/class/nop/gnop.8 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/sbin/geom/class/nop/gnop.8 Wed Oct 21 17:08:35 2009 (r198336) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 8, 2006 +.Dd September 17, 2009 .Dt GNOP 8 .Os .Sh NAME @@ -147,9 +147,9 @@ Exit status is 0 on success, and 1 if th .Sh EXAMPLES The following example shows how to create a transparent provider for disk .Pa /dev/da0 -with 50% failure probability, and how to destroy it. +with 50% write failure probability, and how to destroy it. .Bd -literal -offset indent -gnop create -v -f 50 da0 +gnop create -v -w 50 da0 gnop destroy -v da0.nop .Ed .Pp Modified: projects/capabilities8/sbin/ifconfig/ifconfig.8 ============================================================================== --- projects/capabilities8/sbin/ifconfig/ifconfig.8 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/sbin/ifconfig/ifconfig.8 Wed Oct 21 17:08:35 2009 (r198336) @@ -2197,6 +2197,24 @@ interfaces previously configured with Another name for the .Fl tunnel parameter. +.It Cm accept_rev_ethip_ver +Set a flag to acccept both correct EtherIP packets and ones +with reversed version field. Enabled by default. +This is for backward compatibility with +.Fx 6.1 , +6.2, 6.3, 7.0, and 7.1. +.It Cm -accept_rev_ethip_ver +Clear a flag +.Cm accept_rev_ethip_ver . +.It Cm send_rev_ethip_ver +Set a flag to send EtherIP packets with reversed version +field intentionally. Disabled by default. +This is for backward compatibility with +.Fx 6.1 , +6.2, 6.3, 7.0, and 7.1. +.It Cm -send_rev_ethip_ver +Clear a flag +.Cm send_rev_ethip_ver . .El .Pp The following parameters are specific to GRE tunnel interfaces, @@ -2457,6 +2475,7 @@ tried to alter an interface's configurat .Sh SEE ALSO .Xr netstat 1 , .Xr carp 4 , +.Xr gif 4 , .Xr netintro 4 , .Xr pfsync 4 , .Xr polling 4 , Modified: projects/capabilities8/sbin/ifconfig/ifieee80211.c ============================================================================== --- projects/capabilities8/sbin/ifconfig/ifieee80211.c Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/sbin/ifconfig/ifieee80211.c Wed Oct 21 17:08:35 2009 (r198336) @@ -2624,25 +2624,31 @@ do { \ if (verbose) { const struct ieee80211_meshconf_ie *mconf = (const struct ieee80211_meshconf_ie *)ie; - const uint8_t null[4] = IEEE80211_MESHCONF_NULL; - const uint8_t hwmp[4] = IEEE80211_MESHCONF_HWMP; - const uint8_t airtime[4] = IEEE80211_MESHCONF_AIRTIME; - const uint8_t ccsig[4] = IEEE80211_MESHCONF_CCSIG; - const uint8_t sae[4] = IEEE80211_MESHCONF_SAE; - const uint8_t neighoff[4] = IEEE80211_MESHCONF_SAE; - printf("conf_ver); - MATCHOUI(mconf->conf_pselid, hwmp, "HWMP"); + printf("conf_pselid == IEEE80211_MESHCONF_PATH_HWMP) + printf("HWMP"); + else + printf("UNKNOWN"); printf(" LINK:"); - MATCHOUI(mconf->conf_pmetid, airtime, "AIRTIME"); + if (mconf->conf_pmetid == IEEE80211_MESHCONF_METRIC_AIRTIME) + printf("AIRTIME"); + else + printf("UNKNOWN"); printf(" CONGESTION:"); - MATCHOUI(mconf->conf_ccid, ccsig, "SIG"); - MATCHOUI(mconf->conf_ccid, null, "NULL"); + if (mconf->conf_ccid == IEEE80211_MESHCONF_CC_DISABLED) + printf("DISABLED"); + else + printf("UNKNOWN"); printf(" SYNC:"); - MATCHOUI(mconf->conf_syncid, neighoff, "NEIGHOFF"); - MATCHOUI(mconf->conf_syncid, null, "NULL"); + if (mconf->conf_syncid == IEEE80211_MESHCONF_SYNC_NEIGHOFF) + printf("NEIGHOFF"); + else + printf("UNKNOWN"); printf(" AUTH:"); - MATCHOUI(mconf->conf_authid, sae, "SAE"); - MATCHOUI(mconf->conf_authid, null, "NULL"); + if (mconf->conf_authid == IEEE80211_MESHCONF_AUTH_DISABLED) + printf("DISABLED"); + else + printf("UNKNOWN"); printf(" FORM:0x%x CAPS:0x%x>", mconf->conf_form, mconf->conf_cap); } Modified: projects/capabilities8/sbin/ipfw/ipfw.8 ============================================================================== --- projects/capabilities8/sbin/ipfw/ipfw.8 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/sbin/ipfw/ipfw.8 Wed Oct 21 17:08:35 2009 (r198336) @@ -869,7 +869,7 @@ The packet is tagged so as to use the FI .Ar fibnum in any subsequent forwarding decisions. Initially this is limited to the values 0 through 15, see -.Xr setfib 8 . +.Xr setfib 1 . Processing continues at the next rule. .It Cm reass Queue and reassemble ip fragments. Modified: projects/capabilities8/sbin/mksnap_ffs/mksnap_ffs.8 ============================================================================== --- projects/capabilities8/sbin/mksnap_ffs/mksnap_ffs.8 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/sbin/mksnap_ffs/mksnap_ffs.8 Wed Oct 21 17:08:35 2009 (r198336) @@ -69,7 +69,7 @@ mount -o ro /dev/md0 /mnt/ .Sh SEE ALSO .Xr chmod 2 , .Xr chown 8 , -.Xr mdconfig 8, +.Xr mdconfig 8 , .Xr mount 8 .Sh CAVEATS The disk full situation is not handled gracefully and may Modified: projects/capabilities8/sbin/mount_nfs/mount_nfs.c ============================================================================== --- projects/capabilities8/sbin/mount_nfs/mount_nfs.c Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/sbin/mount_nfs/mount_nfs.c Wed Oct 21 17:08:35 2009 (r198336) @@ -104,7 +104,7 @@ struct nfhret { #define OF_NOINET6 8 int retrycnt = -1; int opflags = 0; -int nfsproto = IPPROTO_UDP; +int nfsproto = IPPROTO_TCP; int mnttcp_ok = 1; int noconn = 0; char *portspec = NULL; /* Server nfs port; NULL means look up via rpcbind. */ Modified: projects/capabilities8/share/man/man4/acpi_panasonic.4 ============================================================================== --- projects/capabilities8/share/man/man4/acpi_panasonic.4 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/share/man/man4/acpi_panasonic.4 Wed Oct 21 17:08:35 2009 (r198336) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 11, 2004 +.Dd September 17, 2009 .Dt ACPI_PANASONIC 4 i386 .Os .Sh NAME @@ -144,7 +144,7 @@ The following MIBs are available: The maximum level of brightness. The value is read only and automatically set according to hardware model. -.It Va hw.acpi.panasonic.lcd_brightness_max +.It Va hw.acpi.panasonic.lcd_brightness_min The minimum level of brightness. The value is read only and automatically set according to hardware model. Modified: projects/capabilities8/share/man/man4/bce.4 ============================================================================== --- projects/capabilities8/share/man/man4/bce.4 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/share/man/man4/bce.4 Wed Oct 21 17:08:35 2009 (r198336) @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 7, 2009 +.Dd October 7, 2009 .Dt BCE 4 .Os .Sh NAME @@ -165,6 +165,8 @@ Dell PowerEdge 1950 integrated BCM5708 N .It Dell PowerEdge 2950 integrated BCM5708 NIC .It +Dell PowerEdge R710 integrated BCM5709 NIC +.It HP NC370F Multifunction Gigabit Server Adapter .It HP NC370T Multifunction Gigabit Server Adapter Modified: projects/capabilities8/share/man/man4/bge.4 ============================================================================== --- projects/capabilities8/share/man/man4/bge.4 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/share/man/man4/bge.4 Wed Oct 21 17:08:35 2009 (r198336) @@ -31,7 +31,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 19, 2009 +.Dd Oct 21, 2009 .Dt BGE 4 .Os .Sh NAME @@ -217,7 +217,7 @@ prompt before booting the kernel, or sto .It Va hw.bge.allow_asf Allow the ASF feature for cooperating with IPMI. Can cause system lockup problems on a small number of systems. -Enabled by default. +Disabled by default. .El .Sh DIAGNOSTICS .Bl -diag Modified: projects/capabilities8/share/man/man4/mfi.4 ============================================================================== --- projects/capabilities8/share/man/man4/mfi.4 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/share/man/man4/mfi.4 Wed Oct 21 17:08:35 2009 (r198336) @@ -102,9 +102,9 @@ management interface An attempt was made to remove a mounted volume. .El .Sh SEE ALSO -.Xr mfiutil 1 , .Xr amr 4 , -.Xr pci 4 +.Xr pci 4 , +.Xr mfiutil 8 .Sh HISTORY The .Nm Modified: projects/capabilities8/share/man/man4/sbp_targ.4 ============================================================================== --- projects/capabilities8/share/man/man4/sbp_targ.4 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/share/man/man4/sbp_targ.4 Wed Oct 21 17:08:35 2009 (r198336) @@ -38,16 +38,24 @@ .Nm sbp_targ .Nd Serial Bus Protocol 2 (SBP-2) Target Mode devices driver .Sh SYNOPSIS -.Cd "kldload firewire" -.Cd "kldload cam" -.Cd "kldload sbp_targ" -.Pp -or -.Pp +To compile this driver into the kernel, +place the following lines in your +kernel configuration file: +.Bd -ragged -offset indent .Cd "device sbp_targ" .Cd "device firewire" .Cd "device scbus" .Cd "device targ" +.Ed +.Pp +Alternatively, to load the driver as a +module at boot time, place the following lines in +.Xr loader.conf 5 : +.Bd -literal -offset indent +firewire_load="YES" +cam_load="YES" +sbp_targ_load"YES" +.Ed .Sh DESCRIPTION The .Nm Modified: projects/capabilities8/share/man/man4/targ.4 ============================================================================== --- projects/capabilities8/share/man/man4/targ.4 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/share/man/man4/targ.4 Wed Oct 21 17:08:35 2009 (r198336) @@ -31,7 +31,12 @@ .Nm targ .Nd SCSI target emulator driver .Sh SYNOPSIS -.Cd device targ +To compile this driver into the kernel, +place the following line in your +kernel configuration file: +.Bd -ragged -offset indent +.Cd "device targ" +.Ed .Sh DESCRIPTION The .Nm Modified: projects/capabilities8/share/man/man9/fail.9 ============================================================================== --- projects/capabilities8/share/man/man9/fail.9 Wed Oct 21 17:07:46 2009 (r198335) +++ projects/capabilities8/share/man/man9/fail.9 Wed Oct 21 17:08:35 2009 (r198336) @@ -37,7 +37,6 @@ .Nm KFAIL_POINT_GOTO , .Nm fail_point , .Nm DEBUG_FP -. .Nd fail points .Sh SYNOPSIS .In sys/fail.h @@ -79,7 +78,7 @@ is derived from the .Fn return value set in the sysctl MIB. See -.Sx SYSCTL SETTINGS +.Sx SYSCTL VARIABLES below. .Pp The remaining @@ -100,7 +99,6 @@ is the equivalent of .Sy KFAIL_POINT_CODE(..., { error_var = RETURN_VALUE; goto label;}) .El -.Pp .Sh SYSCTL VARIABLES The .Fn KFAIL_POINT_* @@ -108,28 +106,28 @@ macros add sysctl MIBs where specified. Many base kernel MIBs can be found in the .Sy debug.fail_point tree (referenced in code by -.Sy DEBUG_FP -). +.Sy DEBUG_FP ) . .Pp The sysctl variable may be set using the following grammar: .Pp +.Bd -literal :: ( "->" )* -.Pp + :: ( ( "%") | ( "*" ) )* [ "(" ")" ] -.Pp + :: [ "." ] | "." -.Pp + :: "off" | "return" | "sleep" | "panic" | "break" | "print" +.Ed .Pp -The -argument specifies which action to take: +The argument specifies which action to take: .Bl -tag -width ".Dv return" .It Sy off Take no action (does not trigger fail point code) @@ -158,13 +156,13 @@ is evaluated before the count, i.e. "2%5 but only 5 times total". .Pp The operator -> can be used to express cascading terms. -If you specify ->, it means that if doesn't -'execute', is evaluated. +If you specify ->, it means that if does not +.Ql execute , + is evaluated. For the purpose of this operator, the return() and print() operators are the only types that cascade. A return() term only cascades if the code executes, and a print() term only cascades when passed a non-zero argument. -.Pp .Sh EXAMPLES .Bl -tag .It Sy sysctl debug.fail_point.foobar="2.1%return(5)" @@ -175,7 +173,7 @@ with RETURN_VALUE set to 5. 2/100ths of the time, execute .Fa code *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***