Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Mar 2005 05:10:54 GMT
From:      Sam Leffler <sam@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 74077 for review
Message-ID:  <200503300510.j2U5AsVP004469@repoman.freebsd.org>

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

Change 74077 by sam@sam_ebb on 2005/03/30 05:10:04

	IFC @ 74076

Affected files ...

.. //depot/projects/wifi/Makefile.inc1#15 integrate
.. //depot/projects/wifi/contrib/telnet/telnet/telnet.c#3 integrate
.. //depot/projects/wifi/etc/netstart#2 integrate
.. //depot/projects/wifi/gnu/lib/libstdc++/config.h#3 integrate
.. //depot/projects/wifi/lib/libarchive/Makefile#7 integrate
.. //depot/projects/wifi/lib/libarchive/archive_read_extract.c#4 integrate
.. //depot/projects/wifi/lib/libugidfw/Makefile#2 integrate
.. //depot/projects/wifi/lib/libugidfw/ugidfw.c#2 integrate
.. //depot/projects/wifi/libexec/rexecd/rexecd.c#5 integrate
.. //depot/projects/wifi/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#6 integrate
.. //depot/projects/wifi/release/doc/zh_CN.GB2312/hardware/common/artheader.sgml#2 integrate
.. //depot/projects/wifi/release/doc/zh_CN.GB2312/relnotes/common/new.sgml#2 integrate
.. //depot/projects/wifi/sbin/camcontrol/camcontrol.8#3 integrate
.. //depot/projects/wifi/sbin/camcontrol/camcontrol.c#2 integrate
.. //depot/projects/wifi/sbin/mount/mount.c#4 integrate
.. //depot/projects/wifi/sbin/mount_ufs/mount_ufs.c#2 integrate
.. //depot/projects/wifi/share/man/man4/polling.4#4 integrate
.. //depot/projects/wifi/share/man/man4/xl.4#6 integrate
.. //depot/projects/wifi/share/man/man9/make_dev.9#2 integrate
.. //depot/projects/wifi/sys/cam/scsi/scsi_cd.c#4 integrate
.. //depot/projects/wifi/sys/coda/coda_vnops.c#9 integrate
.. //depot/projects/wifi/sys/compat/linux/linux_getcwd.c#3 integrate
.. //depot/projects/wifi/sys/compat/ndis/kern_ndis.c#9 integrate
.. //depot/projects/wifi/sys/compat/ndis/ndis_var.h#8 integrate
.. //depot/projects/wifi/sys/compat/ndis/ntoskrnl_var.h#9 integrate
.. //depot/projects/wifi/sys/compat/ndis/subr_hal.c#7 integrate
.. //depot/projects/wifi/sys/compat/ndis/subr_ndis.c#9 integrate
.. //depot/projects/wifi/sys/compat/ndis/subr_ntoskrnl.c#10 integrate
.. //depot/projects/wifi/sys/conf/files.amd64#8 integrate
.. //depot/projects/wifi/sys/conf/files.i386#13 integrate
.. //depot/projects/wifi/sys/conf/kern.post.mk#5 integrate
.. //depot/projects/wifi/sys/conf/kern.pre.mk#6 integrate
.. //depot/projects/wifi/sys/conf/majors#4 delete
.. //depot/projects/wifi/sys/conf/majors.awk#2 delete
.. //depot/projects/wifi/sys/dev/aac/aac.c#5 integrate
.. //depot/projects/wifi/sys/dev/acpica/acpi.c#10 integrate
.. //depot/projects/wifi/sys/dev/acpica/acpi_cpu.c#4 integrate
.. //depot/projects/wifi/sys/dev/acpica/acpi_perf.c#5 integrate
.. //depot/projects/wifi/sys/dev/acpica/acpivar.h#7 integrate
.. //depot/projects/wifi/sys/dev/an/if_an.c#3 integrate
.. //depot/projects/wifi/sys/dev/ciss/ciss.c#5 integrate
.. //depot/projects/wifi/sys/dev/fb/vga.c#3 integrate
.. //depot/projects/wifi/sys/dev/firewire/fwohci.c#3 integrate
.. //depot/projects/wifi/sys/dev/hptmv/entry.c#6 integrate
.. //depot/projects/wifi/sys/dev/if_ndis/if_ndis.c#12 integrate
.. //depot/projects/wifi/sys/dev/if_ndis/if_ndis_pci.c#6 integrate
.. //depot/projects/wifi/sys/dev/ixgb/if_ixgb.c#4 integrate
.. //depot/projects/wifi/sys/dev/ixgb/if_ixgb.h#3 integrate
.. //depot/projects/wifi/sys/dev/ixgb/if_ixgb_osdep.h#3 integrate
.. //depot/projects/wifi/sys/dev/mlx/mlx.c#2 integrate
.. //depot/projects/wifi/sys/dev/mlx/mlx_pci.c#4 integrate
.. //depot/projects/wifi/sys/dev/mse/msevar.h#3 integrate
.. //depot/projects/wifi/sys/dev/nge/if_nge.c#5 integrate
.. //depot/projects/wifi/sys/dev/pccard/pccard_cis.c#5 integrate
.. //depot/projects/wifi/sys/dev/pccard/pccard_cis_quirks.c#3 integrate
.. //depot/projects/wifi/sys/dev/pci/pci.c#12 integrate
.. //depot/projects/wifi/sys/dev/pci/pcireg.h#3 integrate
.. //depot/projects/wifi/sys/dev/random/randomdev_soft.c#5 integrate
.. //depot/projects/wifi/sys/dev/sym/sym_hipd.c#4 integrate
.. //depot/projects/wifi/sys/dev/twa/twa.c#3 integrate
.. //depot/projects/wifi/sys/dev/usb/usb.c#6 integrate
.. //depot/projects/wifi/sys/dev/wi/if_wi_pccard.c#5 integrate
.. //depot/projects/wifi/sys/fs/devfs/devfs_vnops.c#18 integrate
.. //depot/projects/wifi/sys/fs/hpfs/hpfs_vnops.c#9 integrate
.. //depot/projects/wifi/sys/fs/msdosfs/msdosfs_lookup.c#3 integrate
.. //depot/projects/wifi/sys/fs/ntfs/ntfs_vnops.c#11 integrate
.. //depot/projects/wifi/sys/fs/nwfs/nwfs_vnops.c#8 integrate
.. //depot/projects/wifi/sys/fs/portalfs/portal_vnops.c#5 integrate
.. //depot/projects/wifi/sys/fs/pseudofs/pseudofs_vnops.c#6 integrate
.. //depot/projects/wifi/sys/fs/smbfs/smbfs_vnops.c#10 integrate
.. //depot/projects/wifi/sys/fs/udf/udf_vnops.c#11 integrate
.. //depot/projects/wifi/sys/fs/unionfs/union_vnops.c#11 integrate
.. //depot/projects/wifi/sys/gdb/gdb_main.c#4 integrate
.. //depot/projects/wifi/sys/geom/geom_subr.c#3 integrate
.. //depot/projects/wifi/sys/geom/mirror/g_mirror.c#10 integrate
.. //depot/projects/wifi/sys/geom/mirror/g_mirror_ctl.c#6 integrate
.. //depot/projects/wifi/sys/geom/raid3/g_raid3.c#12 integrate
.. //depot/projects/wifi/sys/geom/raid3/g_raid3_ctl.c#5 integrate
.. //depot/projects/wifi/sys/gnu/ext2fs/ext2_lookup.c#4 integrate
.. //depot/projects/wifi/sys/i386/cpufreq/powernow.c#1 branch
.. //depot/projects/wifi/sys/i386/i386/bios.c#3 integrate
.. //depot/projects/wifi/sys/isofs/cd9660/cd9660_lookup.c#2 integrate
.. //depot/projects/wifi/sys/kern/kern_conf.c#8 integrate
.. //depot/projects/wifi/sys/kern/kern_lock.c#7 integrate
.. //depot/projects/wifi/sys/kern/kern_lockf.c#5 integrate
.. //depot/projects/wifi/sys/kern/kern_tc.c#2 integrate
.. //depot/projects/wifi/sys/kern/subr_trap.c#5 integrate
.. //depot/projects/wifi/sys/kern/tty.c#7 integrate
.. //depot/projects/wifi/sys/kern/vfs_cache.c#6 integrate
.. //depot/projects/wifi/sys/kern/vfs_lookup.c#9 integrate
.. //depot/projects/wifi/sys/kern/vfs_subr.c#18 integrate
.. //depot/projects/wifi/sys/modules/cpufreq/Makefile#3 integrate
.. //depot/projects/wifi/sys/modules/hpfs/Makefile#2 integrate
.. //depot/projects/wifi/sys/net/bpf.c#8 integrate
.. //depot/projects/wifi/sys/net/rtsock.c#5 integrate
.. //depot/projects/wifi/sys/net80211/ieee80211_freebsd.c#16 integrate
.. //depot/projects/wifi/sys/net80211/ieee80211_freebsd.h#13 integrate
.. //depot/projects/wifi/sys/netinet/igmp.c#3 integrate
.. //depot/projects/wifi/sys/netinet/ip_fastfwd.c#4 integrate
.. //depot/projects/wifi/sys/netinet/raw_ip.c#4 integrate
.. //depot/projects/wifi/sys/netinet/tcp_usrreq.c#10 integrate
.. //depot/projects/wifi/sys/netinet/udp_usrreq.c#5 integrate
.. //depot/projects/wifi/sys/netinet6/raw_ip6.c#5 integrate
.. //depot/projects/wifi/sys/nfs4client/nfs4_vnops.c#10 integrate
.. //depot/projects/wifi/sys/nfsclient/nfs_vnops.c#17 integrate
.. //depot/projects/wifi/sys/nfsserver/nfs_srvsubs.c#6 integrate
.. //depot/projects/wifi/sys/nfsserver/nfs_syscalls.c#3 integrate
.. //depot/projects/wifi/sys/pc98/pc98/pc98_machdep.c#3 integrate
.. //depot/projects/wifi/sys/pci/if_sis.c#4 integrate
.. //depot/projects/wifi/sys/pci/if_sk.c#11 integrate
.. //depot/projects/wifi/sys/pci/if_ti.c#6 integrate
.. //depot/projects/wifi/sys/pci/if_xl.c#5 integrate
.. //depot/projects/wifi/sys/pci/if_xlreg.h#3 integrate
.. //depot/projects/wifi/sys/sys/conf.h#8 integrate
.. //depot/projects/wifi/sys/sys/lockmgr.h#5 integrate
.. //depot/projects/wifi/sys/sys/namei.h#4 integrate
.. //depot/projects/wifi/sys/sys/systm.h#10 integrate
.. //depot/projects/wifi/sys/sys/vnode.h#19 integrate
.. //depot/projects/wifi/sys/ufs/ffs/ffs_vfsops.c#18 integrate
.. //depot/projects/wifi/sys/ufs/ufs/ufs_extattr.c#7 integrate
.. //depot/projects/wifi/sys/ufs/ufs/ufs_lookup.c#3 integrate
.. //depot/projects/wifi/tools/tools/ath/80211watch.c#2 integrate
.. //depot/projects/wifi/usr.bin/stat/stat.1#2 integrate
.. //depot/projects/wifi/usr.bin/tar/bsdtar.1#5 integrate
.. //depot/projects/wifi/usr.bin/truss/extern.h#2 integrate
.. //depot/projects/wifi/usr.bin/truss/main.c#2 integrate
.. //depot/projects/wifi/usr.bin/truss/setup.c#2 integrate
.. //depot/projects/wifi/usr.sbin/Makefile#7 integrate
.. //depot/projects/wifi/usr.sbin/config/main.c#2 integrate
.. //depot/projects/wifi/usr.sbin/memcontrol/memcontrol.c#3 integrate
.. //depot/projects/wifi/usr.sbin/mtree/Makefile#2 integrate
.. //depot/projects/wifi/usr.sbin/mtree/compare.c#2 integrate
.. //depot/projects/wifi/usr.sbin/mtree/create.c#2 integrate
.. //depot/projects/wifi/usr.sbin/mtree/misc.c#2 integrate
.. //depot/projects/wifi/usr.sbin/mtree/mtree.8#4 integrate
.. //depot/projects/wifi/usr.sbin/mtree/mtree.h#2 integrate
.. //depot/projects/wifi/usr.sbin/mtree/spec.c#2 integrate
.. //depot/projects/wifi/usr.sbin/mtree/specspec.c#2 integrate
.. //depot/projects/wifi/usr.sbin/mtree/test/test03.sh#2 integrate
.. //depot/projects/wifi/usr.sbin/pciconf/pciconf.c#2 integrate
.. //depot/projects/wifi/usr.sbin/sysinstall/menus.c#6 integrate
.. //depot/projects/wifi/usr.sbin/syslogd/syslogd.c#6 integrate

Differences ...

==== //depot/projects/wifi/Makefile.inc1#15 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/Makefile.inc1,v 1.489 2005/03/22 14:22:47 ru Exp $
+# $FreeBSD: src/Makefile.inc1,v 1.490 2005/03/27 19:35:09 ru Exp $
 #
 # Make command line options:
 #	-DNO_DYNAMICROOT do not link /bin and /sbin dynamically
@@ -205,7 +205,7 @@
 		PATH=${TMPPATH}
 WMAKE=		${WMAKEENV} ${MAKE} -f Makefile.inc1 DESTDIR=${WORLDTMP}
 
-.if ${MACHINE_ARCH} == "amd64"
+.if ${TARGET_ARCH} == "amd64"
 # 32 bit world
 LIB32TMP=	${OBJTREE}${.CURDIR}/lib32
 
@@ -382,7 +382,7 @@
 	@echo ">>> stage 4.4: building everything"
 	@echo "--------------------------------------------------------------"
 	${_+_}cd ${.CURDIR}; ${WMAKE} par-all
-.if ${MACHINE_ARCH} == "amd64"
+.if ${TARGET_ARCH} == "amd64"
 build32:
 	@echo
 	@echo "--------------------------------------------------------------"
@@ -454,7 +454,7 @@
 WMAKE_TGTS+=	_cross-tools
 .endif
 WMAKE_TGTS+=	_includes _libraries _depend everything
-.if ${MACHINE_ARCH} == "amd64" && defined(WITH_LIB32)
+.if ${TARGET_ARCH} == "amd64" && defined(WITH_LIB32)
 WMAKE_TGTS+=	build32
 .endif
 
@@ -540,7 +540,7 @@
 	@echo ">>> Installing everything"
 	@echo "--------------------------------------------------------------"
 	${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install
-.if ${MACHINE_ARCH} == "amd64" && defined(WITH_LIB32)
+.if ${TARGET_ARCH} == "amd64" && defined(WITH_LIB32)
 	${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install32
 .endif
 

==== //depot/projects/wifi/contrib/telnet/telnet/telnet.c#3 (text+ko) ====

@@ -37,7 +37,7 @@
 #endif
 #endif
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/contrib/telnet/telnet/telnet.c,v 1.15 2005/02/28 12:46:53 tobez Exp $");
+__FBSDID("$FreeBSD: src/contrib/telnet/telnet/telnet.c,v 1.16 2005/03/28 14:45:12 nectar Exp $");
 
 #include <sys/types.h>
 
@@ -1326,6 +1326,7 @@
 }
 
 unsigned char slc_reply[128];
+unsigned char const * const slc_reply_eom = &slc_reply[sizeof(slc_reply)];
 unsigned char *slc_replyp;
 
 void
@@ -1341,6 +1342,14 @@
 void
 slc_add_reply(unsigned char func, unsigned char flags, cc_t value)
 {
+	/* A sequence of up to 6 bytes my be written for this member of the SLC
+	 * suboption list by this function.  The end of negotiation command,
+	 * which is written by slc_end_reply(), will require 2 additional
+	 * bytes.  Do not proceed unless there is sufficient space for these
+	 * items.
+	 */
+	if (&slc_replyp[6+2] > slc_reply_eom)
+		return;
 	if ((*slc_replyp++ = func) == IAC)
 		*slc_replyp++ = IAC;
 	if ((*slc_replyp++ = flags) == IAC)
@@ -1354,6 +1363,9 @@
 {
     int len;
 
+    /* The end of negotiation command requires 2 bytes. */
+    if (&slc_replyp[2] > slc_reply_eom)
+            return;
     *slc_replyp++ = IAC;
     *slc_replyp++ = SE;
     len = slc_replyp - slc_reply;
@@ -1471,8 +1483,8 @@
 	}
 }
 
-#define	OPT_REPLY_SIZE	256
-unsigned char *opt_reply;
+#define	OPT_REPLY_SIZE	(2 * SUBBUFSIZE)
+unsigned char *opt_reply = NULL;
 unsigned char *opt_replyp;
 unsigned char *opt_replyend;
 
@@ -1525,9 +1537,9 @@
 		return;
 	}
 	vp = env_getvalue(ep);
-	if (opt_replyp + (vp ? strlen((char *)vp) : 0) +
-				strlen((char *)ep) + 6 > opt_replyend)
-	{
+        if (opt_replyp + (vp ? 2 * strlen((char *)vp) : 0) +
+                                2 * strlen((char *)ep) + 6 > opt_replyend)
+        {
 		int len;
 		opt_replyend += OPT_REPLY_SIZE;
 		len = opt_replyend - opt_reply;
@@ -1551,6 +1563,8 @@
 		*opt_replyp++ = ENV_USERVAR;
 	for (;;) {
 		while ((c = *ep++)) {
+			if (opt_replyp + (2 + 2) > opt_replyend)
+				return;
 			switch(c&0xff) {
 			case IAC:
 				*opt_replyp++ = IAC;
@@ -1565,6 +1579,8 @@
 			*opt_replyp++ = c;
 		}
 		if ((ep = vp)) {
+			if (opt_replyp + (1 + 2 + 2) > opt_replyend)
+				return;
 #ifdef	OLD_ENVIRON
 			if (telopt_environ == TELOPT_OLD_ENVIRON)
 				*opt_replyp++ = old_env_value;
@@ -1595,7 +1611,9 @@
 {
 	int len;
 
-	len = opt_replyp - opt_reply + 2;
+	if (opt_replyp + 2 > opt_replyend)
+		return;
+	len = opt_replyp + 2 - opt_reply;
 	if (emptyok || len > 6) {
 		*opt_replyp++ = IAC;
 		*opt_replyp++ = SE;

==== //depot/projects/wifi/etc/netstart#2 (text+ko) ====

@@ -24,12 +24,12 @@
 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 # SUCH DAMAGE.
 #
-# $FreeBSD: src/etc/netstart,v 1.64 2004/02/10 19:10:34 des Exp $
+# $FreeBSD: src/etc/netstart,v 1.65 2005/03/26 20:10:24 cperciva Exp $
 #	From: @(#)netstart	5.9 (Berkeley) 3/30/91
 #
 
 # This file is NOT called by any of the other scripts - it has been
-# obsoleted by /etc/rc.network and is provided here only for user
+# obsoleted by /etc/rc.d/* and is provided here only for user
 # convenience (if you're sitting in single user mode and wish to start
 # the network by hand, this script will do it for you).
 #

==== //depot/projects/wifi/gnu/lib/libstdc++/config.h#3 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/gnu/lib/libstdc++/config.h,v 1.10 2005/01/26 14:23:31 kan Exp $ */
+/* $FreeBSD: src/gnu/lib/libstdc++/config.h,v 1.11 2005/03/26 08:27:53 das Exp $ */
 
 /* config.h.  Generated by configure.  */
 /* config.h.in.  Generated from configure.ac by autoheader.  */
@@ -285,7 +285,7 @@
 #define HAVE_FREXPF 1
 
 /* Define to 1 if you have the `frexpl' function. */
-/* #undef HAVE_FREXPL */
+#define HAVE_FREXPL 1
 
 /* Define to 1 if you have the `fwide' function. */
 #define HAVE_FWIDE 1
@@ -357,7 +357,7 @@
 #define HAVE_LDEXPF 1
 
 /* Define to 1 if you have the `ldexpl' function. */
-/* #undef HAVE_LDEXPL */
+#define HAVE_LDEXPL 1
 
 /* Define to 1 if you have the <libintl.h> header file. */
 /* #undef HAVE_LIBINTL_H */

==== //depot/projects/wifi/lib/libarchive/Makefile#7 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/lib/libarchive/Makefile,v 1.31 2005/03/13 02:53:42 kientzle Exp $
+# $FreeBSD: src/lib/libarchive/Makefile,v 1.32 2005/03/29 05:24:08 kientzle Exp $
 
 #
 # Use "make distfile" to build a conventional tar.gz archive
@@ -7,7 +7,7 @@
 
 
 LIB=	archive
-VERSION=	1.02.013
+VERSION=	1.02.016
 ARCHIVE_API_FEATURE=	2
 ARCHIVE_API_VERSION=	1
 SHLIB_MAJOR=	${ARCHIVE_API_VERSION}

==== //depot/projects/wifi/lib/libarchive/archive_read_extract.c#4 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include "archive_platform.h"
-__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_extract.c,v 1.37 2005/03/13 02:53:42 kientzle Exp $");
+__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_extract.c,v 1.38 2005/03/29 05:24:08 kientzle Exp $");
 
 #include <sys/types.h>
 #ifdef HAVE_SYS_ACL_H
@@ -185,15 +185,16 @@
 
 	/*
 	 * If pathname is longer than PATH_MAX, record starting directory
-	 * and move to a suitable intermediate dir.
+	 * and chdir to a suitable intermediate dir.
 	 */
 	if (strlen(archive_entry_pathname(entry)) > PATH_MAX) {
+		char *intdir, *tail;
+
 		/*
 		 * Yes, the copy here is necessary because we edit
 		 * the pathname in-place to create intermediate dirnames.
 		 */
 		original_filename = strdup(archive_entry_pathname(entry));
-		char *intdir, *tail;
 
 		restore_pwd = open(".", O_RDONLY);
 		/*
@@ -203,28 +204,28 @@
 		intdir = tail = original_filename;
 		while (strlen(tail) > PATH_MAX) {
 			intdir = tail;
+
+			/* Locate a dir prefix shorter than PATH_MAX. */
 			tail = intdir + PATH_MAX - 8;
 			while (tail > intdir && *tail != '/')
 				tail--;
 			if (tail <= intdir) {
-				close(restore_pwd);
 				archive_set_error(a, EPERM,
 				    "Path element too long");
-				return (ARCHIVE_WARN);
+				ret = ARCHIVE_WARN;
+				goto cleanup;
 			}
+
+			/* Create intdir and chdir to it. */
 			*tail = '\0'; /* Terminate dir portion */
-			if (create_dir(a, intdir, flags) != ARCHIVE_OK) {
-				fchdir(restore_pwd);
-				close(restore_pwd);
-				return (ARCHIVE_WARN);
-			}
-			if (chdir(intdir) != 0) {
+			ret = create_dir(a, intdir, flags);
+			if (ret == ARCHIVE_OK && chdir(intdir) != 0) {
 				archive_set_error(a, errno, "Couldn't chdir");
-				fchdir(restore_pwd);
-				close(restore_pwd);
-				return (ARCHIVE_WARN);
+				ret = ARCHIVE_WARN;
 			}
 			*tail = '/'; /* Restore the / we removed. */
+			if (ret != ARCHIVE_OK)
+				goto cleanup;
 			tail++;
 		}
 		archive_entry_set_pathname(entry, tail);
@@ -266,9 +267,12 @@
 		}
 	}
 
+
+cleanup:
 	/* If we changed directory above, restore it here. */
 	if (restore_pwd >= 0 && original_filename != NULL) {
 		fchdir(restore_pwd);
+		close(restore_pwd);
 		archive_entry_copy_pathname(entry, original_filename);
 		free(original_filename);
 	}

==== //depot/projects/wifi/lib/libugidfw/Makefile#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/lib/libugidfw/Makefile,v 1.5 2004/02/25 03:24:39 rwatson Exp $
+# $FreeBSD: src/lib/libugidfw/Makefile,v 1.6 2005/03/28 09:38:43 pjd Exp $
 
 LIB=		ugidfw
 SHLIB_MAJOR=	1
@@ -9,7 +9,7 @@
 		bsde_rule_to_string.3 libugidfw.3
 
 MLINKS= 	bsde_get_rule.3 bsde_add_rule.3
-MLINKS= 	bsde_get_rule.3 bsde_delete_rule.3
+MLINKS+= 	bsde_get_rule.3 bsde_delete_rule.3
 MLINKS+=	bsde_get_rule.3 bsde_set_rule.3
 MLINKS+=	bsde_get_rule_count.3 bsde_get_rule_slots.3
 MLINKS+=	bsde_parse_rule.3 bsde_parse_rule_string.3

==== //depot/projects/wifi/lib/libugidfw/ugidfw.c#2 (text+ko) ====

@@ -28,7 +28,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libugidfw/ugidfw.c,v 1.7 2004/10/21 11:21:13 rwatson Exp $
+ * $FreeBSD: src/lib/libugidfw/ugidfw.c,v 1.8 2005/03/28 09:37:44 pjd Exp $
  */
 #include <sys/param.h>
 #include <sys/errno.h>
@@ -743,7 +743,7 @@
 	}
 
 	if (rulenum != NULL)
-		rule_slots;
+		*rulenum = rule_slots;
 
 	return (0);
 }

==== //depot/projects/wifi/libexec/rexecd/rexecd.c#5 (text+ko) ====

@@ -42,7 +42,7 @@
 static char sccsid[] = "@(#)rexecd.c	8.1 (Berkeley) 6/4/93";
 #endif
 static const char rcsid[] =
-  "$FreeBSD: src/libexec/rexecd/rexecd.c,v 1.36 2005/03/21 08:01:14 das Exp $";
+  "$FreeBSD: src/libexec/rexecd/rexecd.c,v 1.37 2005/03/27 13:59:44 nectar Exp $";
 #endif /* not lint */
 
 #include <sys/param.h>
@@ -135,7 +135,9 @@
 	char *cmdbuf, *cp;
 	int maxcmdlen;
 	char user[16], pass[16];
-	struct passwd *pwd;
+	struct passwd *pwd, pwd_storage;
+	char *pwdbuf;
+	int pwdbuflen;
 	int fd, r, sd;
 	u_short port;
 	int pv[2], pid, cc, nfds;
@@ -190,7 +192,20 @@
 	getstr(cmdbuf, maxcmdlen, "command");
 	(void) alarm(0);
 
-	if ((pwd = getpwnam(user))  == NULL || (pwd->pw_uid = 0 && no_uid_0) ||
+	pwdbuflen = BUFSIZ;
+	pwdbuf = NULL;
+	pwd = NULL;
+	r = ERANGE;
+	while (pwd == NULL && r == ERANGE) {
+		pwdbuflen <<= 1;
+		if ((pwdbuf = reallocf(pwdbuf, pwdbuflen)) == NULL) {
+			syslog(LOG_ERR, "Cannot allocate memory");
+			error("Cannot allocate memory.\n");
+			exit(1);
+		}
+		r = getpwnam_r(user, &pwd_storage, pwdbuf, pwdbuflen, &pwd);
+	}
+	if (pwd == NULL || (pwd->pw_uid == 0 && no_uid_0) ||
 	    !pam_ok(pam_start("rexecd", user, &pamc, &pamh)) ||
 	    !pam_ok(pam_set_item(pamh, PAM_RHOST, remote)) ||
 	    !pam_ok(pam_set_item(pamh, PAM_AUTHTOK, pass)) ||

==== //depot/projects/wifi/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#6 (text+ko) ====

@@ -3,7 +3,7 @@
 
   <corpauthor>The &os; Project</corpauthor>
 
-  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.834 2005/03/23 20:42:09 hrs Exp $</pubdate>
+  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.835 2005/03/27 17:25:18 delphij Exp $</pubdate>
 
   <copyright>
     <year>2000</year>
@@ -893,7 +893,7 @@
       Korea. &merged;</para>
 
     <para>The <option>-I</option> option of the &man.xargs.1; command
-      has been changed to confirm IEEE Std 1003.1-2004.
+      has been changed to conform IEEE Std 1003.1-2004.
       The standard requires that the constructed
       arguments cannot grow larger than 255 bytes.</para>
 

==== //depot/projects/wifi/release/doc/zh_CN.GB2312/hardware/common/artheader.sgml#2 (text+ko) ====

@@ -1,8 +1,8 @@
 <!--
 	The FreeBSD Simplified Chinese Project
 
-	Original Revision: 1.5
-	$FreeBSD: src/release/doc/zh_CN.GB2312/hardware/common/artheader.sgml,v 1.1 2004/10/15 06:43:45 delphij Exp $
+	Original Revision: 1.6
+	$FreeBSD: src/release/doc/zh_CN.GB2312/hardware/common/artheader.sgml,v 1.2 2005/03/27 17:20:30 delphij Exp $
 -->
 
 <articleinfo>
@@ -16,6 +16,7 @@
     <year>2002</year>
     <year>2003</year>
     <year>2004</year>
+    <year>2005</year>
     <holder role="mailto:doc@FreeBSD.org">The FreeBSD Documentation Project</holder>
   </copyright>
 </articleinfo>

==== //depot/projects/wifi/release/doc/zh_CN.GB2312/relnotes/common/new.sgml#2 (text+ko) ====

@@ -1,14 +1,14 @@
 <!--
      The FreeBSD Simplified Chinese Project
 
-     Original revision: 1.761.2.11
+     Original revision: 1.829
 -->
 <articleinfo>
   <title>&os;/&arch; &release.current; ·¢ÐÐ˵Ã÷</title>
 
   <corpauthor>The &os; Project</corpauthor>
 
-  <pubdate>$FreeBSD: src/release/doc/zh_CN.GB2312/relnotes/common/new.sgml,v 1.1 2004/10/15 06:43:48 delphij Exp $</pubdate>
+  <pubdate>$FreeBSD: src/release/doc/zh_CN.GB2312/relnotes/common/new.sgml,v 1.2 2005/03/27 16:51:55 delphij Exp $</pubdate>
 
   <copyright>
     <year>2000</year>
@@ -16,15 +16,25 @@
     <year>2002</year>
     <year>2003</year>
     <year>2004</year>
+    <year>2005</year>
     <holder role="mailto:doc@FreeBSD.org">The &os; Documentation Project</holder>
   </copyright>
 
+  <legalnotice id="trademarks" role="trademarks">
+    &tm-attrib.freebsd;
+    &tm-attrib.ibm;
+    &tm-attrib.ieee;
+    &tm-attrib.intel;
+    &tm-attrib.sparc;
+    &tm-attrib.general;
+  </legalnotice>
+
   <abstract>
-    <para>&os; &release.current; µÄ·¢ÐÐ˵Ã÷°üÀ¨ÁË×Ô &release.prev; ÒÔÀ´
-      &os; »ù±¾ÏµÍ³Ëù½øÐеĸĶ¯µÄ×ܽᡣ
-      Õâ·ÝÎĵµÁоÙÁ˶ÔÉÏÒ»·¢Ðа汾ÊÊÓõÄËùÓа²È«¹«¸æ£¬ÒÔ¼°
-      &os; Äں˺ÍÓû§³ÌÐòËù×÷µÄÖØÒªÐ޸ġ£
-      ¶ÔÓÚÉý¼¶Ê±ÐèҪעÒâµÄһЩÎÊÌ⣬Ҳ½øÐÐÁ˼òÂԵĽéÉÜ¡£</para>
+    <para>Õâ·Ý &os; &release.current; µÄ·¢ÐÐ˵Ã÷£¬ ¸ÅÀ¨ÁË &os;
+      »ù±¾ÏµÍ³×Ô &release.branch; ´´½¨ÒÔÀ´Ëù×öµÄ¸Ä¶¯¡£
+      ±¾ÎĵµÁоÙÁË×ÔÇ°Ò»·¢Ðа汾ÒÔÀ´ËùÓÐÊÊÓõݲȫ¹«¸æ£¬ ÒÔ¼°¶ÔÓÚ
+      &os; ÄÚºËÒÔ¼°ÏµÍ³¸½´øµÄÓ¦ÓóÌÐòËù×öµÄÖØÒªÐ޸ġ£
+      ÔÚÉý¼¶Ê±ËùÐèҪעÒâµÄһЩÎÊÌ⣬ Ò²½øÐÐÁ˼òÂԵĽéÉÜ¡£</para>
   </abstract>
 </articleinfo>
 
@@ -35,12 +45,22 @@
     &release.current; µÄ·¢ÐÐ˵Ã÷¡£ ËüÃèÊöÁË×î½ü¸Õ¸Õ¼ÓÈë¡¢Ð޸Ļòɾ³ýÁ˵Ä
     &os; ÌØÐÔµÄ˵Ã÷¡£ ͬʱ£¬ËüÒ²½«¸ø³öÈçºÎ´ÓÏÈÇ°µÄ &os; °æ±¾Íê³ÉÉý¼¶µÄ˵Ã÷¡£</para>
 
+<![ %release.type.current [
+
+  <para>ÕâƪÎĵµËù½éÉÜµÄ &release.type; Èí¼þ°ü£¬
+    ½éÉÜÁË &release.branch; ¿ª·¢·ÖÖ§×Ô &release.branch;
+    ´´½¨ÒÔÀ´µÄ½øÕ¹¡£ ¹ØÓÚÕâÒ»·ÖÖ§ÉÏÔ¤±àÒëµÄ¡¢ ¶þ½øÖÆ°æ±¾µÄ
+    &release.type; Èí¼þ°ü£¬ ¿ÉÒÔÔÚ <ulink url="&release.url;"></ulink>
+    ÕÒµ½¡£</para>
+
+]]>
+
 <![ %release.type.snapshot [
 
-  <para>Õâ·Ý &release.type; °æ±¾ÊÇÕýÔÚ½øÐпª·¢µÄ &release.branch;
-    ·ÖÖ§ÔÚ &release.prev; ºÍδÀ´µÄ &release.next; Ö®¼äµÄÒ»¸ö¿ìÕÕ¡£
-    Ô¤ÏȱàÒëºÃµÄ &release.type; °²×°°ü¿ÉÒÔÔÚ
-    <ulink url="&release.url;"></ulink> ÕÒµ½¡£</para>
+  <para>Õâ·Ý˵Ã÷Ëù˵µÄ &release.type; °æ±¾£¬
+    ÊÇÔÚ &release.branch; ¿ª·¢·ÖÖ§ÉÏ &release.prev; µ½Î´À´µÄ &release.next;
+    ÉϵÄÒ»µã¡£ ÕâÒ»¿ª·¢·ÖÖ§ÉÏÔ¤±àÒëµÄ¶þ½øÖÆÐÎʽµÄ &release.type;
+    °²×°°ü£¬ ¿ÉÒÔÔÚ <ulink url="&release.url;"></ulink> ÕÒµ½¡£</para>
 
 ]]>
 
@@ -84,340 +104,114 @@
   <sect2 id="security">
     <title>°²È«¹«¸æ</title>
 
-    <para>ÔÚ &man.mksnap.ffs.8; ÖеÄÒ»´¦È±Ïݱ»¸ÄÕý£»
-      ÕâһȱÏݻᵼÖ´´½¨¿ìÕÕʱ½«ÎļþϵͳµÄȨÏÞ±ê¼ÇÖµ (flags) »Ö¸´µ½Ä¬ÈÏ״̬¡£
-      ÉÏÊöÎÊÌâ¿ÉÄÜÒý·¢µÄºó¹ûÓëÈçºÎÀûÓÃÕâһȱÏÝÓйأ¬µ«ËüÖÁÉÙ¿ÉÒÔ±»ÓÃÀ´Èƹý»ùÓÚÀ©Õ¹·ÃÎÊ¿ØÖƱíµÄ°²È«»úÖÆ£¬
-      ÒÔ¼°ÔÚ²»Ó¦ÊÜÐÅÈεÄÎļþϵͳÉÏÆôÓà setuid Ö§³Ö¡£
-      ÕâÒ»ÎÊÌâÒ²»áÓ°Ïì &man.dump.8; µÄ
-      <option>-L</option> Ñ¡ÏÒòΪËüÒ²»áʹÓà &man.mksnap.ffs.8;¡£
-      ÐèҪ˵Ã÷µÄÊÇ£¬ &man.mksnap.ffs.8; ÔÚͨ³£Çé¿öÏÂÖ»Óг¬¼¶Óû§ºÍ
-      <groupname>operator</groupname> ×éµÄ³ÉÔ±²ÅÄܹ»Ê¹Óá£
-      ¹ØÓÚÕâÒ»ÎÊÌâµÄÏêÇ飬Çë²Î¿¼°²È«¹«¸æ <ulink
-      url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-04:01.mksnap_ffs.asc">FreeBSD-SA-04:01</ulink>¡£</para>;
-
-    <para>ÐÞÕýÁËÒ»¸ö System V ¹²ÏíÄÚ´æ½Ó¿Ú
-      (ÌØÖ¸ &man.shmat.2; ϵͳµ÷ÓÃ) µÄÎÊÌâ¡£
-      ÕâÒ»ÎÊÌâ»áµ¼Ö¹²ÏíÄÚ´æ¶ÎÒýÓõ½Î´·ÖÅäµÄÄÚºËÄÚ´æ¡£
-      ÓÚÊÇ£¬Õ⽫µ¼Ö±¾µØµÄ¹¥»÷ÕßÔÚûÓеõ½ÊÚȨµÄÇé¿öÏ·ÃÎÊÒ»²¿·ÖÄÚºËÄڴ棬
-      Æä½á¹ûÊÇ¿ÉÄÜ»áй¶һЩÃô¸ÐÐÅÏ¢£¬Èƹý·ÃÎÊ¿ØÖÆ»úÖÆ£¬»òµ¼ÖÂÌØȨÌáÉý¡£
-      ¹ØÓÚÕâÒ»ÎÊÌâµÄÏêÇ飬Çë²Î¿¼°²È«¹«¸æ <ulink
-      url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-04:02.shmat.asc">FreeBSD-SA-04:02</ulink>¡£
+    <para>ÔÚ &man.fetch.1; ¹¤¾ßÖз¢ÏÖÁËÒ»´¦ÎÊÌ⣬
+      Ëü¿ÉÄܵ¼Ö¶ñÒâµÄ HTTP ·þÎñÆ÷¸²¸Ç¿Í»§³ÌÐòÈÎÒⲿ·ÖµÄÄڴ棬
+      ÕâÒ»ÎÊÌâÒѾ­µÃµ½ÐÞ¸´¡£ ÒªÁ˽â¸ü¶àÐÅÏ¢£¬ Çë²Î¼û°²È«¹«¸æ
+      <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-04:16.fetch.asc">FreeBSD-SA-04:16.fetch</ulink>¡£
       &merged;</para>
 
-    <para>ÐÞÕýÁË &man.jail.attach.2; ϵͳµ÷ÓÃÖеÄÒ»´¦±àÂëʧÎó¡£
-      Õâ¸öʧÎóÓпÉÄÜÔÊÐíÔÚ &man.jail.8; »·¾³ÖÐÒÔ³¬¼¶Óû§Éí·ÝÔËÐеĽø³ÌÐÞ¸ÄÆä¸ùĿ¼µ½ÁíÒ»¸ö
-      jail ÖУ¬½ø¶ø»ñµÃÔÚÄǸö jail ÖеÄÍêÈ«¶ÁдȨÏÞ¡£
-      ¹ØÓÚÕâÒ»ÎÊÌâµÄÏêÇ飬Çë²Î¿¼°²È«¹«¸æ <ulink
-      url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-04:03.jail.asc">FreeBSD-SA-04:03</ulink>¡£</para>;
-
-    <para>ͨ¹ýÏÞÖÆͬһʱ¼ä¶ÎÄÚÔÊÐíµÄ´íλ·ÖƬÊýÄ¿£¬Ò»ÖÖDZÔÚµÄÕë¶Ô &os;
-      TCP ЭÒéÕ»µÄ·Ç¶Ô³Æ´ø¿í¾Ü¾ø·þÎñ¹¥»÷µÃÒÔ±ÜÃâ¡£
-      ¹ØÓÚÕâÒ»ÎÊÌâµÄÏêÇ飬Çë²Î¿¼°²È«¹«¸æ <ulink
-      url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-04:04.tcp.asc">FreeBSD-SA-04:04</ulink>¡£
+    <para>ÔÚ &man.procfs.5; ºÍ &man.linprocfs.5;
+      Öз¢ÏÖÁËÒ»´¦ÎÊÌ⣬ ËüÄܹ»ÔÊÐí¶ñÒâµÄ±¾µØÓû§¶ÁÈ¡²¿·ÖÄÚºËÄڴ棬
+      »òͨ¹ýÔì³Éϵͳ panic À´ÊµÊ©±¾µØ¾Ü¾ø·þÎñ¹¥»÷£¬
+      ÕâÒ»ÎÊÌâÒѾ­µÃµ½ÐÞ¸´¡£ ÒªÁ˽â¸ü¶àÐÅÏ¢£¬ Çë²Î¼û°²È«¹«¸æ
+      <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-04:17.procfs.asc">FreeBSD-SA-04:17.procfs</ulink>¡£
       &merged;</para>
 
-    <para>ÔÚ <application>OpenSSL</application> µÄ SSL/TLS
-      ChangeCipherSpec ÏûÏ¢´¦Àí¹ý³ÌÖеÄÒ»¸öÎÊÌâ¿ÉÄܵ¼Ö¶ÔÁãÖ¸ÕëµÄ²Ù×÷£¬
-      ÏÖÔÚÒѾ­µÃµ½¾ÀÕý¡£ ÕâÒ»ÎÊÌâ¿ÉÄÜÒýÖÂÔ¶³Ì¹¥»÷Õß·¢¶¯¹¥»÷²¢µ¼Ö²ÉÓÃ
-      <application>OpenSSL</application> µÄÓ¦ÓóÌÐò±ÀÀ££¬´Ó¶øÍê³É¾Ü¾ø·þÎñ¹¥»÷¡£
-      ¹ØÓÚÕâÒ»ÎÊÌâµÄÏêÇ飬Çë²Î¿¼°²È«¹«¸æ <ulink
-      url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-04:05.openssl.asc">FreeBSD-SA-04:05</ulink>¡£
-      &merged;</para>
-
-    <para>ÐÞÕýÁËÒ»´¦ &man.setsockopt.2; ϵͳµ÷ÓÃÔÚ´¦ÀíijЩ IPv6 socket
-      Ñ¡ÏîʱµÄ±à³ÌÊèºö¡£ ÕâÒ»ÎÊÌâʹµÃ±¾µØµÄ¹¥»÷ÕßÄܹ»Òý·¢ÏµÍ³ panic£¬
-      ²¢ÇÒ£¬»¹ÓпÉÄÜÔÚδ¾­ÊÚȨµÄÇé¿öÏ·ÃÎÊÄÚºËÄÚ´æµÄijЩ²¿·Ö£¬
-      Õâ¿ÉÄÜÔì³ÉÃô¸ÐÐÅÏ¢µÄй©¡¢Èƹý·ÃÎÊ¿ØÖÆ»úÖÆ£¬»òµ¼ÖÂÌØȨÌáÉý¡£
-      ¹ØÓÚÕâÒ»ÎÊÌâµÄÏêÇ飬Çë²Î¿¼°²È«¹«¸æ <ulink
-      url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-04:06.ipv6.asc">FreeBSD-SA-04:06</ulink>¡£</para>;
-
-    <para>ÐÞÕýÁË <application>CVS</application> ÖеÄÁ½´¦³ÌÐòÉè¼ÆȱÏÝ¡£
-      ÕâЩȱÏÝÄܹ»µ¼Ö·þÎñÆ÷¸²¸Ç¿Í»§»úÉϵÄÈÎÒâÎļþ£¬ÒÔ¼°ÔÊÐí¿Í»§»úÔÚ·ÃÎÊÔ¶³Ì´úÂë¿âµÄ¹ý³ÌÖжÁÈ¡·þÎñÆ÷ÉϵÄÈÎÒâÎļþ¡£
-      ¹ØÓÚÕâÒ»ÎÊÌâµÄÏêÇ飬Çë²Î¿¼°²È«¹«¸æ <ulink
-      url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-04:07.cvs.asc">FreeBSD-SA-04:07</ulink>¡£ &merged;</para>
-
-    <para>ÐÞÕýÁË <application>Heimdal</application> ÖжÔÓÚĬÈϵĿçÓòÑé֤ûÓÐʵʩÓÐЧµÄ¼ì²éµÄÎÊÌâ¡£
-      ¹ØÓÚÕâÒ»ÎÊÌâµÄÏêÇ飬Çë²Î¿¼°²È«¹«¸æ <ulink
-      url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-04:08.heimdal.asc">FreeBSD-SA-04:08</ulink>¡£ &merged;</para>
-
-    <para>ÐÞÕýÁË <application>CVS</application> ÔÊÐí¶ñÒâµÄ¿Í»§¸²¸Ç·þÎñÆ÷ÈÎÒⲿ·ÖµÄÎÊÌâ¡£
-      ¹ØÓÚÕâÒ»ÎÊÌâµÄÏêÇ飬Çë²Î¿¼°²È«¹«¸æ <ulink
-      url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-04:10.cvs.asc">FreeBSD-SA-04:10</ulink>¡£ &merged;</para>
-
-    <para>ÐÞÕýÁË &man.msync.2; ϵͳµ÷ÓÃÖеÄÒ»¸öDZÔÚµÄÓë
-      <literal>MS_INVALIDATE</literal> ²Ù×÷ÓйصĻº´æÒ»ÖÂÐÔÆÆ»µÎÊÌâ¡£
-      ²»¹ý£¬ÐÞ¸´ÕâÒ»°²È«ÎÊÌâµÄ¸ºÃæÓ°ÏìÊÇ£¬ <literal>MS_INVALIDATE</literal>
-      ²»ÔÙ±£Ö¤¸Ã·¶Î§ÄÚËùÓÐÒ³¶¼Ê§Ð§¡£
-      ¶ÔÓÚ²»µ£ÐÄÕâÒ»°²È«ÎÊÌ⣬ ÇÒÏ£Íû±£³ÖÔ­Ï鵀 <literal>MS_INVALIDATE</literal>
-      ÓïÒåµÄÓû§¿ÉÒÔ¿¼Âǽ« <varname>vm.old_msync</varname> sysctl ÉèÖÃΪ 1
-      À´»¹Ô­ÏÈÇ°µÄ (ͬʱҲÊDz»°²È«µÄ) ÐÐΪ¡£
-      ¹ØÓÚÕâÒ»ÎÊÌâµÄÏêÇ飬Çë²Î¿¼°²È«¹«¸æ <ulink
-      url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-04:11.msync.asc">FreeBSD-SA-04:11</ulink>¡£ &merged;</para>
-
-    <para>ÐÞÕýÁË &man.jail.2; ϵͳµ÷ÓÃÖеÄÒ»´¦³ÌÐòÉè¼ÆʧÎó¡£
-      ÕâÒ»ÎÊÌâ¿ÉÄܵ¼Ö jail ÍâÃæµÄ½ø³ÌÐÞ¸Ä jail ÖеÄ·ÓÉ±í¡£
-      ¹ØÓÚÕâÒ»ÎÊÌâµÄÏêÇ飬Çë²Î¿¼°²È«¹«¸æ <ulink
-      url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-04:12.jail.asc">FreeBSD-SA-04:12</ulink>¡£ &merged;</para>
-
-    <para>ÐÞÕýÁËÔÚ´¦ÀíijЩ Linux ϵͳµ÷ÓÃʱûÓнøÐÐÓÐЧµÄÑéÖ¤¶øµ¼ÖµķÃÎÊÈÎÒâÄڴ淶ΧµÄÎÊÌâ¡£
-      ¹ØÓÚÕâÒ»ÎÊÌâµÄÏêÇ飬Çë²Î¿¼°²È«¹«¸æ <ulink
-      url="ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-04:13.linux.asc">FreeBSD-SA-04:13</ulink>¡£ &merged;</para>
-
-    <para>ͨ¹ý½« <application>CVS</application> Éý¼¶µ½ 1.11.17£¬
-      ÐÞÕýÁË <application>CVS</application> ÖпÉÄܵ¼ÖÂÐÅϢй¶¡¢
-      ¾Ü¾ø·þÎñ£¬ »òÖ´ÐÐÈÎÒâ´úÂëµÄһϵÁгÌÐòÉè¼ÆÎÊÌâ¡£
-      ÒªÁ˽â¸üÏêϸµÄÐÅÏ¢£¬ Çë²Î¼û°²È«¹«¸æ <ulink
-      url="ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-04:14.cvs.asc">FreeBSD-SA-04:14</ulink>¡£</para>;
-
-    <para>ÐÞÕýÁË <literal>CONS_SCRSHOT</literal> &man.ioctl.2;
-      ÖеÄÒ»´¦ÎÊÌ⣻ Õâ¸öÎÊÌâ¿ÉÄܵ¼ÖÂδÊÚȨµÄ¶ÔÄÚºËÄÚ´æµÄ·ÃÎÊ£¬
-      ¶øÕâÖÖ·ÃÎÊ¿ÉÄܻᵼÖÂй¶Ãô¸ÐÐÅÏ¢¡¢ Èƹý·ÃÎÊ¿ØÖÆ»úÖÆ£¬
-      »òµ¼ÖÂÌØȨÌáÉý¡£
-      ÒªÁ˽â¸üÏêϸµÄÐÅÏ¢£¬ Çë²Î¼û°²È«¹«¸æ <ulink
-      url="ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-04:15.syscons.asc">FreeBSD-SA-04:15</ulink>¡£</para>;
   </sect2>
 
   <sect2 id="kernel">
     <title>¶ÔÓÚÄں˵ĸĶ¯</title>
 
-    <para>¼ÓÈ벢ĬÈÏÆôÓÃÁË <literal>ADAPTIVE_MUTEXES</literal>¡£
-      µ±ÁíÒ»¸ö CPU ÉÏÔËÐеÄÏß³ÌÓµÓÐij¸ö mutex ʱ£¬
-      Õ⽫ÈÃÊÜ×èµÄ mutex ×ÔÐý¡£
-      Èç¹ûÒª¹Ø±ÕÕâ¸öÌØÐÔ£¬ ÔòÐèÒªÉèÖÃÄÚºËÑ¡Ïî
-      <varname>NO_ADAPTIVE_MUTEXES</varname>¡£</para>
+    <para arch="i386">¶ÔÓÚ 80386 ´¦ÀíÆ÷ (Ò²¾ÍÊÇ
+      <literal>I386_CPU</literal> ÄÚºËÅäÖÃÑ¡Ïî) µÄÖ§³Ö£¬
+      ÒѾ­±»É¾È¥¡£ ʹÓÃÕâÒ»ÀàÐ굀 CPU µÄÓû§£¬ ӦʹÓà &os;
+      5.<replaceable>X</replaceable> »ò¸üÔçµÄ°æ±¾¡£</para>
 
-    <para>ÐÂÔöÁË <varname>ADAPTIVE_GIANT</varname>£¬
-      ËüʹµÃÆôÓÃÁË×ÔÊÊÓ¦ mutex ʱ£¬ÄÚºËÈ«¾ÖËø (Giant)
-      Ò²ÒÔ×ÔÊÊÓ¦ mutex µÄ·½Ê½´¦Àí¡£ Õâ¿ÉÒÔ¸ÄÉÆ SMP »úÆ÷µÄÐÔÄÜ£¬
-      ²¢ÔÚ i386 ÉÏĬÈÏÆôÓá£</para>
+    <para>Äں˵÷ÊÔÆ÷ &man.ddb.4; ÏÖÔÚÖ§³ÖÓÃÓÚÏÔʾ³ÖÓÐÐÝÃß»¥³âÌå
+    (ÒÔ¼°µ±Ç°Ïß³ÌËù³ÖÓеÄ×ÔÐý»¥³âÌå) µÄÇé¿öµÄ
+      <command>show alllocks</command> ÃüÁîÁË¡£ &merged;</para>
 
-    <para>&man.bus.dma.9; ½Ó¿ÚÐÂÔöÁ˼ÓÔØ»º³åʱ¶ÔÓÚ DMA tag
-      ÖеĶÔÆëºÍ±ß½çÏÞÖƵÄ͸Ã÷ʶ±ðÖ§³Ö£¬
-      ¶ø <function>bus_dmamap_load()</function>
-      ½«ÔÚÐèҪʱ×Ô¶¯Ê¹Óõ¯»Ø»º³å¡£
-      ´ËÍ⣬ »¹Ôö¼ÓÁËÒ»×éÓÃÓÚ &man.bus.dma.9; ͳ¼ÆµÄ
-      sysctl <varname>hw.busdma.*</varname>¡£</para>
+    <para>ÏÖÔÚ &man.jail.8; ¹¦ÄÜÖ§³ÖÒ»¸öÐ嵀 sysctl
+      <varname>security.jail.chflags_allowed</varname>£¬
+      ÓÃÓÚ¿ØÖÆ &man.chflags.1; ÔÚ jail ÖеÄÐÐΪ¡£
+      Èç¹ûÉèÖÃΪ <literal>0</literal> (ĬÈÏÖµ)£¬ jail ÖÐµÄ <username>root</username>
+      Óû§½«±»ÈÏΪÊÇ·ÇÌØȨÓû§£» Èç¹ûÉèÖÃΪ <literal>1</literal>£¬
+      Ôò jail ÖÐµÄ root Óû§»á±»ÊÓΪÓëδ jail µÄ <username>root</username>
+      Óû§Ò»Ñù¡£  &merged;</para>
 
-    <para>ÖØÐÂʵÏÖÁË &man.contigmalloc.9;
-      ²¢²ÉÓÃÁËÒ»ÖÖÔÚÖ´ÐгÌÐòʱÎÞÂÛѹÁ¦´óС¶¼ÄܸüºÃµØ¹¤×÷µÄËã·¨¡£
-      Ô­ÏȵÄËã·¨¿ÉÒÔͨ¹ýÉèÖà sysctl <varname>vm.old_contigmalloc</varname>
-      À´ÆôÓ㬠¾ßÌåÇé¿öÔÚ &man.contigmalloc.9; Áª»úÊÖ²áÖÐÓÐËù½éÉÜ¡£</para>
+    <para arch="alpha,amd64,i386">¼ÓÔØÆ÷±äÁ¿ <varname>debug.mpsafevm</varname>
+      ĬÈÏÖÃΪÆôÓÃÁË¡£ &merged;</para>
 
-    <para>&man.devfs.5; ·¾¶¹æÔòÏÖÔÚ¿ÉÒÔÔÚĿ¼ÖÐÕý³£¹¤×÷ÁË¡£</para>
+    <para>¼ÓÈëÁË &man.memguard.9;£¬ Ò»ÖÖÓÃÀ´°ïÖú¼ì²â
+      <quote>Ðü¹ÒÖ¸Õë²Ù×÷</quote> ÇéÐεÄÄÚºËÄÚ´æ·ÖÅäÆ÷¡£
+      ÒªÀûÓÃÕâÒ»¹¦ÄÜ£¬ ¾Í±ØÐëÃ÷È·µØͨ¹ý <literal>options
+      DEBUG_MEMGUARD</literal> À´ÆôÓÃËü£¬ ²¢¶ÔÄں˽øÐÐС·ù¶ÈµÄÐ޸ġ£
+      Ò»°ã¶øÑÔ£¬ ÕâÊÇΪÄں˿ª·¢ÈËÔ±ÌṩµÄ¹¦ÄÜ¡£</para>
 
-    <para>ɾȥÁË &man.getvfsent.3; API¡£</para>
+    <para>һϵÁÐ ULE µÄÎÊÌâµÃµ½ÁËÐÞÕý¡£ &merged;</para>
 
-    <para>È¥µôÁË loader ±äÁ¿ <varname>hw.pci.allow_unsupported_io_range</varname>¡£</para>
+    <para>ÔÚ VFS Õ»ÖмÓÈëÁËϸËø£¬ ÕâʹµÃËüµÄ´ó²¿·ÖµÃÒÔÍÑÀëÈ«¾ÖËø¡£
+      ÕâÒ»ÌØÐÔÔÚ alpha¡¢ amd64£¬ ÒÔ¼° i386 ƽ̨Éϱ»Ä¬ÈÏ´ò¿ª£¬
+      ²¢¿ÉÒÔͨ¹ýÉèÖüÓÔØÆ÷±äÁ¿ (ÒÔ¼° sysctl ±äÁ¿)
+      <varname>debug.mpsafevfs</varname> Ϊ
+      <literal>0</literal> À´½ûÓÃËü¡£</para>
 
-    <para>&man.jail.2; Ä¿Ç°¿ÉÒÔÖ§³Ö´Ó jail ÖÐʹÓà raw sockets ÁË¡£
-      ĬÈÏÇé¿öÏ£¬ÕâÒ»¹¦ÄÜ´¦ÓڹرյÄ״̬£¬¿ÉÒÔͨ¹ý
-      <varname>security.jail.allow_raw_sockets</varname> sysctl À´¿ØÖÆ¡£</para>
+    <para arch="i386">Ò»¸ö¹ØÓÚÔÚ¶Ô´¦ÀíÆ÷¼äÖÐ¶Ï (IPI) ½øÐд¦ÀíʱµÄÎÊÌâµÃÒÔÐÞÕý£¬
+      ÕâÒ»ÎÊÌâ¿ÉÄܵ¼Ö SMP ϵͳÔÚÖØÔØʱ±ÀÀ£¡£ ¸ü¶àϸ½Ú£¬ ¿ÉÒÔÔÚ¿±Îó˵Ã÷
+      <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ERRATA/notices/FreeBSD-EN-05:03.ipi.asc">FreeBSD-EN-05:03.ipi</ulink>;
+      ÖÐÕÒµ½¡£ &merged;</para>
 
-    <para>&man.kqueue.2; ÐÂÔöÁËÒ»ÖÖ½Ð×ö
-      <literal>EVFILT_FS</literal> µÄ¹ýÂËÆ÷Ö§³Ö£¬
-      Ëü¿ÉÒÔÓÃÐźŽ«Ò»°ãµÄÎļþϵͳʼþ´«´ï¸øÓû§½ø³Ì¿Õ¼ä¡£
-      Ä¿Ç°£¬ mount, unmount, ÒÔ¼° NFS µÄ up/down
-      ¿ÉÒÔʹÓÃÐźŴ«µÝ¡£</para>
+    <para>System V IPC ¶ÔÏó (ÏûÏ¢¶ÓÁС¢ ÐźÅÁ¿ºÍ¹²ÏíÄÚ´æ)
+      ÏÖÔÚÌṩÁËÇ¿ÖÆÐÔ·ÃÎÊ¿ØÖƲßÂÔ£¬
+      ÌرðÊÇ &man.mac.biba.4;, &man.mac.mls.4;, &man.mac.stub.4;, ºÍ
+      &man.mac.test.4; µÄÖ§³Ö¡£</para>
 
-    <para>KDB£¬ Ò»¸öеĵ÷ÊÔÆ÷¿ò¼Ü£¬ ±»¼ÓÈë½øÀ´¡£
-      Õâ°üÀ¨Ò»¸ö±»ÖØдÒÔÖ§³ÖÏ̡߳¢ RLE ѹËõµÈ¹¦ÄܵÄȫРGDB ºó¶Ë£¬ 
-      ¶øÇ°¶ËÔòÌṩÁË¿ÉÒÔÅäÖöà¸ö²»Í¬µ÷ÊÔÆ÷ºó¶ËµÄ¿ò¼Ü£¬
-      ²¢ÎªÕâЩºó¶ËÌṩ»ù±¾·þÎñ¡£ ´ËÍâÐÞ¸ÄÁËÏÂÊöÑ¡Ï</para>
+    <para arch="i386">½«´«Í³ PCI ÇŵÄÄÚ´æ·ÖÅ䷶Χ£¬
+      ÏÞÖƵ½ÁË RAM ¶¥²¿µÄ 32MB¡£ Ðí¶à½ÏÔçµÄ¡¢ ¾ÉµÄÇÅÓ²¼þ£¬
+      Ö»ÔÊÐí·ÖÅäÕâÒ»·¶Î§µÄÄÚ´æ¡£ ÕâÒ»ÐÞ¸ÄÖ»±»Ó¦ÓÃÓÚÄÇЩûÓÐͨ¹ý BIOS
+      Ö¸¶¨Äڴ淶ΧµÄÉ豸¡£ ËüÐÞÕýÁË CardBus ÇÅ (&man.pccbb.4;)
+      µÄ <quote>bad Vcc</quote> ´íÎó¡£ &merged;</para>
 
-    <itemizedlist>
-      <listitem>
-	<para>KDB ¿ÉÒÔͨ¹ýÄÚºËÑ¡Ïî <literal>options KDB</literal>¡¢
-	  <literal>options GDB</literal> ÒÔ¼° <literal>options DDB</literal>
-	  À´Ä¬ÈϵØÆôÓá£
-	  <literal>DDB</literal> ºÍ
-	  <literal>GDB</literal> ÓÃÓÚÖ¸¶¨Ê¹ÓÃÄÄÒ»¸ö KDB ºó¶Ë¡£</para>
-      </listitem>
+    <para>ÒÔ <quote>debug</quote> ¿ªÍ·µÄ &man.sysctl.3; MIB£¬
+      ÏÖÔÚÐèҪʹÓÃÄÚºËÑ¡Ïî <literal>options SYSCTL_DEBUG</literal>
+      ²ÅÄÜʹÓÃÁË¡£ ÕâһѡÏîĬÈϲ»ÆôÓá£</para>
 
-      <listitem>
-	<para><literal>WITNESS_DDB</literal> ¸ÄÃûΪ
-	  <literal>WITNESS_KDB</literal>¡£</para>
-      </listitem>
+    <para>ÔÚÐí¶àÇý¶¯ÖмÓÈëÁËͨÓÃµÄ &man.tty.4; Çý¶¯½Ó¿Ú£¬
+      Õâ°üÀ¨
+      &man.cx.4; (<literal>{tty,cua}x</literal>),
+      &man.cy.4; (<literal>{tty,cua}c</literal>),
+      &man.digi.4; (<literal>{tty,cua}D</literal>),
+      &man.rc.4; (<literal>{tty,cua}m</literal>),
+      &man.rp.4; (<literal>{tty,cua}R</literal>),
+      &man.sab.4; (<literal>{tty,cua}z</literal>),
+      &man.si.4; (<literal>{tty,cua}A</literal>),
+      &man.sio.4; (<literal>{tty,cua}d</literal>),
+      sx (<literal>{tty,cua}G</literal>),
+      &man.uart.4; (<literal>{tty,cua}u</literal>),
+      &man.ubser.4; (<literal>{tty,cua}y</literal>),
+      &man.ucom.4; (<literal>{tty,cua}U</literal>), ÒÔ¼°
+      &man.ucycom.4; (<literal>{tty,cua}y</literal>)
+      ²¢½øÐÐÁ˱ØÒªµÄÖØд¡£ Çë×¢Ò⣬ <filename>/etc/remote</filename>
+      ºÍ <filename>/etc/ttys</filename> Ò²ËæÖ®½øÐÐÁ˸üС£</para>
 
-      <listitem>
-	<para><literal>DDB_TRACE</literal> ¸ÄÃûΪ
-	  <literal>KDB_TRACE</literal>¡£</para>
-      </listitem>
-
-      <listitem>
-	<para><literal>DDB_UNATTENDED</literal> ¸ÄÃûΪ
-	  <literal>KDB_UNATTENDED</literal>¡£</para>
-      </listitem>
-
-      <listitem>
-	<para><literal>SC_HISTORY_DDBKEY</literal> ¸ÄÃûΪ
-	  <literal>SC_HISTORY_KDBKEY</literal>¡£</para>
-      </listitem>
-
-      <listitem>
-	<para>È¥µôÁË <literal>DDB_NOKLDSYM</literal>¡£
-	  Ð嵀 DDB ºó¶ËÖ§³ÖÁ¬½ÓÇ°·ûºÅµÄ²éÕÒ£¬
-	  ²¢Äܹ»²éÕÒ KLD µÄ·ûºÅ¡£</para>
-      </listitem>
-
-      <listitem>
-	<para>È¥µôÁË <literal>GDB_REMOTE_CHAT</literal>¡£
-	  ÐÞ¸ÄÁË GDB ЭÒéÒÔÊÊÓ¦ &os; µÄÐèÒª¡£
-	  ͬʱ£¬ GDB Ò²°üÀ¨ÁË¿ØÖÆ̨Êä³ö¡£</para>
-      </listitem>
-    </itemizedlist>
-
-    <para>KDB ͬʱ»¹×÷ΪÈκÎÐèҪʹÓõ÷ÊÔ¹¦ÄÜ´úÂëµÄͳһÊàŦ£¬
-      ÀýÈç½øÈëµ÷ÊÔÆ÷£¬ »ò´¦Àíºó±¸µÄ break ÐòÁС£
-      »ùÓÚÕâÑùµÄÔ­Òò£¬ Ç°¶Ë²»ÔÙÊÇ¿ÉÑ¡µÄ¡£
-      Ö»Òª¿ÉÄÜ£¬ ËùÓеĵ÷ÊÔÆ÷ÇëÇ󶼻ᱻת·¢»ò½»¸øµ±Ç°µÄºó¶ËÀ´½øÐд¦Àí¡£
-      ¿ÉÒÔͨ¹ý
-      <varname>debug.kdb.current</varname> sysctl À´Ñ¡Ôñµ±Ç°Ê¹Óõĺó¶Ë¡£
-      ÒѾ­ÅäÖúõĺó¶ËÁбí¿ÉÒÔͨ¹ý
-      <varname>debug.kdb.available</varname> sysctl µÃµ½¡£
-      ÁíÍ⣬ ¿ÉÒÔͨ¹ýд
-      <varname>debug.kdb.enter</varname> sysctl À´½øÈëµ÷ÊÔÆ÷¡£</para>
-
-    <para>Ôö¼ÓÁËÐ嵀 sysctl <varname>debug.kdb.stop_cpus</varname>¡£
-      Õâ¿ÉÒÔ¿ØÖÆÔÚ½øÈëµ÷ÊÔÆ÷ʱÊÇ·ñ·¢³ö IPI (´¦ÀíÆ÷¼äÖжÏ)£¬
-      ÒÔ±ãÔÚµ÷ÊÔʱֹͣËüÃǵÄÔËÐС£</para>
-
-    <para arch="amd64">amd64 ÉϵĶ¯Ì¬ÄÚºËÄ£¿éÒÑ´¦ÓÚ¿ÉÓÃ״̬£¬
-      ÔÚ±àÒëʱĬÈÏ¿ªÆô¡£</para>
-
-    <para arch="amd64">Ôö¼ÓÁ˳õ²½µÄÓÃÓÚÔÚ amd64 ÉÏÔËÐÐ 32-λ
-      Linux ³ÌÐòµÄÖ§³Ö¡£ Õâ¿ÉÒÔͨ¹ý
-      <literal>COMPAT_LINUX32</literal> ÄÚºËÑ¡ÏîÀ´ÆôÓá£</para>
-
-    <para>Ôö¼ÓÁË <literal>MAC_STATIC</literal>£¬ ÕâÒ»ÄÚºËÑ¡ÏîÓÃÓÚÔÚ¶¯Ì¬¼ÓÔغÍжÔØ MAC
-      ¹æÔòʱ½ûÖ¹ÄÚ²¿ MAC Framework ͬ²½±£»¤¡£</para>
-
-    <para>&man.mac.bsdextended.4; ²ßÂÔÏÖÔÚÖ§³ÖÖ»ÓÐÔÚÈ«²¿¹æÔòÆ¥Åäʱ²ÅÆ¥Åä²¢Ó¦ÓõÚÒ»¸ö²ßÂÔ¡£
-      ÕâÒ»ÌØÐÔ¿ÉÒÔͨ¹ýÐ嵀 sysctl
-      <varname>mac_bsdextended_firstmatch_enabled</varname> À´ÆôÓá£</para>
-
-    <para>&man.mac.bsdextended.4; ²ßÂÔÄܹ»ÔÚ syslog µÄ
-      <literal>AUTHPRIV</literal> facility ÖмǼʧ°Ü³¢ÊÔÁË¡£
-      ÕâÒ»ÌØÐÔ¿ÉÒÔͨ¹ýÐ嵀 sysctl
-      <varname>mac_bsdextended_logging</varname> À´ÆôÓá£</para>
-
-    <para>mbuma È¡´úÁË mballoc£¬ ÕâÊÇÒ»¸ö»ùÓÚ UMA ¿ò¼ÜÖ®ÉϵÄÀ©Õ¹ Mbuf ºÍ Cluster ·ÖÅäϵͳ¡£
-      ÕâÒ»±ä¶¯Ê¹µÃ²»ÔÙÐèÒª <literal>NMBCLUSTERS</literal> ¡£
-      clusters µÄ×î´óÊýÄ¿ÒÀȻȡ¾öÓÚ <literal>maxusers</literal>£¬
-      µ«Èç¹ûÔÚÆô¶¯Ê±½« <varname>kern.ipc.nmbclusters</varname> ÉèÖÃΪÁ㣬
-      Ôò¿ÉÒÔÈÃÆä²»ÊÜÏÞÖÆ¡£</para>
-
-    <para><filename>/dev/kmem</filename>¡¢ <filename>/dev/mem</filename>¡¢
-      ÒÔ¼° <filename>/dev/io</filename>
-      ÏÖÔÚ¿ÉÒÔ×÷ΪÄں˿ɼÓÔØÄ£¿éÀ´Ê¹ÓÃÁË¡£</para>
-
-    <para>ÐÞÕýÁË &man.mmap.2; ÔÚ½«ÄÚ´æÒ³±ê¼ÇΪ <literal>PROT_NONE</literal>
-      ʱÈÔÈ»¿ÉÄÜÔÚÌض¨Çé¿öϱ»¶ÁÈ¡µÄÎÊÌâ¡£ &merged;</para>
-
-    <para arch="i386,pc98">Ôö¼ÓÁËеÄÄÚºËÑ¡Ïî <literal>MP_WATCHDOG</literal>£¬
-      Ëü¿ÉÒÔ½«ÏµÍ³ÖеÄÒ»¸öÂß¼­ CPU ×÷Ϊһ¸öרÓõÄ
-      watchdog À´Ê¹Óᣠһµ©ÄÚºËÍ£Ö¹ÏìÓ¦£¬ Ëü½«½øÈëµ÷ÊÔÆ÷»ò²úÉúÒ»¸ö
-      NMI (²»¿ÉÆÁ±ÎÖжÏ)¡£
-      ÌṩÁËÐí¶à sysctl ÓÃÓÚÔÚ´¦ÀíÆ÷µÄ idle Ïß³ÌÖÐÆôÓà watchdog;
-      ¶øÒ»¸ö callout ½«ÔÚ watchdog Öи´Î»¼ÆÊýÆ÷¡£
-      Èç¹ûÊ®ÃëÖ®ÄÚ callout ÈÔȻûÓи´Î»¼ÆÊýÆ÷£¬
-      Ôò³¬Ê±½ø³Ì½«Æô¶¯¡£
-      <varname>debug.watchdog_cpu</varname>
-      sysctl ¿ÉÒÔÓÃÀ´Ñ¡ÔñÖ´ÐÐ watchdog µÄ CPU¡£</para>
-
-    <para arch="i386,pc98">Ôö¼ÓÁË <varname>debug.leak_schedlock</varname>
-      sysctl¡£ Õ⽫ÈÃй©ÁË sched ËøµÄ sysctl ´¦Àí¹ý³ÌÔÚËøÉÏ×ÔÐýÒÔ´¥·¢
-      <literal>MP_WATCHDOG</literal> Ñ¡ÏîËùÌṩµÄ watchdog¡£</para>
-
-    <para>Ôö¼ÓÁ˼ÓÔØÆ÷Ñ¡Ïî <varname>debug.mpsafenet</varname> ²¢Ä¬ÈÏ¿ªÆô¡£
-      Õ⽫ʹ &os; µÄÍøÂçЭÒéÕ»ÔÚ²»Ê¹ÓÃ
-      Giant µÄÌõ¼þÏÂÖ´ÐУ¬
-      ´Ó¶øͨ¹ýÌá¸ß²¢ÐжȺͼõÉÙÍøÂç´¦ÀíÑÓ³ÙÀ´´ïµ½Ìá¸ßÐÔÄܵÄÄ¿µÄ¡£
-      Çë×¢ÒâÈç¹ûÆôÓÃÁË &man.ng.tty.4;
-      Netgraph ½ÚµãÀàÐÍ¡¢ KAME IPsec¡¢ ÒÔ¼° IPX/SPX
-      ×ÓϵͳÖеÄÈκÎÒ»¸ö¶¼½«µ¼ÖÂÆô¶¯Ê±Ê¹ÓòÉÓà Giant µÄÍøÂç²Ù×÷£¬
-      Èç¹ûÔÚÔËÐÐʱ¼ÓÔØËüÃÇÔò½«»áÓо¯¸æ˵Ã÷ÕâЩ×é¼þÐèÒª Giant
-      Ëø²ÅÄܹ»Õý³£¹¤×÷¡£</para>
-
-    <para>Ôö¼ÓÁËеÄÄÚºËÑ¡Ïî <varname>NET_WITH_GIANT</varname>¡£
-      Õ⽫»¹Ô­ debug.mpsafenet µÄĬÈÏÖµ
-      <literal>0</literal>£¬ ËüÖ÷ÒªÓÃÓÚ±àÒëÒÑÖªµÄ·ÇḬ̈߳²È«µÄ×é¼þ£¬
-      »òÐèÒª¸üΪ±£ÊصÄÅäÖõÄÇéÐΡ£</para>
-
-    <para>Ôö¼ÓÁËеļÓÔØÆ÷±äÁ¿ <varname>debug.mpsafevm</varname>¡£
-      Ä¿Ç°ÉèÖÃËü½«Ê¹ÌîÁãȱҳÔÚ¾ø´ó¶àÊýʱºòÒÔÎÞ Giant µÄÐÎʽÔËÐС£</para>
+    <para>¼ÓÈëÁË &man.vkbd.4; Çý¶¯¡£ Õâ¸öÇý¶¯ÌṩÁËÒ»¸ö¿ÉÒÔÓÃÓÚʵÏÖÀàËÆÓÚ
+      &man.pty.4; Ö®ÓÚÖÕ¶ËËùÍê³ÉµÄ¹¦ÄܵÄÐéÄâ AT ¼üÅ̵ÄÈí¼þ»·»Ø»úÖÆ¡£</para>
 
-    <para arch="alpha,amd64,i386">Ôö¼ÓÁËеÄÄÚºËÑ¡Ïî
-      <literal>PREEMPTION</literal>¡£
-      ËüʹµÃÄÚºËÖеÄÏß³ÌÄܹ»±»ÓÅÏȼ¶¸ü¸ßµÄÏß³ÌÇÀÕ¼¡£
-      ÕâÓÐÖúÓÚ¸ÄÉƽ»»¥ÐÔ£¬ ²¢ÔÊÐíÖжÏÏ̸߳üÔçµØÖ´Ðжø²»Êǵȴý¡£</para>
-
-    <para>ÔÚ dev sysctl ÖмÓÈëÁËÒ»²ã devclass ÒÔÖ§³Ö°´·Ö²ã¿É±äµÄÉ豸±äÁ¿¡£
-      ÕâÑù£¬ <varname>dev.foo0.bar</varname> ÏÖÔÚÓ¦¸Ä×÷ <varname>dev.foo.0.bar</varname>£¬
-      ͬʱ£¬Ê¹Óà <varname>dev.foo.bar</varname> Ò²³ÉΪ¿ÉÄÜ¡£</para>
-
-    <para>ÐÂÔöÁË sysctl£¬ <varname>kern.always_console_output</varname>
-      ¿ÉÒÔÓÃÀ´¿ØÖÆÄÚºËÊÇ·ñ°ÑËùÓÐÊä³ö·Åµ½
-      <varname>TIOCCONS</varname>¡£</para>
-
-    <para>¼ÓÈëÁËÒ»¸öÓÃÓÚ¼ì²âµ±Ç°Ê¹Óõĵ÷¶ÈÆ÷Ãû³ÆµÄ <varname>kern.sched.name</varname>
-      sysctl¡£ ¿¼Âǵ½Ò»ÖÂÐÔ£¬ <varname>kern.quantum</varname> sysctl
-      ±»¸ÄÃûΪ <varname>kern.sched.quantum</varname>¡£</para>
-

>>> TRUNCATED FOR MAIL (1000 lines) <<<



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