From owner-svn-src-projects@FreeBSD.ORG Thu Sep 20 15:53:56 2012 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 E5DF1106566C; Thu, 20 Sep 2012 15:53:56 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CC9708FC0C; Thu, 20 Sep 2012 15:53:56 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8KFruV0047198; Thu, 20 Sep 2012 15:53:56 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8KFru4Z047170; Thu, 20 Sep 2012 15:53:56 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201209201553.q8KFru4Z047170@svn.freebsd.org> From: Attilio Rao Date: Thu, 20 Sep 2012 15:53:56 +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: r240753 - in projects/fuse: cddl/contrib/opensolaris/cmd/zfs cddl/sbin/zfs contrib/bind9 contrib/bind9/lib/dns contrib/bind9/lib/dns/include/dns contrib/bsnmp/snmpd contrib/libpcap lib/... 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: Thu, 20 Sep 2012 15:53:57 -0000 Author: attilio Date: Thu Sep 20 15:53:55 2012 New Revision: 240753 URL: http://svn.freebsd.org/changeset/base/240753 Log: MFC Added: projects/fuse/tools/build/options/WITHOUT_KDUMP - copied unchanged from r240752, head/tools/build/options/WITHOUT_KDUMP Modified: projects/fuse/cddl/contrib/opensolaris/cmd/zfs/zfs.8 projects/fuse/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c projects/fuse/cddl/sbin/zfs/Makefile projects/fuse/contrib/bind9/CHANGES projects/fuse/contrib/bind9/lib/dns/include/dns/rdata.h projects/fuse/contrib/bind9/lib/dns/master.c projects/fuse/contrib/bind9/lib/dns/rdata.c projects/fuse/contrib/bind9/lib/dns/rdataslab.c projects/fuse/contrib/bind9/version projects/fuse/contrib/bsnmp/snmpd/main.c projects/fuse/contrib/bsnmp/snmpd/trans_udp.c projects/fuse/contrib/libpcap/pcap-snoop.c projects/fuse/lib/libc/string/strsignal.c projects/fuse/lib/libc/sys/recv.2 projects/fuse/libexec/rtld-elf/rtld.c projects/fuse/rescue/rescue/Makefile projects/fuse/share/man/man4/Makefile projects/fuse/share/man/man4/ip.4 projects/fuse/share/man/man4/random.4 projects/fuse/share/man/man5/Makefile projects/fuse/share/man/man5/src.conf.5 projects/fuse/share/man/man7/development.7 projects/fuse/share/man/man9/vinvalbuf.9 projects/fuse/sys/cam/scsi/scsi_cd.c projects/fuse/sys/contrib/dev/acpica/changes.txt (contents, props changed) projects/fuse/sys/contrib/dev/acpica/common/dmrestag.c projects/fuse/sys/contrib/dev/acpica/compiler/aslcompile.c projects/fuse/sys/contrib/dev/acpica/compiler/aslcompiler.h projects/fuse/sys/contrib/dev/acpica/compiler/aslerror.c projects/fuse/sys/contrib/dev/acpica/compiler/aslfiles.c projects/fuse/sys/contrib/dev/acpica/compiler/aslfold.c projects/fuse/sys/contrib/dev/acpica/compiler/aslglobal.h projects/fuse/sys/contrib/dev/acpica/compiler/aslmain.c projects/fuse/sys/contrib/dev/acpica/compiler/aslmessages.h projects/fuse/sys/contrib/dev/acpica/compiler/asloperands.c projects/fuse/sys/contrib/dev/acpica/compiler/aslopt.c projects/fuse/sys/contrib/dev/acpica/compiler/aslstartup.c projects/fuse/sys/contrib/dev/acpica/compiler/aslsupport.l projects/fuse/sys/contrib/dev/acpica/compiler/asltypes.h projects/fuse/sys/contrib/dev/acpica/compiler/aslutils.c projects/fuse/sys/contrib/dev/acpica/compiler/dtio.c projects/fuse/sys/contrib/dev/acpica/compiler/preprocess.h projects/fuse/sys/contrib/dev/acpica/components/debugger/dbexec.c projects/fuse/sys/contrib/dev/acpica/components/debugger/dbinput.c projects/fuse/sys/contrib/dev/acpica/components/debugger/dbmethod.c projects/fuse/sys/contrib/dev/acpica/components/debugger/dbnames.c projects/fuse/sys/contrib/dev/acpica/components/debugger/dbstats.c projects/fuse/sys/contrib/dev/acpica/components/debugger/dbutils.c projects/fuse/sys/contrib/dev/acpica/components/disassembler/dmopcode.c projects/fuse/sys/contrib/dev/acpica/components/tables/tbinstal.c projects/fuse/sys/contrib/dev/acpica/components/tables/tbxface.c projects/fuse/sys/contrib/dev/acpica/include/acdebug.h projects/fuse/sys/contrib/dev/acpica/include/acpixf.h projects/fuse/sys/contrib/dev/acpica/include/actbl1.h projects/fuse/sys/contrib/ipfilter/netinet/ip_auth.c projects/fuse/sys/dev/ahci/ahci.c projects/fuse/sys/dev/alc/if_alc.c projects/fuse/sys/dev/amr/amr.c projects/fuse/sys/dev/ath/if_ath_tx.c projects/fuse/sys/dev/atkbdc/psm.c projects/fuse/sys/dev/cxgbe/osdep.h projects/fuse/sys/dev/e1000/if_em.c projects/fuse/sys/dev/isci/scil/scic_sds_phy.c projects/fuse/sys/dev/nvme/nvme.c projects/fuse/sys/dev/pci/pci.c projects/fuse/sys/dev/pci/pcireg.h projects/fuse/sys/dev/re/if_re.c projects/fuse/sys/dev/usb/serial/uftdi_reg.h projects/fuse/sys/dev/usb/usb_request.c projects/fuse/sys/fs/nfs/nfs.h projects/fuse/sys/fs/nfs/nfs_commonacl.c projects/fuse/sys/fs/nfs/nfs_commonsubs.c projects/fuse/sys/fs/nfs/nfs_var.h projects/fuse/sys/fs/nfsclient/nfs_clcomsubs.c projects/fuse/sys/fs/nfsserver/nfs_nfsdport.c projects/fuse/sys/net/if_lagg.c projects/fuse/sys/net/pfvar.h projects/fuse/sys/netinet/libalias/alias_skinny.c projects/fuse/sys/netpfil/pf/pf.c projects/fuse/sys/vm/vm_object.c projects/fuse/usr.sbin/pciconf/pciconf.c Directory Properties: projects/fuse/ (props changed) projects/fuse/cddl/contrib/opensolaris/ (props changed) projects/fuse/cddl/contrib/opensolaris/cmd/zfs/ (props changed) projects/fuse/contrib/bind9/ (props changed) projects/fuse/contrib/libpcap/ (props changed) projects/fuse/lib/libc/ (props changed) projects/fuse/share/man/man4/ (props changed) projects/fuse/sys/ (props changed) projects/fuse/sys/contrib/dev/acpica/ (props changed) projects/fuse/sys/contrib/dev/acpica/common/ (props changed) projects/fuse/sys/contrib/dev/acpica/compiler/ (props changed) projects/fuse/sys/contrib/dev/acpica/components/debugger/ (props changed) projects/fuse/sys/contrib/dev/acpica/components/disassembler/ (props changed) projects/fuse/sys/contrib/dev/acpica/components/tables/ (props changed) projects/fuse/sys/contrib/dev/acpica/include/ (props changed) Modified: projects/fuse/cddl/contrib/opensolaris/cmd/zfs/zfs.8 ============================================================================== --- projects/fuse/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Thu Sep 20 15:50:27 2012 (r240752) +++ projects/fuse/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Thu Sep 20 15:53:55 2012 (r240753) @@ -256,10 +256,10 @@ .Op Ar snapshot Ns | Ns Ar filesystem .Nm .Cm jail -.Ar jailid filesystem +.Ar jailid Ns | Ns Ar jailname filesystem .Nm .Cm unjail -.Ar jailid filesystem +.Ar jailid Ns | Ns Ar jailname filesystem .Sh DESCRIPTION The .Nm Modified: projects/fuse/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c ============================================================================== --- projects/fuse/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Thu Sep 20 15:50:27 2012 (r240752) +++ projects/fuse/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Thu Sep 20 15:53:55 2012 (r240753) @@ -240,9 +240,9 @@ get_usage(zfs_help_t idx) return (gettext("\tupgrade [-v]\n" "\tupgrade [-r] [-V version] <-a | filesystem ...>\n")); case HELP_JAIL: - return (gettext("\tjail \n")); + return (gettext("\tjail \n")); case HELP_UNJAIL: - return (gettext("\tunjail \n")); + return (gettext("\tunjail \n")); case HELP_LIST: return (gettext("\tlist [-rH][-d max] " "[-o property[,...]] [-t type[,...]] [-s property] ...\n" @@ -6300,9 +6300,9 @@ do_jail(int argc, char **argv, int attac usage(B_FALSE); } - jailid = atoi(argv[1]); - if (jailid == 0) { - (void) fprintf(stderr, gettext("invalid jailid\n")); + jailid = jail_getid(argv[1]); + if (jailid < 0) { + (void) fprintf(stderr, gettext("invalid jail id or name\n")); usage(B_FALSE); } Modified: projects/fuse/cddl/sbin/zfs/Makefile ============================================================================== --- projects/fuse/cddl/sbin/zfs/Makefile Thu Sep 20 15:50:27 2012 (r240752) +++ projects/fuse/cddl/sbin/zfs/Makefile Thu Sep 20 15:53:55 2012 (r240753) @@ -21,8 +21,8 @@ CFLAGS+= -I${.CURDIR}/../../../sys/cddl/ CFLAGS+= -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common/sys CFLAGS+= -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/common/zfs -DPADD= ${LIBGEOM} ${LIBNVPAIR} ${LIBUMEM} \ +DPADD= ${LIBGEOM} ${LIBJAIL} ${LIBNVPAIR} ${LIBUMEM} \ ${LIBUTIL} ${LIBUUTIL} ${LIBZFS} -LDADD= -lgeom -lnvpair -lumem -lutil -luutil -lzfs +LDADD= -lgeom -ljail -lnvpair -lumem -lutil -luutil -lzfs .include Modified: projects/fuse/contrib/bind9/CHANGES ============================================================================== --- projects/fuse/contrib/bind9/CHANGES Thu Sep 20 15:50:27 2012 (r240752) +++ projects/fuse/contrib/bind9/CHANGES Thu Sep 20 15:53:55 2012 (r240753) @@ -1,3 +1,8 @@ + --- 9.8.3-P3 released --- + +3364. [security] Named could die on specially crafted record. + [RT #30416] + --- 9.8.3-P2 released --- 3346. [security] Bad-cache data could be used before it was Modified: projects/fuse/contrib/bind9/lib/dns/include/dns/rdata.h ============================================================================== --- projects/fuse/contrib/bind9/lib/dns/include/dns/rdata.h Thu Sep 20 15:50:27 2012 (r240752) +++ projects/fuse/contrib/bind9/lib/dns/include/dns/rdata.h Thu Sep 20 15:53:55 2012 (r240753) @@ -147,6 +147,17 @@ struct dns_rdata { (((rdata)->flags & ~(DNS_RDATA_UPDATE|DNS_RDATA_OFFLINE)) == 0) /* + * The maximum length of a RDATA that can be sent on the wire. + * Max packet size (65535) less header (12), less name (1), type (2), + * class (2), ttl(4), length (2). + * + * None of the defined types that support name compression can exceed + * this and all new types are to be sent uncompressed. + */ + +#define DNS_RDATA_MAXLENGTH 65512U + +/* * Flags affecting rdata formatting style. Flags 0xFFFF0000 * are used by masterfile-level formatting and defined elsewhere. * See additional comments at dns_rdata_tofmttext(). Modified: projects/fuse/contrib/bind9/lib/dns/master.c ============================================================================== --- projects/fuse/contrib/bind9/lib/dns/master.c Thu Sep 20 15:50:27 2012 (r240752) +++ projects/fuse/contrib/bind9/lib/dns/master.c Thu Sep 20 15:53:55 2012 (r240753) @@ -75,7 +75,7 @@ /*% * max message size - header - root - type - class - ttl - rdlen */ -#define MINTSIZ (65535 - 12 - 1 - 2 - 2 - 4 - 2) +#define MINTSIZ DNS_RDATA_MAXLENGTH /*% * Size for tokens in the presentation format, * The largest tokens are the base64 blocks in KEY and CERT records, Modified: projects/fuse/contrib/bind9/lib/dns/rdata.c ============================================================================== --- projects/fuse/contrib/bind9/lib/dns/rdata.c Thu Sep 20 15:50:27 2012 (r240752) +++ projects/fuse/contrib/bind9/lib/dns/rdata.c Thu Sep 20 15:53:55 2012 (r240753) @@ -429,6 +429,7 @@ dns_rdata_fromwire(dns_rdata_t *rdata, d isc_buffer_t st; isc_boolean_t use_default = ISC_FALSE; isc_uint32_t activelength; + size_t length; REQUIRE(dctx != NULL); if (rdata != NULL) { @@ -459,6 +460,14 @@ dns_rdata_fromwire(dns_rdata_t *rdata, d } /* + * Reject any rdata that expands out to more than DNS_RDATA_MAXLENGTH + * as we cannot transmit it. + */ + length = isc_buffer_usedlength(target) - isc_buffer_usedlength(&st); + if (result == ISC_R_SUCCESS && length > DNS_RDATA_MAXLENGTH) + result = DNS_R_FORMERR; + + /* * We should have consumed all of our buffer. */ if (result == ISC_R_SUCCESS && !buffer_empty(source)) @@ -466,8 +475,7 @@ dns_rdata_fromwire(dns_rdata_t *rdata, d if (rdata != NULL && result == ISC_R_SUCCESS) { region.base = isc_buffer_used(&st); - region.length = isc_buffer_usedlength(target) - - isc_buffer_usedlength(&st); + region.length = length; dns_rdata_fromregion(rdata, rdclass, type, ®ion); } @@ -602,6 +610,7 @@ dns_rdata_fromtext(dns_rdata_t *rdata, d unsigned long line; void (*callback)(dns_rdatacallbacks_t *, const char *, ...); isc_result_t tresult; + size_t length; REQUIRE(origin == NULL || dns_name_isabsolute(origin) == ISC_TRUE); if (rdata != NULL) { @@ -673,10 +682,13 @@ dns_rdata_fromtext(dns_rdata_t *rdata, d } } while (1); + length = isc_buffer_usedlength(target) - isc_buffer_usedlength(&st); + if (result == ISC_R_SUCCESS && length > DNS_RDATA_MAXLENGTH) + result = ISC_R_NOSPACE; + if (rdata != NULL && result == ISC_R_SUCCESS) { region.base = isc_buffer_used(&st); - region.length = isc_buffer_usedlength(target) - - isc_buffer_usedlength(&st); + region.length = length; dns_rdata_fromregion(rdata, rdclass, type, ®ion); } if (result != ISC_R_SUCCESS) { @@ -804,6 +816,7 @@ dns_rdata_fromstruct(dns_rdata_t *rdata, isc_buffer_t st; isc_region_t region; isc_boolean_t use_default = ISC_FALSE; + size_t length; REQUIRE(source != NULL); if (rdata != NULL) { @@ -818,10 +831,13 @@ dns_rdata_fromstruct(dns_rdata_t *rdata, if (use_default) (void)NULL; + length = isc_buffer_usedlength(target) - isc_buffer_usedlength(&st); + if (result == ISC_R_SUCCESS && length > DNS_RDATA_MAXLENGTH) + result = ISC_R_NOSPACE; + if (rdata != NULL && result == ISC_R_SUCCESS) { region.base = isc_buffer_used(&st); - region.length = isc_buffer_usedlength(target) - - isc_buffer_usedlength(&st); + region.length = length; dns_rdata_fromregion(rdata, rdclass, type, ®ion); } if (result != ISC_R_SUCCESS) Modified: projects/fuse/contrib/bind9/lib/dns/rdataslab.c ============================================================================== --- projects/fuse/contrib/bind9/lib/dns/rdataslab.c Thu Sep 20 15:50:27 2012 (r240752) +++ projects/fuse/contrib/bind9/lib/dns/rdataslab.c Thu Sep 20 15:53:55 2012 (r240753) @@ -305,6 +305,7 @@ dns_rdataslab_fromrdataset(dns_rdataset_ length = x[i].rdata.length; if (rdataset->type == dns_rdatatype_rrsig) length++; + INSIST(length <= 0xffff); *rawbuf++ = (length & 0xff00) >> 8; *rawbuf++ = (length & 0x00ff); #if DNS_RDATASET_FIXED Modified: projects/fuse/contrib/bind9/version ============================================================================== --- projects/fuse/contrib/bind9/version Thu Sep 20 15:50:27 2012 (r240752) +++ projects/fuse/contrib/bind9/version Thu Sep 20 15:53:55 2012 (r240753) @@ -7,4 +7,4 @@ MAJORVER=9 MINORVER=8 PATCHVER=3 RELEASETYPE=-P -RELEASEVER=2 +RELEASEVER=3 Modified: projects/fuse/contrib/bsnmp/snmpd/main.c ============================================================================== --- projects/fuse/contrib/bsnmp/snmpd/main.c Thu Sep 20 15:50:27 2012 (r240752) +++ projects/fuse/contrib/bsnmp/snmpd/main.c Thu Sep 20 15:53:55 2012 (r240753) @@ -1203,6 +1203,8 @@ snmpd_input(struct port_input *pi, struc ret = recv_stream(pi); } else { + struct in_addr *laddr; + memset(cbuf, 0, CMSG_SPACE(sizeof(struct in_addr))); msg.msg_control = cbuf; msg.msg_controllen = CMSG_SPACE(sizeof(struct in_addr)); @@ -1210,8 +1212,14 @@ snmpd_input(struct port_input *pi, struc cmsgp->cmsg_len = CMSG_LEN(sizeof(struct in_addr)); cmsgp->cmsg_level = IPPROTO_IP; cmsgp->cmsg_type = IP_SENDSRCADDR; + laddr = (struct in_addr *)CMSG_DATA(cmsgp); - ret = recv_dgram(pi, (struct in_addr *)CMSG_DATA(cmsgp)); + ret = recv_dgram(pi, laddr); + + if (laddr->s_addr == 0) { + msg.msg_control = NULL; + msg.msg_controllen = 0; + } } if (ret == -1) Modified: projects/fuse/contrib/bsnmp/snmpd/trans_udp.c ============================================================================== --- projects/fuse/contrib/bsnmp/snmpd/trans_udp.c Thu Sep 20 15:50:27 2012 (r240752) +++ projects/fuse/contrib/bsnmp/snmpd/trans_udp.c Thu Sep 20 15:53:55 2012 (r240753) @@ -109,13 +109,6 @@ udp_init_port(struct tport *tp) syslog(LOG_ERR, "creating UDP socket: %m"); return (SNMP_ERR_RES_UNAVAIL); } - if (setsockopt(p->input.fd, IPPROTO_IP, IP_RECVDSTADDR, &on, - sizeof(on)) == -1) { - syslog(LOG_ERR, "setsockopt(IP_RECVDSTADDR): %m"); - close(p->input.fd); - p->input.fd = -1; - return (SNMP_ERR_GENERR); - } ip = (p->addr[0] << 24) | (p->addr[1] << 16) | (p->addr[2] << 8) | p->addr[3]; memset(&addr, 0, sizeof(addr)); @@ -123,6 +116,14 @@ udp_init_port(struct tport *tp) addr.sin_port = htons(p->port); addr.sin_family = AF_INET; addr.sin_len = sizeof(addr); + if (addr.sin_addr.s_addr == INADDR_ANY && + setsockopt(p->input.fd, IPPROTO_IP, IP_RECVDSTADDR, &on, + sizeof(on)) == -1) { + syslog(LOG_ERR, "setsockopt(IP_RECVDSTADDR): %m"); + close(p->input.fd); + p->input.fd = -1; + return (SNMP_ERR_GENERR); + } if (bind(p->input.fd, (struct sockaddr *)&addr, sizeof(addr))) { if (errno == EADDRNOTAVAIL) { close(p->input.fd); Modified: projects/fuse/contrib/libpcap/pcap-snoop.c ============================================================================== --- projects/fuse/contrib/libpcap/pcap-snoop.c Thu Sep 20 15:50:27 2012 (r240752) +++ projects/fuse/contrib/libpcap/pcap-snoop.c Thu Sep 20 15:53:55 2012 (r240753) @@ -100,7 +100,7 @@ again: /* * XXX - Sigh, snoop_packetlen is a 16 bit quantity. If we - * got a short length, but read a full sized snoop pakcet, + * got a short length, but read a full sized snoop packet, * assume we overflowed and add back the 64K... */ if (cc == (p->snapshot + sizeof(struct snoopheader)) && Modified: projects/fuse/lib/libc/string/strsignal.c ============================================================================== --- projects/fuse/lib/libc/string/strsignal.c Thu Sep 20 15:50:27 2012 (r240752) +++ projects/fuse/lib/libc/string/strsignal.c Thu Sep 20 15:53:55 2012 (r240753) @@ -120,29 +120,29 @@ strsignal(int num) UPREFIX, #endif sizeof(sig_ebuf)); - } - signum = num; - if (num < 0) - signum = -signum; + signum = num; + if (num < 0) + signum = -signum; - t = tmp; - do { - *t++ = "0123456789"[signum % 10]; - } while (signum /= 10); - if (num < 0) - *t++ = '-'; + t = tmp; + do { + *t++ = "0123456789"[signum % 10]; + } while (signum /= 10); + if (num < 0) + *t++ = '-'; - p = (ebuf + n); - *p++ = ':'; - *p++ = ' '; + p = (ebuf + n); + *p++ = ':'; + *p++ = ' '; - for (;;) { - *p++ = *--t; - if (t <= tmp) - break; + for (;;) { + *p++ = *--t; + if (t <= tmp) + break; + } + *p = '\0'; } - *p = '\0'; #if defined(NLS) catclose(catd); Modified: projects/fuse/lib/libc/sys/recv.2 ============================================================================== --- projects/fuse/lib/libc/sys/recv.2 Thu Sep 20 15:50:27 2012 (r240752) +++ projects/fuse/lib/libc/sys/recv.2 Thu Sep 20 15:53:55 2012 (r240753) @@ -44,7 +44,7 @@ .Ft ssize_t .Fn recv "int s" "void *buf" "size_t len" "int flags" .Ft ssize_t -.Fn recvfrom "int s" "void * restrict buf" "size_t len" "int flags" "struct sockaddr * restrict from" "socklen_t * restrict fromlen" +.Fn recvfrom "int s" "void *buf" "size_t len" "int flags" "struct sockaddr * restrict from" "socklen_t * restrict fromlen" .Ft ssize_t .Fn recvmsg "int s" "struct msghdr *msg" "int flags" .Sh DESCRIPTION Modified: projects/fuse/libexec/rtld-elf/rtld.c ============================================================================== --- projects/fuse/libexec/rtld-elf/rtld.c Thu Sep 20 15:50:27 2012 (r240752) +++ projects/fuse/libexec/rtld-elf/rtld.c Thu Sep 20 15:53:55 2012 (r240753) @@ -1429,7 +1429,7 @@ find_library(const char *xname, const Ob { char *pathname; char *name; - bool objgiven; + bool nodeflib, objgiven; objgiven = refobj != NULL; if (strchr(xname, '/') != NULL) { /* Hard coded pathname */ @@ -1464,6 +1464,7 @@ find_library(const char *xname, const Ob (pathname = search_library_path(name, STANDARD_LIBRARY_PATH)) != NULL) return (pathname); } else { + nodeflib = objgiven ? refobj->z_nodeflib : false; if ((objgiven && (pathname = search_library_path(name, refobj->rpath)) != NULL) || (objgiven && refobj->runpath == NULL && refobj != obj_main && @@ -1471,9 +1472,8 @@ find_library(const char *xname, const Ob (pathname = search_library_path(name, ld_library_path)) != NULL || (objgiven && (pathname = search_library_path(name, refobj->runpath)) != NULL) || - (pathname = search_library_path(name, gethints(refobj->z_nodeflib))) - != NULL || - (objgiven && !refobj->z_nodeflib && + (pathname = search_library_path(name, gethints(nodeflib))) != NULL || + (objgiven && !nodeflib && (pathname = search_library_path(name, STANDARD_LIBRARY_PATH)) != NULL)) return (pathname); } Modified: projects/fuse/rescue/rescue/Makefile ============================================================================== --- projects/fuse/rescue/rescue/Makefile Thu Sep 20 15:50:27 2012 (r240752) +++ projects/fuse/rescue/rescue/Makefile Thu Sep 20 15:53:55 2012 (r240753) @@ -123,7 +123,7 @@ CRUNCH_LIBS+= -lalias -lcam -lcurses -ld CRUNCH_LIBS+= -lipx .endif .if ${MK_ZFS} != "no" -CRUNCH_LIBS+= -lavl -lzfs -lnvpair -lpthread -luutil -lumem +CRUNCH_LIBS+= -lavl -ljail -lzfs -lnvpair -lpthread -luutil -lumem .endif CRUNCH_LIBS+= -lgeom -lbsdxml -lkiconv -lmd -lsbuf -lufs -lz Modified: projects/fuse/share/man/man4/Makefile ============================================================================== --- projects/fuse/share/man/man4/Makefile Thu Sep 20 15:50:27 2012 (r240752) +++ projects/fuse/share/man/man4/Makefile Thu Sep 20 15:53:55 2012 (r240753) @@ -1,6 +1,8 @@ # @(#)Makefile 8.1 (Berkeley) 6/18/93 # $FreeBSD$ +.include + MAN= aac.4 \ acpi.4 \ ${_acpi_asus.4} \ @@ -354,9 +356,9 @@ MAN= aac.4 \ pcii.4 \ pcm.4 \ pcn.4 \ - pf.4 \ - pflog.4 \ - pfsync.4 \ + ${_pf.4} \ + ${_pflog.4} \ + ${_pfsync.4} \ pim.4 \ polling.4 \ ppbus.4 \ @@ -798,4 +800,10 @@ _nvram2env.4= nvram2env.4 SUBDIR= man4.${MACHINE_CPUARCH} .endif +.if ${MK_PF} != "no" +_pf.4= pf.4 +_pflog.4= pflog.4 +_pfsync.4= pfsync.4 +.endif + .include Modified: projects/fuse/share/man/man4/ip.4 ============================================================================== --- projects/fuse/share/man/man4/ip.4 Thu Sep 20 15:50:27 2012 (r240752) +++ projects/fuse/share/man/man4/ip.4 Thu Sep 20 15:53:55 2012 (r240753) @@ -32,7 +32,7 @@ .\" @(#)ip.4 8.2 (Berkeley) 11/30/93 .\" $FreeBSD$ .\" -.Dd September 12, 2012 +.Dd September 20, 2012 .Dt IP 4 .Os .Sh NAME @@ -187,21 +187,19 @@ cmsg_level = IPPROTO_IP cmsg_type = IP_SENDSRCADDR .Ed .Pp -The socket should be bound to a local port. -The socket may be bound or not bound to a local address. -In the former case address supplied with -.Dv IP_SENDSRCADDR -overrides bound address. -If the socket is bound to a local address and the address supplied with +The socket should be either bound to +.Dv INADDR_ANY +and a local port, and the address supplied with .Dv IP_SENDSRCADDR -is +should't be .Dv INADDR_ANY , -then bound address is overriden via generic source address selection logic, -which would choose IP address of interface closest to destination. -If the socket is not bound to a local address, then address supplied with +or the socket should be bound to a local address and the address supplied with .Dv IP_SENDSRCADDR -can't be +should be .Dv INADDR_ANY . +In the latter case bound address is overriden via generic source address +selection logic, which would choose IP address of interface closest to +destination. .Pp For convenience, .Dv IP_SENDSRCADDR Modified: projects/fuse/share/man/man4/random.4 ============================================================================== --- projects/fuse/share/man/man4/random.4 Thu Sep 20 15:50:27 2012 (r240752) +++ projects/fuse/share/man/man4/random.4 Thu Sep 20 15:53:55 2012 (r240753) @@ -315,11 +315,16 @@ and is an implementation of the .Em Yarrow algorithm by Bruce Schneier, .Em et al . -The only hardware implementation -currently is for the +The only hardware implementations +currently are for the .Tn VIA C3 Nehemiah (stepping 3 or greater) -CPU. +CPU +and the +.Tn Intel +.Dq Bull Mountain +.Em RdRand +instruction and underlying random number generator (RNG). More will be added in the future. .Pp The author gratefully acknowledges Modified: projects/fuse/share/man/man5/Makefile ============================================================================== --- projects/fuse/share/man/man5/Makefile Thu Sep 20 15:50:27 2012 (r240752) +++ projects/fuse/share/man/man5/Makefile Thu Sep 20 15:53:55 2012 (r240753) @@ -50,8 +50,6 @@ MAN= acct.5 \ passwd.5 \ pbm.5 \ periodic.conf.5 \ - pf.conf.5 \ - pf.os.5 \ phones.5 \ portindex.5 \ portsnap.conf.5 \ @@ -91,6 +89,11 @@ MAN+= hesiod.conf.5 MAN+= nandfs.5 .endif +.if ${MK_PF} != "no" +MAN+= pf.conf.5 \ + pf.os.5 +.endif + .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" _boot.config.5= boot.config.5 .endif Modified: projects/fuse/share/man/man5/src.conf.5 ============================================================================== --- projects/fuse/share/man/man5/src.conf.5 Thu Sep 20 15:50:27 2012 (r240752) +++ projects/fuse/share/man/man5/src.conf.5 Thu Sep 20 15:53:55 2012 (r240753) @@ -1,7 +1,7 @@ .\" DO NOT EDIT-- this file is automatically generated. .\" from FreeBSD: head/tools/build/options/makeman 236279 2012-05-30 02:37:20Z gjb .\" $FreeBSD$ -.Dd September 8, 2012 +.Dd September 19, 2012 .Dt SRC.CONF 5 .Os .Sh NAME @@ -551,6 +551,12 @@ Set to build some programs without IPX s .\" from FreeBSD: head/tools/build/options/WITHOUT_JAIL 183242 2008-09-21 22:02:26Z sam Set to not build tools for the support of jails; e.g. .Xr jail 8 . +.It Va WITHOUT_KDUMP +.\" $FreeBSD$ +Set to not build +.Xr kdump 1 +and +.Xr truss 1 . .It Va WITHOUT_KERBEROS .\" from FreeBSD: head/tools/build/options/WITHOUT_KERBEROS 174549 2007-12-12 16:42:03Z ru Set this if you do not want to build Kerberos 5 (KTH Heimdal). Modified: projects/fuse/share/man/man7/development.7 ============================================================================== --- projects/fuse/share/man/man7/development.7 Thu Sep 20 15:50:27 2012 (r240752) +++ projects/fuse/share/man/man7/development.7 Thu Sep 20 15:53:55 2012 (r240753) @@ -23,7 +23,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 2, 2012 +.Dd September 19, 2012 .Dt DEVELOPMENT 7 .Os .Sh NAME @@ -48,7 +48,7 @@ kernel. The methods described here are as applicable to production installations as it is to development environments. -You need a good 12-17GB of disk space on one machine to make this work +You need approximately 10GB of disk space on one machine to make this work conveniently. .Sh SETTING UP THE ENVIRONMENT ON THE MASTER SERVER Your master server should always run a stable, production version of the @@ -62,9 +62,9 @@ where you lose the environment and/or ca .Pp Create a huge partition called .Pa /FreeBSD . -8-12GB is recommended. +Approximately 7GB is recommended. This partition will contain nearly all the development environment, -including the CVS tree, broken-out source, and possibly even object files. +including the subversion tree, broken-out source, and possibly even object files. You are going to export this partition to your other machines via a READ-ONLY NFS export so do not mix it with other more security-sensitive partitions. @@ -89,70 +89,19 @@ I recommend a partition of at least 5GB. .Pp On the master server, use -.Xr csup 1 -to automatically pull down and maintain +.Xr svn 1 +to pull down and maintain the .Fx -CVS archive once a day. +source. The first pull will take a long time, it is several gigabytes, but once you have it, -the daily synchronizations will be quite small. -.Bd -literal -offset 4n -mkdir /FreeBSD/FreeBSD-CVS -rm -rf /home/ncvs -ln -s /FreeBSD/FreeBSD-CVS /home/ncvs -.Ed -.Pp -The -.Xr cron 8 -job should look something like this (please randomize the time of -day!). -Note that you can use the -.Xr csup 1 -configuration file example directly from -.Pa /usr/share/examples -without modification by supplying appropriate arguments -to -.Xr csup 1 . -.Bd -literal -offset 4n -33 6 * * * /usr/bin/csup -r 20 -L 2 -h cvsup.freebsd.org /usr/share/examples/cvsup/cvs-supfile -.Ed -.Pp -Run the -.Xr csup 1 -manually the first time to pull down the archive. -It could take -all day depending on how fast your connection is! -You will run all -.Xr csup 1 -and -.Xr cvs 1 +the updates will be quite small. +Run all +.Xr svn 1 operations as .Dq Li root -and you need to set up a -.Pa ~/.cvsrc -.Pq Pa /root/.cvsrc -file, as shown below, for proper -.Xr cvs 1 -operation. -Using -.Pa ~/.cvsrc -to specify -.Xr cvs 1 -defaults is an excellent way to -.Dq "file and forget" , -but you should never forget that you put them in there. -.Bd -literal -offset 4n -# cvs -q -diff -u -update -Pd -checkout -P -.Ed -.Pp -Now use -.Xr cvs 1 -to check out a -STABLE source tree and a -CURRENT source tree, -as well as ports and docs, to create your initial source environment. +.Pp Keeping the broken-out source and ports in .Pa /FreeBSD allows you to export @@ -160,71 +109,16 @@ it to other machines via read-only NFS. This also means you only need to edit/maintain files in one place and all your clients automatically pick up the changes. .Bd -literal -offset 4n -mkdir /FreeBSD/FreeBSD-4.x -mkdir /FreeBSD/FreeBSD-current - -cd /FreeBSD/FreeBSD-4.x -cvs -d /home/ncvs checkout -rRELENG_4 src - -cd /FreeBSD/FreeBSD-current -cvs -d /home/ncvs checkout src -cvs -d /home/ncvs checkout ports -cvs -d /home/ncvs checkout doc -.Ed -.Pp -Now create a softlink for -.Pa /usr/src -and -.Pa /usr/src2 . -On the main server I always point -.Pa /usr/src -at -STABLE and -.Pa /usr/src2 -at -CURRENT. -On client machines I usually do not have a -.Pa /usr/src2 -and I make -.Pa /usr/src -point at whatever version of -.Fx -the client box is intended to -run. -.Bd -literal -offset 4n +mkdir /FreeBSD +cd /FreeBSD +svn co svn://svn.freebsd.org/ports/head ports +svn co svn://svn.freebsd.org/doc/head doc +svn co svn://svn.freebsd.org/base/head src cd /usr -rm -rf src src2 -ln -s /FreeBSD/FreeBSD-4.x/src src (could be -CURRENT on a client) -ln -s /FreeBSD/FreeBSD-current/src src2 (MASTER SERVER ONLY) +rm -rf src +ln -s /FreeBSD/src src .Ed .Pp -Now you have to make a choice for -.Pa /usr/obj . -Well, hopefully you made it already and chose the partition method. -If you -chose poorly you probably intend to put it in -.Pa /FreeBSD -and, if so, this is -what you want to do: -.Bd -literal -offset 4n -(ONLY IF YOU MADE A POOR CHOICE AND PUT /usr/obj in /FreeBSD!) -mkdir /FreeBSD/obj -cd /usr -rm -rf obj -ln -s /FreeBSD/obj obj -.Ed -.Pp -Alternatively you may chose simply to leave -.Pa /usr/obj -in -.Pa /usr . -If your -.Pa /usr -is large enough this will work, but I do not recommend it for -safety reasons -.Pa ( /usr/obj -is constantly being modified, -.Pa /usr -is not). -.Pp Note that exporting .Pa /usr/obj via read-only NFS to your other boxes will @@ -240,19 +134,17 @@ problems and issues down the line and pr It is far easier to do builds on the master server and then only do installs on the clients. .Pp -I usually maintain my ports tree via CVS. -It is sitting right there in the master CVS archive and I have even told you -to check it out (see above). +I usually maintain my ports tree via svn or portsnap. With some fancy softlinks you can make the ports tree available both on your master server and on all of your other machines. -Note that the ports tree exists only on the HEAD CVS branch, so its always --CURRENT even on a -STABLE box. +Note that the ports tree exists only on the HEAD ports branch, so its always +usable even on a -STABLE box. This is what you do: .Bd -literal -offset 4n (THESE COMMANDS ON THE MASTER SERVER AND ON ALL CLIENTS) cd /usr rm -rf ports -ln -s /FreeBSD/FreeBSD-current/ports ports +ln -s /FreeBSD/ports ports cd /usr/ports (this pushes into the softlink) rm -rf distfiles (ON MASTER SERVER ONLY) @@ -344,7 +236,7 @@ into the NFS-mounted environment. If a particular client is running -CURRENT, .Pa /usr/src should be a softlink to -.Pa /FreeBSD/FreeBSD-current/src . +.Pa /FreeBSD/src . If it is running -STABLE, .Pa /usr/src should be a softlink to @@ -359,8 +251,8 @@ human variety) on a client. (ON EACH CLIENT) cd /usr rm -rf ports src -ln -s /FreeBSD/FreeBSD-current/ports ports -ln -s /FreeBSD/FreeBSD-XXX/src src +ln -s /FreeBSD/ports ports +ln -s /FreeBSD/src src .Ed .Pp Do not forget to create the working directories so you can build ports, as @@ -521,11 +413,6 @@ subdirectory in which is typically local to the client. You can then do builds to your heart's content! .Sh MAINTAINING A LOCAL BRANCH -I have described how to maintain two versions of the source tree, a stable -version in -.Pa /FreeBSD/FreeBSD-4.x -and a current version in -.Pa /FreeBSD/FreeBSD-current . There is absolutely nothing preventing you from breaking out other versions of the source tree into @@ -548,135 +435,32 @@ which can build those other operating sy Many developers choose to maintain a local branch of .Fx to test patches or build a custom distribution. -This can be done with CVS or another source code management system -(SubVersion, Perforce, BitKeeper) with its own repository. -Since the main -.Fx -tree is based on CVS, the former is convenient. -.Pp -First, you need to modify your -.Xr csup 1 -environment to avoid it modifying -the local changes you have committed to the repository. -It is important to remove the -.Ic delete -keyword from your -.Pa supfile -and to add the -.Pa CVSROOT -subdirectory to your -.Pa refuse -file. -For more information, see -.Xr csup 1 . -.Pp -The -.Fx -version of -.Xr cvs 1 -examines a custom environmental variable, -.Ev CVS_LOCAL_BRANCH_NUM , -which specifies an integer to use when doing a -.Xr cvs 1 -.Cm tag Ns / Ns Cm rtag . -Set this number to something high (say 1000) to avoid colliding -with potential future branches of the main repository. -For example, -branching a file with version 1.4 produces 1.4.1000. -Future commits to this branch will produce revisions 1.4.1000.1, -1.4.1000.2, etc. -.Pp -To fork your local branch, do: -.Bd -literal -offset 4n -cvs rtag -r RELENG_4 -b LOCAL_RELENG_4 src -.Ed -.Pp -After this, you can check out a copy from your local repository using the -new tag and begin making changes and committing them. -For more information on using CVS, see -.Xr cvs 1 . -.Pp -.Sy WARNING! -The -.Xr csup 1 -utility may blow away changes made on a local branch in -some situations. -This has been reported to occur when the master CVS repository is -directly manipulated or an RCS file is changed. -At this point, -.Xr csup 1 -notices that the client and server have entirely -different RCS files, so it does a full replace instead of trying to -send just deltas. -Ideally this situation should never arise, but in the real world it -happens all the time. -.Pp -While this is the only scenario where the problem should crop up, -there have been some suspicious-sounding reports of -.Ev CVS_LOCAL_BRANCH_NUM -lossage that cannot be explained by this alone. -Bottom line is, if you value your local branch then you -should back it up before every update. -.Sh UPDATING VIA CVS -The advantage of using -.Xr csup 1 -to maintain an updated copy of the CVS -repository instead of using it to maintain source trees directly is that you -can then pick and choose when you bring your source tree (or pieces of your -source tree) up to date. +This can be done with svn or another source code management system +(git, mercurial, Perforce, BitKeeper) with its own repository. +.Sh "UPDATING VIA SVN" By using a .Xr cron 8 -job to maintain an updated CVS repository, you can update -your source tree at any time without any network cost as follows: +job to maintain an updated svn repository, +the source tree can be +updated at any time as follows: .Bd -literal -offset 4n (on the main development server) -cd /usr/src -cvs -d /home/ncvs update -cd /usr/src2 -cvs -d /home/ncvs update -cd /usr/ports -cvs -d /home/ncvs update +cd /usr +svn update src doc ports .Ed .Pp It is that simple, and since you are exporting the whole lot to your clients, your clients have immediate visibility into the updated source. This is a good time to also remind you that most of the -.Xr cvs 1 +.Xr svn 1 operations you do will be done as -.Dq Li root , -and that certain options are -required for CVS to operate properly on the -.Fx -repository. -For example, -.Fl Pd -is necessary when running -.Nm cvs Cm update . -These options are typically placed in your -.Pa ~/.cvsrc -(as already described) -so you do not have to re-specify them every time you run a -.Xr cvs 1 -command. -Maintaining the CVS repository also gives you far more flexibility -in regards to breaking out multiple versions of the source tree. +.Dq Li root . It is a good idea to give your .Pa /FreeBSD partition a lot of space (I recommend -8-12GB) precisely for that reason. -If you can make it 15GB I would do it. +10-15GB) precisely for that reason. .Pp -I generally do not -.Nm cvs Cm update -via a -.Xr cron 8 -job. -This is because I generally want the source to not change out from under me -when I am developing code. -Instead I manually update the source every so often...\& when I feel it is -a good time. -My recommendation is to only keep the CVS repository synchronized via .Xr cron 8 . .Sh SEE ALSO .Xr crontab 1 , @@ -696,3 +480,9 @@ and first appeared in .Fx 5.0 , December 2002. +It was since extensively modified by +.An Eitan Adler Aq eadler@FreeBSD.org +to reflect the repository conversion from +.Xr cvs +to +.Xr svn . Modified: projects/fuse/share/man/man9/vinvalbuf.9 ============================================================================== --- projects/fuse/share/man/man9/vinvalbuf.9 Thu Sep 20 15:50:27 2012 (r240752) +++ projects/fuse/share/man/man9/vinvalbuf.9 Thu Sep 20 15:53:55 2012 (r240753) @@ -110,8 +110,6 @@ set in .Fa slpflag ) .El .Sh SEE ALSO -.Xr brelse 9 , -.Xr bremfree 9 , .Xr tsleep 9 , .Xr VOP_FSYNC 9 .Sh AUTHORS Modified: projects/fuse/sys/cam/scsi/scsi_cd.c ============================================================================== --- projects/fuse/sys/cam/scsi/scsi_cd.c Thu Sep 20 15:50:27 2012 (r240752) +++ projects/fuse/sys/cam/scsi/scsi_cd.c Thu Sep 20 15:53:55 2012 (r240753) @@ -2080,6 +2080,7 @@ cdioctl(struct disk *dp, u_long cmd, voi || (st > (softc->toc.header.ending_track - softc->toc.header.starting_track))) { error = EINVAL; + cam_periph_unlock(periph); break; } sentry = &softc->toc.entries[st].addr; Modified: projects/fuse/sys/contrib/dev/acpica/changes.txt ============================================================================== --- projects/fuse/sys/contrib/dev/acpica/changes.txt Thu Sep 20 15:50:27 2012 (r240752) +++ projects/fuse/sys/contrib/dev/acpica/changes.txt Thu Sep 20 15:53:55 2012 (r240753) @@ -1,4 +1,75 @@ ---------------------------------------- +13 September 2012. Summary of changes for version 20120913: + +This release is available at https://www.acpica.org/downloads The ACPI 5.0 +specification is available at www.acpi.info + +1) ACPICA Kernel-resident Subsystem: + +ACPI 5.0: Added two new notify types for the Hardware Error Notification +Structure within the Hardware Error Source Table (HEST) table -- CMCI(5) and +MCE(6). + +Table Manager: Merged/removed duplicate code in the root table resize +functions. One function is external, the other is internal. Lv Zheng, ACPICA +BZ 846. + +Makefiles: Completely removed the obsolete "Linux" makefiles under +acpica/generate/linux. These makefiles are obsolete and have been replaced by +the generic unix makefiles under acpica/generate/unix. + +Makefiles: Ensure that binary files always copied properly. Minor rule change +to ensure that the final binary output files are always copied up to the +appropriate binary directory (bin32 or bin64.) + +Example Code and Data Size: These are the sizes for the OS-independent +acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug +version of the code includes the debug output trace mechanism and has a much +larger code and data size. + + Previous Release: + Non-Debug Version: 93.8K Code, 25.3K Data, 119.1K Total + Debug Version: 175.7K Code, 74.8K Data, 250.5K Total + Current Release: + Non-Debug Version: 93.7K Code, 25.3K Data, 119.0K Total + Debug Version: 175.0K Code, 74.4K Data, 249.4K Total + + +2) iASL Compiler/Disassembler and Tools: + +Disassembler: Fixed a possible fault during the disassembly of resource +descriptors when a second parse is required because of the invocation of +external control methods within the table. With assistance from +adq@lidskialf.net. ACPICA BZ 976. + +iASL: Fixed a namepath optimization problem. An error can occur if the parse +node that contains the namepath to be optimized does not have a parent node +that is a named object. This change fixes the problem. + +iASL: Fixed a regression where the AML file is not deleted on errors. The AML +output file should be deleted if there are any errors during the compiler. The +only exception is if the -f (force output) option is used. ACPICA BZ 974. + +iASL: Added a feature to automatically increase internal line buffer sizes. +Via realloc(), automatically increase the internal line buffer sizes as +necessary to support very long source code lines. The current version of the +preprocessor requires a buffer long enough to contain full source code lines. +This change increases the line buffer(s) if the input lines go beyond the +current buffer size. This eliminates errors that occurred when a source code *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***