svn commit: r236711 - in projects/pf/head:
cddl/contrib/opensolaris/lib/libzfs/common cddl/lib/libdtrace
contrib/bind9 contrib/bind9/lib/dns contrib/bsnmp/snmp_mibII
gnu/lib/libsupc++ include lib/l...
Gleb Smirnoff
glebius at FreeBSD.org
Thu Jun 7 09:52:50 UTC 2012
Author: glebius
Date: Thu Jun 7 09:52:48 2012
New Revision: 236711
URL: http://svn.freebsd.org/changeset/base/236711
Log:
Merge head r233826 through r236710.
Added:
projects/pf/head/cddl/lib/libdtrace/io.d
- copied unchanged from r236710, head/cddl/lib/libdtrace/io.d
projects/pf/head/share/man/man4/filemon.4
- copied unchanged from r236710, head/share/man/man4/filemon.4
projects/pf/head/sys/dev/filemon/
- copied from r236710, head/sys/dev/filemon/
projects/pf/head/sys/modules/filemon/
- copied from r236710, head/sys/modules/filemon/
projects/pf/head/tools/regression/filemon/
- copied from r236710, head/tools/regression/filemon/
projects/pf/head/tools/tools/ifpifa/
- copied from r236710, head/tools/tools/ifpifa/
Modified:
projects/pf/head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
projects/pf/head/contrib/bind9/CHANGES
projects/pf/head/contrib/bind9/lib/dns/rdata.c
projects/pf/head/contrib/bind9/lib/dns/rdataslab.c
projects/pf/head/contrib/bind9/version
projects/pf/head/contrib/bsnmp/snmp_mibII/mibII_tcp.c
projects/pf/head/gnu/lib/libsupc++/Version.map
projects/pf/head/include/fmtmsg.h
projects/pf/head/lib/libc/include/port_before.h
projects/pf/head/lib/libc/net/getaddrinfo.c
projects/pf/head/lib/libc/stdlib/realpath.c
projects/pf/head/lib/libelf/elf_begin.3
projects/pf/head/lib/libgssapi/gss_unwrap.3
projects/pf/head/lib/libgssapi/gss_wrap.3
projects/pf/head/lib/librpcsec_gss/rpc_gss_get_error.3
projects/pf/head/lib/librpcsec_gss/rpc_gss_get_mech_info.3
projects/pf/head/lib/librpcsec_gss/rpc_gss_get_principal_name.3
projects/pf/head/lib/librpcsec_gss/rpc_gss_get_versions.3
projects/pf/head/lib/librpcsec_gss/rpc_gss_getcred.3
projects/pf/head/lib/librpcsec_gss/rpc_gss_is_installed.3
projects/pf/head/lib/librpcsec_gss/rpc_gss_max_data_length.3
projects/pf/head/lib/librpcsec_gss/rpc_gss_mech_to_oid.3
projects/pf/head/lib/librpcsec_gss/rpc_gss_oid_to_mech.3
projects/pf/head/lib/librpcsec_gss/rpc_gss_qop_to_num.3
projects/pf/head/lib/librpcsec_gss/rpc_gss_seccreate.3
projects/pf/head/lib/librpcsec_gss/rpc_gss_set_callback.3
projects/pf/head/lib/librpcsec_gss/rpc_gss_set_defaults.3
projects/pf/head/lib/librpcsec_gss/rpc_gss_set_svc_name.3
projects/pf/head/lib/librpcsec_gss/rpc_gss_svc_max_data_length.3
projects/pf/head/sbin/camcontrol/camcontrol.8
projects/pf/head/sbin/ifconfig/ifconfig.8
projects/pf/head/share/man/man4/Makefile
projects/pf/head/share/man/man4/bce.4
projects/pf/head/share/man/man4/io.4
projects/pf/head/share/man/man4/ip.4
projects/pf/head/share/man/man4/mpt.4
projects/pf/head/share/man/man4/ng_ksocket.4
projects/pf/head/share/man/man4/vlan.4
projects/pf/head/share/man/man5/make.conf.5
projects/pf/head/share/man/man5/rc.conf.5
projects/pf/head/share/man/man7/development.7
projects/pf/head/share/man/man9/rwlock.9
projects/pf/head/share/misc/committers-src.dot
projects/pf/head/sys/arm/at91/at91.c
projects/pf/head/sys/arm/at91/at91_machdep.c
projects/pf/head/sys/arm/at91/at91_mci.c
projects/pf/head/sys/arm/at91/at91_pmc.c
projects/pf/head/sys/arm/at91/at91reg.h
projects/pf/head/sys/arm/at91/at91rm9200.c
projects/pf/head/sys/arm/at91/at91rm92reg.h
projects/pf/head/sys/arm/at91/at91sam9260.c
projects/pf/head/sys/arm/at91/at91sam9g20.c
projects/pf/head/sys/arm/at91/at91var.h
projects/pf/head/sys/boot/ofw/libofw/ofw_disk.c
projects/pf/head/sys/boot/sparc64/loader/main.c
projects/pf/head/sys/cam/ata/ata_da.c
projects/pf/head/sys/cam/ata/ata_pmp.c
projects/pf/head/sys/cam/ata/ata_xpt.c
projects/pf/head/sys/cam/cam_xpt.c
projects/pf/head/sys/cam/scsi/scsi_all.c
projects/pf/head/sys/cam/scsi/scsi_all.h
projects/pf/head/sys/cam/scsi/scsi_cd.c
projects/pf/head/sys/cam/scsi/scsi_da.c
projects/pf/head/sys/cam/scsi/scsi_pt.c
projects/pf/head/sys/cam/scsi/scsi_xpt.c
projects/pf/head/sys/cddl/dev/dtrace/amd64/dtrace_subr.c
projects/pf/head/sys/cddl/dev/dtrace/i386/dtrace_subr.c
projects/pf/head/sys/dev/ae/if_ae.c
projects/pf/head/sys/dev/ahci/ahci.c
projects/pf/head/sys/dev/aic7xxx/aicasm/Makefile
projects/pf/head/sys/dev/aic7xxx/aicasm/aicasm.c
projects/pf/head/sys/dev/ata/ata-all.c
projects/pf/head/sys/dev/ath/if_ath.c
projects/pf/head/sys/dev/ath/if_ath_misc.h
projects/pf/head/sys/dev/ath/if_ath_rx.c
projects/pf/head/sys/dev/bge/if_bgereg.h
projects/pf/head/sys/dev/ixgbe/ixgbe.c
projects/pf/head/sys/dev/jme/if_jme.c
projects/pf/head/sys/dev/mvs/mvs.c
projects/pf/head/sys/dev/siis/siis.c
projects/pf/head/sys/fs/nfsclient/nfs_clbio.c
projects/pf/head/sys/geom/multipath/g_multipath.c
projects/pf/head/sys/kern/uipc_syscalls.c
projects/pf/head/sys/modules/Makefile
projects/pf/head/sys/net/bpf.c
projects/pf/head/sys/netinet/libalias/libalias.3
projects/pf/head/sys/netinet/tcp_input.c
projects/pf/head/sys/netinet6/in6.c
projects/pf/head/tools/tools/syscall_timing/syscall_timing.c
projects/pf/head/tools/tools/tinybsd/README
projects/pf/head/usr.bin/find/find.1
projects/pf/head/usr.bin/gzip/zmore.1
projects/pf/head/usr.bin/kdump/kdump.1
projects/pf/head/usr.bin/kdump/kdump.c
projects/pf/head/usr.bin/usbhidctl/usbhidctl.1
projects/pf/head/usr.sbin/inetd/inetd.c
projects/pf/head/usr.sbin/inetd/inetd.h
projects/pf/head/usr.sbin/pmcstat/pmcstat_log.c
Directory Properties:
projects/pf/head/ (props changed)
projects/pf/head/cddl/contrib/opensolaris/ (props changed)
projects/pf/head/contrib/bind9/ (props changed)
projects/pf/head/gnu/lib/ (props changed)
projects/pf/head/lib/libc/ (props changed)
projects/pf/head/sbin/ (props changed)
projects/pf/head/share/man/man4/ (props changed)
projects/pf/head/sys/ (props changed)
projects/pf/head/sys/boot/ (props changed)
projects/pf/head/sys/contrib/pf/ (props changed)
Modified: projects/pf/head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
==============================================================================
--- projects/pf/head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Thu Jun 7 09:52:48 2012 (r236711)
@@ -23,6 +23,7 @@
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright 2010 Nexenta Systems, Inc. All rights reserved.
* Copyright (c) 2011 by Delphix. All rights reserved.
+ * Copyright (c) 2012 DEY Storage Systems, Inc. All rights reserved.
* Copyright (c) 2011-2012 Pawel Jakub Dawidek <pawel at dawidek.net>.
* All rights reserved.
* Copyright (c) 2012 Martin Matuska <mm at FreeBSD.org>. All rights reserved.
@@ -2321,6 +2322,17 @@ zfs_prop_get(zfs_handle_t *zhp, zfs_prop
}
break;
+ case ZFS_PROP_GUID:
+ /*
+ * GUIDs are stored as numbers, but they are identifiers.
+ * We don't want them to be pretty printed, because pretty
+ * printing mangles the ID into a truncated and useless value.
+ */
+ if (get_numeric_property(zhp, prop, src, &source, &val) != 0)
+ return (-1);
+ (void) snprintf(propbuf, proplen, "%llu", (u_longlong_t)val);
+ break;
+
default:
switch (zfs_prop_get_type(prop)) {
case PROP_TYPE_NUMBER:
Copied: projects/pf/head/cddl/lib/libdtrace/io.d (from r236710, head/cddl/lib/libdtrace/io.d)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ projects/pf/head/cddl/lib/libdtrace/io.d Thu Jun 7 09:52:48 2012 (r236711, copy of r236710, head/cddl/lib/libdtrace/io.d)
@@ -0,0 +1,220 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ * $FreeBSD$
+ */
+/*
+ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+#pragma ident "%Z%%M% %I% %E% SMI"
+
+#pragma D depends_on module unix
+#pragma D depends_on provider io
+
+inline int B_BUSY = B_BUSY;
+#pragma D binding "1.0" B_BUSY
+inline int B_DONE = 0x00000200;
+#pragma D binding "1.0" B_DONE
+inline int B_ERROR = B_ERROR;
+#pragma D binding "1.0" B_ERROR
+inline int B_PAGEIO = B_PAGEIO;
+#pragma D binding "1.0" B_PAGEIO
+inline int B_PHYS = B_PHYS;
+#pragma D binding "1.0" B_PHYS
+inline int B_READ = B_READ;
+#pragma D binding "1.0" B_READ
+inline int B_WRITE = B_WRITE;
+#pragma D binding "1.0" B_WRITE
+inline int B_ASYNC = 0x00000004;
+#pragma D binding "1.0" B_ASYNC
+
+typedef struct bufinfo {
+ int b_flags; /* buffer status */
+ size_t b_bcount; /* number of bytes */
+ caddr_t b_addr; /* buffer address */
+ uint64_t b_lblkno; /* block # on device */
+ uint64_t b_blkno; /* expanded block # on device */
+ size_t b_resid; /* # of bytes not transferred */
+ size_t b_bufsize; /* size of allocated buffer */
+ caddr_t b_iodone; /* I/O completion routine */
+ int b_error; /* expanded error field */
+ dev_t b_edev; /* extended device */
+} bufinfo_t;
+
+#pragma D binding "1.0" translator
+translator bufinfo_t < struct buf *B > {
+ b_flags = B->b_flags;
+ b_addr = B->b_un.b_addr;
+ b_bcount = B->b_bcount;
+ b_lblkno = B->_b_blkno._f;
+ b_blkno = sizeof (long) == 8 ? B->_b_blkno._f : B->_b_blkno._p._l;
+ b_resid = B->b_resid;
+ b_bufsize = B->b_bufsize;
+ b_iodone = (caddr_t)B->b_iodone;
+ b_error = B->b_error;
+ b_edev = B->b_edev;
+};
+
+typedef struct devinfo {
+ int dev_major; /* major number */
+ int dev_minor; /* minor number */
+ int dev_instance; /* instance number */
+ string dev_name; /* name of device */
+ string dev_statname; /* name of device + instance/minor */
+ string dev_pathname; /* pathname of device */
+} devinfo_t;
+
+#pragma D binding "1.0" translator
+translator devinfo_t < struct buf *B > {
+ dev_major = B->b_dip != NULL ? getmajor(B->b_edev) :
+ getmajor(B->b_file->v_vfsp->vfs_dev);
+ dev_minor = B->b_dip != NULL ? getminor(B->b_edev) :
+ getminor(B->b_file->v_vfsp->vfs_dev);
+ dev_instance = B->b_dip == NULL ?
+ getminor(B->b_file->v_vfsp->vfs_dev) :
+ ((struct dev_info *)B->b_dip)->devi_instance;
+ dev_name = B->b_dip == NULL ? "nfs" :
+ stringof(`devnamesp[getmajor(B->b_edev)].dn_name);
+ dev_statname = strjoin(B->b_dip == NULL ? "nfs" :
+ stringof(`devnamesp[getmajor(B->b_edev)].dn_name),
+ lltostr(B->b_dip == NULL ? getminor(B->b_file->v_vfsp->vfs_dev) :
+ ((struct dev_info *)B->b_dip)->devi_instance == 0 &&
+ ((struct dev_info *)B->b_dip)->devi_parent != NULL &&
+ ((struct dev_info *)B->b_dip)->devi_parent->devi_node_name ==
+ "pseudo" ? getminor(B->b_edev) :
+ ((struct dev_info *)B->b_dip)->devi_instance));
+ dev_pathname = B->b_dip == NULL ? "<nfs>" :
+ ddi_pathname(B->b_dip, getminor(B->b_edev));
+};
+
+typedef struct fileinfo {
+ string fi_name; /* name (basename of fi_pathname) */
+ string fi_dirname; /* directory (dirname of fi_pathname) */
+ string fi_pathname; /* full pathname */
+ offset_t fi_offset; /* offset within file */
+ string fi_fs; /* filesystem */
+ string fi_mount; /* mount point of file system */
+ int fi_oflags; /* open(2) flags for file descriptor */
+} fileinfo_t;
+
+#pragma D binding "1.0" translator
+translator fileinfo_t < struct buf *B > {
+ fi_name = B->b_file == NULL ? "<none>" :
+ B->b_file->v_path == NULL ? "<unknown>" :
+ basename(cleanpath(B->b_file->v_path));
+ fi_dirname = B->b_file == NULL ? "<none>" :
+ B->b_file->v_path == NULL ? "<unknown>" :
+ dirname(cleanpath(B->b_file->v_path));
+ fi_pathname = B->b_file == NULL ? "<none>" :
+ B->b_file->v_path == NULL ? "<unknown>" :
+ cleanpath(B->b_file->v_path);
+ fi_offset = B->b_offset;
+ fi_fs = B->b_file == NULL ? "<none>" :
+ stringof(B->b_file->v_op->vnop_name);
+ fi_mount = B->b_file == NULL ? "<none>" :
+ B->b_file->v_vfsp->vfs_vnodecovered == NULL ? "/" :
+ B->b_file->v_vfsp->vfs_vnodecovered->v_path == NULL ? "<unknown>" :
+ cleanpath(B->b_file->v_vfsp->vfs_vnodecovered->v_path);
+ fi_oflags = 0;
+};
+
+/*
+ * The following inline constants can be used to examine fi_oflags when using
+ * the fds[] array or a translated fileinfo_t. Note that the various open
+ * flags behave as a bit-field *except* for O_RDONLY, O_WRONLY, and O_RDWR.
+ * To test the open mode, you write code similar to that used with the fcntl(2)
+ * F_GET[X]FL command, such as: if ((fi_oflags & O_ACCMODE) == O_WRONLY).
+ */
+inline int O_ACCMODE = 0x0003;
+#pragma D binding "1.1" O_ACCMODE
+
+inline int O_RDONLY = 0x0000;
+#pragma D binding "1.1" O_RDONLY
+inline int O_WRONLY = 0x0001;
+#pragma D binding "1.1" O_WRONLY
+inline int O_RDWR = 0x0002;
+#pragma D binding "1.1" O_RDWR
+
+inline int O_APPEND = 0x0008;
+#pragma D binding "1.1" O_APPEND
+inline int O_CREAT = 0x0200;
+#pragma D binding "1.1" O_CREAT
+inline int O_DSYNC = O_DSYNC;
+#pragma D binding "1.1" O_DSYNC
+inline int O_EXCL = 0x0800;
+#pragma D binding "1.1" O_EXCL
+inline int O_LARGEFILE = O_LARGEFILE;
+#pragma D binding "1.1" O_LARGEFILE
+inline int O_NOCTTY = 0x8000;
+#pragma D binding "1.1" O_NOCTTY
+inline int O_NONBLOCK = 0x0004;
+#pragma D binding "1.1" O_NONBLOCK
+inline int O_NDELAY = 0x0004;
+#pragma D binding "1.1" O_NDELAY
+inline int O_RSYNC = O_RSYNC;
+#pragma D binding "1.1" O_RSYNC
+inline int O_SYNC = 0x0080;
+#pragma D binding "1.1" O_SYNC
+inline int O_TRUNC = 0x0400;
+#pragma D binding "1.1" O_TRUNC
+inline int O_XATTR = O_XATTR;
+#pragma D binding "1.1" O_XATTR
+
+#pragma D binding "1.1" translator
+translator fileinfo_t < struct file *F > {
+ fi_name = F == NULL ? "<none>" :
+ F->f_vnode->v_path == NULL ? "<unknown>" :
+ basename(cleanpath(F->f_vnode->v_path));
+ fi_dirname = F == NULL ? "<none>" :
+ F->f_vnode->v_path == NULL ? "<unknown>" :
+ dirname(cleanpath(F->f_vnode->v_path));
+ fi_pathname = F == NULL ? "<none>" :
+ F->f_vnode->v_path == NULL ? "<unknown>" :
+ cleanpath(F->f_vnode->v_path);
+ fi_offset = F == NULL ? 0 : F->f_offset;
+ fi_fs = F == NULL ? "<none>" : stringof(F->f_vnode->v_op->vnop_name);
+ fi_mount = F == NULL ? "<none>" :
+ F->f_vnode->v_vfsp->vfs_vnodecovered == NULL ? "/" :
+ F->f_vnode->v_vfsp->vfs_vnodecovered->v_path == NULL ? "<unknown>" :
+ cleanpath(F->f_vnode->v_vfsp->vfs_vnodecovered->v_path);
+ fi_oflags = F == NULL ? 0 : F->f_flag + (int)FOPEN;
+};
+
+inline fileinfo_t fds[int fd] = xlate <fileinfo_t> (
+ fd >= 0 && fd < curthread->t_procp->p_user.u_finfo.fi_nfiles ?
+ curthread->t_procp->p_user.u_finfo.fi_list[fd].uf_file : NULL);
+
+#pragma D attributes Stable/Stable/Common fds
+#pragma D binding "1.1" fds
+
+#pragma D binding "1.2" translator
+translator fileinfo_t < struct vnode *V > {
+ fi_name = V->v_path == NULL ? "<unknown>" :
+ basename(cleanpath(V->v_path));
+ fi_dirname = V->v_path == NULL ? "<unknown>" :
+ dirname(cleanpath(V->v_path));
+ fi_pathname = V->v_path == NULL ? "<unknown>" : cleanpath(V->v_path);
+ fi_fs = stringof(V->v_op->vnop_name);
+ fi_mount = V->v_vfsp->vfs_vnodecovered == NULL ? "/" :
+ V->v_vfsp->vfs_vnodecovered->v_path == NULL ? "<unknown>" :
+ cleanpath(V->v_vfsp->vfs_vnodecovered->v_path);
+};
Modified: projects/pf/head/contrib/bind9/CHANGES
==============================================================================
--- projects/pf/head/contrib/bind9/CHANGES Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/contrib/bind9/CHANGES Thu Jun 7 09:52:48 2012 (r236711)
@@ -1,3 +1,8 @@
+ --- 9.8.3-P1 released ---
+
+3331. [security] dns_rdataslab_fromrdataset could produce bad
+ rdataslabs. [RT #29644]
+
--- 9.8.3 released ---
3318. [tuning] Reduce the amount of work performed while holding a
Modified: projects/pf/head/contrib/bind9/lib/dns/rdata.c
==============================================================================
--- projects/pf/head/contrib/bind9/lib/dns/rdata.c Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/contrib/bind9/lib/dns/rdata.c Thu Jun 7 09:52:48 2012 (r236711)
@@ -329,8 +329,8 @@ dns_rdata_compare(const dns_rdata_t *rda
REQUIRE(rdata1 != NULL);
REQUIRE(rdata2 != NULL);
- REQUIRE(rdata1->data != NULL);
- REQUIRE(rdata2->data != NULL);
+ REQUIRE(rdata1->length == 0 || rdata1->data != NULL);
+ REQUIRE(rdata2->length == 0 || rdata2->data != NULL);
REQUIRE(DNS_RDATA_VALIDFLAGS(rdata1));
REQUIRE(DNS_RDATA_VALIDFLAGS(rdata2));
@@ -360,8 +360,8 @@ dns_rdata_casecompare(const dns_rdata_t
REQUIRE(rdata1 != NULL);
REQUIRE(rdata2 != NULL);
- REQUIRE(rdata1->data != NULL);
- REQUIRE(rdata2->data != NULL);
+ REQUIRE(rdata1->length == 0 || rdata1->data != NULL);
+ REQUIRE(rdata2->length == 0 || rdata2->data != NULL);
REQUIRE(DNS_RDATA_VALIDFLAGS(rdata1));
REQUIRE(DNS_RDATA_VALIDFLAGS(rdata2));
Modified: projects/pf/head/contrib/bind9/lib/dns/rdataslab.c
==============================================================================
--- projects/pf/head/contrib/bind9/lib/dns/rdataslab.c Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/contrib/bind9/lib/dns/rdataslab.c Thu Jun 7 09:52:48 2012 (r236711)
@@ -126,6 +126,11 @@ isc_result_t
dns_rdataslab_fromrdataset(dns_rdataset_t *rdataset, isc_mem_t *mctx,
isc_region_t *region, unsigned int reservelen)
{
+ /*
+ * Use &removed as a sentinal pointer for duplicate
+ * rdata as rdata.data == NULL is valid.
+ */
+ static unsigned char removed;
struct xrdata *x;
unsigned char *rawbuf;
#if DNS_RDATASET_FIXED
@@ -169,6 +174,7 @@ dns_rdataslab_fromrdataset(dns_rdataset_
INSIST(result == ISC_R_SUCCESS);
dns_rdata_init(&x[i].rdata);
dns_rdataset_current(rdataset, &x[i].rdata);
+ INSIST(x[i].rdata.data != &removed);
#if DNS_RDATASET_FIXED
x[i].order = i;
#endif
@@ -201,8 +207,7 @@ dns_rdataslab_fromrdataset(dns_rdataset_
*/
for (i = 1; i < nalloc; i++) {
if (compare_rdata(&x[i-1].rdata, &x[i].rdata) == 0) {
- x[i-1].rdata.data = NULL;
- x[i-1].rdata.length = 0;
+ x[i-1].rdata.data = &removed;
#if DNS_RDATASET_FIXED
/*
* Preserve the least order so A, B, A -> A, B
@@ -292,7 +297,7 @@ dns_rdataslab_fromrdataset(dns_rdataset_
#endif
for (i = 0; i < nalloc; i++) {
- if (x[i].rdata.data == NULL)
+ if (x[i].rdata.data == &removed)
continue;
#if DNS_RDATASET_FIXED
offsettable[x[i].order] = rawbuf - offsetbase;
Modified: projects/pf/head/contrib/bind9/version
==============================================================================
--- projects/pf/head/contrib/bind9/version Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/contrib/bind9/version Thu Jun 7 09:52:48 2012 (r236711)
@@ -6,5 +6,5 @@
MAJORVER=9
MINORVER=8
PATCHVER=3
-RELEASETYPE=
-RELEASEVER=
+RELEASETYPE=-P
+RELEASEVER=1
Modified: projects/pf/head/contrib/bsnmp/snmp_mibII/mibII_tcp.c
==============================================================================
--- projects/pf/head/contrib/bsnmp/snmp_mibII/mibII_tcp.c Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/contrib/bsnmp/snmp_mibII/mibII_tcp.c Thu Jun 7 09:52:48 2012 (r236711)
@@ -109,10 +109,12 @@ fetch_tcp(void)
ptr = (struct xinpgen *)(void *)((char *)ptr + ptr->xig_len)) {
tp = (struct xtcpcb *)ptr;
if (tp->xt_inp.inp_gencnt > xinpgen->xig_gen ||
- (tp->xt_inp.inp_vflag & INP_IPV4) == 0)
+ (tp->xt_inp.inp_vflag & (INP_IPV4|INP_IPV6)) == 0)
continue;
- tcp_total++;
+ if (tp->xt_inp.inp_vflag & INP_IPV4)
+ tcp_total++;
+
if (tp->xt_tp.t_state == TCPS_ESTABLISHED ||
tp->xt_tp.t_state == TCPS_CLOSE_WAIT)
tcp_count++;
Modified: projects/pf/head/gnu/lib/libsupc++/Version.map
==============================================================================
--- projects/pf/head/gnu/lib/libsupc++/Version.map Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/gnu/lib/libsupc++/Version.map Thu Jun 7 09:52:48 2012 (r236711)
@@ -126,11 +126,19 @@ CXXABI_1.3 {
# __gnu_cxx::_verbose_terminate_handler()
_ZN9__gnu_cxx27__verbose_terminate_handlerEv;
- # new / delete operators
+ # operator new and new[], 32-bit size_t
_Znaj;
_ZnajRKSt9nothrow_t;
_Znwj;
_ZnwjRKSt9nothrow_t;
+
+ # operator new and new[], 64-bit size_t
+ _Znam;
+ _ZnamRKSt9nothrow_t;
+ _Znwm;
+ _ZnwmRKSt9nothrow_t;
+
+ # operator delete and delete[]
_ZdaPv;
_ZdaPvRKSt9nothrow_t;
_ZdlPv;
Modified: projects/pf/head/include/fmtmsg.h
==============================================================================
--- projects/pf/head/include/fmtmsg.h Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/include/fmtmsg.h Thu Jun 7 09:52:48 2012 (r236711)
@@ -32,7 +32,7 @@
/* Source of condition is... */
#define MM_HARD 0x0001 /* ...hardware. */
#define MM_SOFT 0x0002 /* ...software. */
-#define MM_FIRM 0x0004 /* ...fireware. */
+#define MM_FIRM 0x0004 /* ...firmware. */
/* Condition detected by... */
#define MM_APPL 0x0010 /* ...application. */
Modified: projects/pf/head/lib/libc/include/port_before.h
==============================================================================
--- projects/pf/head/lib/libc/include/port_before.h Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/lib/libc/include/port_before.h Thu Jun 7 09:52:48 2012 (r236711)
@@ -17,6 +17,6 @@
var = _u.v; \
} while (0)
-#define UNUSED(x) (x) = (x)
+#define UNUSED(x) (void)(x)
#endif /* _PORT_BEFORE_H_ */
Modified: projects/pf/head/lib/libc/net/getaddrinfo.c
==============================================================================
--- projects/pf/head/lib/libc/net/getaddrinfo.c Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/lib/libc/net/getaddrinfo.c Thu Jun 7 09:52:48 2012 (r236711)
@@ -464,7 +464,7 @@ getaddrinfo(const char *hostname, const
}
error = get_portmatch(pai, servname);
if (error)
- ERR(error);
+ goto bad;
*pai = ai0;
}
Modified: projects/pf/head/lib/libc/stdlib/realpath.c
==============================================================================
--- projects/pf/head/lib/libc/stdlib/realpath.c Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/lib/libc/stdlib/realpath.c Thu Jun 7 09:52:48 2012 (r236711)
@@ -54,7 +54,7 @@ realpath(const char * __restrict path, c
char *p, *q, *s;
size_t left_len, resolved_len;
unsigned symlinks;
- int m, serrno, slen;
+ int m, slen;
char left[PATH_MAX], next_token[PATH_MAX], symlink[PATH_MAX];
if (path == NULL) {
@@ -65,7 +65,6 @@ realpath(const char * __restrict path, c
errno = ENOENT;
return (NULL);
}
- serrno = errno;
if (resolved == NULL) {
resolved = malloc(PATH_MAX);
if (resolved == NULL)
Modified: projects/pf/head/lib/libelf/elf_begin.3
==============================================================================
--- projects/pf/head/lib/libelf/elf_begin.3 Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/lib/libelf/elf_begin.3 Thu Jun 7 09:52:48 2012 (r236711)
@@ -252,7 +252,7 @@ was created.
.It Bq Er ELF_E_ARGUMENT
An
.Xr ar 1
-archive was opened with with
+archive was opened with
.Ar cmd
set to
.Dv ELF_C_RDWR .
Modified: projects/pf/head/lib/libgssapi/gss_unwrap.3
==============================================================================
--- projects/pf/head/lib/libgssapi/gss_unwrap.3 Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/lib/libgssapi/gss_unwrap.3 Thu Jun 7 09:52:48 2012 (r236711)
@@ -100,7 +100,7 @@ Protected message.
.It output_message_buffer
Buffer to receive unwrapped message.
Storage associated with this buffer must
-be freed by the application after use use
+be freed by the application after use
with a call to
.Xr gss_release_buffer 3 .
.It conf_state
Modified: projects/pf/head/lib/libgssapi/gss_wrap.3
==============================================================================
--- projects/pf/head/lib/libgssapi/gss_wrap.3 Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/lib/libgssapi/gss_wrap.3 Thu Jun 7 09:52:48 2012 (r236711)
@@ -118,7 +118,7 @@ Integrity and data origin services only
.It output_message_buffer
Buffer to receive protected message.
Storage associated with this buffer must
-be freed by the application after use use
+be freed by the application after use
with a call to
.Xr gss_release_buffer 3 .
.El
Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_get_error.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_get_error.3 Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_get_error.3 Thu Jun 7 09:52:48 2012 (r236711)
@@ -39,7 +39,7 @@
.Sh DESCRIPTION
Get details of the last RPCSEC_GSS error.
.Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It error"
.It error
A pointer to a structure where the error details will be returned
.El
Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_get_mech_info.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_get_mech_info.3 Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_get_mech_info.3 Thu Jun 7 09:52:48 2012 (r236711)
@@ -40,7 +40,7 @@
This function looks up a mechanism by name by reading the file
/etc/gss/mech and queries it for its capabilities.
.Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It service"
.It mech
The mechanism to search for
.It service
Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_get_principal_name.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_get_principal_name.3 Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_get_principal_name.3 Thu Jun 7 09:52:48 2012 (r236711)
@@ -46,7 +46,7 @@
This function can be used to generate a client principal name from
various strings.
.Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It principal"
.It principal
If the principal is created successfully,
.Fa *principal
Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_get_versions.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_get_versions.3 Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_get_versions.3 Thu Jun 7 09:52:48 2012 (r236711)
@@ -39,7 +39,7 @@
.Sh DESCRIPTION
Return the highest and lowest supported versions of the RPCSEC_GSS protocol.
.Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It vers_lo"
.It vers_hi
The value of
.Fa *vers_hi
Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_getcred.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_getcred.3 Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_getcred.3 Thu Jun 7 09:52:48 2012 (r236711)
@@ -45,7 +45,7 @@
This function returns the RPCSEC_GSS authenticated credentials
associated with an RPC request.
.Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It cookie"
.It req
The RPC request to query
.It rcred
Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_is_installed.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_is_installed.3 Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_is_installed.3 Thu Jun 7 09:52:48 2012 (r236711)
@@ -40,7 +40,7 @@
This function looks up a mechanism by name by reading the file
/etc/gss/mech.
.Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It mech"
.It mech
The mechanism to search for
.El
Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_max_data_length.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_max_data_length.3 Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_max_data_length.3 Thu Jun 7 09:52:48 2012 (r236711)
@@ -41,7 +41,7 @@ Calculate the maximum message size that
.Fa max_tp_unit_len ,
given the current service and QoP setting.
.Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It max_tp_unit_len"
.It auth
A handle to a RPCSEC_GSS security context
.It max_tp_unit_len
Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_mech_to_oid.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_mech_to_oid.3 Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_mech_to_oid.3 Thu Jun 7 09:52:48 2012 (r236711)
@@ -40,7 +40,7 @@
This function looks up a mechanism by name by reading the file
/etc/gss/mech.
.Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It oid_ret"
.It mech
The mechanism name to search for
.It oid_ret
Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_oid_to_mech.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_oid_to_mech.3 Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_oid_to_mech.3 Thu Jun 7 09:52:48 2012 (r236711)
@@ -40,7 +40,7 @@
This function looks up a mechanism by oid by reading the file
/etc/gss/mech.
.Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It mech_ret"
.It oid
The mechanism oid to search for
.It mech_ret
Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_qop_to_num.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_qop_to_num.3 Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_qop_to_num.3 Thu Jun 7 09:52:48 2012 (r236711)
@@ -40,7 +40,7 @@
This function looks up a quality of protection by name by reading the file
/etc/gss/qop.
.Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It number_ret"
.It qop
The quality of protection to search for
.It mech
Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_seccreate.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_seccreate.3 Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_seccreate.3 Thu Jun 7 09:52:48 2012 (r236711)
@@ -48,7 +48,7 @@
This function is used to establish a security context between an
application and a remote peer using the RPSEC_GSS protocol.
.Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width "options_req"
.It clnt
An RPC handle which is connected to the remote peer
.It principal
@@ -62,7 +62,7 @@ The value of mechanism should be the nam
mechanisms listed in /etc/gss/mech.
.It service
Type of service requested.
-.Bl -tag
+.Bl -tag -width "rpc_gss_svc_integrity"
.It rpc_gss_svc_default
The default - typically the same as
.Dv rpc_gss_svc_none .
Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_set_callback.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_set_callback.3 Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_set_callback.3 Thu Jun 7 09:52:48 2012 (r236711)
@@ -62,7 +62,7 @@ protection used by the context.
If a context is locked, any subsequent requests which use different
values for service and quality of protection will be rejected.
.Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It gss_context"
.It cb
A structure containing the RPC program and version for this callback
and a function which will be called when new contexts are created for
Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_set_defaults.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_set_defaults.3 Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_set_defaults.3 Thu Jun 7 09:52:48 2012 (r236711)
@@ -45,7 +45,7 @@ Set the service and quality of protectio
The new values apply for the rest of the lifetime of the context
(unless changed again with this function).
.Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It service"
.It service
The service type to use for subsequent RPC requests
.It qop
Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_set_svc_name.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_set_svc_name.3 Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_set_svc_name.3 Thu Jun 7 09:52:48 2012 (r236711)
@@ -47,7 +47,7 @@ This function registers a service princi
authenticate RPCSEC_GSS security contexts for a given RPC program and
version.
.Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It mechanism"
.It principal
A string representing the service principal in the form
.Qq service at hostname
Modified: projects/pf/head/lib/librpcsec_gss/rpc_gss_svc_max_data_length.3
==============================================================================
--- projects/pf/head/lib/librpcsec_gss/rpc_gss_svc_max_data_length.3 Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/lib/librpcsec_gss/rpc_gss_svc_max_data_length.3 Thu Jun 7 09:52:48 2012 (r236711)
@@ -41,7 +41,7 @@ Calculate the maximum message size that
.Fa max_tp_unit_len ,
given the current service and QoP setting.
.Sh PARAMETERS
-.Bl -tag
+.Bl -tag -width ".It max_tp_unit_len"
.It req
An RPC request
.It max_tp_unit_len
Modified: projects/pf/head/sbin/camcontrol/camcontrol.8
==============================================================================
--- projects/pf/head/sbin/camcontrol/camcontrol.8 Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/sbin/camcontrol/camcontrol.8 Thu Jun 7 09:52:48 2012 (r236711)
@@ -738,7 +738,7 @@ Set the partial pathway timeout value, i
See the
.Tn ANSI
.Tn SAS
-Protcol Layer (SPL)
+Protocol Layer (SPL)
specification for more information on this field.
.It Fl a Ar enable|disable
Enable or disable SATA slumber phy power conditions.
@@ -1109,7 +1109,7 @@ Do not ask for confirmation.
Run in simulation mode.
Packet sizes that will be sent are shown, but no actual packet is sent to the
device.
-No confimation is asked in simulation mode.
+No confirmation is asked in simulation mode.
.It Fl v
Besides showing sense information in case of a failure, the verbose option
causes
Modified: projects/pf/head/sbin/ifconfig/ifconfig.8
==============================================================================
--- projects/pf/head/sbin/ifconfig/ifconfig.8 Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/sbin/ifconfig/ifconfig.8 Thu Jun 7 09:52:48 2012 (r236711)
@@ -2051,7 +2051,7 @@ Send broadcast path requests every two s
Nodes on the mesh without a path to this root mesh station with try to
discover a path to us.
.It Cm PROACTIVE
-Send broadcast path requests every two seconds and every node must reply with
+Send broadcast path requests every two seconds and every node must reply
with a path reply even if it already has a path to this root mesh station.
.It Cm RANN
Send broadcast root announcement (RANN) frames.
Modified: projects/pf/head/share/man/man4/Makefile
==============================================================================
--- projects/pf/head/share/man/man4/Makefile Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/share/man/man4/Makefile Thu Jun 7 09:52:48 2012 (r236711)
@@ -126,6 +126,7 @@ MAN= aac.4 \
fdt.4 \
fdtbus.4 \
ffclock.4 \
+ filemon.4 \
firewire.4 \
fpa.4 \
fwe.4 \
Modified: projects/pf/head/share/man/man4/bce.4
==============================================================================
--- projects/pf/head/share/man/man4/bce.4 Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/share/man/man4/bce.4 Thu Jun 7 09:52:48 2012 (r236711)
@@ -28,7 +28,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd June 1, 2012
+.Dd June 4, 2012
.Dt BCE 4
.Os
.Sh NAME
@@ -213,45 +213,58 @@ Enable/Disable strict RX frame size chec
Enable/Disable frame header/payload splitting (default 1).
.It Va hw.bce.rx_pages
Set the number of memory pages assigned to recieve packets by the driver.
-Due to alignment issues, this value can only be of the set 1, 2, 4 or 8 (default 2).
+Due to alignment issues, this value can only be of the set
+1, 2, 4 or 8 (default 2).
.It Va hw.bce.tx_pages
-Set the number of memory pages assigned to transmit packets by the driver.
-Due to alignment issues, this value can only be of the set 1, 2, 4 or 8 (default 2).
+Set the number of memory pages assigned to transmit packets
+by the driver.
+Due to alignment issues, this value can only be of the set
+1, 2, 4 or 8 (default 2).
.It Va hw.bce.rx_ticks
-Time in microsecond ticks to wait before generating a status block updates due to RX processing activity.
+Time in microsecond ticks to wait before generating a status
+block updates due to RX processing activity.
Values from 0-100 are valid.
A value of 0 disables this status block update.
-Cannot be set to 0 if hw.bce.rx_quick_cons_trip is also 0 (default 18).
+Cannot be set to 0 if hw.bce.rx_quick_cons_trip is also 0
+(default 18).
.It Va hw.bce.rx_ticks_int
-Time in microsecond ticks to wait during RX interrupt processing before generating a status block update.
+Time in microsecond ticks to wait during RX interrupt
+processing before generating a status block update.
Values from 0-100 are valid.
Valid values are in the range from 0-100.
A value of 0 disables this status block update (default 18).
.It Va hw.bce.rx_quick_cons_trip
-Number of RX Quick BD Chain entries that must be completed before a status block is generated.
+Number of RX Quick BD Chain entries that must be completed
+before a status block is generated.
Values from 0-256 are valid.
A value of 0 disables this status block update.
Cannot be set to 0 if hw.bce.rx_ticks is also 0 (default 6).
.It Va hw.bce.rx_quick_cons_trip_int
-Number of RX quick BD entries that must be completed before a status block is generated duing interrupt processing.
+Number of RX quick BD entries that must be completed before
+a status block is generated duing interrupt processing.
Values from 0-256 are valid.
A value of 0 disables this status block update (default 6).
.It Va hw.bce.tx_ticks
-Time in microsecond ticks to wait before a status block update is generated due to TX activitiy.
+Time in microsecond ticks to wait before a status block
+update is generated due to TX activitiy.
Values from 0-100 are valid.
A value of 0 disables this status block update.
-Cannot be set to 0 if hw.bce.tx_quick_cons_trip is also 0 (default 80).
+Cannot be set to 0 if hw.bce.tx_quick_cons_trip is also 0
+(default 80).
.It Va hw.bce.tx_ticks_int
-Time in microsecond ticks to wait in interrupt processing before a status block update is generated due to TX activity
+Time in microsecond ticks to wait in interrupt processing
+before a status block update is generated due to TX activity
Values from 0-100 are valid.
A value of 0 disables this status block update (default 80).
.It Va hw.bce.tx_cons_trip
-How many TX Quick BD Chain entries that must be completed before a status block is generated.
+How many TX Quick BD Chain entries that must be completed
+before a status block is generated.
Values from 0-100 are valid.
A value of 0 disables this status block update.
Cannot be set to 0 if hw.bce.tx_ticks is also 0 (default 20).
.It Va hw.bce.tx_cons_trip_int
-How many TX Quick BD Chain entries that must be completed before a status block is generated during an interrupt.
+How many TX Quick BD Chain entries that must be completed
+before a status block is generated during an interrupt.
Values from 0-100 are valid.
A value of 0 disables this status block update (default 20).
.El
Copied: projects/pf/head/share/man/man4/filemon.4 (from r236710, head/share/man/man4/filemon.4)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ projects/pf/head/share/man/man4/filemon.4 Thu Jun 7 09:52:48 2012 (r236711, copy of r236710, head/share/man/man4/filemon.4)
@@ -0,0 +1,178 @@
+.\" Copyright (c) 2012
+.\" David E. O'Brien <obrien at FreeBSD.org>. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgment:
+.\" This product includes software developed by David E. O'Brien and
+.\" contributors.
+.\" 4. Neither the name of the author nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANT ABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd May 30, 2012
+.Dt FILEMON 4
+.Os
+.Sh NAME
+.Nm filemon
+.Nd the filemon device
+.Sh SYNOPSIS
+.In dev/filemon/filemon.h
+.Sh DESCRIPTION
+The
+.Nm
+device allows a process to collect file operations data of its children.
+The device
+.Pa /dev/filemon
+responds to two
+.Xr ioctl 2
+calls.
+.Pp
+System calls are denoted using the following single letters:
+.Pp
+.Bl -tag -width indent -compact
+.It Ql C
+.Xr chdir 2
+.It Ql D
+.Xr unlink 2
+.It Ql E
+.Xr exec 2
+.It Ql F
+.Xr fork 2 ,
+.Xr vfork 2
+.It Ql L
+.Xr link 2 ,
+.Xr linkat 2 ,
+.Xr symlink 2 ,
+.Xr symlinkat 2
+.It Ql M
+.Xr rename 2
+.It Ql R
+.Xr open 2
+for read
+.It Ql S
+.Xr stat 2
+.It Ql W
+.Xr open 2
+for write
+.It Ql X
+.Xr _exit 2
+.El
+.Pp
+Note that
+.Ql R
+following
+.Ql W
+records can represent a single
+.Xr open 2
+for R/W,
+or two separate
+.Xr open 2
+calls, one for
+.Ql R
+and one for
+.Ql W .
+Note that only successful system calls are captured.
+.Sh IOCTLS
+User mode programs communicate with the
+.Nm
+driver through a number of ioctls which are described below.
+Each takes a single argument.
+.Bl -tag -width ".Dv FILEMON_SET_PID"
+.It Dv FILEMON_SET_FD
+Write the internal tracing buffer to the supplied open file descriptor.
+.It Dv FILEMON_SET_PID
+Child process ID to trace.
+.El
+.Sh RETURN VALUES
+.\" .Rv -std ioctl
+The
+.Fn ioctl
+function returns the value 0 if successful;
+otherwise the value \-1 is returned and the global variable
+.Va errno
+is set to indicate the error.
+.Sh FILES
+.Bl -tag -width ".Pa /dev/filemon"
+.It Pa /dev/filemon
+.El
+.Sh EXAMPLES
+.Bd -literal
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <sys/ioctl.h>
+#include <dev/filemon/filemon.h>
+#include <fcntl.h>
+#include <err.h>
+
+static void
+open_filemon(void)
+{
+ pid_t child;
+ int fm_fd, fm_log;
+
+ if ((fm_fd = open("/dev/filemon", O_RDWR)) == -1)
+ err(1, "open(\e"/dev/filemon\e", O_RDWR)");
+ if ((fm_log = open("filemon.out",
+ O_CREAT | O_WRONLY | O_TRUNC, DEFFILEMODE)) == -1)
+ err(1, "open(filemon.out)");
+
+ if (ioctl(fm_fd, FILEMON_SET_FD, &fm_log) == -1)
+ err(1, "Cannot set filemon log file descriptor");
+ /* Set up these two fd's to close on exec. */
+ (void)fcntl(fm_fd, F_SETFD, FD_CLOEXEC);
+ (void)fcntl(fm_log, F_SETFD, FD_CLOEXEC);
+
+ if ((child = fork()) == 0) {
+ child = getpid();
+ if (ioctl(fm_fd, FILEMON_SET_PID, &child) == -1)
+ err(1, "Cannot set filemon PID");
+ /* Do something here. */
+ return 0;
+ } else {
+ wait(&child);
+ close(fm_fd);
+ }
+ return 0;
+}
+.Ed
+.Pp
+Creates a file named
+.Pa filemon.out
+and configures the
+.Nm
+device to write the
+.Nm
+buffer contents to it.
+.Sh SEE ALSO
+.Xr dtrace 1 ,
+.Xr ktrace 1 ,
+.Xr truss 1 ,
+.Xr ioctl 2
+.Sh HISTORY
+A
+.Nm
+device appeared in
+.Fx 9.1 .
Modified: projects/pf/head/share/man/man4/io.4
==============================================================================
--- projects/pf/head/share/man/man4/io.4 Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/share/man/man4/io.4 Thu Jun 7 09:52:48 2012 (r236711)
@@ -27,7 +27,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd June 01, 2010
+.Dd June 1, 2010
.Dt IO 4
.Os
.Sh NAME
Modified: projects/pf/head/share/man/man4/ip.4
==============================================================================
--- projects/pf/head/share/man/man4/ip.4 Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/share/man/man4/ip.4 Thu Jun 7 09:52:48 2012 (r236711)
@@ -165,7 +165,7 @@ The
.Vt cmsghdr
fields have the following values:
.Bd -literal
-cmsg_len = sizeof(struct in_addr)
+cmsg_len = CMSG_LEN(sizeof(struct in_addr))
cmsg_level = IPPROTO_IP
cmsg_type = IP_RECVDSTADDR
.Ed
@@ -184,7 +184,7 @@ structure followed by the
address.
The cmsghdr fields should have the following values:
.Bd -literal
-cmsg_len = sizeof(struct in_addr)
+cmsg_len = CMSG_LEN(sizeof(struct in_addr))
cmsg_level = IPPROTO_IP
cmsg_type = IP_SENDSRCADDR
.Ed
@@ -279,7 +279,7 @@ that contains a cmsghdr structure follow
.Tn TTL .
The cmsghdr fields have the following values:
.Bd -literal
-cmsg_len = sizeof(u_char)
+cmsg_len = CMSG_LEN(sizeof(u_char))
cmsg_level = IPPROTO_IP
cmsg_type = IP_RECVTTL
.Ed
@@ -307,7 +307,7 @@ The
.Vt cmsghdr
fields have the following values:
.Bd -literal
-cmsg_len = sizeof(struct sockaddr_dl)
+cmsg_len = CMSG_LEN(sizeof(struct sockaddr_dl))
cmsg_level = IPPROTO_IP
cmsg_type = IP_RECVIF
.Ed
Modified: projects/pf/head/share/man/man4/mpt.4
==============================================================================
--- projects/pf/head/share/man/man4/mpt.4 Thu Jun 7 09:47:36 2012 (r236710)
+++ projects/pf/head/share/man/man4/mpt.4 Thu Jun 7 09:52:48 2012 (r236711)
@@ -124,15 +124,15 @@ Dell PowerEdge 1750 thru 2850
IBM eServer xSeries 335
.El
.Pp
-These systems also contain Integrated Raid Mirroring and Integrated
-Raid Mirroring Enhanced which this driver also supports.
+These systems also contain Integrated RAID Mirroring and Integrated
+RAID Mirroring Enhanced which this driver also supports.
.Pp
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-projects
mailing list