From owner-svn-src-user@freebsd.org Sun Jan 3 04:54:12 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 24E7BA53CA0 for ; Sun, 3 Jan 2016 04:54:12 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D71D01A0C; Sun, 3 Jan 2016 04:54:11 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u034sA5c049698; Sun, 3 Jan 2016 04:54:10 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u034sAFZ049697; Sun, 3 Jan 2016 04:54:10 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601030454.u034sAFZ049697@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 04:54:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293071 - user/ngie/stable-10-libnv/sys/dev/pci X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 04:54:12 -0000 Author: ngie Date: Sun Jan 3 04:54:10 2016 New Revision: 293071 URL: https://svnweb.freebsd.org/changeset/base/293071 Log: MFC r279441: r279441 (by rstone): Refactor PCI device creation Refactor creation of PCI devices into helper methods that can be used by the VF creation code. Modified: user/ngie/stable-10-libnv/sys/dev/pci/pci.c Directory Properties: user/ngie/stable-10-libnv/ (props changed) Modified: user/ngie/stable-10-libnv/sys/dev/pci/pci.c ============================================================================== --- user/ngie/stable-10-libnv/sys/dev/pci/pci.c Sun Jan 3 04:38:17 2016 (r293070) +++ user/ngie/stable-10-libnv/sys/dev/pci/pci.c Sun Jan 3 04:54:10 2016 (r293071) @@ -120,6 +120,9 @@ static int pci_remap_intr_method(device static uint16_t pci_get_rid_method(device_t dev, device_t child); +static struct pci_devinfo * pci_fill_devinfo(device_t pcib, int d, int b, int s, + int f, uint16_t vid, uint16_t did, size_t size); + static device_method_t pci_methods[] = { /* Device interface */ DEVMETHOD(device_probe, pci_probe), @@ -604,71 +607,82 @@ struct pci_devinfo * pci_read_device(device_t pcib, int d, int b, int s, int f, size_t size) { #define REG(n, w) PCIB_READ_CONFIG(pcib, b, s, f, n, w) - pcicfgregs *cfg = NULL; - struct pci_devinfo *devlist_entry; - struct devlist *devlist_head; + uint16_t vid, did; - devlist_head = &pci_devq; + vid = REG(PCIR_VENDOR, 2); + did = REG(PCIR_DEVICE, 2); + if (vid != 0xffff) + return (pci_fill_devinfo(pcib, d, b, s, f, vid, did, size)); + + return (NULL); +} + +static struct pci_devinfo * +pci_fill_devinfo(device_t pcib, int d, int b, int s, int f, uint16_t vid, + uint16_t did, size_t size) +{ + struct pci_devinfo *devlist_entry; + pcicfgregs *cfg; - devlist_entry = NULL; + devlist_entry = malloc(size, M_DEVBUF, M_WAITOK | M_ZERO); - if (REG(PCIR_DEVVENDOR, 4) != 0xfffffffful) { - devlist_entry = malloc(size, M_DEVBUF, M_WAITOK | M_ZERO); + cfg = &devlist_entry->cfg; - cfg = &devlist_entry->cfg; + cfg->domain = d; + cfg->bus = b; + cfg->slot = s; + cfg->func = f; + cfg->vendor = vid; + cfg->device = did; + cfg->cmdreg = REG(PCIR_COMMAND, 2); + cfg->statreg = REG(PCIR_STATUS, 2); + cfg->baseclass = REG(PCIR_CLASS, 1); + cfg->subclass = REG(PCIR_SUBCLASS, 1); + cfg->progif = REG(PCIR_PROGIF, 1); + cfg->revid = REG(PCIR_REVID, 1); + cfg->hdrtype = REG(PCIR_HDRTYPE, 1); + cfg->cachelnsz = REG(PCIR_CACHELNSZ, 1); + cfg->lattimer = REG(PCIR_LATTIMER, 1); + cfg->intpin = REG(PCIR_INTPIN, 1); + cfg->intline = REG(PCIR_INTLINE, 1); + + cfg->mingnt = REG(PCIR_MINGNT, 1); + cfg->maxlat = REG(PCIR_MAXLAT, 1); + + cfg->mfdev = (cfg->hdrtype & PCIM_MFDEV) != 0; + cfg->hdrtype &= ~PCIM_MFDEV; + STAILQ_INIT(&cfg->maps); + + pci_fixancient(cfg); + pci_hdrtypedata(pcib, b, s, f, cfg); + + if (REG(PCIR_STATUS, 2) & PCIM_STATUS_CAPPRESENT) + pci_read_cap(pcib, cfg); + + STAILQ_INSERT_TAIL(&pci_devq, devlist_entry, pci_links); + + devlist_entry->conf.pc_sel.pc_domain = cfg->domain; + devlist_entry->conf.pc_sel.pc_bus = cfg->bus; + devlist_entry->conf.pc_sel.pc_dev = cfg->slot; + devlist_entry->conf.pc_sel.pc_func = cfg->func; + devlist_entry->conf.pc_hdr = cfg->hdrtype; + + devlist_entry->conf.pc_subvendor = cfg->subvendor; + devlist_entry->conf.pc_subdevice = cfg->subdevice; + devlist_entry->conf.pc_vendor = cfg->vendor; + devlist_entry->conf.pc_device = cfg->device; + + devlist_entry->conf.pc_class = cfg->baseclass; + devlist_entry->conf.pc_subclass = cfg->subclass; + devlist_entry->conf.pc_progif = cfg->progif; + devlist_entry->conf.pc_revid = cfg->revid; - cfg->domain = d; - cfg->bus = b; - cfg->slot = s; - cfg->func = f; - cfg->vendor = REG(PCIR_VENDOR, 2); - cfg->device = REG(PCIR_DEVICE, 2); - cfg->cmdreg = REG(PCIR_COMMAND, 2); - cfg->statreg = REG(PCIR_STATUS, 2); - cfg->baseclass = REG(PCIR_CLASS, 1); - cfg->subclass = REG(PCIR_SUBCLASS, 1); - cfg->progif = REG(PCIR_PROGIF, 1); - cfg->revid = REG(PCIR_REVID, 1); - cfg->hdrtype = REG(PCIR_HDRTYPE, 1); - cfg->cachelnsz = REG(PCIR_CACHELNSZ, 1); - cfg->lattimer = REG(PCIR_LATTIMER, 1); - cfg->intpin = REG(PCIR_INTPIN, 1); - cfg->intline = REG(PCIR_INTLINE, 1); - - cfg->mfdev = (cfg->hdrtype & PCIM_MFDEV) != 0; - cfg->hdrtype &= ~PCIM_MFDEV; - STAILQ_INIT(&cfg->maps); - - pci_fixancient(cfg); - pci_hdrtypedata(pcib, b, s, f, cfg); - - if (REG(PCIR_STATUS, 2) & PCIM_STATUS_CAPPRESENT) - pci_read_cap(pcib, cfg); - - STAILQ_INSERT_TAIL(devlist_head, devlist_entry, pci_links); - - devlist_entry->conf.pc_sel.pc_domain = cfg->domain; - devlist_entry->conf.pc_sel.pc_bus = cfg->bus; - devlist_entry->conf.pc_sel.pc_dev = cfg->slot; - devlist_entry->conf.pc_sel.pc_func = cfg->func; - devlist_entry->conf.pc_hdr = cfg->hdrtype; - - devlist_entry->conf.pc_subvendor = cfg->subvendor; - devlist_entry->conf.pc_subdevice = cfg->subdevice; - devlist_entry->conf.pc_vendor = cfg->vendor; - devlist_entry->conf.pc_device = cfg->device; - - devlist_entry->conf.pc_class = cfg->baseclass; - devlist_entry->conf.pc_subclass = cfg->subclass; - devlist_entry->conf.pc_progif = cfg->progif; - devlist_entry->conf.pc_revid = cfg->revid; + pci_numdevs++; + pci_generation++; - pci_numdevs++; - pci_generation++; - } return (devlist_entry); -#undef REG } +#undef REG static void pci_read_cap(device_t pcib, pcicfgregs *cfg) From owner-svn-src-user@freebsd.org Sun Jan 3 05:39:21 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B6A23A5F958 for ; Sun, 3 Jan 2016 05:39:21 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7F6C519A8; Sun, 3 Jan 2016 05:39:21 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u035dKf2061858; Sun, 3 Jan 2016 05:39:20 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u035dKRc061850; Sun, 3 Jan 2016 05:39:20 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601030539.u035dKRc061850@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 05:39:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293072 - in user/ngie/stable-10-libnv/sys: amd64/conf conf dev/acpica dev/pci i386/conf sys X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 05:39:21 -0000 Author: ngie Date: Sun Jan 3 05:39:19 2016 New Revision: 293072 URL: https://svnweb.freebsd.org/changeset/base/293072 Log: MFC r279447,r279449,r279450,r279451,r279452,r279453: r279447 (by rstone): Implement interface to create SR-IOV Virtual Functions Implement the interace to create SR-IOV Virtual Functions (VFs). When a driver registers that they support SR-IOV by calling pci_setup_iov(), the SR-IOV code creates a new node in /dev/iov for that device. An ioctl can be invoked on that device to create VFs and have the driver initialize them. At this point, allocating memory I/O windows (BARs) is not supported. r279449 (by rstone): Allocate PCI I/O memory spaces for VFs When creating VFs, we must size each SR-IOV BAR on the PF and allocate a configuous I/O memory window large enough for every VF. However, the window only needs to be aligned to a boundary equal to the size of the window for a single VF. When a VF attempts to allocate an I/O memory resource, we must intercept the request in the pci driver and pass it off to the SR-IOV code, which will allocate the correct window from the pre-allocated memory space for the PF. Inform the pci driver about the size and address of the BARs on the VF when the VF is created. This is required by pciconf -b and bhyve. r279450 (by rstone): Add interface to destroy SR-IOV VFs r279451 (by rstone): Add infrastructure for exporting config schema from PF drivers r279452 (by rstone): Add function to validate the consistency of SR-IOV config Add a function that validates that the user-provided SR-IOV configuration is valid. This includes basic checks that the structure of the configuration is correct (e.g. all required configuration nodes are present) as well as validating against a configuration schema. The schema validation consists of: - Ensuring that all required config parameters are present. - If the schema defines a default value for a parameter, adding the default value if the parameter is not set. - Ensuring that no parameters are specified in the config that are not defined in the schema. - Ensuring that have the correct type defined in the schema. - Ensuring that no configuration nodes are present for devices that do not exist. For example, if 2 VFs are configured, then we validate that a node called VF-5 does not exist. r279453 (by rstone): Pass SR-IOV configuration to kernel using an nvlist Pass all SR-IOV configuration to the kernel using an nvlist. The main benefit that this offers is flexibility. It allows a driver to accept any number of parameters of any type supported by the SR-IOV configuration infrastructure with having to make any changes outside of the driver. It also offers the user very fine-grained control over the configuration of the VFs -- if they want, they can have different configuration applied to every VF. Added: user/ngie/stable-10-libnv/sys/dev/pci/pci_iov.c - copied, changed from r279447, head/sys/dev/pci/pci_iov.c user/ngie/stable-10-libnv/sys/dev/pci/pci_iov_private.h - copied, changed from r279447, head/sys/dev/pci/pci_iov_private.h user/ngie/stable-10-libnv/sys/dev/pci/pci_iov_schema.c - copied, changed from r279451, head/sys/dev/pci/pci_iov_schema.c user/ngie/stable-10-libnv/sys/dev/pci/schema_private.h - copied unchanged from r279451, head/sys/dev/pci/schema_private.h user/ngie/stable-10-libnv/sys/sys/iov.h - copied, changed from r279447, head/sys/sys/iov.h user/ngie/stable-10-libnv/sys/sys/iov_schema.h - copied unchanged from r279451, head/sys/sys/iov_schema.h Modified: user/ngie/stable-10-libnv/sys/amd64/conf/GENERIC user/ngie/stable-10-libnv/sys/conf/files user/ngie/stable-10-libnv/sys/conf/options user/ngie/stable-10-libnv/sys/dev/acpica/acpi_pci.c user/ngie/stable-10-libnv/sys/dev/pci/pci.c user/ngie/stable-10-libnv/sys/dev/pci/pci_if.m user/ngie/stable-10-libnv/sys/dev/pci/pci_private.h user/ngie/stable-10-libnv/sys/dev/pci/pcireg.h user/ngie/stable-10-libnv/sys/dev/pci/pcivar.h user/ngie/stable-10-libnv/sys/i386/conf/GENERIC Directory Properties: user/ngie/stable-10-libnv/ (props changed) Modified: user/ngie/stable-10-libnv/sys/amd64/conf/GENERIC ============================================================================== --- user/ngie/stable-10-libnv/sys/amd64/conf/GENERIC Sun Jan 3 04:54:10 2016 (r293071) +++ user/ngie/stable-10-libnv/sys/amd64/conf/GENERIC Sun Jan 3 05:39:19 2016 (r293072) @@ -90,6 +90,7 @@ device cpufreq device acpi options ACPI_DMAR device pci +options PCI_IOV # PCI SR-IOV support # Floppy drives device fdc Modified: user/ngie/stable-10-libnv/sys/conf/files ============================================================================== --- user/ngie/stable-10-libnv/sys/conf/files Sun Jan 3 04:54:10 2016 (r293071) +++ user/ngie/stable-10-libnv/sys/conf/files Sun Jan 3 05:39:19 2016 (r293072) @@ -2003,6 +2003,8 @@ dev/pci/ignore_pci.c optional pci dev/pci/isa_pci.c optional pci isa dev/pci/pci.c optional pci dev/pci/pci_if.m standard +dev/pci/pci_iov.c optional pci pci_iov +dev/pci/pci_iov_schema.c optional pci pci_iov dev/pci/pci_pci.c optional pci dev/pci/pci_subr.c optional pci dev/pci/pci_user.c optional pci Modified: user/ngie/stable-10-libnv/sys/conf/options ============================================================================== --- user/ngie/stable-10-libnv/sys/conf/options Sun Jan 3 04:54:10 2016 (r293071) +++ user/ngie/stable-10-libnv/sys/conf/options Sun Jan 3 05:39:19 2016 (r293072) @@ -166,6 +166,7 @@ NO_SYSCTL_DESCR opt_global.h NSWBUF_MIN opt_swap.h MBUF_PACKET_ZONE_DISABLE opt_global.h PANIC_REBOOT_WAIT_TIME opt_panic.h +PCI_IOV opt_global.h PPC_DEBUG opt_ppc.h PPC_PROBE_CHIPSET opt_ppc.h PPS_SYNC opt_ntp.h Modified: user/ngie/stable-10-libnv/sys/dev/acpica/acpi_pci.c ============================================================================== --- user/ngie/stable-10-libnv/sys/dev/acpica/acpi_pci.c Sun Jan 3 04:54:10 2016 (r293071) +++ user/ngie/stable-10-libnv/sys/dev/acpica/acpi_pci.c Sun Jan 3 05:39:19 2016 (r293072) @@ -84,6 +84,11 @@ static int acpi_pci_set_powerstate_metho static void acpi_pci_update_device(ACPI_HANDLE handle, device_t pci_child); static bus_dma_tag_t acpi_pci_get_dma_tag(device_t bus, device_t child); +#ifdef PCI_IOV +static device_t acpi_pci_create_iov_child(device_t bus, device_t pf, + uint16_t rid, uint16_t vid, uint16_t did); +#endif + static device_method_t acpi_pci_methods[] = { /* Device interface */ DEVMETHOD(device_probe, acpi_pci_probe), @@ -98,6 +103,9 @@ static device_method_t acpi_pci_methods[ /* PCI interface */ DEVMETHOD(pci_set_powerstate, acpi_pci_set_powerstate_method), +#ifdef PCI_IOV + DEVMETHOD(pci_create_iov_child, acpi_pci_create_iov_child), +#endif DEVMETHOD_END }; @@ -345,3 +353,23 @@ acpi_pci_get_dma_tag(device_t bus, devic return (pci_get_dma_tag(bus, child)); } #endif + +#ifdef PCI_IOV +static device_t +acpi_pci_create_iov_child(device_t bus, device_t pf, uint16_t rid, uint16_t vid, + uint16_t did) +{ + struct acpi_pci_devinfo *dinfo; + device_t vf; + + vf = pci_add_iov_child(bus, pf, sizeof(struct acpi_pci_devinfo), rid, + vid, did); + if (vf == NULL) + return (NULL); + + dinfo = device_get_ivars(vf); + dinfo->ap_handle = NULL; + return (vf); +} +#endif + Modified: user/ngie/stable-10-libnv/sys/dev/pci/pci.c ============================================================================== --- user/ngie/stable-10-libnv/sys/dev/pci/pci.c Sun Jan 3 04:54:10 2016 (r293071) +++ user/ngie/stable-10-libnv/sys/dev/pci/pci.c Sun Jan 3 05:39:19 2016 (r293072) @@ -186,6 +186,11 @@ static device_method_t pci_methods[] = { DEVMETHOD(pci_msix_count, pci_msix_count_method), DEVMETHOD(pci_get_rid, pci_get_rid_method), DEVMETHOD(pci_child_added, pci_child_added_method), +#ifdef PCI_IOV + DEVMETHOD(pci_iov_attach, pci_iov_attach_method), + DEVMETHOD(pci_iov_detach, pci_iov_detach_method), + DEVMETHOD(pci_create_iov_child, pci_create_iov_child_method), +#endif DEVMETHOD_END }; @@ -653,6 +658,9 @@ pci_fill_devinfo(device_t pcib, int d, i cfg->hdrtype &= ~PCIM_MFDEV; STAILQ_INIT(&cfg->maps); + cfg->devinfo_size = size; + cfg->iov = NULL; + pci_fixancient(cfg); pci_hdrtypedata(pcib, b, s, f, cfg); @@ -3611,6 +3619,51 @@ pci_add_children(device_t dev, int domai #undef REG } +#ifdef PCI_IOV +device_t +pci_add_iov_child(device_t bus, device_t pf, size_t size, uint16_t rid, + uint16_t vid, uint16_t did) +{ + struct pci_devinfo *pf_dinfo, *vf_dinfo; + device_t pcib; + int busno, slot, func; + + pf_dinfo = device_get_ivars(pf); + + /* + * Do a sanity check that we have been passed the correct size. If this + * test fails then likely the pci subclass hasn't implemented the + * pci_create_iov_child method like it's supposed it. + */ + if (size != pf_dinfo->cfg.devinfo_size) { + device_printf(pf, + "PCI subclass does not properly implement PCI_IOV\n"); + return (NULL); + } + + pcib = device_get_parent(bus); + + PCIB_DECODE_RID(pcib, rid, &busno, &slot, &func); + + vf_dinfo = pci_fill_devinfo(pcib, pci_get_domain(pcib), busno, slot, func, + vid, did, size); + + vf_dinfo->cfg.flags |= PCICFG_VF; + pci_add_child(bus, vf_dinfo); + + return (vf_dinfo->cfg.dev); +} + +device_t +pci_create_iov_child_method(device_t bus, device_t pf, uint16_t rid, + uint16_t vid, uint16_t did) +{ + + return (pci_add_iov_child(bus, pf, sizeof(struct pci_devinfo), rid, vid, + did)); +} +#endif + void pci_add_child(device_t bus, struct pci_devinfo *dinfo) { @@ -4722,11 +4775,30 @@ struct resource * pci_alloc_resource(device_t dev, device_t child, int type, int *rid, u_long start, u_long end, u_long count, u_int flags) { +#ifdef PCI_IOV + struct pci_devinfo *dinfo; +#endif if (device_get_parent(child) != dev) return (BUS_ALLOC_RESOURCE(device_get_parent(dev), child, type, rid, start, end, count, flags)); +#ifdef PCI_IOV + dinfo = device_get_ivars(child); + if (dinfo->cfg.flags & PCICFG_VF) { + switch (type) { + /* VFs can't have I/O BARs. */ + case SYS_RES_IOPORT: + return (NULL); + case SYS_RES_MEMORY: + return (pci_vf_alloc_mem_resource(dev, child, rid, + start, end, count, flags)); + } + + /* Fall through for other types of resource allocations. */ + } +#endif + return (pci_alloc_multi_resource(dev, child, type, rid, start, end, count, 1, flags)); } @@ -4745,6 +4817,22 @@ pci_release_resource(device_t dev, devic dinfo = device_get_ivars(child); cfg = &dinfo->cfg; + +#ifdef PCI_IOV + if (dinfo->cfg.flags & PCICFG_VF) { + switch (type) { + /* VFs can't have I/O BARs. */ + case SYS_RES_IOPORT: + return (EDOOFUS); + case SYS_RES_MEMORY: + return (pci_vf_release_mem_resource(dev, child, rid, + r)); + } + + /* Fall through for other types of resource allocations. */ + } +#endif + #ifdef NEW_PCIB /* * PCI-PCI bridge I/O window resources are not BARs. For Modified: user/ngie/stable-10-libnv/sys/dev/pci/pci_if.m ============================================================================== --- user/ngie/stable-10-libnv/sys/dev/pci/pci_if.m Sun Jan 3 04:54:10 2016 (r293071) +++ user/ngie/stable-10-libnv/sys/dev/pci/pci_if.m Sun Jan 3 05:39:19 2016 (r293072) @@ -36,8 +36,20 @@ CODE { { return (0); } + + static device_t + null_create_iov_child(device_t bus, device_t pf, uint16_t rid, + uint16_t vid, uint16_t did) + { + device_printf(bus, "PCI_IOV not implemented on this bus.\n"); + return (NULL); + } }; +HEADER { + struct nvlist; +} + METHOD u_int32_t read_config { device_t dev; @@ -189,3 +201,40 @@ METHOD void child_added { device_t dev; device_t child; }; + +METHOD int iov_attach { + device_t dev; + device_t child; + struct nvlist *pf_schema; + struct nvlist *vf_schema; +}; + +METHOD int iov_detach { + device_t dev; + device_t child; +}; + +METHOD int init_iov { + device_t dev; + uint16_t num_vfs; + const struct nvlist *config; +}; + +METHOD void uninit_iov { + device_t dev; +}; + +METHOD int add_vf { + device_t dev; + uint16_t vfnum; + const struct nvlist *config; +}; + +METHOD device_t create_iov_child { + device_t bus; + device_t pf; + uint16_t rid; + uint16_t vid; + uint16_t did; +} DEFAULT null_create_iov_child; + Copied and modified: user/ngie/stable-10-libnv/sys/dev/pci/pci_iov.c (from r279447, head/sys/dev/pci/pci_iov.c) ============================================================================== --- head/sys/dev/pci/pci_iov.c Sun Mar 1 00:40:09 2015 (r279447, copy source) +++ user/ngie/stable-10-libnv/sys/dev/pci/pci_iov.c Sun Jan 3 05:39:19 2016 (r293072) @@ -46,11 +46,16 @@ __FBSDID("$FreeBSD$"); #include #include +#include + +#include +#include #include #include #include #include +#include #include "pci_if.h" #include "pcib_if.h" @@ -65,24 +70,48 @@ static struct cdevsw iov_cdevsw = { .d_ioctl = pci_iov_ioctl }; +SYSCTL_DECL(_hw_pci); + +/* + * The maximum amount of memory we will allocate for user configuration of an + * SR-IOV device. 1MB ought to be enough for anyone, but leave this + * configurable just in case. + */ +static u_long pci_iov_max_config = 1024 * 1024; +SYSCTL_ULONG(_hw_pci, OID_AUTO, iov_max_config, CTLFLAG_RWTUN, + &pci_iov_max_config, 0, "Maximum allowed size of SR-IOV configuration."); + + #define IOV_READ(d, r, w) \ pci_read_config((d)->cfg.dev, (d)->cfg.iov->iov_pos + r, w) #define IOV_WRITE(d, r, v, w) \ pci_write_config((d)->cfg.dev, (d)->cfg.iov->iov_pos + r, v, w) +static nvlist_t *pci_iov_build_schema(nvlist_t **pf_schema, + nvlist_t **vf_schema); +static void pci_iov_build_pf_schema(nvlist_t *schema, + nvlist_t **driver_schema); +static void pci_iov_build_vf_schema(nvlist_t *schema, + nvlist_t **driver_schema); +static nvlist_t *pci_iov_get_pf_subsystem_schema(void); +static nvlist_t *pci_iov_get_vf_subsystem_schema(void); + int -pci_iov_attach_method(device_t bus, device_t dev) +pci_iov_attach_method(device_t bus, device_t dev, nvlist_t *pf_schema, + nvlist_t *vf_schema) { device_t pcib; struct pci_devinfo *dinfo; struct pcicfg_iov *iov; + nvlist_t *schema; uint32_t version; int error; int iov_pos; dinfo = device_get_ivars(dev); pcib = device_get_parent(bus); + schema = NULL; error = pci_find_extcap(dev, PCIZ_SRIOV, &iov_pos); @@ -106,9 +135,15 @@ pci_iov_attach_method(device_t bus, devi error = EBUSY; goto cleanup; } - iov->iov_pos = iov_pos; + schema = pci_iov_build_schema(&pf_schema, &vf_schema); + if (schema == NULL) { + error = ENOMEM; + goto cleanup; + } + iov->iov_schema = schema; + iov->iov_cdev = make_dev(&iov_cdevsw, device_get_unit(dev), UID_ROOT, GID_WHEEL, 0600, "iov/%s", device_get_nameunit(dev)); @@ -124,6 +159,9 @@ pci_iov_attach_method(device_t bus, devi return (0); cleanup: + nvlist_destroy(schema); + nvlist_destroy(pf_schema); + nvlist_destroy(vf_schema); free(iov, M_SRIOV); mtx_unlock(&Giant); return (error); @@ -144,7 +182,7 @@ pci_iov_detach_method(device_t bus, devi return (0); } - if (iov->iov_num_vfs != 0) { + if (iov->iov_num_vfs != 0 || iov->iov_flags & IOV_BUSY) { mtx_unlock(&Giant); return (EBUSY); } @@ -155,6 +193,7 @@ pci_iov_detach_method(device_t bus, devi destroy_dev(iov->iov_cdev); iov->iov_cdev = NULL; } + nvlist_destroy(iov->iov_schema); free(iov, M_SRIOV); mtx_unlock(&Giant); @@ -162,6 +201,210 @@ pci_iov_detach_method(device_t bus, devi return (0); } +static nvlist_t * +pci_iov_build_schema(nvlist_t **pf, nvlist_t **vf) +{ + nvlist_t *schema, *pf_driver, *vf_driver; + + /* We always take ownership of the schemas. */ + pf_driver = *pf; + *pf = NULL; + vf_driver = *vf; + *vf = NULL; + + schema = pci_iov_schema_alloc_node(); + if (schema == NULL) + goto cleanup; + + pci_iov_build_pf_schema(schema, &pf_driver); + pci_iov_build_vf_schema(schema, &vf_driver); + + if (nvlist_error(schema) != 0) + goto cleanup; + + return (schema); + +cleanup: + nvlist_destroy(schema); + nvlist_destroy(pf_driver); + nvlist_destroy(vf_driver); + return (NULL); +} + +static void +pci_iov_build_pf_schema(nvlist_t *schema, nvlist_t **driver_schema) +{ + nvlist_t *pf_schema, *iov_schema; + + pf_schema = pci_iov_schema_alloc_node(); + if (pf_schema == NULL) { + nvlist_set_error(schema, ENOMEM); + return; + } + + iov_schema = pci_iov_get_pf_subsystem_schema(); + + /* + * Note that if either *driver_schema or iov_schema is NULL, then + * nvlist_move_nvlist will put the schema in the error state and + * SR-IOV will fail to initialize later, so we don't have to explicitly + * handle that case. + */ + nvlist_move_nvlist(pf_schema, DRIVER_CONFIG_NAME, *driver_schema); + nvlist_move_nvlist(pf_schema, IOV_CONFIG_NAME, iov_schema); + nvlist_move_nvlist(schema, PF_CONFIG_NAME, pf_schema); + *driver_schema = NULL; +} + +static void +pci_iov_build_vf_schema(nvlist_t *schema, nvlist_t **driver_schema) +{ + nvlist_t *vf_schema, *iov_schema; + + vf_schema = pci_iov_schema_alloc_node(); + if (vf_schema == NULL) { + nvlist_set_error(schema, ENOMEM); + return; + } + + iov_schema = pci_iov_get_vf_subsystem_schema(); + + /* + * Note that if either *driver_schema or iov_schema is NULL, then + * nvlist_move_nvlist will put the schema in the error state and + * SR-IOV will fail to initialize later, so we don't have to explicitly + * handle that case. + */ + nvlist_move_nvlist(vf_schema, DRIVER_CONFIG_NAME, *driver_schema); + nvlist_move_nvlist(vf_schema, IOV_CONFIG_NAME, iov_schema); + nvlist_move_nvlist(schema, VF_SCHEMA_NAME, vf_schema); + *driver_schema = NULL; +} + +static nvlist_t * +pci_iov_get_pf_subsystem_schema(void) +{ + nvlist_t *pf; + + pf = pci_iov_schema_alloc_node(); + if (pf == NULL) + return (NULL); + + pci_iov_schema_add_uint16(pf, "num_vfs", IOV_SCHEMA_REQUIRED, -1); + pci_iov_schema_add_string(pf, "device", IOV_SCHEMA_REQUIRED, NULL); + + return (pf); +} + +static nvlist_t * +pci_iov_get_vf_subsystem_schema(void) +{ + nvlist_t *vf; + + vf = pci_iov_schema_alloc_node(); + if (vf == NULL) + return (NULL); + + pci_iov_schema_add_bool(vf, "passthrough", IOV_SCHEMA_HASDEFAULT, 0); + + return (vf); +} + +static int +pci_iov_alloc_bar(struct pci_devinfo *dinfo, int bar, pci_addr_t bar_shift) +{ + struct resource *res; + struct pcicfg_iov *iov; + device_t dev, bus; + u_long start, end; + pci_addr_t bar_size; + int rid; + + iov = dinfo->cfg.iov; + dev = dinfo->cfg.dev; + bus = device_get_parent(dev); + rid = iov->iov_pos + PCIR_SRIOV_BAR(bar); + bar_size = 1 << bar_shift; + + res = pci_alloc_multi_resource(bus, dev, SYS_RES_MEMORY, &rid, 0ul, + ~0ul, 1, iov->iov_num_vfs, RF_ACTIVE); + + if (res == NULL) + return (ENXIO); + + iov->iov_bar[bar].res = res; + iov->iov_bar[bar].bar_size = bar_size; + iov->iov_bar[bar].bar_shift = bar_shift; + + start = rman_get_start(res); + end = rman_get_end(res); + return (rman_manage_region(&iov->rman, start, end)); +} + +static void +pci_iov_add_bars(struct pcicfg_iov *iov, struct pci_devinfo *dinfo) +{ + struct pci_iov_bar *bar; + uint64_t bar_start; + int i; + + for (i = 0; i <= PCIR_MAX_BAR_0; i++) { + bar = &iov->iov_bar[i]; + if (bar->res != NULL) { + bar_start = rman_get_start(bar->res) + + dinfo->cfg.vf.index * bar->bar_size; + + pci_add_bar(dinfo->cfg.dev, PCIR_BAR(i), bar_start, + bar->bar_shift); + } + } +} + +static int +pci_iov_parse_config(struct pcicfg_iov *iov, struct pci_iov_arg *arg, + nvlist_t **ret) +{ + void *packed_config; + nvlist_t *config; + int error; + + config = NULL; + packed_config = NULL; + + if (arg->len > pci_iov_max_config) { + error = EMSGSIZE; + goto out; + } + + packed_config = malloc(arg->len, M_SRIOV, M_WAITOK); + + error = copyin(arg->config, packed_config, arg->len); + if (error != 0) + goto out; + + config = nvlist_unpack(packed_config, arg->len); + if (config == NULL) { + error = EINVAL; + goto out; + } + + error = pci_iov_schema_validate_config(iov->iov_schema, config); + if (error != 0) + goto out; + + error = nvlist_error(config); + if (error != 0) + goto out; + + *ret = config; + config = NULL; + +out: + nvlist_destroy(config); + free(packed_config, M_SRIOV); + return (error); +} + /* * Set the ARI_EN bit in the lowest-numbered PCI function with the SR-IOV * capability. This bit is only writeable on the lowest-numbered PF but @@ -235,10 +478,79 @@ pci_iov_config_page_size(struct pci_devi return (0); } +static int +pci_init_iov(device_t dev, uint16_t num_vfs, const nvlist_t *config) +{ + const nvlist_t *device, *driver_config; + + device = nvlist_get_nvlist(config, PF_CONFIG_NAME); + driver_config = nvlist_get_nvlist(device, DRIVER_CONFIG_NAME); + return (PCI_INIT_IOV(dev, num_vfs, driver_config)); +} + +static int +pci_iov_init_rman(device_t pf, struct pcicfg_iov *iov) +{ + int error; + + iov->rman.rm_start = 0; + iov->rman.rm_end = ~0ul; + iov->rman.rm_type = RMAN_ARRAY; + snprintf(iov->rman_name, sizeof(iov->rman_name), "%s VF I/O memory", + device_get_nameunit(pf)); + iov->rman.rm_descr = iov->rman_name; + + error = rman_init(&iov->rman); + if (error != 0) + return (error); + + iov->iov_flags |= IOV_RMAN_INITED; + return (0); +} + +static int +pci_iov_setup_bars(struct pci_devinfo *dinfo) +{ + device_t dev; + struct pcicfg_iov *iov; + pci_addr_t bar_value, testval; + int i, last_64, error; + + iov = dinfo->cfg.iov; + dev = dinfo->cfg.dev; + last_64 = 0; + + for (i = 0; i <= PCIR_MAX_BAR_0; i++) { + /* + * If a PCI BAR is a 64-bit wide BAR, then it spans two + * consecutive registers. Therefore if the last BAR that + * we looked at was a 64-bit BAR, we need to skip this + * register as it's the second half of the last BAR. + */ + if (!last_64) { + pci_read_bar(dev, + iov->iov_pos + PCIR_SRIOV_BAR(i), + &bar_value, &testval, &last_64); + + if (testval != 0) { + error = pci_iov_alloc_bar(dinfo, i, + pci_mapsize(testval)); + if (error != 0) + return (error); + } + } else + last_64 = 0; + } + + return (0); +} + static void -pci_iov_enumerate_vfs(struct pci_devinfo *dinfo, const char *driver, +pci_iov_enumerate_vfs(struct pci_devinfo *dinfo, const nvlist_t *config, uint16_t first_rid, uint16_t rid_stride) { + char device_name[VF_MAX_NAME]; + const nvlist_t *device, *driver_config, *iov_config; device_t bus, dev, vf; struct pcicfg_iov *iov; struct pci_devinfo *vfinfo; @@ -255,18 +567,31 @@ pci_iov_enumerate_vfs(struct pci_devinfo did = IOV_READ(dinfo, PCIR_SRIOV_VF_DID, 2); for (i = 0; i < iov->iov_num_vfs; i++, next_rid += rid_stride) { - + snprintf(device_name, sizeof(device_name), VF_PREFIX"%d", i); + device = nvlist_get_nvlist(config, device_name); + iov_config = nvlist_get_nvlist(device, IOV_CONFIG_NAME); + driver_config = nvlist_get_nvlist(device, DRIVER_CONFIG_NAME); vf = PCI_CREATE_IOV_CHILD(bus, dev, next_rid, vid, did); if (vf == NULL) break; + /* + * If we are creating passthrough devices then force the ppt + * driver to attach to prevent a VF driver from claiming the + * VFs. + */ + if (nvlist_get_bool(iov_config, "passthrough")) + device_set_devclass(vf, "ppt"); + vfinfo = device_get_ivars(vf); vfinfo->cfg.iov = iov; vfinfo->cfg.vf.index = i; - error = PCI_ADD_VF(dev, i); + pci_iov_add_bars(iov, vfinfo); + + error = PCI_ADD_VF(dev, i, driver_config); if (error != 0) { device_printf(dev, "Failed to add VF %d\n", i); pci_delete_child(bus, vf); @@ -280,14 +605,14 @@ static int pci_iov_config(struct cdev *cdev, struct pci_iov_arg *arg) { device_t bus, dev; - const char *driver; struct pci_devinfo *dinfo; struct pcicfg_iov *iov; - int error; + nvlist_t *config; + int i, error; uint16_t rid_off, rid_stride; uint16_t first_rid, last_rid; uint16_t iov_ctl; - uint16_t total_vfs; + uint16_t num_vfs, total_vfs; int iov_inited; mtx_lock(&Giant); @@ -296,28 +621,25 @@ pci_iov_config(struct cdev *cdev, struct dev = dinfo->cfg.dev; bus = device_get_parent(dev); iov_inited = 0; + config = NULL; - if (iov->iov_num_vfs != 0) { + if ((iov->iov_flags & IOV_BUSY) || iov->iov_num_vfs != 0) { mtx_unlock(&Giant); return (EBUSY); } + iov->iov_flags |= IOV_BUSY; - total_vfs = IOV_READ(dinfo, PCIR_SRIOV_TOTAL_VFS, 2); + error = pci_iov_parse_config(iov, arg, &config); + if (error != 0) + goto out; - if (arg->num_vfs > total_vfs) { + num_vfs = pci_iov_config_get_num_vfs(config); + total_vfs = IOV_READ(dinfo, PCIR_SRIOV_TOTAL_VFS, 2); + if (num_vfs > total_vfs) { error = EINVAL; goto out; } - /* - * If we are creating passthrough devices then force the ppt driver to - * attach to prevent a VF driver from claming the VFs. - */ - if (arg->passthrough) - driver = "ppt"; - else - driver = NULL; - error = pci_iov_config_page_size(dinfo); if (error != 0) goto out; @@ -326,19 +648,18 @@ pci_iov_config(struct cdev *cdev, struct if (error != 0) goto out; - error = PCI_INIT_IOV(dev, arg->num_vfs); - + error = pci_init_iov(dev, num_vfs, config); if (error != 0) goto out; - iov_inited = 1; - IOV_WRITE(dinfo, PCIR_SRIOV_NUM_VFS, arg->num_vfs, 2); + + IOV_WRITE(dinfo, PCIR_SRIOV_NUM_VFS, num_vfs, 2); rid_off = IOV_READ(dinfo, PCIR_SRIOV_VF_OFF, 2); rid_stride = IOV_READ(dinfo, PCIR_SRIOV_VF_STRIDE, 2); first_rid = pci_get_rid(dev) + rid_off; - last_rid = first_rid + (arg->num_vfs - 1) * rid_stride; + last_rid = first_rid + (num_vfs - 1) * rid_stride; /* We don't yet support allocating extra bus numbers for VFs. */ if (pci_get_bus(dev) != PCI_RID2BUS(last_rid)) { @@ -350,26 +671,202 @@ pci_iov_config(struct cdev *cdev, struct iov_ctl &= ~(PCIM_SRIOV_VF_EN | PCIM_SRIOV_VF_MSE); IOV_WRITE(dinfo, PCIR_SRIOV_CTL, iov_ctl, 2); - iov->iov_num_vfs = arg->num_vfs; + error = pci_iov_init_rman(dev, iov); + if (error != 0) + goto out; + + iov->iov_num_vfs = num_vfs; + + error = pci_iov_setup_bars(dinfo); + if (error != 0) + goto out; iov_ctl = IOV_READ(dinfo, PCIR_SRIOV_CTL, 2); - iov_ctl |= PCIM_SRIOV_VF_EN; + iov_ctl |= PCIM_SRIOV_VF_EN | PCIM_SRIOV_VF_MSE; IOV_WRITE(dinfo, PCIR_SRIOV_CTL, iov_ctl, 2); /* Per specification, we must wait 100ms before accessing VFs. */ pause("iov", roundup(hz, 10)); - pci_iov_enumerate_vfs(dinfo, driver, first_rid, rid_stride); + pci_iov_enumerate_vfs(dinfo, config, first_rid, rid_stride); + + nvlist_destroy(config); + iov->iov_flags &= ~IOV_BUSY; mtx_unlock(&Giant); return (0); out: if (iov_inited) PCI_UNINIT_IOV(dev); + + for (i = 0; i <= PCIR_MAX_BAR_0; i++) { + if (iov->iov_bar[i].res != NULL) { + pci_release_resource(bus, dev, SYS_RES_MEMORY, + iov->iov_pos + PCIR_SRIOV_BAR(i), + iov->iov_bar[i].res); + pci_delete_resource(bus, dev, SYS_RES_MEMORY, + iov->iov_pos + PCIR_SRIOV_BAR(i)); + iov->iov_bar[i].res = NULL; + } + } + + if (iov->iov_flags & IOV_RMAN_INITED) { + rman_fini(&iov->rman); + iov->iov_flags &= ~IOV_RMAN_INITED; + } + + nvlist_destroy(config); iov->iov_num_vfs = 0; + iov->iov_flags &= ~IOV_BUSY; mtx_unlock(&Giant); return (error); } +/* Return true if child is a VF of the given PF. */ +static int +pci_iov_is_child_vf(struct pcicfg_iov *pf, device_t child) +{ + struct pci_devinfo *vfinfo; + + vfinfo = device_get_ivars(child); + + if (!(vfinfo->cfg.flags & PCICFG_VF)) + return (0); + + return (pf == vfinfo->cfg.iov); +} + +static int +pci_iov_delete(struct cdev *cdev) +{ + device_t bus, dev, vf, *devlist; + struct pci_devinfo *dinfo; + struct pcicfg_iov *iov; + int i, error, devcount; + uint32_t iov_ctl; + + mtx_lock(&Giant); + dinfo = cdev->si_drv1; + iov = dinfo->cfg.iov; + dev = dinfo->cfg.dev; + bus = device_get_parent(dev); + devlist = NULL; + + if (iov->iov_flags & IOV_BUSY) { + mtx_unlock(&Giant); + return (EBUSY); + } + + if (iov->iov_num_vfs == 0) { + mtx_unlock(&Giant); + return (ECHILD); + } + + iov->iov_flags |= IOV_BUSY; + + error = device_get_children(bus, &devlist, &devcount); + + if (error != 0) + goto out; + + for (i = 0; i < devcount; i++) { + vf = devlist[i]; + + if (!pci_iov_is_child_vf(iov, vf)) + continue; + + error = device_detach(vf); + if (error != 0) { + device_printf(dev, + "Could not disable SR-IOV: failed to detach VF %s\n", + device_get_nameunit(vf)); + goto out; + } + } + + for (i = 0; i < devcount; i++) { + vf = devlist[i]; + + if (pci_iov_is_child_vf(iov, vf)) + pci_delete_child(bus, vf); + } + PCI_UNINIT_IOV(dev); + + iov_ctl = IOV_READ(dinfo, PCIR_SRIOV_CTL, 2); + iov_ctl &= ~(PCIM_SRIOV_VF_EN | PCIM_SRIOV_VF_MSE); + IOV_WRITE(dinfo, PCIR_SRIOV_CTL, iov_ctl, 2); + IOV_WRITE(dinfo, PCIR_SRIOV_NUM_VFS, 0, 2); + + iov->iov_num_vfs = 0; + + for (i = 0; i <= PCIR_MAX_BAR_0; i++) { + if (iov->iov_bar[i].res != NULL) { + pci_release_resource(bus, dev, SYS_RES_MEMORY, + iov->iov_pos + PCIR_SRIOV_BAR(i), + iov->iov_bar[i].res); + pci_delete_resource(bus, dev, SYS_RES_MEMORY, + iov->iov_pos + PCIR_SRIOV_BAR(i)); + iov->iov_bar[i].res = NULL; + } + } + + if (iov->iov_flags & IOV_RMAN_INITED) { + rman_fini(&iov->rman); + iov->iov_flags &= ~IOV_RMAN_INITED; + } + + error = 0; +out: + free(devlist, M_TEMP); + iov->iov_flags &= ~IOV_BUSY; + mtx_unlock(&Giant); + return (error); +} + +static int +pci_iov_get_schema_ioctl(struct cdev *cdev, struct pci_iov_schema *output) +{ + struct pci_devinfo *dinfo; + void *packed; + size_t output_len, size; + int error; + + packed = NULL; + + mtx_lock(&Giant); + dinfo = cdev->si_drv1; + packed = nvlist_pack(dinfo->cfg.iov->iov_schema, &size); + mtx_unlock(&Giant); + + if (packed == NULL) { + error = ENOMEM; + goto fail; + } + + output_len = output->len; + output->len = size; + if (size <= output_len) { + error = copyout(packed, output->schema, size); + + if (error != 0) + goto fail; + + output->error = 0; + } else + /* + * If we return an error then the ioctl code won't copyout + * output back to userland, so we flag the error in the struct + * instead. + */ + output->error = EMSGSIZE; + + error = 0; + +fail: + free(packed, M_NVLIST); + + return (error); +} + static int pci_iov_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int fflag, struct thread *td) @@ -378,8 +875,102 @@ pci_iov_ioctl(struct cdev *dev, u_long c switch (cmd) { *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@freebsd.org Sun Jan 3 06:12:54 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F3834A601C9 for ; Sun, 3 Jan 2016 06:12:54 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C4DEB17A0; Sun, 3 Jan 2016 06:12:54 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u036CrTa073228; Sun, 3 Jan 2016 06:12:53 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u036Crp3073227; Sun, 3 Jan 2016 06:12:53 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601030612.u036Crp3073227@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 06:12:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293074 - user/ngie/stable-10-libnv/sys/dev/ixl X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 06:12:55 -0000 Author: ngie Date: Sun Jan 3 06:12:53 2016 New Revision: 293074 URL: https://svnweb.freebsd.org/changeset/base/293074 Log: Fix module compilation pre-r266974 if_getdrvflags(9) wasn't available until __FreeBSD_version > 1100022, and backporting r266974 opens a huge can of KPI worms Modified: user/ngie/stable-10-libnv/sys/dev/ixl/if_ixl.c Modified: user/ngie/stable-10-libnv/sys/dev/ixl/if_ixl.c ============================================================================== --- user/ngie/stable-10-libnv/sys/dev/ixl/if_ixl.c Sun Jan 3 06:02:56 2016 (r293073) +++ user/ngie/stable-10-libnv/sys/dev/ixl/if_ixl.c Sun Jan 3 06:12:53 2016 (r293074) @@ -6619,7 +6619,11 @@ ixl_uninit_iov(device_t dev) pf->veb_seid = 0; } +#if __FreeBSD_version > 1100022 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) +#else + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) +#endif ixl_disable_intr(vsi); vfs = pf->vfs; From owner-svn-src-user@freebsd.org Sun Jan 3 06:25:23 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D2F6DA60581 for ; Sun, 3 Jan 2016 06:25:23 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 946E11DC5; Sun, 3 Jan 2016 06:25:23 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u036PMh2076401; Sun, 3 Jan 2016 06:25:22 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u036PMjL076396; Sun, 3 Jan 2016 06:25:22 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601030625.u036PMjL076396@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 06:25:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293075 - user/ngie/stable-10-libnv/sys/dev/pci X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 06:25:23 -0000 Author: ngie Date: Sun Jan 3 06:25:22 2016 New Revision: 293075 URL: https://svnweb.freebsd.org/changeset/base/293075 Log: MFC r279443: r279443 (by rstone): Add some pcib methods to get ARI-related information Modified: user/ngie/stable-10-libnv/sys/dev/pci/pci_pci.c user/ngie/stable-10-libnv/sys/dev/pci/pcib_if.m user/ngie/stable-10-libnv/sys/dev/pci/pcib_private.h user/ngie/stable-10-libnv/sys/dev/pci/pcib_support.c user/ngie/stable-10-libnv/sys/dev/pci/pcireg.h Directory Properties: user/ngie/stable-10-libnv/ (props changed) Modified: user/ngie/stable-10-libnv/sys/dev/pci/pci_pci.c ============================================================================== --- user/ngie/stable-10-libnv/sys/dev/pci/pci_pci.c Sun Jan 3 06:12:53 2016 (r293074) +++ user/ngie/stable-10-libnv/sys/dev/pci/pci_pci.c Sun Jan 3 06:25:22 2016 (r293075) @@ -64,6 +64,9 @@ static void pcib_write_config(device_t static int pcib_ari_maxslots(device_t dev); static int pcib_ari_maxfuncs(device_t dev); static int pcib_try_enable_ari(device_t pcib, device_t dev); +static int pcib_ari_enabled(device_t pcib); +static void pcib_ari_decode_rid(device_t pcib, uint16_t rid, + int *bus, int *slot, int *func); static device_method_t pcib_methods[] = { /* Device interface */ @@ -104,6 +107,8 @@ static device_method_t pcib_methods[] = DEVMETHOD(pcib_power_for_sleep, pcib_power_for_sleep), DEVMETHOD(pcib_get_rid, pcib_ari_get_rid), DEVMETHOD(pcib_try_enable_ari, pcib_try_enable_ari), + DEVMETHOD(pcib_ari_enabled, pcib_ari_enabled), + DEVMETHOD(pcib_decode_rid, pcib_ari_decode_rid), DEVMETHOD_END }; @@ -1867,6 +1872,24 @@ pcib_ari_maxfuncs(device_t dev) return (PCI_FUNCMAX); } +static void +pcib_ari_decode_rid(device_t pcib, uint16_t rid, int *bus, int *slot, + int *func) +{ + struct pcib_softc *sc; + + sc = device_get_softc(pcib); + + *bus = PCI_RID2BUS(rid); + if (sc->flags & PCIB_ENABLE_ARI) { + *slot = PCIE_ARI_RID2SLOT(rid); + *func = PCIE_ARI_RID2FUNC(rid); + } else { + *slot = PCI_RID2SLOT(rid); + *func = PCI_RID2FUNC(rid); + } +} + /* * Since we are a child of a PCI bus, its parent must support the pcib interface. */ @@ -1998,6 +2021,16 @@ pcib_power_for_sleep(device_t pcib, devi return (PCIB_POWER_FOR_SLEEP(bus, dev, pstate)); } +static int +pcib_ari_enabled(device_t pcib) +{ + struct pcib_softc *sc; + + sc = device_get_softc(pcib); + + return ((sc->flags & PCIB_ENABLE_ARI) != 0); +} + static uint16_t pcib_ari_get_rid(device_t pcib, device_t dev) { Modified: user/ngie/stable-10-libnv/sys/dev/pci/pcib_if.m ============================================================================== --- user/ngie/stable-10-libnv/sys/dev/pci/pcib_if.m Sun Jan 3 06:12:53 2016 (r293074) +++ user/ngie/stable-10-libnv/sys/dev/pci/pcib_if.m Sun Jan 3 06:25:22 2016 (r293075) @@ -39,6 +39,13 @@ CODE { { return (PCI_INVALID_IRQ); } + + static int + pcib_null_ari_enabled(device_t pcib) + { + + return (0); + } }; # @@ -182,3 +189,21 @@ METHOD int try_enable_ari { device_t dev; }; +# +# Return non-zero if PCI ARI is enabled, or zero otherwise +# +METHOD int ari_enabled { + device_t pcib; +} DEFAULT pcib_null_ari_enabled; + +# +# Decode a PCI Routing Identifier (RID) into PCI bus/slot/function +# +METHOD void decode_rid { + device_t pcib; + uint16_t rid; + int *bus; + int *slot; + int *func; +} DEFAULT pcib_decode_rid; + Modified: user/ngie/stable-10-libnv/sys/dev/pci/pcib_private.h ============================================================================== --- user/ngie/stable-10-libnv/sys/dev/pci/pcib_private.h Sun Jan 3 06:12:53 2016 (r293074) +++ user/ngie/stable-10-libnv/sys/dev/pci/pcib_private.h Sun Jan 3 06:25:22 2016 (r293075) @@ -170,5 +170,7 @@ int pcib_alloc_msix(device_t pcib, devi int pcib_release_msix(device_t pcib, device_t dev, int irq); int pcib_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr, uint32_t *data); uint16_t pcib_get_rid(device_t pcib, device_t dev); +void pcib_decode_rid(device_t pcib, uint16_t rid, int *bus, + int *slot, int *func); #endif Modified: user/ngie/stable-10-libnv/sys/dev/pci/pcib_support.c ============================================================================== --- user/ngie/stable-10-libnv/sys/dev/pci/pcib_support.c Sun Jan 3 06:12:53 2016 (r293074) +++ user/ngie/stable-10-libnv/sys/dev/pci/pcib_support.c Sun Jan 3 06:25:22 2016 (r293075) @@ -66,3 +66,13 @@ pcib_get_rid(device_t pcib, device_t dev return (PCI_RID(bus, slot, func)); } +void +pcib_decode_rid(device_t pcib, uint16_t rid, int *bus, int *slot, + int *func) +{ + + *bus = PCI_RID2BUS(rid); + *slot = PCI_RID2SLOT(rid); + *func = PCI_RID2FUNC(rid); +} + Modified: user/ngie/stable-10-libnv/sys/dev/pci/pcireg.h ============================================================================== --- user/ngie/stable-10-libnv/sys/dev/pci/pcireg.h Sun Jan 3 06:12:53 2016 (r293074) +++ user/ngie/stable-10-libnv/sys/dev/pci/pcireg.h Sun Jan 3 06:25:22 2016 (r293075) @@ -68,6 +68,10 @@ #define PCI_RID2SLOT(rid) (((rid) >> PCI_RID_SLOT_SHIFT) & PCI_SLOTMAX) #define PCI_RID2FUNC(rid) (((rid) >> PCI_RID_FUNC_SHIFT) & PCI_FUNCMAX) +#define PCIE_ARI_RID2SLOT(rid) (0) +#define PCIE_ARI_RID2FUNC(rid) \ + (((rid) >> PCI_RID_FUNC_SHIFT) & PCIE_ARI_FUNCMAX) + #define PCIE_ARI_SLOT(func) (((func) >> PCI_RID_SLOT_SHIFT) & PCI_SLOTMAX) #define PCIE_ARI_FUNC(func) (((func) >> PCI_RID_FUNC_SHIFT) & PCI_FUNCMAX) From owner-svn-src-user@freebsd.org Sun Jan 3 06:33:47 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A566DA60889 for ; Sun, 3 Jan 2016 06:33:47 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7DF05133D; Sun, 3 Jan 2016 06:33:47 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u036XkE9079413; Sun, 3 Jan 2016 06:33:46 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u036XkIk079410; Sun, 3 Jan 2016 06:33:46 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601030633.u036XkIk079410@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 06:33:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293076 - user/ngie/stable-10-libnv/sys/dev/pci X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 06:33:47 -0000 Author: ngie Date: Sun Jan 3 06:33:46 2016 New Revision: 293076 URL: https://svnweb.freebsd.org/changeset/base/293076 Log: MFC r279448: r279448 (by rstone): Emulate the Device ID and Vendor ID registers for VFs The SR-IOV standard requires VFs to read all-ones when the VID and DID registers are read. The VMM (hypervisor) is required to emulate them instead. Make pci_read_config() do this emulation. Change pci_user.c to use pci_read_config() to read config space registers instead of going directly to the pcib so that the emulated VID/DID registers work correctly on VFs. This is required both for pciconf and bhyve PCI passthrough. Modified: user/ngie/stable-10-libnv/sys/dev/pci/pci.c user/ngie/stable-10-libnv/sys/dev/pci/pci_user.c Directory Properties: user/ngie/stable-10-libnv/ (props changed) Modified: user/ngie/stable-10-libnv/sys/dev/pci/pci.c ============================================================================== --- user/ngie/stable-10-libnv/sys/dev/pci/pci.c Sun Jan 3 06:25:22 2016 (r293075) +++ user/ngie/stable-10-libnv/sys/dev/pci/pci.c Sun Jan 3 06:33:46 2016 (r293076) @@ -4995,6 +4995,37 @@ pci_read_config_method(device_t dev, dev struct pci_devinfo *dinfo = device_get_ivars(child); pcicfgregs *cfg = &dinfo->cfg; +#ifdef PCI_IOV + /* + * SR-IOV VFs don't implement the VID or DID registers, so we have to + * emulate them here. + */ + if (cfg->flags & PCICFG_VF) { + if (reg == PCIR_VENDOR) { + switch (width) { + case 4: + return (cfg->device << 16 | cfg->vendor); + case 2: + return (cfg->vendor); + case 1: + return (cfg->vendor & 0xff); + default: + return (0xffffffff); + } + } else if (reg == PCIR_DEVICE) { + switch (width) { + /* Note that an unaligned 4-byte read is an error. */ + case 2: + return (cfg->device); + case 1: + return (cfg->device & 0xff); + default: + return (0xffffffff); + } + } + } +#endif + return (PCIB_READ_CONFIG(device_get_parent(dev), cfg->bus, cfg->slot, cfg->func, reg, width)); } Modified: user/ngie/stable-10-libnv/sys/dev/pci/pci_user.c ============================================================================== --- user/ngie/stable-10-libnv/sys/dev/pci/pci_user.c Sun Jan 3 06:25:22 2016 (r293075) +++ user/ngie/stable-10-libnv/sys/dev/pci/pci_user.c Sun Jan 3 06:33:46 2016 (r293076) @@ -492,7 +492,7 @@ pci_list_vpd(device_t dev, struct pci_li static int pci_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int flag, struct thread *td) { - device_t pcidev, brdev; + device_t pcidev; void *confdata; const char *name; struct devlist *devlist_head; @@ -922,37 +922,25 @@ getconfexit: io->pi_sel.pc_bus, io->pi_sel.pc_dev, io->pi_sel.pc_func); if (pcidev) { - brdev = device_get_parent( - device_get_parent(pcidev)); - #ifdef PRE7_COMPAT if (cmd == PCIOCWRITE || cmd == PCIOCWRITE_OLD) #else if (cmd == PCIOCWRITE) #endif - PCIB_WRITE_CONFIG(brdev, - io->pi_sel.pc_bus, - io->pi_sel.pc_dev, - io->pi_sel.pc_func, + pci_write_config(pcidev, io->pi_reg, io->pi_data, io->pi_width); #ifdef PRE7_COMPAT else if (cmd == PCIOCREAD_OLD) io_old->pi_data = - PCIB_READ_CONFIG(brdev, - io->pi_sel.pc_bus, - io->pi_sel.pc_dev, - io->pi_sel.pc_func, + pci_read_config(pcidev, io->pi_reg, io->pi_width); #endif else io->pi_data = - PCIB_READ_CONFIG(brdev, - io->pi_sel.pc_bus, - io->pi_sel.pc_dev, - io->pi_sel.pc_func, + pci_read_config(pcidev, io->pi_reg, io->pi_width); error = 0; From owner-svn-src-user@freebsd.org Sun Jan 3 06:38:52 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8BDC8A6091D for ; Sun, 3 Jan 2016 06:38:52 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 47D311517; Sun, 3 Jan 2016 06:38:52 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u036cpAH079680; Sun, 3 Jan 2016 06:38:51 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u036coIL079674; Sun, 3 Jan 2016 06:38:50 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601030638.u036coIL079674@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 06:38:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293077 - in user/ngie/stable-10-libnv: sys/dev/pci sys/kern sys/sys usr.sbin/pciconf X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 06:38:52 -0000 Author: ngie Date: Sun Jan 3 06:38:50 2016 New Revision: 293077 URL: https://svnweb.freebsd.org/changeset/base/293077 Log: MFC r279466,r279868: r279466 (by rstone): Teach pciconf how to dump out SR-IOV capability r279868 (by rstone): Fix SR-IOV passthrough devices to allow ppt to attach A late change to the SR-IOV infrastructure broke passthrough of VFs. device_set_devclass() was being used to try to force the ppt driver to attach to the device, but this didn't work because the DF_FIXEDCLASS flag wasn't being set on the device, so the ppt driver probe routine would not match when it returned BUS_NOWILDCARD. Fix this by adding a new device function that both sets the devclass and sets the DF_FIXEDCLASS flag, and use that to force the ppt driver to attach to VFs. Modified: user/ngie/stable-10-libnv/sys/dev/pci/pci_iov.c user/ngie/stable-10-libnv/sys/kern/subr_bus.c user/ngie/stable-10-libnv/sys/sys/bus.h user/ngie/stable-10-libnv/usr.sbin/pciconf/cap.c user/ngie/stable-10-libnv/usr.sbin/pciconf/pciconf.c user/ngie/stable-10-libnv/usr.sbin/pciconf/pciconf.h Directory Properties: user/ngie/stable-10-libnv/ (props changed) Modified: user/ngie/stable-10-libnv/sys/dev/pci/pci_iov.c ============================================================================== --- user/ngie/stable-10-libnv/sys/dev/pci/pci_iov.c Sun Jan 3 06:33:46 2016 (r293076) +++ user/ngie/stable-10-libnv/sys/dev/pci/pci_iov.c Sun Jan 3 06:38:50 2016 (r293077) @@ -582,7 +582,7 @@ pci_iov_enumerate_vfs(struct pci_devinfo * VFs. */ if (nvlist_get_bool(iov_config, "passthrough")) - device_set_devclass(vf, "ppt"); + device_set_devclass_fixed(vf, "ppt"); vfinfo = device_get_ivars(vf); Modified: user/ngie/stable-10-libnv/sys/kern/subr_bus.c ============================================================================== --- user/ngie/stable-10-libnv/sys/kern/subr_bus.c Sun Jan 3 06:33:46 2016 (r293076) +++ user/ngie/stable-10-libnv/sys/kern/subr_bus.c Sun Jan 3 06:38:50 2016 (r293077) @@ -2679,6 +2679,25 @@ device_set_devclass(device_t dev, const } /** + * @brief Set the devclass of a device and mark the devclass fixed. + * @see device_set_devclass() + */ +int +device_set_devclass_fixed(device_t dev, const char *classname) +{ + int error; + + if (classname == NULL) + return (EINVAL); + + error = device_set_devclass(dev, classname); + if (error) + return (error); + dev->flags |= DF_FIXEDCLASS; + return (0); +} + +/** * @brief Set the driver of a device * * @retval 0 success Modified: user/ngie/stable-10-libnv/sys/sys/bus.h ============================================================================== --- user/ngie/stable-10-libnv/sys/sys/bus.h Sun Jan 3 06:33:46 2016 (r293076) +++ user/ngie/stable-10-libnv/sys/sys/bus.h Sun Jan 3 06:38:50 2016 (r293077) @@ -465,6 +465,7 @@ void device_quiet(device_t dev); void device_set_desc(device_t dev, const char* desc); void device_set_desc_copy(device_t dev, const char* desc); int device_set_devclass(device_t dev, const char *classname); +int device_set_devclass_fixed(device_t dev, const char *classname); int device_set_driver(device_t dev, driver_t *driver); void device_set_flags(device_t dev, u_int32_t flags); void device_set_softc(device_t dev, void *softc); Modified: user/ngie/stable-10-libnv/usr.sbin/pciconf/cap.c ============================================================================== --- user/ngie/stable-10-libnv/usr.sbin/pciconf/cap.c Sun Jan 3 06:33:46 2016 (r293076) +++ user/ngie/stable-10-libnv/usr.sbin/pciconf/cap.c Sun Jan 3 06:38:50 2016 (r293077) @@ -37,6 +37,7 @@ static const char rcsid[] = #include #include +#include #include #include @@ -640,7 +641,7 @@ ecap_aer(int fd, struct pci_conf *p, uin printf(" %d fatal", bitcount32(sta & mask)); printf(" %d non-fatal", bitcount32(sta & ~mask)); sta = read_config(fd, &p->pc_sel, ptr + PCIR_AER_COR_STATUS, 4); - printf(" %d corrected", bitcount32(sta)); + printf(" %d corrected\n", bitcount32(sta)); } static void @@ -656,6 +657,7 @@ ecap_vc(int fd, struct pci_conf *p, uint if ((cap1 & PCIM_VC_CAP1_LOWPRI_EXT_COUNT) != 0) printf(" lowpri VC0-VC%d", (cap1 & PCIM_VC_CAP1_LOWPRI_EXT_COUNT) >> 4); + printf("\n"); } static void @@ -668,7 +670,7 @@ ecap_sernum(int fd, struct pci_conf *p, return; low = read_config(fd, &p->pc_sel, ptr + PCIR_SERIAL_LOW, 4); high = read_config(fd, &p->pc_sel, ptr + PCIR_SERIAL_HIGH, 4); - printf(" %08x%08x", high, low); + printf(" %08x%08x\n", high, low); } static void @@ -680,7 +682,7 @@ ecap_vendor(int fd, struct pci_conf *p, if (ver < 1) return; val = read_config(fd, &p->pc_sel, ptr + 4, 4); - printf(" ID %d", val & 0xffff); + printf(" ID %d\n", val & 0xffff); } static void @@ -692,7 +694,69 @@ ecap_sec_pcie(int fd, struct pci_conf *p if (ver < 1) return; val = read_config(fd, &p->pc_sel, ptr + 8, 4); - printf(" lane errors %#x", val); + printf(" lane errors %#x\n", val); +} + +static const char * +check_enabled(int value) +{ + + return (value ? "enabled" : "disabled"); +} + +static void +ecap_sriov(int fd, struct pci_conf *p, uint16_t ptr, uint8_t ver) +{ + const char *comma, *enabled; + uint16_t iov_ctl, total_vfs, num_vfs, vf_offset, vf_stride, vf_did; + uint32_t page_caps, page_size, page_shift, size; + int i; + + printf("SR-IOV %d ", ver); + + iov_ctl = read_config(fd, &p->pc_sel, ptr + PCIR_SRIOV_CTL, 2); + printf("IOV %s, Memory Space %s, ARI %s\n", + check_enabled(iov_ctl & PCIM_SRIOV_VF_EN), + check_enabled(iov_ctl & PCIM_SRIOV_VF_MSE), + check_enabled(iov_ctl & PCIM_SRIOV_ARI_EN)); + + total_vfs = read_config(fd, &p->pc_sel, ptr + PCIR_SRIOV_TOTAL_VFS, 2); + num_vfs = read_config(fd, &p->pc_sel, ptr + PCIR_SRIOV_NUM_VFS, 2); + printf(" "); + printf("%d VFs configured out of %d supported\n", num_vfs, total_vfs); + + vf_offset = read_config(fd, &p->pc_sel, ptr + PCIR_SRIOV_VF_OFF, 2); + vf_stride = read_config(fd, &p->pc_sel, ptr + PCIR_SRIOV_VF_STRIDE, 2); + printf(" "); + printf("First VF RID Offset 0x%04x, VF RID Stride 0x%04x\n", vf_offset, + vf_stride); + + vf_did = read_config(fd, &p->pc_sel, ptr + PCIR_SRIOV_VF_DID, 2); + printf(" VF Device ID 0x%04x\n", vf_did); + + page_caps = read_config(fd, &p->pc_sel, ptr + PCIR_SRIOV_PAGE_CAP, 4); + page_size = read_config(fd, &p->pc_sel, ptr + PCIR_SRIOV_PAGE_SIZE, 4); + printf(" "); + printf("Page Sizes: "); + comma = ""; + while (page_caps != 0) { + page_shift = ffs(page_caps) - 1; + + if (page_caps & page_size) + enabled = " (enabled)"; + else + enabled = ""; + + size = (1 << (page_shift + PCI_SRIOV_BASE_PAGE_SHIFT)); + printf("%s%d%s", comma, size, enabled); + comma = ", "; + + page_caps &= ~(1 << page_shift); + } + printf("\n"); + + for (i = 0; i <= PCIR_MAX_BAR_0; i++) + print_bar(fd, p, "iov bar ", ptr + PCIR_SRIOV_BAR(i)); } struct { @@ -708,7 +772,6 @@ struct { { PCIZ_ACS, "ACS" }, { PCIZ_ARI, "ARI" }, { PCIZ_ATS, "ATS" }, - { PCIZ_SRIOV, "SRIOV" }, { PCIZ_MULTICAST, "Multicast" }, { PCIZ_RESIZE_BAR, "Resizable BAR" }, { PCIZ_DPA, "DPA" }, @@ -747,6 +810,9 @@ list_ecaps(int fd, struct pci_conf *p) case PCIZ_SEC_PCIE: ecap_sec_pcie(fd, p, ptr, PCI_EXTCAP_VER(ecap)); break; + case PCIZ_SRIOV: + ecap_sriov(fd, p, ptr, PCI_EXTCAP_VER(ecap)); + break; default: name = "unknown"; for (i = 0; ecap_names[i].name != NULL; i++) @@ -754,10 +820,9 @@ list_ecaps(int fd, struct pci_conf *p) name = ecap_names[i].name; break; } - printf("%s %d", name, PCI_EXTCAP_VER(ecap)); + printf("%s %d\n", name, PCI_EXTCAP_VER(ecap)); break; } - printf("\n"); ptr = PCI_EXTCAP_NEXTPTR(ecap); if (ptr == 0) break; Modified: user/ngie/stable-10-libnv/usr.sbin/pciconf/pciconf.c ============================================================================== --- user/ngie/stable-10-libnv/usr.sbin/pciconf/pciconf.c Sun Jan 3 06:33:46 2016 (r293076) +++ user/ngie/stable-10-libnv/usr.sbin/pciconf/pciconf.c Sun Jan 3 06:38:50 2016 (r293077) @@ -263,10 +263,7 @@ list_devs(const char *name, int verbose, static void list_bars(int fd, struct pci_conf *p) { - struct pci_bar_io bar; - uint64_t base; - const char *type; - int i, range, max; + int i, max; switch (p->pc_hdr & PCIM_HDRTYPE) { case PCIM_HDRTYPE_NORMAL: @@ -282,40 +279,50 @@ list_bars(int fd, struct pci_conf *p) return; } - for (i = 0; i <= max; i++) { - bar.pbi_sel = p->pc_sel; - bar.pbi_reg = PCIR_BAR(i); - if (ioctl(fd, PCIOCGETBAR, &bar) < 0) - continue; - if (PCI_BAR_IO(bar.pbi_base)) { - type = "I/O Port"; + for (i = 0; i <= max; i++) + print_bar(fd, p, "bar ", PCIR_BAR(i)); +} + +void +print_bar(int fd, struct pci_conf *p, const char *label, uint16_t bar_offset) +{ + uint64_t base; + const char *type; + struct pci_bar_io bar; + int range; + + bar.pbi_sel = p->pc_sel; + bar.pbi_reg = bar_offset; + if (ioctl(fd, PCIOCGETBAR, &bar) < 0) + return; + if (PCI_BAR_IO(bar.pbi_base)) { + type = "I/O Port"; + range = 32; + base = bar.pbi_base & PCIM_BAR_IO_BASE; + } else { + if (bar.pbi_base & PCIM_BAR_MEM_PREFETCH) + type = "Prefetchable Memory"; + else + type = "Memory"; + switch (bar.pbi_base & PCIM_BAR_MEM_TYPE) { + case PCIM_BAR_MEM_32: range = 32; - base = bar.pbi_base & PCIM_BAR_IO_BASE; - } else { - if (bar.pbi_base & PCIM_BAR_MEM_PREFETCH) - type = "Prefetchable Memory"; - else - type = "Memory"; - switch (bar.pbi_base & PCIM_BAR_MEM_TYPE) { - case PCIM_BAR_MEM_32: - range = 32; - break; - case PCIM_BAR_MEM_1MB: - range = 20; - break; - case PCIM_BAR_MEM_64: - range = 64; - break; - default: - range = -1; - } - base = bar.pbi_base & ~((uint64_t)0xf); + break; + case PCIM_BAR_MEM_1MB: + range = 20; + break; + case PCIM_BAR_MEM_64: + range = 64; + break; + default: + range = -1; } - printf(" bar [%02x] = type %s, range %2d, base %#jx, ", - PCIR_BAR(i), type, range, (uintmax_t)base); - printf("size %ju, %s\n", (uintmax_t)bar.pbi_length, - bar.pbi_enabled ? "enabled" : "disabled"); + base = bar.pbi_base & ~((uint64_t)0xf); } + printf(" %s[%02x] = type %s, range %2d, base %#jx, ", + label, bar_offset, type, range, (uintmax_t)base); + printf("size %ju, %s\n", (uintmax_t)bar.pbi_length, + bar.pbi_enabled ? "enabled" : "disabled"); } static void Modified: user/ngie/stable-10-libnv/usr.sbin/pciconf/pciconf.h ============================================================================== --- user/ngie/stable-10-libnv/usr.sbin/pciconf/pciconf.h Sun Jan 3 06:33:46 2016 (r293076) +++ user/ngie/stable-10-libnv/usr.sbin/pciconf/pciconf.h Sun Jan 3 06:38:50 2016 (r293077) @@ -37,6 +37,7 @@ void list_caps(int fd, struct pci_conf * void list_errors(int fd, struct pci_conf *p); uint8_t pci_find_cap(int fd, struct pci_conf *p, uint8_t id); uint16_t pcie_find_cap(int fd, struct pci_conf *p, uint16_t id); +void print_bar(int fd, struct pci_conf *p, const char *label, uint16_t bar); uint32_t read_config(int fd, struct pcisel *sel, long reg, int width); #endif From owner-svn-src-user@freebsd.org Sun Jan 3 06:51:59 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 70401A60BC0 for ; Sun, 3 Jan 2016 06:51:59 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 34CC11AFA; Sun, 3 Jan 2016 06:51:59 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u036pwUC085700; Sun, 3 Jan 2016 06:51:58 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u036pvld085688; Sun, 3 Jan 2016 06:51:57 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601030651.u036pvld085688@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 06:51:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293078 - in user/ngie/stable-10-libnv: etc/defaults etc/rc.d share/man/man5 usr.sbin usr.sbin/iovctl X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 06:51:59 -0000 Author: ngie Date: Sun Jan 3 06:51:57 2016 New Revision: 293078 URL: https://svnweb.freebsd.org/changeset/base/293078 Log: MFC r279457,r279458,r279459,r279460,r279461,r279463,r279469,r284891: r279457 (by rstone): Add a manpage for iovctl(8) r279458 (by rstone): Add manpage documenting iovctl config file format. r279459 (by rstone): Add iovctl functions for validating config Add an function to iovctl that validates the configuration against a schema. This function is able to assume that the parser has done most of the validation already and it's only responsible for applying default VF values specified in the config file, confirming that all required parameters have been set and that no invalid VF numbers have been specified. r279460 (by rstone): Add functions for parsing the iovctl config file Add two functions for parsing the iovctl config file. The config file is parsed using libucl[1], which accepts most YAML files and a superset of JSON. The first function is an ad-hoc parser that searches the file for the PF.DEVICE configuration value. We need to know that value in order to fetch the schema from the kernel, and we need the schema in order to be able to fully parse the file. The second function parses the config file and validates it against a schema. This function will exit with an error message if any validation error occurs. If it succeeds, the configuration is returned as an nvlist suitable for passing to the kernel. [1] https://github.com/vstakhov/libucl r279461 (by rstone): Add main() for iovctl and hook iovctl into build r279463 (by rstone): Add an rc.d script to invoke iovctl(8) during boot Relnotes: yes r279469 (by rstone): Correct a typo. X-MFC-With: r279458 r284891 (by pkelsey): Use correct flag in iovctl_start(). Added: user/ngie/stable-10-libnv/etc/rc.d/iovctl - copied, changed from r279463, head/etc/rc.d/iovctl user/ngie/stable-10-libnv/usr.sbin/iovctl/ - copied from r279457, head/usr.sbin/iovctl/ user/ngie/stable-10-libnv/usr.sbin/iovctl/Makefile - copied unchanged from r279461, head/usr.sbin/iovctl/Makefile user/ngie/stable-10-libnv/usr.sbin/iovctl/iovctl.c - copied unchanged from r279461, head/usr.sbin/iovctl/iovctl.c user/ngie/stable-10-libnv/usr.sbin/iovctl/iovctl.conf.5 - copied, changed from r279458, head/usr.sbin/iovctl/iovctl.conf.5 user/ngie/stable-10-libnv/usr.sbin/iovctl/iovctl.h - copied unchanged from r279461, head/usr.sbin/iovctl/iovctl.h user/ngie/stable-10-libnv/usr.sbin/iovctl/parse.c - copied unchanged from r279460, head/usr.sbin/iovctl/parse.c user/ngie/stable-10-libnv/usr.sbin/iovctl/validate.c - copied unchanged from r279459, head/usr.sbin/iovctl/validate.c Modified: user/ngie/stable-10-libnv/etc/defaults/rc.conf user/ngie/stable-10-libnv/etc/rc.d/Makefile user/ngie/stable-10-libnv/etc/rc.d/netif user/ngie/stable-10-libnv/share/man/man5/rc.conf.5 user/ngie/stable-10-libnv/usr.sbin/Makefile Directory Properties: user/ngie/stable-10-libnv/ (props changed) Modified: user/ngie/stable-10-libnv/etc/defaults/rc.conf ============================================================================== --- user/ngie/stable-10-libnv/etc/defaults/rc.conf Sun Jan 3 06:38:50 2016 (r293077) +++ user/ngie/stable-10-libnv/etc/defaults/rc.conf Sun Jan 3 06:51:57 2016 (r293078) @@ -683,6 +683,8 @@ opensm_enable="NO" # Opensm(8) for infin rctl_enable="NO" # Load rctl(8) rules on boot rctl_rules="/etc/rctl.conf" # rctl(8) ruleset. See rctl.conf(5). +iovctl_files="" # Config files for iovctl(8) + ############################################################## ### Jail Configuration (see rc.conf(5) manual page) ########## ############################################################## Modified: user/ngie/stable-10-libnv/etc/rc.d/Makefile ============================================================================== --- user/ngie/stable-10-libnv/etc/rc.d/Makefile Sun Jan 3 06:38:50 2016 (r293077) +++ user/ngie/stable-10-libnv/etc/rc.d/Makefile Sun Jan 3 06:51:57 2016 (r293078) @@ -44,6 +44,7 @@ FILES= DAEMON \ hostid_save \ hostname \ initrandom \ + iovctl \ ip6addrctl \ ipfilter \ ipfs \ Copied and modified: user/ngie/stable-10-libnv/etc/rc.d/iovctl (from r279463, head/etc/rc.d/iovctl) ============================================================================== --- head/etc/rc.d/iovctl Sun Mar 1 00:58:23 2015 (r279463, copy source) +++ user/ngie/stable-10-libnv/etc/rc.d/iovctl Sun Jan 3 06:51:57 2016 (r293078) @@ -27,7 +27,7 @@ run_iovctl() iovctl_start() { - run_iovctl -E + run_iovctl -C } iovctl_stop() Modified: user/ngie/stable-10-libnv/etc/rc.d/netif ============================================================================== --- user/ngie/stable-10-libnv/etc/rc.d/netif Sun Jan 3 06:38:50 2016 (r293077) +++ user/ngie/stable-10-libnv/etc/rc.d/netif Sun Jan 3 06:51:57 2016 (r293078) @@ -26,7 +26,7 @@ # # PROVIDE: netif -# REQUIRE: atm1 FILESYSTEMS serial sppp sysctl +# REQUIRE: atm1 FILESYSTEMS iovctl serial sppp sysctl # REQUIRE: ipfilter ipfs # KEYWORD: nojailvnet Modified: user/ngie/stable-10-libnv/share/man/man5/rc.conf.5 ============================================================================== --- user/ngie/stable-10-libnv/share/man/man5/rc.conf.5 Sun Jan 3 06:38:50 2016 (r293077) +++ user/ngie/stable-10-libnv/share/man/man5/rc.conf.5 Sun Jan 3 06:51:57 2016 (r293078) @@ -4524,6 +4524,11 @@ This variables contains the .Xr rctl.conf 5 ruleset to load for .Xr rctl 8 . +.It Va iovctl_files +.Pq Vt str +A space-separated list of configuration files used by +.Xr iovctl 8 . +The default value is an empty string. .El .Sh FILES .Bl -tag -width ".Pa /etc/defaults/rc.conf" -compact @@ -4577,6 +4582,7 @@ ruleset to load for .Xr hcsecd 8 , .Xr ifconfig 8 , .Xr inetd 8 , +.Xr iovctl 8 , .Xr ipf 8 , .Xr ipfw 8 , .Xr ipnat 8 , Modified: user/ngie/stable-10-libnv/usr.sbin/Makefile ============================================================================== --- user/ngie/stable-10-libnv/usr.sbin/Makefile Sun Jan 3 06:38:50 2016 (r293077) +++ user/ngie/stable-10-libnv/usr.sbin/Makefile Sun Jan 3 06:51:57 2016 (r293078) @@ -35,6 +35,7 @@ SUBDIR= adduser \ i2c \ ifmcstat \ iostat \ + iovctl \ kldxref \ mailwrapper \ makefs \ Copied: user/ngie/stable-10-libnv/usr.sbin/iovctl/Makefile (from r279461, head/usr.sbin/iovctl/Makefile) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/stable-10-libnv/usr.sbin/iovctl/Makefile Sun Jan 3 06:51:57 2016 (r293078, copy of r279461, head/usr.sbin/iovctl/Makefile) @@ -0,0 +1,17 @@ +# $FreeBSD$ + +PROG= iovctl +SRCS= iovctl.c parse.c validate.c +LIBADD= nv ucl m + +CFLAGS+=-I${.CURDIR}/../../contrib/libucl/include + +WARNS?=6 + +MAN= \ + iovctl.8 \ + iovctl.conf.5 \ + +.include +.include + Copied: user/ngie/stable-10-libnv/usr.sbin/iovctl/iovctl.c (from r279461, head/usr.sbin/iovctl/iovctl.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/stable-10-libnv/usr.sbin/iovctl/iovctl.c Sun Jan 3 06:51:57 2016 (r293078, copy of r279461, head/usr.sbin/iovctl/iovctl.c) @@ -0,0 +1,403 @@ +/*- + * Copyright (c) 2013-2015 Sandvine Inc. All rights reserved. + * 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. + * + * 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 MERCHANTABILITY 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. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "iovctl.h" + +static void config_action(const char *filename, int dryrun); +static void delete_action(const char *device, int dryrun); +static void print_schema(const char *device); + +/* + * Fetch the config schema from the kernel via ioctl. This function has to + * call the ioctl twice: the first returns the amount of memory that we need + * to allocate for the schema, and the second actually fetches the schema. + */ +static nvlist_t * +get_schema(int fd) +{ + struct pci_iov_schema arg; + nvlist_t *schema; + int error; + + /* Do the ioctl() once to fetch the size of the schema. */ + arg.schema = NULL; + arg.len = 0; + arg.error = 0; + error = ioctl(fd, IOV_GET_SCHEMA, &arg); + if (error != 0) + err(1, "Could not fetch size of config schema"); + + arg.schema = malloc(arg.len); + if (arg.schema == NULL) + err(1, "Could not allocate %zu bytes for schema", + arg.len); + + /* Now do the ioctl() for real to get the schema. */ + error = ioctl(fd, IOV_GET_SCHEMA, &arg); + if (error != 0 || arg.error != 0) { + if (arg.error != 0) + errno = arg.error; + err(1, "Could not fetch config schema"); + } + + schema = nvlist_unpack(arg.schema, arg.len); + if (schema == NULL) + err(1, "Could not unpack schema"); + + free(arg.schema); + return (schema); +} + +/* + * Call the ioctl that activates SR-IOV and creates the VFs. + */ +static void +config_iov(int fd, const char *dev_name, const nvlist_t *config, int dryrun) +{ + struct pci_iov_arg arg; + int error; + + arg.config = nvlist_pack(config, &arg.len); + if (arg.config == NULL) + err(1, "Could not pack configuration"); + + if (dryrun) { + printf("Would enable SR-IOV on device '%s'.\n", dev_name); + printf( + "The following configuration parameters would be used:\n"); + nvlist_fdump(config, stdout); + printf( + "The configuration parameters consume %zu bytes when packed.\n", + arg.len); + } else { + error = ioctl(fd, IOV_CONFIG, &arg); + if (error != 0) + err(1, "Failed to configure SR-IOV"); + } + + free(arg.config); +} + +static int +open_device(const char *dev_name) +{ + char *dev; + int fd; + size_t copied, size; + long path_max; + + path_max = pathconf("/dev", _PC_PATH_MAX); + if (path_max < 0) + err(1, "Could not get maximum path length"); + + size = path_max; + dev = malloc(size); + if (dev == NULL) + err(1, "Could not allocate memory for device path"); + + if (dev_name[0] == '/') + copied = strlcpy(dev, dev_name, size); + else + copied = snprintf(dev, size, "/dev/iov/%s", dev_name); + + /* >= to account for null terminator. */ + if (copied >= size) + errx(1, "Provided file name too long"); + + fd = open(dev, O_RDWR); + if (fd < 0) + err(1, "Could not open device '%s'", dev); + + free(dev); + return (fd); +} + +static void +usage(void) +{ + + warnx("Usage: iovctl -C -f [-n]"); + warnx(" iovctl -D [-d | -f ] [-n]"); + warnx(" iovctl -S [-d | -f ]"); + exit(1); + +} + +enum main_action { + NONE, + CONFIG, + DELETE, + PRINT_SCHEMA, +}; + +int +main(int argc, char **argv) +{ + char *device; + const char *filename; + int ch, dryrun; + enum main_action action; + + device = NULL; + filename = NULL; + dryrun = 0; + action = NONE; + + while ((ch = getopt(argc, argv, "Cd:Df:nS")) != -1) { + switch (ch) { + case 'C': + if (action != NONE) { + warnx( + "Only one of -C, -D or -S may be specified"); + usage(); + } + action = CONFIG; + break; + case 'd': + device = strdup(optarg); + break; + case 'D': + if (action != NONE) { + warnx( + "Only one of -C, -D or -S may be specified"); + usage(); + } + action = DELETE; + break; + case 'f': + filename = optarg; + break; + case 'n': + dryrun = 1; + break; + case 'S': + if (action != NONE) { + warnx( + "Only one of -C, -D or -S may be specified"); + usage(); + } + action = PRINT_SCHEMA; + break; + case '?': + warnx("Unrecognized argument '-%c'\n", optopt); + usage(); + break; + } + } + + if (device != NULL && filename != NULL) { + warnx("Only one of the -d and -f flags may be specified"); + usage(); + } + + if (device == NULL && filename == NULL) { + warnx("Either the -d or -f flag must be specified"); + usage(); + } + + switch (action) { + case CONFIG: + if (filename == NULL) { + warnx("-d flag cannot be used with the -C flag"); + usage(); + } + config_action(filename, dryrun); + break; + case DELETE: + if (device == NULL) + device = find_device(filename); + delete_action(device, dryrun); + free(device); + break; + case PRINT_SCHEMA: + if (dryrun) { + warnx("-n flag cannot be used with the -S flag"); + usage(); + } + if (device == NULL) + device = find_device(filename); + print_schema(device); + free(device); + break; + default: + usage(); + break; + } + + exit(0); +} + +static void +config_action(const char *filename, int dryrun) +{ + char *dev; + nvlist_t *schema, *config; + int fd; + + dev = find_device(filename); + fd = open(dev, O_RDWR); + if (fd < 0) + err(1, "Could not open device '%s'", dev); + + schema = get_schema(fd); + config = parse_config_file(filename, schema); + if (config == NULL) + errx(1, "Could not parse config"); + + config_iov(fd, dev, config, dryrun); + + nvlist_destroy(config); + nvlist_destroy(schema); + free(dev); + close(fd); +} + +static void +delete_action(const char *dev_name, int dryrun) +{ + int fd, error; + + fd = open_device(dev_name); + + if (dryrun) + printf("Would attempt to delete all VF children of '%s'\n", + dev_name); + else { + error = ioctl(fd, IOV_DELETE); + if (error != 0) + err(1, "Failed to delete VFs"); + } + + close(fd); +} + +static void +print_default_value(const nvlist_t *parameter, const char *type) +{ + const uint8_t *mac; + size_t size; + + if (strcasecmp(type, "bool") == 0) + printf(" (default = %s)", + nvlist_get_bool(parameter, DEFAULT_SCHEMA_NAME) ? "true" : + "false"); + else if (strcasecmp(type, "string") == 0) + printf(" (default = %s)", + nvlist_get_string(parameter, DEFAULT_SCHEMA_NAME)); + else if (strcasecmp(type, "uint8_t") == 0) + printf(" (default = %ju)", + (uintmax_t)nvlist_get_number(parameter, + DEFAULT_SCHEMA_NAME)); + else if (strcasecmp(type, "uint16_t") == 0) + printf(" (default = %ju)", + (uintmax_t)nvlist_get_number(parameter, + DEFAULT_SCHEMA_NAME)); + else if (strcasecmp(type, "uint32_t") == 0) + printf(" (default = %ju)", + (uintmax_t)nvlist_get_number(parameter, + DEFAULT_SCHEMA_NAME)); + else if (strcasecmp(type, "uint64_t") == 0) + printf(" (default = %ju)", + (uintmax_t)nvlist_get_number(parameter, + DEFAULT_SCHEMA_NAME)); + else if (strcasecmp(type, "unicast-mac") == 0) { + mac = nvlist_get_binary(parameter, DEFAULT_SCHEMA_NAME, &size); + printf(" (default = %02x:%02x:%02x:%02x:%02x:%02x)", mac[0], + mac[1], mac[2], mac[3], mac[4], mac[5]); + } else + errx(1, "Unexpected type in schema: '%s'", type); +} + +static void +print_subsystem_schema(const nvlist_t * subsystem_schema) +{ + const char *name, *type; + const nvlist_t *parameter; + void *it; + int nvtype; + + it = NULL; + while ((name = nvlist_next(subsystem_schema, &nvtype, &it)) != NULL) { + parameter = nvlist_get_nvlist(subsystem_schema, name); + type = nvlist_get_string(parameter, TYPE_SCHEMA_NAME); + + printf("\t%s : %s", name, type); + if (dnvlist_get_bool(parameter, REQUIRED_SCHEMA_NAME, false)) + printf(" (required)"); + else if (nvlist_exists(parameter, DEFAULT_SCHEMA_NAME)) + print_default_value(parameter, type); + else + printf(" (optional)"); + printf("\n"); + } +} + +static void +print_schema(const char *dev_name) +{ + nvlist_t *schema; + const nvlist_t *iov_schema, *driver_schema, *pf_schema, *vf_schema; + int fd; + + fd = open_device(dev_name); + schema = get_schema(fd); + + pf_schema = nvlist_get_nvlist(schema, PF_CONFIG_NAME); + iov_schema = nvlist_get_nvlist(pf_schema, IOV_CONFIG_NAME); + driver_schema = nvlist_get_nvlist(pf_schema, DRIVER_CONFIG_NAME); + printf( +"The following configuration parameters may be configured on the PF:\n"); + print_subsystem_schema(iov_schema); + print_subsystem_schema(driver_schema); + + vf_schema = nvlist_get_nvlist(schema, VF_SCHEMA_NAME); + iov_schema = nvlist_get_nvlist(vf_schema, IOV_CONFIG_NAME); + driver_schema = nvlist_get_nvlist(vf_schema, DRIVER_CONFIG_NAME); + printf( +"\nThe following configuration parameters may be configured on a VF:\n"); + print_subsystem_schema(iov_schema); + print_subsystem_schema(driver_schema); + + nvlist_destroy(schema); + close(fd); +} Copied and modified: user/ngie/stable-10-libnv/usr.sbin/iovctl/iovctl.conf.5 (from r279458, head/usr.sbin/iovctl/iovctl.conf.5) ============================================================================== --- head/usr.sbin/iovctl/iovctl.conf.5 Sun Mar 1 00:52:21 2015 (r279458, copy source) +++ user/ngie/stable-10-libnv/usr.sbin/iovctl/iovctl.conf.5 Sun Jan 3 06:51:57 2016 (r293078) @@ -91,7 +91,7 @@ An individual VF section may override a providing a different value for the configuration parameter. Note that the default section applies to ALL VFs. The default section must appear before any VF sections. -The default may appear before or after the PF section. +The default section may appear before or after the PF section. .Pp The following option types are supported: .Bl -tag -width indent Copied: user/ngie/stable-10-libnv/usr.sbin/iovctl/iovctl.h (from r279461, head/usr.sbin/iovctl/iovctl.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/stable-10-libnv/usr.sbin/iovctl/iovctl.h Sun Jan 3 06:51:57 2016 (r293078, copy of r279461, head/usr.sbin/iovctl/iovctl.h) @@ -0,0 +1,37 @@ +/*- + * Copyright (c) 2013-2015 Sandvine Inc. All rights reserved. + * 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. + * + * 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 MERCHANTABILITY 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$ + */ + +#ifndef IOVCTL_H +#define IOVCTL_H + +char * find_device(const char *); +nvlist_t * parse_config_file(const char *, const nvlist_t *); +void validate_config(nvlist_t *, const nvlist_t *, const regex_t *); + +#endif + Copied: user/ngie/stable-10-libnv/usr.sbin/iovctl/parse.c (from r279460, head/usr.sbin/iovctl/parse.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/stable-10-libnv/usr.sbin/iovctl/parse.c Sun Jan 3 06:51:57 2016 (r293078, copy of r279460, head/usr.sbin/iovctl/parse.c) @@ -0,0 +1,416 @@ +/*- + * Copyright (c) 2014-2015 Sandvine Inc. All rights reserved. + * 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. + * + * 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 MERCHANTABILITY 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. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "iovctl.h" + +static void +report_config_error(const char *key, const ucl_object_t *obj, const char *type) +{ + + errx(1, "Value '%s' of key '%s' is not of type %s", + ucl_object_tostring(obj), key, type); +} + +/* + * Verifies that the value specified in the config file is a boolean value, and + * then adds the value to the configuration. + */ +static void +add_bool_config(const char *key, const ucl_object_t *obj, nvlist_t *config) +{ + bool val; + + if (!ucl_object_toboolean_safe(obj, &val)) + report_config_error(key, obj, "bool"); + + nvlist_add_bool(config, key, val); +} + +/* + * Verifies that the value specified in the config file is a string, and then + * adds the value to the configuration. + */ +static void +add_string_config(const char *key, const ucl_object_t *obj, nvlist_t *config) +{ + const char *val; + + if (!ucl_object_tostring_safe(obj, &val)) + report_config_error(key, obj, "string"); + + nvlist_add_string(config, key, val); +} + +/* + * Verifies that the value specified in the config file is a integer value + * within the specified range, and then adds the value to the configuration. + */ +static void +add_uint_config(const char *key, const ucl_object_t *obj, nvlist_t *config, + const char *type, uint64_t max) +{ + int64_t val; + uint64_t uval; + + /* I must use a signed type here as libucl doesn't provide unsigned. */ + if (!ucl_object_toint_safe(obj, &val)) + report_config_error(key, obj, type); + + if (val < 0) + report_config_error(key, obj, type); + + uval = val; + if (uval > max) + report_config_error(key, obj, type); + + nvlist_add_number(config, key, uval); +} + +/* + * Verifies that the value specified in the config file is a unicast MAC + * address, and then adds the value to the configuration. + */ +static void +add_unicast_mac_config(const char *key, const ucl_object_t *obj, nvlist_t *config) +{ + uint8_t mac[ETHER_ADDR_LEN]; + const char *val, *token; + char *parse, *orig_parse, *tokpos, *endpos; + size_t len; + u_long value; + int i; + + if (!ucl_object_tostring_safe(obj, &val)) + report_config_error(key, obj, "unicast-mac"); + + parse = strdup(val); + orig_parse = parse; + + i = 0; + while ((token = strtok_r(parse, ":", &tokpos)) != NULL) { + parse = NULL; + + len = strlen(token); + if (len < 1 || len > 2) + report_config_error(key, obj, "unicast-mac"); + + value = strtoul(token, &endpos, 16); + + if (*endpos != '\0') + report_config_error(key, obj, "unicast-mac"); + + if (value > UINT8_MAX) + report_config_error(key, obj, "unicast-mac"); + + if (i >= ETHER_ADDR_LEN) + report_config_error(key, obj, "unicast-mac"); + + mac[i] = value; + i++; + } + + free(orig_parse); + + if (i != ETHER_ADDR_LEN) + report_config_error(key, obj, "unicast-mac"); + + if (ETHER_IS_MULTICAST(mac)) + errx(1, "Value '%s' of key '%s' is a multicast address", + ucl_object_tostring(obj), key); + + nvlist_add_binary(config, key, mac, ETHER_ADDR_LEN); +} + +/* + * Validates that the given configuation value has the right type as specified + * in the schema, and then adds the value to the configuation node. + */ +static void +add_config(const char *key, const ucl_object_t *obj, nvlist_t *config, + const nvlist_t *schema) +{ + const char *type; + + type = nvlist_get_string(schema, TYPE_SCHEMA_NAME); + + if (strcasecmp(type, "bool") == 0) + add_bool_config(key, obj, config); + else if (strcasecmp(type, "string") == 0) + add_string_config(key, obj, config); + else if (strcasecmp(type, "uint8_t") == 0) + add_uint_config(key, obj, config, type, UINT8_MAX); + else if (strcasecmp(type, "uint16_t") == 0) + add_uint_config(key, obj, config, type, UINT16_MAX); + else if (strcasecmp(type, "uint32_t") == 0) + add_uint_config(key, obj, config, type, UINT32_MAX); + else if (strcasecmp(type, "uint64_t") == 0) + add_uint_config(key, obj, config, type, UINT64_MAX); + else if (strcasecmp(type, "unicast-mac") == 0) + add_unicast_mac_config(key, obj, config); + else + errx(1, "Unexpected type '%s' in schema", type); +} + +/* + * Parses all values specified in a device section in the configuration file, + * validates that the key/value pair is valid in the schema, and then adds + * the key/value pair to the correct subsystem in the config. + */ +static void +parse_device_config(const ucl_object_t *top, nvlist_t *config, + const char *subsystem, const nvlist_t *schema) +{ + ucl_object_iter_t it; + const ucl_object_t *obj; + nvlist_t *subsystem_config, *driver_config, *iov_config; + const nvlist_t *driver_schema, *iov_schema; + const char *key; + + if (nvlist_exists(config, subsystem)) + errx(1, "Multiple definitions of '%s' in config file", + subsystem); + + driver_schema = nvlist_get_nvlist(schema, DRIVER_CONFIG_NAME); + iov_schema = nvlist_get_nvlist(schema, IOV_CONFIG_NAME); + + driver_config = nvlist_create(NV_FLAG_IGNORE_CASE); + if (driver_config == NULL) + err(1, "Could not allocate config nvlist"); + + iov_config = nvlist_create(NV_FLAG_IGNORE_CASE); + if (iov_config == NULL) + err(1, "Could not allocate config nvlist"); + + subsystem_config = nvlist_create(NV_FLAG_IGNORE_CASE); + if (subsystem_config == NULL) + err(1, "Could not allocate config nvlist"); + + it = NULL; + while ((obj = ucl_iterate_object(top, &it, true)) != NULL) { + key = ucl_object_key(obj); + + if (nvlist_exists_nvlist(iov_schema, key)) + add_config(key, obj, iov_config, + nvlist_get_nvlist(iov_schema, key)); + else if (nvlist_exists_nvlist(driver_schema, key)) + add_config(key, obj, driver_config, + nvlist_get_nvlist(driver_schema, key)); + else + errx(1, "%s: Invalid config key '%s'", subsystem, key); + } + + nvlist_move_nvlist(subsystem_config, DRIVER_CONFIG_NAME, driver_config); + nvlist_move_nvlist(subsystem_config, IOV_CONFIG_NAME, iov_config); + nvlist_move_nvlist(config, subsystem, subsystem_config); +} + +/* + * Parses the specified config file using the given schema, and returns an + * nvlist containing the configuration specified by the file. + * + * Exits with a message to stderr and an error if any config validation fails. + */ +nvlist_t * +parse_config_file(const char *filename, const nvlist_t *schema) +{ + ucl_object_iter_t it; + struct ucl_parser *parser; + ucl_object_t *top; + const ucl_object_t *obj; + nvlist_t *config; + const nvlist_t *pf_schema, *vf_schema; + const char *errmsg, *key; + regex_t vf_pat; + int regex_err, processed_vf; + + regex_err = regcomp(&vf_pat, "^"VF_PREFIX"([1-9][0-9]*|0)$", + REG_EXTENDED | REG_ICASE); + if (regex_err != 0) + errx(1, "Could not compile VF regex"); + + parser = ucl_parser_new(0); + if (parser == NULL) + err(1, "Could not allocate parser"); + + if (!ucl_parser_add_file(parser, filename)) + err(1, "Could not open '%s' for reading", filename); + + errmsg = ucl_parser_get_error(parser); + if (errmsg != NULL) + errx(1, "Could not parse '%s': %s", filename, errmsg); + + config = nvlist_create(NV_FLAG_IGNORE_CASE); + if (config == NULL) + err(1, "Could not allocate config nvlist"); + + pf_schema = nvlist_get_nvlist(schema, PF_CONFIG_NAME); + vf_schema = nvlist_get_nvlist(schema, VF_SCHEMA_NAME); + + processed_vf = 0; + top = ucl_parser_get_object(parser); + it = NULL; + while ((obj = ucl_iterate_object(top, &it, true)) != NULL) { + key = ucl_object_key(obj); + + if (strcasecmp(key, PF_CONFIG_NAME) == 0) + parse_device_config(obj, config, key, pf_schema); + else if (strcasecmp(key, DEFAULT_SCHEMA_NAME) == 0) { + /* + * Enforce that the default section must come before all + * VF sections. This will hopefully prevent confusing + * the user by having a default value apply to a VF + * that was declared earlier in the file. + * + * This also gives us the flexibility to extend the file + * format in the future to allow for multiple default + * sections that do only apply to subsequent VF + * sections. + */ + if (processed_vf) + errx(1, + "'default' section must precede all VF sections"); + + parse_device_config(obj, config, key, vf_schema); + } else if (regexec(&vf_pat, key, 0, NULL, 0) == 0) { + processed_vf = 1; + parse_device_config(obj, config, key, vf_schema); + } else + errx(1, "Unexpected top-level node: %s", key); + } + + validate_config(config, schema, &vf_pat); + + ucl_object_unref(top); + ucl_parser_free(parser); + regfree(&vf_pat); + + return (config); +} + +/* + * Parse the PF configuration section for and return the value specified for + * the device parameter, or NULL if the device is not specified. + */ +static const char * +find_pf_device(const ucl_object_t *pf) +{ + ucl_object_iter_t it; + const ucl_object_t *obj; + const char *key, *device; + + it = NULL; + while ((obj = ucl_iterate_object(pf, &it, true)) != NULL) { + key = ucl_object_key(obj); + + if (strcasecmp(key, "device") == 0) { + if (!ucl_object_tostring_safe(obj, &device)) + err(1, + "Config PF.device must be a string"); + + return (device); + } + } + + return (NULL); +} + +/* + * Manually parse the config file looking for the name of the PF device. We + * have to do this separately because we need the config schema to call the + * normal config file parsing code, and we need to know the name of the PF + * device so that we can fetch the schema from it. + * + * This will always exit on failure, so if it returns then it is guaranteed to + * have returned a valid device name. + */ +char * +find_device(const char *filename) +{ + char *device; + const char *deviceName; + ucl_object_iter_t it; + struct ucl_parser *parser; + ucl_object_t *top; + const ucl_object_t *obj; + const char *errmsg, *key; + int error; + + device = NULL; + deviceName = NULL; + + parser = ucl_parser_new(0); + if (parser == NULL) + err(1, "Could not allocate parser"); + + if (!ucl_parser_add_file(parser, filename)) + err(1, "Could not open '%s' for reading", filename); + + errmsg = ucl_parser_get_error(parser); + if (errmsg != NULL) + errx(1, "Could not parse '%s': %s", filename, errmsg); + + top = ucl_parser_get_object (parser); + it = NULL; + while ((obj = ucl_iterate_object(top, &it, true)) != NULL) { + key = ucl_object_key(obj); + + if (strcasecmp(key, PF_CONFIG_NAME) == 0) { + deviceName = find_pf_device(obj); + break; + } + } + + if (deviceName == NULL) + errx(1, "Config file does not specify device"); + + error = asprintf(&device, "/dev/iov/%s", deviceName); + if (error < 0) + err(1, "Could not allocate memory for device"); + + ucl_object_unref(top); + ucl_parser_free(parser); + + return (device); +} Copied: user/ngie/stable-10-libnv/usr.sbin/iovctl/validate.c (from r279459, head/usr.sbin/iovctl/validate.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/stable-10-libnv/usr.sbin/iovctl/validate.c Sun Jan 3 06:51:57 2016 (r293078, copy of r279459, head/usr.sbin/iovctl/validate.c) @@ -0,0 +1,274 @@ +/*- + * Copyright (c) 2014-2015 Sandvine Inc. All rights reserved. + * 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. + * + * 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 MERCHANTABILITY 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. + */ + *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@freebsd.org Sun Jan 3 07:18:23 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B9A6EA5F01C for ; Sun, 3 Jan 2016 07:18:23 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 873A3113A; Sun, 3 Jan 2016 07:18:23 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u037IMcH092048; Sun, 3 Jan 2016 07:18:22 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u037IM7B092045; Sun, 3 Jan 2016 07:18:22 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601030718.u037IM7B092045@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 07:18:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293079 - in user/ngie/stable-10-libnv/sys: kern sys X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 07:18:23 -0000 Author: ngie Date: Sun Jan 3 07:18:22 2016 New Revision: 293079 URL: https://svnweb.freebsd.org/changeset/base/293079 Log: MFC r282248,r282258,r282282: r282248 (by oshogbo): Style fixes. r282258 (by oshogbo): Save errno from close override. r282282 (by oshogbo): Rename macros to use prefix ERRNO. Add macro ERRNO_SET. Now ERRNO_{RESTORE/SAVE} must by used together, additional variable is not needed. Always use ERRNO_{SAVE/RESTORE/SET} macros. Modified: user/ngie/stable-10-libnv/sys/kern/subr_nvlist.c user/ngie/stable-10-libnv/sys/kern/subr_nvpair.c user/ngie/stable-10-libnv/sys/sys/nv_impl.h Directory Properties: user/ngie/stable-10-libnv/ (props changed) Modified: user/ngie/stable-10-libnv/sys/kern/subr_nvlist.c ============================================================================== --- user/ngie/stable-10-libnv/sys/kern/subr_nvlist.c Sun Jan 3 06:51:57 2016 (r293078) +++ user/ngie/stable-10-libnv/sys/kern/subr_nvlist.c Sun Jan 3 07:18:22 2016 (r293079) @@ -142,12 +142,11 @@ void nvlist_destroy(nvlist_t *nvl) { nvpair_t *nvp; - int serrno; if (nvl == NULL) return; - SAVE_ERRNO(serrno); + ERRNO_SAVE(); NVLIST_ASSERT(nvl); @@ -158,7 +157,7 @@ nvlist_destroy(nvlist_t *nvl) nvl->nvl_magic = 0; nv_free(nvl); - RESTORE_ERRNO(serrno); + ERRNO_RESTORE(); } void @@ -275,7 +274,7 @@ nvlist_find(const nvlist_t *nvl, int typ } if (nvp == NULL) - RESTORE_ERRNO(ENOENT); + ERRNO_SET(ENOENT); return (nvp); } @@ -318,7 +317,7 @@ nvlist_clone(const nvlist_t *nvl) NVLIST_ASSERT(nvl); if (nvl->nvl_error != 0) { - RESTORE_ERRNO(nvl->nvl_error); + ERRNO_SET(nvl->nvl_error); return (NULL); } @@ -608,7 +607,7 @@ nvlist_xpack(const nvlist_t *nvl, int64_ NVLIST_ASSERT(nvl); if (nvl->nvl_error != 0) { - RESTORE_ERRNO(nvl->nvl_error); + ERRNO_SET(nvl->nvl_error); return (NULL); } @@ -698,12 +697,12 @@ nvlist_pack(const nvlist_t *nvl, size_t NVLIST_ASSERT(nvl); if (nvl->nvl_error != 0) { - RESTORE_ERRNO(nvl->nvl_error); + ERRNO_SET(nvl->nvl_error); return (NULL); } if (nvlist_ndescriptors(nvl) > 0) { - RESTORE_ERRNO(EOPNOTSUPP); + ERRNO_SET(EOPNOTSUPP); return (NULL); } @@ -715,11 +714,11 @@ nvlist_check_header(struct nvlist_header { if (nvlhdrp->nvlh_magic != NVLIST_HEADER_MAGIC) { - RESTORE_ERRNO(EINVAL); + ERRNO_SET(EINVAL); return (false); } if ((nvlhdrp->nvlh_flags & ~NV_FLAG_ALL_MASK) != 0) { - RESTORE_ERRNO(EINVAL); + ERRNO_SET(EINVAL); return (false); } #if BYTE_ORDER == BIG_ENDIAN @@ -771,7 +770,7 @@ nvlist_unpack_header(nvlist_t *nvl, cons return (ptr); failed: - RESTORE_ERRNO(EINVAL); + ERRNO_SET(EINVAL); return (NULL); } @@ -865,10 +864,10 @@ nvlist_send(int sock, const nvlist_t *nv int *fds; void *data; int64_t fdidx; - int serrno, ret; + int ret; if (nvlist_error(nvl) != 0) { - errno = nvlist_error(nvl); + ERRNO_SET(nvlist_error(nvl)); return (-1); } @@ -894,10 +893,10 @@ nvlist_send(int sock, const nvlist_t *nv ret = 0; out: - serrno = errno; + ERRNO_SAVE(); free(fds); free(data); - errno = serrno; + ERRNO_RESTORE(); return (ret); } @@ -908,7 +907,7 @@ nvlist_recv(int sock) nvlist_t *nvl, *ret; unsigned char *buf; size_t nfds, size, i; - int serrno, *fds; + int *fds; if (buf_recv(sock, &nvlhdr, sizeof(nvlhdr)) == -1) return (NULL); @@ -941,17 +940,19 @@ nvlist_recv(int sock) nvl = nvlist_xunpack(buf, size, fds, nfds); if (nvl == NULL) { + ERRNO_SAVE(); for (i = 0; i < nfds; i++) close(fds[i]); + ERRNO_RESTORE(); goto out; } ret = nvl; out: - serrno = errno; + ERRNO_SAVE(); free(buf); free(fds); - errno = serrno; + ERRNO_RESTORE(); return (ret); } @@ -1064,19 +1065,19 @@ nvlist_add_nvpair(nvlist_t *nvl, const n NVPAIR_ASSERT(nvp); if (nvlist_error(nvl) != 0) { - RESTORE_ERRNO(nvlist_error(nvl)); + ERRNO_SET(nvlist_error(nvl)); return; } if (nvlist_exists(nvl, nvpair_name(nvp))) { nvl->nvl_error = EEXIST; - RESTORE_ERRNO(nvlist_error(nvl)); + ERRNO_SET(nvlist_error(nvl)); return; } newnvp = nvpair_clone(nvp); if (newnvp == NULL) { nvl->nvl_error = ERRNO_OR_DEFAULT(ENOMEM); - RESTORE_ERRNO(nvlist_error(nvl)); + ERRNO_SET(nvlist_error(nvl)); return; } @@ -1100,16 +1101,17 @@ nvlist_add_stringv(nvlist_t *nvl, const nvpair_t *nvp; if (nvlist_error(nvl) != 0) { - RESTORE_ERRNO(nvlist_error(nvl)); + ERRNO_SET(nvlist_error(nvl)); return; } nvp = nvpair_create_stringv(name, valuefmt, valueap); if (nvp == NULL) { nvl->nvl_error = ERRNO_OR_DEFAULT(ENOMEM); - RESTORE_ERRNO(nvl->nvl_error); - } else + ERRNO_SET(nvl->nvl_error); + } else { nvlist_move_nvpair(nvl, nvp); + } } void @@ -1118,16 +1120,17 @@ nvlist_add_null(nvlist_t *nvl, const cha nvpair_t *nvp; if (nvlist_error(nvl) != 0) { - RESTORE_ERRNO(nvlist_error(nvl)); + ERRNO_SET(nvlist_error(nvl)); return; } nvp = nvpair_create_null(name); if (nvp == NULL) { nvl->nvl_error = ERRNO_OR_DEFAULT(ENOMEM); - RESTORE_ERRNO(nvl->nvl_error); - } else + ERRNO_SET(nvl->nvl_error); + } else { nvlist_move_nvpair(nvl, nvp); + } } void @@ -1136,16 +1139,17 @@ nvlist_add_bool(nvlist_t *nvl, const cha nvpair_t *nvp; if (nvlist_error(nvl) != 0) { - RESTORE_ERRNO(nvlist_error(nvl)); + ERRNO_SET(nvlist_error(nvl)); return; } nvp = nvpair_create_bool(name, value); if (nvp == NULL) { nvl->nvl_error = ERRNO_OR_DEFAULT(ENOMEM); - RESTORE_ERRNO(nvl->nvl_error); - } else + ERRNO_SET(nvl->nvl_error); + } else { nvlist_move_nvpair(nvl, nvp); + } } void @@ -1154,16 +1158,17 @@ nvlist_add_number(nvlist_t *nvl, const c nvpair_t *nvp; if (nvlist_error(nvl) != 0) { - RESTORE_ERRNO(nvlist_error(nvl)); + ERRNO_SET(nvlist_error(nvl)); return; } nvp = nvpair_create_number(name, value); if (nvp == NULL) { nvl->nvl_error = ERRNO_OR_DEFAULT(ENOMEM); - RESTORE_ERRNO(nvl->nvl_error); - } else + ERRNO_SET(nvl->nvl_error); + } else { nvlist_move_nvpair(nvl, nvp); + } } void @@ -1172,16 +1177,17 @@ nvlist_add_string(nvlist_t *nvl, const c nvpair_t *nvp; if (nvlist_error(nvl) != 0) { - RESTORE_ERRNO(nvlist_error(nvl)); + ERRNO_SET(nvlist_error(nvl)); return; } nvp = nvpair_create_string(name, value); if (nvp == NULL) { nvl->nvl_error = ERRNO_OR_DEFAULT(ENOMEM); - RESTORE_ERRNO(nvl->nvl_error); - } else + ERRNO_SET(nvl->nvl_error); + } else { nvlist_move_nvpair(nvl, nvp); + } } void @@ -1190,16 +1196,17 @@ nvlist_add_nvlist(nvlist_t *nvl, const c nvpair_t *nvp; if (nvlist_error(nvl) != 0) { - RESTORE_ERRNO(nvlist_error(nvl)); + ERRNO_SET(nvlist_error(nvl)); return; } nvp = nvpair_create_nvlist(name, value); if (nvp == NULL) { nvl->nvl_error = ERRNO_OR_DEFAULT(ENOMEM); - RESTORE_ERRNO(nvl->nvl_error); - } else + ERRNO_SET(nvl->nvl_error); + } else { nvlist_move_nvpair(nvl, nvp); + } } #ifndef _KERNEL @@ -1228,16 +1235,17 @@ nvlist_add_binary(nvlist_t *nvl, const c nvpair_t *nvp; if (nvlist_error(nvl) != 0) { - RESTORE_ERRNO(nvlist_error(nvl)); + ERRNO_SET(nvlist_error(nvl)); return; } nvp = nvpair_create_binary(name, value, size); if (nvp == NULL) { nvl->nvl_error = ERRNO_OR_DEFAULT(ENOMEM); - RESTORE_ERRNO(nvl->nvl_error); - } else + ERRNO_SET(nvl->nvl_error); + } else { nvlist_move_nvpair(nvl, nvp); + } } void @@ -1249,13 +1257,13 @@ nvlist_move_nvpair(nvlist_t *nvl, nvpair if (nvlist_error(nvl) != 0) { nvpair_free(nvp); - RESTORE_ERRNO(nvlist_error(nvl)); + ERRNO_SET(nvlist_error(nvl)); return; } if (nvlist_exists(nvl, nvpair_name(nvp))) { nvpair_free(nvp); nvl->nvl_error = EEXIST; - RESTORE_ERRNO(nvl->nvl_error); + ERRNO_SET(nvl->nvl_error); return; } @@ -1269,16 +1277,17 @@ nvlist_move_string(nvlist_t *nvl, const if (nvlist_error(nvl) != 0) { nv_free(value); - RESTORE_ERRNO(nvlist_error(nvl)); + ERRNO_SET(nvlist_error(nvl)); return; } nvp = nvpair_move_string(name, value); if (nvp == NULL) { nvl->nvl_error = ERRNO_OR_DEFAULT(ENOMEM); - RESTORE_ERRNO(nvl->nvl_error); - } else + ERRNO_SET(nvl->nvl_error); + } else { nvlist_move_nvpair(nvl, nvp); + } } void @@ -1289,16 +1298,17 @@ nvlist_move_nvlist(nvlist_t *nvl, const if (nvlist_error(nvl) != 0) { if (value != NULL && nvlist_get_nvpair_parent(value) != NULL) nvlist_destroy(value); - RESTORE_ERRNO(nvlist_error(nvl)); + ERRNO_SET(nvlist_error(nvl)); return; } nvp = nvpair_move_nvlist(name, value); if (nvp == NULL) { nvl->nvl_error = ERRNO_OR_DEFAULT(ENOMEM); - RESTORE_ERRNO(nvl->nvl_error); - } else + ERRNO_SET(nvl->nvl_error); + } else { nvlist_move_nvpair(nvl, nvp); + } } #ifndef _KERNEL @@ -1309,15 +1319,17 @@ nvlist_move_descriptor(nvlist_t *nvl, co if (nvlist_error(nvl) != 0) { close(value); - errno = nvlist_error(nvl); + ERRNO_SET(nvlist_error(nvl)); return; } nvp = nvpair_move_descriptor(name, value); - if (nvp == NULL) - nvl->nvl_error = errno = (errno != 0 ? errno : ENOMEM); - else + if (nvp == NULL) { + nvl->nvl_error = ERRNO_OR_DEFAULT(ENOMEM); + ERRNO_SET(nvl->nvl_error); + } else { nvlist_move_nvpair(nvl, nvp); + } } #endif @@ -1328,16 +1340,17 @@ nvlist_move_binary(nvlist_t *nvl, const if (nvlist_error(nvl) != 0) { nv_free(value); - RESTORE_ERRNO(nvlist_error(nvl)); + ERRNO_SET(nvlist_error(nvl)); return; } nvp = nvpair_move_binary(name, value, size); if (nvp == NULL) { nvl->nvl_error = ERRNO_OR_DEFAULT(ENOMEM); - RESTORE_ERRNO(nvl->nvl_error); - } else + ERRNO_SET(nvl->nvl_error); + } else { nvlist_move_nvpair(nvl, nvp); + } } const nvpair_t * Modified: user/ngie/stable-10-libnv/sys/kern/subr_nvpair.c ============================================================================== --- user/ngie/stable-10-libnv/sys/kern/subr_nvpair.c Sun Jan 3 06:51:57 2016 (r293078) +++ user/ngie/stable-10-libnv/sys/kern/subr_nvpair.c Sun Jan 3 07:18:22 2016 (r293079) @@ -468,7 +468,7 @@ nvpair_unpack_header(bool isbe, nvpair_t return (ptr); failed: - RESTORE_ERRNO(EINVAL); + ERRNO_SET(EINVAL); return (NULL); } @@ -480,7 +480,7 @@ nvpair_unpack_null(bool isbe __unused, n PJDLOG_ASSERT(nvp->nvp_type == NV_TYPE_NULL); if (nvp->nvp_datasize != 0) { - RESTORE_ERRNO(EINVAL); + ERRNO_SET(EINVAL); return (NULL); } @@ -496,11 +496,11 @@ nvpair_unpack_bool(bool isbe __unused, n PJDLOG_ASSERT(nvp->nvp_type == NV_TYPE_BOOL); if (nvp->nvp_datasize != sizeof(value)) { - RESTORE_ERRNO(EINVAL); + ERRNO_SET(EINVAL); return (NULL); } if (*leftp < sizeof(value)) { - RESTORE_ERRNO(EINVAL); + ERRNO_SET(EINVAL); return (NULL); } @@ -509,7 +509,7 @@ nvpair_unpack_bool(bool isbe __unused, n *leftp -= sizeof(value); if (value != 0 && value != 1) { - RESTORE_ERRNO(EINVAL); + ERRNO_SET(EINVAL); return (NULL); } @@ -526,11 +526,11 @@ nvpair_unpack_number(bool isbe, nvpair_t PJDLOG_ASSERT(nvp->nvp_type == NV_TYPE_NUMBER); if (nvp->nvp_datasize != sizeof(uint64_t)) { - RESTORE_ERRNO(EINVAL); + ERRNO_SET(EINVAL); return (NULL); } if (*leftp < sizeof(uint64_t)) { - RESTORE_ERRNO(EINVAL); + ERRNO_SET(EINVAL); return (NULL); } @@ -552,13 +552,13 @@ nvpair_unpack_string(bool isbe __unused, PJDLOG_ASSERT(nvp->nvp_type == NV_TYPE_STRING); if (*leftp < nvp->nvp_datasize || nvp->nvp_datasize == 0) { - RESTORE_ERRNO(EINVAL); + ERRNO_SET(EINVAL); return (NULL); } if (strnlen((const char *)ptr, nvp->nvp_datasize) != nvp->nvp_datasize - 1) { - RESTORE_ERRNO(EINVAL); + ERRNO_SET(EINVAL); return (NULL); } @@ -581,7 +581,7 @@ nvpair_unpack_nvlist(bool isbe __unused, PJDLOG_ASSERT(nvp->nvp_type == NV_TYPE_NVLIST); if (*leftp < nvp->nvp_datasize || nvp->nvp_datasize == 0) { - RESTORE_ERRNO(EINVAL); + ERRNO_SET(EINVAL); return (NULL); } @@ -609,11 +609,11 @@ nvpair_unpack_descriptor(bool isbe, nvpa PJDLOG_ASSERT(nvp->nvp_type == NV_TYPE_DESCRIPTOR); if (nvp->nvp_datasize != sizeof(idx)) { - errno = EINVAL; + ERRNO_SET(EINVAL); return (NULL); } if (*leftp < sizeof(idx)) { - errno = EINVAL; + ERRNO_SET(EINVAL); return (NULL); } @@ -623,12 +623,12 @@ nvpair_unpack_descriptor(bool isbe, nvpa idx = le64dec(ptr); if (idx < 0) { - errno = EINVAL; + ERRNO_SET(EINVAL); return (NULL); } if ((size_t)idx >= nfds) { - errno = EINVAL; + ERRNO_SET(EINVAL); return (NULL); } @@ -650,7 +650,7 @@ nvpair_unpack_binary(bool isbe __unused, PJDLOG_ASSERT(nvp->nvp_type == NV_TYPE_BINARY); if (*leftp < nvp->nvp_datasize || nvp->nvp_datasize == 0) { - RESTORE_ERRNO(EINVAL); + ERRNO_SET(EINVAL); return (NULL); } @@ -725,7 +725,7 @@ nvpair_allocv(const char *name, int type namelen = strlen(name); if (namelen >= NV_NAME_MAX) { - RESTORE_ERRNO(ENAMETOOLONG); + ERRNO_SET(ENAMETOOLONG); return (NULL); } @@ -802,7 +802,7 @@ nvpair_create_string(const char *name, c char *data; if (value == NULL) { - RESTORE_ERRNO(EINVAL); + ERRNO_SET(EINVAL); return (NULL); } @@ -826,7 +826,7 @@ nvpair_create_nvlist(const char *name, c nvpair_t *nvp; if (value == NULL) { - RESTORE_ERRNO(EINVAL); + ERRNO_SET(EINVAL); return (NULL); } @@ -850,7 +850,7 @@ nvpair_create_descriptor(const char *nam nvpair_t *nvp; if (value < 0 || !fd_is_valid(value)) { - errno = EBADF; + ERRNO_SET(EBADF); return (NULL); } @@ -860,8 +860,11 @@ nvpair_create_descriptor(const char *nam nvp = nvpair_allocv(name, NV_TYPE_DESCRIPTOR, (uint64_t)value, sizeof(int64_t)); - if (nvp == NULL) + if (nvp == NULL) { + ERRNO_SAVE(); close(value); + ERRNO_RESTORE(); + } return (nvp); } @@ -874,7 +877,7 @@ nvpair_create_binary(const char *name, c void *data; if (value == NULL || size == 0) { - RESTORE_ERRNO(EINVAL); + ERRNO_SET(EINVAL); return (NULL); } @@ -895,19 +898,18 @@ nvpair_t * nvpair_move_string(const char *name, char *value) { nvpair_t *nvp; - int serrno; if (value == NULL) { - RESTORE_ERRNO(EINVAL); + ERRNO_SET(EINVAL); return (NULL); } nvp = nvpair_allocv(name, NV_TYPE_STRING, (uint64_t)(uintptr_t)value, strlen(value) + 1); if (nvp == NULL) { - SAVE_ERRNO(serrno); + ERRNO_SAVE(); nv_free(value); - RESTORE_ERRNO(serrno); + ERRNO_RESTORE(); } return (nvp); @@ -919,12 +921,12 @@ nvpair_move_nvlist(const char *name, nvl nvpair_t *nvp; if (value == NULL || nvlist_get_nvpair_parent(value) != NULL) { - RESTORE_ERRNO(EINVAL); + ERRNO_SET(EINVAL); return (NULL); } if (nvlist_error(value) != 0) { - RESTORE_ERRNO(nvlist_error(value)); + ERRNO_SET(nvlist_error(value)); nvlist_destroy(value); return (NULL); } @@ -944,19 +946,18 @@ nvpair_t * nvpair_move_descriptor(const char *name, int value) { nvpair_t *nvp; - int serrno; if (value < 0 || !fd_is_valid(value)) { - errno = EBADF; + ERRNO_SET(EBADF); return (NULL); } nvp = nvpair_allocv(name, NV_TYPE_DESCRIPTOR, (uint64_t)value, sizeof(int64_t)); if (nvp == NULL) { - serrno = errno; + ERRNO_SAVE(); close(value); - errno = serrno; + ERRNO_RESTORE(); } return (nvp); @@ -967,19 +968,18 @@ nvpair_t * nvpair_move_binary(const char *name, void *value, size_t size) { nvpair_t *nvp; - int serrno; if (value == NULL || size == 0) { - RESTORE_ERRNO(EINVAL); + ERRNO_SET(EINVAL); return (NULL); } nvp = nvpair_allocv(name, NV_TYPE_BINARY, (uint64_t)(uintptr_t)value, size); if (nvp == NULL) { - SAVE_ERRNO(serrno); + ERRNO_SAVE(); nv_free(value); - RESTORE_ERRNO(serrno); + ERRNO_RESTORE(); } return (nvp); Modified: user/ngie/stable-10-libnv/sys/sys/nv_impl.h ============================================================================== --- user/ngie/stable-10-libnv/sys/sys/nv_impl.h Sun Jan 3 06:51:57 2016 (r293078) +++ user/ngie/stable-10-libnv/sys/sys/nv_impl.h Sun Jan 3 07:18:22 2016 (r293079) @@ -41,8 +41,8 @@ typedef struct nvpair nvpair_t; #define NV_TYPE_NVLIST_UP 255 -#define NV_TYPE_FIRST NV_TYPE_NULL -#define NV_TYPE_LAST NV_TYPE_BINARY +#define NV_TYPE_FIRST NV_TYPE_NULL +#define NV_TYPE_LAST NV_TYPE_BINARY #define NV_FLAG_BIG_ENDIAN 0x80 @@ -56,8 +56,9 @@ typedef struct nvpair nvpair_t; #define nv_strdup(buf) strdup((buf), M_NVLIST) #define nv_vasprintf(ptr, ...) vasprintf(ptr, M_NVLIST, __VA_ARGS__) -#define SAVE_ERRNO(var) ((void)(var)) -#define RESTORE_ERRNO(var) ((void)(var)) +#define ERRNO_SET(var) do { } while (0) +#define ERRNO_SAVE() do { do { } while(0) +#define ERRNO_RESTORE() } while (0) #define ERRNO_OR_DEFAULT(default) (default) @@ -70,8 +71,14 @@ typedef struct nvpair nvpair_t; #define nv_strdup(buf) strdup((buf)) #define nv_vasprintf(ptr, ...) vasprintf(ptr, __VA_ARGS__) -#define SAVE_ERRNO(var) (var) = errno -#define RESTORE_ERRNO(var) errno = (var) +#define ERRNO_SET(var) do { errno = (var); } while (0) +#define ERRNO_SAVE() do { \ + int _serrno; \ + \ + _serrno = errno + +#define ERRNO_RESTORE() errno = _serrno; \ + } while (0) #define ERRNO_OR_DEFAULT(default) (errno == 0 ? (default) : errno) From owner-svn-src-user@freebsd.org Sun Jan 3 07:30:14 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AE768A5F296 for ; Sun, 3 Jan 2016 07:30:14 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 77D5D14AD; Sun, 3 Jan 2016 07:30:14 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u037UDWu095332; Sun, 3 Jan 2016 07:30:13 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u037UCt0095323; Sun, 3 Jan 2016 07:30:12 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601030730.u037UCt0095323@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 07:30:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293080 - in user/ngie/stable-10-libnv: lib/libnv lib/libnv/tests sys/dev/pci sys/kern sys/sys usr.sbin/iovctl X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 07:30:14 -0000 Author: ngie Date: Sun Jan 3 07:30:12 2016 New Revision: 293080 URL: https://svnweb.freebsd.org/changeset/base/293080 Log: MFC r282251,r282283,r282346,r282347,r282349,r282350,r283156,r283158: r282251 (by oshogbo): Remove recursion from descriptor-related functions. r282283 (by oshogbo): Mark local function as static as a result of removing recursion. r282346 (by oshogbo): Approved, opr?cz u?ycie RESTORE_ERRNO() do ustawiania errno. Change the nvlist_recv() function to take additional argument that specifies flags expected on the received nvlist. Receiving a nvlist with different set of flags than the ones we expect might lead to undefined behaviour, which might be potentially dangerous. Update consumers of this and related functions and update the tests. Update man page for nvlist_unpack, nvlist_recv, nvlist_xfer, cap_recv_nvlist and cap_xfer_nvlist. r282347 (by oshogbo): Introduce the NV_FLAG_NO_UNIQUE flag. When set, it allows to store multiple values using the same key in a nvlist. Obtained from: WHEEL Systems (http://www.wheelsystems.com) Update man page. r282349 (by oshogbo): Remove duplicated code using macro template for the nvlist_add_.* functions. r282350 (by oshogbo): nv_malloc can fail in userland. Add check to prevent a NULL pointer dereference. Pointed out by: mjg r283156 (by oshogbo): Always use the nv_free function. r283158 (by oshogbo): Fix memory leak. Modified: user/ngie/stable-10-libnv/lib/libnv/nv.3 user/ngie/stable-10-libnv/lib/libnv/tests/nv_tests.cc user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_send_recv_test.c user/ngie/stable-10-libnv/sys/dev/pci/pci_iov.c user/ngie/stable-10-libnv/sys/kern/subr_nvlist.c user/ngie/stable-10-libnv/sys/kern/subr_nvpair.c user/ngie/stable-10-libnv/sys/sys/nv.h user/ngie/stable-10-libnv/sys/sys/nvlist_impl.h user/ngie/stable-10-libnv/usr.sbin/iovctl/iovctl.c Directory Properties: user/ngie/stable-10-libnv/ (props changed) Modified: user/ngie/stable-10-libnv/lib/libnv/nv.3 ============================================================================== --- user/ngie/stable-10-libnv/lib/libnv/nv.3 Sun Jan 3 07:18:22 2016 (r293079) +++ user/ngie/stable-10-libnv/lib/libnv/nv.3 Sun Jan 3 07:30:12 2016 (r293080) @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 1, 2015 +.Dd May 2, 2015 .Dt NV 3 .Os .Sh NAME @@ -85,14 +85,14 @@ .Ft "void *" .Fn nvlist_pack "const nvlist_t *nvl" "size_t *sizep" .Ft "nvlist_t *" -.Fn nvlist_unpack "const void *buf" "size_t size" +.Fn nvlist_unpack "const void *buf" "size_t size" "int flags" .\" .Ft int .Fn nvlist_send "int sock" "const nvlist_t *nvl" .Ft "nvlist_t *" -.Fn nvlist_recv "int sock" +.Fn nvlist_recv "int sock" "int flags" .Ft "nvlist_t *" -.Fn nvlist_xfer "int sock" "nvlist_t *nvl" +.Fn nvlist_xfer "int sock" "nvlist_t *nvl" "int flags" .\" .Ft "const char *" .Fn nvlist_next "const nvlist_t *nvl" "int *typep" "void **cookiep" @@ -232,6 +232,8 @@ The following flag can be provided: .Bl -tag -width "NV_FLAG_IGNORE_CASE" -compact -offset indent .It Dv NV_FLAG_IGNORE_CASE Perform case-insensitive lookups of provided names. +.It Dv NV_FLAG_NO_UNIQUE +Names in the nvlist do not have to be unique. .El .Pp The @@ -325,6 +327,18 @@ The nvlist must not be in error state. The .Fn nvlist_unpack function converts the given buffer to the nvlist. +The +.Fa flags +argument defines what type of the top level nvlist is expected to be. +Flags are set up using the +.Fn nvlist_create +function. +If the nvlist flags do not match the flags passed to +.Fn nvlist_unpack , +the nvlist will not be returned. +Every nested nvlist list should be checked using +.Fn nvlist_flags +function. The function returns .Dv NULL in case of an error. @@ -343,12 +357,36 @@ The function receives nvlist over the socket given by the .Fa sock argument. +The +.Fa flags +argument defines what type of the top level nvlist is expected to be. +Flags are set up using the +.Fn nvlist_create +function. +If the nvlist flags do not match the flags passed to +.Fn nvlist_recv , +the nvlist will not be returned. +Every nested nvlist list should be checked using +.Fn nvlist_flags +function. .Pp The .Fn nvlist_xfer function sends the given nvlist over the socket given by the .Fa sock argument and receives nvlist over the same socket. +The +.Fa flags +argument defines what type of the top level nvlist is expected to be. +Flags are set up using the +.Fn nvlist_create +function. +If the nvlist flags do not match the flags passed to +.Fn nvlist_xfer , +the nvlist will not be returned. +Every nested nvlist list should be checked using +.Fn nvlist_flags +function. The given nvlist is always destroyed. .Pp The @@ -559,7 +597,7 @@ const char *command; char *filename; int fd; -nvl = nvlist_recv(sock); +nvl = nvlist_recv(sock, 0); if (nvl == NULL) err(1, "nvlist_recv() failed"); @@ -588,7 +626,7 @@ const char *name; void *cookie; int type; -nvl = nvlist_recv(sock); +nvl = nvlist_recv(sock, 0); if (nvl == NULL) err(1, "nvlist_recv() failed"); @@ -617,7 +655,7 @@ const char *name; void *cookie; int type; -nvl = nvlist_recv(sock); +nvl = nvlist_recv(sock, 0); if (nvl == NULL) err(1, "nvlist_recv() failed"); Modified: user/ngie/stable-10-libnv/lib/libnv/tests/nv_tests.cc ============================================================================== --- user/ngie/stable-10-libnv/lib/libnv/tests/nv_tests.cc Sun Jan 3 07:18:22 2016 (r293079) +++ user/ngie/stable-10-libnv/lib/libnv/tests/nv_tests.cc Sun Jan 3 07:30:12 2016 (r293080) @@ -440,7 +440,7 @@ ATF_TEST_CASE_BODY(nvlist_pack__empty_nv packed = nvlist_pack(nvl, &packed_size); ATF_REQUIRE(packed != NULL); - unpacked = nvlist_unpack(packed, packed_size); + unpacked = nvlist_unpack(packed, packed_size, 0); ATF_REQUIRE(unpacked != NULL); ATF_REQUIRE(unpacked != nvl); ATF_REQUIRE(nvlist_empty(unpacked)); @@ -534,7 +534,7 @@ ATF_TEST_CASE_BODY(nvlist_pack__multiple packed = nvlist_pack(nvl, &packed_size); ATF_REQUIRE(packed != NULL); - unpacked = nvlist_unpack(packed, packed_size); + unpacked = nvlist_unpack(packed, packed_size, 0); ATF_REQUIRE(unpacked != 0); it = NULL; @@ -614,7 +614,7 @@ ATF_TEST_CASE_BODY(nvlist_unpack__duplic ATF_REQUIRE(keypos != NULL); memcpy(keypos, key2, keylen); - unpacked = nvlist_unpack(packed, size); + unpacked = nvlist_unpack(packed, size, 0); ATF_REQUIRE(nvlist_error(unpacked) != 0); free(packed); Modified: user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_send_recv_test.c ============================================================================== --- user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_send_recv_test.c Sun Jan 3 07:18:22 2016 (r293079) +++ user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_send_recv_test.c Sun Jan 3 07:30:12 2016 (r293080) @@ -95,7 +95,7 @@ parent(int sock) int type, ctype; size_t size; - nvl = nvlist_recv(sock); + nvl = nvlist_recv(sock, 0); CHECK(nvlist_error(nvl) == 0); if (nvlist_error(nvl) != 0) err(1, "nvlist_recv() failed"); Modified: user/ngie/stable-10-libnv/sys/dev/pci/pci_iov.c ============================================================================== --- user/ngie/stable-10-libnv/sys/dev/pci/pci_iov.c Sun Jan 3 07:18:22 2016 (r293079) +++ user/ngie/stable-10-libnv/sys/dev/pci/pci_iov.c Sun Jan 3 07:30:12 2016 (r293080) @@ -382,7 +382,7 @@ pci_iov_parse_config(struct pcicfg_iov * if (error != 0) goto out; - config = nvlist_unpack(packed_config, arg->len); + config = nvlist_unpack(packed_config, arg->len, NV_FLAG_IGNORE_CASE); if (config == NULL) { error = EINVAL; goto out; Modified: user/ngie/stable-10-libnv/sys/kern/subr_nvlist.c ============================================================================== --- user/ngie/stable-10-libnv/sys/kern/subr_nvlist.c Sun Jan 3 07:18:22 2016 (r293079) +++ user/ngie/stable-10-libnv/sys/kern/subr_nvlist.c Sun Jan 3 07:30:12 2016 (r293080) @@ -88,7 +88,7 @@ __FBSDID("$FreeBSD$"); #endif #define NV_FLAG_PRIVATE_MASK (NV_FLAG_BIG_ENDIAN) -#define NV_FLAG_PUBLIC_MASK (NV_FLAG_IGNORE_CASE) +#define NV_FLAG_PUBLIC_MASK (NV_FLAG_IGNORE_CASE | NV_FLAG_NO_UNIQUE) #define NV_FLAG_ALL_MASK (NV_FLAG_PRIVATE_MASK | NV_FLAG_PUBLIC_MASK) #define NVLIST_MAGIC 0x6e766c /* "nvl" */ @@ -129,6 +129,8 @@ nvlist_create(int flags) PJDLOG_ASSERT((flags & ~(NV_FLAG_PUBLIC_MASK)) == 0); nvl = nv_malloc(sizeof(*nvl)); + if (nvl == NULL) + return (NULL); nvl->nvl_error = 0; nvl->nvl_flags = flags; nvl->nvl_parent = NULL; @@ -488,27 +490,30 @@ out: #ifndef _KERNEL static int * -nvlist_xdescriptors(const nvlist_t *nvl, int *descs, int level) +nvlist_xdescriptors(const nvlist_t *nvl, int *descs) { - const nvpair_t *nvp; + nvpair_t *nvp; + const char *name; + int type; NVLIST_ASSERT(nvl); PJDLOG_ASSERT(nvl->nvl_error == 0); - PJDLOG_ASSERT(level < 3); - for (nvp = nvlist_first_nvpair(nvl); nvp != NULL; - nvp = nvlist_next_nvpair(nvl, nvp)) { - switch (nvpair_type(nvp)) { - case NV_TYPE_DESCRIPTOR: - *descs = nvpair_get_descriptor(nvp); - descs++; - break; - case NV_TYPE_NVLIST: - descs = nvlist_xdescriptors(nvpair_get_nvlist(nvp), - descs, level + 1); - break; + nvp = NULL; + do { + while ((name = nvlist_next(nvl, &type, (void**)&nvp)) != NULL) { + switch (type) { + case NV_TYPE_DESCRIPTOR: + *descs = nvpair_get_descriptor(nvp); + descs++; + break; + case NV_TYPE_NVLIST: + nvl = nvpair_get_nvlist(nvp); + nvp = NULL; + break; + } } - } + } while ((nvl = nvlist_get_parent(nvl, (void**)&nvp)) != NULL); return (descs); } @@ -526,7 +531,7 @@ nvlist_descriptors(const nvlist_t *nvl, if (fds == NULL) return (NULL); if (nitems > 0) - nvlist_xdescriptors(nvl, fds, 0); + nvlist_xdescriptors(nvl, fds); fds[nitems] = -1; if (nitemsp != NULL) *nitemsp = nitems; @@ -534,30 +539,33 @@ nvlist_descriptors(const nvlist_t *nvl, } #endif -static size_t -nvlist_xndescriptors(const nvlist_t *nvl, int level) +size_t +nvlist_ndescriptors(const nvlist_t *nvl) { #ifndef _KERNEL - const nvpair_t *nvp; + nvpair_t *nvp; + const char *name; size_t ndescs; + int type; NVLIST_ASSERT(nvl); PJDLOG_ASSERT(nvl->nvl_error == 0); - PJDLOG_ASSERT(level < 3); ndescs = 0; - for (nvp = nvlist_first_nvpair(nvl); nvp != NULL; - nvp = nvlist_next_nvpair(nvl, nvp)) { - switch (nvpair_type(nvp)) { - case NV_TYPE_DESCRIPTOR: - ndescs++; - break; - case NV_TYPE_NVLIST: - ndescs += nvlist_xndescriptors(nvpair_get_nvlist(nvp), - level + 1); - break; + nvp = NULL; + do { + while ((name = nvlist_next(nvl, &type, (void**)&nvp)) != NULL) { + switch (type) { + case NV_TYPE_DESCRIPTOR: + ndescs++; + break; + case NV_TYPE_NVLIST: + nvl = nvpair_get_nvlist(nvp); + nvp = NULL; + break; + } } - } + } while ((nvl = nvlist_get_parent(nvl, (void**)&nvp)) != NULL); return (ndescs); #else @@ -565,13 +573,6 @@ nvlist_xndescriptors(const nvlist_t *nvl #endif } -size_t -nvlist_ndescriptors(const nvlist_t *nvl) -{ - - return (nvlist_xndescriptors(nvl, 0)); -} - static unsigned char * nvlist_pack_header(const nvlist_t *nvl, unsigned char *ptr, size_t *leftp) { @@ -595,7 +596,7 @@ nvlist_pack_header(const nvlist_t *nvl, return (ptr); } -void * +static void * nvlist_xpack(const nvlist_t *nvl, int64_t *fdidxp, size_t *sizep) { unsigned char *buf, *ptr; @@ -774,8 +775,9 @@ failed: return (NULL); } -nvlist_t * -nvlist_xunpack(const void *buf, size_t size, const int *fds, size_t nfds) +static nvlist_t * +nvlist_xunpack(const void *buf, size_t size, const int *fds, size_t nfds, + int flags) { const unsigned char *ptr; nvlist_t *nvl, *retnvl, *tmpnvl; @@ -783,6 +785,8 @@ nvlist_xunpack(const void *buf, size_t s size_t left; bool isbe; + PJDLOG_ASSERT((flags & ~(NV_FLAG_PUBLIC_MASK)) == 0); + left = size; ptr = buf; @@ -794,6 +798,10 @@ nvlist_xunpack(const void *buf, size_t s ptr = nvlist_unpack_header(nvl, ptr, nfds, &isbe, &left); if (ptr == NULL) goto failed; + if (nvl->nvl_flags != flags) { + ERRNO_SET(EILSEQ); + goto failed; + } while (left > 0) { ptr = nvpair_unpack(isbe, ptr, &left, &nvp); @@ -830,6 +838,7 @@ nvlist_xunpack(const void *buf, size_t s if (nvl->nvl_parent == NULL) goto failed; nvl = nvpair_nvlist(nvl->nvl_parent); + nvpair_free_structure(nvp); continue; default: PJDLOG_ABORT("Invalid type (%d).", nvpair_type(nvp)); @@ -850,10 +859,10 @@ failed: } nvlist_t * -nvlist_unpack(const void *buf, size_t size) +nvlist_unpack(const void *buf, size_t size, int flags) { - return (nvlist_xunpack(buf, size, NULL, 0)); + return (nvlist_xunpack(buf, size, NULL, 0, flags)); } #ifndef _KERNEL @@ -894,14 +903,14 @@ nvlist_send(int sock, const nvlist_t *nv ret = 0; out: ERRNO_SAVE(); - free(fds); - free(data); + nv_free(fds); + nv_free(data); ERRNO_RESTORE(); return (ret); } nvlist_t * -nvlist_recv(int sock) +nvlist_recv(int sock, int flags) { struct nvlist_header nvlhdr; nvlist_t *nvl, *ret; @@ -938,7 +947,7 @@ nvlist_recv(int sock) goto out; } - nvl = nvlist_xunpack(buf, size, fds, nfds); + nvl = nvlist_xunpack(buf, size, fds, nfds, flags); if (nvl == NULL) { ERRNO_SAVE(); for (i = 0; i < nfds; i++) @@ -950,15 +959,15 @@ nvlist_recv(int sock) ret = nvl; out: ERRNO_SAVE(); - free(buf); - free(fds); + nv_free(buf); + nv_free(fds); ERRNO_RESTORE(); return (ret); } nvlist_t * -nvlist_xfer(int sock, nvlist_t *nvl) +nvlist_xfer(int sock, nvlist_t *nvl, int flags) { if (nvlist_send(sock, nvl) < 0) { @@ -966,7 +975,7 @@ nvlist_xfer(int sock, nvlist_t *nvl) return (NULL); } nvlist_destroy(nvl); - return (nvlist_recv(sock)); + return (nvlist_recv(sock, flags)); } #endif @@ -1068,10 +1077,12 @@ nvlist_add_nvpair(nvlist_t *nvl, const n ERRNO_SET(nvlist_error(nvl)); return; } - if (nvlist_exists(nvl, nvpair_name(nvp))) { - nvl->nvl_error = EEXIST; - ERRNO_SET(nvlist_error(nvl)); - return; + if ((nvl->nvl_flags & NV_FLAG_NO_UNIQUE) == 0) { + if (nvlist_exists(nvl, nvpair_name(nvp))) { + nvl->nvl_error = EEXIST; + ERRNO_SET(nvlist_error(nvl)); + return; + } } newnvp = nvpair_clone(nvp); @@ -1134,45 +1145,8 @@ nvlist_add_null(nvlist_t *nvl, const cha } void -nvlist_add_bool(nvlist_t *nvl, const char *name, bool value) -{ - nvpair_t *nvp; - - if (nvlist_error(nvl) != 0) { - ERRNO_SET(nvlist_error(nvl)); - return; - } - - nvp = nvpair_create_bool(name, value); - if (nvp == NULL) { - nvl->nvl_error = ERRNO_OR_DEFAULT(ENOMEM); - ERRNO_SET(nvl->nvl_error); - } else { - nvlist_move_nvpair(nvl, nvp); - } -} - -void -nvlist_add_number(nvlist_t *nvl, const char *name, uint64_t value) -{ - nvpair_t *nvp; - - if (nvlist_error(nvl) != 0) { - ERRNO_SET(nvlist_error(nvl)); - return; - } - - nvp = nvpair_create_number(name, value); - if (nvp == NULL) { - nvl->nvl_error = ERRNO_OR_DEFAULT(ENOMEM); - ERRNO_SET(nvl->nvl_error); - } else { - nvlist_move_nvpair(nvl, nvp); - } -} - -void -nvlist_add_string(nvlist_t *nvl, const char *name, const char *value) +nvlist_add_binary(nvlist_t *nvl, const char *name, const void *value, + size_t size) { nvpair_t *nvp; @@ -1181,7 +1155,7 @@ nvlist_add_string(nvlist_t *nvl, const c return; } - nvp = nvpair_create_string(name, value); + nvp = nvpair_create_binary(name, value, size); if (nvp == NULL) { nvl->nvl_error = ERRNO_OR_DEFAULT(ENOMEM); ERRNO_SET(nvl->nvl_error); @@ -1190,63 +1164,36 @@ nvlist_add_string(nvlist_t *nvl, const c } } -void -nvlist_add_nvlist(nvlist_t *nvl, const char *name, const nvlist_t *value) -{ - nvpair_t *nvp; - - if (nvlist_error(nvl) != 0) { - ERRNO_SET(nvlist_error(nvl)); - return; - } - nvp = nvpair_create_nvlist(name, value); - if (nvp == NULL) { - nvl->nvl_error = ERRNO_OR_DEFAULT(ENOMEM); - ERRNO_SET(nvl->nvl_error); - } else { - nvlist_move_nvpair(nvl, nvp); - } +#define NVLIST_ADD(vtype, type) \ +void \ +nvlist_add_##type(nvlist_t *nvl, const char *name, vtype value) \ +{ \ + nvpair_t *nvp; \ + \ + if (nvlist_error(nvl) != 0) { \ + ERRNO_SET(nvlist_error(nvl)); \ + return; \ + } \ + \ + nvp = nvpair_create_##type(name, value); \ + if (nvp == NULL) { \ + nvl->nvl_error = ERRNO_OR_DEFAULT(ENOMEM); \ + ERRNO_SET(nvl->nvl_error); \ + } else { \ + nvlist_move_nvpair(nvl, nvp); \ + } \ } +NVLIST_ADD(bool, bool) +NVLIST_ADD(uint64_t, number) +NVLIST_ADD(const char *, string) +NVLIST_ADD(const nvlist_t *, nvlist) #ifndef _KERNEL -void -nvlist_add_descriptor(nvlist_t *nvl, const char *name, int value) -{ - nvpair_t *nvp; - - if (nvlist_error(nvl) != 0) { - errno = nvlist_error(nvl); - return; - } - - nvp = nvpair_create_descriptor(name, value); - if (nvp == NULL) - nvl->nvl_error = errno = (errno != 0 ? errno : ENOMEM); - else - nvlist_move_nvpair(nvl, nvp); -} +NVLIST_ADD(int, descriptor); #endif -void -nvlist_add_binary(nvlist_t *nvl, const char *name, const void *value, - size_t size) -{ - nvpair_t *nvp; - - if (nvlist_error(nvl) != 0) { - ERRNO_SET(nvlist_error(nvl)); - return; - } - - nvp = nvpair_create_binary(name, value, size); - if (nvp == NULL) { - nvl->nvl_error = ERRNO_OR_DEFAULT(ENOMEM); - ERRNO_SET(nvl->nvl_error); - } else { - nvlist_move_nvpair(nvl, nvp); - } -} +#undef NVLIST_ADD void nvlist_move_nvpair(nvlist_t *nvl, nvpair_t *nvp) @@ -1260,11 +1207,13 @@ nvlist_move_nvpair(nvlist_t *nvl, nvpair ERRNO_SET(nvlist_error(nvl)); return; } - if (nvlist_exists(nvl, nvpair_name(nvp))) { - nvpair_free(nvp); - nvl->nvl_error = EEXIST; - ERRNO_SET(nvl->nvl_error); - return; + if ((nvl->nvl_flags & NV_FLAG_NO_UNIQUE) == 0) { + if (nvlist_exists(nvl, nvpair_name(nvp))) { + nvpair_free(nvp); + nvl->nvl_error = EEXIST; + ERRNO_SET(nvl->nvl_error); + return; + } } nvpair_insert(&nvl->nvl_head, nvp, nvl); Modified: user/ngie/stable-10-libnv/sys/kern/subr_nvpair.c ============================================================================== --- user/ngie/stable-10-libnv/sys/kern/subr_nvpair.c Sun Jan 3 07:18:22 2016 (r293079) +++ user/ngie/stable-10-libnv/sys/kern/subr_nvpair.c Sun Jan 3 07:30:12 2016 (r293080) @@ -143,7 +143,8 @@ nvpair_insert(struct nvl_head *head, nvp NVPAIR_ASSERT(nvp); PJDLOG_ASSERT(nvp->nvp_list == NULL); - PJDLOG_ASSERT(!nvlist_exists(nvl, nvpair_name(nvp))); + PJDLOG_ASSERT((nvlist_flags(nvl) & NV_FLAG_NO_UNIQUE) != 0 || + !nvlist_exists(nvl, nvpair_name(nvp))); TAILQ_INSERT_TAIL(head, nvp, nvp_next); nvp->nvp_list = nvl; Modified: user/ngie/stable-10-libnv/sys/sys/nv.h ============================================================================== --- user/ngie/stable-10-libnv/sys/sys/nv.h Sun Jan 3 07:18:22 2016 (r293079) +++ user/ngie/stable-10-libnv/sys/sys/nv.h Sun Jan 3 07:30:12 2016 (r293080) @@ -64,6 +64,10 @@ typedef struct nvlist nvlist_t; * Perform case-insensitive lookups of provided names. */ #define NV_FLAG_IGNORE_CASE 0x01 +/* + * Names don't have to be unique. + */ +#define NV_FLAG_NO_UNIQUE 0x02 #if defined(_KERNEL) && defined(MALLOC_DECLARE) MALLOC_DECLARE(M_NVLIST); @@ -87,11 +91,11 @@ void nvlist_fdump(const nvlist_t *nvl, F size_t nvlist_size(const nvlist_t *nvl); void *nvlist_pack(const nvlist_t *nvl, size_t *sizep); -nvlist_t *nvlist_unpack(const void *buf, size_t size); +nvlist_t *nvlist_unpack(const void *buf, size_t size, int flags); int nvlist_send(int sock, const nvlist_t *nvl); -nvlist_t *nvlist_recv(int sock); -nvlist_t *nvlist_xfer(int sock, nvlist_t *nvl); +nvlist_t *nvlist_recv(int sock, int flags); +nvlist_t *nvlist_xfer(int sock, nvlist_t *nvl, int flags); const char *nvlist_next(const nvlist_t *nvl, int *typep, void **cookiep); Modified: user/ngie/stable-10-libnv/sys/sys/nvlist_impl.h ============================================================================== --- user/ngie/stable-10-libnv/sys/sys/nvlist_impl.h Sun Jan 3 07:18:22 2016 (r293079) +++ user/ngie/stable-10-libnv/sys/sys/nvlist_impl.h Sun Jan 3 07:30:12 2016 (r293080) @@ -38,10 +38,6 @@ #include "nv.h" -void *nvlist_xpack(const nvlist_t *nvl, int64_t *fdidxp, size_t *sizep); -nvlist_t *nvlist_xunpack(const void *buf, size_t size, const int *fds, - size_t nfds); - nvpair_t *nvlist_get_nvpair_parent(const nvlist_t *nvl); const unsigned char *nvlist_unpack_header(nvlist_t *nvl, const unsigned char *ptr, size_t nfds, bool *isbep, size_t *leftp); Modified: user/ngie/stable-10-libnv/usr.sbin/iovctl/iovctl.c ============================================================================== --- user/ngie/stable-10-libnv/usr.sbin/iovctl/iovctl.c Sun Jan 3 07:18:22 2016 (r293079) +++ user/ngie/stable-10-libnv/usr.sbin/iovctl/iovctl.c Sun Jan 3 07:30:12 2016 (r293080) @@ -80,7 +80,7 @@ get_schema(int fd) err(1, "Could not fetch config schema"); } - schema = nvlist_unpack(arg.schema, arg.len); + schema = nvlist_unpack(arg.schema, arg.len, NV_FLAG_IGNORE_CASE); if (schema == NULL) err(1, "Could not unpack schema"); From owner-svn-src-user@freebsd.org Sun Jan 3 07:37:48 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 31129A5F531 for ; Sun, 3 Jan 2016 07:37:48 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 02CE11AAC; Sun, 3 Jan 2016 07:37:47 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u037bl4H098355; Sun, 3 Jan 2016 07:37:47 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u037blL5098354; Sun, 3 Jan 2016 07:37:47 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601030737.u037blL5098354@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 07:37:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293081 - user/ngie/stable-10-libnv/sys/kern X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 07:37:48 -0000 Author: ngie Date: Sun Jan 3 07:37:46 2016 New Revision: 293081 URL: https://svnweb.freebsd.org/changeset/base/293081 Log: MFC r282337,r283157: r282337 (by bz): Fix an off-by-one bug in string/array handling which lead to memory overwrite and follow-up assertion errors on at least ARM after r282257, with nvp_magic being 0x6e7600: Assertion failed: ((nvp)->nvp_magic == 0x6e7670), function nvpair_name, file .../subr_nvpair.c, line 713. r283157 (by oshogbo): Style. Modified: user/ngie/stable-10-libnv/sys/kern/subr_nvpair.c Directory Properties: user/ngie/stable-10-libnv/ (props changed) Modified: user/ngie/stable-10-libnv/sys/kern/subr_nvpair.c ============================================================================== --- user/ngie/stable-10-libnv/sys/kern/subr_nvpair.c Sun Jan 3 07:30:12 2016 (r293080) +++ user/ngie/stable-10-libnv/sys/kern/subr_nvpair.c Sun Jan 3 07:37:46 2016 (r293081) @@ -734,7 +734,7 @@ nvpair_allocv(const char *name, int type if (nvp != NULL) { nvp->nvp_name = (char *)(nvp + 1); memcpy(nvp->nvp_name, name, namelen); - nvp->nvp_name[namelen + 1] = '\0'; + nvp->nvp_name[namelen] = '\0'; nvp->nvp_type = type; nvp->nvp_data = data; nvp->nvp_datasize = datasize; @@ -742,7 +742,7 @@ nvpair_allocv(const char *name, int type } return (nvp); -}; +} nvpair_t * nvpair_create_stringf(const char *name, const char *valuefmt, ...) From owner-svn-src-user@freebsd.org Sun Jan 3 07:40:12 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AE2A7A5F63F for ; Sun, 3 Jan 2016 07:40:12 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 826D11C00; Sun, 3 Jan 2016 07:40:12 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u037eB00098540; Sun, 3 Jan 2016 07:40:11 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u037eBti098539; Sun, 3 Jan 2016 07:40:11 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601030740.u037eBti098539@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 07:40:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293082 - user/ngie/stable-10-libnv/sys/kern X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 07:40:12 -0000 Author: ngie Date: Sun Jan 3 07:40:11 2016 New Revision: 293082 URL: https://svnweb.freebsd.org/changeset/base/293082 Log: MFC r282249: r282249 (by oshogbo): Always use the nv_malloc macro instead of malloc(3). Modified: user/ngie/stable-10-libnv/sys/kern/subr_nvlist.c Directory Properties: user/ngie/stable-10-libnv/ (props changed) Modified: user/ngie/stable-10-libnv/sys/kern/subr_nvlist.c ============================================================================== --- user/ngie/stable-10-libnv/sys/kern/subr_nvlist.c Sun Jan 3 07:37:46 2016 (r293081) +++ user/ngie/stable-10-libnv/sys/kern/subr_nvlist.c Sun Jan 3 07:40:11 2016 (r293082) @@ -927,7 +927,7 @@ nvlist_recv(int sock, int flags) nfds = (size_t)nvlhdr.nvlh_descriptors; size = sizeof(nvlhdr) + (size_t)nvlhdr.nvlh_size; - buf = malloc(size); + buf = nv_malloc(size); if (buf == NULL) return (NULL); @@ -940,7 +940,7 @@ nvlist_recv(int sock, int flags) goto out; if (nfds > 0) { - fds = malloc(nfds * sizeof(fds[0])); + fds = nv_malloc(nfds * sizeof(fds[0])); if (fds == NULL) goto out; if (fd_recv(sock, fds, nfds) == -1) From owner-svn-src-user@freebsd.org Sun Jan 3 07:43:08 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9205AA5F751 for ; Sun, 3 Jan 2016 07:43:08 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 61A411EE2; Sun, 3 Jan 2016 07:43:08 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u037h7fN001266; Sun, 3 Jan 2016 07:43:07 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u037h7iU001265; Sun, 3 Jan 2016 07:43:07 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601030743.u037h7iU001265@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 07:43:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293083 - user/ngie/stable-10-libnv/sys/sys X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 07:43:08 -0000 Author: ngie Date: Sun Jan 3 07:43:07 2016 New Revision: 293083 URL: https://svnweb.freebsd.org/changeset/base/293083 Log: MFC r282250: r282250 (by oshogbo): Nvlist functionality is not used within interrupt context, so we should use M_WAITOK to allocate memory. Modified: user/ngie/stable-10-libnv/sys/sys/nv_impl.h Directory Properties: user/ngie/stable-10-libnv/ (props changed) Modified: user/ngie/stable-10-libnv/sys/sys/nv_impl.h ============================================================================== --- user/ngie/stable-10-libnv/sys/sys/nv_impl.h Sun Jan 3 07:40:11 2016 (r293082) +++ user/ngie/stable-10-libnv/sys/sys/nv_impl.h Sun Jan 3 07:43:07 2016 (r293083) @@ -47,11 +47,11 @@ typedef struct nvpair nvpair_t; #define NV_FLAG_BIG_ENDIAN 0x80 #ifdef _KERNEL -#define nv_malloc(size) malloc((size), M_NVLIST, M_NOWAIT) +#define nv_malloc(size) malloc((size), M_NVLIST, M_WAITOK) #define nv_calloc(n, size) malloc((n) * (size), M_NVLIST, \ - M_NOWAIT | M_ZERO) + M_WAITOK | M_ZERO) #define nv_realloc(buf, size) realloc((buf), (size), M_NVLIST, \ - M_NOWAIT) + M_WAITOK) #define nv_free(buf) free((buf), M_NVLIST) #define nv_strdup(buf) strdup((buf), M_NVLIST) #define nv_vasprintf(ptr, ...) vasprintf(ptr, M_NVLIST, __VA_ARGS__) From owner-svn-src-user@freebsd.org Sun Jan 3 07:47:37 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 22930A5F7D7 for ; Sun, 3 Jan 2016 07:47:37 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E925C1014; Sun, 3 Jan 2016 07:47:36 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u037lalc001502; Sun, 3 Jan 2016 07:47:36 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u037lapY001501; Sun, 3 Jan 2016 07:47:36 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601030747.u037lapY001501@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 07:47:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293084 - user/ngie/stable-10-libnv/sys/sys X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 07:47:37 -0000 Author: ngie Date: Sun Jan 3 07:47:35 2016 New Revision: 293084 URL: https://svnweb.freebsd.org/changeset/base/293084 Log: MFC r283155: r283155 (by oshogbo): Correct variable name in the interface. Modified: user/ngie/stable-10-libnv/sys/sys/nvpair_impl.h Directory Properties: user/ngie/stable-10-libnv/ (props changed) Modified: user/ngie/stable-10-libnv/sys/sys/nvpair_impl.h ============================================================================== --- user/ngie/stable-10-libnv/sys/sys/nvpair_impl.h Sun Jan 3 07:43:07 2016 (r293083) +++ user/ngie/stable-10-libnv/sys/sys/nvpair_impl.h Sun Jan 3 07:47:35 2016 (r293084) @@ -85,7 +85,7 @@ const unsigned char *nvpair_unpack_numbe const unsigned char *nvpair_unpack_string(bool isbe, nvpair_t *nvp, const unsigned char *ptr, size_t *leftp); const unsigned char *nvpair_unpack_nvlist(bool isbe, nvpair_t *nvp, - const unsigned char *ptr, size_t *leftp, size_t nvlist, nvlist_t **child); + const unsigned char *ptr, size_t *leftp, size_t nfds, nvlist_t **child); const unsigned char *nvpair_unpack_descriptor(bool isbe, nvpair_t *nvp, const unsigned char *ptr, size_t *leftp, const int *fds, size_t nfds); const unsigned char *nvpair_unpack_binary(bool isbe, nvpair_t *nvp, From owner-svn-src-user@freebsd.org Sun Jan 3 07:50:03 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 04F9AA5F846 for ; Sun, 3 Jan 2016 07:50:03 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B87BB117D; Sun, 3 Jan 2016 07:50:02 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u037o1JU001691; Sun, 3 Jan 2016 07:50:01 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u037o1V3001689; Sun, 3 Jan 2016 07:50:01 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601030750.u037o1V3001689@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 07:50:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293085 - in user/ngie/stable-10-libnv: lib/libnv sys/conf sys/contrib/libnv sys/kern sys/sys X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 07:50:03 -0000 Author: ngie Date: Sun Jan 3 07:50:01 2016 New Revision: 293085 URL: https://svnweb.freebsd.org/changeset/base/293085 Log: MFC r285139: r285139 (by oshogbo): Move the nvlist source and private includes from sys/kern to seperate directory sys/contrib/libnv. The goal of this operation is to NOT install header files which shouldn't be used outside the nvlist library. Added: user/ngie/stable-10-libnv/sys/contrib/libnv/ - copied from r285139, head/sys/contrib/libnv/ Deleted: user/ngie/stable-10-libnv/sys/kern/subr_dnvlist.c user/ngie/stable-10-libnv/sys/kern/subr_nvlist.c user/ngie/stable-10-libnv/sys/kern/subr_nvpair.c user/ngie/stable-10-libnv/sys/sys/nv_impl.h user/ngie/stable-10-libnv/sys/sys/nvlist_impl.h user/ngie/stable-10-libnv/sys/sys/nvpair_impl.h Modified: user/ngie/stable-10-libnv/lib/libnv/Makefile user/ngie/stable-10-libnv/sys/conf/files Directory Properties: user/ngie/stable-10-libnv/ (props changed) Modified: user/ngie/stable-10-libnv/lib/libnv/Makefile ============================================================================== --- user/ngie/stable-10-libnv/lib/libnv/Makefile Sun Jan 3 07:47:35 2016 (r293084) +++ user/ngie/stable-10-libnv/lib/libnv/Makefile Sun Jan 3 07:50:01 2016 (r293085) @@ -7,13 +7,13 @@ SHLIBDIR?= /lib LIB= nv SHLIB_MAJOR= 0 -.PATH: ${.CURDIR}/../../sys/kern ${.CURDIR}/../../sys/sys +.PATH: ${.CURDIR}/../../sys/contrib/libnv ${.CURDIR}/../../sys/sys CFLAGS+=-I${.CURDIR}/../../sys -I${.CURDIR} -SRCS= subr_dnvlist.c +SRCS= dnvlist.c SRCS+= msgio.c -SRCS+= subr_nvlist.c -SRCS+= subr_nvpair.c +SRCS+= nvlist.c +SRCS+= nvpair.c INCS= dnv.h INCS+= nv.h Modified: user/ngie/stable-10-libnv/sys/conf/files ============================================================================== --- user/ngie/stable-10-libnv/sys/conf/files Sun Jan 3 07:47:35 2016 (r293084) +++ user/ngie/stable-10-libnv/sys/conf/files Sun Jan 3 07:50:01 2016 (r293085) @@ -476,6 +476,9 @@ contrib/libfdt/fdt_rw.c optional fdt contrib/libfdt/fdt_strerror.c optional fdt contrib/libfdt/fdt_sw.c optional fdt contrib/libfdt/fdt_wip.c optional fdt +contrib/libnv/dnvlist.c standard +contrib/libnv/nvlist.c standard +contrib/libnv/nvpair.c standard contrib/ngatm/netnatm/api/cc_conn.c optional ngatm_ccatm \ compile-with "${NORMAL_C_NOWERROR} -I$S/contrib/ngatm" contrib/ngatm/netnatm/api/cc_data.c optional ngatm_ccatm \ @@ -3078,7 +3081,6 @@ kern/subr_clock.c standard kern/subr_counter.c standard kern/subr_devstat.c standard kern/subr_disk.c standard -kern/subr_dnvlist.c standard kern/subr_eventhandler.c standard kern/subr_fattime.c standard kern/subr_firmware.c optional firmware @@ -3092,8 +3094,6 @@ kern/subr_mbpool.c optional libmbpool kern/subr_mchain.c optional libmchain kern/subr_module.c standard kern/subr_msgbuf.c standard -kern/subr_nvlist.c standard -kern/subr_nvpair.c standard kern/subr_param.c standard kern/subr_pcpu.c standard kern/subr_pctrie.c standard From owner-svn-src-user@freebsd.org Sun Jan 3 07:56:05 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E388AA5FA5D for ; Sun, 3 Jan 2016 07:56:05 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B52411602; Sun, 3 Jan 2016 07:56:05 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u037u41l004538; Sun, 3 Jan 2016 07:56:04 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u037u4Nh004537; Sun, 3 Jan 2016 07:56:04 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601030756.u037u4Nh004537@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 07:56:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293086 - user/ngie/stable-10-libnv/lib/libnv X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 07:56:06 -0000 Author: ngie Date: Sun Jan 3 07:56:04 2016 New Revision: 293086 URL: https://svnweb.freebsd.org/changeset/base/293086 Log: Manually apply r267773 to nv(3) MFCing the entire change is a much larger can of worms Modified: user/ngie/stable-10-libnv/lib/libnv/nv.3 Modified: user/ngie/stable-10-libnv/lib/libnv/nv.3 ============================================================================== --- user/ngie/stable-10-libnv/lib/libnv/nv.3 Sun Jan 3 07:50:01 2016 (r293085) +++ user/ngie/stable-10-libnv/lib/libnv/nv.3 Sun Jan 3 07:56:04 2016 (r293086) @@ -687,5 +687,5 @@ library appeared in The .Nm libnv library was implemented by -.An Pawel Jakub Dawidek Aq pawel@dawidek.net +.An Pawel Jakub Dawidek Aq Mt pawel@dawidek.net under sponsorship from the FreeBSD Foundation. From owner-svn-src-user@freebsd.org Sun Jan 3 08:09:16 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 01F75A5FFEA for ; Sun, 3 Jan 2016 08:09:16 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B7ABD1C5F; Sun, 3 Jan 2016 08:09:15 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0389E26007758; Sun, 3 Jan 2016 08:09:14 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0389DlD007745; Sun, 3 Jan 2016 08:09:13 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601030809.u0389DlD007745@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 08:09:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293087 - in user/ngie/stable-10-libnv: . lib/libnv lib/libnv/tests usr.sbin/iovctl X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 08:09:16 -0000 Author: ngie Date: Sun Jan 3 08:09:13 2016 New Revision: 293087 URL: https://svnweb.freebsd.org/changeset/base/293087 Log: MFC r285063: r285063 (by oshogbo): Let the nv.h and dnv.h includes be only in sys directory. Change consumers to include those files from sys. Add duplicated files to ObsoleteFiles. Modified: user/ngie/stable-10-libnv/ObsoleteFiles.inc user/ngie/stable-10-libnv/lib/libnv/Makefile user/ngie/stable-10-libnv/lib/libnv/tests/dnv_tests.cc user/ngie/stable-10-libnv/lib/libnv/tests/nv_tests.cc user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_add_test.c user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_exists_test.c user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_free_test.c user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_get_test.c user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_move_test.c user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_send_recv_test.c user/ngie/stable-10-libnv/usr.sbin/iovctl/iovctl.c user/ngie/stable-10-libnv/usr.sbin/iovctl/parse.c user/ngie/stable-10-libnv/usr.sbin/iovctl/validate.c Directory Properties: user/ngie/stable-10-libnv/ (props changed) Modified: user/ngie/stable-10-libnv/ObsoleteFiles.inc ============================================================================== --- user/ngie/stable-10-libnv/ObsoleteFiles.inc Sun Jan 3 07:56:04 2016 (r293086) +++ user/ngie/stable-10-libnv/ObsoleteFiles.inc Sun Jan 3 08:09:13 2016 (r293087) @@ -78,6 +78,9 @@ OLD_FILES+=usr/share/man/man9/MEXT_REM_R OLD_FILES+=usr/share/man/man9/MFREE.9.gz # 20151023: unused sgsmsg utility is removed OLD_FILES+=usr/bin/sgsmsg +# 20150702: Remove duplicated nvlist includes. +OLD_FILES+=usr/include/dnv.h +OLD_FILES+=usr/include/nv.h # 20150506 OLD_FILES+=usr/share/man/man9/NDHASGIANT.9.gz # 20141223: remove in6_gif.h and in_gif.h Modified: user/ngie/stable-10-libnv/lib/libnv/Makefile ============================================================================== --- user/ngie/stable-10-libnv/lib/libnv/Makefile Sun Jan 3 07:56:04 2016 (r293086) +++ user/ngie/stable-10-libnv/lib/libnv/Makefile Sun Jan 3 08:09:13 2016 (r293087) @@ -15,9 +15,6 @@ SRCS+= msgio.c SRCS+= nvlist.c SRCS+= nvpair.c -INCS= dnv.h -INCS+= nv.h - MAN+= nv.3 MLINKS+=nv.3 libnv.3 \ Modified: user/ngie/stable-10-libnv/lib/libnv/tests/dnv_tests.cc ============================================================================== --- user/ngie/stable-10-libnv/lib/libnv/tests/dnv_tests.cc Sun Jan 3 07:56:04 2016 (r293086) +++ user/ngie/stable-10-libnv/lib/libnv/tests/dnv_tests.cc Sun Jan 3 08:09:13 2016 (r293087) @@ -27,9 +27,10 @@ #include __FBSDID("$FreeBSD$"); +#include +#include + #include -#include -#include ATF_TEST_CASE_WITHOUT_HEAD(dnvlist_get_bool__present); ATF_TEST_CASE_BODY(dnvlist_get_bool__present) Modified: user/ngie/stable-10-libnv/lib/libnv/tests/nv_tests.cc ============================================================================== --- user/ngie/stable-10-libnv/lib/libnv/tests/nv_tests.cc Sun Jan 3 07:56:04 2016 (r293086) +++ user/ngie/stable-10-libnv/lib/libnv/tests/nv_tests.cc Sun Jan 3 08:09:13 2016 (r293087) @@ -27,8 +27,9 @@ #include __FBSDID("$FreeBSD$"); +#include + #include -#include #include #include Modified: user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_add_test.c ============================================================================== --- user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_add_test.c Sun Jan 3 07:56:04 2016 (r293086) +++ user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_add_test.c Sun Jan 3 08:09:13 2016 (r293087) @@ -29,12 +29,12 @@ * $FreeBSD$ */ +#include + #include #include #include -#include - static int ntest = 1; #define CHECK(expr) do { \ Modified: user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_exists_test.c ============================================================================== --- user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_exists_test.c Sun Jan 3 07:56:04 2016 (r293086) +++ user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_exists_test.c Sun Jan 3 08:09:13 2016 (r293087) @@ -29,11 +29,11 @@ * $FreeBSD$ */ +#include + #include #include -#include - static int ntest = 1; #define CHECK(expr) do { \ Modified: user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_free_test.c ============================================================================== --- user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_free_test.c Sun Jan 3 07:56:04 2016 (r293086) +++ user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_free_test.c Sun Jan 3 08:09:13 2016 (r293087) @@ -29,11 +29,11 @@ * $FreeBSD$ */ +#include + #include #include -#include - static int ntest = 1; #define CHECK(expr) do { \ Modified: user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_get_test.c ============================================================================== --- user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_get_test.c Sun Jan 3 07:56:04 2016 (r293086) +++ user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_get_test.c Sun Jan 3 08:09:13 2016 (r293087) @@ -28,6 +28,7 @@ * * $FreeBSD$ */ +#include #include #include @@ -35,8 +36,6 @@ #include #include -#include - static int ntest = 1; #define CHECK(expr) do { \ Modified: user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_move_test.c ============================================================================== --- user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_move_test.c Sun Jan 3 07:56:04 2016 (r293086) +++ user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_move_test.c Sun Jan 3 08:09:13 2016 (r293087) @@ -29,14 +29,14 @@ * $FreeBSD$ */ +#include + #include #include #include #include #include -#include - static int ntest = 1; #define CHECK(expr) do { \ Modified: user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_send_recv_test.c ============================================================================== --- user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_send_recv_test.c Sun Jan 3 07:56:04 2016 (r293086) +++ user/ngie/stable-10-libnv/lib/libnv/tests/nvlist_send_recv_test.c Sun Jan 3 08:09:13 2016 (r293087) @@ -32,6 +32,7 @@ #include #include #include +#include #include #include @@ -40,8 +41,6 @@ #include #include -#include - static int ntest = 1; #define CHECK(expr) do { \ Modified: user/ngie/stable-10-libnv/usr.sbin/iovctl/iovctl.c ============================================================================== --- user/ngie/stable-10-libnv/usr.sbin/iovctl/iovctl.c Sun Jan 3 07:56:04 2016 (r293086) +++ user/ngie/stable-10-libnv/usr.sbin/iovctl/iovctl.c Sun Jan 3 08:09:13 2016 (r293087) @@ -29,12 +29,12 @@ __FBSDID("$FreeBSD$"); #include #include +#include +#include -#include #include #include #include -#include #include #include #include Modified: user/ngie/stable-10-libnv/usr.sbin/iovctl/parse.c ============================================================================== --- user/ngie/stable-10-libnv/usr.sbin/iovctl/parse.c Sun Jan 3 07:56:04 2016 (r293086) +++ user/ngie/stable-10-libnv/usr.sbin/iovctl/parse.c Sun Jan 3 08:09:13 2016 (r293087) @@ -29,12 +29,12 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include #include -#include #include #include #include Modified: user/ngie/stable-10-libnv/usr.sbin/iovctl/validate.c ============================================================================== --- user/ngie/stable-10-libnv/usr.sbin/iovctl/validate.c Sun Jan 3 07:56:04 2016 (r293086) +++ user/ngie/stable-10-libnv/usr.sbin/iovctl/validate.c Sun Jan 3 08:09:13 2016 (r293087) @@ -29,10 +29,10 @@ __FBSDID("$FreeBSD$"); #include #include +#include +#include -#include #include -#include #include #include From owner-svn-src-user@freebsd.org Sun Jan 3 08:12:49 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 420AFA6012A for ; Sun, 3 Jan 2016 08:12:49 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 13D391F74; Sun, 3 Jan 2016 08:12:49 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u038CmjV010493; Sun, 3 Jan 2016 08:12:48 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u038CmG1010492; Sun, 3 Jan 2016 08:12:48 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601030812.u038CmG1010492@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 08:12:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293088 - user/ngie/stable-10-libnv/usr.sbin/iovctl X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 08:12:49 -0000 Author: ngie Date: Sun Jan 3 08:12:47 2016 New Revision: 293088 URL: https://svnweb.freebsd.org/changeset/base/293088 Log: Use DPADD/LDADD instead of LIBADD because of build differences between stable/10 and head It seems that libucl is missing >:/... Modified: user/ngie/stable-10-libnv/usr.sbin/iovctl/Makefile Modified: user/ngie/stable-10-libnv/usr.sbin/iovctl/Makefile ============================================================================== --- user/ngie/stable-10-libnv/usr.sbin/iovctl/Makefile Sun Jan 3 08:09:13 2016 (r293087) +++ user/ngie/stable-10-libnv/usr.sbin/iovctl/Makefile Sun Jan 3 08:12:47 2016 (r293088) @@ -2,7 +2,8 @@ PROG= iovctl SRCS= iovctl.c parse.c validate.c -LIBADD= nv ucl m +DPADD+= ${LIBNV} ${LIBUCL} ${LIBM} +LDADD+= -lnv -lucl -lm CFLAGS+=-I${.CURDIR}/../../contrib/libucl/include From owner-svn-src-user@freebsd.org Sun Jan 3 08:19:23 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6A5B2A60266 for ; Sun, 3 Jan 2016 08:19:23 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3D4931148; Sun, 3 Jan 2016 08:19:23 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u038JMVg010778; Sun, 3 Jan 2016 08:19:22 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u038JMDp010777; Sun, 3 Jan 2016 08:19:22 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601030819.u038JMDp010777@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 08:19:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293089 - user/ngie/stable-10-libnv/usr.sbin/iovctl X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 08:19:23 -0000 Author: ngie Date: Sun Jan 3 08:19:22 2016 New Revision: 293089 URL: https://svnweb.freebsd.org/changeset/base/293089 Log: Add USEPRIVATELIB to find libucl on stable/10 >_> Modified: user/ngie/stable-10-libnv/usr.sbin/iovctl/Makefile Modified: user/ngie/stable-10-libnv/usr.sbin/iovctl/Makefile ============================================================================== --- user/ngie/stable-10-libnv/usr.sbin/iovctl/Makefile Sun Jan 3 08:12:47 2016 (r293088) +++ user/ngie/stable-10-libnv/usr.sbin/iovctl/Makefile Sun Jan 3 08:19:22 2016 (r293089) @@ -5,6 +5,8 @@ SRCS= iovctl.c parse.c validate.c DPADD+= ${LIBNV} ${LIBUCL} ${LIBM} LDADD+= -lnv -lucl -lm +USEPRIVATELIB= + CFLAGS+=-I${.CURDIR}/../../contrib/libucl/include WARNS?=6 From owner-svn-src-user@freebsd.org Sun Jan 3 08:30:20 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 080D5A604FD for ; Sun, 3 Jan 2016 08:30:20 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AD3041627; Sun, 3 Jan 2016 08:30:19 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u038UI5t013925; Sun, 3 Jan 2016 08:30:18 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u038UIB9013921; Sun, 3 Jan 2016 08:30:18 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601030830.u038UIB9013921@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 08:30:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293090 - in user/ngie/stable-10-libnv: . lib/libnv share/man/man9 X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 08:30:20 -0000 Author: ngie Date: Sun Jan 3 08:30:18 2016 New Revision: 293090 URL: https://svnweb.freebsd.org/changeset/base/293090 Log: MFC r285129: r285129 (by oshogbo): Move nvlist documentation to the FreeBSD Kernel Developer's sections. Added: user/ngie/stable-10-libnv/share/man/man9/nv.9 - copied unchanged from r285129, head/share/man/man9/nv.9 Deleted: user/ngie/stable-10-libnv/lib/libnv/nv.3 Modified: user/ngie/stable-10-libnv/ObsoleteFiles.inc user/ngie/stable-10-libnv/lib/libnv/Makefile user/ngie/stable-10-libnv/share/man/man9/Makefile Directory Properties: user/ngie/stable-10-libnv/ (props changed) Modified: user/ngie/stable-10-libnv/ObsoleteFiles.inc ============================================================================== --- user/ngie/stable-10-libnv/ObsoleteFiles.inc Sun Jan 3 08:19:22 2016 (r293089) +++ user/ngie/stable-10-libnv/ObsoleteFiles.inc Sun Jan 3 08:30:18 2016 (r293090) @@ -81,6 +81,69 @@ OLD_FILES+=usr/bin/sgsmsg # 20150702: Remove duplicated nvlist includes. OLD_FILES+=usr/include/dnv.h OLD_FILES+=usr/include/nv.h +# 20150604: Move nvlist man pages to section 9. +OLD_FILES+=usr/share/man/man3/libnv.3.gz +OLD_FILES+=usr/share/man/man3/nvlist.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_binary.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_bool.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_descriptor.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_null.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_number.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_nvlist.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_string.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_stringf.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_stringv.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_clone.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_create.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_destroy.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_dump.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_empty.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_error.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists_binary.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists_bool.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists_descriptor.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists_null.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists_number.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists_nvlist.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists_string.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists_type.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_fdump.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_flags.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free_binary.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free_bool.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free_descriptor.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free_null.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free_number.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free_nvlist.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free_string.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free_type.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_get_binary.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_get_bool.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_get_descriptor.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_get_number.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_get_nvlist.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_get_parent.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_get_string.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_move_binary.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_move_descriptor.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_move_nvlist.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_move_string.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_next.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_pack.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_recv.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_send.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_set_error.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_size.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_take_binary.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_take_bool.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_take_descriptor.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_take_number.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_take_nvlist.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_take_string.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_unpack.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_xfer.3.gz # 20150506 OLD_FILES+=usr/share/man/man9/NDHASGIANT.9.gz # 20141223: remove in6_gif.h and in_gif.h Modified: user/ngie/stable-10-libnv/lib/libnv/Makefile ============================================================================== --- user/ngie/stable-10-libnv/lib/libnv/Makefile Sun Jan 3 08:19:22 2016 (r293089) +++ user/ngie/stable-10-libnv/lib/libnv/Makefile Sun Jan 3 08:30:18 2016 (r293090) @@ -15,71 +15,6 @@ SRCS+= msgio.c SRCS+= nvlist.c SRCS+= nvpair.c -MAN+= nv.3 - -MLINKS+=nv.3 libnv.3 \ - nv.3 nvlist.3 -MLINKS+=nv.3 nvlist_add_binary.3 \ - nv.3 nvlist_add_bool.3 \ - nv.3 nvlist_add_descriptor.3 \ - nv.3 nvlist_add_null.3 \ - nv.3 nvlist_add_number.3 \ - nv.3 nvlist_add_nvlist.3 \ - nv.3 nvlist_add_string.3 \ - nv.3 nvlist_add_stringf.3 \ - nv.3 nvlist_add_stringv.3 \ - nv.3 nvlist_clone.3 \ - nv.3 nvlist_create.3 \ - nv.3 nvlist_destroy.3 \ - nv.3 nvlist_dump.3 \ - nv.3 nvlist_empty.3 \ - nv.3 nvlist_error.3 \ - nv.3 nvlist_exists.3 \ - nv.3 nvlist_exists_binary.3 \ - nv.3 nvlist_exists_bool.3 \ - nv.3 nvlist_exists_descriptor.3 \ - nv.3 nvlist_exists_null.3 \ - nv.3 nvlist_exists_number.3 \ - nv.3 nvlist_exists_nvlist.3 \ - nv.3 nvlist_exists_string.3 \ - nv.3 nvlist_exists_type.3 \ - nv.3 nvlist_fdump.3 \ - nv.3 nvlist_flags.3 \ - nv.3 nvlist_free.3 \ - nv.3 nvlist_free_binary.3 \ - nv.3 nvlist_free_bool.3 \ - nv.3 nvlist_free_descriptor.3 \ - nv.3 nvlist_free_null.3 \ - nv.3 nvlist_free_number.3 \ - nv.3 nvlist_free_nvlist.3 \ - nv.3 nvlist_free_string.3 \ - nv.3 nvlist_free_type.3 \ - nv.3 nvlist_get_binary.3 \ - nv.3 nvlist_get_bool.3 \ - nv.3 nvlist_get_descriptor.3 \ - nv.3 nvlist_get_number.3 \ - nv.3 nvlist_get_nvlist.3 \ - nv.3 nvlist_get_parent.3 \ - nv.3 nvlist_get_string.3 \ - nv.3 nvlist_move_binary.3 \ - nv.3 nvlist_move_descriptor.3 \ - nv.3 nvlist_move_nvlist.3 \ - nv.3 nvlist_move_string.3 \ - nv.3 nvlist_next.3 \ - nv.3 nvlist_pack.3 \ - nv.3 nvlist_recv.3 \ - nv.3 nvlist_send.3 \ - nv.3 nvlist_set_error.3 \ - nv.3 nvlist_size.3 \ - nv.3 nvlist_take_binary.3 \ - nv.3 nvlist_take_bool.3 \ - nv.3 nvlist_take_descriptor.3 \ - nv.3 nvlist_take_number.3 \ - nv.3 nvlist_take_nvlist.3 \ - nv.3 nvlist_take_string.3 \ - nv.3 nvlist_unpack.3 \ - nv.3 nvlist_xfer.3 - WARNS?= 6 .if ${MK_TESTS} != "no" Modified: user/ngie/stable-10-libnv/share/man/man9/Makefile ============================================================================== --- user/ngie/stable-10-libnv/share/man/man9/Makefile Sun Jan 3 08:19:22 2016 (r293089) +++ user/ngie/stable-10-libnv/share/man/man9/Makefile Sun Jan 3 08:30:18 2016 (r293090) @@ -188,6 +188,7 @@ MAN= accept_filter.9 \ mutex.9 \ namei.9 \ netisr.9 \ + nv.9 \ osd.9 \ panic.9 \ pbuf.9 \ @@ -1002,6 +1003,68 @@ MLINKS+=mutex.9 mtx_assert.9 \ mutex.9 mtx_unlock_spin_flags.9 MLINKS+=namei.9 NDFREE.9 \ namei.9 NDINIT.9 +MLINKS+=nv.9 libnv.9 \ + nv.9 nvlist.9 \ + nv.9 nvlist_add_binary.9 \ + nv.9 nvlist_add_bool.9 \ + nv.9 nvlist_add_descriptor.9 \ + nv.9 nvlist_add_null.9 \ + nv.9 nvlist_add_number.9 \ + nv.9 nvlist_add_nvlist.9 \ + nv.9 nvlist_add_string.9 \ + nv.9 nvlist_add_stringf.9 \ + nv.9 nvlist_add_stringv.9 \ + nv.9 nvlist_clone.9 \ + nv.9 nvlist_create.9 \ + nv.9 nvlist_destroy.9 \ + nv.9 nvlist_dump.9 \ + nv.9 nvlist_empty.9 \ + nv.9 nvlist_error.9 \ + nv.9 nvlist_exists.9 \ + nv.9 nvlist_exists_binary.9 \ + nv.9 nvlist_exists_bool.9 \ + nv.9 nvlist_exists_descriptor.9 \ + nv.9 nvlist_exists_null.9 \ + nv.9 nvlist_exists_number.9 \ + nv.9 nvlist_exists_nvlist.9 \ + nv.9 nvlist_exists_string.9 \ + nv.9 nvlist_exists_type.9 \ + nv.9 nvlist_fdump.9 \ + nv.9 nvlist_flags.9 \ + nv.9 nvlist_free.9 \ + nv.9 nvlist_free_binary.9 \ + nv.9 nvlist_free_bool.9 \ + nv.9 nvlist_free_descriptor.9 \ + nv.9 nvlist_free_null.9 \ + nv.9 nvlist_free_number.9 \ + nv.9 nvlist_free_nvlist.9 \ + nv.9 nvlist_free_string.9 \ + nv.9 nvlist_free_type.9 \ + nv.9 nvlist_get_binary.9 \ + nv.9 nvlist_get_bool.9 \ + nv.9 nvlist_get_descriptor.9 \ + nv.9 nvlist_get_number.9 \ + nv.9 nvlist_get_nvlist.9 \ + nv.9 nvlist_get_parent.9 \ + nv.9 nvlist_get_string.9 \ + nv.9 nvlist_move_binary.9 \ + nv.9 nvlist_move_descriptor.9 \ + nv.9 nvlist_move_nvlist.9 \ + nv.9 nvlist_move_string.9 \ + nv.9 nvlist_next.9 \ + nv.9 nvlist_pack.9 \ + nv.9 nvlist_recv.9 \ + nv.9 nvlist_send.9 \ + nv.9 nvlist_set_error.9 \ + nv.9 nvlist_size.9 \ + nv.9 nvlist_take_binary.9 \ + nv.9 nvlist_take_bool.9 \ + nv.9 nvlist_take_descriptor.9 \ + nv.9 nvlist_take_number.9 \ + nv.9 nvlist_take_nvlist.9 \ + nv.9 nvlist_take_string.9 \ + nv.9 nvlist_unpack.9 \ + nv.9 nvlist_xfer.9 MLINKS+=panic.9 vpanic.9 MLINKS+=pbuf.9 getpbuf.9 \ pbuf.9 relpbuf.9 \ Copied: user/ngie/stable-10-libnv/share/man/man9/nv.9 (from r285129, head/share/man/man9/nv.9) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/stable-10-libnv/share/man/man9/nv.9 Sun Jan 3 08:30:18 2016 (r293090, copy of r285129, head/share/man/man9/nv.9) @@ -0,0 +1,691 @@ +.\" +.\" Copyright (c) 2013 The FreeBSD Foundation +.\" All rights reserved. +.\" +.\" This documentation was written by Pawel Jakub Dawidek under sponsorship +.\" the FreeBSD Foundation. +.\" +.\" 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. +.\" +.\" 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 MERCHANTABILITY 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 July 4, 2015 +.Dt NV 9 +.Os +.Sh NAME +.Nm nvlist_create , +.Nm nvlist_destroy , +.Nm nvlist_error , +.Nm nvlist_set_error , +.Nm nvlist_empty , +.Nm nvlist_flags , +.Nm nvlist_exists , +.Nm nvlist_free , +.Nm nvlist_clone , +.Nm nvlist_dump , +.Nm nvlist_fdump , +.Nm nvlist_size , +.Nm nvlist_pack , +.Nm nvlist_unpack , +.Nm nvlist_send , +.Nm nvlist_recv , +.Nm nvlist_xfer , +.Nm nvlist_next , +.Nm nvlist_add , +.Nm nvlist_move , +.Nm nvlist_get , +.Nm nvlist_take +.Nd "library for name/value pairs" +.Sh LIBRARY +.Lb libnv +.Sh SYNOPSIS +.In nv.h +.Ft "nvlist_t *" +.Fn nvlist_create "int flags" +.Ft void +.Fn nvlist_destroy "nvlist_t *nvl" +.Ft int +.Fn nvlist_error "const nvlist_t *nvl" +.Ft void +.Fn nvlist_set_error "nvlist_t *nvl, int error" +.Ft bool +.Fn nvlist_empty "const nvlist_t *nvl" +.Ft int +.Fn nvlist_flags "const nvlist_t *nvl" +.\" +.Ft "nvlist_t *" +.Fn nvlist_clone "const nvlist_t *nvl" +.\" +.Ft void +.Fn nvlist_dump "const nvlist_t *nvl, int fd" +.Ft void +.Fn nvlist_fdump "const nvlist_t *nvl, FILE *fp" +.\" +.Ft size_t +.Fn nvlist_size "const nvlist_t *nvl" +.Ft "void *" +.Fn nvlist_pack "const nvlist_t *nvl" "size_t *sizep" +.Ft "nvlist_t *" +.Fn nvlist_unpack "const void *buf" "size_t size" "int flags" +.\" +.Ft int +.Fn nvlist_send "int sock" "const nvlist_t *nvl" +.Ft "nvlist_t *" +.Fn nvlist_recv "int sock" "int flags" +.Ft "nvlist_t *" +.Fn nvlist_xfer "int sock" "nvlist_t *nvl" "int flags" +.\" +.Ft "const char *" +.Fn nvlist_next "const nvlist_t *nvl" "int *typep" "void **cookiep" +.\" +.Ft bool +.Fn nvlist_exists "const nvlist_t *nvl" "const char *name" +.Ft bool +.Fn nvlist_exists_type "const nvlist_t *nvl" "const char *name" "int type" +.Ft bool +.Fn nvlist_exists_null "const nvlist_t *nvl" "const char *name" +.Ft bool +.Fn nvlist_exists_bool "const nvlist_t *nvl" "const char *name" +.Ft bool +.Fn nvlist_exists_number "const nvlist_t *nvl" "const char *name" +.Ft bool +.Fn nvlist_exists_string "const nvlist_t *nvl" "const char *name" +.Ft bool +.Fn nvlist_exists_nvlist "const nvlist_t *nvl" "const char *name" +.Ft bool +.Fn nvlist_exists_descriptor "const nvlist_t *nvl" "const char *name" +.Ft bool +.Fn nvlist_exists_binary "const nvlist_t *nvl" "const char *name" +.\" +.Ft void +.Fn nvlist_add_null "nvlist_t *nvl" "const char *name" +.Ft void +.Fn nvlist_add_bool "nvlist_t *nvl" "const char *name" "bool value" +.Ft void +.Fn nvlist_add_number "nvlist_t *nvl" "const char *name" "uint64_t value" +.Ft void +.Fn nvlist_add_string "nvlist_t *nvl" "const char *name" "const char *value" +.Ft void +.Fn nvlist_add_stringf "nvlist_t *nvl" "const char *name" "const char *valuefmt" "..." +.Ft void +.Fn nvlist_add_stringv "nvlist_t *nvl" "const char *name" "const char *valuefmt" "va_list valueap" +.Ft void +.Fn nvlist_add_nvlist "nvlist_t *nvl" "const char *name" "const nvlist_t *value" +.Ft void +.Fn nvlist_add_descriptor "nvlist_t *nvl" "const char *name" "int value" +.Ft void +.Fn nvlist_add_binary "nvlist_t *nvl" "const char *name" "const void *value" "size_t size" +.\" +.Ft void +.Fn nvlist_move_string "nvlist_t *nvl" "const char *name" "char *value" +.Ft void +.Fn nvlist_move_nvlist "nvlist_t *nvl" "const char *name" "nvlist_t *value" +.Ft void +.Fn nvlist_move_descriptor "nvlist_t *nvl" "const char *name" "int value" +.Ft void +.Fn nvlist_move_binary "nvlist_t *nvl" "const char *name" "void *value" "size_t size" +.\" +.Ft bool +.Fn nvlist_get_bool "const nvlist_t *nvl" "const char *name" +.Ft uint64_t +.Fn nvlist_get_number "const nvlist_t *nvl" "const char *name" +.Ft "const char *" +.Fn nvlist_get_string "const nvlist_t *nvl" "const char *name" +.Ft "const nvlist_t *" +.Fn nvlist_get_nvlist "const nvlist_t *nvl" "const char *name" +.Ft int +.Fn nvlist_get_descriptor "const nvlist_t *nvl" "const char *name" +.Ft "const void *" +.Fn nvlist_get_binary "const nvlist_t *nvl" "const char *name" "size_t *sizep" +.Ft "const nvlist_t *" +.Fn nvlist_get_parent "const nvlist_t *nvl" "void **cookiep" +.\" +.Ft bool +.Fn nvlist_take_bool "nvlist_t *nvl" "const char *name" +.Ft uint64_t +.Fn nvlist_take_number "nvlist_t *nvl" "const char *name" +.Ft "char *" +.Fn nvlist_take_string "nvlist_t *nvl" "const char *name" +.Ft "nvlist_t *" +.Fn nvlist_take_nvlist "nvlist_t *nvl" "const char *name" +.Ft int +.Fn nvlist_take_descriptor "nvlist_t *nvl" "const char *name" +.Ft "void *" +.Fn nvlist_take_binary "nvlist_t *nvl" "const char *name" "size_t *sizep" +.\" +.Ft void +.Fn nvlist_free "nvlist_t *nvl" "const char *name" +.Ft void +.Fn nvlist_free_type "nvlist_t *nvl" "const char *name" "int type" +.\" +.Ft void +.Fn nvlist_free_null "nvlist_t *nvl" "const char *name" +.Ft void +.Fn nvlist_free_bool "nvlist_t *nvl" "const char *name" +.Ft void +.Fn nvlist_free_number "nvlist_t *nvl" "const char *name" +.Ft void +.Fn nvlist_free_string "nvlist_t *nvl" "const char *name" +.Ft void +.Fn nvlist_free_nvlist "nvlist_t *nvl" "const char *name" +.Ft void +.Fn nvlist_free_descriptor "nvlist_t *nvl" "const char *name" +.Ft void +.Fn nvlist_free_binary "nvlist_t *nvl" "const char *name" +.Sh DESCRIPTION +The +.Nm libnv +library allows to easily manage name value pairs as well as send and receive +them over sockets. +A group (list) of name value pairs is called an +.Nm nvlist . +The API supports the following data types: +.Bl -ohang -offset indent +.It Sy null ( NV_TYPE_NULL ) +There is no data associated with the name. +.It Sy bool ( NV_TYPE_BOOL ) +The value can be either +.Dv true +or +.Dv false . +.It Sy number ( NV_TYPE_NUMBER ) +The value is a number stored as +.Vt uint64_t . +.It Sy string ( NV_TYPE_STRING ) +The value is a C string. +.It Sy nvlist ( NV_TYPE_NVLIST ) +The value is a nested nvlist. +.It Sy descriptor ( NV_TYPE_DESCRIPTOR ) +The value is a file descriptor. +Note that file descriptors can be sent only over +.Xr unix 4 +domain sockets. +.It Sy binary ( NV_TYPE_BINARY ) +The value is a binary buffer. +.El +.Pp +The +.Fn nvlist_create +function allocates memory and initializes an nvlist. +.Pp +The following flag can be provided: +.Pp +.Bl -tag -width "NV_FLAG_IGNORE_CASE" -compact -offset indent +.It Dv NV_FLAG_IGNORE_CASE +Perform case-insensitive lookups of provided names. +.It Dv NV_FLAG_NO_UNIQUE +Names in the nvlist do not have to be unique. +.El +.Pp +The +.Fn nvlist_destroy +function destroys the given nvlist. +Function does nothing if +.Dv NULL +nvlist is provided. +Function never modifies the +.Va errno +global variable. +.Pp +The +.Fn nvlist_error +function returns any error value that the nvlist accumulated. +If the given nvlist is +.Dv NULL +the +.Er ENOMEM +error will be returned. +.Pp +The +.Fn nvlist_set_error +function sets an nvlist to be in the error state. +Subsequent calls to +.Fn nvlist_error +will return the given error value. +This function cannot be used to clear the error state from an nvlist. +This function does nothing if the nvlist is already in the error state. +.Pp +The +.Fn nvlist_empty +function returns +.Dv true +if the given nvlist is empty and +.Dv false +otherwise. +The nvlist must not be in error state. +.Pp +The +.Fn nvlist_flags +function returns flags used to create the nvlist with the +.Fn nvlist_create +function. +.Pp +The +.Fn nvlist_clone +functions clones the given nvlist. +The clone shares no resources with its origin. +This also means that all file descriptors that are part of the nvlist will be +duplicated with the +.Xr dup 2 +system call before placing them in the clone. +.Pp +The +.Fn nvlist_dump +dumps nvlist content for debugging purposes to the given file descriptor +.Fa fd . +.Pp +The +.Fn nvlist_fdump +dumps nvlist content for debugging purposes to the given file stream +.Fa fp . +.Pp +The +.Fn nvlist_size +function returns the size of the given nvlist after converting it to binary +buffer with the +.Fn nvlist_pack +function. +.Pp +The +.Fn nvlist_pack +function converts the given nvlist to a binary buffer. +The function allocates memory for the buffer, which should be freed with the +.Xr free 3 +function. +If the +.Fa sizep +argument is not +.Dv NULL , +the size of the buffer will be stored there. +The function returns +.Dv NULL +in case of an error (allocation failure). +If the nvlist contains any file descriptors +.Dv NULL +will be returned. +The nvlist must not be in error state. +.Pp +The +.Fn nvlist_unpack +function converts the given buffer to the nvlist. +The +.Fa flags +argument defines what type of the top level nvlist is expected to be. +Flags are set up using the +.Fn nvlist_create +function. +If the nvlist flags do not match the flags passed to +.Fn nvlist_unpack , +the nvlist will not be returned. +Every nested nvlist list should be checked using +.Fn nvlist_flags +function. +The function returns +.Dv NULL +in case of an error. +.Pp +The +.Fn nvlist_send +function sends the given nvlist over the socket given by the +.Fa sock +argument. +Note that nvlist that contains file descriptors can only be send over +.Xr unix 4 +domain sockets. +.Pp +The +.Fn nvlist_recv +function receives nvlist over the socket given by the +.Fa sock +argument. +The +.Fa flags +argument defines what type of the top level nvlist is expected to be. +Flags are set up using the +.Fn nvlist_create +function. +If the nvlist flags do not match the flags passed to +.Fn nvlist_recv , +the nvlist will not be returned. +Every nested nvlist list should be checked using +.Fn nvlist_flags +function. +.Pp +The +.Fn nvlist_xfer +function sends the given nvlist over the socket given by the +.Fa sock +argument and receives nvlist over the same socket. +The +.Fa flags +argument defines what type of the top level nvlist is expected to be. +Flags are set up using the +.Fn nvlist_create +function. +If the nvlist flags do not match the flags passed to +.Fn nvlist_xfer , +the nvlist will not be returned. +Every nested nvlist list should be checked using +.Fn nvlist_flags +function. +The given nvlist is always destroyed. +.Pp +The +.Fn nvlist_next +function iterates over the given nvlist returning names and types of subsequent +elements. +The +.Fa cookiep +argument allows the function to figure out which element should be returned +next. +The +.Va *cookiep +should be set to +.Dv NULL +for the first call and should not be changed later. +Returning +.Dv NULL +means there are no more elements on the nvlist. +The +.Fa typep +argument can be NULL. +Elements may not be removed from the nvlist while traversing it. +The nvlist must not be in error state. +.Pp +The +.Fn nvlist_exists +function returns +.Dv true +if element of the given name exists (besides of its type) or +.Dv false +otherwise. +The nvlist must not be in error state. +.Pp +The +.Fn nvlist_exists_type +function returns +.Dv true +if element of the given name and the given type exists or +.Dv false +otherwise. +The nvlist must not be in error state. +.Pp +The +.Fn nvlist_exists_null , +.Fn nvlist_exists_bool , +.Fn nvlist_exists_number , +.Fn nvlist_exists_string , +.Fn nvlist_exists_nvlist , +.Fn nvlist_exists_descriptor , +.Fn nvlist_exists_binary +functions return +.Dv true +if element of the given name and the given type determined by the function name +exists or +.Dv false +otherwise. +The nvlist must not be in error state. +.Pp +The +.Fn nvlist_add_null , +.Fn nvlist_add_bool , +.Fn nvlist_add_number , +.Fn nvlist_add_string , +.Fn nvlist_add_stringf , +.Fn nvlist_add_stringv , +.Fn nvlist_add_nvlist , +.Fn nvlist_add_descriptor , +.Fn nvlist_add_binary +functions add element to the given nvlist. +When adding string or binary buffor the functions will allocate memory +and copy the data over. +When adding nvlist, the nvlist will be cloned and clone will be added. +When adding descriptor, the descriptor will be duplicated using the +.Xr dup 2 +system call and the new descriptor will be added. +If an error occurs while adding new element, internal error is set which can be +examined using the +.Fn nvlist_error +function. +.Pp +The +.Fn nvlist_move_string , +.Fn nvlist_move_nvlist , +.Fn nvlist_move_descriptor , +.Fn nvlist_move_binary +functions add new element to the given nvlist, but unlike +.Fn nvlist_add_ +functions they will consume the given resource. +If an error occurs while adding new element, the resource is destroyed and +internal error is set which can be examined using the +.Fn nvlist_error +function. +.Pp +The +.Fn nvlist_get_bool , +.Fn nvlist_get_number , +.Fn nvlist_get_string , +.Fn nvlist_get_nvlist , +.Fn nvlist_get_descriptor , +.Fn nvlist_get_binary +functions allow to obtain value of the given name. +In case of string, nvlist, descriptor or binary, returned resource should +not be modified - it still belongs to the nvlist. +If element of the given name does not exist, the program will be aborted. +To avoid that the caller should check for existence before trying to obtain +the value or use +.Xr dnvlist 3 +extension, which allows to provide default value for a missing element. +The nvlist must not be in error state. +.Pp +The +.Fn nvlist_get_parent +function allows to obtain the parent nvlist from the nested nvlist. +.Pp +The +.Fn nvlist_take_bool , +.Fn nvlist_take_number , +.Fn nvlist_take_string , +.Fn nvlist_take_nvlist , +.Fn nvlist_take_descriptor , +.Fn nvlist_take_binary +functions return value associated with the given name and remove the element +from the nvlist. +In case of string and binary values, the caller is responsible for free returned +memory using the +.Xr free 3 +function. +In case of nvlist, the caller is responsible for destroying returned nvlist +using the +.Fn nvlist_destroy +function. +In case of descriptor, the caller is responsible for closing returned descriptor +using the +.Fn close 2 +system call. +If element of the given name does not exist, the program will be aborted. +To avoid that the caller should check for existence before trying to obtain +the value or use +.Xr dnvlist 3 +extension, which allows to provide default value for a missing element. +The nvlist must not be in error state. +.Pp +The +.Fn nvlist_free +function removes element of the given name from the nvlist (besides of its type) +and frees all resources associated with it. +If element of the given name does not exist, the program will be aborted. +The nvlist must not be in error state. +.Pp +The +.Fn nvlist_free_type +function removes element of the given name and the given type from the nvlist +and frees all resources associated with it. +If element of the given name and the given type does not exist, the program +will be aborted. +The nvlist must not be in error state. +.Pp +The +.Fn nvlist_free_null , +.Fn nvlist_free_bool , +.Fn nvlist_free_number , +.Fn nvlist_free_string , +.Fn nvlist_free_nvlist , +.Fn nvlist_free_descriptor , +.Fn nvlist_free_binary +functions remove element of the given name and the given type determined by the +function name from the nvlist and free all resources associated with it. +If element of the given name and the given type does not exist, the program +will be aborted. +The nvlist must not be in error state. +.Sh EXAMPLES +The following example demonstrates how to prepare an nvlist and send it over +.Xr unix 4 +domain socket. +.Bd -literal +nvlist_t *nvl; +int fd; + +fd = open("/tmp/foo", O_RDONLY); +if (fd < 0) + err(1, "open(\\"/tmp/foo\\") failed"); + +nvl = nvlist_create(0); +/* + * There is no need to check if nvlist_create() succeeded, + * as the nvlist_add_() functions can cope. + * If it failed, nvlist_send() will fail. + */ +nvlist_add_string(nvl, "filename", "/tmp/foo"); +nvlist_add_number(nvl, "flags", O_RDONLY); +/* + * We just want to send the descriptor, so we can give it + * for the nvlist to consume (that's why we use nvlist_move + * not nvlist_add). + */ +nvlist_move_descriptor(nvl, "fd", fd); +if (nvlist_send(sock, nvl) < 0) { + nvlist_destroy(nvl); + err(1, "nvlist_send() failed"); +} +nvlist_destroy(nvl); +.Ed +.Pp +Receiving nvlist and getting data: +.Bd -literal +nvlist_t *nvl; +const char *command; +char *filename; +int fd; + +nvl = nvlist_recv(sock, 0); +if (nvl == NULL) + err(1, "nvlist_recv() failed"); + +/* For command we take pointer to nvlist's buffer. */ +command = nvlist_get_string(nvl, "command"); +/* + * For filename we remove it from the nvlist and take + * ownership of the buffer. + */ +filename = nvlist_take_string(nvl, "filename"); +/* The same for the descriptor. */ +fd = nvlist_take_descriptor(nvl, "fd"); + +printf("command=%s filename=%s fd=%d\n", command, filename, fd); + +nvlist_destroy(nvl); +free(filename); +close(fd); +/* command was freed by nvlist_destroy() */ +.Ed +.Pp +Iterating over nvlist: +.Bd -literal +nvlist_t *nvl; +const char *name; +void *cookie; +int type; + +nvl = nvlist_recv(sock, 0); +if (nvl == NULL) + err(1, "nvlist_recv() failed"); + +cookie = NULL; +while ((name = nvlist_next(nvl, &type, &cookie)) != NULL) { + printf("%s=", name); + switch (type) { + case NV_TYPE_NUMBER: + printf("%ju", (uintmax_t)nvlist_get_number(nvl, name)); + break; + case NV_TYPE_STRING: + printf("%s", nvlist_get_string(nvl, name)); + break; + default: + printf("N/A"); + break; + } + printf("\\n"); +} +.Ed +.Pp +Iterating over every nested nvlist: +.Bd -literal +nvlist_t *nvl; +const char *name; +void *cookie; +int type; + +nvl = nvlist_recv(sock, 0); +if (nvl == NULL) + err(1, "nvlist_recv() failed"); + +cookie = NULL; +do { + while ((name = nvlist_next(nvl, &type, &cookie)) != NULL) { + if (type == NV_TYPE_NVLIST) { + nvl = nvlist_get_nvlist(nvl, name); + cookie = NULL; + } + } +} while ((nvl = nvlist_get_parent(nvl, &cookie)) != NULL); +.Ed +.Sh SEE ALSO +.Xr close 2 , +.Xr dup 2 , +.Xr open 2 , +.Xr err 3 , +.Xr free 3 , +.Xr printf 3 , +.Xr unix 4 +.Sh HISTORY +The +.Nm libnv +library appeared in +.Fx 11.0 . +.Sh AUTHORS +.An -nosplit +The +.Nm libnv +library was implemented by +.An Pawel Jakub Dawidek Aq Mt pawel@dawidek.net +under sponsorship from the FreeBSD Foundation. From owner-svn-src-user@freebsd.org Sun Jan 3 09:08:36 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DBD72A5F280 for ; Sun, 3 Jan 2016 09:08:35 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9B5E21D4E; Sun, 3 Jan 2016 09:08:35 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0398Yt3026141; Sun, 3 Jan 2016 09:08:34 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0398Yoc026138; Sun, 3 Jan 2016 09:08:34 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601030908.u0398Yoc026138@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 09:08:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293092 - in user/ngie/stable-10-libnv: share/man/man9 sys/contrib/libnv X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 09:08:36 -0000 Author: ngie Date: Sun Jan 3 09:08:34 2016 New Revision: 293092 URL: https://svnweb.freebsd.org/changeset/base/293092 Log: MFC r286642,r286644,r286645,r286646: r286642 (by oshogbo): Make the nvlist_next(9) function handle NULL pointer variable. This simplifies removing the first element from nvlist. r286644 (by oshogbo): Don't set parent if the unpack operation fail. In some case this could crash the library, because of the NULL pointer references. Discovered thanks to american fuzzy lop. r286645 (by oshogbo): The nvlist_move_nvpair() function can fail in two cases, if: - the nvlist error is set, or - the nvlist case ignore flag is not set and there is attend to add element with duplicated name. In both cases the nvlist_move_nvpair() function free nvpair structure. If library will try to unpack a binary blob which contains duplicated names it will end up with using memory after free. To prevent that, the nvlist_move_nvpair() function interface is changed to report about failure and checks are added to the nvpair_xunpack() function. Discovered thanks to the american fuzzy lop. r286646 (by oshogbo): If any function fail (the ptr variable will be equal to NULL), we shouldn't return buffer. Instead we should free it and return NULL. Modified: user/ngie/stable-10-libnv/share/man/man9/nv.9 user/ngie/stable-10-libnv/sys/contrib/libnv/nv_impl.h user/ngie/stable-10-libnv/sys/contrib/libnv/nvlist.c Directory Properties: user/ngie/stable-10-libnv/ (props changed) Modified: user/ngie/stable-10-libnv/share/man/man9/nv.9 ============================================================================== --- user/ngie/stable-10-libnv/share/man/man9/nv.9 Sun Jan 3 08:48:23 2016 (r293091) +++ user/ngie/stable-10-libnv/share/man/man9/nv.9 Sun Jan 3 09:08:34 2016 (r293092) @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 4, 2015 +.Dd Aug 11, 2015 .Dt NV 9 .Os .Sh NAME @@ -410,6 +410,16 @@ The argument can be NULL. Elements may not be removed from the nvlist while traversing it. The nvlist must not be in error state. +Note that +.Fn nvlist_next +will handle +.Va cookiep +being set to +.Dv NULL . +In this case first element is returned or +.Dv NULL +if nvlist is empty. +This behavior simplifies removing the first element from the list. .Pp The .Fn nvlist_exists Modified: user/ngie/stable-10-libnv/sys/contrib/libnv/nv_impl.h ============================================================================== --- user/ngie/stable-10-libnv/sys/contrib/libnv/nv_impl.h Sun Jan 3 08:48:23 2016 (r293091) +++ user/ngie/stable-10-libnv/sys/contrib/libnv/nv_impl.h Sun Jan 3 09:08:34 2016 (r293092) @@ -93,7 +93,7 @@ nvpair_t *nvlist_prev_nvpair(const nvlis void nvlist_add_nvpair(nvlist_t *nvl, const nvpair_t *nvp); -void nvlist_move_nvpair(nvlist_t *nvl, nvpair_t *nvp); +bool nvlist_move_nvpair(nvlist_t *nvl, nvpair_t *nvp); void nvlist_set_parent(nvlist_t *nvl, nvpair_t *parent); Modified: user/ngie/stable-10-libnv/sys/contrib/libnv/nvlist.c ============================================================================== --- user/ngie/stable-10-libnv/sys/contrib/libnv/nvlist.c Sun Jan 3 08:48:23 2016 (r293091) +++ user/ngie/stable-10-libnv/sys/contrib/libnv/nvlist.c Sun Jan 3 09:08:34 2016 (r293092) @@ -330,7 +330,7 @@ nvlist_clone(const nvlist_t *nvl) newnvp = nvpair_clone(nvp); if (newnvp == NULL) break; - nvlist_move_nvpair(newnvl, newnvp); + (void)nvlist_move_nvpair(newnvl, newnvp); } if (nvp != NULL) { nvlist_destroy(newnvl); @@ -629,10 +629,8 @@ nvlist_xpack(const nvlist_t *nvl, int64_ nvpair_init_datasize(nvp); ptr = nvpair_pack_header(nvp, ptr, &left); - if (ptr == NULL) { - nv_free(buf); - return (NULL); - } + if (ptr == NULL) + goto fail; switch (nvpair_type(nvp)) { case NV_TYPE_NULL: ptr = nvpair_pack_null(nvp, ptr, &left); @@ -650,7 +648,7 @@ nvlist_xpack(const nvlist_t *nvl, int64_ tmpnvl = nvpair_get_nvlist(nvp); ptr = nvlist_pack_header(tmpnvl, ptr, &left); if (ptr == NULL) - goto out; + goto fail; tmpnvp = nvlist_first_nvpair(tmpnvl); if (tmpnvp != NULL) { nvl = tmpnvl; @@ -670,10 +668,8 @@ nvlist_xpack(const nvlist_t *nvl, int64_ default: PJDLOG_ABORT("Invalid type (%d).", nvpair_type(nvp)); } - if (ptr == NULL) { - nv_free(buf); - return (NULL); - } + if (ptr == NULL) + goto fail; while ((nvp = nvlist_next_nvpair(nvl, nvp)) == NULL) { cookie = NULL; nvl = nvlist_get_parent(nvl, &cookie); @@ -682,7 +678,7 @@ nvlist_xpack(const nvlist_t *nvl, int64_ nvp = cookie; ptr = nvpair_pack_nvlist_up(ptr, &left); if (ptr == NULL) - goto out; + goto fail; } } @@ -690,6 +686,9 @@ out: if (sizep != NULL) *sizep = size; return (buf); +fail: + nv_free(buf); + return (NULL); } void * @@ -824,6 +823,8 @@ nvlist_xunpack(const void *buf, size_t s case NV_TYPE_NVLIST: ptr = nvpair_unpack_nvlist(isbe, nvp, ptr, &left, nfds, &tmpnvl); + if (tmpnvl == NULL || ptr == NULL) + goto failed; nvlist_set_parent(tmpnvl, nvp); break; #ifndef _KERNEL @@ -846,7 +847,8 @@ nvlist_xunpack(const void *buf, size_t s } if (ptr == NULL) goto failed; - nvlist_move_nvpair(nvl, nvp); + if (!nvlist_move_nvpair(nvl, nvp)) + goto failed; if (tmpnvl != NULL) { nvl = tmpnvl; tmpnvl = NULL; @@ -1026,9 +1028,8 @@ nvlist_next(const nvlist_t *nvl, int *ty nvpair_t *nvp; NVLIST_ASSERT(nvl); - PJDLOG_ASSERT(cookiep != NULL); - if (*cookiep == NULL) + if (cookiep == NULL || *cookiep == NULL) nvp = nvlist_first_nvpair(nvl); else nvp = nvlist_next_nvpair(nvl, *cookiep); @@ -1036,7 +1037,8 @@ nvlist_next(const nvlist_t *nvl, int *ty return (NULL); if (typep != NULL) *typep = nvpair_type(nvp); - *cookiep = nvp; + if (cookiep != NULL) + *cookiep = nvp; return (nvpair_name(nvp)); } @@ -1122,7 +1124,7 @@ nvlist_add_stringv(nvlist_t *nvl, const nvl->nvl_error = ERRNO_OR_DEFAULT(ENOMEM); ERRNO_SET(nvl->nvl_error); } else { - nvlist_move_nvpair(nvl, nvp); + (void)nvlist_move_nvpair(nvl, nvp); } } @@ -1141,7 +1143,7 @@ nvlist_add_null(nvlist_t *nvl, const cha nvl->nvl_error = ERRNO_OR_DEFAULT(ENOMEM); ERRNO_SET(nvl->nvl_error); } else { - nvlist_move_nvpair(nvl, nvp); + (void)nvlist_move_nvpair(nvl, nvp); } } @@ -1161,7 +1163,7 @@ nvlist_add_binary(nvlist_t *nvl, const c nvl->nvl_error = ERRNO_OR_DEFAULT(ENOMEM); ERRNO_SET(nvl->nvl_error); } else { - nvlist_move_nvpair(nvl, nvp); + (void)nvlist_move_nvpair(nvl, nvp); } } @@ -1182,7 +1184,7 @@ nvlist_add_##type(nvlist_t *nvl, const c nvl->nvl_error = ERRNO_OR_DEFAULT(ENOMEM); \ ERRNO_SET(nvl->nvl_error); \ } else { \ - nvlist_move_nvpair(nvl, nvp); \ + (void)nvlist_move_nvpair(nvl, nvp); \ } \ } @@ -1196,7 +1198,7 @@ NVLIST_ADD(int, descriptor); #undef NVLIST_ADD -void +bool nvlist_move_nvpair(nvlist_t *nvl, nvpair_t *nvp) { @@ -1206,18 +1208,19 @@ nvlist_move_nvpair(nvlist_t *nvl, nvpair if (nvlist_error(nvl) != 0) { nvpair_free(nvp); ERRNO_SET(nvlist_error(nvl)); - return; + return (false); } if ((nvl->nvl_flags & NV_FLAG_NO_UNIQUE) == 0) { if (nvlist_exists(nvl, nvpair_name(nvp))) { nvpair_free(nvp); nvl->nvl_error = EEXIST; ERRNO_SET(nvl->nvl_error); - return; + return (false); } } nvpair_insert(&nvl->nvl_head, nvp, nvl); + return (true); } void @@ -1236,7 +1239,7 @@ nvlist_move_string(nvlist_t *nvl, const nvl->nvl_error = ERRNO_OR_DEFAULT(ENOMEM); ERRNO_SET(nvl->nvl_error); } else { - nvlist_move_nvpair(nvl, nvp); + (void)nvlist_move_nvpair(nvl, nvp); } } @@ -1257,7 +1260,7 @@ nvlist_move_nvlist(nvlist_t *nvl, const nvl->nvl_error = ERRNO_OR_DEFAULT(ENOMEM); ERRNO_SET(nvl->nvl_error); } else { - nvlist_move_nvpair(nvl, nvp); + (void)nvlist_move_nvpair(nvl, nvp); } } @@ -1278,7 +1281,7 @@ nvlist_move_descriptor(nvlist_t *nvl, co nvl->nvl_error = ERRNO_OR_DEFAULT(ENOMEM); ERRNO_SET(nvl->nvl_error); } else { - nvlist_move_nvpair(nvl, nvp); + (void)nvlist_move_nvpair(nvl, nvp); } } #endif @@ -1299,7 +1302,7 @@ nvlist_move_binary(nvlist_t *nvl, const nvl->nvl_error = ERRNO_OR_DEFAULT(ENOMEM); ERRNO_SET(nvl->nvl_error); } else { - nvlist_move_nvpair(nvl, nvp); + (void)nvlist_move_nvpair(nvl, nvp); } } From owner-svn-src-user@freebsd.org Sun Jan 3 09:11:57 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 040FEA5F3E6 for ; Sun, 3 Jan 2016 09:11:57 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C12751FD2; Sun, 3 Jan 2016 09:11:56 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u039BtK1028928; Sun, 3 Jan 2016 09:11:55 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u039BttL028927; Sun, 3 Jan 2016 09:11:55 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601030911.u039BttL028927@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 09:11:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293093 - user/ngie/stable-10-libnv/sys/cddl/compat/opensolaris/sys X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 09:11:57 -0000 Author: ngie Date: Sun Jan 3 09:11:55 2016 New Revision: 293093 URL: https://svnweb.freebsd.org/changeset/base/293093 Log: MFC r279437,r284107: r279437 (by rstone): Allow Illumos code to co-exist with nv(9) Suggested by: pjd r284107 (by avg): compat nvpair.h: make sure that the names are mangled only for kernel Currently there is no good reason to mangle the userland API. The change was introduced in eac1d566b46edef765754203bef22c75c1699966, r279437. Also see https://reviews.freebsd.org/D1881. I am still convinced that nv should not have introduced intentionally conflicting API. Discussed with: rstone Added: user/ngie/stable-10-libnv/sys/cddl/compat/opensolaris/sys/nvpair.h - copied, changed from r279437, head/sys/cddl/compat/opensolaris/sys/nvpair.h Modified: Directory Properties: user/ngie/stable-10-libnv/ (props changed) Copied and modified: user/ngie/stable-10-libnv/sys/cddl/compat/opensolaris/sys/nvpair.h (from r279437, head/sys/cddl/compat/opensolaris/sys/nvpair.h) ============================================================================== --- head/sys/cddl/compat/opensolaris/sys/nvpair.h Sun Mar 1 00:22:45 2015 (r279437, copy source) +++ user/ngie/stable-10-libnv/sys/cddl/compat/opensolaris/sys/nvpair.h Sun Jan 3 09:11:55 2016 (r293093) @@ -29,6 +29,8 @@ #ifndef _OPENSOLARIS_SYS_NVPAIR_H_ #define _OPENSOLARIS_SYS_NVPAIR_H_ +#ifdef _KERNEL + /* * Some of the symbols in the Illumos nvpair library conflict with symbols * provided by nv(9), so we use this preprocessor hack to avoid the conflict. @@ -254,6 +256,8 @@ #define nvpair_unpack illumos_nvpair_unpack #define nvpair_unpack_descriptor illumos_nvpair_unpack_descriptor +#endif /* _KERNEL */ + #include_next #endif From owner-svn-src-user@freebsd.org Sun Jan 3 09:16:43 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8403FA5F524 for ; Sun, 3 Jan 2016 09:16:43 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 47CAC12A9; Sun, 3 Jan 2016 09:16:43 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u039Ggji029139; Sun, 3 Jan 2016 09:16:42 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u039GgOq029136; Sun, 3 Jan 2016 09:16:42 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601030916.u039GgOq029136@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 09:16:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293094 - in user/ngie/stable-10-libnv: lib/libnv/tests share/man/man9 sys/cddl/compat/opensolaris/sys sys/contrib/libnv sys/sys X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 09:16:43 -0000 Author: ngie Date: Sun Jan 3 09:16:42 2016 New Revision: 293094 URL: https://svnweb.freebsd.org/changeset/base/293094 Log: MFC r286796: r286796 (by oshogbo): Add support for the arrays in nvlist library. - Add nvlist_{add,get,take,move,exists,free}_{number,bool,string,nvlist, descriptor} functions. - Add support for (un)packing arrays. - Add the nvl_array_next field to the nvlist structure. If an array is added by the nvlist_{move,add}_nvlist_array function this field will contains next element in the array. - Add the nitems field to the nvpair and nvpair_header structure. This field contains number of elements in the array. - Add special flag (NV_FLAG_IN_ARRAY) which is set if nvlist is a part of an array. - Add special type (NV_TYPE_NVLIST_ARRAY_NEXT).This type is used only on packing/unpacking. - Add new API for traversing arrays (nvlist_get_array_next). - Add the nvlist_get_pararr function which combines the nvlist_get_array_next and nvlist_get_parent functions. If nvlist is in the array it will return next element from array. If nvlist is last element in array or it isn't in array it will return his container (parent). This function should simplify traveling over nvlist. - Add tests for new features. - Add documentation for new functions. - Add my copyright. - Regenerate the sys/cddl/compat/opensolaris/sys/nvpair.h file. PR: 191083 Added: user/ngie/stable-10-libnv/lib/libnv/tests/nv_array_tests.cc - copied unchanged from r286796, head/lib/libnv/tests/nv_array_tests.cc Modified: user/ngie/stable-10-libnv/lib/libnv/tests/Makefile user/ngie/stable-10-libnv/share/man/man9/nv.9 user/ngie/stable-10-libnv/sys/cddl/compat/opensolaris/sys/nvpair.h user/ngie/stable-10-libnv/sys/contrib/libnv/nv_impl.h user/ngie/stable-10-libnv/sys/contrib/libnv/nvlist.c user/ngie/stable-10-libnv/sys/contrib/libnv/nvlist_impl.h user/ngie/stable-10-libnv/sys/contrib/libnv/nvpair.c user/ngie/stable-10-libnv/sys/contrib/libnv/nvpair_impl.h user/ngie/stable-10-libnv/sys/sys/nv.h Directory Properties: user/ngie/stable-10-libnv/ (props changed) Modified: user/ngie/stable-10-libnv/lib/libnv/tests/Makefile ============================================================================== --- user/ngie/stable-10-libnv/lib/libnv/tests/Makefile Sun Jan 3 09:11:55 2016 (r293093) +++ user/ngie/stable-10-libnv/lib/libnv/tests/Makefile Sun Jan 3 09:16:42 2016 (r293094) @@ -4,6 +4,7 @@ TESTSDIR= ${TESTSBASE}/lib/libnv ATF_TESTS_CXX= \ dnv_tests \ + nv_array_tests \ nv_tests \ TAP_TESTS_C+= nvlist_add_test Copied: user/ngie/stable-10-libnv/lib/libnv/tests/nv_array_tests.cc (from r286796, head/lib/libnv/tests/nv_array_tests.cc) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/stable-10-libnv/lib/libnv/tests/nv_array_tests.cc Sun Jan 3 09:16:42 2016 (r293094, copy of r286796, head/lib/libnv/tests/nv_array_tests.cc) @@ -0,0 +1,1191 @@ +/*- + * Copyright (c) 2015 Mariusz Zaborski + * 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. + * + * 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 MERCHANTABILITY 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. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include + +#include + +#include +#include +#include +#include +#include +#include +#include + +#define fd_is_valid(fd) (fcntl((fd), F_GETFL) != -1 || errno != EBADF) + +ATF_TEST_CASE_WITHOUT_HEAD(nvlist_bool_array__basic); +ATF_TEST_CASE_BODY(nvlist_bool_array__basic) +{ + bool testbool[16]; + const bool *const_result; + bool *result; + nvlist_t *nvl; + size_t nitems; + unsigned int i; + const char *key; + + key = "nvl/bool"; + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + ATF_REQUIRE(nvlist_empty(nvl)); + ATF_REQUIRE(!nvlist_exists_string_array(nvl, key)); + + for (i = 0; i < 16; i++) + testbool[i] = (i % 2 == 0); + + nvlist_add_bool_array(nvl, key, testbool, 16); + ATF_REQUIRE_EQ(nvlist_error(nvl), 0); + ATF_REQUIRE(!nvlist_empty(nvl)); + ATF_REQUIRE(nvlist_exists_bool_array(nvl, key)); + ATF_REQUIRE(nvlist_exists_bool_array(nvl, "nvl/bool")); + + const_result = nvlist_get_bool_array(nvl, key, &nitems); + ATF_REQUIRE_EQ(nitems, 16); + ATF_REQUIRE(const_result != NULL); + for (i = 0; i < nitems; i++) + ATF_REQUIRE_EQ(const_result[i], testbool[i]); + + result = nvlist_take_bool_array(nvl, key, &nitems); + ATF_REQUIRE_EQ(nitems, 16); + ATF_REQUIRE(const_result != NULL); + for (i = 0; i < nitems; i++) + ATF_REQUIRE_EQ(result[i], testbool[i]); + + ATF_REQUIRE(!nvlist_exists_bool_array(nvl, key)); + ATF_REQUIRE(nvlist_empty(nvl)); + ATF_REQUIRE_EQ(nvlist_error(nvl), 0); + + free(result); + nvlist_destroy(nvl); +} + +ATF_TEST_CASE_WITHOUT_HEAD(nvlist_string_array__basic); +ATF_TEST_CASE_BODY(nvlist_string_array__basic) +{ + const char * const *const_result; + char **result; + nvlist_t *nvl; + size_t nitems; + unsigned int i; + const char *key; + const char *string[8] = { "a", "b", "kot", "foo", + "tests", "nice test", "", "abcdef" }; + + key = "nvl/string"; + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + ATF_REQUIRE(nvlist_empty(nvl)); + ATF_REQUIRE(!nvlist_exists_string_array(nvl, key)); + + nvlist_add_string_array(nvl, key, string, 8); + ATF_REQUIRE_EQ(nvlist_error(nvl), 0); + ATF_REQUIRE(!nvlist_empty(nvl)); + ATF_REQUIRE(nvlist_exists_string_array(nvl, key)); + ATF_REQUIRE(nvlist_exists_string_array(nvl, "nvl/string")); + + const_result = nvlist_get_string_array(nvl, key, &nitems); + ATF_REQUIRE(!nvlist_empty(nvl)); + ATF_REQUIRE(const_result != NULL); + ATF_REQUIRE(nitems == 8); + for (i = 0; i < nitems; i++) { + if (string[i] != NULL) { + ATF_REQUIRE(strcmp(const_result[i], string[i]) == 0); + } else { + ATF_REQUIRE(const_result[i] == string[i]); + } + } + + result = nvlist_take_string_array(nvl, key, &nitems); + ATF_REQUIRE(result != NULL); + ATF_REQUIRE_EQ(nitems, 8); + for (i = 0; i < nitems; i++) { + if (string[i] != NULL) { + ATF_REQUIRE_EQ(strcmp(result[i], string[i]), 0); + } else { + ATF_REQUIRE_EQ(result[i], string[i]); + } + } + + ATF_REQUIRE(!nvlist_exists_string_array(nvl, key)); + ATF_REQUIRE(nvlist_empty(nvl)); + ATF_REQUIRE_EQ(nvlist_error(nvl), 0); + + for (i = 0; i < 8; i++) + free(result[i]); + free(result); + nvlist_destroy(nvl); +} + +ATF_TEST_CASE_WITHOUT_HEAD(nvlist_descriptor_array__basic); +ATF_TEST_CASE_BODY(nvlist_descriptor_array__basic) +{ + int fd[32], *result; + const int *const_result; + nvlist_t *nvl; + size_t nitems; + unsigned int i; + const char *key; + + for (i = 0; i < 32; i++) { + fd[i] = dup(STDERR_FILENO); + ATF_REQUIRE(fd_is_valid(fd[i])); + } + + key = "nvl/descriptor"; + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + ATF_REQUIRE(nvlist_empty(nvl)); + ATF_REQUIRE(!nvlist_exists_descriptor_array(nvl, key)); + + nvlist_add_descriptor_array(nvl, key, fd, 32); + ATF_REQUIRE_EQ(nvlist_error(nvl), 0); + ATF_REQUIRE(!nvlist_empty(nvl)); + ATF_REQUIRE(nvlist_exists_descriptor_array(nvl, key)); + ATF_REQUIRE(nvlist_exists_descriptor_array(nvl, "nvl/descriptor")); + + const_result = nvlist_get_descriptor_array(nvl, key, &nitems); + ATF_REQUIRE(!nvlist_empty(nvl)); + ATF_REQUIRE(const_result != NULL); + ATF_REQUIRE(nitems == 32); + for (i = 0; i < nitems; i++) { + ATF_REQUIRE(fd_is_valid(const_result[i])); + if (i > 0) + ATF_REQUIRE(const_result[i] != const_result[i - 1]); + } + + result = nvlist_take_descriptor_array(nvl, key, &nitems); + ATF_REQUIRE(result != NULL); + ATF_REQUIRE_EQ(nitems, 32); + for (i = 0; i < nitems; i++) { + ATF_REQUIRE(fd_is_valid(result[i])); + if (i > 0) + ATF_REQUIRE(const_result[i] != const_result[i - 1]); + } + + ATF_REQUIRE(!nvlist_exists_string_array(nvl, key)); + ATF_REQUIRE(nvlist_empty(nvl)); + ATF_REQUIRE_EQ(nvlist_error(nvl), 0); + + for (i = 0; i < nitems; i++) { + close(result[i]); + close(fd[i]); + } + free(result); + nvlist_destroy(nvl); +} + +ATF_TEST_CASE_WITHOUT_HEAD(nvlist_number_array__basic); +ATF_TEST_CASE_BODY(nvlist_number_array__basic) +{ + const uint64_t *const_result; + uint64_t *result; + nvlist_t *nvl; + size_t nitems; + unsigned int i; + const char *key; + const uint64_t number[8] = { 0, UINT_MAX, 7, 123, 90, + 100000, 8, 1 }; + + key = "nvl/number"; + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + ATF_REQUIRE(nvlist_empty(nvl)); + ATF_REQUIRE(!nvlist_exists_string_array(nvl, key)); + + nvlist_add_number_array(nvl, key, number, 8); + ATF_REQUIRE_EQ(nvlist_error(nvl), 0); + ATF_REQUIRE(!nvlist_empty(nvl)); + ATF_REQUIRE(nvlist_exists_number_array(nvl, key)); + ATF_REQUIRE(nvlist_exists_number_array(nvl, "nvl/number")); + + const_result = nvlist_get_number_array(nvl, key, &nitems); + ATF_REQUIRE(!nvlist_empty(nvl)); + ATF_REQUIRE(const_result != NULL); + ATF_REQUIRE(nitems == 8); + for (i = 0; i < nitems; i++) + ATF_REQUIRE_EQ(const_result[i], number[i]); + + result = nvlist_take_number_array(nvl, key, &nitems); + ATF_REQUIRE(result != NULL); + ATF_REQUIRE_EQ(nitems, 8); + for (i = 0; i < nitems; i++) + ATF_REQUIRE_EQ(result[i], number[i]); + + ATF_REQUIRE(!nvlist_exists_string_array(nvl, key)); + ATF_REQUIRE(nvlist_empty(nvl)); + ATF_REQUIRE_EQ(nvlist_error(nvl), 0); + + free(result); + nvlist_destroy(nvl); +} + +ATF_TEST_CASE_WITHOUT_HEAD(nvlist_nvlist_array__basic); +ATF_TEST_CASE_BODY(nvlist_nvlist_array__basic) +{ + nvlist_t *testnvl[8]; + const nvlist_t * const *const_result; + nvlist_t **result; + nvlist_t *nvl; + size_t nitems; + unsigned int i; + const char *somestr[8] = { "a", "b", "c", "d", "e", "f", "g", "h" }; + const char *key; + + for (i = 0; i < 8; i++) { + testnvl[i] = nvlist_create(0); + ATF_REQUIRE(testnvl[i] != NULL); + ATF_REQUIRE_EQ(nvlist_error(testnvl[i]), 0); + nvlist_add_string(testnvl[i], "nvl/string", somestr[i]); + ATF_REQUIRE_EQ(nvlist_error(testnvl[i]), 0); + ATF_REQUIRE(nvlist_exists_string(testnvl[i], "nvl/string")); + } + + key = "nvl/nvlist"; + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + ATF_REQUIRE(nvlist_empty(nvl)); + ATF_REQUIRE(!nvlist_exists_string_array(nvl, key)); + + nvlist_add_nvlist_array(nvl, key, (const nvlist_t * const *)testnvl, 8); + ATF_REQUIRE_EQ(nvlist_error(nvl), 0); + ATF_REQUIRE(!nvlist_empty(nvl)); + ATF_REQUIRE(nvlist_exists_nvlist_array(nvl, key)); + ATF_REQUIRE(nvlist_exists_nvlist_array(nvl, "nvl/nvlist")); + + const_result = nvlist_get_nvlist_array(nvl, key, &nitems); + ATF_REQUIRE(!nvlist_empty(nvl)); + ATF_REQUIRE(const_result != NULL); + ATF_REQUIRE(nitems == 8); + + for (i = 0; i < nitems; i++) { + ATF_REQUIRE_EQ(nvlist_error(const_result[i]), 0); + if (i < nitems - 1) { + ATF_REQUIRE(nvlist_get_array_next(const_result[i]) == + const_result[i + 1]); + } else { + ATF_REQUIRE(nvlist_get_array_next(const_result[i]) == + NULL); + } + ATF_REQUIRE(nvlist_get_parent(const_result[i], NULL) == nvl); + ATF_REQUIRE(nvlist_in_array(const_result[i])); + ATF_REQUIRE(nvlist_exists_string(const_result[i], + "nvl/string")); + ATF_REQUIRE(strcmp(nvlist_get_string(const_result[i], + "nvl/string"), somestr[i]) == 0); + } + + result = nvlist_take_nvlist_array(nvl, key, &nitems); + ATF_REQUIRE(result != NULL); + ATF_REQUIRE_EQ(nitems, 8); + for (i = 0; i < nitems; i++) { + ATF_REQUIRE_EQ(nvlist_error(result[i]), 0); + ATF_REQUIRE(nvlist_get_array_next(result[i]) == NULL); + ATF_REQUIRE(nvlist_get_array_next(const_result[i]) == NULL); + ATF_REQUIRE(!nvlist_in_array(const_result[i])); + } + + ATF_REQUIRE(!nvlist_exists_string_array(nvl, key)); + ATF_REQUIRE(nvlist_empty(nvl)); + ATF_REQUIRE_EQ(nvlist_error(nvl), 0); + + for (i = 0; i < 8; i++) { + nvlist_destroy(result[i]); + nvlist_destroy(testnvl[i]); + } + + free(result); + nvlist_destroy(nvl); +} + +ATF_TEST_CASE_WITHOUT_HEAD(nvlist_clone_array); +ATF_TEST_CASE_BODY(nvlist_clone_array) +{ + nvlist_t *testnvl[8]; + nvlist_t *src, *dst; + const nvlist_t *nvl; + bool testbool[16]; + int testfd[16]; + size_t i, nitems; + const char *string[8] = { "a", "b", "kot", "foo", + "tests", "nice test", "", "abcdef" }; + const char *somestr[8] = { "a", "b", "c", "d", "e", "f", "g", "h" }; + const uint64_t number[8] = { 0, UINT_MAX, 7, 123, 90, + 100000, 8, 1 }; + + for (i = 0; i < 16; i++) { + testbool[i] = (i % 2 == 0); + testfd[i] = dup(STDERR_FILENO); + ATF_REQUIRE(fd_is_valid(testfd[i])); + } + for (i = 0; i < 8; i++) { + testnvl[i] = nvlist_create(0); + ATF_REQUIRE(nvlist_error(testnvl[i]) == 0); + nvlist_add_string(testnvl[i], "nvl/nvl/teststr", somestr[i]); + ATF_REQUIRE(nvlist_error(testnvl[i]) == 0); + } + + src = nvlist_create(0); + ATF_REQUIRE(nvlist_error(src) == 0); + + ATF_REQUIRE(!nvlist_exists_bool_array(src, "nvl/bool")); + nvlist_add_bool_array(src, "nvl/bool", testbool, 16); + ATF_REQUIRE_EQ(nvlist_error(src), 0); + ATF_REQUIRE(nvlist_exists_bool_array(src, "nvl/bool")); + + ATF_REQUIRE(!nvlist_exists_string_array(src, "nvl/string")); + nvlist_add_string_array(src, "nvl/string", string, 8); + ATF_REQUIRE_EQ(nvlist_error(src), 0); + ATF_REQUIRE(nvlist_exists_string_array(src, "nvl/string")); + + ATF_REQUIRE(!nvlist_exists_descriptor_array(src, "nvl/fd")); + nvlist_add_descriptor_array(src, "nvl/fd", testfd, 16); + ATF_REQUIRE_EQ(nvlist_error(src), 0); + ATF_REQUIRE(nvlist_exists_descriptor_array(src, "nvl/fd")); + + ATF_REQUIRE(!nvlist_exists_number_array(src, "nvl/number")); + nvlist_add_number_array(src, "nvl/number", number, 8); + ATF_REQUIRE_EQ(nvlist_error(src), 0); + ATF_REQUIRE(nvlist_exists_number_array(src, "nvl/number")); + + ATF_REQUIRE(!nvlist_exists_nvlist_array(src, "nvl/array")); + nvlist_add_nvlist_array(src, "nvl/array", + (const nvlist_t * const *)testnvl, 8); + ATF_REQUIRE_EQ(nvlist_error(src), 0); + ATF_REQUIRE(nvlist_exists_nvlist_array(src, "nvl/array")); + + dst = nvlist_clone(src); + ATF_REQUIRE(dst != NULL); + + ATF_REQUIRE(nvlist_exists_bool_array(dst, "nvl/bool")); + (void) nvlist_get_bool_array(dst, "nvl/bool", &nitems); + ATF_REQUIRE_EQ(nitems, 16); + for (i = 0; i < nitems; i++) { + ATF_REQUIRE( + nvlist_get_bool_array(dst, "nvl/bool", &nitems)[i] == + nvlist_get_bool_array(src, "nvl/bool", &nitems)[i]); + } + + ATF_REQUIRE(nvlist_exists_string_array(dst, "nvl/string")); + (void) nvlist_get_string_array(dst, "nvl/string", &nitems); + ATF_REQUIRE_EQ(nitems, 8); + for (i = 0; i < nitems; i++) { + if (nvlist_get_string_array(dst, "nvl/string", + &nitems)[i] == NULL) { + ATF_REQUIRE(nvlist_get_string_array(dst, "nvl/string", + &nitems)[i] == nvlist_get_string_array(src, + "nvl/string", &nitems)[i]); + } else { + ATF_REQUIRE(strcmp(nvlist_get_string_array(dst, + "nvl/string", &nitems)[i], nvlist_get_string_array( + src, "nvl/string", &nitems)[i]) == 0); + } + } + + ATF_REQUIRE(nvlist_exists_descriptor_array(dst, "nvl/fd")); + (void) nvlist_get_descriptor_array(dst, "nvl/fd", &nitems); + ATF_REQUIRE_EQ(nitems, 16); + for (i = 0; i < nitems; i++) { + ATF_REQUIRE(fd_is_valid( + nvlist_get_descriptor_array(dst, "nvl/fd", &nitems)[i])); + } + ATF_REQUIRE(nvlist_exists_number_array(dst, "nvl/number")); + (void) nvlist_get_number_array(dst, "nvl/number", &nitems); + ATF_REQUIRE_EQ(nitems, 8); + + for (i = 0; i < nitems; i++) { + ATF_REQUIRE( + nvlist_get_number_array(dst, "nvl/number", &nitems)[i] == + nvlist_get_number_array(src, "nvl/number", &nitems)[i]); + } + + ATF_REQUIRE(nvlist_exists_nvlist_array(dst, "nvl/array")); + (void) nvlist_get_nvlist_array(dst, "nvl/array", &nitems); + ATF_REQUIRE_EQ(nitems, 8); + for (i = 0; i < nitems; i++) { + nvl = nvlist_get_nvlist_array(dst, "nvl/array", &nitems)[i]; + ATF_REQUIRE(nvlist_exists_string(nvl, "nvl/nvl/teststr")); + ATF_REQUIRE(strcmp(nvlist_get_string(nvl, "nvl/nvl/teststr"), + somestr[i]) == 0); + } + + for (i = 0; i < 16; i++) { + close(testfd[i]); + if (i < 8) { + nvlist_destroy(testnvl[i]); + } + } + nvlist_destroy(src); + nvlist_destroy(dst); +} + +ATF_TEST_CASE_WITHOUT_HEAD(nvlist_bool_array__move); +ATF_TEST_CASE_BODY(nvlist_bool_array__move) +{ + bool *testbool; + const bool *const_result; + nvlist_t *nvl; + size_t nitems, count; + unsigned int i; + const char *key; + + key = "nvl/bool"; + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + ATF_REQUIRE(nvlist_empty(nvl)); + ATF_REQUIRE(!nvlist_exists_string_array(nvl, key)); + + count = 16; + testbool = (bool*)malloc(sizeof(*testbool) * count); + ATF_REQUIRE(testbool != NULL); + for (i = 0; i < count; i++) + testbool[i] = (i % 2 == 0); + + nvlist_move_bool_array(nvl, key, testbool, count); + ATF_REQUIRE_EQ(nvlist_error(nvl), 0); + ATF_REQUIRE(!nvlist_empty(nvl)); + ATF_REQUIRE(nvlist_exists_bool_array(nvl, key)); + + const_result = nvlist_get_bool_array(nvl, key, &nitems); + ATF_REQUIRE_EQ(nitems, count); + ATF_REQUIRE(const_result != NULL); + ATF_REQUIRE(const_result == testbool); + for (i = 0; i < nitems; i++) + ATF_REQUIRE_EQ(const_result[i], (i % 2 == 0)); + + nvlist_destroy(nvl); +} + +ATF_TEST_CASE_WITHOUT_HEAD(nvlist_string_array__move); +ATF_TEST_CASE_BODY(nvlist_string_array__move) +{ + char **teststr; + const char * const *const_result; + nvlist_t *nvl; + size_t nitems, count; + unsigned int i; + const char *key; + + key = "nvl/string"; + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + ATF_REQUIRE(nvlist_empty(nvl)); + ATF_REQUIRE(!nvlist_exists_string_array(nvl, key)); + + count = 26; + teststr = (char**)malloc(sizeof(*teststr) * count); + ATF_REQUIRE(teststr != NULL); + for (i = 0; i < count; i++) { + teststr[i] = (char*)malloc(sizeof(**teststr) * 2); + ATF_REQUIRE(teststr[i] != NULL); + teststr[i][0] = 'a' + i; + teststr[i][1] = '\0'; + } + + nvlist_move_string_array(nvl, key, teststr, count); + ATF_REQUIRE_EQ(nvlist_error(nvl), 0); + ATF_REQUIRE(!nvlist_empty(nvl)); + ATF_REQUIRE(nvlist_exists_string_array(nvl, key)); + + const_result = nvlist_get_string_array(nvl, key, &nitems); + ATF_REQUIRE_EQ(nitems, count); + ATF_REQUIRE(const_result != NULL); + ATF_REQUIRE((intptr_t)const_result == (intptr_t)teststr); + for (i = 0; i < nitems; i++) { + ATF_REQUIRE_EQ(const_result[i][0], (char)('a' + i)); + ATF_REQUIRE_EQ(const_result[i][1], '\0'); + } + + nvlist_destroy(nvl); +} + +ATF_TEST_CASE_WITHOUT_HEAD(nvlist_nvlist_array__move); +ATF_TEST_CASE_BODY(nvlist_nvlist_array__move) +{ + nvlist **testnv; + const nvlist * const *const_result; + nvlist_t *nvl; + size_t nitems, count; + unsigned int i; + const char *key; + + key = "nvl/nvlist"; + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + ATF_REQUIRE(nvlist_empty(nvl)); + ATF_REQUIRE(!nvlist_exists_nvlist_array(nvl, key)); + + count = 26; + testnv = (nvlist**)malloc(sizeof(*testnv) * count); + ATF_REQUIRE(testnv != NULL); + for (i = 0; i < count; i++) { + testnv[i] = nvlist_create(0); + ATF_REQUIRE(testnv[i] != NULL); + } + + nvlist_move_nvlist_array(nvl, key, testnv, count); + ATF_REQUIRE_EQ(nvlist_error(nvl), 0); + ATF_REQUIRE(!nvlist_empty(nvl)); + ATF_REQUIRE(nvlist_exists_nvlist_array(nvl, key)); + + const_result = nvlist_get_nvlist_array(nvl, key, &nitems); + ATF_REQUIRE_EQ(nitems, count); + ATF_REQUIRE(const_result != NULL); + ATF_REQUIRE((intptr_t)const_result == (intptr_t)testnv); + for (i = 0; i < nitems; i++) { + ATF_REQUIRE_EQ(nvlist_error(const_result[i]), 0); + ATF_REQUIRE(nvlist_empty(const_result[i])); + if (i < nitems - 1) { + ATF_REQUIRE(nvlist_get_array_next(const_result[i]) == + const_result[i + 1]); + } else { + ATF_REQUIRE(nvlist_get_array_next(const_result[i]) == + NULL); + } + ATF_REQUIRE(nvlist_get_parent(const_result[i], NULL) == nvl); + ATF_REQUIRE(nvlist_in_array(const_result[i])); + } + + nvlist_destroy(nvl); +} + +ATF_TEST_CASE_WITHOUT_HEAD(nvlist_number_array__move); +ATF_TEST_CASE_BODY(nvlist_number_array__move) +{ + uint64_t *testnumber; + const uint64_t *const_result; + nvlist_t *nvl; + size_t nitems, count; + unsigned int i; + const char *key; + + key = "nvl/number"; + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + ATF_REQUIRE(nvlist_empty(nvl)); + ATF_REQUIRE(!nvlist_exists_string_array(nvl, key)); + + count = 1000; + testnumber = (uint64_t*)malloc(sizeof(*testnumber) * count); + ATF_REQUIRE(testnumber != NULL); + for (i = 0; i < count; i++) + testnumber[i] = i; + + nvlist_move_number_array(nvl, key, testnumber, count); + ATF_REQUIRE_EQ(nvlist_error(nvl), 0); + ATF_REQUIRE(!nvlist_empty(nvl)); + ATF_REQUIRE(nvlist_exists_number_array(nvl, key)); + + const_result = nvlist_get_number_array(nvl, key, &nitems); + ATF_REQUIRE_EQ(nitems, count); + ATF_REQUIRE(const_result != NULL); + ATF_REQUIRE(const_result == testnumber); + for (i = 0; i < nitems; i++) + ATF_REQUIRE_EQ(const_result[i], i); + + nvlist_destroy(nvl); +} + +ATF_TEST_CASE_WITHOUT_HEAD(nvlist_descriptor_array__move); +ATF_TEST_CASE_BODY(nvlist_descriptor_array__move) +{ + int *testfd; + const int *const_result; + nvlist_t *nvl; + size_t nitems, count; + unsigned int i; + const char *key; + + key = "nvl/fd"; + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + ATF_REQUIRE(nvlist_empty(nvl)); + ATF_REQUIRE(!nvlist_exists_string_array(nvl, key)); + + count = 50; + testfd = (int*)malloc(sizeof(*testfd) * count); + ATF_REQUIRE(testfd != NULL); + for (i = 0; i < count; i++) { + testfd[i] = dup(STDERR_FILENO); + ATF_REQUIRE(fd_is_valid(testfd[i])); + } + + nvlist_move_descriptor_array(nvl, key, testfd, count); + ATF_REQUIRE_EQ(nvlist_error(nvl), 0); + ATF_REQUIRE(!nvlist_empty(nvl)); + ATF_REQUIRE(nvlist_exists_descriptor_array(nvl, key)); + + const_result = nvlist_get_descriptor_array(nvl, key, &nitems); + ATF_REQUIRE_EQ(nitems, count); + ATF_REQUIRE(const_result != NULL); + ATF_REQUIRE(const_result == testfd); + for (i = 0; i < nitems; i++) + ATF_REQUIRE(fd_is_valid(const_result[i])); + + nvlist_destroy(nvl); +} + +ATF_TEST_CASE_WITHOUT_HEAD(nvlist_arrays__error_null); +ATF_TEST_CASE_BODY(nvlist_arrays__error_null) +{ + nvlist_t *nvl; + + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + nvlist_add_number_array(nvl, "nvl/number", NULL, 0); + ATF_REQUIRE(nvlist_error(nvl) != 0); + nvlist_destroy(nvl); + + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + nvlist_move_number_array(nvl, "nvl/number", NULL, 0); + ATF_REQUIRE(nvlist_error(nvl) != 0); + nvlist_destroy(nvl); + + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + nvlist_add_descriptor_array(nvl, "nvl/fd", NULL, 0); + ATF_REQUIRE(nvlist_error(nvl) != 0); + nvlist_destroy(nvl); + + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + nvlist_move_descriptor_array(nvl, "nvl/fd", NULL, 0); + ATF_REQUIRE(nvlist_error(nvl) != 0); + nvlist_destroy(nvl); + + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + nvlist_add_string_array(nvl, "nvl/string", NULL, 0); + ATF_REQUIRE(nvlist_error(nvl) != 0); + nvlist_destroy(nvl); + + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + nvlist_move_string_array(nvl, "nvl/string", NULL, 0); + ATF_REQUIRE(nvlist_error(nvl) != 0); + nvlist_destroy(nvl); + + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + nvlist_add_nvlist_array(nvl, "nvl/nvlist", NULL, 0); + ATF_REQUIRE(nvlist_error(nvl) != 0); + nvlist_destroy(nvl); + + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + nvlist_move_nvlist_array(nvl, "nvl/nvlist", NULL, 0); + ATF_REQUIRE(nvlist_error(nvl) != 0); + nvlist_destroy(nvl); + + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + nvlist_add_bool_array(nvl, "nvl/bool", NULL, 0); + ATF_REQUIRE(nvlist_error(nvl) != 0); + nvlist_destroy(nvl); + + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + nvlist_move_bool_array(nvl, "nvl/bool", NULL, 0); + ATF_REQUIRE(nvlist_error(nvl) != 0); + nvlist_destroy(nvl); +} + +ATF_TEST_CASE_WITHOUT_HEAD(nvlist_arrays__bad_value); +ATF_TEST_CASE_BODY(nvlist_arrays__bad_value) +{ + nvlist_t *nvl, *nvladd[1], **nvlmove; + int fdadd[1], *fdmove; + + nvladd[0] = NULL; + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + nvlist_add_nvlist_array(nvl, "nvl/nvlist", nvladd, 1); + ATF_REQUIRE(nvlist_error(nvl) != 0); + nvlist_destroy(nvl); + + nvlmove = (nvlist_t**)malloc(sizeof(*nvlmove)); + ATF_REQUIRE(nvlmove != NULL); + nvlmove[0] = NULL; + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + nvlist_move_nvlist_array(nvl, "nvl/nvlist", nvlmove, 1); + ATF_REQUIRE(nvlist_error(nvl) != 0); + nvlist_destroy(nvl); + + fdadd[0] = -2; + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + nvlist_add_descriptor_array(nvl, "nvl/fd", fdadd, 1); + ATF_REQUIRE(nvlist_error(nvl) != 0); + nvlist_destroy(nvl); + + fdmove = (int*)malloc(sizeof(*fdmove)); + ATF_REQUIRE(fdmove != NULL); + fdmove[0] = -2; + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + nvlist_move_descriptor_array(nvl, "nvl/fd", fdmove, 1); + ATF_REQUIRE(nvlist_error(nvl) != 0); + nvlist_destroy(nvl); +} + +ATF_TEST_CASE_WITHOUT_HEAD(nvlist_nvlist_array__travel); +ATF_TEST_CASE_BODY(nvlist_nvlist_array__travel) +{ + nvlist_t *nvl, *test[5], *nasted; + const nvlist_t *travel; + void *cookie; + int index, i, type; + const char *name; + + for (i = 0; i < 5; i++) { + test[i] = nvlist_create(0); + ATF_REQUIRE(test[i] != NULL); + nvlist_add_number(test[i], "nvl/number", i); + ATF_REQUIRE(nvlist_error(test[i]) == 0); + } + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + nvlist_add_nvlist_array(nvl, "nvl/nvlist_array", test, 5); + ATF_REQUIRE(nvlist_error(nvl) == 0); + nasted = nvlist_create(0); + ATF_REQUIRE(nasted != NULL); + nvlist_add_nvlist_array(nasted, "nvl/nvl/nvlist_array", test, 5); + ATF_REQUIRE(nvlist_error(nasted) == 0); + nvlist_move_nvlist(nvl, "nvl/nvl", nasted); + ATF_REQUIRE(nvlist_error(nvl) == 0); + nvlist_add_string(nvl, "nvl/string", "END"); + ATF_REQUIRE(nvlist_error(nvl) == 0); + + cookie = NULL; + index = 0; + travel = nvl; + do { + while ((name = nvlist_next(travel, &type, &cookie)) != NULL) { + if (index == 0) { + ATF_REQUIRE(type == NV_TYPE_NVLIST_ARRAY); + } else if (index >= 1 && index <= 5) { + ATF_REQUIRE(type == NV_TYPE_NUMBER); + } else if (index == 6) { + ATF_REQUIRE(type == NV_TYPE_NVLIST); + } else if (index == 7) { + ATF_REQUIRE(type == NV_TYPE_NVLIST_ARRAY); + } else if (index >= 8 && index <= 12) { + ATF_REQUIRE(type == NV_TYPE_NUMBER); + } else if (index == 13) { + ATF_REQUIRE(type == NV_TYPE_STRING); + } + + if (type == NV_TYPE_NVLIST) { + travel = nvlist_get_nvlist(travel, name); + cookie = NULL; + } else if (type == NV_TYPE_NVLIST_ARRAY) { + travel = nvlist_get_nvlist_array(travel, name, + NULL)[0]; + cookie = NULL; + } + index ++; + } + } while ((travel = nvlist_get_pararr(travel, &cookie)) != NULL); + + for (i = 0; i < 5; i++) + nvlist_destroy(test[i]); + + nvlist_destroy(nvl); +} + +ATF_TEST_CASE_WITHOUT_HEAD(nvlist_nvlist_array__travel_alternative); +ATF_TEST_CASE_BODY(nvlist_nvlist_array__travel_alternative) +{ + nvlist_t *nvl, *test[5], *nasted; + const nvlist_t *travel, *tmp; + void *cookie; + int index, i, type; + const char *name; + + for (i = 0; i < 5; i++) { + test[i] = nvlist_create(0); + ATF_REQUIRE(test[i] != NULL); + nvlist_add_number(test[i], "nvl/number", i); + ATF_REQUIRE(nvlist_error(test[i]) == 0); + } + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + nvlist_add_nvlist_array(nvl, "nvl/nvlist_array", test, 5); + ATF_REQUIRE(nvlist_error(nvl) == 0); + nasted = nvlist_create(0); + ATF_REQUIRE(nasted != NULL); + nvlist_add_nvlist_array(nasted, "nvl/nvl/nvlist_array", test, 5); + ATF_REQUIRE(nvlist_error(nasted) == 0); + nvlist_move_nvlist(nvl, "nvl/nvl", nasted); + ATF_REQUIRE(nvlist_error(nvl) == 0); + nvlist_add_string(nvl, "nvl/string", "END"); + ATF_REQUIRE(nvlist_error(nvl) == 0); + + cookie = NULL; + index = 0; + tmp = travel = nvl; + do { + do { + travel = tmp; + while ((name = nvlist_next(travel, &type, &cookie)) != + NULL) { + if (index == 0) { + ATF_REQUIRE(type == + NV_TYPE_NVLIST_ARRAY); + } else if (index >= 1 && index <= 5) { + ATF_REQUIRE(type == NV_TYPE_NUMBER); + } else if (index == 6) { + ATF_REQUIRE(type == NV_TYPE_NVLIST); + } else if (index == 7) { + ATF_REQUIRE(type == + NV_TYPE_NVLIST_ARRAY); + } else if (index >= 8 && index <= 12) { + ATF_REQUIRE(type == NV_TYPE_NUMBER); + } else if (index == 13) { + ATF_REQUIRE(type == NV_TYPE_STRING); + } + + if (type == NV_TYPE_NVLIST) { + travel = nvlist_get_nvlist(travel, + name); + cookie = NULL; + } else if (type == NV_TYPE_NVLIST_ARRAY) { + travel = nvlist_get_nvlist_array(travel, + name, NULL)[0]; + cookie = NULL; + } + index ++; + } + cookie = NULL; + } while ((tmp = nvlist_get_array_next(travel)) != NULL); + } while ((tmp = nvlist_get_parent(travel, &cookie)) != NULL); + + for (i = 0; i < 5; i++) + nvlist_destroy(test[i]); + + nvlist_destroy(nvl); +} + +ATF_TEST_CASE_WITHOUT_HEAD(nvlist_bool_array__pack); +ATF_TEST_CASE_BODY(nvlist_bool_array__pack) +{ + nvlist_t *nvl, *unpacked; + const char *key; + size_t packed_size, count; + void *packed; + unsigned int i; + const bool *const_result; + bool testbool[16]; + + for (i = 0; i < 16; i++) + testbool[i] = (i % 2 == 0); + + key = "nvl/bool"; + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + ATF_REQUIRE(nvlist_empty(nvl)); + ATF_REQUIRE(!nvlist_exists_string_array(nvl, key)); + + nvlist_add_bool_array(nvl, key, testbool, 16); + ATF_REQUIRE_EQ(nvlist_error(nvl), 0); + ATF_REQUIRE(!nvlist_empty(nvl)); + ATF_REQUIRE(nvlist_exists_bool_array(nvl, key)); + + packed = nvlist_pack(nvl, &packed_size); + ATF_REQUIRE(packed != NULL); + + unpacked = nvlist_unpack(packed, packed_size, 0); + ATF_REQUIRE(unpacked != NULL); + ATF_REQUIRE_EQ(nvlist_error(unpacked), 0); + ATF_REQUIRE(nvlist_exists_bool_array(unpacked, key)); + + const_result = nvlist_get_bool_array(unpacked, key, &count); + ATF_REQUIRE_EQ(count, 16); + for (i = 0; i < count; i++) { + ATF_REQUIRE_EQ(testbool[i], const_result[i]); + } + + nvlist_destroy(nvl); + nvlist_destroy(unpacked); + free(packed); +} + +ATF_TEST_CASE_WITHOUT_HEAD(nvlist_number_array__pack); +ATF_TEST_CASE_BODY(nvlist_number_array__pack) +{ + nvlist_t *nvl, *unpacked; + const char *key; + size_t packed_size, count; + void *packed; + unsigned int i; + const uint64_t *const_result; + const uint64_t number[8] = { 0, UINT_MAX, 7, 123, 90, + 100000, 8, 1 }; + + key = "nvl/number"; + nvl = nvlist_create(0); + ATF_REQUIRE(nvl != NULL); + ATF_REQUIRE(nvlist_empty(nvl)); + ATF_REQUIRE(!nvlist_exists_string_array(nvl, key)); + + nvlist_add_number_array(nvl, key, number, 8); + ATF_REQUIRE_EQ(nvlist_error(nvl), 0); + ATF_REQUIRE(!nvlist_empty(nvl)); + ATF_REQUIRE(nvlist_exists_number_array(nvl, key)); + + packed = nvlist_pack(nvl, &packed_size); + ATF_REQUIRE(packed != NULL); + + unpacked = nvlist_unpack(packed, packed_size, 0); + ATF_REQUIRE(unpacked != NULL); + ATF_REQUIRE_EQ(nvlist_error(unpacked), 0); + ATF_REQUIRE(nvlist_exists_number_array(unpacked, key)); + + const_result = nvlist_get_number_array(unpacked, key, &count); + ATF_REQUIRE_EQ(count, 8); + for (i = 0; i < count; i++) { + ATF_REQUIRE_EQ(number[i], const_result[i]); + } + + nvlist_destroy(nvl); + nvlist_destroy(unpacked); + free(packed); +} + +ATF_TEST_CASE_WITHOUT_HEAD(nvlist_descriptor_array__pack); +ATF_TEST_CASE_BODY(nvlist_descriptor_array__pack) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@freebsd.org Sun Jan 3 09:19:55 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B050DA5F5EB for ; Sun, 3 Jan 2016 09:19:55 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6760313CA; Sun, 3 Jan 2016 09:19:55 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u039JswI029329; Sun, 3 Jan 2016 09:19:54 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u039JsQ5029328; Sun, 3 Jan 2016 09:19:54 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601030919.u039JsQ5029328@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 09:19:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293095 - user/ngie/stable-10-libnv/lib/libnv/tests X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 09:19:55 -0000 Author: ngie Date: Sun Jan 3 09:19:54 2016 New Revision: 293095 URL: https://svnweb.freebsd.org/changeset/base/293095 Log: MFC r282348: r282348 (by oshogbo): Add test case for unpack with diffrent flags. Modified: user/ngie/stable-10-libnv/lib/libnv/tests/nv_tests.cc Directory Properties: user/ngie/stable-10-libnv/ (props changed) Modified: user/ngie/stable-10-libnv/lib/libnv/tests/nv_tests.cc ============================================================================== --- user/ngie/stable-10-libnv/lib/libnv/tests/nv_tests.cc Sun Jan 3 09:16:42 2016 (r293094) +++ user/ngie/stable-10-libnv/lib/libnv/tests/nv_tests.cc Sun Jan 3 09:19:54 2016 (r293095) @@ -451,6 +451,40 @@ ATF_TEST_CASE_BODY(nvlist_pack__empty_nv free(packed); } +ATF_TEST_CASE_WITHOUT_HEAD(nvlist_unpack__flags_nvlist); +ATF_TEST_CASE_BODY(nvlist_unpack__flags_nvlist) +{ + nvlist_t *nvl, *unpacked; + void *packed; + size_t packed_size; + + nvl = nvlist_create(NV_FLAG_NO_UNIQUE); + ATF_REQUIRE(nvl != NULL); + + nvlist_add_bool(nvl, "name", true); + ATF_REQUIRE(!nvlist_empty(nvl)); + ATF_REQUIRE(nvlist_exists_bool(nvl, "name")); + + packed = nvlist_pack(nvl, &packed_size); + ATF_REQUIRE(packed != NULL); + + unpacked = nvlist_unpack(packed, packed_size, 0); + ATF_REQUIRE(unpacked == NULL); + + unpacked = nvlist_unpack(packed, packed_size, NV_FLAG_IGNORE_CASE); + ATF_REQUIRE(unpacked == NULL); + + unpacked = nvlist_unpack(packed, packed_size, NV_FLAG_NO_UNIQUE); + ATF_REQUIRE(unpacked != NULL); + ATF_REQUIRE(unpacked != nvl); + ATF_REQUIRE(!nvlist_empty(unpacked)); + ATF_REQUIRE(nvlist_exists_bool(unpacked, "name")); + + nvlist_destroy(unpacked); + nvlist_destroy(nvl); + free(packed); +} + static void verify_null(const nvlist_t *nvl, int type) { @@ -1207,6 +1241,7 @@ ATF_INIT_TEST_CASES(tp) ATF_ADD_TEST_CASE(tp, nvlist_pack__multiple_values); ATF_ADD_TEST_CASE(tp, nvlist_pack__error_nvlist); ATF_ADD_TEST_CASE(tp, nvlist_unpack__duplicate_key); + ATF_ADD_TEST_CASE(tp, nvlist_unpack__flags_nvlist); ATF_ADD_TEST_CASE(tp, nvlist_move_string__single_insert); ATF_ADD_TEST_CASE(tp, nvlist_move_nvlist__single_insert); From owner-svn-src-user@freebsd.org Sun Jan 3 09:38:09 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D9134A5FACC for ; Sun, 3 Jan 2016 09:38:08 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 78D411CCE; Sun, 3 Jan 2016 09:38:08 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u039c7qe035159; Sun, 3 Jan 2016 09:38:07 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u039c6wu035142; Sun, 3 Jan 2016 09:38:06 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601030938.u039c6wu035142@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 09:38:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293096 - in user/ngie/stable-10-libnv: share/man/man9 sys/conf sys/dev/ixl sys/dev/pci sys/modules/ixl X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 09:38:09 -0000 Author: ngie Date: Sun Jan 3 09:38:05 2016 New Revision: 293096 URL: https://svnweb.freebsd.org/changeset/base/293096 Log: MFC r279445,r279464,r283670: r279445 (by rstone): Document pci_iov_attach/detach in pci.9 r279464 (by rstone): Document the interface for defining a configuration schema r283670 (by jhb): Create a separate kobj interface for leaf-driver PCI IOV methods. Leaf drivers should not import the PCI bus interface to add IOV handling. Instead, move the IOV client methods to a separate kobj interface. Added: user/ngie/stable-10-libnv/share/man/man9/PCI_IOV_ADD_VF.9 - copied unchanged from r283670, head/share/man/man9/PCI_IOV_ADD_VF.9 user/ngie/stable-10-libnv/share/man/man9/PCI_IOV_INIT.9 - copied unchanged from r283670, head/share/man/man9/PCI_IOV_INIT.9 user/ngie/stable-10-libnv/share/man/man9/PCI_IOV_UNINIT.9 - copied unchanged from r283670, head/share/man/man9/PCI_IOV_UNINIT.9 user/ngie/stable-10-libnv/share/man/man9/pci_iov_schema.9 - copied, changed from r279464, head/share/man/man9/pci_iov_schema.9 user/ngie/stable-10-libnv/sys/dev/pci/pci_iov.h - copied unchanged from r283670, head/sys/dev/pci/pci_iov.h user/ngie/stable-10-libnv/sys/dev/pci/pci_iov_if.m - copied unchanged from r283670, head/sys/dev/pci/pci_iov_if.m Deleted: user/ngie/stable-10-libnv/share/man/man9/PCI_ADD_VF.9 user/ngie/stable-10-libnv/share/man/man9/PCI_INIT_IOV.9 user/ngie/stable-10-libnv/share/man/man9/PCI_UNINIT_IOV.9 Modified: user/ngie/stable-10-libnv/share/man/man9/Makefile user/ngie/stable-10-libnv/share/man/man9/pci.9 user/ngie/stable-10-libnv/sys/conf/files user/ngie/stable-10-libnv/sys/conf/kmod.mk user/ngie/stable-10-libnv/sys/dev/ixl/if_ixl.c user/ngie/stable-10-libnv/sys/dev/ixl/ixl.h user/ngie/stable-10-libnv/sys/dev/pci/pci_if.m user/ngie/stable-10-libnv/sys/dev/pci/pci_iov.c user/ngie/stable-10-libnv/sys/dev/pci/pcivar.h user/ngie/stable-10-libnv/sys/modules/ixl/Makefile (contents, props changed) Directory Properties: user/ngie/stable-10-libnv/ (props changed) Modified: user/ngie/stable-10-libnv/share/man/man9/Makefile ============================================================================== --- user/ngie/stable-10-libnv/share/man/man9/Makefile Sun Jan 3 09:19:54 2016 (r293095) +++ user/ngie/stable-10-libnv/share/man/man9/Makefile Sun Jan 3 09:38:05 2016 (r293096) @@ -195,9 +195,10 @@ MAN= accept_filter.9 \ p_candebug.9 \ p_cansee.9 \ pci.9 \ - PCI_ADD_VF.9 \ - PCI_INIT_IOV.9 \ - PCI_UNINIT_IOV.9 \ + PCI_IOV_ADD_VF.9 \ + PCI_IOV_INIT.9 \ + pci_iov_schema.9 \ + PCI_IOV_UNINIT.9 \ pfil.9 \ pfind.9 \ pget.9 \ @@ -1086,6 +1087,8 @@ MLINKS+=pci.9 pci_alloc_msi.9 \ pci.9 pci_get_powerstate.9 \ pci.9 pci_get_vpd_ident.9 \ pci.9 pci_get_vpd_readonly.9 \ + pci.9 pci_iov_attach.9 \ + pci.9 pci_iov_detach.9 \ pci.9 pci_msi_count.9 \ pci.9 pci_msix_count.9 \ pci.9 pci_pending_msix.9 \ @@ -1100,6 +1103,14 @@ MLINKS+=pci.9 pci_alloc_msi.9 \ pci.9 pcie_adjust_config.9 \ pci.9 pcie_read_config.9 \ pci.9 pcie_write_config.9 +MLINKS+=pci_iov_schema.9 pci_iov_schema_alloc_node.9 \ + pci_iov_schema.9 pci_iov_schema_add_bool.9 \ + pci_iov_schema.9 pci_iov_schema_add_string.9 \ + pci_iov_schema.9 pci_iov_schema_add_uint8.9 \ + pci_iov_schema.9 pci_iov_schema_add_uint16.9 \ + pci_iov_schema.9 pci_iov_schema_add_uint32.9 \ + pci_iov_schema.9 pci_iov_schema_add_uint64.9 \ + pci_iov_schema.9 pci_iov_schema_add_unicast_mac.9 MLINKS+=pfil.9 pfil_add_hook.9 \ pfil.9 pfil_hook_get.9 \ pfil.9 pfil_remove_hook.9 Copied: user/ngie/stable-10-libnv/share/man/man9/PCI_IOV_ADD_VF.9 (from r283670, head/share/man/man9/PCI_IOV_ADD_VF.9) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/stable-10-libnv/share/man/man9/PCI_IOV_ADD_VF.9 Sun Jan 3 09:38:05 2016 (r293096, copy of r283670, head/share/man/man9/PCI_IOV_ADD_VF.9) @@ -0,0 +1,112 @@ +.\" +.\" Copyright (c) 2014 Sandvine Inc. +.\" 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. +.\" +.\" 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 MERCHANTABILITY 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 28, 2015 +.Dt PCI_IOV_ADD_VF 9 +.Os +.Sh NAME +.Nm PCI_IOV_ADD_VF +.Nd inform a PF driver that a VF is being created +.Sh SYNOPSIS +.In sys/bus.h +.In machine/stdarg.h +.In sys/nv.h +.In dev/pci/pci_iov.h +.Ft int +.Fn PCI_IOV_ADD_VF "device_t dev" "uint16_t vfnum" "const nvlist_t *vf_config" +.Sh DESCRIPTION +The +.Fn PCI_IOV_ADD_VF +method is called by the PCI Single-Root I/O Virtualization +.Pq SR-IOV +infrastructure when it is initializating a new Virtual Function (VF) as a child +of the given Physical Function (PF) device. +This method will not be called until a successful call to +.Xr PCI_IOV_INIT 9 +has been made. +It is not guaranteed that this method will be called following a successful call +to +.Xr PCI_IOV_INIT 9 . +If the infrastructure encounters a failure to allocate resources following the +call to +.Xr PCI_IOV_INIT 9 , +the VF creation will be aborted and +.Xr PCI_IOV_UNINIT 9 +will be called immediately without any preceding calls to +.Nm . +.Pp +The index of the VF being initialized is passed in the +.Fa vfnum +argument. +VFs are always numbered sequentially starting at 0. +.Pp +If the driver requested device-specific configuration parameters via a VF schema +in its call to +.Xr pci_iov_attach 9 , +those parameters will be contained in the +.Pa vf_config +argument. +All configuration parameters that were either set as required parameters or that +had a default value set in the VF schema are guaranteed to be present in +.Fa vf_config . +Configuration parameters that were neither set as required nor were given a +default value are optional and may or may not be present in +.Fa vf_config . +.Fa vf_config +will not contain any configuration parameters that were not specified in the VF +schema. +All configuration parameters will have the correct type and will be in the range +of valid values specified in the schema. +.Pp +Note that it is possible for the user to set different configuration values on +different VF devices that are children of the same PF. +The PF driver must not cache configuration parameters passed in previous calls +to +.Fn PCI_IOV_ADD_VF +for other VFs and apply those parameters to the current VF. +.Pp +This function will not be called twice for the same +.Fa vf_num +on the same PF device without +.Xr PCI_IOV_UNINIT 9 +and +.Xr PCI_IOV_INIT 9 +first being called, in that order. +.Sh RETURN VALUES +This method returns 0 on success, otherwise an appropriate error is returned. +If this method returns an error then the current VF device will be destroyed +but the rest of the VF devices will be created and SR-IOV will be enabled on +the PF. +.Sh SEE ALSO +.Xr nv 9 , +.Xr pci 9 , +.Xr pci_iov_schema 9 , +.Xr PCI_IOV_INIT 9 , +.Xr PCI_IOV_UNINIT 9 +.Sh AUTHORS +This manual page was written by +.An Ryan Stone Aq Mt rstone@FreeBSD.org . Copied: user/ngie/stable-10-libnv/share/man/man9/PCI_IOV_INIT.9 (from r283670, head/share/man/man9/PCI_IOV_INIT.9) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/stable-10-libnv/share/man/man9/PCI_IOV_INIT.9 Sun Jan 3 09:38:05 2016 (r293096, copy of r283670, head/share/man/man9/PCI_IOV_INIT.9) @@ -0,0 +1,85 @@ +.\" +.\" Copyright (c) 2014 Sandvine Inc. +.\" 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. +.\" +.\" 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 MERCHANTABILITY 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 28, 2015 +.Dt PCI_IOV_INIT 9 +.Os +.Sh NAME +.Nm PCI_IOV_INIT +.Nd enable SR-IOV on a PF device +.Sh SYNOPSIS +.In sys/bus.h +.In machine/stdarg.h +.In sys/nv.h +.In dev/pci/pci_iov.h +.Ft int +.Fn PCI_IOV_INIT "device_t dev" "uint16_t num_vfs" "const nvlist_t *pf_config" +.Sh DESCRIPTION +The +.Fn PCI_IOV_INIT +method is called by the PCI Single-Root I/O Virtualization (SR-IOV) +infrastucture when the user requests that SR-IOV be enabled on a Physical +Function (PF). +The number of Virtual Functions (VFs) that will be created is passed to this +method in the +.Fa num_vfs +argument. +.Pp +If the driver requested device-specific PF configuration parameters via a PF +schema in its call to +.Xr pci_iov_attach 9 , +those parameters will be available in the +.Fa pf_config +argument. +All configuration parameters that were either set as required parameters or that +had a default value set in the PF schema are guaranteed to be present in +.Fa pf_config . +Configuration parameters that were neither set as required nor were given a +default value are optional and may or may not be present in +.Fa pf_config . +.Fa pf_config +will not contain any configuration parameters that were not specified in the PF +schema. +All configuration parameters will have the correct type and are in the range of +valid values specified in the schema. +.Pp +If this method returns successfully, then this method will not be called again +on the same device until after a call to +.Xr PCI_IOV_UNINIT . +.Sh RETURN VALUES +Returns 0 on success, otherwise an appropriate error is returned. +If this method returns an error then the SR-IOV configuration will be aborted +and no VFs will be created. +.Sh SEE ALSO +.Xr nv 9 , +.Xr pci 9 , +.Xr pci_iov_schema 9 , +.Xr PCI_IOV_ADD_VF 9 , +.Xr PCI_IOV_UNINIT 9 +.Sh AUTHORS +This manual page was written by +.An Ryan Stone Aq Mt rstone@FreeBSD.org . Copied: user/ngie/stable-10-libnv/share/man/man9/PCI_IOV_UNINIT.9 (from r283670, head/share/man/man9/PCI_IOV_UNINIT.9) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/stable-10-libnv/share/man/man9/PCI_IOV_UNINIT.9 Sun Jan 3 09:38:05 2016 (r293096, copy of r283670, head/share/man/man9/PCI_IOV_UNINIT.9) @@ -0,0 +1,63 @@ +.\" +.\" Copyright (c) 2014 Sandvine Inc. +.\" 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. +.\" +.\" 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 MERCHANTABILITY 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 28, 2015 +.Dt PCI_IOV_UNINIT 9 +.Os +.Sh NAME +.Nm PCI_IOV_UNINIT +.Nd disable SR-IOV on a PF device +.Sh SYNOPSIS +.In sys/bus.h +.In dev/pci/pci_iov.h +.Ft void +.Fn PCI_IOV_UNINIT "device_t dev" +.Sh DESCRIPTION +The +.Fn PCI_IOV_UNINIT +method is called by the PCI Single-Root I/O Virtualization (SR-IOV) +infrastructure when the user requests that SR-IOV be disabled on a Physical +Function (PF). +When this method is called, the PF driver must release any SR-IOV-related +resources that it has allocated and disable any device-specific SR-IOV +configuration in the device. +.Pp +This method will only be called following a successful call to +.Xr PCI_IOV_INIT . +It is not guaranteed that +.Xr PCI_IOV_ADD_VF +will have been called for any Virtual Function (VF) after the call to +.Xr PCI_IOV_INIT +and before the call to +.Nm . +.Sh SEE ALSO +.Xr pci 9 , +.Xr PCI_IOV_ADD_VF 9 , +.Xr PCI_IOV_INIT 9 +.Sh AUTHORS +This manual page was written by +.An Ryan Stone Aq Mt rstone@FreeBSD.org . Modified: user/ngie/stable-10-libnv/share/man/man9/pci.9 ============================================================================== --- user/ngie/stable-10-libnv/share/man/man9/pci.9 Sun Jan 3 09:19:54 2016 (r293095) +++ user/ngie/stable-10-libnv/share/man/man9/pci.9 Sun Jan 3 09:38:05 2016 (r293096) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 5, 2015 +.Dd January 3, 2015 .Dt PCI 9 .Os .Sh NAME @@ -47,6 +47,8 @@ .Nm pci_get_powerstate , .Nm pci_get_vpd_ident , .Nm pci_get_vpd_readonly , +.Nm pci_iov_attach , +.Nm pci_iov_detach , .Nm pci_msi_count , .Nm pci_msix_count , .Nm pci_pending_msix , @@ -134,6 +136,11 @@ .Fn pcie_read_config "device_t dev" "int reg" "int width" .Ft void .Fn pcie_write_config "device_t dev" "int reg" "uint32_t val" "int width" +.In dev/pci/pci_iov.h +.Ft int +.Fn pci_iov_attach "device_t dev" "nvlist_t *pf_schema" "nvlist_t *vf_schema" +.Ft int +.Fn pci_iov_detach "device_t dev" .Sh DESCRIPTION The .Nm @@ -504,6 +511,75 @@ then the function will fail with .Er EOPNOTSUPP . .Pp The +.Fn pci_iov_attach +function is used to advertise that the given device +.Pq and associated device driver +supports PCI Single-Root I/O Virtualization +.Po SR-IOV Pc . +A driver that supports SR-IOV must implement the +.Xr PCI_IOV_INIT 9 , +.Xr PCI_IOV_ADD_VF 9 +and +.Xr PCI_IOV_UNINIT 9 +methods. +This function should be called during the +.Xr DEVICE_ATTACH 9 +method. +If this function returns an error, it is recommended that the device driver +still successfully attaches, but runs with SR-IOV disabled. +The +.Fa pf_schema +and +.Fa vf_schema +parameters are used to define what device-specific configuration parameters the +device driver accepts when SR-IOV is enabled for the Physical Function +.Pq PF +and for individual Virtual Functions +.Pq VFs +respectively. +See +.Xr pci_iov_schema 9 +for details on how to construct the schema. +If either the +.Pa pf_schema +or +.Pa vf_schema +is invalid or specifies parameter names that conflict with parameter names that +are already in use, +.Fn pci_iov_attach +will return an error and SR-IOV will not be available on the PF device. +If a driver does not accept configuration parameters for either the PF device +or the VF devices, the driver must pass an empty schema for that device. +The SR-IOV infrastructure takes ownership of the +.Fa pf_schema +and +.Fa vf_schema +and is responsible for freeing them. +The driver must never free the schemas itself. +.Pp +The +.Fn pci_iov_detach +function is used to advise the SR-IOV infrastructure that the driver for the +given device is attempting to detach and that all SR-IOV resources for the +device must be released. +This function must be called during the +.Xr DEVICE_DETACH 9 +method if +.Fn pci_iov_attach +was successfully called on the device and +.Fn pci_iov_detach +has not subsequently been called on the device and returned no error. +If this function returns an error, the +.Xr DEVICE_DETACH 9 +method must fail and return an error, as detaching the PF driver while VF +devices are active would cause system instability. +This function is safe to call and will always succeed if +.Fn pci_iov_attach +previously failed with an error on the given device, or if +.Fn pci_iov_attach +was never called on the device. +.Pp +The .Fn pci_save_state and .Fn pci_restore_state Copied and modified: user/ngie/stable-10-libnv/share/man/man9/pci_iov_schema.9 (from r279464, head/share/man/man9/pci_iov_schema.9) ============================================================================== --- head/share/man/man9/pci_iov_schema.9 Sun Mar 1 00:59:21 2015 (r279464, copy source) +++ user/ngie/stable-10-libnv/share/man/man9/pci_iov_schema.9 Sun Jan 3 09:38:05 2016 (r293096) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 25, 2014 +.Dd May 28, 2015 .Dt pci_iov_schema 9 .Os .Sh NAME @@ -258,8 +258,8 @@ The function returns a pointer to the allocated schema, or NULL if a failure occurs. .Sh SEE ALSO .Xr pci 9 , -.Xr PCI_ADD_VF 9 , -.Xr PCI_INIT_IOV 9 +.Xr PCI_IOV_ADD_VF 9 , +.Xr PCI_IOV_INIT 9 .Sh AUTHORS This manual page was written by .An Ryan Stone Aq rstone@FreeBSD.org . Modified: user/ngie/stable-10-libnv/sys/conf/files ============================================================================== --- user/ngie/stable-10-libnv/sys/conf/files Sun Jan 3 09:19:54 2016 (r293095) +++ user/ngie/stable-10-libnv/sys/conf/files Sun Jan 3 09:38:05 2016 (r293096) @@ -2007,6 +2007,7 @@ dev/pci/isa_pci.c optional pci isa dev/pci/pci.c optional pci dev/pci/pci_if.m standard dev/pci/pci_iov.c optional pci pci_iov +dev/pci/pci_iov_if.m standard dev/pci/pci_iov_schema.c optional pci pci_iov dev/pci/pci_pci.c optional pci dev/pci/pci_subr.c optional pci Modified: user/ngie/stable-10-libnv/sys/conf/kmod.mk ============================================================================== --- user/ngie/stable-10-libnv/sys/conf/kmod.mk Sun Jan 3 09:19:54 2016 (r293095) +++ user/ngie/stable-10-libnv/sys/conf/kmod.mk Sun Jan 3 09:38:05 2016 (r293096) @@ -357,7 +357,7 @@ MFILES?= dev/acpica/acpi_if.m dev/acpi_s dev/mmc/mmcbr_if.m dev/mmc/mmcbus_if.m \ dev/mii/miibus_if.m dev/mvs/mvs_if.m dev/ofw/ofw_bus_if.m \ dev/pccard/card_if.m dev/pccard/power_if.m dev/pci/pci_if.m \ - dev/pci/pcib_if.m dev/ppbus/ppbus_if.m \ + dev/pci/pci_iov_if.m dev/pci/pcib_if.m dev/ppbus/ppbus_if.m \ dev/sdhci/sdhci_if.m dev/smbus/smbus_if.m dev/spibus/spibus_if.m \ dev/sound/pci/hda/hdac_if.m \ dev/sound/pcm/ac97_if.m dev/sound/pcm/channel_if.m \ Modified: user/ngie/stable-10-libnv/sys/dev/ixl/if_ixl.c ============================================================================== --- user/ngie/stable-10-libnv/sys/dev/ixl/if_ixl.c Sun Jan 3 09:19:54 2016 (r293095) +++ user/ngie/stable-10-libnv/sys/dev/ixl/if_ixl.c Sun Jan 3 09:38:05 2016 (r293096) @@ -207,8 +207,8 @@ static int ixl_sysctl_switch_config(SYSC #ifdef PCI_IOV static int ixl_adminq_err_to_errno(enum i40e_admin_queue_err err); -static int ixl_init_iov(device_t dev, uint16_t num_vfs, const nvlist_t*); -static void ixl_uninit_iov(device_t dev); +static int ixl_iov_init(device_t dev, uint16_t num_vfs, const nvlist_t*); +static void ixl_iov_uninit(device_t dev); static int ixl_add_vf(device_t dev, uint16_t vfnum, const nvlist_t*); static void ixl_handle_vf_msg(struct ixl_pf *, @@ -230,9 +230,9 @@ static device_method_t ixl_methods[] = { DEVMETHOD(device_detach, ixl_detach), DEVMETHOD(device_shutdown, ixl_shutdown), #ifdef PCI_IOV - DEVMETHOD(pci_init_iov, ixl_init_iov), - DEVMETHOD(pci_uninit_iov, ixl_uninit_iov), - DEVMETHOD(pci_add_vf, ixl_add_vf), + DEVMETHOD(pci_iov_init, ixl_iov_init), + DEVMETHOD(pci_iov_uninit, ixl_iov_uninit), + DEVMETHOD(pci_iov_add_vf, ixl_add_vf), #endif {0, 0} }; @@ -6546,7 +6546,7 @@ ixl_adminq_err_to_errno(enum i40e_admin_ } static int -ixl_init_iov(device_t dev, uint16_t num_vfs, const nvlist_t *params) +ixl_iov_init(device_t dev, uint16_t num_vfs, const nvlist_t *params) { struct ixl_pf *pf; struct i40e_hw *hw; @@ -6594,7 +6594,7 @@ fail: } static void -ixl_uninit_iov(device_t dev) +ixl_iov_uninit(device_t dev) { struct ixl_pf *pf; struct i40e_hw *hw; Modified: user/ngie/stable-10-libnv/sys/dev/ixl/ixl.h ============================================================================== --- user/ngie/stable-10-libnv/sys/dev/ixl/ixl.h Sun Jan 3 09:19:54 2016 (r293095) +++ user/ngie/stable-10-libnv/sys/dev/ixl/ixl.h Sun Jan 3 09:38:05 2016 (r293096) @@ -93,6 +93,7 @@ #ifdef PCI_IOV #include #include +#include #endif #include "i40e_type.h" Modified: user/ngie/stable-10-libnv/sys/dev/pci/pci_if.m ============================================================================== --- user/ngie/stable-10-libnv/sys/dev/pci/pci_if.m Sun Jan 3 09:19:54 2016 (r293095) +++ user/ngie/stable-10-libnv/sys/dev/pci/pci_if.m Sun Jan 3 09:38:05 2016 (r293096) @@ -214,22 +214,6 @@ METHOD int iov_detach { device_t child; }; -METHOD int init_iov { - device_t dev; - uint16_t num_vfs; - const struct nvlist *config; -}; - -METHOD void uninit_iov { - device_t dev; -}; - -METHOD int add_vf { - device_t dev; - uint16_t vfnum; - const struct nvlist *config; -}; - METHOD device_t create_iov_child { device_t bus; device_t pf; @@ -237,4 +221,3 @@ METHOD device_t create_iov_child { uint16_t vid; uint16_t did; } DEFAULT null_create_iov_child; - Modified: user/ngie/stable-10-libnv/sys/dev/pci/pci_iov.c ============================================================================== --- user/ngie/stable-10-libnv/sys/dev/pci/pci_iov.c Sun Jan 3 09:19:54 2016 (r293095) +++ user/ngie/stable-10-libnv/sys/dev/pci/pci_iov.c Sun Jan 3 09:38:05 2016 (r293096) @@ -53,11 +53,11 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include -#include "pci_if.h" #include "pcib_if.h" static MALLOC_DEFINE(M_SRIOV, "sr_iov", "PCI SR-IOV allocations"); @@ -479,13 +479,13 @@ pci_iov_config_page_size(struct pci_devi } static int -pci_init_iov(device_t dev, uint16_t num_vfs, const nvlist_t *config) +pci_iov_init(device_t dev, uint16_t num_vfs, const nvlist_t *config) { const nvlist_t *device, *driver_config; device = nvlist_get_nvlist(config, PF_CONFIG_NAME); driver_config = nvlist_get_nvlist(device, DRIVER_CONFIG_NAME); - return (PCI_INIT_IOV(dev, num_vfs, driver_config)); + return (PCI_IOV_INIT(dev, num_vfs, driver_config)); } static int @@ -591,7 +591,7 @@ pci_iov_enumerate_vfs(struct pci_devinfo pci_iov_add_bars(iov, vfinfo); - error = PCI_ADD_VF(dev, i, driver_config); + error = PCI_IOV_ADD_VF(dev, i, driver_config); if (error != 0) { device_printf(dev, "Failed to add VF %d\n", i); pci_delete_child(bus, vf); @@ -648,7 +648,7 @@ pci_iov_config(struct cdev *cdev, struct if (error != 0) goto out; - error = pci_init_iov(dev, num_vfs, config); + error = pci_iov_init(dev, num_vfs, config); if (error != 0) goto out; iov_inited = 1; @@ -696,7 +696,7 @@ pci_iov_config(struct cdev *cdev, struct return (0); out: if (iov_inited) - PCI_UNINIT_IOV(dev); + PCI_IOV_UNINIT(dev); for (i = 0; i <= PCIR_MAX_BAR_0; i++) { if (iov->iov_bar[i].res != NULL) { @@ -789,7 +789,7 @@ pci_iov_delete(struct cdev *cdev) if (pci_iov_is_child_vf(iov, vf)) pci_delete_child(bus, vf); } - PCI_UNINIT_IOV(dev); + PCI_IOV_UNINIT(dev); iov_ctl = IOV_READ(dinfo, PCIR_SRIOV_CTL, 2); iov_ctl &= ~(PCIM_SRIOV_VF_EN | PCIM_SRIOV_VF_MSE); Copied: user/ngie/stable-10-libnv/sys/dev/pci/pci_iov.h (from r283670, head/sys/dev/pci/pci_iov.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/stable-10-libnv/sys/dev/pci/pci_iov.h Sun Jan 3 09:38:05 2016 (r293096, copy of r283670, head/sys/dev/pci/pci_iov.h) @@ -0,0 +1,49 @@ +/*- + * Copyright (c) 2013-2015 Sandvine Inc. + * 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. + * + * 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 MERCHANTABILITY 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$ + */ + +#ifndef _PCI_IOV_H_ +#define _PCI_IOV_H_ + +#include "pci_iov_if.h" + +struct nvlist; + +static __inline int +pci_iov_attach(device_t dev, struct nvlist *pf_schema, struct nvlist *vf_schema) +{ + return (PCI_IOV_ATTACH(device_get_parent(dev), dev, pf_schema, + vf_schema)); +} + +static __inline int +pci_iov_detach(device_t dev) +{ + return (PCI_IOV_DETACH(device_get_parent(dev), dev)); +} + +#endif /* !_PCI_IOV_H_ */ Copied: user/ngie/stable-10-libnv/sys/dev/pci/pci_iov_if.m (from r283670, head/sys/dev/pci/pci_iov_if.m) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/stable-10-libnv/sys/dev/pci/pci_iov_if.m Sun Jan 3 09:38:05 2016 (r293096, copy of r283670, head/sys/dev/pci/pci_iov_if.m) @@ -0,0 +1,52 @@ +#- +# Copyright (c) 2013-2015 Sandvine Inc. +# 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. +# +# 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 MERCHANTABILITY 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$ +# + +#include + +INTERFACE pci_iov; + +HEADER { + struct nvlist; +} + + +METHOD int init { + device_t dev; + uint16_t num_vfs; + const struct nvlist *config; +}; + +METHOD void uninit { + device_t dev; +}; + +METHOD int add_vf { + device_t dev; + uint16_t vfnum; + const struct nvlist *config; +}; Modified: user/ngie/stable-10-libnv/sys/dev/pci/pcivar.h ============================================================================== --- user/ngie/stable-10-libnv/sys/dev/pci/pcivar.h Sun Jan 3 09:19:54 2016 (r293095) +++ user/ngie/stable-10-libnv/sys/dev/pci/pcivar.h Sun Jan 3 09:38:05 2016 (r293096) @@ -39,8 +39,6 @@ typedef uint64_t pci_addr_t; -struct nvlist; - /* Interesting values for PCI power management */ struct pcicfg_pp { uint16_t pp_cap; /* PCI power management capabilities */ @@ -526,19 +524,6 @@ pci_child_added(device_t dev) return (PCI_CHILD_ADDED(device_get_parent(dev), dev)); } -static __inline int -pci_iov_attach(device_t dev, struct nvlist *pf_schema, struct nvlist *vf_schema) -{ - return (PCI_IOV_ATTACH(device_get_parent(dev), dev, pf_schema, - vf_schema)); -} - -static __inline int -pci_iov_detach(device_t dev) -{ - return (PCI_IOV_DETACH(device_get_parent(dev), dev)); -} - device_t pci_find_bsf(uint8_t, uint8_t, uint8_t); device_t pci_find_dbsf(uint32_t, uint8_t, uint8_t, uint8_t); device_t pci_find_device(uint16_t, uint16_t); Modified: user/ngie/stable-10-libnv/sys/modules/ixl/Makefile ============================================================================== --- user/ngie/stable-10-libnv/sys/modules/ixl/Makefile Sun Jan 3 09:19:54 2016 (r293095) +++ user/ngie/stable-10-libnv/sys/modules/ixl/Makefile Sun Jan 3 09:38:05 2016 (r293096) @@ -5,7 +5,7 @@ .PATH: ${.CURDIR}/../../dev/ixl KMOD = if_ixl -SRCS = device_if.h bus_if.h pci_if.h opt_bdg.h +SRCS = device_if.h bus_if.h pci_if.h pci_iov_if.h opt_bdg.h SRCS += opt_inet.h opt_inet6.h SRCS += if_ixl.c ixl_txrx.c i40e_osdep.c From owner-svn-src-user@freebsd.org Sun Jan 3 09:44:28 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3E641A5FD72 for ; Sun, 3 Jan 2016 09:44:28 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0E11D1225; Sun, 3 Jan 2016 09:44:27 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u039iRcW038207; Sun, 3 Jan 2016 09:44:27 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u039iQuY038200; Sun, 3 Jan 2016 09:44:26 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601030944.u039iQuY038200@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 09:44:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293097 - in user/ngie/stable-10-libnv: share/man/man9 sys/dev/pci usr.sbin/iovctl X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 09:44:28 -0000 Author: ngie Date: Sun Jan 3 09:44:26 2016 New Revision: 293097 URL: https://svnweb.freebsd.org/changeset/base/293097 Log: MFC r279465,r284558,r285189,r285273: r279465 (by rstone): Validate the schema that the PF driver passed to us r284558 (by brueffer): Document title should be in CAPS. r285189 (by pkelsey): Fix range upper bound for uint32_t and uint64_t, and reformat range description for uint8_t, uint16_t, uint32_t, and uint64_t. r285273 (by pkelsey): Replace use of .Po Pc with the preferred .Pq for single line enclosures in iovctl.conf(5), iovctl(8), pci(9), and pci_iov_schema(9). Modified: user/ngie/stable-10-libnv/share/man/man9/pci.9 user/ngie/stable-10-libnv/share/man/man9/pci_iov_schema.9 user/ngie/stable-10-libnv/sys/dev/pci/pci_iov.c user/ngie/stable-10-libnv/sys/dev/pci/pci_iov_schema.c user/ngie/stable-10-libnv/sys/dev/pci/schema_private.h user/ngie/stable-10-libnv/usr.sbin/iovctl/iovctl.8 user/ngie/stable-10-libnv/usr.sbin/iovctl/iovctl.conf.5 Directory Properties: user/ngie/stable-10-libnv/ (props changed) Modified: user/ngie/stable-10-libnv/share/man/man9/pci.9 ============================================================================== --- user/ngie/stable-10-libnv/share/man/man9/pci.9 Sun Jan 3 09:38:05 2016 (r293096) +++ user/ngie/stable-10-libnv/share/man/man9/pci.9 Sun Jan 3 09:44:26 2016 (r293097) @@ -515,7 +515,7 @@ The function is used to advertise that the given device .Pq and associated device driver supports PCI Single-Root I/O Virtualization -.Po SR-IOV Pc . +.Pq SR-IOV . A driver that supports SR-IOV must implement the .Xr PCI_IOV_INIT 9 , .Xr PCI_IOV_ADD_VF 9 Modified: user/ngie/stable-10-libnv/share/man/man9/pci_iov_schema.9 ============================================================================== --- user/ngie/stable-10-libnv/share/man/man9/pci_iov_schema.9 Sun Jan 3 09:38:05 2016 (r293096) +++ user/ngie/stable-10-libnv/share/man/man9/pci_iov_schema.9 Sun Jan 3 09:44:26 2016 (r293097) @@ -25,8 +25,8 @@ .\" .\" $FreeBSD$ .\" -.Dd May 28, 2015 -.Dt pci_iov_schema 9 +.Dd July 8, 2015 +.Dt PCI_IOV_SCHEMA 9 .Os .Sh NAME .Nm pci_iov_schema , @@ -227,7 +227,7 @@ type. Values of type .Vt uint32_t are unsigned integers in the range 0 to -.Po 2**32 - 1 Pc , +.Pq 2**32 - 1 , inclusive. .Pp The @@ -241,7 +241,7 @@ type. Values of type .Vt uint64_t are unsigned integers in the range 0 to -.Po 2**64 - 1 Pc , +.Pq 2**64 - 1 , inclusive. .Pp The Modified: user/ngie/stable-10-libnv/sys/dev/pci/pci_iov.c ============================================================================== --- user/ngie/stable-10-libnv/sys/dev/pci/pci_iov.c Sun Jan 3 09:38:05 2016 (r293096) +++ user/ngie/stable-10-libnv/sys/dev/pci/pci_iov.c Sun Jan 3 09:44:26 2016 (r293097) @@ -142,6 +142,10 @@ pci_iov_attach_method(device_t bus, devi error = ENOMEM; goto cleanup; } + + error = pci_iov_validate_schema(schema); + if (error != 0) + goto cleanup; iov->iov_schema = schema; iov->iov_cdev = make_dev(&iov_cdevsw, device_get_unit(dev), Modified: user/ngie/stable-10-libnv/sys/dev/pci/pci_iov_schema.c ============================================================================== --- user/ngie/stable-10-libnv/sys/dev/pci/pci_iov_schema.c Sun Jan 3 09:38:05 2016 (r293096) +++ user/ngie/stable-10-libnv/sys/dev/pci/pci_iov_schema.c Sun Jan 3 09:44:26 2016 (r293097) @@ -50,26 +50,66 @@ __FBSDID("$FreeBSD$"); struct config_type_validator; typedef int (validate_func)(const struct config_type_validator *, const nvlist_t *, const char *name); +typedef int (default_validate_t)(const struct config_type_validator *, + const nvlist_t *); static validate_func pci_iov_schema_validate_bool; static validate_func pci_iov_schema_validate_string; static validate_func pci_iov_schema_validate_uint; static validate_func pci_iov_schema_validate_unicast_mac; +static default_validate_t pci_iov_validate_bool_default; +static default_validate_t pci_iov_validate_string_default; +static default_validate_t pci_iov_validate_uint_default; +static default_validate_t pci_iov_validate_unicast_mac_default; + struct config_type_validator { const char *type_name; validate_func *validate; + default_validate_t *default_validate; uintmax_t limit; }; static struct config_type_validator pci_iov_schema_validators[] = { - { "bool", pci_iov_schema_validate_bool }, - { "string", pci_iov_schema_validate_string }, - { "uint8_t", pci_iov_schema_validate_uint, UINT8_MAX }, - { "uint16_t", pci_iov_schema_validate_uint, UINT16_MAX }, - { "uint32_t", pci_iov_schema_validate_uint, UINT32_MAX }, - { "uint64_t", pci_iov_schema_validate_uint, UINT64_MAX }, - { "unicast-mac", pci_iov_schema_validate_unicast_mac }, + { + .type_name = "bool", + .validate = pci_iov_schema_validate_bool, + .default_validate = pci_iov_validate_bool_default + }, + { + .type_name = "string", + .validate = pci_iov_schema_validate_string, + .default_validate = pci_iov_validate_string_default + }, + { + .type_name = "uint8_t", + .validate = pci_iov_schema_validate_uint, + .default_validate = pci_iov_validate_uint_default, + .limit = UINT8_MAX + }, + { + .type_name = "uint16_t", + .validate = pci_iov_schema_validate_uint, + .default_validate = pci_iov_validate_uint_default, + .limit = UINT16_MAX + }, + { + .type_name = "uint32_t", + .validate = pci_iov_schema_validate_uint, + .default_validate = pci_iov_validate_uint_default, + .limit = UINT32_MAX + }, + { + .type_name = "uint64_t", + .validate = pci_iov_schema_validate_uint, + .default_validate = pci_iov_validate_uint_default, + .limit = UINT64_MAX + }, + { + .type_name = "unicast-mac", + .validate = pci_iov_schema_validate_unicast_mac, + .default_validate = pci_iov_validate_unicast_mac_default, + }, }; static const struct config_type_validator * @@ -309,6 +349,227 @@ pci_iov_config_add_default(const nvlist_ panic("Unexpected nvlist type"); } +static int +pci_iov_validate_bool_default(const struct config_type_validator * validator, + const nvlist_t *param) +{ + + if (!nvlist_exists_bool(param, DEFAULT_SCHEMA_NAME)) + return (EINVAL); + return (0); +} + +static int +pci_iov_validate_string_default(const struct config_type_validator * validator, + const nvlist_t *param) +{ + + if (!nvlist_exists_string(param, DEFAULT_SCHEMA_NAME)) + return (EINVAL); + return (0); +} + +static int +pci_iov_validate_uint_default(const struct config_type_validator * validator, + const nvlist_t *param) +{ + uint64_t defaultVal; + + if (!nvlist_exists_number(param, DEFAULT_SCHEMA_NAME)) + return (EINVAL); + + defaultVal = nvlist_get_number(param, DEFAULT_SCHEMA_NAME); + if (defaultVal > validator->limit) + return (EINVAL); + return (0); +} + +static int +pci_iov_validate_unicast_mac_default( + const struct config_type_validator * validator, const nvlist_t *param) +{ + const uint8_t *mac; + size_t size; + + if (!nvlist_exists_binary(param, DEFAULT_SCHEMA_NAME)) + return (EINVAL); + + mac = nvlist_get_binary(param, DEFAULT_SCHEMA_NAME, &size); + if (size != ETHER_ADDR_LEN) + return (EINVAL); + + if (ETHER_IS_MULTICAST(mac)) + return (EINVAL); + return (0); +} + +static int +pci_iov_validate_param_schema(const nvlist_t *schema) +{ + const struct config_type_validator *validator; + const char *type; + int error; + + /* All parameters must define a type. */ + if (!nvlist_exists_string(schema, TYPE_SCHEMA_NAME)) + return (EINVAL); + type = nvlist_get_string(schema, TYPE_SCHEMA_NAME); + + validator = pci_iov_schema_find_validator(type); + if (validator == NULL) + return (EINVAL); + + /* Validate that the default value conforms to the type. */ + if (nvlist_exists(schema, DEFAULT_SCHEMA_NAME)) { + error = validator->default_validate(validator, schema); + if (error != 0) + return (error); + + /* Required and Default are mutually exclusive. */ + if (nvlist_exists(schema, REQUIRED_SCHEMA_NAME)) + return (EINVAL); + } + + /* The "Required" field must be a bool. */ + if (nvlist_exists(schema, REQUIRED_SCHEMA_NAME)) { + if (!nvlist_exists_bool(schema, REQUIRED_SCHEMA_NAME)) + return (EINVAL); + } + + return (0); +} + +static int +pci_iov_validate_subsystem_schema(const nvlist_t *dev_schema, const char *name) +{ + const nvlist_t *sub_schema, *param_schema; + const char *param_name; + void *it; + int type, error; + + if (!nvlist_exists_nvlist(dev_schema, name)) + return (EINVAL); + sub_schema = nvlist_get_nvlist(dev_schema, name); + + it = NULL; + while ((param_name = nvlist_next(sub_schema, &type, &it)) != NULL) { + if (type != NV_TYPE_NVLIST) + return (EINVAL); + param_schema = nvlist_get_nvlist(sub_schema, param_name); + + error = pci_iov_validate_param_schema(param_schema); + if (error != 0) + return (error); + } + + return (0); +} + +/* + * Validate that the driver schema does not define any configuration parameters + * whose names collide with configuration parameters defined in the iov schema. + */ +static int +pci_iov_validate_param_collisions(const nvlist_t *dev_schema) +{ + const nvlist_t *iov_schema, *driver_schema; + const char *name; + void *it; + int type; + + driver_schema = nvlist_get_nvlist(dev_schema, DRIVER_CONFIG_NAME); + iov_schema = nvlist_get_nvlist(dev_schema, IOV_CONFIG_NAME); + + it = NULL; + while ((name = nvlist_next(driver_schema, &type, &it)) != NULL) { + if (nvlist_exists(iov_schema, name)) + return (EINVAL); + } + + return (0); +} + +/* + * Validate that we only have IOV and DRIVER subsystems beneath the given + * device schema node. + */ +static int +pci_iov_validate_schema_subsystems(const nvlist_t *dev_schema) +{ + const char *name; + void *it; + int type; + + it = NULL; + while ((name = nvlist_next(dev_schema, &type, &it)) != NULL) { + if (strcmp(name, IOV_CONFIG_NAME) != 0 && + strcmp(name, DRIVER_CONFIG_NAME) != 0) + return (EINVAL); + } + + return (0); +} + +static int +pci_iov_validate_device_schema(const nvlist_t *schema, const char *name) +{ + const nvlist_t *dev_schema; + int error; + + if (!nvlist_exists_nvlist(schema, name)) + return (EINVAL); + dev_schema = nvlist_get_nvlist(schema, name); + + error = pci_iov_validate_subsystem_schema(dev_schema, IOV_CONFIG_NAME); + if (error != 0) + return (error); + + error = pci_iov_validate_subsystem_schema(dev_schema, + DRIVER_CONFIG_NAME); + if (error != 0) + return (error); + + error = pci_iov_validate_param_collisions(dev_schema); + if (error != 0) + return (error); + + return (pci_iov_validate_schema_subsystems(dev_schema)); +} + +/* Validate that we only have PF and VF devices beneath the top-level schema. */ +static int +pci_iov_validate_schema_devices(const nvlist_t *dev_schema) +{ + const char *name; + void *it; + int type; + + it = NULL; + while ((name = nvlist_next(dev_schema, &type, &it)) != NULL) { + if (strcmp(name, PF_CONFIG_NAME) != 0 && + strcmp(name, VF_SCHEMA_NAME) != 0) + return (EINVAL); + } + + return (0); +} + +int +pci_iov_validate_schema(const nvlist_t *schema) +{ + int error; + + error = pci_iov_validate_device_schema(schema, PF_CONFIG_NAME); + if (error != 0) + return (error); + + error = pci_iov_validate_device_schema(schema, VF_SCHEMA_NAME); + if (error != 0) + return (error); + + return (pci_iov_validate_schema_devices(schema)); +} + /* * Validate that all required parameters from the schema are specified in the * config. If any parameter with a default value is not specified in the Modified: user/ngie/stable-10-libnv/sys/dev/pci/schema_private.h ============================================================================== --- user/ngie/stable-10-libnv/sys/dev/pci/schema_private.h Sun Jan 3 09:38:05 2016 (r293096) +++ user/ngie/stable-10-libnv/sys/dev/pci/schema_private.h Sun Jan 3 09:44:26 2016 (r293097) @@ -29,6 +29,8 @@ #ifndef _SCHEMA_PRIVATE_H_ #define _SCHEMA_PRIVATE_H_ +int pci_iov_validate_schema(const nvlist_t *schema); + int pci_iov_schema_validate_config(const nvlist_t *, nvlist_t *); uint16_t pci_iov_config_get_num_vfs(const nvlist_t *); Modified: user/ngie/stable-10-libnv/usr.sbin/iovctl/iovctl.8 ============================================================================== --- user/ngie/stable-10-libnv/usr.sbin/iovctl/iovctl.8 Sun Jan 3 09:38:05 2016 (r293096) +++ user/ngie/stable-10-libnv/usr.sbin/iovctl/iovctl.8 Sun Jan 3 09:44:26 2016 (r293097) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 21, 2014 +.Dd July 8, 2015 .Dt IOVCTL 8 .Os .Sh NAME @@ -49,7 +49,7 @@ The utility creates or destroys PCI Single-Root I/O Virtualization .Pq SR-IOV Virtual Functions -.Po VFs Pc . +.Pq VFs . When invoked with the .Fl C flag, Modified: user/ngie/stable-10-libnv/usr.sbin/iovctl/iovctl.conf.5 ============================================================================== --- user/ngie/stable-10-libnv/usr.sbin/iovctl/iovctl.conf.5 Sun Jan 3 09:38:05 2016 (r293096) +++ user/ngie/stable-10-libnv/usr.sbin/iovctl/iovctl.conf.5 Sun Jan 3 09:44:26 2016 (r293097) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 21, 2014 +.Dd July 8, 2015 .Dt IOVCTL.CONF 5 .Os .Sh NAME @@ -77,7 +77,7 @@ The second section type is the VF sectio This section has the key "VF-" followed by a VF index. VF indices start at 0 and always increment by 1. Valid VF indices are in the range of 0 to -.Po num_vfs - 1 Pc . +.Pq num_vfs - 1 . The VF index must be given as a decimal integer with no leading zeros. This section defines configuration parameters that apply to a single VF. .Pp @@ -103,13 +103,17 @@ xx:xx:xx:xx:xx:xx, where xx is one or tw .It string Accepts any string value. .It uint8_t -Accepts any integer in the range 0-255, inclusive. +Accepts any integer in the range 0 to 255, inclusive. .It uint16_t -Accepts any integer in the range 0-65535, inclusive. +Accepts any integer in the range 0 to 65535, inclusive. .It uint32_t -Accepts any integer in the range 0-2**32, inclusive. +Accepts any integer in the range 0 to +.Pq 2**32 - 1 , +inclusive. .It uint64_t -Accepts any integer in the range 0-2**64, inclusive. +Accepts any integer in the range 0 to +.Pq 2**64 - 1 , +inclusive. .El .Sh OPTIONS The following parameters are accepted by all PF drivers: From owner-svn-src-user@freebsd.org Sun Jan 3 12:25:58 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C06F3A5FB00 for ; Sun, 3 Jan 2016 12:25:58 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 90F7D19FF; Sun, 3 Jan 2016 12:25:58 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u03CPvWu085968; Sun, 3 Jan 2016 12:25:57 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u03CPv91085967; Sun, 3 Jan 2016 12:25:57 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601031225.u03CPv91085967@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 12:25:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293103 - user/ngie/stable-10-libnv/lib/libnv/tests X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 12:25:58 -0000 Author: ngie Date: Sun Jan 3 12:25:57 2016 New Revision: 293103 URL: https://svnweb.freebsd.org/changeset/base/293103 Log: MFC r293102: Add sys/types.h for for size_t, etc stable/10 requires it due to header pollution Modified: user/ngie/stable-10-libnv/lib/libnv/tests/dnv_tests.cc Directory Properties: user/ngie/stable-10-libnv/ (props changed) Modified: user/ngie/stable-10-libnv/lib/libnv/tests/dnv_tests.cc ============================================================================== --- user/ngie/stable-10-libnv/lib/libnv/tests/dnv_tests.cc Sun Jan 3 11:22:15 2016 (r293102) +++ user/ngie/stable-10-libnv/lib/libnv/tests/dnv_tests.cc Sun Jan 3 12:25:57 2016 (r293103) @@ -27,6 +27,7 @@ #include __FBSDID("$FreeBSD$"); +#include #include #include From owner-svn-src-user@freebsd.org Sun Jan 3 18:42:54 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B74AEA5F122 for ; Sun, 3 Jan 2016 18:42:54 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 93DF11BDF; Sun, 3 Jan 2016 18:42:54 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u03IgrOM003217; Sun, 3 Jan 2016 18:42:53 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u03IgqJ2003207; Sun, 3 Jan 2016 18:42:52 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601031842.u03IgqJ2003207@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 18:42:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293113 - in user/ngie/stable-10-libnv: . contrib/bsnmp/snmpd contrib/pf/pflogd lib/libc/net share/mk sys/contrib/ipfilter/netinet sys/kern sys/sys usr.sbin/makefs X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 18:42:54 -0000 Author: ngie Date: Sun Jan 3 18:42:52 2016 New Revision: 293113 URL: https://svnweb.freebsd.org/changeset/base/293113 Log: MFstable/10 @ r293112 Modified: user/ngie/stable-10-libnv/COPYRIGHT user/ngie/stable-10-libnv/contrib/bsnmp/snmpd/action.c user/ngie/stable-10-libnv/contrib/pf/pflogd/pflogd.c user/ngie/stable-10-libnv/lib/libc/net/gethostbynis.c user/ngie/stable-10-libnv/lib/libc/net/netdb_private.h user/ngie/stable-10-libnv/share/mk/bsd.compiler.mk user/ngie/stable-10-libnv/sys/contrib/ipfilter/netinet/ip_nat.c user/ngie/stable-10-libnv/sys/kern/link_elf.c user/ngie/stable-10-libnv/sys/sys/copyright.h user/ngie/stable-10-libnv/usr.sbin/makefs/makefs.c Directory Properties: user/ngie/stable-10-libnv/ (props changed) Modified: user/ngie/stable-10-libnv/COPYRIGHT ============================================================================== --- user/ngie/stable-10-libnv/COPYRIGHT Sun Jan 3 18:09:46 2016 (r293112) +++ user/ngie/stable-10-libnv/COPYRIGHT Sun Jan 3 18:42:52 2016 (r293113) @@ -4,7 +4,7 @@ The compilation of software known as FreeBSD is distributed under the following terms: -Copyright (c) 1992-2015 The FreeBSD Project. All rights reserved. +Copyright (c) 1992-2016 The FreeBSD Project. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions Modified: user/ngie/stable-10-libnv/contrib/bsnmp/snmpd/action.c ============================================================================== --- user/ngie/stable-10-libnv/contrib/bsnmp/snmpd/action.c Sun Jan 3 18:09:46 2016 (r293112) +++ user/ngie/stable-10-libnv/contrib/bsnmp/snmpd/action.c Sun Jan 3 18:42:52 2016 (r293113) @@ -60,29 +60,6 @@ static const struct asn_oid #endif /* - * Get a string value from the KERN sysctl subtree. - */ -static char * -act_getkernstring(int id) -{ - int mib[2]; - size_t len; - char *string; - - mib[0] = CTL_KERN; - mib[1] = id; - if (sysctl(mib, 2, NULL, &len, NULL, 0) != 0) - return (NULL); - if ((string = malloc(len)) == NULL) - return (NULL); - if (sysctl(mib, 2, string, &len, NULL, 0) != 0) { - free(string); - return (NULL); - } - return (string); -} - -/* * Get an integer value from the KERN sysctl subtree. */ static char * Modified: user/ngie/stable-10-libnv/contrib/pf/pflogd/pflogd.c ============================================================================== --- user/ngie/stable-10-libnv/contrib/pf/pflogd/pflogd.c Sun Jan 3 18:09:46 2016 (r293112) +++ user/ngie/stable-10-libnv/contrib/pf/pflogd/pflogd.c Sun Jan 3 18:42:52 2016 (r293113) @@ -766,7 +766,7 @@ main(int argc, char **argv) np = pcap_dispatch(hpcap, PCAP_NUM_PKTS, phandler, (u_char *)dpcap); if (np < 0) { - if (!if_exists(interface) == -1) { + if (!if_exists(interface)) { logmsg(LOG_NOTICE, "interface %s went away", interface); ret = -1; Modified: user/ngie/stable-10-libnv/lib/libc/net/gethostbynis.c ============================================================================== --- user/ngie/stable-10-libnv/lib/libc/net/gethostbynis.c Sun Jan 3 18:09:46 2016 (r293112) +++ user/ngie/stable-10-libnv/lib/libc/net/gethostbynis.c Sun Jan 3 18:42:52 2016 (r293113) @@ -198,61 +198,6 @@ _gethostbynisaddr_r(const void *addr, so } #endif /* YP */ -/* XXX _gethostbynisname/_gethostbynisaddr only used by getipnodeby*() */ -struct hostent * -_gethostbynisname(const char *name, int af) -{ -#ifdef YP - struct hostent *he; - struct hostent_data *hed; - u_long oresopt; - int error; - res_state statp; - - statp = __res_state(); - if ((he = __hostent_init()) == NULL || - (hed = __hostent_data_init()) == NULL) { - RES_SET_H_ERRNO(statp, NETDB_INTERNAL); - return (NULL); - } - - oresopt = statp->options; - statp->options &= ~RES_USE_INET6; - error = _gethostbynisname_r(name, af, he, hed); - statp->options = oresopt; - return (error == 0) ? he : NULL; -#else - return (NULL); -#endif -} - -struct hostent * -_gethostbynisaddr(const void *addr, socklen_t len, int af) -{ -#ifdef YP - struct hostent *he; - struct hostent_data *hed; - u_long oresopt; - int error; - res_state statp; - - statp = __res_state(); - if ((he = __hostent_init()) == NULL || - (hed = __hostent_data_init()) == NULL) { - RES_SET_H_ERRNO(statp, NETDB_INTERNAL); - return (NULL); - } - - oresopt = statp->options; - statp->options &= ~RES_USE_INET6; - error = _gethostbynisaddr_r(addr, len, af, he, hed); - statp->options = oresopt; - return (error == 0) ? he : NULL; -#else - return (NULL); -#endif -} - int _nis_gethostbyname(void *rval, void *cb_data, va_list ap) { Modified: user/ngie/stable-10-libnv/lib/libc/net/netdb_private.h ============================================================================== --- user/ngie/stable-10-libnv/lib/libc/net/netdb_private.h Sun Jan 3 18:09:46 2016 (r293112) +++ user/ngie/stable-10-libnv/lib/libc/net/netdb_private.h Sun Jan 3 18:42:52 2016 (r293113) @@ -133,8 +133,6 @@ void _endhostdnsent(void); void _endhosthtent(struct hostent_data *); void _endnetdnsent(void); void _endnethtent(struct netent_data *); -struct hostent *_gethostbynisaddr(const void *, socklen_t, int); -struct hostent *_gethostbynisname(const char *, int); void _map_v4v6_address(const char *, char *); void _map_v4v6_hostent(struct hostent *, char **, char *); void _sethostdnsent(int); Modified: user/ngie/stable-10-libnv/share/mk/bsd.compiler.mk ============================================================================== --- user/ngie/stable-10-libnv/share/mk/bsd.compiler.mk Sun Jan 3 18:09:46 2016 (r293112) +++ user/ngie/stable-10-libnv/share/mk/bsd.compiler.mk Sun Jan 3 18:42:52 2016 (r293113) @@ -40,7 +40,7 @@ COMPILER_TYPE:= clang . endif .endif .if !defined(COMPILER_VERSION) -COMPILER_VERSION!=echo ${_v:M[1-9].[0-9]*} | awk -F. '{print $$1 * 10000 + $$2 * 100 + $$3;}' +COMPILER_VERSION!=echo "${_v:M[1-9].[0-9]*}" | awk -F. '{print $$1 * 10000 + $$2 * 100 + $$3;}' .endif .undef _v .endif Modified: user/ngie/stable-10-libnv/sys/contrib/ipfilter/netinet/ip_nat.c ============================================================================== --- user/ngie/stable-10-libnv/sys/contrib/ipfilter/netinet/ip_nat.c Sun Jan 3 18:09:46 2016 (r293112) +++ user/ngie/stable-10-libnv/sys/contrib/ipfilter/netinet/ip_nat.c Sun Jan 3 18:42:52 2016 (r293113) @@ -5235,7 +5235,7 @@ ipf_nat_out(fin, nat, natadd, nflags) uh->uh_ulen += fin->fin_plen; uh->uh_ulen = htons(uh->uh_ulen); #if !defined(_KERNEL) || defined(MENTAT) || defined(__sgi) || \ - defined(linux) || defined(BRIDGE_IPF) || defined(__FreeBSD) + defined(linux) || defined(BRIDGE_IPF) || defined(__FreeBSD__) ipf_fix_outcksum(0, &ip->ip_sum, sumd, 0); #endif Modified: user/ngie/stable-10-libnv/sys/kern/link_elf.c ============================================================================== --- user/ngie/stable-10-libnv/sys/kern/link_elf.c Sun Jan 3 18:09:46 2016 (r293112) +++ user/ngie/stable-10-libnv/sys/kern/link_elf.c Sun Jan 3 18:42:52 2016 (r293113) @@ -575,7 +575,7 @@ parse_dynamic(elf_file_t ef) static int parse_dpcpu(elf_file_t ef) -{ +{ int count; int error; @@ -606,7 +606,7 @@ parse_dpcpu(elf_file_t ef) #ifdef VIMAGE static int parse_vnet(elf_file_t ef) -{ +{ int count; int error; @@ -872,7 +872,7 @@ link_elf_load_file(linker_class_t cls, c */ base_offset = trunc_page(segs[0]->p_offset); base_vaddr = trunc_page(segs[0]->p_vaddr); - base_vlimit = round_page(segs[nsegs - 1]->p_vaddr + + base_vlimit = round_page(segs[nsegs - 1]->p_vaddr + segs[nsegs - 1]->p_memsz); mapsize = base_vlimit - base_vaddr; @@ -1416,7 +1416,7 @@ link_elf_each_function_name(linker_file_ elf_file_t ef = (elf_file_t)file; const Elf_Sym *symp; int i, error; - + /* Exhaustive search */ for (i = 0, symp = ef->ddbsymtab; i < ef->ddbsymcnt; i++, symp++) { if (symp->st_value != 0 && @@ -1602,7 +1602,7 @@ link_elf_symtab_get(linker_file_t lf, co return (ef->ddbsymcnt); } - + static long link_elf_strtab_get(linker_file_t lf, caddr_t *strtab) { Modified: user/ngie/stable-10-libnv/sys/sys/copyright.h ============================================================================== --- user/ngie/stable-10-libnv/sys/sys/copyright.h Sun Jan 3 18:09:46 2016 (r293112) +++ user/ngie/stable-10-libnv/sys/sys/copyright.h Sun Jan 3 18:42:52 2016 (r293113) @@ -1,5 +1,5 @@ /*- - * Copyright (C) 1992-2015 The FreeBSD Project. All rights reserved. + * Copyright (C) 1992-2016 The FreeBSD Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -30,7 +30,7 @@ /* FreeBSD */ #define COPYRIGHT_FreeBSD \ - "Copyright (c) 1992-2015 The FreeBSD Project.\n" + "Copyright (c) 1992-2016 The FreeBSD Project.\n" /* Foundation */ #define TRADEMARK_Foundation \ Modified: user/ngie/stable-10-libnv/usr.sbin/makefs/makefs.c ============================================================================== --- user/ngie/stable-10-libnv/usr.sbin/makefs/makefs.c Sun Jan 3 18:09:46 2016 (r293112) +++ user/ngie/stable-10-libnv/usr.sbin/makefs/makefs.c Sun Jan 3 18:42:52 2016 (r293113) @@ -113,7 +113,7 @@ main(int argc, char *argv[]) start_time.tv_sec = start.tv_sec; start_time.tv_nsec = start.tv_usec * 1000; - while ((ch = getopt(argc, argv, "B:b:Dd:f:F:M:m:N:o:pr:s:S:t:xZ")) != -1) { + while ((ch = getopt(argc, argv, "B:b:Dd:f:F:M:m:N:o:pR:s:S:t:xZ")) != -1) { switch (ch) { case 'B': From owner-svn-src-user@freebsd.org Sun Jan 3 19:06:18 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C7E1FA5F7C2 for ; Sun, 3 Jan 2016 19:06:18 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 951B614A7; Sun, 3 Jan 2016 19:06:18 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u03J6HS6009191; Sun, 3 Jan 2016 19:06:17 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u03J6Huh009190; Sun, 3 Jan 2016 19:06:17 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601031906.u03J6Huh009190@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 19:06:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293114 - user/ngie/stable-10-libnv X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 19:06:18 -0000 Author: ngie Date: Sun Jan 3 19:06:17 2016 New Revision: 293114 URL: https://svnweb.freebsd.org/changeset/base/293114 Log: MFC r293112: Fix ixl(4) compilation with PCI_IOV pre-r266974 stable/10 doesn't have the if_getdrvflags(9) KPI. Reference the field in the structure directly if the __FreeBSD_version is < 1100022, so the driver can be built with PCI_IOV support on stable/10, without backporting all of r266974 (which requires additional changes due to projects/ifnet, etc) Modified: Directory Properties: user/ngie/stable-10-libnv/ (props changed) From owner-svn-src-user@freebsd.org Sun Jan 3 23:31:09 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F1CA7A61A62 for ; Sun, 3 Jan 2016 23:31:09 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A8FBA1969; Sun, 3 Jan 2016 23:31:09 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u03NV8Bk087806; Sun, 3 Jan 2016 23:31:08 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u03NV8Zc087805; Sun, 3 Jan 2016 23:31:08 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601032331.u03NV8Zc087805@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 3 Jan 2016 23:31:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293122 - user/ngie/stable-10-libnv X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jan 2016 23:31:10 -0000 Author: ngie Date: Sun Jan 3 23:31:08 2016 New Revision: 293122 URL: https://svnweb.freebsd.org/changeset/base/293122 Log: MFstable/10 @ r293121 Modified: Directory Properties: user/ngie/stable-10-libnv/ (props changed) From owner-svn-src-user@freebsd.org Mon Jan 4 03:44:42 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3DF09A60349 for ; Mon, 4 Jan 2016 03:44:42 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EB0AB1D58; Mon, 4 Jan 2016 03:44:41 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u043ifVN013642; Mon, 4 Jan 2016 03:44:41 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u043ieMv013639; Mon, 4 Jan 2016 03:44:40 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601040344.u043ieMv013639@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Mon, 4 Jan 2016 03:44:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293136 - in user/ngie/stable-10-libnv/usr.sbin/cron: cron crontab X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Jan 2016 03:44:42 -0000 Author: ngie Date: Mon Jan 4 03:44:40 2016 New Revision: 293136 URL: https://svnweb.freebsd.org/changeset/base/293136 Log: MFstable/10 @ r293135 Modified: user/ngie/stable-10-libnv/usr.sbin/cron/cron/do_command.c user/ngie/stable-10-libnv/usr.sbin/cron/cron/popen.c user/ngie/stable-10-libnv/usr.sbin/cron/crontab/crontab.c Directory Properties: user/ngie/stable-10-libnv/ (props changed) Modified: user/ngie/stable-10-libnv/usr.sbin/cron/cron/do_command.c ============================================================================== --- user/ngie/stable-10-libnv/usr.sbin/cron/cron/do_command.c Mon Jan 4 03:34:22 2016 (r293135) +++ user/ngie/stable-10-libnv/usr.sbin/cron/cron/do_command.c Mon Jan 4 03:44:40 2016 (r293136) @@ -161,8 +161,10 @@ child_process(e, u) /* create some pipes to talk to our future child */ - pipe(stdin_pipe); /* child's stdin */ - pipe(stdout_pipe); /* child's stdout */ + if (pipe(stdin_pipe) != 0 || pipe(stdout_pipe) != 0) { + log_it("CRON", getpid(), "error", "can't pipe"); + exit(ERROR_EXIT); + } /* since we are a forked process, we can diddle the command string * we were passed -- nobody else is going to use it again, right? Modified: user/ngie/stable-10-libnv/usr.sbin/cron/cron/popen.c ============================================================================== --- user/ngie/stable-10-libnv/usr.sbin/cron/cron/popen.c Mon Jan 4 03:34:22 2016 (r293135) +++ user/ngie/stable-10-libnv/usr.sbin/cron/cron/popen.c Mon Jan 4 03:44:40 2016 (r293136) @@ -82,9 +82,8 @@ cron_popen(program, type, e) if (!pids) { if ((fds = getdtablesize()) <= 0) return(NULL); - if (!(pids = (PID_T *)malloc((u_int)(fds * sizeof(PID_T))))) + if (!(pids = calloc(fds, sizeof(PID_T)))) return(NULL); - bzero((char *)pids, fds * sizeof(PID_T)); } if (pipe(pdes) < 0) return(NULL); Modified: user/ngie/stable-10-libnv/usr.sbin/cron/crontab/crontab.c ============================================================================== --- user/ngie/stable-10-libnv/usr.sbin/cron/crontab/crontab.c Mon Jan 4 03:34:22 2016 (r293135) +++ user/ngie/stable-10-libnv/usr.sbin/cron/crontab/crontab.c Mon Jan 4 03:44:40 2016 (r293136) @@ -558,7 +558,7 @@ replace_cmd() { case FALSE: e = load_entry(tmp, check_error, pw, envp); if (e) - free(e); + free_entry(e); break; case TRUE: break; From owner-svn-src-user@freebsd.org Mon Jan 4 03:47:32 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C3EF9A60426 for ; Mon, 4 Jan 2016 03:47:32 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 90A751EF2; Mon, 4 Jan 2016 03:47:32 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u043lVU3013835; Mon, 4 Jan 2016 03:47:31 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u043lVaw013834; Mon, 4 Jan 2016 03:47:31 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601040347.u043lVaw013834@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Mon, 4 Jan 2016 03:47:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293137 - user/ngie/stable-10-libnv/lib/libnv/tests X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Jan 2016 03:47:33 -0000 Author: ngie Date: Mon Jan 4 03:47:31 2016 New Revision: 293137 URL: https://svnweb.freebsd.org/changeset/base/293137 Log: MFC r293130,r293131,r293134,r293135: r293130: Rename nitems and string variables to avoid collisions Rename the `nitems` variable to `num_items` to avoid collisions with the macro in sys/param.h for counting elements in an array Similarly, rename `string` to `string_arr` to avoid future collisions with potential keywords, as well as make it clear that `string_arr` isn't a char* value, but instead a char** value. r293131: Convert another `string` variable to `string_arr` missed in r293130 r293134: Use `nitems(x)` macro instead of using hardcoded numbers for indices into the nvlists Convert some of the variables from int to unsigned int to squelch -Wsign-compare warnings when converting hardcoded values to nitems(..) r293135: Remove free'ing of an uninitialized variable Just remove it completely from the test as it's initialized but unused apart from the free(3) call Modified: user/ngie/stable-10-libnv/lib/libnv/tests/nv_array_tests.cc Directory Properties: user/ngie/stable-10-libnv/ (props changed) Modified: user/ngie/stable-10-libnv/lib/libnv/tests/nv_array_tests.cc ============================================================================== --- user/ngie/stable-10-libnv/lib/libnv/tests/nv_array_tests.cc Mon Jan 4 03:44:40 2016 (r293136) +++ user/ngie/stable-10-libnv/lib/libnv/tests/nv_array_tests.cc Mon Jan 4 03:47:31 2016 (r293137) @@ -27,8 +27,9 @@ #include __FBSDID("$FreeBSD$"); -#include +#include #include +#include #include #include @@ -50,7 +51,7 @@ ATF_TEST_CASE_BODY(nvlist_bool_array__ba const bool *const_result; bool *result; nvlist_t *nvl; - size_t nitems; + size_t num_items; unsigned int i; const char *key; @@ -69,16 +70,16 @@ ATF_TEST_CASE_BODY(nvlist_bool_array__ba ATF_REQUIRE(nvlist_exists_bool_array(nvl, key)); ATF_REQUIRE(nvlist_exists_bool_array(nvl, "nvl/bool")); - const_result = nvlist_get_bool_array(nvl, key, &nitems); - ATF_REQUIRE_EQ(nitems, 16); + const_result = nvlist_get_bool_array(nvl, key, &num_items); + ATF_REQUIRE_EQ(num_items, 16); ATF_REQUIRE(const_result != NULL); - for (i = 0; i < nitems; i++) + for (i = 0; i < num_items; i++) ATF_REQUIRE_EQ(const_result[i], testbool[i]); - result = nvlist_take_bool_array(nvl, key, &nitems); - ATF_REQUIRE_EQ(nitems, 16); + result = nvlist_take_bool_array(nvl, key, &num_items); + ATF_REQUIRE_EQ(num_items, 16); ATF_REQUIRE(const_result != NULL); - for (i = 0; i < nitems; i++) + for (i = 0; i < num_items; i++) ATF_REQUIRE_EQ(result[i], testbool[i]); ATF_REQUIRE(!nvlist_exists_bool_array(nvl, key)); @@ -95,10 +96,10 @@ ATF_TEST_CASE_BODY(nvlist_string_array__ const char * const *const_result; char **result; nvlist_t *nvl; - size_t nitems; + size_t num_items; unsigned int i; const char *key; - const char *string[8] = { "a", "b", "kot", "foo", + const char *string_arr[8] = { "a", "b", "kot", "foo", "tests", "nice test", "", "abcdef" }; key = "nvl/string"; @@ -107,32 +108,33 @@ ATF_TEST_CASE_BODY(nvlist_string_array__ ATF_REQUIRE(nvlist_empty(nvl)); ATF_REQUIRE(!nvlist_exists_string_array(nvl, key)); - nvlist_add_string_array(nvl, key, string, 8); + nvlist_add_string_array(nvl, key, string_arr, nitems(string_arr)); ATF_REQUIRE_EQ(nvlist_error(nvl), 0); ATF_REQUIRE(!nvlist_empty(nvl)); ATF_REQUIRE(nvlist_exists_string_array(nvl, key)); ATF_REQUIRE(nvlist_exists_string_array(nvl, "nvl/string")); - const_result = nvlist_get_string_array(nvl, key, &nitems); + const_result = nvlist_get_string_array(nvl, key, &num_items); ATF_REQUIRE(!nvlist_empty(nvl)); ATF_REQUIRE(const_result != NULL); - ATF_REQUIRE(nitems == 8); - for (i = 0; i < nitems; i++) { - if (string[i] != NULL) { - ATF_REQUIRE(strcmp(const_result[i], string[i]) == 0); + ATF_REQUIRE(num_items == nitems(string_arr)); + for (i = 0; i < num_items; i++) { + if (string_arr[i] != NULL) { + ATF_REQUIRE(strcmp(const_result[i], + string_arr[i]) == 0); } else { - ATF_REQUIRE(const_result[i] == string[i]); + ATF_REQUIRE(const_result[i] == string_arr[i]); } } - result = nvlist_take_string_array(nvl, key, &nitems); + result = nvlist_take_string_array(nvl, key, &num_items); ATF_REQUIRE(result != NULL); - ATF_REQUIRE_EQ(nitems, 8); - for (i = 0; i < nitems; i++) { - if (string[i] != NULL) { - ATF_REQUIRE_EQ(strcmp(result[i], string[i]), 0); + ATF_REQUIRE_EQ(num_items, nitems(string_arr)); + for (i = 0; i < num_items; i++) { + if (string_arr[i] != NULL) { + ATF_REQUIRE_EQ(strcmp(result[i], string_arr[i]), 0); } else { - ATF_REQUIRE_EQ(result[i], string[i]); + ATF_REQUIRE_EQ(result[i], string_arr[i]); } } @@ -140,7 +142,7 @@ ATF_TEST_CASE_BODY(nvlist_string_array__ ATF_REQUIRE(nvlist_empty(nvl)); ATF_REQUIRE_EQ(nvlist_error(nvl), 0); - for (i = 0; i < 8; i++) + for (i = 0; i < num_items; i++) free(result[i]); free(result); nvlist_destroy(nvl); @@ -152,11 +154,11 @@ ATF_TEST_CASE_BODY(nvlist_descriptor_arr int fd[32], *result; const int *const_result; nvlist_t *nvl; - size_t nitems; + size_t num_items; unsigned int i; const char *key; - for (i = 0; i < 32; i++) { + for (i = 0; i < nitems(fd); i++) { fd[i] = dup(STDERR_FILENO); ATF_REQUIRE(fd_is_valid(fd[i])); } @@ -167,26 +169,26 @@ ATF_TEST_CASE_BODY(nvlist_descriptor_arr ATF_REQUIRE(nvlist_empty(nvl)); ATF_REQUIRE(!nvlist_exists_descriptor_array(nvl, key)); - nvlist_add_descriptor_array(nvl, key, fd, 32); + nvlist_add_descriptor_array(nvl, key, fd, nitems(fd)); ATF_REQUIRE_EQ(nvlist_error(nvl), 0); ATF_REQUIRE(!nvlist_empty(nvl)); ATF_REQUIRE(nvlist_exists_descriptor_array(nvl, key)); ATF_REQUIRE(nvlist_exists_descriptor_array(nvl, "nvl/descriptor")); - const_result = nvlist_get_descriptor_array(nvl, key, &nitems); + const_result = nvlist_get_descriptor_array(nvl, key, &num_items); ATF_REQUIRE(!nvlist_empty(nvl)); ATF_REQUIRE(const_result != NULL); - ATF_REQUIRE(nitems == 32); - for (i = 0; i < nitems; i++) { + ATF_REQUIRE(num_items == nitems(fd)); + for (i = 0; i < num_items; i++) { ATF_REQUIRE(fd_is_valid(const_result[i])); if (i > 0) ATF_REQUIRE(const_result[i] != const_result[i - 1]); } - result = nvlist_take_descriptor_array(nvl, key, &nitems); + result = nvlist_take_descriptor_array(nvl, key, &num_items); ATF_REQUIRE(result != NULL); - ATF_REQUIRE_EQ(nitems, 32); - for (i = 0; i < nitems; i++) { + ATF_REQUIRE_EQ(num_items, nitems(fd)); + for (i = 0; i < num_items; i++) { ATF_REQUIRE(fd_is_valid(result[i])); if (i > 0) ATF_REQUIRE(const_result[i] != const_result[i - 1]); @@ -196,7 +198,7 @@ ATF_TEST_CASE_BODY(nvlist_descriptor_arr ATF_REQUIRE(nvlist_empty(nvl)); ATF_REQUIRE_EQ(nvlist_error(nvl), 0); - for (i = 0; i < nitems; i++) { + for (i = 0; i < num_items; i++) { close(result[i]); close(fd[i]); } @@ -210,7 +212,7 @@ ATF_TEST_CASE_BODY(nvlist_number_array__ const uint64_t *const_result; uint64_t *result; nvlist_t *nvl; - size_t nitems; + size_t num_items; unsigned int i; const char *key; const uint64_t number[8] = { 0, UINT_MAX, 7, 123, 90, @@ -222,23 +224,23 @@ ATF_TEST_CASE_BODY(nvlist_number_array__ ATF_REQUIRE(nvlist_empty(nvl)); ATF_REQUIRE(!nvlist_exists_string_array(nvl, key)); - nvlist_add_number_array(nvl, key, number, 8); + nvlist_add_number_array(nvl, key, number, nitems(number)); ATF_REQUIRE_EQ(nvlist_error(nvl), 0); ATF_REQUIRE(!nvlist_empty(nvl)); ATF_REQUIRE(nvlist_exists_number_array(nvl, key)); ATF_REQUIRE(nvlist_exists_number_array(nvl, "nvl/number")); - const_result = nvlist_get_number_array(nvl, key, &nitems); + const_result = nvlist_get_number_array(nvl, key, &num_items); ATF_REQUIRE(!nvlist_empty(nvl)); ATF_REQUIRE(const_result != NULL); - ATF_REQUIRE(nitems == 8); - for (i = 0; i < nitems; i++) + ATF_REQUIRE(num_items == nitems(number)); + for (i = 0; i < num_items; i++) ATF_REQUIRE_EQ(const_result[i], number[i]); - result = nvlist_take_number_array(nvl, key, &nitems); + result = nvlist_take_number_array(nvl, key, &num_items); ATF_REQUIRE(result != NULL); - ATF_REQUIRE_EQ(nitems, 8); - for (i = 0; i < nitems; i++) + ATF_REQUIRE_EQ(num_items, nitems(number)); + for (i = 0; i < num_items; i++) ATF_REQUIRE_EQ(result[i], number[i]); ATF_REQUIRE(!nvlist_exists_string_array(nvl, key)); @@ -256,7 +258,7 @@ ATF_TEST_CASE_BODY(nvlist_nvlist_array__ const nvlist_t * const *const_result; nvlist_t **result; nvlist_t *nvl; - size_t nitems; + size_t num_items; unsigned int i; const char *somestr[8] = { "a", "b", "c", "d", "e", "f", "g", "h" }; const char *key; @@ -282,14 +284,14 @@ ATF_TEST_CASE_BODY(nvlist_nvlist_array__ ATF_REQUIRE(nvlist_exists_nvlist_array(nvl, key)); ATF_REQUIRE(nvlist_exists_nvlist_array(nvl, "nvl/nvlist")); - const_result = nvlist_get_nvlist_array(nvl, key, &nitems); + const_result = nvlist_get_nvlist_array(nvl, key, &num_items); ATF_REQUIRE(!nvlist_empty(nvl)); ATF_REQUIRE(const_result != NULL); - ATF_REQUIRE(nitems == 8); + ATF_REQUIRE(num_items == nitems(testnvl)); - for (i = 0; i < nitems; i++) { + for (i = 0; i < num_items; i++) { ATF_REQUIRE_EQ(nvlist_error(const_result[i]), 0); - if (i < nitems - 1) { + if (i < num_items - 1) { ATF_REQUIRE(nvlist_get_array_next(const_result[i]) == const_result[i + 1]); } else { @@ -304,10 +306,10 @@ ATF_TEST_CASE_BODY(nvlist_nvlist_array__ "nvl/string"), somestr[i]) == 0); } - result = nvlist_take_nvlist_array(nvl, key, &nitems); + result = nvlist_take_nvlist_array(nvl, key, &num_items); ATF_REQUIRE(result != NULL); - ATF_REQUIRE_EQ(nitems, 8); - for (i = 0; i < nitems; i++) { + ATF_REQUIRE_EQ(num_items, 8); + for (i = 0; i < num_items; i++) { ATF_REQUIRE_EQ(nvlist_error(result[i]), 0); ATF_REQUIRE(nvlist_get_array_next(result[i]) == NULL); ATF_REQUIRE(nvlist_get_array_next(const_result[i]) == NULL); @@ -335,19 +337,19 @@ ATF_TEST_CASE_BODY(nvlist_clone_array) const nvlist_t *nvl; bool testbool[16]; int testfd[16]; - size_t i, nitems; - const char *string[8] = { "a", "b", "kot", "foo", + size_t i, num_items; + const char *string_arr[8] = { "a", "b", "kot", "foo", "tests", "nice test", "", "abcdef" }; const char *somestr[8] = { "a", "b", "c", "d", "e", "f", "g", "h" }; const uint64_t number[8] = { 0, UINT_MAX, 7, 123, 90, 100000, 8, 1 }; - for (i = 0; i < 16; i++) { + for (i = 0; i < nitems(testfd); i++) { testbool[i] = (i % 2 == 0); testfd[i] = dup(STDERR_FILENO); ATF_REQUIRE(fd_is_valid(testfd[i])); } - for (i = 0; i < 8; i++) { + for (i = 0; i < nitems(testnvl); i++) { testnvl[i] = nvlist_create(0); ATF_REQUIRE(nvlist_error(testnvl[i]) == 0); nvlist_add_string(testnvl[i], "nvl/nvl/teststr", somestr[i]); @@ -358,28 +360,30 @@ ATF_TEST_CASE_BODY(nvlist_clone_array) ATF_REQUIRE(nvlist_error(src) == 0); ATF_REQUIRE(!nvlist_exists_bool_array(src, "nvl/bool")); - nvlist_add_bool_array(src, "nvl/bool", testbool, 16); + nvlist_add_bool_array(src, "nvl/bool", testbool, nitems(testbool)); ATF_REQUIRE_EQ(nvlist_error(src), 0); ATF_REQUIRE(nvlist_exists_bool_array(src, "nvl/bool")); ATF_REQUIRE(!nvlist_exists_string_array(src, "nvl/string")); - nvlist_add_string_array(src, "nvl/string", string, 8); + nvlist_add_string_array(src, "nvl/string", string_arr, + nitems(string_arr)); ATF_REQUIRE_EQ(nvlist_error(src), 0); ATF_REQUIRE(nvlist_exists_string_array(src, "nvl/string")); ATF_REQUIRE(!nvlist_exists_descriptor_array(src, "nvl/fd")); - nvlist_add_descriptor_array(src, "nvl/fd", testfd, 16); + nvlist_add_descriptor_array(src, "nvl/fd", testfd, nitems(testfd)); ATF_REQUIRE_EQ(nvlist_error(src), 0); ATF_REQUIRE(nvlist_exists_descriptor_array(src, "nvl/fd")); ATF_REQUIRE(!nvlist_exists_number_array(src, "nvl/number")); - nvlist_add_number_array(src, "nvl/number", number, 8); + nvlist_add_number_array(src, "nvl/number", number, + nitems(number)); ATF_REQUIRE_EQ(nvlist_error(src), 0); ATF_REQUIRE(nvlist_exists_number_array(src, "nvl/number")); ATF_REQUIRE(!nvlist_exists_nvlist_array(src, "nvl/array")); nvlist_add_nvlist_array(src, "nvl/array", - (const nvlist_t * const *)testnvl, 8); + (const nvlist_t * const *)testnvl, nitems(testnvl)); ATF_REQUIRE_EQ(nvlist_error(src), 0); ATF_REQUIRE(nvlist_exists_nvlist_array(src, "nvl/array")); @@ -387,62 +391,62 @@ ATF_TEST_CASE_BODY(nvlist_clone_array) ATF_REQUIRE(dst != NULL); ATF_REQUIRE(nvlist_exists_bool_array(dst, "nvl/bool")); - (void) nvlist_get_bool_array(dst, "nvl/bool", &nitems); - ATF_REQUIRE_EQ(nitems, 16); - for (i = 0; i < nitems; i++) { + (void) nvlist_get_bool_array(dst, "nvl/bool", &num_items); + ATF_REQUIRE_EQ(num_items, nitems(testbool)); + for (i = 0; i < num_items; i++) { ATF_REQUIRE( - nvlist_get_bool_array(dst, "nvl/bool", &nitems)[i] == - nvlist_get_bool_array(src, "nvl/bool", &nitems)[i]); + nvlist_get_bool_array(dst, "nvl/bool", &num_items)[i] == + nvlist_get_bool_array(src, "nvl/bool", &num_items)[i]); } ATF_REQUIRE(nvlist_exists_string_array(dst, "nvl/string")); - (void) nvlist_get_string_array(dst, "nvl/string", &nitems); - ATF_REQUIRE_EQ(nitems, 8); - for (i = 0; i < nitems; i++) { + (void) nvlist_get_string_array(dst, "nvl/string", &num_items); + ATF_REQUIRE_EQ(num_items, nitems(string_arr)); + for (i = 0; i < num_items; i++) { if (nvlist_get_string_array(dst, "nvl/string", - &nitems)[i] == NULL) { + &num_items)[i] == NULL) { ATF_REQUIRE(nvlist_get_string_array(dst, "nvl/string", - &nitems)[i] == nvlist_get_string_array(src, - "nvl/string", &nitems)[i]); + &num_items)[i] == nvlist_get_string_array(src, + "nvl/string", &num_items)[i]); } else { ATF_REQUIRE(strcmp(nvlist_get_string_array(dst, - "nvl/string", &nitems)[i], nvlist_get_string_array( - src, "nvl/string", &nitems)[i]) == 0); + "nvl/string", &num_items)[i], nvlist_get_string_array( + src, "nvl/string", &num_items)[i]) == 0); } } ATF_REQUIRE(nvlist_exists_descriptor_array(dst, "nvl/fd")); - (void) nvlist_get_descriptor_array(dst, "nvl/fd", &nitems); - ATF_REQUIRE_EQ(nitems, 16); - for (i = 0; i < nitems; i++) { + (void) nvlist_get_descriptor_array(dst, "nvl/fd", &num_items); + ATF_REQUIRE_EQ(num_items, nitems(testfd)); + for (i = 0; i < num_items; i++) { ATF_REQUIRE(fd_is_valid( - nvlist_get_descriptor_array(dst, "nvl/fd", &nitems)[i])); + nvlist_get_descriptor_array(dst, "nvl/fd", &num_items)[i])); } ATF_REQUIRE(nvlist_exists_number_array(dst, "nvl/number")); - (void) nvlist_get_number_array(dst, "nvl/number", &nitems); - ATF_REQUIRE_EQ(nitems, 8); + (void) nvlist_get_number_array(dst, "nvl/number", &num_items); + ATF_REQUIRE_EQ(num_items, nitems(number)); - for (i = 0; i < nitems; i++) { + for (i = 0; i < num_items; i++) { ATF_REQUIRE( - nvlist_get_number_array(dst, "nvl/number", &nitems)[i] == - nvlist_get_number_array(src, "nvl/number", &nitems)[i]); + nvlist_get_number_array(dst, "nvl/number", &num_items)[i] == + nvlist_get_number_array(src, "nvl/number", &num_items)[i]); } ATF_REQUIRE(nvlist_exists_nvlist_array(dst, "nvl/array")); - (void) nvlist_get_nvlist_array(dst, "nvl/array", &nitems); - ATF_REQUIRE_EQ(nitems, 8); - for (i = 0; i < nitems; i++) { - nvl = nvlist_get_nvlist_array(dst, "nvl/array", &nitems)[i]; + (void) nvlist_get_nvlist_array(dst, "nvl/array", &num_items); + ATF_REQUIRE_EQ(num_items, nitems(testnvl)); + for (i = 0; i < num_items; i++) { + nvl = nvlist_get_nvlist_array(dst, "nvl/array", &num_items)[i]; ATF_REQUIRE(nvlist_exists_string(nvl, "nvl/nvl/teststr")); ATF_REQUIRE(strcmp(nvlist_get_string(nvl, "nvl/nvl/teststr"), somestr[i]) == 0); } - for (i = 0; i < 16; i++) { + for (i = 0; i < nitems(testfd); i++) { close(testfd[i]); - if (i < 8) { - nvlist_destroy(testnvl[i]); - } + } + for (i = 0; i < nitems(testnvl); i++) { + nvlist_destroy(testnvl[i]); } nvlist_destroy(src); nvlist_destroy(dst); @@ -454,7 +458,7 @@ ATF_TEST_CASE_BODY(nvlist_bool_array__mo bool *testbool; const bool *const_result; nvlist_t *nvl; - size_t nitems, count; + size_t num_items, count; unsigned int i; const char *key; @@ -475,11 +479,11 @@ ATF_TEST_CASE_BODY(nvlist_bool_array__mo ATF_REQUIRE(!nvlist_empty(nvl)); ATF_REQUIRE(nvlist_exists_bool_array(nvl, key)); - const_result = nvlist_get_bool_array(nvl, key, &nitems); - ATF_REQUIRE_EQ(nitems, count); + const_result = nvlist_get_bool_array(nvl, key, &num_items); + ATF_REQUIRE_EQ(num_items, count); ATF_REQUIRE(const_result != NULL); ATF_REQUIRE(const_result == testbool); - for (i = 0; i < nitems; i++) + for (i = 0; i < num_items; i++) ATF_REQUIRE_EQ(const_result[i], (i % 2 == 0)); nvlist_destroy(nvl); @@ -491,7 +495,7 @@ ATF_TEST_CASE_BODY(nvlist_string_array__ char **teststr; const char * const *const_result; nvlist_t *nvl; - size_t nitems, count; + size_t num_items, count; unsigned int i; const char *key; @@ -516,11 +520,11 @@ ATF_TEST_CASE_BODY(nvlist_string_array__ ATF_REQUIRE(!nvlist_empty(nvl)); ATF_REQUIRE(nvlist_exists_string_array(nvl, key)); - const_result = nvlist_get_string_array(nvl, key, &nitems); - ATF_REQUIRE_EQ(nitems, count); + const_result = nvlist_get_string_array(nvl, key, &num_items); + ATF_REQUIRE_EQ(num_items, count); ATF_REQUIRE(const_result != NULL); ATF_REQUIRE((intptr_t)const_result == (intptr_t)teststr); - for (i = 0; i < nitems; i++) { + for (i = 0; i < num_items; i++) { ATF_REQUIRE_EQ(const_result[i][0], (char)('a' + i)); ATF_REQUIRE_EQ(const_result[i][1], '\0'); } @@ -534,7 +538,7 @@ ATF_TEST_CASE_BODY(nvlist_nvlist_array__ nvlist **testnv; const nvlist * const *const_result; nvlist_t *nvl; - size_t nitems, count; + size_t num_items, count; unsigned int i; const char *key; @@ -557,14 +561,14 @@ ATF_TEST_CASE_BODY(nvlist_nvlist_array__ ATF_REQUIRE(!nvlist_empty(nvl)); ATF_REQUIRE(nvlist_exists_nvlist_array(nvl, key)); - const_result = nvlist_get_nvlist_array(nvl, key, &nitems); - ATF_REQUIRE_EQ(nitems, count); + const_result = nvlist_get_nvlist_array(nvl, key, &num_items); + ATF_REQUIRE_EQ(num_items, count); ATF_REQUIRE(const_result != NULL); ATF_REQUIRE((intptr_t)const_result == (intptr_t)testnv); - for (i = 0; i < nitems; i++) { + for (i = 0; i < num_items; i++) { ATF_REQUIRE_EQ(nvlist_error(const_result[i]), 0); ATF_REQUIRE(nvlist_empty(const_result[i])); - if (i < nitems - 1) { + if (i < num_items - 1) { ATF_REQUIRE(nvlist_get_array_next(const_result[i]) == const_result[i + 1]); } else { @@ -584,7 +588,7 @@ ATF_TEST_CASE_BODY(nvlist_number_array__ uint64_t *testnumber; const uint64_t *const_result; nvlist_t *nvl; - size_t nitems, count; + size_t num_items, count; unsigned int i; const char *key; @@ -605,11 +609,11 @@ ATF_TEST_CASE_BODY(nvlist_number_array__ ATF_REQUIRE(!nvlist_empty(nvl)); ATF_REQUIRE(nvlist_exists_number_array(nvl, key)); - const_result = nvlist_get_number_array(nvl, key, &nitems); - ATF_REQUIRE_EQ(nitems, count); + const_result = nvlist_get_number_array(nvl, key, &num_items); + ATF_REQUIRE_EQ(num_items, count); ATF_REQUIRE(const_result != NULL); ATF_REQUIRE(const_result == testnumber); - for (i = 0; i < nitems; i++) + for (i = 0; i < num_items; i++) ATF_REQUIRE_EQ(const_result[i], i); nvlist_destroy(nvl); @@ -621,7 +625,7 @@ ATF_TEST_CASE_BODY(nvlist_descriptor_arr int *testfd; const int *const_result; nvlist_t *nvl; - size_t nitems, count; + size_t num_items, count; unsigned int i; const char *key; @@ -644,11 +648,11 @@ ATF_TEST_CASE_BODY(nvlist_descriptor_arr ATF_REQUIRE(!nvlist_empty(nvl)); ATF_REQUIRE(nvlist_exists_descriptor_array(nvl, key)); - const_result = nvlist_get_descriptor_array(nvl, key, &nitems); - ATF_REQUIRE_EQ(nitems, count); + const_result = nvlist_get_descriptor_array(nvl, key, &num_items); + ATF_REQUIRE_EQ(num_items, count); ATF_REQUIRE(const_result != NULL); ATF_REQUIRE(const_result == testfd); - for (i = 0; i < nitems; i++) + for (i = 0; i < num_items; i++) ATF_REQUIRE(fd_is_valid(const_result[i])); nvlist_destroy(nvl); @@ -764,11 +768,12 @@ ATF_TEST_CASE_BODY(nvlist_nvlist_array__ { nvlist_t *nvl, *test[5], *nasted; const nvlist_t *travel; - void *cookie; - int index, i, type; const char *name; + void *cookie; + int type; + unsigned int i, index; - for (i = 0; i < 5; i++) { + for (i = 0; i < nitems(test); i++) { test[i] = nvlist_create(0); ATF_REQUIRE(test[i] != NULL); nvlist_add_number(test[i], "nvl/number", i); @@ -776,11 +781,12 @@ ATF_TEST_CASE_BODY(nvlist_nvlist_array__ } nvl = nvlist_create(0); ATF_REQUIRE(nvl != NULL); - nvlist_add_nvlist_array(nvl, "nvl/nvlist_array", test, 5); + nvlist_add_nvlist_array(nvl, "nvl/nvlist_array", test, nitems(test)); ATF_REQUIRE(nvlist_error(nvl) == 0); nasted = nvlist_create(0); ATF_REQUIRE(nasted != NULL); - nvlist_add_nvlist_array(nasted, "nvl/nvl/nvlist_array", test, 5); + nvlist_add_nvlist_array(nasted, "nvl/nvl/nvlist_array", test, + nitems(test)); ATF_REQUIRE(nvlist_error(nasted) == 0); nvlist_move_nvlist(nvl, "nvl/nvl", nasted); ATF_REQUIRE(nvlist_error(nvl) == 0); @@ -794,15 +800,16 @@ ATF_TEST_CASE_BODY(nvlist_nvlist_array__ while ((name = nvlist_next(travel, &type, &cookie)) != NULL) { if (index == 0) { ATF_REQUIRE(type == NV_TYPE_NVLIST_ARRAY); - } else if (index >= 1 && index <= 5) { + } else if (index >= 1 && index <= nitems(test)) { ATF_REQUIRE(type == NV_TYPE_NUMBER); - } else if (index == 6) { + } else if (index == nitems(test) + 1) { ATF_REQUIRE(type == NV_TYPE_NVLIST); - } else if (index == 7) { + } else if (index == nitems(test) + 2) { ATF_REQUIRE(type == NV_TYPE_NVLIST_ARRAY); - } else if (index >= 8 && index <= 12) { + } else if (index >= nitems(test) + 3 && + index <= 2 * nitems(test) + 2) { ATF_REQUIRE(type == NV_TYPE_NUMBER); - } else if (index == 13) { + } else if (index == 2 * nitems(test) + 3) { ATF_REQUIRE(type == NV_TYPE_STRING); } @@ -818,7 +825,7 @@ ATF_TEST_CASE_BODY(nvlist_nvlist_array__ } } while ((travel = nvlist_get_pararr(travel, &cookie)) != NULL); - for (i = 0; i < 5; i++) + for (i = 0; i < nitems(test); i++) nvlist_destroy(test[i]); nvlist_destroy(nvl); @@ -908,7 +915,7 @@ ATF_TEST_CASE_BODY(nvlist_bool_array__pa const bool *const_result; bool testbool[16]; - for (i = 0; i < 16; i++) + for (i = 0; i < nitems(testbool); i++) testbool[i] = (i % 2 == 0); key = "nvl/bool"; @@ -917,7 +924,7 @@ ATF_TEST_CASE_BODY(nvlist_bool_array__pa ATF_REQUIRE(nvlist_empty(nvl)); ATF_REQUIRE(!nvlist_exists_string_array(nvl, key)); - nvlist_add_bool_array(nvl, key, testbool, 16); + nvlist_add_bool_array(nvl, key, testbool, nitems(testbool)); ATF_REQUIRE_EQ(nvlist_error(nvl), 0); ATF_REQUIRE(!nvlist_empty(nvl)); ATF_REQUIRE(nvlist_exists_bool_array(nvl, key)); @@ -931,7 +938,7 @@ ATF_TEST_CASE_BODY(nvlist_bool_array__pa ATF_REQUIRE(nvlist_exists_bool_array(unpacked, key)); const_result = nvlist_get_bool_array(unpacked, key, &count); - ATF_REQUIRE_EQ(count, 16); + ATF_REQUIRE_EQ(count, nitems(testbool)); for (i = 0; i < count; i++) { ATF_REQUIRE_EQ(testbool[i], const_result[i]); } @@ -973,7 +980,7 @@ ATF_TEST_CASE_BODY(nvlist_number_array__ ATF_REQUIRE(nvlist_exists_number_array(unpacked, key)); const_result = nvlist_get_number_array(unpacked, key, &count); - ATF_REQUIRE_EQ(count, 8); + ATF_REQUIRE_EQ(count, nitems(number)); for (i = 0; i < count; i++) { ATF_REQUIRE_EQ(number[i], const_result[i]); } @@ -988,7 +995,7 @@ ATF_TEST_CASE_BODY(nvlist_descriptor_arr { nvlist_t *nvl; const char *key; - size_t nitems; + size_t num_items; unsigned int i; const int *const_result; int desc[32], fd, socks[2]; @@ -1004,7 +1011,7 @@ ATF_TEST_CASE_BODY(nvlist_descriptor_arr /* Child. */ fd = socks[0]; close(socks[1]); - for (i = 0; i < 32; i++) { + for (i = 0; i < nitems(desc); i++) { desc[i] = dup(STDERR_FILENO); ATF_REQUIRE(fd_is_valid(desc[i])); } @@ -1014,14 +1021,14 @@ ATF_TEST_CASE_BODY(nvlist_descriptor_arr ATF_REQUIRE(nvlist_empty(nvl)); ATF_REQUIRE(!nvlist_exists_descriptor_array(nvl, key)); - nvlist_add_descriptor_array(nvl, key, desc, 32); + nvlist_add_descriptor_array(nvl, key, desc, nitems(desc)); ATF_REQUIRE_EQ(nvlist_error(nvl), 0); ATF_REQUIRE(!nvlist_empty(nvl)); ATF_REQUIRE(nvlist_exists_descriptor_array(nvl, key)); ATF_REQUIRE(nvlist_send(fd, nvl) >= 0); - for (i = 0; i < nitems; i++) + for (i = 0; i < nitems(desc); i++) close(desc[i]); } else { /* Parent */ @@ -1034,10 +1041,10 @@ ATF_TEST_CASE_BODY(nvlist_descriptor_arr ATF_REQUIRE_EQ(nvlist_error(nvl), 0); ATF_REQUIRE(nvlist_exists_descriptor_array(nvl, key)); - const_result = nvlist_get_descriptor_array(nvl, key, &nitems); + const_result = nvlist_get_descriptor_array(nvl, key, &num_items); ATF_REQUIRE(const_result != NULL); - ATF_REQUIRE_EQ(nitems, 32); - for (i = 0; i < nitems; i++) + ATF_REQUIRE_EQ(num_items, nitems(desc)); + for (i = 0; i < num_items; i++) ATF_REQUIRE(fd_is_valid(const_result[i])); atf::utils::wait(pid, 0, "", ""); @@ -1056,7 +1063,7 @@ ATF_TEST_CASE_BODY(nvlist_string_array__ void *packed; unsigned int i; const char * const *const_result; - const char *string[8] = { "a", "b", "kot", "foo", + const char *string_arr[8] = { "a", "b", "kot", "foo", "tests", "nice test", "", "abcdef" }; key = "nvl/string"; @@ -1065,7 +1072,7 @@ ATF_TEST_CASE_BODY(nvlist_string_array__ ATF_REQUIRE(nvlist_empty(nvl)); ATF_REQUIRE(!nvlist_exists_string_array(nvl, key)); - nvlist_add_string_array(nvl, key, string, 8); + nvlist_add_string_array(nvl, key, string_arr, nitems(string_arr)); ATF_REQUIRE_EQ(nvlist_error(nvl), 0); ATF_REQUIRE(!nvlist_empty(nvl)); ATF_REQUIRE(nvlist_exists_string_array(nvl, key)); @@ -1079,9 +1086,9 @@ ATF_TEST_CASE_BODY(nvlist_string_array__ ATF_REQUIRE(nvlist_exists_string_array(unpacked, key)); const_result = nvlist_get_string_array(unpacked, key, &count); - ATF_REQUIRE_EQ(count, 8); + ATF_REQUIRE_EQ(count, nitems(string_arr)); for (i = 0; i < count; i++) { - ATF_REQUIRE_EQ(strcmp(string[i], const_result[i]), 0); + ATF_REQUIRE_EQ(strcmp(string_arr[i], const_result[i]), 0); } nvlist_destroy(nvl); @@ -1094,15 +1101,14 @@ ATF_TEST_CASE_BODY(nvlist_nvlist_array__ { nvlist_t *testnvl[8], *unpacked; const nvlist_t * const *const_result; - nvlist_t **result; nvlist_t *nvl; - size_t nitems, packed_size; + size_t num_items, packed_size; unsigned int i; void *packed; const char *somestr[8] = { "a", "b", "c", "d", "e", "f", "g", "h" }; const char *key; - for (i = 0; i < 8; i++) { + for (i = 0; i < nitems(testnvl); i++) { testnvl[i] = nvlist_create(0); ATF_REQUIRE(testnvl[i] != NULL); ATF_REQUIRE_EQ(nvlist_error(testnvl[i]), 0); @@ -1130,12 +1136,12 @@ ATF_TEST_CASE_BODY(nvlist_nvlist_array__ ATF_REQUIRE_EQ(nvlist_error(unpacked), 0); ATF_REQUIRE(nvlist_exists_nvlist_array(unpacked, key)); - const_result = nvlist_get_nvlist_array(unpacked, key, &nitems); + const_result = nvlist_get_nvlist_array(unpacked, key, &num_items); ATF_REQUIRE(const_result != NULL); - ATF_REQUIRE_EQ(nitems, 8); - for (i = 0; i < nitems; i++) { + ATF_REQUIRE_EQ(num_items, nitems(testnvl)); + for (i = 0; i < num_items; i++) { ATF_REQUIRE_EQ(nvlist_error(const_result[i]), 0); - if (i < nitems - 1) { + if (i < num_items - 1) { ATF_REQUIRE(nvlist_get_array_next(const_result[i]) == const_result[i + 1]); } else { @@ -1150,9 +1156,8 @@ ATF_TEST_CASE_BODY(nvlist_nvlist_array__ "nvl/string"), somestr[i]) == 0); } - for (i = 0; i < 8; i++) + for (i = 0; i < nitems(testnvl); i++) nvlist_destroy(testnvl[i]); - free(result); nvlist_destroy(nvl); nvlist_destroy(unpacked); free(packed); From owner-svn-src-user@freebsd.org Mon Jan 4 15:50:11 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7E317A6120D for ; Mon, 4 Jan 2016 15:50:11 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 501C21E2C; Mon, 4 Jan 2016 15:50:11 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u04FoAFB044659; Mon, 4 Jan 2016 15:50:10 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u04FoAlp044658; Mon, 4 Jan 2016 15:50:10 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201601041550.u04FoAlp044658@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Mon, 4 Jan 2016 15:50:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293160 - user/pho/stress2/misc X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Jan 2016 15:50:11 -0000 Author: pho Date: Mon Jan 4 15:50:10 2016 New Revision: 293160 URL: https://svnweb.freebsd.org/changeset/base/293160 Log: Added finding. Sponsored by: EMC / Isilon storage division Modified: user/pho/stress2/misc/suj33.sh Modified: user/pho/stress2/misc/suj33.sh ============================================================================== --- user/pho/stress2/misc/suj33.sh Mon Jan 4 15:03:20 2016 (r293159) +++ user/pho/stress2/misc/suj33.sh Mon Jan 4 15:50:10 2016 (r293160) @@ -29,6 +29,7 @@ # # Test "umount" of active file system +# Triggers "fsync: giving up on dirty" with ease. [ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 From owner-svn-src-user@freebsd.org Tue Jan 5 14:54:11 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C0CC2A63301 for ; Tue, 5 Jan 2016 14:54:11 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 985CE1B14; Tue, 5 Jan 2016 14:54:11 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u05EsA1I060062; Tue, 5 Jan 2016 14:54:10 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u05EsAYZ060061; Tue, 5 Jan 2016 14:54:10 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201601051454.u05EsAYZ060061@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Tue, 5 Jan 2016 14:54:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293198 - user/pho/stress2/misc X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Jan 2016 14:54:11 -0000 Author: pho Date: Tue Jan 5 14:54:10 2016 New Revision: 293198 URL: https://svnweb.freebsd.org/changeset/base/293198 Log: Added a regression test. Sponsored by: EMC / Isilon storage division Added: user/pho/stress2/misc/posix_fadvise3.sh (contents, props changed) Added: user/pho/stress2/misc/posix_fadvise3.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/posix_fadvise3.sh Tue Jan 5 14:54:10 2016 (r293198) @@ -0,0 +1,119 @@ +#!/bin/sh + +# +# Copyright (c) 2016 EMC Corp. +# 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. +# +# 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 MERCHANTABILITY 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$ +# + +# Looping thread seen: +# https://people.freebsd.org/~pho/stress/log/kostik855.txt +# Fixed by r293197. + +. ../default.cfg + +odir=`pwd` +cd /tmp +sed '1,/^EOF/d' < $odir/$0 > posix_fadvise3.c +mycc -o posix_fadvise3 -Wall -Wextra -O2 -g posix_fadvise3.c + +data=/tmp/posix_fadvise3.data +dd if=/dev/zero of=$data bs=1m count=64 2>&1 | \ + egrep -v 'records|transferred' +/tmp/posix_fadvise3 + +rm $data +truncate -s 64m $data +/tmp/posix_fadvise3 + +rm -f /tmp/posix_fadvise3 posix_fadvise3.c $data +exit +EOF +#include +#include +#include +#include +#include + +#define LOOPS 10000 +#define N (128 * 1024 / (int)sizeof(u_int32_t)) + +u_int32_t r[N]; + +unsigned long +makearg(void) +{ + unsigned int i; + unsigned long val; + + val = arc4random(); + i = arc4random() % 100; + if (i < 20) + val = val & 0xff; + if (i >= 20 && i < 40) + val = val & 0xffff; + if (i >= 40 && i < 60) + val = (unsigned long)(r) | (val & 0xffff); +#if defined(__LP64__) + if (i >= 60) { + val = (val << 32) | arc4random(); + if (i > 80) + val = val & 0x00007fffffffffffUL; + } +#endif + + return(val); +} + +int +main(void) +{ + off_t len, offset; + int advise, fd, i, j; + + if ((fd = open("/tmp/posix_fadvise3.data", O_RDONLY)) == -1) + err(1, "open()"); + offset = 0; + len = 0x7fffffffffffffff; + advise = 4; + if (posix_fadvise(fd, offset, len, advise) == -1) + warn("posix_fadvise"); + close(fd); + + for (i = 0; i < LOOPS; i++) { + for (j = 0; j < N; j++) + r[j] = arc4random(); + if ((fd = open("/tmp/posix_fadvise3.data", O_RDONLY)) == -1) + err(1, "open()"); + offset = makearg(); + len = makearg(); + advise = arc4random() % 6; + if (posix_fadvise(fd, offset, len, advise) == -1) + warn("posix_fadvise"); + close(fd); + } + + return (0); +} From owner-svn-src-user@freebsd.org Thu Jan 7 08:06:45 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5134EA66A4A for ; Thu, 7 Jan 2016 08:06:45 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 093601A37; Thu, 7 Jan 2016 08:06:44 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0786ice003343; Thu, 7 Jan 2016 08:06:44 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0786ikv003342; Thu, 7 Jan 2016 08:06:44 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601070806.u0786ikv003342@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Thu, 7 Jan 2016 08:06:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293308 - user/ngie/10.1-bug-198062 X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Jan 2016 08:06:45 -0000 Author: ngie Date: Thu Jan 7 08:06:43 2016 New Revision: 293308 URL: https://svnweb.freebsd.org/changeset/base/293308 Log: Branch for bug 198062 based off ^/releng/10.1 Added: - copied from r293307, releng/10.1/ Directory Properties: user/ngie/10.1-bug-198062/ (props changed) From owner-svn-src-user@freebsd.org Thu Jan 7 20:15:06 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E25FDA67AD9 for ; Thu, 7 Jan 2016 20:15:06 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AFEDC12B4; Thu, 7 Jan 2016 20:15:06 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u07KF5SM028870; Thu, 7 Jan 2016 20:15:05 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u07KF552028869; Thu, 7 Jan 2016 20:15:05 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201601072015.u07KF552028869@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Thu, 7 Jan 2016 20:15:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293348 - user/cperciva/freebsd-update-build/src X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Jan 2016 20:15:07 -0000 Author: glebius Date: Thu Jan 7 20:15:05 2016 New Revision: 293348 URL: https://svnweb.freebsd.org/changeset/base/293348 Log: Add $FreeBSD$. Modified: user/cperciva/freebsd-update-build/src/Makefile Modified: user/cperciva/freebsd-update-build/src/Makefile ============================================================================== --- user/cperciva/freebsd-update-build/src/Makefile Thu Jan 7 20:10:49 2016 (r293347) +++ user/cperciva/freebsd-update-build/src/Makefile Thu Jan 7 20:15:05 2016 (r293348) @@ -1,3 +1,5 @@ +# $FreeBSD$ + all: findstamps unstamp install: From owner-svn-src-user@freebsd.org Thu Jan 7 20:24:31 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8C385A67F22 for ; Thu, 7 Jan 2016 20:24:31 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5D6561F72; Thu, 7 Jan 2016 20:24:31 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u07KOUwJ032073; Thu, 7 Jan 2016 20:24:30 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u07KOUVJ032072; Thu, 7 Jan 2016 20:24:30 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201601072024.u07KOUVJ032072@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Thu, 7 Jan 2016 20:24:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293351 - user/cperciva/freebsd-update-build/scripts X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Jan 2016 20:24:31 -0000 Author: glebius Date: Thu Jan 7 20:24:30 2016 New Revision: 293351 URL: https://svnweb.freebsd.org/changeset/base/293351 Log: Sync with what we actually have at sba.ysv. Modified: user/cperciva/freebsd-update-build/scripts/build.conf Modified: user/cperciva/freebsd-update-build/scripts/build.conf ============================================================================== --- user/cperciva/freebsd-update-build/scripts/build.conf Thu Jan 7 20:22:55 2016 (r293350) +++ user/cperciva/freebsd-update-build/scripts/build.conf Thu Jan 7 20:24:30 2016 (r293351) @@ -17,10 +17,7 @@ export BUILDHOSTNAME=${HOSTPLATFORM}-bui export SSHKEY=/root/.ssh/id_dsa # SSH account into which files are uploaded -MASTERACCT=update-builder@update-master.freebsd.org +MASTERACCT=update-builder@update-master-in.freebsd.org # Directory into which files are uploaded MASTERDIR=update-master-stage - -# If set, will be used to run parallel buildworld etc. -export JFLAG="-j`sysctl -n hw.ncpu`" From owner-svn-src-user@freebsd.org Thu Jan 7 20:36:03 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6A841A66586 for ; Thu, 7 Jan 2016 20:36:03 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 37A7D1BE8; Thu, 7 Jan 2016 20:36:03 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u07Ka2BN035040; Thu, 7 Jan 2016 20:36:02 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u07Ka1Oa035034; Thu, 7 Jan 2016 20:36:01 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201601072036.u07Ka1Oa035034@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Thu, 7 Jan 2016 20:36:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293355 - in user/cperciva/freebsd-update-build/scripts: 10.1-RELEASE 10.1-RELEASE/amd64 10.2-RELEASE 10.2-RELEASE/amd64 X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Jan 2016 20:36:03 -0000 Author: glebius Date: Thu Jan 7 20:36:01 2016 New Revision: 293355 URL: https://svnweb.freebsd.org/changeset/base/293355 Log: Add configuration files for 10.1-RELEASE, 10.2-RELEASE. Added: user/cperciva/freebsd-update-build/scripts/10.1-RELEASE/ user/cperciva/freebsd-update-build/scripts/10.1-RELEASE/amd64/ user/cperciva/freebsd-update-build/scripts/10.1-RELEASE/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.1-RELEASE/build.subr user/cperciva/freebsd-update-build/scripts/10.2-RELEASE/ user/cperciva/freebsd-update-build/scripts/10.2-RELEASE/amd64/ user/cperciva/freebsd-update-build/scripts/10.2-RELEASE/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.2-RELEASE/build.subr Added: user/cperciva/freebsd-update-build/scripts/10.1-RELEASE/amd64/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.1-RELEASE/amd64/build.conf Thu Jan 7 20:36:01 2016 (r293355) @@ -0,0 +1,10 @@ +export RELH=0c3d64ce48c3ef761761d0fea07e1935e296f8c045c249118bc91a7faf053a6b +export FTP=https://people.freebsd.org/~gjb/10.1-RELEASE/ + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games lib32" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1483228799 Added: user/cperciva/freebsd-update-build/scripts/10.1-RELEASE/build.subr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.1-RELEASE/build.subr Thu Jan 7 20:36:01 2016 (r293355) @@ -0,0 +1,199 @@ +# Overrides to FreeBSD Update build subroutines for FreeBSD 9.0. + +# Download and verify a release ISO image. +fetchiso () { + log "Starting fetch" + + # Figure out where the disc1 ISO image is + RELNUM=${REL%-*} +# ISO=${FTP}/${TARGET}/ISO-IMAGES/${RELNUM}/${REL}-${TARGET}-disc1.iso + ISO=${FTP}/FreeBSD-${REL}-${TARGET}-disc1.iso + + # Fetch the ISO image. We consider the ISO image to be + # the One True Release and don't look at the files used + # for FTP installs. The FreeBSD 4.7-RELEASE ISO and FTP + # files were not identical, but this should never happen + # again. + fetch -o ${WORKDIR}/iso.img -rR ${ISO} 2>&1 + + log "Verifying dvd1 hash" + + # Check that the downloaded ISO has the correct hash. + if ! [ "`sha256 -q ${WORKDIR}/iso.img`" = "${RELH}" ]; then + echo "FreeBSD ${REL}-${TARGET}-dvd1.iso has incorrect hash." + rm ${WORKDIR}/iso.img + return 1 + fi +} + +# Extract the released trees and, if appropriate, construct a world (base +# plus source code) in which to perform builds. +extractiso () { + # Create and mount a md(4) attached to the ISO image. + ISOMD=`mdconfig -a -t vnode -f ${WORKDIR}/iso.img -n` + mkdir -p ${WORKDIR}/iso + mount -t cd9660 -o ro,nosuid /dev/md${ISOMD} ${WORKDIR}/iso + + # Extract the various components into different directories + log "Extracting components" + for C in ${WORLDPARTS}; do + mkdir -p ${WORKDIR}/release/R/trees/world/${C} + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/release/R/trees/world/${C} + done + for C in ${KERNELPARTS}; do + mkdir -p ${WORKDIR}/release/R/trees/kernel/${C} + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/release/R/trees/kernel/${C} + done + for C in ${SOURCEPARTS}; do + mkdir -p ${WORKDIR}/release/R/trees/src/${C} + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/release/R/trees/src/${C} + done + + # If the release ISO we're handling belongs to the platform + # we're running right now, create a world image for future use. + if [ ${TARGET} = ${HOSTPLATFORM} ]; then + log "Constructing world+src image" + + # Create directory for world + mkdir ${WORKDIR}/world/ + + # Extract world and source distributions + for C in ${WORLDPARTS}; do + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/world/ + done + for C in ${SOURCEPARTS}; do + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/world/ + done + + # build a single tarball of them. + tar -czf ${WORKDIR}/../world.tgz -C ${WORKDIR}/world . + + # clean up + nuke world + fi + + # Unmount and detach the ISO image md(4). + umount ${WORKDIR}/iso + rmdir ${WORKDIR}/iso + mdconfig -d -u ${ISOMD} +} + +# Perform a build in ${WORKDIR}/$1 with BRANCH_OVERRIDE set to $2 +buildworld () { + # We need a devfs inside the jail. Note that we are using a + # jail here in order to keep the environment as "clean" as + # possible, not for security reasons; we assume that the + # original source code plus patches we add personally will + # not do anything evil. + mount -t devfs devfs ${WORKDIR}/$1/dev + + # We need to be able to set file flags + sysctl security.jail.chflags_allowed=1 >/dev/null + + # Build stuff. + jail ${WORKDIR}/$1 ${BUILDHOSTNAME} 127.1.2.3 \ + /usr/bin/env -i PATH=${PATH} RELP=${RELP} \ + BRANCH_OVERRIDE=$2 \ + TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ + /bin/sh -e <<-"EOF" 2>&1 >${WORKDIR}/$1-build.log + # Function for logging what we're doing + log () { + echo "`date` $1 for FreeBSD/${TARGET} ${RELP}" 1>&2 + } + + # Build the world + log "Building world" + cd /usr/src && + make buildworld -j17 2>&1 + + # Build and kernel + log "Building kernel" + cd /usr/src && + make buildkernel -j17 2>&1 + + # Build and install release images + log "Building release" + cd /usr/src/release && + make release NODVD=y 2>&1 && + make install NODVD=y DESTDIR=/R 2>&1 + EOF + + # Put all the components into the right places. + log "Moving components into staging area" + jail ${WORKDIR}/$1 ${BUILDHOSTNAME} 127.1.2.3 \ + /usr/bin/env -i PATH=${PATH} \ + WORLDPARTS="${WORLDPARTS}" \ + KERNELPARTS="${KERNELPARTS}" \ + SOURCEPARTS="${SOURCEPARTS}" \ + /bin/sh -e <<-"EOF" 2>&1 >>${WORKDIR}/$1-build.log + # Create area for uncompressed components + mkdir -p /R/trees + + # Move world components into place + for C in ${WORLDPARTS}; do + mkdir -p /R/trees/world/${C} + cat /R/ftp/${C}.txz | + tar -xpzf - -C /R/trees/world/${C} + done + + # Move kernel components into place + for C in ${KERNELPARTS}; do + mkdir -p /R/trees/kernel/${C} + cat /R/ftp/${C}.txz | + tar -xpzf - -C /R/trees/kernel/${C} + done + + # Extract src components into place + for C in ${SOURCEPARTS}; do + mkdir -p /R/trees/src/${C} + cat /R/ftp/${C}.txz | + tar -xpzf - -C /R/trees/src/${C} + done + EOF + + # Get rid of the devfs we no longer need. + umount ${WORKDIR}/$1/dev +} + +# Perform a build in ${WORKDIR}/$1, but with the date set 400 days +# into the future. Turn off NTP before we change the date and +# turn it back on afterwards. +futurebuildworld () { + # Turn off ntpd if necessary + if /etc/rc.d/ntpd status | + grep -q 'is running'; then + ntpd_was_running=1 + log "Turning off NTP" + /etc/rc.d/ntpd stop >/dev/null + else + ntpd_was_running=0 + fi + + date -n `date -j -v+400d "+%y%m%d%H%M.%S"` >/dev/null + buildworld $1 FUTUREBUILD + date -n `date -j -v-400d "+%y%m%d%H%M.%S"` >/dev/null + + # Turn ntpd back on, if appropriate + if [ ${ntpd_was_running} = 1 ]; then + log "Turning NTP back on" + /etc/rc.d/ntpd start >/dev/null + fi +} + +# Add extra docs to ${WORKDIR}/$1 +addextradocs () { + log "Extracting extra docs" + + # 8.0 doesn't have any extra docs +} + +# Fixup: the "kernel" kernel is really the "generic" kernel. +indexpublish () { + sed -E 's,kernel\|kernel,kernel|generic,' +} + Added: user/cperciva/freebsd-update-build/scripts/10.2-RELEASE/amd64/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.2-RELEASE/amd64/build.conf Thu Jan 7 20:36:01 2016 (r293355) @@ -0,0 +1,10 @@ +export RELH=97908f5cd00d86cafeb2c265bfabbd0aa79f87e9b6b31ecdb756bc96a4a62e93 +export FTP=https://people.freebsd.org/~gjb/10.2-RELEASE/ + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games lib32" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1483228800 Added: user/cperciva/freebsd-update-build/scripts/10.2-RELEASE/build.subr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.2-RELEASE/build.subr Thu Jan 7 20:36:01 2016 (r293355) @@ -0,0 +1,199 @@ +# Overrides to FreeBSD Update build subroutines for FreeBSD 9.0. + +# Download and verify a release ISO image. +fetchiso () { + log "Starting fetch" + + # Figure out where the disc1 ISO image is + RELNUM=${REL%-*} +# ISO=${FTP}/${TARGET}/ISO-IMAGES/${RELNUM}/${REL}-${TARGET}-disc1.iso + ISO=${FTP}/FreeBSD-${REL}-${TARGET}-disc1.iso + + # Fetch the ISO image. We consider the ISO image to be + # the One True Release and don't look at the files used + # for FTP installs. The FreeBSD 4.7-RELEASE ISO and FTP + # files were not identical, but this should never happen + # again. + fetch -o ${WORKDIR}/iso.img -rR ${ISO} 2>&1 + + log "Verifying dvd1 hash" + + # Check that the downloaded ISO has the correct hash. + if ! [ "`sha256 -q ${WORKDIR}/iso.img`" = "${RELH}" ]; then + echo "FreeBSD ${REL}-${TARGET}-dvd1.iso has incorrect hash." + rm ${WORKDIR}/iso.img + return 1 + fi +} + +# Extract the released trees and, if appropriate, construct a world (base +# plus source code) in which to perform builds. +extractiso () { + # Create and mount a md(4) attached to the ISO image. + ISOMD=`mdconfig -a -t vnode -f ${WORKDIR}/iso.img -n` + mkdir -p ${WORKDIR}/iso + mount -t cd9660 -o ro,nosuid /dev/md${ISOMD} ${WORKDIR}/iso + + # Extract the various components into different directories + log "Extracting components" + for C in ${WORLDPARTS}; do + mkdir -p ${WORKDIR}/release/R/trees/world/${C} + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/release/R/trees/world/${C} + done + for C in ${KERNELPARTS}; do + mkdir -p ${WORKDIR}/release/R/trees/kernel/${C} + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/release/R/trees/kernel/${C} + done + for C in ${SOURCEPARTS}; do + mkdir -p ${WORKDIR}/release/R/trees/src/${C} + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/release/R/trees/src/${C} + done + + # If the release ISO we're handling belongs to the platform + # we're running right now, create a world image for future use. + if [ ${TARGET} = ${HOSTPLATFORM} ]; then + log "Constructing world+src image" + + # Create directory for world + mkdir ${WORKDIR}/world/ + + # Extract world and source distributions + for C in ${WORLDPARTS}; do + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/world/ + done + for C in ${SOURCEPARTS}; do + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/world/ + done + + # build a single tarball of them. + tar -czf ${WORKDIR}/../world.tgz -C ${WORKDIR}/world . + + # clean up + nuke world + fi + + # Unmount and detach the ISO image md(4). + umount ${WORKDIR}/iso + rmdir ${WORKDIR}/iso + mdconfig -d -u ${ISOMD} +} + +# Perform a build in ${WORKDIR}/$1 with BRANCH_OVERRIDE set to $2 +buildworld () { + # We need a devfs inside the jail. Note that we are using a + # jail here in order to keep the environment as "clean" as + # possible, not for security reasons; we assume that the + # original source code plus patches we add personally will + # not do anything evil. + mount -t devfs devfs ${WORKDIR}/$1/dev + + # We need to be able to set file flags + sysctl security.jail.chflags_allowed=1 >/dev/null + + # Build stuff. + jail ${WORKDIR}/$1 ${BUILDHOSTNAME} 127.1.2.3 \ + /usr/bin/env -i PATH=${PATH} RELP=${RELP} \ + BRANCH_OVERRIDE=$2 \ + TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ + /bin/sh -e <<-"EOF" 2>&1 >${WORKDIR}/$1-build.log + # Function for logging what we're doing + log () { + echo "`date` $1 for FreeBSD/${TARGET} ${RELP}" 1>&2 + } + + # Build the world + log "Building world" + cd /usr/src && + make buildworld -j17 2>&1 + + # Build and kernel + log "Building kernel" + cd /usr/src && + make buildkernel -j17 2>&1 + + # Build and install release images + log "Building release" + cd /usr/src/release && + make release NODVD=y 2>&1 && + make install NODVD=y DESTDIR=/R 2>&1 + EOF + + # Put all the components into the right places. + log "Moving components into staging area" + jail ${WORKDIR}/$1 ${BUILDHOSTNAME} 127.1.2.3 \ + /usr/bin/env -i PATH=${PATH} \ + WORLDPARTS="${WORLDPARTS}" \ + KERNELPARTS="${KERNELPARTS}" \ + SOURCEPARTS="${SOURCEPARTS}" \ + /bin/sh -e <<-"EOF" 2>&1 >>${WORKDIR}/$1-build.log + # Create area for uncompressed components + mkdir -p /R/trees + + # Move world components into place + for C in ${WORLDPARTS}; do + mkdir -p /R/trees/world/${C} + cat /R/ftp/${C}.txz | + tar -xpzf - -C /R/trees/world/${C} + done + + # Move kernel components into place + for C in ${KERNELPARTS}; do + mkdir -p /R/trees/kernel/${C} + cat /R/ftp/${C}.txz | + tar -xpzf - -C /R/trees/kernel/${C} + done + + # Extract src components into place + for C in ${SOURCEPARTS}; do + mkdir -p /R/trees/src/${C} + cat /R/ftp/${C}.txz | + tar -xpzf - -C /R/trees/src/${C} + done + EOF + + # Get rid of the devfs we no longer need. + umount ${WORKDIR}/$1/dev +} + +# Perform a build in ${WORKDIR}/$1, but with the date set 400 days +# into the future. Turn off NTP before we change the date and +# turn it back on afterwards. +futurebuildworld () { + # Turn off ntpd if necessary + if /etc/rc.d/ntpd status | + grep -q 'is running'; then + ntpd_was_running=1 + log "Turning off NTP" + /etc/rc.d/ntpd stop >/dev/null + else + ntpd_was_running=0 + fi + + date -n `date -j -v+400d "+%y%m%d%H%M.%S"` >/dev/null + buildworld $1 FUTUREBUILD + date -n `date -j -v-400d "+%y%m%d%H%M.%S"` >/dev/null + + # Turn ntpd back on, if appropriate + if [ ${ntpd_was_running} = 1 ]; then + log "Turning NTP back on" + /etc/rc.d/ntpd start >/dev/null + fi +} + +# Add extra docs to ${WORKDIR}/$1 +addextradocs () { + log "Extracting extra docs" + + # 8.0 doesn't have any extra docs +} + +# Fixup: the "kernel" kernel is really the "generic" kernel. +indexpublish () { + sed -E 's,kernel\|kernel,kernel|generic,' +} + From owner-svn-src-user@freebsd.org Thu Jan 7 20:37:10 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 00456A665BE for ; Thu, 7 Jan 2016 20:37:10 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9715C1D07; Thu, 7 Jan 2016 20:37:09 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u07Kb851035134; Thu, 7 Jan 2016 20:37:08 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u07Kb78k035123; Thu, 7 Jan 2016 20:37:07 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201601072037.u07Kb78k035123@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Thu, 7 Jan 2016 20:37:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293356 - in user/cperciva/freebsd-update-build/scripts: 10.0-BETA1 10.0-BETA1/amd64 10.0-BETA2 10.0-BETA2/amd64 10.0-BETA3 10.0-BETA3/amd64 10.0-BETA4 10.0-BETA4/amd64 10.0-RC1 10.0-RC... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Jan 2016 20:37:10 -0000 Author: glebius Date: Thu Jan 7 20:37:07 2016 New Revision: 293356 URL: https://svnweb.freebsd.org/changeset/base/293356 Log: Sync with what we actually have run as part of official freebsd-update process. This doesn't touch any supported now release. Added: user/cperciva/freebsd-update-build/scripts/10.0-BETA1/ user/cperciva/freebsd-update-build/scripts/10.0-BETA1/amd64/ user/cperciva/freebsd-update-build/scripts/10.0-BETA1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.0-BETA1/build.subr user/cperciva/freebsd-update-build/scripts/10.0-BETA2/ user/cperciva/freebsd-update-build/scripts/10.0-BETA2/amd64/ user/cperciva/freebsd-update-build/scripts/10.0-BETA2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.0-BETA2/build.subr user/cperciva/freebsd-update-build/scripts/10.0-BETA3/ user/cperciva/freebsd-update-build/scripts/10.0-BETA3/amd64/ user/cperciva/freebsd-update-build/scripts/10.0-BETA3/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.0-BETA3/build.subr user/cperciva/freebsd-update-build/scripts/10.0-BETA4/ user/cperciva/freebsd-update-build/scripts/10.0-BETA4/amd64/ user/cperciva/freebsd-update-build/scripts/10.0-BETA4/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.0-BETA4/build.subr user/cperciva/freebsd-update-build/scripts/10.0-RC1/ user/cperciva/freebsd-update-build/scripts/10.0-RC1/amd64/ user/cperciva/freebsd-update-build/scripts/10.0-RC1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.0-RC1/build.subr user/cperciva/freebsd-update-build/scripts/10.0-RC2/ user/cperciva/freebsd-update-build/scripts/10.0-RC2/amd64/ user/cperciva/freebsd-update-build/scripts/10.0-RC2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.0-RC2/build.subr user/cperciva/freebsd-update-build/scripts/10.0-RC3/ user/cperciva/freebsd-update-build/scripts/10.0-RC3/amd64/ user/cperciva/freebsd-update-build/scripts/10.0-RC3/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.0-RC3/build.subr user/cperciva/freebsd-update-build/scripts/10.0-RC4/ user/cperciva/freebsd-update-build/scripts/10.0-RC4/amd64/ user/cperciva/freebsd-update-build/scripts/10.0-RC4/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.0-RC4/build.subr user/cperciva/freebsd-update-build/scripts/10.0-RC5/ user/cperciva/freebsd-update-build/scripts/10.0-RC5/amd64/ user/cperciva/freebsd-update-build/scripts/10.0-RC5/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.0-RC5/build.subr user/cperciva/freebsd-update-build/scripts/10.0-RELEASE/amd64/ user/cperciva/freebsd-update-build/scripts/10.0-RELEASE/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.1-BETA1/ user/cperciva/freebsd-update-build/scripts/10.1-BETA1/amd64/ user/cperciva/freebsd-update-build/scripts/10.1-BETA1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.1-BETA1/build.subr user/cperciva/freebsd-update-build/scripts/10.1-BETA2/ user/cperciva/freebsd-update-build/scripts/10.1-BETA2/amd64/ user/cperciva/freebsd-update-build/scripts/10.1-BETA2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.1-BETA2/build.subr user/cperciva/freebsd-update-build/scripts/10.1-BETA3/ user/cperciva/freebsd-update-build/scripts/10.1-BETA3/amd64/ user/cperciva/freebsd-update-build/scripts/10.1-BETA3/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.1-BETA3/build.subr user/cperciva/freebsd-update-build/scripts/10.1-RC1/ user/cperciva/freebsd-update-build/scripts/10.1-RC1/amd64/ user/cperciva/freebsd-update-build/scripts/10.1-RC1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.1-RC1/build.subr user/cperciva/freebsd-update-build/scripts/10.1-RC2/ user/cperciva/freebsd-update-build/scripts/10.1-RC2/amd64/ user/cperciva/freebsd-update-build/scripts/10.1-RC2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.1-RC2/build.subr user/cperciva/freebsd-update-build/scripts/10.1-RC3/ user/cperciva/freebsd-update-build/scripts/10.1-RC3/amd64/ user/cperciva/freebsd-update-build/scripts/10.1-RC3/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.1-RC3/build.subr user/cperciva/freebsd-update-build/scripts/10.1-RC4/ user/cperciva/freebsd-update-build/scripts/10.1-RC4/amd64/ user/cperciva/freebsd-update-build/scripts/10.1-RC4/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.1-RC4/build.subr user/cperciva/freebsd-update-build/scripts/10.2-BETA1/ user/cperciva/freebsd-update-build/scripts/10.2-BETA1/amd64/ user/cperciva/freebsd-update-build/scripts/10.2-BETA1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.2-BETA1/build.subr user/cperciva/freebsd-update-build/scripts/10.2-BETA2/ user/cperciva/freebsd-update-build/scripts/10.2-BETA2/amd64/ user/cperciva/freebsd-update-build/scripts/10.2-BETA2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.2-BETA2/build.subr user/cperciva/freebsd-update-build/scripts/10.2-RC1/ user/cperciva/freebsd-update-build/scripts/10.2-RC1/amd64/ user/cperciva/freebsd-update-build/scripts/10.2-RC1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.2-RC1/build.subr user/cperciva/freebsd-update-build/scripts/10.2-RC2/ user/cperciva/freebsd-update-build/scripts/10.2-RC2/amd64/ user/cperciva/freebsd-update-build/scripts/10.2-RC2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.2-RC2/build.subr user/cperciva/freebsd-update-build/scripts/10.2-RC3/ user/cperciva/freebsd-update-build/scripts/10.2-RC3/amd64/ user/cperciva/freebsd-update-build/scripts/10.2-RC3/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.2-RC3/build.subr user/cperciva/freebsd-update-build/scripts/6.2-RC2/ user/cperciva/freebsd-update-build/scripts/6.2-RC2/amd64/ user/cperciva/freebsd-update-build/scripts/6.2-RC2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/6.2-RC2/i386/ user/cperciva/freebsd-update-build/scripts/6.2-RC2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/6.3-BETA1/ user/cperciva/freebsd-update-build/scripts/6.3-BETA1/amd64/ user/cperciva/freebsd-update-build/scripts/6.3-BETA1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/6.3-BETA1/i386/ user/cperciva/freebsd-update-build/scripts/6.3-BETA1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/6.3-BETA2/ user/cperciva/freebsd-update-build/scripts/6.3-BETA2/amd64/ user/cperciva/freebsd-update-build/scripts/6.3-BETA2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/6.3-BETA2/i386/ user/cperciva/freebsd-update-build/scripts/6.3-BETA2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/6.4-BETA/ user/cperciva/freebsd-update-build/scripts/6.4-BETA/amd64/ user/cperciva/freebsd-update-build/scripts/6.4-BETA/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/6.4-RC1/ user/cperciva/freebsd-update-build/scripts/6.4-RC1/amd64/ user/cperciva/freebsd-update-build/scripts/6.4-RC1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/6.4-RC2/ user/cperciva/freebsd-update-build/scripts/6.4-RC2/amd64/ user/cperciva/freebsd-update-build/scripts/6.4-RC2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.0-BETA1.5/ user/cperciva/freebsd-update-build/scripts/7.0-BETA1.5/amd64/ user/cperciva/freebsd-update-build/scripts/7.0-BETA1.5/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.0-BETA1.5/i386/ user/cperciva/freebsd-update-build/scripts/7.0-BETA1.5/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.0-BETA2/ user/cperciva/freebsd-update-build/scripts/7.0-BETA2/amd64/ user/cperciva/freebsd-update-build/scripts/7.0-BETA2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.0-BETA2/i386/ user/cperciva/freebsd-update-build/scripts/7.0-BETA2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.0-BETA3/ user/cperciva/freebsd-update-build/scripts/7.0-BETA3/amd64/ user/cperciva/freebsd-update-build/scripts/7.0-BETA3/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.0-BETA3/i386/ user/cperciva/freebsd-update-build/scripts/7.0-BETA3/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.1-BETA/ user/cperciva/freebsd-update-build/scripts/7.1-BETA/amd64/ user/cperciva/freebsd-update-build/scripts/7.1-BETA/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.1-BETA2/ user/cperciva/freebsd-update-build/scripts/7.1-BETA2/amd64/ user/cperciva/freebsd-update-build/scripts/7.1-BETA2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.1-RC1/ user/cperciva/freebsd-update-build/scripts/7.1-RC1/amd64/ user/cperciva/freebsd-update-build/scripts/7.1-RC1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.1-RC2/ user/cperciva/freebsd-update-build/scripts/7.1-RC2/amd64/ user/cperciva/freebsd-update-build/scripts/7.1-RC2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.2-BETA1/ user/cperciva/freebsd-update-build/scripts/7.2-BETA1/amd64/ user/cperciva/freebsd-update-build/scripts/7.2-BETA1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.2-RC1/ user/cperciva/freebsd-update-build/scripts/7.2-RC1/amd64/ user/cperciva/freebsd-update-build/scripts/7.2-RC1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.2-RC2/ user/cperciva/freebsd-update-build/scripts/7.2-RC2/amd64/ user/cperciva/freebsd-update-build/scripts/7.2-RC2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.3-BETA1/ user/cperciva/freebsd-update-build/scripts/7.3-BETA1/amd64/ user/cperciva/freebsd-update-build/scripts/7.3-BETA1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.3-RC1/ user/cperciva/freebsd-update-build/scripts/7.3-RC1/amd64/ user/cperciva/freebsd-update-build/scripts/7.3-RC1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.3-RC2/ user/cperciva/freebsd-update-build/scripts/7.3-RC2/amd64/ user/cperciva/freebsd-update-build/scripts/7.3-RC2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.4-BETA1/ user/cperciva/freebsd-update-build/scripts/7.4-BETA1/amd64/ user/cperciva/freebsd-update-build/scripts/7.4-BETA1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.4-RC1/ user/cperciva/freebsd-update-build/scripts/7.4-RC1/amd64/ user/cperciva/freebsd-update-build/scripts/7.4-RC1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.4-RC2/ user/cperciva/freebsd-update-build/scripts/7.4-RC2/amd64/ user/cperciva/freebsd-update-build/scripts/7.4-RC2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.4-RC3/ user/cperciva/freebsd-update-build/scripts/7.4-RC3/amd64/ user/cperciva/freebsd-update-build/scripts/7.4-RC3/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.0-BETA1/ user/cperciva/freebsd-update-build/scripts/8.0-BETA1/amd64/ user/cperciva/freebsd-update-build/scripts/8.0-BETA1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.0-BETA1/build.subr user/cperciva/freebsd-update-build/scripts/8.0-BETA2/ user/cperciva/freebsd-update-build/scripts/8.0-BETA2/amd64/ user/cperciva/freebsd-update-build/scripts/8.0-BETA2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.0-BETA2/build.subr user/cperciva/freebsd-update-build/scripts/8.0-BETA3/ user/cperciva/freebsd-update-build/scripts/8.0-BETA3/amd64/ user/cperciva/freebsd-update-build/scripts/8.0-BETA3/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.0-BETA3/build.subr user/cperciva/freebsd-update-build/scripts/8.0-BETA4/ user/cperciva/freebsd-update-build/scripts/8.0-BETA4/amd64/ user/cperciva/freebsd-update-build/scripts/8.0-BETA4/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.0-BETA4/build.subr user/cperciva/freebsd-update-build/scripts/8.0-RC1/ user/cperciva/freebsd-update-build/scripts/8.0-RC1/amd64/ user/cperciva/freebsd-update-build/scripts/8.0-RC1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.0-RC1/build.subr user/cperciva/freebsd-update-build/scripts/8.0-RC2/ user/cperciva/freebsd-update-build/scripts/8.0-RC2/amd64/ user/cperciva/freebsd-update-build/scripts/8.0-RC2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.0-RC2/build.subr user/cperciva/freebsd-update-build/scripts/8.0-RC3/ user/cperciva/freebsd-update-build/scripts/8.0-RC3/amd64/ user/cperciva/freebsd-update-build/scripts/8.0-RC3/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.0-RC3/build.subr user/cperciva/freebsd-update-build/scripts/8.1-BETA1/ user/cperciva/freebsd-update-build/scripts/8.1-BETA1/amd64/ user/cperciva/freebsd-update-build/scripts/8.1-BETA1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.1-BETA1/build.subr user/cperciva/freebsd-update-build/scripts/8.1-RC1/ user/cperciva/freebsd-update-build/scripts/8.1-RC1/amd64/ user/cperciva/freebsd-update-build/scripts/8.1-RC1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.1-RC1/build.subr user/cperciva/freebsd-update-build/scripts/8.1-RC2/ user/cperciva/freebsd-update-build/scripts/8.1-RC2/amd64/ user/cperciva/freebsd-update-build/scripts/8.1-RC2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.1-RC2/build.subr user/cperciva/freebsd-update-build/scripts/8.2-BETA1/ user/cperciva/freebsd-update-build/scripts/8.2-BETA1/amd64/ user/cperciva/freebsd-update-build/scripts/8.2-BETA1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.2-BETA1/build.subr user/cperciva/freebsd-update-build/scripts/8.2-RC1/ user/cperciva/freebsd-update-build/scripts/8.2-RC1/amd64/ user/cperciva/freebsd-update-build/scripts/8.2-RC1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.2-RC1/build.subr user/cperciva/freebsd-update-build/scripts/8.2-RC2/ user/cperciva/freebsd-update-build/scripts/8.2-RC2/amd64/ user/cperciva/freebsd-update-build/scripts/8.2-RC2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.2-RC2/build.subr user/cperciva/freebsd-update-build/scripts/8.2-RC3/ user/cperciva/freebsd-update-build/scripts/8.2-RC3/amd64/ user/cperciva/freebsd-update-build/scripts/8.2-RC3/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.2-RC3/build.subr user/cperciva/freebsd-update-build/scripts/8.3-BETA1/ user/cperciva/freebsd-update-build/scripts/8.3-BETA1/amd64/ user/cperciva/freebsd-update-build/scripts/8.3-BETA1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.3-BETA1/build.subr user/cperciva/freebsd-update-build/scripts/8.3-RC1/ user/cperciva/freebsd-update-build/scripts/8.3-RC1/amd64/ user/cperciva/freebsd-update-build/scripts/8.3-RC1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.3-RC1/build.subr user/cperciva/freebsd-update-build/scripts/8.3-RC2/ user/cperciva/freebsd-update-build/scripts/8.3-RC2/amd64/ user/cperciva/freebsd-update-build/scripts/8.3-RC2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.3-RC2/build.subr user/cperciva/freebsd-update-build/scripts/8.4-BETA1/ user/cperciva/freebsd-update-build/scripts/8.4-BETA1/amd64/ user/cperciva/freebsd-update-build/scripts/8.4-BETA1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.4-BETA1/build.subr user/cperciva/freebsd-update-build/scripts/8.4-RC1/ user/cperciva/freebsd-update-build/scripts/8.4-RC1/amd64/ user/cperciva/freebsd-update-build/scripts/8.4-RC1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.4-RC1/build.subr user/cperciva/freebsd-update-build/scripts/8.4-RC2/ user/cperciva/freebsd-update-build/scripts/8.4-RC2/amd64/ user/cperciva/freebsd-update-build/scripts/8.4-RC2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.4-RC2/build.subr user/cperciva/freebsd-update-build/scripts/8.4-RC3/ user/cperciva/freebsd-update-build/scripts/8.4-RC3/amd64/ user/cperciva/freebsd-update-build/scripts/8.4-RC3/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.4-RC3/build.subr user/cperciva/freebsd-update-build/scripts/8.4-RELEASE/amd64/ user/cperciva/freebsd-update-build/scripts/8.4-RELEASE/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.0-BETA1/ user/cperciva/freebsd-update-build/scripts/9.0-BETA1/amd64/ user/cperciva/freebsd-update-build/scripts/9.0-BETA1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.0-BETA1/build.subr user/cperciva/freebsd-update-build/scripts/9.0-BETA2/ user/cperciva/freebsd-update-build/scripts/9.0-BETA2/amd64/ user/cperciva/freebsd-update-build/scripts/9.0-BETA2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.0-BETA2/build.subr user/cperciva/freebsd-update-build/scripts/9.0-BETA3/ user/cperciva/freebsd-update-build/scripts/9.0-BETA3/amd64/ user/cperciva/freebsd-update-build/scripts/9.0-BETA3/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.0-BETA3/build.subr user/cperciva/freebsd-update-build/scripts/9.0-RC1/ user/cperciva/freebsd-update-build/scripts/9.0-RC1/amd64/ user/cperciva/freebsd-update-build/scripts/9.0-RC1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.0-RC1/build.subr user/cperciva/freebsd-update-build/scripts/9.0-RC2/ user/cperciva/freebsd-update-build/scripts/9.0-RC2/amd64/ user/cperciva/freebsd-update-build/scripts/9.0-RC2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.0-RC2/build.subr user/cperciva/freebsd-update-build/scripts/9.0-RC3/ user/cperciva/freebsd-update-build/scripts/9.0-RC3/amd64/ user/cperciva/freebsd-update-build/scripts/9.0-RC3/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.0-RC3/build.subr user/cperciva/freebsd-update-build/scripts/9.1-RC1/ user/cperciva/freebsd-update-build/scripts/9.1-RC1/amd64/ user/cperciva/freebsd-update-build/scripts/9.1-RC1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.1-RC1/build.subr user/cperciva/freebsd-update-build/scripts/9.1-RC2/ user/cperciva/freebsd-update-build/scripts/9.1-RC2/amd64/ user/cperciva/freebsd-update-build/scripts/9.1-RC2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.1-RC2/build.subr user/cperciva/freebsd-update-build/scripts/9.1-RC3/ user/cperciva/freebsd-update-build/scripts/9.1-RC3/amd64/ user/cperciva/freebsd-update-build/scripts/9.1-RC3/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.1-RC3/build.subr user/cperciva/freebsd-update-build/scripts/9.2-BETA1/ user/cperciva/freebsd-update-build/scripts/9.2-BETA1/amd64/ user/cperciva/freebsd-update-build/scripts/9.2-BETA1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.2-BETA1/build.subr user/cperciva/freebsd-update-build/scripts/9.2-BETA2/ user/cperciva/freebsd-update-build/scripts/9.2-BETA2/amd64/ user/cperciva/freebsd-update-build/scripts/9.2-BETA2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.2-BETA2/build.subr user/cperciva/freebsd-update-build/scripts/9.2-RC1/ user/cperciva/freebsd-update-build/scripts/9.2-RC1/amd64/ user/cperciva/freebsd-update-build/scripts/9.2-RC1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.2-RC1/build.subr user/cperciva/freebsd-update-build/scripts/9.2-RC2/ user/cperciva/freebsd-update-build/scripts/9.2-RC2/amd64/ user/cperciva/freebsd-update-build/scripts/9.2-RC2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.2-RC2/build.subr user/cperciva/freebsd-update-build/scripts/9.2-RC3/ user/cperciva/freebsd-update-build/scripts/9.2-RC3/amd64/ user/cperciva/freebsd-update-build/scripts/9.2-RC3/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.2-RC3/build.subr user/cperciva/freebsd-update-build/scripts/9.2-RC4/ user/cperciva/freebsd-update-build/scripts/9.2-RC4/amd64/ user/cperciva/freebsd-update-build/scripts/9.2-RC4/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.2-RC4/build.subr user/cperciva/freebsd-update-build/scripts/9.2-RELEASE/amd64/ user/cperciva/freebsd-update-build/scripts/9.2-RELEASE/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.3-BETA1/ user/cperciva/freebsd-update-build/scripts/9.3-BETA1/amd64/ user/cperciva/freebsd-update-build/scripts/9.3-BETA1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.3-BETA1/build.subr user/cperciva/freebsd-update-build/scripts/9.3-BETA2/ user/cperciva/freebsd-update-build/scripts/9.3-BETA2/amd64/ user/cperciva/freebsd-update-build/scripts/9.3-BETA2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.3-BETA2/build.subr user/cperciva/freebsd-update-build/scripts/9.3-BETA3/ user/cperciva/freebsd-update-build/scripts/9.3-BETA3/amd64/ user/cperciva/freebsd-update-build/scripts/9.3-BETA3/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.3-BETA3/build.subr user/cperciva/freebsd-update-build/scripts/9.3-RC1/ user/cperciva/freebsd-update-build/scripts/9.3-RC1/amd64/ user/cperciva/freebsd-update-build/scripts/9.3-RC1/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.3-RC1/build.subr user/cperciva/freebsd-update-build/scripts/9.3-RC2/ user/cperciva/freebsd-update-build/scripts/9.3-RC2/amd64/ user/cperciva/freebsd-update-build/scripts/9.3-RC2/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.3-RC2/build.subr user/cperciva/freebsd-update-build/scripts/9.3-RC3/ user/cperciva/freebsd-update-build/scripts/9.3-RC3/amd64/ user/cperciva/freebsd-update-build/scripts/9.3-RC3/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.3-RC3/build.subr Modified: user/cperciva/freebsd-update-build/scripts/10.0-RELEASE/build.subr user/cperciva/freebsd-update-build/scripts/5.5-RELEASE/i386/build.conf user/cperciva/freebsd-update-build/scripts/6.0-RELEASE/i386/build.conf user/cperciva/freebsd-update-build/scripts/6.1-RELEASE/i386/build.conf user/cperciva/freebsd-update-build/scripts/6.2-RELEASE/i386/build.conf user/cperciva/freebsd-update-build/scripts/6.3-RELEASE/i386/build.conf user/cperciva/freebsd-update-build/scripts/7.0-RELEASE/i386/build.conf user/cperciva/freebsd-update-build/scripts/8.0-RELEASE/build.subr user/cperciva/freebsd-update-build/scripts/9.2-RELEASE/build.subr Added: user/cperciva/freebsd-update-build/scripts/10.0-BETA1/amd64/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.0-BETA1/amd64/build.conf Thu Jan 7 20:37:07 2016 (r293356) @@ -0,0 +1,13 @@ +# SHA256 hash of disc1.iso image. +export RELH=226b88265e11accd4a873d5fa49e4eaf87f22c00a6580c23879bd18cdb6077b3 + +# gjb's home directory +export FTP=http://people.freebsd.org/~gjb/10.0-BETA1 + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games lib32" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1387065599 Added: user/cperciva/freebsd-update-build/scripts/10.0-BETA1/build.subr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.0-BETA1/build.subr Thu Jan 7 20:37:07 2016 (r293356) @@ -0,0 +1,199 @@ +# Overrides to FreeBSD Update build subroutines for FreeBSD 9.0. + +# Download and verify a release ISO image. +fetchiso () { + log "Starting fetch" + + # Figure out where the disc1 ISO image is + RELNUM=${REL%-*} +# ISO=${FTP}/${TARGET}/ISO-IMAGES/${RELNUM}/${REL}-${TARGET}-disc1.iso + ISO=${FTP}/FreeBSD-${REL}-${TARGET}-disc1.iso + + # Fetch the ISO image. We consider the ISO image to be + # the One True Release and don't look at the files used + # for FTP installs. The FreeBSD 4.7-RELEASE ISO and FTP + # files were not identical, but this should never happen + # again. + fetch -o ${WORKDIR}/iso.img -rR ${ISO} 2>&1 + + log "Verifying dvd1 hash" + + # Check that the downloaded ISO has the correct hash. + if ! [ "`sha256 -q ${WORKDIR}/iso.img`" = "${RELH}" ]; then + echo "FreeBSD ${REL}-${TARGET}-dvd1.iso has incorrect hash." + rm ${WORKDIR}/iso.img + return 1 + fi +} + +# Extract the released trees and, if appropriate, construct a world (base +# plus source code) in which to perform builds. +extractiso () { + # Create and mount a md(4) attached to the ISO image. + ISOMD=`mdconfig -a -t vnode -f ${WORKDIR}/iso.img -n` + mkdir -p ${WORKDIR}/iso + mount -t cd9660 -o ro,nosuid /dev/md${ISOMD} ${WORKDIR}/iso + + # Extract the various components into different directories + log "Extracting components" + for C in ${WORLDPARTS}; do + mkdir -p ${WORKDIR}/release/R/trees/world/${C} + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/release/R/trees/world/${C} + done + for C in ${KERNELPARTS}; do + mkdir -p ${WORKDIR}/release/R/trees/kernel/${C} + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/release/R/trees/kernel/${C} + done + for C in ${SOURCEPARTS}; do + mkdir -p ${WORKDIR}/release/R/trees/src/${C} + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/release/R/trees/src/${C} + done + + # If the release ISO we're handling belongs to the platform + # we're running right now, create a world image for future use. + if [ ${TARGET} = ${HOSTPLATFORM} ]; then + log "Constructing world+src image" + + # Create directory for world + mkdir ${WORKDIR}/world/ + + # Extract world and source distributions + for C in ${WORLDPARTS}; do + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/world/ + done + for C in ${SOURCEPARTS}; do + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/world/ + done + + # build a single tarball of them. + tar -czf ${WORKDIR}/../world.tgz -C ${WORKDIR}/world . + + # clean up + nuke world + fi + + # Unmount and detach the ISO image md(4). + umount ${WORKDIR}/iso + rmdir ${WORKDIR}/iso + mdconfig -d -u ${ISOMD} +} + +# Perform a build in ${WORKDIR}/$1 with BRANCH_OVERRIDE set to $2 +buildworld () { + # We need a devfs inside the jail. Note that we are using a + # jail here in order to keep the environment as "clean" as + # possible, not for security reasons; we assume that the + # original source code plus patches we add personally will + # not do anything evil. + mount -t devfs devfs ${WORKDIR}/$1/dev + + # We need to be able to set file flags + sysctl security.jail.chflags_allowed=1 >/dev/null + + # Build stuff. + jail ${WORKDIR}/$1 ${BUILDHOSTNAME} 127.1.2.3 \ + /usr/bin/env -i PATH=${PATH} RELP=${RELP} \ + BRANCH_OVERRIDE=$2 VERSION="FreeBSD 10.0-BETA1 amd64 1000500" \ + TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ + /bin/sh -e <<-"EOF" 2>&1 >${WORKDIR}/$1-build.log + # Function for logging what we're doing + log () { + echo "`date` $1 for FreeBSD/${TARGET} ${RELP}" 1>&2 + } + + # Build the world + log "Building world" + cd /usr/src && + make buildworld -j17 2>&1 + + # Build and kernel + log "Building kernel" + cd /usr/src && + make buildkernel -j17 2>&1 + + # Build and install release images + log "Building release" + cd /usr/src/release && + make release 2>&1 && + make install DESTDIR=/R 2>&1 + EOF + + # Put all the components into the right places. + log "Moving components into staging area" + jail ${WORKDIR}/$1 ${BUILDHOSTNAME} 127.1.2.3 \ + /usr/bin/env -i PATH=${PATH} \ + WORLDPARTS="${WORLDPARTS}" \ + KERNELPARTS="${KERNELPARTS}" \ + SOURCEPARTS="${SOURCEPARTS}" \ + /bin/sh -e <<-"EOF" 2>&1 >>${WORKDIR}/$1-build.log + # Create area for uncompressed components + mkdir -p /R/trees + + # Move world components into place + for C in ${WORLDPARTS}; do + mkdir -p /R/trees/world/${C} + cat /R/ftp/${C}.txz | + tar -xpzf - -C /R/trees/world/${C} + done + + # Move kernel components into place + for C in ${KERNELPARTS}; do + mkdir -p /R/trees/kernel/${C} + cat /R/ftp/${C}.txz | + tar -xpzf - -C /R/trees/kernel/${C} + done + + # Extract src components into place + for C in ${SOURCEPARTS}; do + mkdir -p /R/trees/src/${C} + cat /R/ftp/${C}.txz | + tar -xpzf - -C /R/trees/src/${C} + done + EOF + + # Get rid of the devfs we no longer need. + umount ${WORKDIR}/$1/dev +} + +# Perform a build in ${WORKDIR}/$1, but with the date set 400 days +# into the future. Turn off NTP before we change the date and +# turn it back on afterwards. +futurebuildworld () { + # Turn off ntpd if necessary + if /etc/rc.d/ntpd status | + grep -q 'is running'; then + ntpd_was_running=1 + log "Turning off NTP" + /etc/rc.d/ntpd stop >/dev/null + else + ntpd_was_running=0 + fi + + date -n `date -j -v+400d "+%y%m%d%H%M.%S"` >/dev/null + buildworld $1 FUTUREBUILD + date -n `date -j -v-400d "+%y%m%d%H%M.%S"` >/dev/null + + # Turn ntpd back on, if appropriate + if [ ${ntpd_was_running} = 1 ]; then + log "Turning NTP back on" + /etc/rc.d/ntpd start >/dev/null + fi +} + +# Add extra docs to ${WORKDIR}/$1 +addextradocs () { + log "Extracting extra docs" + + # 8.0 doesn't have any extra docs +} + +# Fixup: the "kernel" kernel is really the "generic" kernel. +indexpublish () { + sed -E 's,kernel\|kernel,kernel|generic,' +} + Added: user/cperciva/freebsd-update-build/scripts/10.0-BETA2/amd64/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.0-BETA2/amd64/build.conf Thu Jan 7 20:37:07 2016 (r293356) @@ -0,0 +1,13 @@ +# SHA256 hash of disc1.iso image. +export RELH=d0831ade5cfdc91c29a6574a615041502b29e78472c794a4bdee2763665b0b09 + +# gjb's home directory +export FTP=http://people.freebsd.org/~gjb/10.0-BETA2 + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games lib32" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1385855999 Added: user/cperciva/freebsd-update-build/scripts/10.0-BETA2/build.subr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.0-BETA2/build.subr Thu Jan 7 20:37:07 2016 (r293356) @@ -0,0 +1,199 @@ +# Overrides to FreeBSD Update build subroutines for FreeBSD 9.0. + +# Download and verify a release ISO image. +fetchiso () { + log "Starting fetch" + + # Figure out where the disc1 ISO image is + RELNUM=${REL%-*} +# ISO=${FTP}/${TARGET}/ISO-IMAGES/${RELNUM}/${REL}-${TARGET}-disc1.iso + ISO=${FTP}/FreeBSD-${REL}-${TARGET}-disc1.iso + + # Fetch the ISO image. We consider the ISO image to be + # the One True Release and don't look at the files used + # for FTP installs. The FreeBSD 4.7-RELEASE ISO and FTP + # files were not identical, but this should never happen + # again. + fetch -o ${WORKDIR}/iso.img -rR ${ISO} 2>&1 + + log "Verifying dvd1 hash" + + # Check that the downloaded ISO has the correct hash. + if ! [ "`sha256 -q ${WORKDIR}/iso.img`" = "${RELH}" ]; then + echo "FreeBSD ${REL}-${TARGET}-dvd1.iso has incorrect hash." + rm ${WORKDIR}/iso.img + return 1 + fi +} + +# Extract the released trees and, if appropriate, construct a world (base +# plus source code) in which to perform builds. +extractiso () { + # Create and mount a md(4) attached to the ISO image. + ISOMD=`mdconfig -a -t vnode -f ${WORKDIR}/iso.img -n` + mkdir -p ${WORKDIR}/iso + mount -t cd9660 -o ro,nosuid /dev/md${ISOMD} ${WORKDIR}/iso + + # Extract the various components into different directories + log "Extracting components" + for C in ${WORLDPARTS}; do + mkdir -p ${WORKDIR}/release/R/trees/world/${C} + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/release/R/trees/world/${C} + done + for C in ${KERNELPARTS}; do + mkdir -p ${WORKDIR}/release/R/trees/kernel/${C} + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/release/R/trees/kernel/${C} + done + for C in ${SOURCEPARTS}; do + mkdir -p ${WORKDIR}/release/R/trees/src/${C} + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/release/R/trees/src/${C} + done + + # If the release ISO we're handling belongs to the platform + # we're running right now, create a world image for future use. + if [ ${TARGET} = ${HOSTPLATFORM} ]; then + log "Constructing world+src image" + + # Create directory for world + mkdir ${WORKDIR}/world/ + + # Extract world and source distributions + for C in ${WORLDPARTS}; do + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/world/ + done + for C in ${SOURCEPARTS}; do + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/world/ + done + + # build a single tarball of them. + tar -czf ${WORKDIR}/../world.tgz -C ${WORKDIR}/world . + + # clean up + nuke world + fi + + # Unmount and detach the ISO image md(4). + umount ${WORKDIR}/iso + rmdir ${WORKDIR}/iso + mdconfig -d -u ${ISOMD} +} + +# Perform a build in ${WORKDIR}/$1 with BRANCH_OVERRIDE set to $2 +buildworld () { + # We need a devfs inside the jail. Note that we are using a + # jail here in order to keep the environment as "clean" as + # possible, not for security reasons; we assume that the + # original source code plus patches we add personally will + # not do anything evil. + mount -t devfs devfs ${WORKDIR}/$1/dev + + # We need to be able to set file flags + sysctl security.jail.chflags_allowed=1 >/dev/null + + # Build stuff. + jail ${WORKDIR}/$1 ${BUILDHOSTNAME} 127.1.2.3 \ + /usr/bin/env -i PATH=${PATH} RELP=${RELP} \ + BRANCH_OVERRIDE=$2 VERSION="FreeBSD 10.0-BETA2 amd64 1000501" \ + TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ + /bin/sh -e <<-"EOF" 2>&1 >${WORKDIR}/$1-build.log + # Function for logging what we're doing + log () { + echo "`date` $1 for FreeBSD/${TARGET} ${RELP}" 1>&2 + } + + # Build the world + log "Building world" + cd /usr/src && + make buildworld -j17 2>&1 + + # Build and kernel + log "Building kernel" + cd /usr/src && + make buildkernel -j17 2>&1 + + # Build and install release images + log "Building release" + cd /usr/src/release && + make release 2>&1 && + make install DESTDIR=/R 2>&1 + EOF + + # Put all the components into the right places. + log "Moving components into staging area" + jail ${WORKDIR}/$1 ${BUILDHOSTNAME} 127.1.2.3 \ + /usr/bin/env -i PATH=${PATH} \ + WORLDPARTS="${WORLDPARTS}" \ + KERNELPARTS="${KERNELPARTS}" \ + SOURCEPARTS="${SOURCEPARTS}" \ + /bin/sh -e <<-"EOF" 2>&1 >>${WORKDIR}/$1-build.log + # Create area for uncompressed components + mkdir -p /R/trees + + # Move world components into place + for C in ${WORLDPARTS}; do + mkdir -p /R/trees/world/${C} + cat /R/ftp/${C}.txz | + tar -xpzf - -C /R/trees/world/${C} + done + + # Move kernel components into place + for C in ${KERNELPARTS}; do + mkdir -p /R/trees/kernel/${C} + cat /R/ftp/${C}.txz | + tar -xpzf - -C /R/trees/kernel/${C} + done + + # Extract src components into place + for C in ${SOURCEPARTS}; do + mkdir -p /R/trees/src/${C} + cat /R/ftp/${C}.txz | + tar -xpzf - -C /R/trees/src/${C} + done + EOF + + # Get rid of the devfs we no longer need. + umount ${WORKDIR}/$1/dev +} + +# Perform a build in ${WORKDIR}/$1, but with the date set 400 days +# into the future. Turn off NTP before we change the date and +# turn it back on afterwards. +futurebuildworld () { + # Turn off ntpd if necessary + if /etc/rc.d/ntpd status | + grep -q 'is running'; then + ntpd_was_running=1 + log "Turning off NTP" + /etc/rc.d/ntpd stop >/dev/null + else + ntpd_was_running=0 + fi + + date -n `date -j -v+400d "+%y%m%d%H%M.%S"` >/dev/null + buildworld $1 FUTUREBUILD + date -n `date -j -v-400d "+%y%m%d%H%M.%S"` >/dev/null + + # Turn ntpd back on, if appropriate + if [ ${ntpd_was_running} = 1 ]; then + log "Turning NTP back on" + /etc/rc.d/ntpd start >/dev/null + fi +} + +# Add extra docs to ${WORKDIR}/$1 +addextradocs () { + log "Extracting extra docs" + + # 8.0 doesn't have any extra docs +} + +# Fixup: the "kernel" kernel is really the "generic" kernel. +indexpublish () { + sed -E 's,kernel\|kernel,kernel|generic,' +} + Added: user/cperciva/freebsd-update-build/scripts/10.0-BETA3/amd64/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.0-BETA3/amd64/build.conf Thu Jan 7 20:37:07 2016 (r293356) @@ -0,0 +1,13 @@ +# SHA256 hash of disc1.iso image. +export RELH=ffae9adf91e6030e0f83fecb4fe1a1cc3e8478efddbd0e2cfa5457b3e01a5134 + +# gjb's home directory +export FTP=http://people.freebsd.org/~gjb/10.0-BETA3/ + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games lib32" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1386374399 Added: user/cperciva/freebsd-update-build/scripts/10.0-BETA3/build.subr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.0-BETA3/build.subr Thu Jan 7 20:37:07 2016 (r293356) @@ -0,0 +1,199 @@ +# Overrides to FreeBSD Update build subroutines for FreeBSD 9.0. + +# Download and verify a release ISO image. +fetchiso () { + log "Starting fetch" + + # Figure out where the disc1 ISO image is + RELNUM=${REL%-*} +# ISO=${FTP}/${TARGET}/ISO-IMAGES/${RELNUM}/${REL}-${TARGET}-disc1.iso + ISO=${FTP}/FreeBSD-${REL}-${TARGET}-disc1.iso + + # Fetch the ISO image. We consider the ISO image to be + # the One True Release and don't look at the files used + # for FTP installs. The FreeBSD 4.7-RELEASE ISO and FTP + # files were not identical, but this should never happen + # again. + fetch -o ${WORKDIR}/iso.img -rR ${ISO} 2>&1 + + log "Verifying dvd1 hash" + + # Check that the downloaded ISO has the correct hash. + if ! [ "`sha256 -q ${WORKDIR}/iso.img`" = "${RELH}" ]; then + echo "FreeBSD ${REL}-${TARGET}-dvd1.iso has incorrect hash." + rm ${WORKDIR}/iso.img + return 1 + fi +} + +# Extract the released trees and, if appropriate, construct a world (base +# plus source code) in which to perform builds. +extractiso () { + # Create and mount a md(4) attached to the ISO image. + ISOMD=`mdconfig -a -t vnode -f ${WORKDIR}/iso.img -n` + mkdir -p ${WORKDIR}/iso + mount -t cd9660 -o ro,nosuid /dev/md${ISOMD} ${WORKDIR}/iso + + # Extract the various components into different directories + log "Extracting components" + for C in ${WORLDPARTS}; do + mkdir -p ${WORKDIR}/release/R/trees/world/${C} + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/release/R/trees/world/${C} + done + for C in ${KERNELPARTS}; do + mkdir -p ${WORKDIR}/release/R/trees/kernel/${C} + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/release/R/trees/kernel/${C} + done + for C in ${SOURCEPARTS}; do + mkdir -p ${WORKDIR}/release/R/trees/src/${C} + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/release/R/trees/src/${C} + done + + # If the release ISO we're handling belongs to the platform + # we're running right now, create a world image for future use. + if [ ${TARGET} = ${HOSTPLATFORM} ]; then + log "Constructing world+src image" + + # Create directory for world + mkdir ${WORKDIR}/world/ + + # Extract world and source distributions + for C in ${WORLDPARTS}; do + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/world/ + done + for C in ${SOURCEPARTS}; do + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/world/ + done + + # build a single tarball of them. + tar -czf ${WORKDIR}/../world.tgz -C ${WORKDIR}/world . + + # clean up + nuke world + fi + + # Unmount and detach the ISO image md(4). + umount ${WORKDIR}/iso + rmdir ${WORKDIR}/iso + mdconfig -d -u ${ISOMD} +} + +# Perform a build in ${WORKDIR}/$1 with BRANCH_OVERRIDE set to $2 +buildworld () { + # We need a devfs inside the jail. Note that we are using a + # jail here in order to keep the environment as "clean" as + # possible, not for security reasons; we assume that the + # original source code plus patches we add personally will + # not do anything evil. + mount -t devfs devfs ${WORKDIR}/$1/dev + + # We need to be able to set file flags + sysctl security.jail.chflags_allowed=1 >/dev/null + + # Build stuff. + jail ${WORKDIR}/$1 ${BUILDHOSTNAME} 127.1.2.3 \ + /usr/bin/env -i PATH=${PATH} RELP=${RELP} \ + BRANCH_OVERRIDE=$2 VERSION="FreeBSD 10.0-BETA3 amd64 1000501" \ + TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ + /bin/sh -e <<-"EOF" 2>&1 >${WORKDIR}/$1-build.log + # Function for logging what we're doing + log () { + echo "`date` $1 for FreeBSD/${TARGET} ${RELP}" 1>&2 + } + + # Build the world + log "Building world" + cd /usr/src && + make buildworld -j17 2>&1 + + # Build and kernel + log "Building kernel" + cd /usr/src && + make buildkernel -j17 2>&1 + + # Build and install release images + log "Building release" + cd /usr/src/release && + make release 2>&1 && + make install DESTDIR=/R 2>&1 + EOF + + # Put all the components into the right places. + log "Moving components into staging area" + jail ${WORKDIR}/$1 ${BUILDHOSTNAME} 127.1.2.3 \ + /usr/bin/env -i PATH=${PATH} \ + WORLDPARTS="${WORLDPARTS}" \ + KERNELPARTS="${KERNELPARTS}" \ + SOURCEPARTS="${SOURCEPARTS}" \ + /bin/sh -e <<-"EOF" 2>&1 >>${WORKDIR}/$1-build.log + # Create area for uncompressed components + mkdir -p /R/trees + + # Move world components into place + for C in ${WORLDPARTS}; do + mkdir -p /R/trees/world/${C} + cat /R/ftp/${C}.txz | + tar -xpzf - -C /R/trees/world/${C} + done + + # Move kernel components into place + for C in ${KERNELPARTS}; do + mkdir -p /R/trees/kernel/${C} + cat /R/ftp/${C}.txz | + tar -xpzf - -C /R/trees/kernel/${C} + done + + # Extract src components into place + for C in ${SOURCEPARTS}; do + mkdir -p /R/trees/src/${C} + cat /R/ftp/${C}.txz | + tar -xpzf - -C /R/trees/src/${C} + done + EOF + + # Get rid of the devfs we no longer need. + umount ${WORKDIR}/$1/dev +} + +# Perform a build in ${WORKDIR}/$1, but with the date set 400 days +# into the future. Turn off NTP before we change the date and +# turn it back on afterwards. +futurebuildworld () { + # Turn off ntpd if necessary + if /etc/rc.d/ntpd status | + grep -q 'is running'; then + ntpd_was_running=1 + log "Turning off NTP" + /etc/rc.d/ntpd stop >/dev/null + else + ntpd_was_running=0 + fi + + date -n `date -j -v+400d "+%y%m%d%H%M.%S"` >/dev/null + buildworld $1 FUTUREBUILD + date -n `date -j -v-400d "+%y%m%d%H%M.%S"` >/dev/null + + # Turn ntpd back on, if appropriate + if [ ${ntpd_was_running} = 1 ]; then + log "Turning NTP back on" + /etc/rc.d/ntpd start >/dev/null + fi +} + +# Add extra docs to ${WORKDIR}/$1 +addextradocs () { + log "Extracting extra docs" + + # 8.0 doesn't have any extra docs +} + +# Fixup: the "kernel" kernel is really the "generic" kernel. +indexpublish () { + sed -E 's,kernel\|kernel,kernel|generic,' +} + Added: user/cperciva/freebsd-update-build/scripts/10.0-BETA4/amd64/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.0-BETA4/amd64/build.conf Thu Jan 7 20:37:07 2016 (r293356) @@ -0,0 +1,13 @@ +# SHA256 hash of disc1.iso image. +export RELH=bc85096a98fa261070ae7362225a5b7d63b60bc28525aba0c226917924c5a7ee + +# gjb's home directory +export FTP=http://people.freebsd.org/~gjb/10.0-BETA4/ + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games lib32" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1388361599 Added: user/cperciva/freebsd-update-build/scripts/10.0-BETA4/build.subr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.0-BETA4/build.subr Thu Jan 7 20:37:07 2016 (r293356) @@ -0,0 +1,199 @@ +# Overrides to FreeBSD Update build subroutines for FreeBSD 9.0. + +# Download and verify a release ISO image. +fetchiso () { + log "Starting fetch" + + # Figure out where the disc1 ISO image is + RELNUM=${REL%-*} +# ISO=${FTP}/${TARGET}/ISO-IMAGES/${RELNUM}/${REL}-${TARGET}-disc1.iso + ISO=${FTP}/FreeBSD-${REL}-${TARGET}-disc1.iso + + # Fetch the ISO image. We consider the ISO image to be + # the One True Release and don't look at the files used + # for FTP installs. The FreeBSD 4.7-RELEASE ISO and FTP + # files were not identical, but this should never happen + # again. + fetch -o ${WORKDIR}/iso.img -rR ${ISO} 2>&1 + + log "Verifying dvd1 hash" + + # Check that the downloaded ISO has the correct hash. + if ! [ "`sha256 -q ${WORKDIR}/iso.img`" = "${RELH}" ]; then + echo "FreeBSD ${REL}-${TARGET}-dvd1.iso has incorrect hash." + rm ${WORKDIR}/iso.img + return 1 + fi +} + +# Extract the released trees and, if appropriate, construct a world (base +# plus source code) in which to perform builds. +extractiso () { + # Create and mount a md(4) attached to the ISO image. + ISOMD=`mdconfig -a -t vnode -f ${WORKDIR}/iso.img -n` + mkdir -p ${WORKDIR}/iso + mount -t cd9660 -o ro,nosuid /dev/md${ISOMD} ${WORKDIR}/iso + + # Extract the various components into different directories + log "Extracting components" + for C in ${WORLDPARTS}; do + mkdir -p ${WORKDIR}/release/R/trees/world/${C} + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/release/R/trees/world/${C} + done + for C in ${KERNELPARTS}; do + mkdir -p ${WORKDIR}/release/R/trees/kernel/${C} + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/release/R/trees/kernel/${C} + done + for C in ${SOURCEPARTS}; do + mkdir -p ${WORKDIR}/release/R/trees/src/${C} + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/release/R/trees/src/${C} + done + + # If the release ISO we're handling belongs to the platform + # we're running right now, create a world image for future use. + if [ ${TARGET} = ${HOSTPLATFORM} ]; then + log "Constructing world+src image" + + # Create directory for world + mkdir ${WORKDIR}/world/ + + # Extract world and source distributions + for C in ${WORLDPARTS}; do + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/world/ + done + for C in ${SOURCEPARTS}; do + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/world/ + done + + # build a single tarball of them. + tar -czf ${WORKDIR}/../world.tgz -C ${WORKDIR}/world . + + # clean up + nuke world + fi + + # Unmount and detach the ISO image md(4). + umount ${WORKDIR}/iso + rmdir ${WORKDIR}/iso + mdconfig -d -u ${ISOMD} +} + +# Perform a build in ${WORKDIR}/$1 with BRANCH_OVERRIDE set to $2 +buildworld () { + # We need a devfs inside the jail. Note that we are using a + # jail here in order to keep the environment as "clean" as + # possible, not for security reasons; we assume that the + # original source code plus patches we add personally will + # not do anything evil. + mount -t devfs devfs ${WORKDIR}/$1/dev + + # We need to be able to set file flags + sysctl security.jail.chflags_allowed=1 >/dev/null + + # Build stuff. + jail ${WORKDIR}/$1 ${BUILDHOSTNAME} 127.1.2.3 \ + /usr/bin/env -i PATH=${PATH} RELP=${RELP} \ + BRANCH_OVERRIDE=$2 VERSION="FreeBSD 10.0-BETA3 amd64 1000501" \ + TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ + /bin/sh -e <<-"EOF" 2>&1 >${WORKDIR}/$1-build.log + # Function for logging what we're doing + log () { + echo "`date` $1 for FreeBSD/${TARGET} ${RELP}" 1>&2 + } + + # Build the world + log "Building world" + cd /usr/src && + make buildworld -j17 2>&1 + + # Build and kernel + log "Building kernel" + cd /usr/src && + make buildkernel -j17 2>&1 + + # Build and install release images + log "Building release" + cd /usr/src/release && + make release NODVD=y 2>&1 && + make install NODVD=y DESTDIR=/R 2>&1 + EOF + + # Put all the components into the right places. + log "Moving components into staging area" + jail ${WORKDIR}/$1 ${BUILDHOSTNAME} 127.1.2.3 \ + /usr/bin/env -i PATH=${PATH} \ + WORLDPARTS="${WORLDPARTS}" \ + KERNELPARTS="${KERNELPARTS}" \ + SOURCEPARTS="${SOURCEPARTS}" \ + /bin/sh -e <<-"EOF" 2>&1 >>${WORKDIR}/$1-build.log + # Create area for uncompressed components + mkdir -p /R/trees + + # Move world components into place + for C in ${WORLDPARTS}; do + mkdir -p /R/trees/world/${C} + cat /R/ftp/${C}.txz | + tar -xpzf - -C /R/trees/world/${C} + done + + # Move kernel components into place + for C in ${KERNELPARTS}; do + mkdir -p /R/trees/kernel/${C} + cat /R/ftp/${C}.txz | + tar -xpzf - -C /R/trees/kernel/${C} + done + + # Extract src components into place + for C in ${SOURCEPARTS}; do + mkdir -p /R/trees/src/${C} + cat /R/ftp/${C}.txz | + tar -xpzf - -C /R/trees/src/${C} + done + EOF + + # Get rid of the devfs we no longer need. + umount ${WORKDIR}/$1/dev +} + +# Perform a build in ${WORKDIR}/$1, but with the date set 400 days +# into the future. Turn off NTP before we change the date and +# turn it back on afterwards. +futurebuildworld () { + # Turn off ntpd if necessary + if /etc/rc.d/ntpd status | + grep -q 'is running'; then + ntpd_was_running=1 + log "Turning off NTP" + /etc/rc.d/ntpd stop >/dev/null + else + ntpd_was_running=0 + fi + + date -n `date -j -v+400d "+%y%m%d%H%M.%S"` >/dev/null + buildworld $1 FUTUREBUILD + date -n `date -j -v-400d "+%y%m%d%H%M.%S"` >/dev/null + + # Turn ntpd back on, if appropriate + if [ ${ntpd_was_running} = 1 ]; then + log "Turning NTP back on" + /etc/rc.d/ntpd start >/dev/null + fi +} + +# Add extra docs to ${WORKDIR}/$1 +addextradocs () { + log "Extracting extra docs" + + # 8.0 doesn't have any extra docs +} + +# Fixup: the "kernel" kernel is really the "generic" kernel. +indexpublish () { + sed -E 's,kernel\|kernel,kernel|generic,' +} + Added: user/cperciva/freebsd-update-build/scripts/10.0-RC1/amd64/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.0-RC1/amd64/build.conf Thu Jan 7 20:37:07 2016 (r293356) @@ -0,0 +1,13 @@ +# SHA256 hash of disc1.iso image. +export RELH=f41c8d4b78cfb6ec0cca4ad21f937fe1e6a65e7b61167467860110c3290d650e + +# gjb's home directory +export FTP=http://people.freebsd.org/~gjb/10.0-RC1 + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games lib32" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1391817600 Added: user/cperciva/freebsd-update-build/scripts/10.0-RC1/build.subr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.0-RC1/build.subr Thu Jan 7 20:37:07 2016 (r293356) @@ -0,0 +1,199 @@ +# Overrides to FreeBSD Update build subroutines for FreeBSD 9.0. + +# Download and verify a release ISO image. +fetchiso () { + log "Starting fetch" + + # Figure out where the disc1 ISO image is + RELNUM=${REL%-*} +# ISO=${FTP}/${TARGET}/ISO-IMAGES/${RELNUM}/${REL}-${TARGET}-disc1.iso + ISO=${FTP}/FreeBSD-${REL}-${TARGET}-disc1.iso + + # Fetch the ISO image. We consider the ISO image to be + # the One True Release and don't look at the files used + # for FTP installs. The FreeBSD 4.7-RELEASE ISO and FTP + # files were not identical, but this should never happen + # again. + fetch -o ${WORKDIR}/iso.img -rR ${ISO} 2>&1 + + log "Verifying dvd1 hash" + + # Check that the downloaded ISO has the correct hash. + if ! [ "`sha256 -q ${WORKDIR}/iso.img`" = "${RELH}" ]; then + echo "FreeBSD ${REL}-${TARGET}-dvd1.iso has incorrect hash." + rm ${WORKDIR}/iso.img + return 1 + fi +} + +# Extract the released trees and, if appropriate, construct a world (base +# plus source code) in which to perform builds. +extractiso () { + # Create and mount a md(4) attached to the ISO image. + ISOMD=`mdconfig -a -t vnode -f ${WORKDIR}/iso.img -n` + mkdir -p ${WORKDIR}/iso + mount -t cd9660 -o ro,nosuid /dev/md${ISOMD} ${WORKDIR}/iso + + # Extract the various components into different directories + log "Extracting components" + for C in ${WORLDPARTS}; do + mkdir -p ${WORKDIR}/release/R/trees/world/${C} + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/release/R/trees/world/${C} + done + for C in ${KERNELPARTS}; do + mkdir -p ${WORKDIR}/release/R/trees/kernel/${C} + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/release/R/trees/kernel/${C} + done + for C in ${SOURCEPARTS}; do + mkdir -p ${WORKDIR}/release/R/trees/src/${C} + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/release/R/trees/src/${C} + done + + # If the release ISO we're handling belongs to the platform + # we're running right now, create a world image for future use. + if [ ${TARGET} = ${HOSTPLATFORM} ]; then + log "Constructing world+src image" + + # Create directory for world + mkdir ${WORKDIR}/world/ + + # Extract world and source distributions + for C in ${WORLDPARTS}; do + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/world/ + done + for C in ${SOURCEPARTS}; do + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/world/ + done + + # build a single tarball of them. + tar -czf ${WORKDIR}/../world.tgz -C ${WORKDIR}/world . + + # clean up + nuke world + fi + + # Unmount and detach the ISO image md(4). + umount ${WORKDIR}/iso + rmdir ${WORKDIR}/iso + mdconfig -d -u ${ISOMD} +} + +# Perform a build in ${WORKDIR}/$1 with BRANCH_OVERRIDE set to $2 +buildworld () { + # We need a devfs inside the jail. Note that we are using a + # jail here in order to keep the environment as "clean" as + # possible, not for security reasons; we assume that the + # original source code plus patches we add personally will + # not do anything evil. + mount -t devfs devfs ${WORKDIR}/$1/dev + + # We need to be able to set file flags + sysctl security.jail.chflags_allowed=1 >/dev/null + + # Build stuff. + jail ${WORKDIR}/$1 ${BUILDHOSTNAME} 127.1.2.3 \ + /usr/bin/env -i PATH=${PATH} RELP=${RELP} \ + BRANCH_OVERRIDE=$2 \ + TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ + /bin/sh -e <<-"EOF" 2>&1 >${WORKDIR}/$1-build.log + # Function for logging what we're doing + log () { + echo "`date` $1 for FreeBSD/${TARGET} ${RELP}" 1>&2 + } + + # Build the world *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@freebsd.org Thu Jan 7 20:50:05 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2A468A66B3A for ; Thu, 7 Jan 2016 20:50:05 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EC6751848; Thu, 7 Jan 2016 20:50:04 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u07Ko4FZ038603; Thu, 7 Jan 2016 20:50:04 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u07Ko47L038602; Thu, 7 Jan 2016 20:50:04 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201601072050.u07Ko47L038602@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Thu, 7 Jan 2016 20:50:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293360 - user/cperciva/freebsd-update-build/patches/10.1-RELEASE X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Jan 2016 20:50:05 -0000 Author: glebius Date: Thu Jan 7 20:50:03 2016 New Revision: 293360 URL: https://svnweb.freebsd.org/changeset/base/293360 Log: Record truth: this patch was dropped in with mergeinfo changes into historical freebsd-update build. Modified: user/cperciva/freebsd-update-build/patches/10.1-RELEASE/6-EN-15:02.openssl Modified: user/cperciva/freebsd-update-build/patches/10.1-RELEASE/6-EN-15:02.openssl ============================================================================== --- user/cperciva/freebsd-update-build/patches/10.1-RELEASE/6-EN-15:02.openssl Thu Jan 7 20:48:24 2016 (r293359) +++ user/cperciva/freebsd-update-build/patches/10.1-RELEASE/6-EN-15:02.openssl Thu Jan 7 20:50:03 2016 (r293360) @@ -6944,25 +6944,6 @@ Index: crypto/openssl/util/mkbuildinf.pl + #define DATE "built on: $date" +#endif +END_OUTPUT - -Property changes on: crypto/openssl/util/mkbuildinf.pl -___________________________________________________________________ -Added: svn:eol-style -## -0,0 +1 ## -+native -\ No newline at end of property -Added: svn:executable -## -0,0 +1 ## -+* -\ No newline at end of property -Added: svn:keywords -## -0,0 +1 ## -+FreeBSD=%H -\ No newline at end of property -Added: svn:mime-type -## -0,0 +1 ## -+text/plain -\ No newline at end of property Index: crypto/openssl/util/mkdef.pl =================================================================== --- crypto/openssl/util/mkdef.pl (revision 279126) From owner-svn-src-user@freebsd.org Thu Jan 7 20:54:02 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 95F3DA66DD8 for ; Thu, 7 Jan 2016 20:54:02 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 61EDE1E60; Thu, 7 Jan 2016 20:54:02 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u07Ks1HX041439; Thu, 7 Jan 2016 20:54:01 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u07Ks0UD041422; Thu, 7 Jan 2016 20:54:00 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201601072054.u07Ks0UD041422@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Thu, 7 Jan 2016 20:54:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293363 - user/cperciva/freebsd-update-build/patches/10.1-RELEASE X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Jan 2016 20:54:02 -0000 Author: glebius Date: Thu Jan 7 20:53:59 2016 New Revision: 293363 URL: https://svnweb.freebsd.org/changeset/base/293363 Log: Add missing files for 10.1-RELEASE. Added: user/cperciva/freebsd-update-build/patches/10.1-RELEASE/13-EN-15:08.sendmail user/cperciva/freebsd-update-build/patches/10.1-RELEASE/14-EN-15:08.sendmail user/cperciva/freebsd-update-build/patches/10.1-RELEASE/14-EN-15:09.xlocale user/cperciva/freebsd-update-build/patches/10.1-RELEASE/14-EN-15:10.iconv user/cperciva/freebsd-update-build/patches/10.1-RELEASE/15-SA-15:13.tcp user/cperciva/freebsd-update-build/patches/10.1-RELEASE/16-SA-15:14.tcp user/cperciva/freebsd-update-build/patches/10.1-RELEASE/16-SA-15:15.bsdpatch user/cperciva/freebsd-update-build/patches/10.1-RELEASE/16-SA-15:16.openssh user/cperciva/freebsd-update-build/patches/10.1-RELEASE/17-SA-15:18.bsdpatch user/cperciva/freebsd-update-build/patches/10.1-RELEASE/17-SA-15:19.routed user/cperciva/freebsd-update-build/patches/10.1-RELEASE/18-SA-15:20.expat user/cperciva/freebsd-update-build/patches/10.1-RELEASE/19-EN-15:14.ixgbe user/cperciva/freebsd-update-build/patches/10.1-RELEASE/19-EN-15:15.pkg user/cperciva/freebsd-update-build/patches/10.1-RELEASE/19-SA-15:21.amd64 user/cperciva/freebsd-update-build/patches/10.1-RELEASE/19-SA-15:22.openssh user/cperciva/freebsd-update-build/patches/10.1-RELEASE/20-EN-15:18.pkg user/cperciva/freebsd-update-build/patches/10.1-RELEASE/21-SA-15:24.rpcbind user/cperciva/freebsd-update-build/patches/10.1-RELEASE/22-SA-15:24.rpcbind user/cperciva/freebsd-update-build/patches/10.1-RELEASE/23-SA-15:25.ntp user/cperciva/freebsd-update-build/patches/10.1-RELEASE/24-EN-15:19.ntp user/cperciva/freebsd-update-build/patches/10.1-RELEASE/24-EN-15:20.vm user/cperciva/freebsd-update-build/patches/10.1-RELEASE/24-EN-15:21.kqueue user/cperciva/freebsd-update-build/patches/10.1-RELEASE/25-SA-15:26.openssl Added: user/cperciva/freebsd-update-build/patches/10.1-RELEASE/13-EN-15:08.sendmail ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.1-RELEASE/13-EN-15:08.sendmail Thu Jan 7 20:53:59 2016 (r293363) @@ -0,0 +1,24 @@ +Index: contrib/sendmail/src/tls.c +=================================================================== +--- contrib/sendmail/src/tls.c ++++ contrib/sendmail/src/tls.c +@@ -650,7 +650,7 @@ + ** 1024 generate 1024 bit parameters + ** 2048 generate 2048 bit parameters + ** /file/name read parameters from /file/name +- ** default is: 1024 for server, 512 for client (OK? XXX) ++ ** default is: 1024 + */ + + if (bitset(TLS_I_TRY_DH, req)) +@@ -676,8 +676,8 @@ + } + if (dhparam == NULL) + { +- dhparam = srv ? "1" : "5"; +- req |= (srv ? TLS_I_DH1024 : TLS_I_DH512); ++ dhparam = "1"; ++ req |= TLS_I_DH1024; + } + else if (*dhparam == '/') + { Added: user/cperciva/freebsd-update-build/patches/10.1-RELEASE/14-EN-15:08.sendmail ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.1-RELEASE/14-EN-15:08.sendmail Thu Jan 7 20:53:59 2016 (r293363) @@ -0,0 +1,13 @@ +Index: contrib/sendmail/src/sendmail.h +=================================================================== +--- contrib/sendmail/src/sendmail.h (revision 284940) ++++ contrib/sendmail/src/sendmail.h (working copy) +@@ -1935,7 +1935,7 @@ struct termescape + + /* server requirements */ + #define TLS_I_SRV (TLS_I_SRV_CERT | TLS_I_RSA_TMP | TLS_I_VRFY_PATH | \ +- TLS_I_VRFY_LOC | TLS_I_TRY_DH | TLS_I_DH512 | \ ++ TLS_I_VRFY_LOC | TLS_I_TRY_DH | TLS_I_DH1024 | \ + TLS_I_CACHE) + + /* client requirements */ Added: user/cperciva/freebsd-update-build/patches/10.1-RELEASE/14-EN-15:09.xlocale ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.1-RELEASE/14-EN-15:09.xlocale Thu Jan 7 20:53:59 2016 (r293363) @@ -0,0 +1,58 @@ +Index: lib/libc/locale/setrunelocale.c +=================================================================== +--- lib/libc/locale/setrunelocale.c (revision 284940) ++++ lib/libc/locale/setrunelocale.c (working copy) +@@ -202,6 +202,8 @@ __set_thread_rune_locale(locale_t loc) + + if (loc == NULL) { + _ThreadRuneLocale = &_DefaultRuneLocale; ++ } else if (loc == LC_GLOBAL_LOCALE) { ++ _ThreadRuneLocale = 0; + } else { + _ThreadRuneLocale = XLOCALE_CTYPE(loc)->runes; + } +Index: lib/libc/locale/xlocale.c +=================================================================== +--- lib/libc/locale/xlocale.c (revision 284940) ++++ lib/libc/locale/xlocale.c (working copy) +@@ -154,23 +154,24 @@ __get_locale(void) + static void + set_thread_locale(locale_t loc) + { ++ locale_t l = (loc == LC_GLOBAL_LOCALE) ? 0 : loc; + + _once(&once_control, init_key); + +- if (NULL != loc) { +- xlocale_retain((struct xlocale_refcounted*)loc); ++ if (NULL != l) { ++ xlocale_retain((struct xlocale_refcounted*)l); + } + locale_t old = pthread_getspecific(locale_info_key); +- if ((NULL != old) && (loc != old)) { ++ if ((NULL != old) && (l != old)) { + xlocale_release((struct xlocale_refcounted*)old); + } + if (fake_tls) { +- thread_local_locale = loc; ++ thread_local_locale = l; + } else { +- pthread_setspecific(locale_info_key, loc); ++ pthread_setspecific(locale_info_key, l); + } + #ifndef __NO_TLS +- __thread_locale = loc; ++ __thread_locale = l; + __set_thread_rune_locale(loc); + #endif + } +@@ -361,9 +362,6 @@ locale_t uselocale(locale_t loc) + { + locale_t old = get_thread_locale(); + if (NULL != loc) { +- if (LC_GLOBAL_LOCALE == loc) { +- loc = NULL; +- } + set_thread_locale(loc); + } + return (old ? old : LC_GLOBAL_LOCALE); Added: user/cperciva/freebsd-update-build/patches/10.1-RELEASE/14-EN-15:10.iconv ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.1-RELEASE/14-EN-15:10.iconv Thu Jan 7 20:53:59 2016 (r293363) @@ -0,0 +1,107 @@ +Index: lib/libiconv_modules/UTF7/citrus_utf7.c +=================================================================== +--- lib/libiconv_modules/UTF7/citrus_utf7.c (revision 284940) ++++ lib/libiconv_modules/UTF7/citrus_utf7.c (working copy) +@@ -62,8 +62,7 @@ typedef struct { + unsigned int + mode: 1, /* whether base64 mode */ + bits: 4, /* need to hold 0 - 15 */ +- cache: 22, /* 22 = BASE64_BIT + UTF16_BIT */ +- surrogate: 1; /* whether surrogate pair or not */ ++ cache: 22; /* 22 = BASE64_BIT + UTF16_BIT */ + int chlen; + char ch[4]; /* BASE64_IN, 3 * 6 = 18, most closed to UTF16_BIT */ + } _UTF7State; +@@ -154,12 +153,11 @@ _citrus_UTF7_mbtoutf16(_UTF7EncodingInfo * __restr + uint16_t * __restrict u16, const char ** __restrict s, size_t n, + _UTF7State * __restrict psenc, size_t * __restrict nresult) + { +- _UTF7State sv; + const char *s0; + int done, i, len; + ++ *nresult = 0; + s0 = *s; +- sv = *psenc; + + for (i = 0, done = 0; done == 0; i++) { + if (i == psenc->chlen) { +@@ -166,9 +164,6 @@ _citrus_UTF7_mbtoutf16(_UTF7EncodingInfo * __restr + if (n-- < 1) { + *nresult = (size_t)-2; + *s = s0; +- sv.chlen = psenc->chlen; +- memcpy(sv.ch, psenc->ch, sizeof(sv.ch)); +- *psenc = sv; + return (0); + } + psenc->ch[psenc->chlen++] = *s0++; +@@ -257,34 +252,31 @@ _citrus_UTF7_mbrtowc_priv(_UTF7EncodingInfo * __re + *nresult = (size_t)_ENCODING_IS_STATE_DEPENDENT; + return (0); + } +- if (psenc->surrogate) { +- hi = (psenc->cache >> psenc->bits) & UTF16_MAX; +- if (hi < HISRG_MIN || hi > HISRG_MAX) +- return (EINVAL); +- siz = 0; +- } else { +- err = _citrus_UTF7_mbtoutf16(ei, &hi, s, n, psenc, &nr); +- if (nr == (size_t)-1 || nr == (size_t)-2) { +- *nresult = nr; +- return (err); +- } +- if (err != 0) +- return (err); +- n -= nr; +- siz = nr; +- if (hi < HISRG_MIN || hi > HISRG_MAX) { +- u32 = (uint32_t)hi; +- goto done; +- } +- psenc->surrogate = 1; ++ err = _citrus_UTF7_mbtoutf16(ei, &hi, s, n, psenc, &nr); ++ if (nr == (size_t)-1 || nr == (size_t)-2) { ++ *nresult = nr; ++ return (err); + } ++ if (err != 0) ++ return (err); ++ n -= nr; ++ siz = nr; ++ if (hi < HISRG_MIN || hi > HISRG_MAX) { ++ u32 = (uint32_t)hi; ++ goto done; ++ } + err = _citrus_UTF7_mbtoutf16(ei, &lo, s, n, psenc, &nr); + if (nr == (size_t)-1 || nr == (size_t)-2) { ++ psenc->chlen = 1; /* make get_state_desc return incomplete */ + *nresult = nr; + return (err); + } + if (err != 0) + return (err); ++ if (lo < LOSRG_MIN || lo > LOSRG_MAX) { ++ *nresult = (size_t)-1; ++ return (EILSEQ); ++ } + hi -= HISRG_MIN; + lo -= LOSRG_MIN; + u32 = (hi << 10 | lo) + SRG_BASE; +@@ -297,7 +289,6 @@ done: + _citrus_UTF7_init_state(ei, psenc); + } else { + *nresult = siz; +- psenc->surrogate = 0; + } + return (err); + } +@@ -396,7 +387,7 @@ _citrus_UTF7_put_state_reset(_UTF7EncodingInfo * _ + { + int bits, pos; + +- if (psenc->chlen != 0 || psenc->bits > BASE64_BIT || psenc->surrogate) ++ if (psenc->chlen != 0 || psenc->bits > BASE64_BIT) + return (EINVAL); + + if (psenc->mode) { Added: user/cperciva/freebsd-update-build/patches/10.1-RELEASE/15-SA-15:13.tcp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.1-RELEASE/15-SA-15:13.tcp Thu Jan 7 20:53:59 2016 (r293363) @@ -0,0 +1,31 @@ +Index: sys/netinet/tcp_output.c +=================================================================== +--- sys/netinet/tcp_output.c (revision 285435) ++++ sys/netinet/tcp_output.c (working copy) +@@ -400,7 +400,7 @@ after_sack_rexmit: + flags &= ~TH_FIN; + } + +- if (len < 0) { ++ if (len <= 0) { + /* + * If FIN has been sent but not acked, + * but we haven't been called to retransmit, +@@ -410,9 +410,16 @@ after_sack_rexmit: + * to (closed) window, and set the persist timer + * if it isn't already going. If the window didn't + * close completely, just wait for an ACK. ++ * ++ * We also do a general check here to ensure that ++ * we will set the persist timer when we have data ++ * to send, but a 0-byte window. This makes sure ++ * the persist timer is set even if the packet ++ * hits one of the "goto send" lines below. + */ + len = 0; +- if (sendwin == 0) { ++ if ((sendwin == 0) && (TCPS_HAVEESTABLISHED(tp->t_state)) && ++ (off < (int) so->so_snd.sb_cc)) { + tcp_timer_activate(tp, TT_REXMT, 0); + tp->t_rxtshift = 0; + tp->snd_nxt = tp->snd_una; Added: user/cperciva/freebsd-update-build/patches/10.1-RELEASE/16-SA-15:14.tcp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.1-RELEASE/16-SA-15:14.tcp Thu Jan 7 20:53:59 2016 (r293363) @@ -0,0 +1,194 @@ +Index: sys/netinet/tcp_reass.c +=================================================================== +--- sys/netinet/tcp_reass.c (revision 285923) ++++ sys/netinet/tcp_reass.c (working copy) +@@ -79,25 +79,22 @@ static int tcp_reass_sysctl_qsize(SYSCTL_HANDLER_A + static SYSCTL_NODE(_net_inet_tcp, OID_AUTO, reass, CTLFLAG_RW, 0, + "TCP Segment Reassembly Queue"); + +-static VNET_DEFINE(int, tcp_reass_maxseg) = 0; +-#define V_tcp_reass_maxseg VNET(tcp_reass_maxseg) +-SYSCTL_VNET_INT(_net_inet_tcp_reass, OID_AUTO, maxsegments, CTLFLAG_RDTUN, +- &VNET_NAME(tcp_reass_maxseg), 0, ++static int tcp_reass_maxseg = 0; ++SYSCTL_INT(_net_inet_tcp_reass, OID_AUTO, maxsegments, CTLFLAG_RDTUN, ++ &tcp_reass_maxseg, 0, + "Global maximum number of TCP Segments in Reassembly Queue"); + +-SYSCTL_VNET_PROC(_net_inet_tcp_reass, OID_AUTO, cursegments, ++SYSCTL_PROC(_net_inet_tcp_reass, OID_AUTO, cursegments, + (CTLTYPE_INT | CTLFLAG_RD), NULL, 0, &tcp_reass_sysctl_qsize, "I", + "Global number of TCP Segments currently in Reassembly Queue"); + +-static VNET_DEFINE(int, tcp_reass_overflows) = 0; +-#define V_tcp_reass_overflows VNET(tcp_reass_overflows) +-SYSCTL_VNET_INT(_net_inet_tcp_reass, OID_AUTO, overflows, ++static int tcp_reass_overflows = 0; ++SYSCTL_INT(_net_inet_tcp_reass, OID_AUTO, overflows, + CTLTYPE_INT | CTLFLAG_RD, +- &VNET_NAME(tcp_reass_overflows), 0, ++ &tcp_reass_overflows, 0, + "Global number of TCP Segment Reassembly Queue Overflows"); + +-static VNET_DEFINE(uma_zone_t, tcp_reass_zone); +-#define V_tcp_reass_zone VNET(tcp_reass_zone) ++static uma_zone_t tcp_reass_zone; + + /* Initialize TCP reassembly queue */ + static void +@@ -105,37 +102,28 @@ tcp_reass_zone_change(void *tag) + { + + /* Set the zone limit and read back the effective value. */ +- V_tcp_reass_maxseg = nmbclusters / 16; +- V_tcp_reass_maxseg = uma_zone_set_max(V_tcp_reass_zone, +- V_tcp_reass_maxseg); ++ tcp_reass_maxseg = nmbclusters / 16; ++ tcp_reass_maxseg = uma_zone_set_max(tcp_reass_zone, ++ tcp_reass_maxseg); + } + + void +-tcp_reass_init(void) ++tcp_reass_global_init(void) + { + +- V_tcp_reass_maxseg = nmbclusters / 16; ++ tcp_reass_maxseg = nmbclusters / 16; + TUNABLE_INT_FETCH("net.inet.tcp.reass.maxsegments", +- &V_tcp_reass_maxseg); +- V_tcp_reass_zone = uma_zcreate("tcpreass", sizeof (struct tseg_qent), ++ &tcp_reass_maxseg); ++ tcp_reass_zone = uma_zcreate("tcpreass", sizeof (struct tseg_qent), + NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE); + /* Set the zone limit and read back the effective value. */ +- V_tcp_reass_maxseg = uma_zone_set_max(V_tcp_reass_zone, +- V_tcp_reass_maxseg); ++ tcp_reass_maxseg = uma_zone_set_max(tcp_reass_zone, ++ tcp_reass_maxseg); + EVENTHANDLER_REGISTER(nmbclusters_change, + tcp_reass_zone_change, NULL, EVENTHANDLER_PRI_ANY); + } + +-#ifdef VIMAGE + void +-tcp_reass_destroy(void) +-{ +- +- uma_zdestroy(V_tcp_reass_zone); +-} +-#endif +- +-void + tcp_reass_flush(struct tcpcb *tp) + { + struct tseg_qent *qe; +@@ -145,7 +133,7 @@ tcp_reass_flush(struct tcpcb *tp) + while ((qe = LIST_FIRST(&tp->t_segq)) != NULL) { + LIST_REMOVE(qe, tqe_q); + m_freem(qe->tqe_m); +- uma_zfree(V_tcp_reass_zone, qe); ++ uma_zfree(tcp_reass_zone, qe); + tp->t_segqlen--; + } + +@@ -159,7 +147,7 @@ tcp_reass_sysctl_qsize(SYSCTL_HANDLER_ARGS) + { + int qsize; + +- qsize = uma_zone_get_cur(V_tcp_reass_zone); ++ qsize = uma_zone_get_cur(tcp_reass_zone); + return (sysctl_handle_int(oidp, &qsize, 0, req)); + } + +@@ -207,7 +195,7 @@ tcp_reass(struct tcpcb *tp, struct tcphdr *th, int + */ + if ((th->th_seq != tp->rcv_nxt || !TCPS_HAVEESTABLISHED(tp->t_state)) && + tp->t_segqlen >= (so->so_rcv.sb_hiwat / tp->t_maxseg) + 1) { +- V_tcp_reass_overflows++; ++ tcp_reass_overflows++; + TCPSTAT_INC(tcps_rcvmemdrop); + m_freem(m); + *tlenp = 0; +@@ -226,7 +214,7 @@ tcp_reass(struct tcpcb *tp, struct tcphdr *th, int + * Use a temporary structure on the stack for the missing segment + * when the zone is exhausted. Otherwise we may get stuck. + */ +- te = uma_zalloc(V_tcp_reass_zone, M_NOWAIT); ++ te = uma_zalloc(tcp_reass_zone, M_NOWAIT); + if (te == NULL) { + if (th->th_seq != tp->rcv_nxt || !TCPS_HAVEESTABLISHED(tp->t_state)) { + TCPSTAT_INC(tcps_rcvmemdrop); +@@ -277,7 +265,7 @@ tcp_reass(struct tcpcb *tp, struct tcphdr *th, int + TCPSTAT_ADD(tcps_rcvdupbyte, *tlenp); + m_freem(m); + if (te != &tqs) +- uma_zfree(V_tcp_reass_zone, te); ++ uma_zfree(tcp_reass_zone, te); + tp->t_segqlen--; + /* + * Try to present any queued data +@@ -314,7 +302,7 @@ tcp_reass(struct tcpcb *tp, struct tcphdr *th, int + nq = LIST_NEXT(q, tqe_q); + LIST_REMOVE(q, tqe_q); + m_freem(q->tqe_m); +- uma_zfree(V_tcp_reass_zone, q); ++ uma_zfree(tcp_reass_zone, q); + tp->t_segqlen--; + q = nq; + } +@@ -353,7 +341,7 @@ present: + else + sbappendstream_locked(&so->so_rcv, q->tqe_m); + if (q != &tqs) +- uma_zfree(V_tcp_reass_zone, q); ++ uma_zfree(tcp_reass_zone, q); + tp->t_segqlen--; + q = nq; + } while (q && q->tqe_th->th_seq == tp->rcv_nxt); +Index: sys/netinet/tcp_subr.c +=================================================================== +--- sys/netinet/tcp_subr.c (revision 285923) ++++ sys/netinet/tcp_subr.c (working copy) +@@ -375,7 +375,6 @@ tcp_init(void) + tcp_tw_init(); + syncache_init(); + tcp_hc_init(); +- tcp_reass_init(); + + TUNABLE_INT_FETCH("net.inet.tcp.sack.enable", &V_tcp_do_sack); + V_sack_hole_zone = uma_zcreate("sackhole", sizeof(struct sackhole), +@@ -385,6 +384,8 @@ tcp_init(void) + if (!IS_DEFAULT_VNET(curvnet)) + return; + ++ tcp_reass_global_init(); ++ + /* XXX virtualize those bellow? */ + tcp_delacktime = TCPTV_DELACK; + tcp_keepinit = TCPTV_KEEP_INIT; +@@ -432,7 +433,6 @@ void + tcp_destroy(void) + { + +- tcp_reass_destroy(); + tcp_hc_destroy(); + syncache_destroy(); + tcp_tw_destroy(); +Index: sys/netinet/tcp_var.h +=================================================================== +--- sys/netinet/tcp_var.h (revision 285923) ++++ sys/netinet/tcp_var.h (working copy) +@@ -666,11 +666,8 @@ char *tcp_log_addrs(struct in_conninfo *, struct t + char *tcp_log_vain(struct in_conninfo *, struct tcphdr *, void *, + const void *); + int tcp_reass(struct tcpcb *, struct tcphdr *, int *, struct mbuf *); +-void tcp_reass_init(void); ++void tcp_reass_global_init(void); + void tcp_reass_flush(struct tcpcb *); +-#ifdef VIMAGE +-void tcp_reass_destroy(void); +-#endif + void tcp_input(struct mbuf *, int); + u_long tcp_maxmtu(struct in_conninfo *, struct tcp_ifcap *); + u_long tcp_maxmtu6(struct in_conninfo *, struct tcp_ifcap *); Added: user/cperciva/freebsd-update-build/patches/10.1-RELEASE/16-SA-15:15.bsdpatch ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.1-RELEASE/16-SA-15:15.bsdpatch Thu Jan 7 20:53:59 2016 (r293363) @@ -0,0 +1,188 @@ +Index: usr.bin/patch/common.h +=================================================================== +--- usr.bin/patch/common.h (revision 285926) ++++ usr.bin/patch/common.h (working copy) +@@ -43,12 +43,10 @@ + #define LINENUM_MAX LONG_MAX + + #define SCCSPREFIX "s." +-#define GET "get -e %s" +-#define SCCSDIFF "get -p %s | diff - %s >/dev/null" + + #define RCSSUFFIX ",v" +-#define CHECKOUT "co -l %s" +-#define RCSDIFF "rcsdiff %s > /dev/null" ++#define CHECKOUT "/usr/bin/co" ++#define RCSDIFF "/usr/bin/rcsdiff" + + #define ORIGEXT ".orig" + #define REJEXT ".rej" +Index: usr.bin/patch/inp.c +=================================================================== +--- usr.bin/patch/inp.c (revision 285926) ++++ usr.bin/patch/inp.c (working copy) +@@ -31,8 +31,10 @@ + #include + #include + #include ++#include + + #include ++#include + #include + #include + #include +@@ -133,12 +135,14 @@ reallocate_lines(size_t *lines_allocated) + static bool + plan_a(const char *filename) + { +- int ifd, statfailed; ++ int ifd, statfailed, devnull, pstat; + char *p, *s, lbuf[INITLINELEN]; + struct stat filestat; + ptrdiff_t sz; + size_t i; + size_t iline, lines_allocated; ++ pid_t pid; ++ char *argp[4] = {NULL}; + + #ifdef DEBUGGING + if (debug & 8) +@@ -166,13 +170,14 @@ plan_a(const char *filename) + } + if (statfailed && check_only) + fatal("%s not found, -C mode, can't probe further\n", filename); +- /* For nonexistent or read-only files, look for RCS or SCCS versions. */ ++ /* For nonexistent or read-only files, look for RCS versions. */ ++ + if (statfailed || + /* No one can write to it. */ + (filestat.st_mode & 0222) == 0 || + /* I can't write to it. */ + ((filestat.st_mode & 0022) == 0 && filestat.st_uid != getuid())) { +- const char *cs = NULL, *filebase, *filedir; ++ char *filebase, *filedir; + struct stat cstat; + char *tmp_filename1, *tmp_filename2; + +@@ -180,43 +185,26 @@ plan_a(const char *filename) + tmp_filename2 = strdup(filename); + if (tmp_filename1 == NULL || tmp_filename2 == NULL) + fatal("strdupping filename"); ++ + filebase = basename(tmp_filename1); + filedir = dirname(tmp_filename2); + +- /* Leave room in lbuf for the diff command. */ +- s = lbuf + 20; +- + #define try(f, a1, a2, a3) \ +- (snprintf(s, buf_size - 20, f, a1, a2, a3), stat(s, &cstat) == 0) ++ (snprintf(lbuf, sizeof(lbuf), f, a1, a2, a3), stat(lbuf, &cstat) == 0) + +- if (try("%s/RCS/%s%s", filedir, filebase, RCSSUFFIX) || +- try("%s/RCS/%s%s", filedir, filebase, "") || +- try("%s/%s%s", filedir, filebase, RCSSUFFIX)) { +- snprintf(buf, buf_size, CHECKOUT, filename); +- snprintf(lbuf, sizeof lbuf, RCSDIFF, filename); +- cs = "RCS"; +- } else if (try("%s/SCCS/%s%s", filedir, SCCSPREFIX, filebase) || +- try("%s/%s%s", filedir, SCCSPREFIX, filebase)) { +- snprintf(buf, buf_size, GET, s); +- snprintf(lbuf, sizeof lbuf, SCCSDIFF, s, filename); +- cs = "SCCS"; +- } else if (statfailed) +- fatal("can't find %s\n", filename); +- +- free(tmp_filename1); +- free(tmp_filename2); +- + /* + * else we can't write to it but it's not under a version + * control system, so just proceed. + */ +- if (cs) { ++ if (try("%s/RCS/%s%s", filedir, filebase, RCSSUFFIX) || ++ try("%s/RCS/%s%s", filedir, filebase, "") || ++ try("%s/%s%s", filedir, filebase, RCSSUFFIX)) { + if (!statfailed) { + if ((filestat.st_mode & 0222) != 0) + /* The owner can write to it. */ + fatal("file %s seems to be locked " +- "by somebody else under %s\n", +- filename, cs); ++ "by somebody else under RCS\n", ++ filename); + /* + * It might be checked out unlocked. See if + * it's safe to check out the default version +@@ -224,21 +212,59 @@ plan_a(const char *filename) + */ + if (verbose) + say("Comparing file %s to default " +- "%s version...\n", +- filename, cs); +- if (system(lbuf)) ++ "RCS version...\n", filename); ++ ++ switch (pid = fork()) { ++ case -1: ++ fatal("can't fork: %s\n", ++ strerror(errno)); ++ case 0: ++ devnull = open("/dev/null", O_RDONLY); ++ if (devnull == -1) { ++ fatal("can't open /dev/null: %s", ++ strerror(errno)); ++ } ++ (void)dup2(devnull, STDOUT_FILENO); ++ argp[0] = strdup(RCSDIFF); ++ argp[1] = strdup(filename); ++ execv(RCSDIFF, argp); ++ exit(127); ++ } ++ pid = waitpid(pid, &pstat, 0); ++ if (pid == -1 || WEXITSTATUS(pstat) != 0) { + fatal("can't check out file %s: " +- "differs from default %s version\n", +- filename, cs); ++ "differs from default RCS version\n", ++ filename); ++ } + } ++ + if (verbose) +- say("Checking out file %s from %s...\n", +- filename, cs); +- if (system(buf) || stat(filename, &filestat)) +- fatal("can't check out file %s from %s\n", +- filename, cs); ++ say("Checking out file %s from RCS...\n", ++ filename); ++ ++ switch (pid = fork()) { ++ case -1: ++ fatal("can't fork: %s\n", strerror(errno)); ++ case 0: ++ argp[0] = strdup(CHECKOUT); ++ argp[1] = strdup("-l"); ++ argp[2] = strdup(filename); ++ execv(CHECKOUT, argp); ++ exit(127); ++ } ++ pid = waitpid(pid, &pstat, 0); ++ if (pid == -1 || WEXITSTATUS(pstat) != 0 || ++ stat(filename, &filestat)) { ++ fatal("can't check out file %s from RCS\n", ++ filename); ++ } ++ } else if (statfailed) { ++ fatal("can't find %s\n", filename); + } ++ free(tmp_filename1); ++ free(tmp_filename2); + } ++ + filemode = filestat.st_mode; + if (!S_ISREG(filemode)) + fatal("%s is not a normal file--can't patch\n", filename); Added: user/cperciva/freebsd-update-build/patches/10.1-RELEASE/16-SA-15:16.openssh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.1-RELEASE/16-SA-15:16.openssh Thu Jan 7 20:53:59 2016 (r293363) @@ -0,0 +1,90 @@ +Index: crypto/openssh/auth2-chall.c +=================================================================== +--- crypto/openssh/auth2-chall.c (revision 285923) ++++ crypto/openssh/auth2-chall.c (working copy) +@@ -82,6 +82,7 @@ struct KbdintAuthctxt + void *ctxt; + KbdintDevice *device; + u_int nreq; ++ u_int devices_done; + }; + + #ifdef USE_PAM +@@ -168,11 +169,15 @@ kbdint_next_device(Authctxt *authctxt, KbdintAuthc + if (len == 0) + break; + for (i = 0; devices[i]; i++) { +- if (!auth2_method_allowed(authctxt, ++ if ((kbdintctxt->devices_done & (1 << i)) != 0 || ++ !auth2_method_allowed(authctxt, + "keyboard-interactive", devices[i]->name)) + continue; +- if (strncmp(kbdintctxt->devices, devices[i]->name, len) == 0) ++ if (strncmp(kbdintctxt->devices, devices[i]->name, ++ len) == 0) { + kbdintctxt->device = devices[i]; ++ kbdintctxt->devices_done |= 1 << i; ++ } + } + t = kbdintctxt->devices; + kbdintctxt->devices = t[len] ? xstrdup(t+len+1) : NULL; +Index: crypto/openssh/sshconnect.c +=================================================================== +--- crypto/openssh/sshconnect.c (revision 285923) ++++ crypto/openssh/sshconnect.c (working copy) +@@ -1247,29 +1247,39 @@ verify_host_key(char *host, struct sockaddr *hosta + { + int flags = 0; + char *fp; ++ Key *plain = NULL; + + fp = key_fingerprint(host_key, SSH_FP_MD5, SSH_FP_HEX); + debug("Server host key: %s %s", key_type(host_key), fp); + free(fp); + +- /* XXX certs are not yet supported for DNS */ +- if (!key_is_cert(host_key) && options.verify_host_key_dns && +- verify_host_key_dns(host, hostaddr, host_key, &flags) == 0) { +- if (flags & DNS_VERIFY_FOUND) { +- +- if (options.verify_host_key_dns == 1 && +- flags & DNS_VERIFY_MATCH && +- flags & DNS_VERIFY_SECURE) +- return 0; +- +- if (flags & DNS_VERIFY_MATCH) { +- matching_host_key_dns = 1; +- } else { +- warn_changed_key(host_key); +- error("Update the SSHFP RR in DNS with the new " +- "host key to get rid of this message."); ++ if (options.verify_host_key_dns) { ++ /* ++ * XXX certs are not yet supported for DNS, so downgrade ++ * them and try the plain key. ++ */ ++ plain = key_from_private(host_key); ++ if (key_is_cert(plain)) ++ key_drop_cert(plain); ++ if (verify_host_key_dns(host, hostaddr, plain, &flags) == 0) { ++ if (flags & DNS_VERIFY_FOUND) { ++ if (options.verify_host_key_dns == 1 && ++ flags & DNS_VERIFY_MATCH && ++ flags & DNS_VERIFY_SECURE) { ++ key_free(plain); ++ return 0; ++ } ++ if (flags & DNS_VERIFY_MATCH) { ++ matching_host_key_dns = 1; ++ } else { ++ warn_changed_key(plain); ++ error("Update the SSHFP RR in DNS " ++ "with the new host key to get rid " ++ "of this message."); ++ } + } + } ++ key_free(plain); + } + + return check_host_key(host, hostaddr, options.port, host_key, RDRW, Added: user/cperciva/freebsd-update-build/patches/10.1-RELEASE/17-SA-15:18.bsdpatch ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.1-RELEASE/17-SA-15:18.bsdpatch Thu Jan 7 20:53:59 2016 (r293363) @@ -0,0 +1,57 @@ +Index: usr.bin/patch/pathnames.h +=================================================================== +--- usr.bin/patch/pathnames.h (revision 286254) ++++ usr.bin/patch/pathnames.h (working copy) +@@ -9,4 +9,4 @@ + + #include + +-#define _PATH_ED "/bin/ed" ++#define _PATH_RED "/bin/red" +Index: usr.bin/patch/pch.c +=================================================================== +--- usr.bin/patch/pch.c (revision 286254) ++++ usr.bin/patch/pch.c (working copy) +@@ -1,4 +1,3 @@ +- + /*- + * Copyright 1986, Larry Wall + * +@@ -1409,6 +1408,7 @@ do_ed_script(void) + char *t; + off_t beginning_of_this_line; + FILE *pipefp = NULL; ++ int continuation; + + if (!skip_rest_of_patch) { + if (copy_file(filearg[0], TMPOUTNAME) < 0) { +@@ -1415,7 +1415,7 @@ do_ed_script(void) + unlink(TMPOUTNAME); + fatal("can't create temp file %s", TMPOUTNAME); + } +- snprintf(buf, buf_size, "%s%s%s", _PATH_ED, ++ snprintf(buf, buf_size, "%s%s%s", _PATH_RED, + verbose ? " " : " -s ", TMPOUTNAME); + pipefp = popen(buf, "w"); + } +@@ -1433,7 +1433,19 @@ do_ed_script(void) + (*t == 'a' || *t == 'c' || *t == 'd' || *t == 'i' || *t == 's')) { + if (pipefp != NULL) + fputs(buf, pipefp); +- if (*t != 'd') { ++ if (*t == 's') { ++ for (;;) { ++ continuation = 0; ++ t = strchr(buf, '\0') - 1; ++ while (--t >= buf && *t == '\\') ++ continuation = !continuation; ++ if (!continuation || ++ pgets(true) == 0) ++ break; ++ if (pipefp != NULL) ++ fputs(buf, pipefp); ++ } ++ } else if (*t != 'd') { + while (pgets(true)) { + p_input_line++; + if (pipefp != NULL) Added: user/cperciva/freebsd-update-build/patches/10.1-RELEASE/17-SA-15:19.routed ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.1-RELEASE/17-SA-15:19.routed Thu Jan 7 20:53:59 2016 (r293363) @@ -0,0 +1,17 @@ +Index: sbin/routed/input.c +=================================================================== +--- sbin/routed/input.c (revision 286262) ++++ sbin/routed/input.c (working copy) +@@ -160,6 +160,12 @@ input(struct sockaddr_in *from, /* received from + + trace_rip("Recv", "from", from, sifp, rip, cc); + ++ if (sifp == 0) { ++ trace_pkt(" discard a request from an indirect router" ++ " (possibly an attack)"); ++ return; ++ } ++ + if (rip->rip_vers == 0) { + msglim(&bad_router, FROM_NADDR, + "RIP version 0, cmd %d, packet received from %s", Added: user/cperciva/freebsd-update-build/patches/10.1-RELEASE/18-SA-15:20.expat ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.1-RELEASE/18-SA-15:20.expat Thu Jan 7 20:53:59 2016 (r293363) @@ -0,0 +1,49 @@ +Index: contrib/expat/lib/xmlparse.c +=================================================================== +--- contrib/expat/lib/xmlparse.c (revision 286868) ++++ contrib/expat/lib/xmlparse.c (working copy) +@@ -1678,6 +1678,12 @@ XML_ParseBuffer(XML_Parser parser, int len, int is + void * XMLCALL + XML_GetBuffer(XML_Parser parser, int len) + { ++/* BEGIN MOZILLA CHANGE (sanity check len) */ ++ if (len < 0) { ++ errorCode = XML_ERROR_NO_MEMORY; ++ return NULL; ++ } ++/* END MOZILLA CHANGE */ + switch (ps_parsing) { + case XML_SUSPENDED: + errorCode = XML_ERROR_SUSPENDED; +@@ -1689,8 +1695,13 @@ XML_GetBuffer(XML_Parser parser, int len) + } + + if (len > bufferLim - bufferEnd) { +- /* FIXME avoid integer overflow */ + int neededSize = len + (int)(bufferEnd - bufferPtr); ++/* BEGIN MOZILLA CHANGE (sanity check neededSize) */ ++ if (neededSize < 0) { ++ errorCode = XML_ERROR_NO_MEMORY; ++ return NULL; ++ } ++/* END MOZILLA CHANGE */ + #ifdef XML_CONTEXT_BYTES + int keep = (int)(bufferPtr - buffer); + +@@ -1719,7 +1730,15 @@ XML_GetBuffer(XML_Parser parser, int len) + bufferSize = INIT_BUFFER_SIZE; + do { + bufferSize *= 2; +- } while (bufferSize < neededSize); ++/* BEGIN MOZILLA CHANGE (prevent infinite loop on overflow) */ ++ } while (bufferSize < neededSize && bufferSize > 0); ++/* END MOZILLA CHANGE */ ++/* BEGIN MOZILLA CHANGE (sanity check bufferSize) */ ++ if (bufferSize <= 0) { ++ errorCode = XML_ERROR_NO_MEMORY; ++ return NULL; ++ } ++/* END MOZILLA CHANGE */ + newBuf = (char *)MALLOC(bufferSize); + if (newBuf == 0) { + errorCode = XML_ERROR_NO_MEMORY; Added: user/cperciva/freebsd-update-build/patches/10.1-RELEASE/19-EN-15:14.ixgbe ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.1-RELEASE/19-EN-15:14.ixgbe Thu Jan 7 20:53:59 2016 (r293363) @@ -0,0 +1,26 @@ +Index: sys/conf/files +=================================================================== +--- sys/conf/files (revision 286787) ++++ sys/conf/files (working copy) +@@ -1704,7 +1704,7 @@ dev/ixgb/if_ixgb.c optional ixgb + dev/ixgb/ixgb_ee.c optional ixgb + dev/ixgb/ixgb_hw.c optional ixgb + dev/ixgbe/ixgbe.c optional ixgbe inet \ +- compile-with "${NORMAL_C} -I$S/dev/ixgbe -DSMP -DIXGBE_FDIR" ++ compile-with "${NORMAL_C} -I$S/dev/ixgbe -DSMP" + dev/ixgbe/ixv.c optional ixgbe inet \ + compile-with "${NORMAL_C} -I$S/dev/ixgbe" + dev/ixgbe/ixgbe_phy.c optional ixgbe inet \ +Index: sys/modules/ixgbe/Makefile +=================================================================== +--- sys/modules/ixgbe/Makefile (revision 286787) ++++ sys/modules/ixgbe/Makefile (working copy) +@@ -12,7 +12,7 @@ SRCS += ixgbe.c ixv.c + SRCS += ixgbe_common.c ixgbe_api.c ixgbe_phy.c ixgbe_mbx.c ixgbe_vf.c + SRCS += ixgbe_dcb.c ixgbe_dcb_82598.c ixgbe_dcb_82599.c + SRCS += ixgbe_82599.c ixgbe_82598.c ixgbe_x540.c +-CFLAGS+= -I${.CURDIR}/../../dev/ixgbe -DSMP -DIXGBE_FDIR ++CFLAGS+= -I${.CURDIR}/../../dev/ixgbe -DSMP + + .if !defined(KERNBUILDDIR) + .if ${MK_INET_SUPPORT} != "no" Added: user/cperciva/freebsd-update-build/patches/10.1-RELEASE/19-EN-15:15.pkg ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.1-RELEASE/19-EN-15:15.pkg Thu Jan 7 20:53:59 2016 (r293363) @@ -0,0 +1,34 @@ +Index: usr.sbin/pkg/pkg.c +=================================================================== +--- usr.sbin/pkg/pkg.c (revision 286787) ++++ usr.sbin/pkg/pkg.c (working copy) +@@ -749,7 +749,13 @@ bootstrap_pkg(bool force) + goto fetchfail; + + if (signature_type != NULL && +- strcasecmp(signature_type, "FINGERPRINTS") == 0) { ++ strcasecmp(signature_type, "NONE") != 0) { ++ if (strcasecmp(signature_type, "FINGERPRINTS") != 0) { ++ warnx("Signature type %s is not supported for " ++ "bootstrapping.", signature_type); ++ goto cleanup; ++ } ++ + snprintf(tmpsig, MAXPATHLEN, "%s/pkg.txz.sig.XXXXXX", + getenv("TMPDIR") ? getenv("TMPDIR") : _PATH_TMP); + snprintf(url, MAXPATHLEN, "%s/Latest/pkg.txz.sig", +@@ -834,7 +840,13 @@ bootstrap_pkg_local(const char *pkgpath, bool forc + return (-1); + } + if (signature_type != NULL && +- strcasecmp(signature_type, "FINGERPRINTS") == 0) { ++ strcasecmp(signature_type, "NONE") != 0) { ++ if (strcasecmp(signature_type, "FINGERPRINTS") != 0) { ++ warnx("Signature type %s is not supported for " ++ "bootstrapping.", signature_type); ++ goto cleanup; ++ } ++ + snprintf(path, sizeof(path), "%s.sig", pkgpath); + + if ((fd_sig = open(path, O_RDONLY)) == -1) { Added: user/cperciva/freebsd-update-build/patches/10.1-RELEASE/19-SA-15:21.amd64 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.1-RELEASE/19-SA-15:21.amd64 Thu Jan 7 20:53:59 2016 (r293363) @@ -0,0 +1,53 @@ +Index: sys/amd64/amd64/exception.S +=================================================================== +--- sys/amd64/amd64/exception.S (revision 286969) ++++ sys/amd64/amd64/exception.S (working copy) +@@ -154,9 +154,13 @@ IDTVEC(xmm) + IDTVEC(tss) + TRAP_ERR(T_TSSFLT) + IDTVEC(missing) +- TRAP_ERR(T_SEGNPFLT) ++ subq $TF_ERR,%rsp ++ movl $T_SEGNPFLT,TF_TRAPNO(%rsp) ++ jmp prot_addrf + IDTVEC(stk) +- TRAP_ERR(T_STKFLT) ++ subq $TF_ERR,%rsp ++ movl $T_STKFLT,TF_TRAPNO(%rsp) ++ jmp prot_addrf + IDTVEC(align) + TRAP_ERR(T_ALIGNFLT) + +@@ -319,6 +323,7 @@ IDTVEC(page) + IDTVEC(prot) + subq $TF_ERR,%rsp + movl $T_PROTFLT,TF_TRAPNO(%rsp) ++prot_addrf: + movq $0,TF_ADDR(%rsp) + movq %rdi,TF_RDI(%rsp) /* free up a GP register */ + leaq doreti_iret(%rip),%rdi +Index: sys/amd64/amd64/machdep.c +=================================================================== +--- sys/amd64/amd64/machdep.c (revision 286969) ++++ sys/amd64/amd64/machdep.c (working copy) +@@ -428,6 +428,7 @@ sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t * + regs->tf_rflags &= ~(PSL_T | PSL_D); + regs->tf_cs = _ucodesel; + regs->tf_ds = _udatasel; ++ regs->tf_ss = _udatasel; + regs->tf_es = _udatasel; + regs->tf_fs = _ufssel; + regs->tf_gs = _ugssel; +Index: sys/amd64/amd64/trap.c +=================================================================== +--- sys/amd64/amd64/trap.c (revision 286969) ++++ sys/amd64/amd64/trap.c (working copy) +@@ -473,8 +473,6 @@ trap(struct trapframe *frame) + goto out; + + case T_STKFLT: /* stack fault */ +- break; +- + case T_PROTFLT: /* general protection fault */ + case T_SEGNPFLT: /* segment not present fault */ + if (td->td_intr_nesting_level != 0) Added: user/cperciva/freebsd-update-build/patches/10.1-RELEASE/19-SA-15:22.openssh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.1-RELEASE/19-SA-15:22.openssh Thu Jan 7 20:53:59 2016 (r293363) @@ -0,0 +1,68 @@ +Index: crypto/openssh/monitor.c +=================================================================== +--- crypto/openssh/monitor.c (revision 286787) ++++ crypto/openssh/monitor.c (working copy) +@@ -1027,9 +1027,7 @@ extern KbdintDevice sshpam_device; + int + mm_answer_pam_init_ctx(int sock, Buffer *m) + { +- + debug3("%s", __func__); +- authctxt->user = buffer_get_string(m, NULL); + sshpam_ctxt = (sshpam_device.init_ctx)(authctxt); + sshpam_authok = NULL; + buffer_clear(m); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@freebsd.org Thu Jan 7 20:55:22 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2C049A66E5A for ; Thu, 7 Jan 2016 20:55:22 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E35571F95; Thu, 7 Jan 2016 20:55:21 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u07KtLZ9041552; Thu, 7 Jan 2016 20:55:21 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u07KtKjS041543; Thu, 7 Jan 2016 20:55:20 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201601072055.u07KtKjS041543@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Thu, 7 Jan 2016 20:55:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293364 - user/cperciva/freebsd-update-build/patches/10.2-RELEASE X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Jan 2016 20:55:22 -0000 Author: glebius Date: Thu Jan 7 20:55:20 2016 New Revision: 293364 URL: https://svnweb.freebsd.org/changeset/base/293364 Log: Drop into repo patches for 10.2-RELEASE. Added: user/cperciva/freebsd-update-build/patches/10.2-RELEASE/ user/cperciva/freebsd-update-build/patches/10.2-RELEASE/1-EN-15:11.toolchain user/cperciva/freebsd-update-build/patches/10.2-RELEASE/1-EN-15:12.netstat user/cperciva/freebsd-update-build/patches/10.2-RELEASE/1-EN-15:13.vidcontrol user/cperciva/freebsd-update-build/patches/10.2-RELEASE/1-SA-15:20.expat user/cperciva/freebsd-update-build/patches/10.2-RELEASE/2-EN-15:15.pkg user/cperciva/freebsd-update-build/patches/10.2-RELEASE/2-SA-15:22.openssh user/cperciva/freebsd-update-build/patches/10.2-RELEASE/3-EN-15:16.pw user/cperciva/freebsd-update-build/patches/10.2-RELEASE/3-EN-15:17.libc user/cperciva/freebsd-update-build/patches/10.2-RELEASE/3-EN-15:18.pkg user/cperciva/freebsd-update-build/patches/10.2-RELEASE/4-SA-15:24.rpcbind user/cperciva/freebsd-update-build/patches/10.2-RELEASE/5-SA-15:24.rpcbind user/cperciva/freebsd-update-build/patches/10.2-RELEASE/6-SA-15:25.ntp user/cperciva/freebsd-update-build/patches/10.2-RELEASE/7-EN-15:19.ntp user/cperciva/freebsd-update-build/patches/10.2-RELEASE/7-EN-15:20.vm user/cperciva/freebsd-update-build/patches/10.2-RELEASE/7-EN-15:21.kqueue user/cperciva/freebsd-update-build/patches/10.2-RELEASE/8-SA-15:26.openssl user/cperciva/freebsd-update-build/patches/10.2-RELEASE/9-EN-15:21.filemon Added: user/cperciva/freebsd-update-build/patches/10.2-RELEASE/1-EN-15:11.toolchain ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.2-RELEASE/1-EN-15:11.toolchain Thu Jan 7 20:55:20 2016 (r293364) @@ -0,0 +1,15 @@ +Index: Makefile.inc1 +=================================================================== +--- Makefile.inc1 (revision 286847) ++++ Makefile.inc1 (working copy) +@@ -133,8 +133,8 @@ OSRELDATE= 0 + .endif + + .if !defined(VERSION) +-REVISION!= make -C ${SRCDIR}/release -V REVISION +-BRANCH!= make -C ${SRCDIR}/release -V BRANCH ++REVISION!= ${MAKE} -C ${SRCDIR}/release -V REVISION ++BRANCH!= ${MAKE} -C ${SRCDIR}/release -V BRANCH + SRCRELDATE!= awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \ + ${SRCDIR}/sys/sys/param.h + VERSION= FreeBSD ${REVISION}-${BRANCH:C/-p[0-9]+$//} ${TARGET_ARCH} ${SRCRELDATE} Added: user/cperciva/freebsd-update-build/patches/10.2-RELEASE/1-EN-15:12.netstat ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.2-RELEASE/1-EN-15:12.netstat Thu Jan 7 20:55:20 2016 (r293364) @@ -0,0 +1,42 @@ +Index: usr.bin/netstat/main.c +=================================================================== +--- usr.bin/netstat/main.c (revision 286847) ++++ usr.bin/netstat/main.c (working copy) +@@ -785,19 +785,31 @@ kread_counter(u_long addr) + int + kread_counters(u_long addr, void *buf, size_t size) + { +- uint64_t *c = buf; ++ uint64_t *c; ++ u_long *counters; ++ size_t i, n; + + if (kvmd_init() < 0) + return (-1); + +- if (kread(addr, buf, size) < 0) ++ if (size % sizeof(uint64_t) != 0) { ++ warnx("kread_counters: invalid counter set size"); + return (-1); ++ } + +- while (size != 0) { +- *c = kvm_counter_u64_fetch(kvmd, *c); +- size -= sizeof(*c); +- c++; ++ n = size / sizeof(uint64_t); ++ if ((counters = malloc(n * sizeof(u_long))) == NULL) ++ err(-1, "malloc"); ++ if (kread(addr, counters, n * sizeof(u_long)) < 0) { ++ free(counters); ++ return (-1); + } ++ ++ c = buf; ++ for (i = 0; i < n; i++) ++ c[i] = kvm_counter_u64_fetch(kvmd, counters[i]); ++ ++ free(counters); + return (0); + } + Added: user/cperciva/freebsd-update-build/patches/10.2-RELEASE/1-EN-15:13.vidcontrol ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.2-RELEASE/1-EN-15:13.vidcontrol Thu Jan 7 20:55:20 2016 (r293364) @@ -0,0 +1,13 @@ +Index: usr.sbin/vidcontrol/vidcontrol.c +=================================================================== +--- usr.sbin/vidcontrol/vidcontrol.c (revision 286847) ++++ usr.sbin/vidcontrol/vidcontrol.c (working copy) +@@ -1343,7 +1343,7 @@ main(int argc, char **argv) + if (vt4_mode) + opts = "b:Cc:fg:h:Hi:M:m:pPr:S:s:T:t:x"; + else +- opts = "b:Cc:df:g:h:Hi:l:LM:m:pPr:S:s:T:t:x"; ++ opts = "b:Cc:dfg:h:Hi:l:LM:m:pPr:S:s:T:t:x"; + + while ((opt = getopt(argc, argv, opts)) != -1) + switch(opt) { Added: user/cperciva/freebsd-update-build/patches/10.2-RELEASE/1-SA-15:20.expat ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.2-RELEASE/1-SA-15:20.expat Thu Jan 7 20:55:20 2016 (r293364) @@ -0,0 +1,49 @@ +Index: contrib/expat/lib/xmlparse.c +=================================================================== +--- contrib/expat/lib/xmlparse.c (revision 286868) ++++ contrib/expat/lib/xmlparse.c (working copy) +@@ -1678,6 +1678,12 @@ XML_ParseBuffer(XML_Parser parser, int len, int is + void * XMLCALL + XML_GetBuffer(XML_Parser parser, int len) + { ++/* BEGIN MOZILLA CHANGE (sanity check len) */ ++ if (len < 0) { ++ errorCode = XML_ERROR_NO_MEMORY; ++ return NULL; ++ } ++/* END MOZILLA CHANGE */ + switch (ps_parsing) { + case XML_SUSPENDED: + errorCode = XML_ERROR_SUSPENDED; +@@ -1689,8 +1695,13 @@ XML_GetBuffer(XML_Parser parser, int len) + } + + if (len > bufferLim - bufferEnd) { +- /* FIXME avoid integer overflow */ + int neededSize = len + (int)(bufferEnd - bufferPtr); ++/* BEGIN MOZILLA CHANGE (sanity check neededSize) */ ++ if (neededSize < 0) { ++ errorCode = XML_ERROR_NO_MEMORY; ++ return NULL; ++ } ++/* END MOZILLA CHANGE */ + #ifdef XML_CONTEXT_BYTES + int keep = (int)(bufferPtr - buffer); + +@@ -1719,7 +1730,15 @@ XML_GetBuffer(XML_Parser parser, int len) + bufferSize = INIT_BUFFER_SIZE; + do { + bufferSize *= 2; +- } while (bufferSize < neededSize); ++/* BEGIN MOZILLA CHANGE (prevent infinite loop on overflow) */ ++ } while (bufferSize < neededSize && bufferSize > 0); ++/* END MOZILLA CHANGE */ ++/* BEGIN MOZILLA CHANGE (sanity check bufferSize) */ ++ if (bufferSize <= 0) { ++ errorCode = XML_ERROR_NO_MEMORY; ++ return NULL; ++ } ++/* END MOZILLA CHANGE */ + newBuf = (char *)MALLOC(bufferSize); + if (newBuf == 0) { + errorCode = XML_ERROR_NO_MEMORY; Added: user/cperciva/freebsd-update-build/patches/10.2-RELEASE/2-EN-15:15.pkg ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.2-RELEASE/2-EN-15:15.pkg Thu Jan 7 20:55:20 2016 (r293364) @@ -0,0 +1,34 @@ +Index: usr.sbin/pkg/pkg.c +=================================================================== +--- usr.sbin/pkg/pkg.c (revision 286787) ++++ usr.sbin/pkg/pkg.c (working copy) +@@ -749,7 +749,13 @@ bootstrap_pkg(bool force) + goto fetchfail; + + if (signature_type != NULL && +- strcasecmp(signature_type, "FINGERPRINTS") == 0) { ++ strcasecmp(signature_type, "NONE") != 0) { ++ if (strcasecmp(signature_type, "FINGERPRINTS") != 0) { ++ warnx("Signature type %s is not supported for " ++ "bootstrapping.", signature_type); ++ goto cleanup; ++ } ++ + snprintf(tmpsig, MAXPATHLEN, "%s/pkg.txz.sig.XXXXXX", + getenv("TMPDIR") ? getenv("TMPDIR") : _PATH_TMP); + snprintf(url, MAXPATHLEN, "%s/Latest/pkg.txz.sig", +@@ -834,7 +840,13 @@ bootstrap_pkg_local(const char *pkgpath, bool forc + return (-1); + } + if (signature_type != NULL && +- strcasecmp(signature_type, "FINGERPRINTS") == 0) { ++ strcasecmp(signature_type, "NONE") != 0) { ++ if (strcasecmp(signature_type, "FINGERPRINTS") != 0) { ++ warnx("Signature type %s is not supported for " ++ "bootstrapping.", signature_type); ++ goto cleanup; ++ } ++ + snprintf(path, sizeof(path), "%s.sig", pkgpath); + + if ((fd_sig = open(path, O_RDONLY)) == -1) { Added: user/cperciva/freebsd-update-build/patches/10.2-RELEASE/2-SA-15:22.openssh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.2-RELEASE/2-SA-15:22.openssh Thu Jan 7 20:55:20 2016 (r293364) @@ -0,0 +1,68 @@ +Index: crypto/openssh/monitor.c +=================================================================== +--- crypto/openssh/monitor.c (revision 286787) ++++ crypto/openssh/monitor.c (working copy) +@@ -1027,9 +1027,7 @@ extern KbdintDevice sshpam_device; + int + mm_answer_pam_init_ctx(int sock, Buffer *m) + { +- + debug3("%s", __func__); +- authctxt->user = buffer_get_string(m, NULL); + sshpam_ctxt = (sshpam_device.init_ctx)(authctxt); + sshpam_authok = NULL; + buffer_clear(m); +@@ -1111,14 +1109,16 @@ mm_answer_pam_respond(int sock, Buffer *m) + int + mm_answer_pam_free_ctx(int sock, Buffer *m) + { ++ int r = sshpam_authok != NULL && sshpam_authok == sshpam_ctxt; + + debug3("%s", __func__); + (sshpam_device.free_ctx)(sshpam_ctxt); ++ sshpam_ctxt = sshpam_authok = NULL; + buffer_clear(m); + mm_request_send(sock, MONITOR_ANS_PAM_FREE_CTX, m); + auth_method = "keyboard-interactive"; + auth_submethod = "pam"; +- return (sshpam_authok == sshpam_ctxt); ++ return r; + } + #endif + +Index: crypto/openssh/monitor_wrap.c +=================================================================== +--- crypto/openssh/monitor_wrap.c (revision 286787) ++++ crypto/openssh/monitor_wrap.c (working copy) +@@ -820,7 +820,6 @@ mm_sshpam_init_ctx(Authctxt *authctxt) + + debug3("%s", __func__); + buffer_init(&m); +- buffer_put_cstring(&m, authctxt->user); + mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_PAM_INIT_CTX, &m); + debug3("%s: waiting for MONITOR_ANS_PAM_INIT_CTX", __func__); + mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_PAM_INIT_CTX, &m); +Index: crypto/openssh/mux.c +=================================================================== +--- crypto/openssh/mux.c (revision 286787) ++++ crypto/openssh/mux.c (working copy) +@@ -635,7 +635,8 @@ process_mux_open_fwd(u_int rid, Channel *c, Buffer + u_int lport, cport; + int i, ret = 0, freefwd = 1; + +- fwd.listen_host = fwd.connect_host = NULL; ++ memset(&fwd, 0, sizeof(fwd)); ++ + if (buffer_get_int_ret(&ftype, m) != 0 || + (fwd.listen_host = buffer_get_string_ret(m, NULL)) == NULL || + buffer_get_int_ret(&lport, m) != 0 || +@@ -785,7 +786,8 @@ process_mux_close_fwd(u_int rid, Channel *c, Buffe + int i, listen_port, ret = 0; + u_int lport, cport; + +- fwd.listen_host = fwd.connect_host = NULL; ++ memset(&fwd, 0, sizeof(fwd)); ++ + if (buffer_get_int_ret(&ftype, m) != 0 || + (fwd.listen_host = buffer_get_string_ret(m, NULL)) == NULL || + buffer_get_int_ret(&lport, m) != 0 || Added: user/cperciva/freebsd-update-build/patches/10.2-RELEASE/3-EN-15:16.pw ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.2-RELEASE/3-EN-15:16.pw Thu Jan 7 20:55:20 2016 (r293364) @@ -0,0 +1,20 @@ +Index: usr.sbin/pw/pw.c +=================================================================== +--- usr.sbin/pw/pw.c (revision 287410) ++++ usr.sbin/pw/pw.c (working copy) +@@ -272,14 +272,7 @@ + errstr); + break; + case 'n': +- if (strspn(optarg, "0123456789") != strlen(optarg)) { +- name = optarg; +- break; +- } +- id = strtonum(optarg, 0, LONG_MAX, &errstr); +- if (errstr != NULL) +- errx(EX_USAGE, "Bad id '%s': %s", optarg, +- errstr); ++ name = optarg; + break; + case 'o': + conf.checkduplicate = false; Added: user/cperciva/freebsd-update-build/patches/10.2-RELEASE/3-EN-15:17.libc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.2-RELEASE/3-EN-15:17.libc Thu Jan 7 20:55:20 2016 (r293364) @@ -0,0 +1,771 @@ +Index: lib/libc/amd64/gen/setjmp.S +=================================================================== +--- lib/libc/amd64/gen/setjmp.S (revision 287549) ++++ lib/libc/amd64/gen/setjmp.S (working copy) +@@ -55,7 +55,7 @@ ENTRY(setjmp) + movq $0,%rsi /* (sigset_t*)set */ + leaq 72(%rcx),%rdx /* 9,10; (sigset_t*)oset */ + /* stack is 16-byte aligned */ +- call PIC_PLT(CNAME(_sigprocmask)) ++ call __libc_sigprocmask + popq %rdi + movq %rdi,%rcx + movq 0(%rsp),%rdx /* retval */ +@@ -83,7 +83,7 @@ ENTRY(__longjmp) + leaq 72(%rdx),%rsi /* (sigset_t*)set */ + movq $0,%rdx /* (sigset_t*)oset */ + subq $0x8,%rsp /* make the stack 16-byte aligned */ +- call PIC_PLT(CNAME(_sigprocmask)) ++ call __libc_sigprocmask + addq $0x8,%rsp + popq %rsi + popq %rdi /* jmpbuf */ +Index: lib/libc/amd64/gen/sigsetjmp.S +=================================================================== +--- lib/libc/amd64/gen/sigsetjmp.S (revision 287549) ++++ lib/libc/amd64/gen/sigsetjmp.S (working copy) +@@ -63,7 +63,7 @@ ENTRY(sigsetjmp) + movq $0,%rsi /* (sigset_t*)set */ + leaq 72(%rcx),%rdx /* 9,10 (sigset_t*)oset */ + /* stack is 16-byte aligned */ +- call PIC_PLT(CNAME(_sigprocmask)) ++ call __libc_sigprocmask + popq %rdi + 2: movq %rdi,%rcx + movq 0(%rsp),%rdx /* retval */ +@@ -92,7 +92,7 @@ ENTRY(__siglongjmp) + leaq 72(%rdx),%rsi /* (sigset_t*)set */ + movq $0,%rdx /* (sigset_t*)oset */ + subq $0x8,%rsp /* make the stack 16-byte aligned */ +- call PIC_PLT(CNAME(_sigprocmask)) ++ call __libc_sigprocmask + addq $0x8,%rsp + popq %rsi + popq %rdi /* jmpbuf */ +Index: lib/libc/compat-43/sigcompat.c +=================================================================== +--- lib/libc/compat-43/sigcompat.c (revision 287549) ++++ lib/libc/compat-43/sigcompat.c (working copy) +@@ -59,7 +59,7 @@ sigvec(signo, sv, osv) + } else + sap = NULL; + osap = osv != NULL ? &osa : NULL; +- ret = _sigaction(signo, sap, osap); ++ ret = __libc_sigaction(signo, sap, osap); + if (ret == 0 && osv != NULL) { + osv->sv_handler = osa.sa_handler; + osv->sv_flags = osa.sa_flags ^ SV_INTERRUPT; +@@ -77,7 +77,7 @@ sigsetmask(mask) + + sigemptyset(&set); + set.__bits[0] = mask; +- n = _sigprocmask(SIG_SETMASK, &set, &oset); ++ n = __libc_sigprocmask(SIG_SETMASK, &set, &oset); + if (n) + return (n); + return (oset.__bits[0]); +@@ -92,7 +92,7 @@ sigblock(mask) + + sigemptyset(&set); + set.__bits[0] = mask; +- n = _sigprocmask(SIG_BLOCK, &set, &oset); ++ n = __libc_sigprocmask(SIG_BLOCK, &set, &oset); + if (n) + return (n); + return (oset.__bits[0]); +@@ -105,7 +105,7 @@ sigpause(int mask) + + sigemptyset(&set); + set.__bits[0] = mask; +- return (_sigsuspend(&set)); ++ return (__libc_sigsuspend(&set)); + } + + int +@@ -113,11 +113,11 @@ xsi_sigpause(int sig) + { + sigset_t set; + +- if (_sigprocmask(SIG_BLOCK, NULL, &set) == -1) ++ if (__libc_sigprocmask(SIG_BLOCK, NULL, &set) == -1) + return (-1); + if (sigdelset(&set, sig) == -1) + return (-1); +- return (_sigsuspend(&set)); ++ return (__libc_sigsuspend(&set)); + } + + int +@@ -128,7 +128,7 @@ sighold(int sig) + sigemptyset(&set); + if (sigaddset(&set, sig) == -1) + return (-1); +- return (_sigprocmask(SIG_BLOCK, &set, NULL)); ++ return (__libc_sigprocmask(SIG_BLOCK, &set, NULL)); + } + + int +@@ -138,7 +138,7 @@ sigignore(int sig) + + bzero(&sa, sizeof(sa)); + sa.sa_handler = SIG_IGN; +- return (_sigaction(sig, &sa, NULL)); ++ return (__libc_sigaction(sig, &sa, NULL)); + } + + int +@@ -149,7 +149,7 @@ sigrelse(int sig) + sigemptyset(&set); + if (sigaddset(&set, sig) == -1) + return (-1); +- return (_sigprocmask(SIG_UNBLOCK, &set, NULL)); ++ return (__libc_sigprocmask(SIG_UNBLOCK, &set, NULL)); + } + + void +@@ -161,26 +161,26 @@ void + sigemptyset(&set); + if (sigaddset(&set, sig) == -1) + return (SIG_ERR); +- if (_sigprocmask(SIG_BLOCK, NULL, &pset) == -1) ++ if (__libc_sigprocmask(SIG_BLOCK, NULL, &pset) == -1) + return (SIG_ERR); + if ((__sighandler_t *)disp == SIG_HOLD) { +- if (_sigprocmask(SIG_BLOCK, &set, &pset) == -1) ++ if (__libc_sigprocmask(SIG_BLOCK, &set, &pset) == -1) + return (SIG_ERR); + if (sigismember(&pset, sig)) + return (SIG_HOLD); + else { +- if (_sigaction(sig, NULL, &psa) == -1) ++ if (__libc_sigaction(sig, NULL, &psa) == -1) + return (SIG_ERR); + return (psa.sa_handler); + } + } else { +- if (_sigprocmask(SIG_UNBLOCK, &set, &pset) == -1) ++ if (__libc_sigprocmask(SIG_UNBLOCK, &set, &pset) == -1) + return (SIG_ERR); + } + + bzero(&sa, sizeof(sa)); + sa.sa_handler = disp; +- if (_sigaction(sig, &sa, &psa) == -1) ++ if (__libc_sigaction(sig, &sa, &psa) == -1) + return (SIG_ERR); + if (sigismember(&pset, sig)) + return (SIG_HOLD); +Index: lib/libc/db/btree/bt_open.c +=================================================================== +--- lib/libc/db/btree/bt_open.c (revision 287549) ++++ lib/libc/db/btree/bt_open.c (working copy) +@@ -57,6 +57,7 @@ __FBSDID("$FreeBSD$"); + #include + #include + #include "un-namespace.h" ++#include "libc_private.h" + + #include + #include "btree.h" +@@ -401,10 +402,10 @@ tmp(void) + } + + (void)sigfillset(&set); +- (void)_sigprocmask(SIG_BLOCK, &set, &oset); ++ (void)__libc_sigprocmask(SIG_BLOCK, &set, &oset); + if ((fd = mkostemp(path, O_CLOEXEC)) != -1) + (void)unlink(path); +- (void)_sigprocmask(SIG_SETMASK, &oset, NULL); ++ (void)__libc_sigprocmask(SIG_SETMASK, &oset, NULL); + return(fd); + } + +Index: lib/libc/db/hash/hash_page.c +=================================================================== +--- lib/libc/db/hash/hash_page.c (revision 287549) ++++ lib/libc/db/hash/hash_page.c (working copy) +@@ -66,6 +66,7 @@ __FBSDID("$FreeBSD$"); + #include + #endif + #include "un-namespace.h" ++#include "libc_private.h" + + #include + #include "hash.h" +@@ -861,10 +862,10 @@ open_temp(HTAB *hashp) + + /* Block signals; make sure file goes away at process exit. */ + (void)sigfillset(&set); +- (void)_sigprocmask(SIG_BLOCK, &set, &oset); ++ (void)__libc_sigprocmask(SIG_BLOCK, &set, &oset); + if ((hashp->fp = mkostemp(path, O_CLOEXEC)) != -1) + (void)unlink(path); +- (void)_sigprocmask(SIG_SETMASK, &oset, (sigset_t *)NULL); ++ (void)__libc_sigprocmask(SIG_SETMASK, &oset, (sigset_t *)NULL); + return (hashp->fp != -1 ? 0 : -1); + } + +Index: lib/libc/gen/daemon.c +=================================================================== +--- lib/libc/gen/daemon.c (revision 287549) ++++ lib/libc/gen/daemon.c (working copy) +@@ -41,10 +41,10 @@ __FBSDID("$FreeBSD$"); + #include + #include + #include "un-namespace.h" ++#include "libc_private.h" + + int +-daemon(nochdir, noclose) +- int nochdir, noclose; ++daemon(int nochdir, int noclose) + { + struct sigaction osa, sa; + int fd; +@@ -56,7 +56,7 @@ int + sigemptyset(&sa.sa_mask); + sa.sa_handler = SIG_IGN; + sa.sa_flags = 0; +- osa_ok = _sigaction(SIGHUP, &sa, &osa); ++ osa_ok = __libc_sigaction(SIGHUP, &sa, &osa); + + switch (fork()) { + case -1: +@@ -74,7 +74,7 @@ int + newgrp = setsid(); + oerrno = errno; + if (osa_ok != -1) +- _sigaction(SIGHUP, &osa, NULL); ++ __libc_sigaction(SIGHUP, &osa, NULL); + + if (newgrp == -1) { + errno = oerrno; +Index: lib/libc/gen/posix_spawn.c +=================================================================== +--- lib/libc/gen/posix_spawn.c (revision 287549) ++++ lib/libc/gen/posix_spawn.c (working copy) +@@ -118,15 +118,18 @@ process_spawnattr(const posix_spawnattr_t sa) + return (errno); + } + +- /* Set signal masks/defaults */ ++ /* ++ * Set signal masks/defaults. ++ * Use unwrapped syscall, libthr is in undefined state after vfork(). ++ */ + if (sa->sa_flags & POSIX_SPAWN_SETSIGMASK) { +- _sigprocmask(SIG_SETMASK, &sa->sa_sigmask, NULL); ++ __sys_sigprocmask(SIG_SETMASK, &sa->sa_sigmask, NULL); + } + + if (sa->sa_flags & POSIX_SPAWN_SETSIGDEF) { + for (i = 1; i <= _SIG_MAXSIG; i++) { + if (sigismember(&sa->sa_sigdefault, i)) +- if (_sigaction(i, &sigact, NULL) != 0) ++ if (__sys_sigaction(i, &sigact, NULL) != 0) + return (errno); + } + } +Index: lib/libc/gen/readpassphrase.c +=================================================================== +--- lib/libc/gen/readpassphrase.c (revision 287549) ++++ lib/libc/gen/readpassphrase.c (working copy) +@@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$"); + #include + #include + #include "un-namespace.h" ++#include "libc_private.h" + + static volatile sig_atomic_t signo[NSIG]; + +@@ -104,15 +105,15 @@ restart: + sigemptyset(&sa.sa_mask); + sa.sa_flags = 0; /* don't restart system calls */ + sa.sa_handler = handler; +- (void)_sigaction(SIGALRM, &sa, &savealrm); +- (void)_sigaction(SIGHUP, &sa, &savehup); +- (void)_sigaction(SIGINT, &sa, &saveint); +- (void)_sigaction(SIGPIPE, &sa, &savepipe); +- (void)_sigaction(SIGQUIT, &sa, &savequit); +- (void)_sigaction(SIGTERM, &sa, &saveterm); +- (void)_sigaction(SIGTSTP, &sa, &savetstp); +- (void)_sigaction(SIGTTIN, &sa, &savettin); +- (void)_sigaction(SIGTTOU, &sa, &savettou); ++ (void)__libc_sigaction(SIGALRM, &sa, &savealrm); ++ (void)__libc_sigaction(SIGHUP, &sa, &savehup); ++ (void)__libc_sigaction(SIGINT, &sa, &saveint); ++ (void)__libc_sigaction(SIGPIPE, &sa, &savepipe); ++ (void)__libc_sigaction(SIGQUIT, &sa, &savequit); ++ (void)__libc_sigaction(SIGTERM, &sa, &saveterm); ++ (void)__libc_sigaction(SIGTSTP, &sa, &savetstp); ++ (void)__libc_sigaction(SIGTTIN, &sa, &savettin); ++ (void)__libc_sigaction(SIGTTOU, &sa, &savettou); + + if (!(flags & RPP_STDIN)) + (void)_write(output, prompt, strlen(prompt)); +@@ -142,15 +143,15 @@ restart: + errno == EINTR && !signo[SIGTTOU]) + continue; + } +- (void)_sigaction(SIGALRM, &savealrm, NULL); +- (void)_sigaction(SIGHUP, &savehup, NULL); +- (void)_sigaction(SIGINT, &saveint, NULL); +- (void)_sigaction(SIGQUIT, &savequit, NULL); +- (void)_sigaction(SIGPIPE, &savepipe, NULL); +- (void)_sigaction(SIGTERM, &saveterm, NULL); +- (void)_sigaction(SIGTSTP, &savetstp, NULL); +- (void)_sigaction(SIGTTIN, &savettin, NULL); +- (void)_sigaction(SIGTTOU, &savettou, NULL); ++ (void)__libc_sigaction(SIGALRM, &savealrm, NULL); ++ (void)__libc_sigaction(SIGHUP, &savehup, NULL); ++ (void)__libc_sigaction(SIGINT, &saveint, NULL); ++ (void)__libc_sigaction(SIGQUIT, &savequit, NULL); ++ (void)__libc_sigaction(SIGPIPE, &savepipe, NULL); ++ (void)__libc_sigaction(SIGTERM, &saveterm, NULL); ++ (void)__libc_sigaction(SIGTSTP, &savetstp, NULL); ++ (void)__libc_sigaction(SIGTTIN, &savettin, NULL); ++ (void)__libc_sigaction(SIGTTOU, &savettou, NULL); + if (input != STDIN_FILENO) + (void)_close(input); + +Index: lib/libc/gen/setmode.c +=================================================================== +--- lib/libc/gen/setmode.c (revision 287549) ++++ lib/libc/gen/setmode.c (working copy) +@@ -52,6 +52,7 @@ __FBSDID("$FreeBSD$"); + #include + #endif + #include "un-namespace.h" ++#include "libc_private.h" + + #define SET_LEN 6 /* initial # of bitcmd struct to malloc */ + #define SET_LEN_INCR 4 /* # of bitcmd structs to add as needed */ +@@ -187,10 +188,10 @@ setmode(const char *p) + * as best we can. + */ + sigfillset(&sigset); +- (void)_sigprocmask(SIG_BLOCK, &sigset, &sigoset); ++ (void)__libc_sigprocmask(SIG_BLOCK, &sigset, &sigoset); + (void)umask(mask = umask(0)); + mask = ~mask; +- (void)_sigprocmask(SIG_SETMASK, &sigoset, NULL); ++ (void)__libc_sigprocmask(SIG_SETMASK, &sigoset, NULL); + + setlen = SET_LEN + 2; + +Index: lib/libc/gen/siginterrupt.c +=================================================================== +--- lib/libc/gen/siginterrupt.c (revision 287549) ++++ lib/libc/gen/siginterrupt.c (working copy) +@@ -43,14 +43,13 @@ __FBSDID("$FreeBSD$"); + * after an instance of the indicated signal. + */ + int +-siginterrupt(sig, flag) +- int sig, flag; ++siginterrupt(int sig, int flag) + { + extern sigset_t _sigintr __hidden; + struct sigaction sa; + int ret; + +- if ((ret = _sigaction(sig, (struct sigaction *)0, &sa)) < 0) ++ if ((ret = __libc_sigaction(sig, (struct sigaction *)0, &sa)) < 0) + return (ret); + if (flag) { + sigaddset(&_sigintr, sig); +@@ -59,5 +58,5 @@ int + sigdelset(&_sigintr, sig); + sa.sa_flags |= SA_RESTART; + } +- return (_sigaction(sig, &sa, (struct sigaction *)0)); ++ return (__libc_sigaction(sig, &sa, (struct sigaction *)0)); + } +Index: lib/libc/gen/signal.c +=================================================================== +--- lib/libc/gen/signal.c (revision 287549) ++++ lib/libc/gen/signal.c (working copy) +@@ -44,9 +44,7 @@ __FBSDID("$FreeBSD$"); + sigset_t _sigintr __hidden; /* shared with siginterrupt */ + + sig_t +-signal(s, a) +- int s; +- sig_t a; ++signal(int s, sig_t a) + { + struct sigaction sa, osa; + +@@ -55,7 +53,7 @@ sig_t + sa.sa_flags = 0; + if (!sigismember(&_sigintr, s)) + sa.sa_flags |= SA_RESTART; +- if (_sigaction(s, &sa, &osa) < 0) ++ if (__libc_sigaction(s, &sa, &osa) < 0) + return (SIG_ERR); + return (osa.sa_handler); + } +Index: lib/libc/gen/wordexp.c +=================================================================== +--- lib/libc/gen/wordexp.c (revision 287549) ++++ lib/libc/gen/wordexp.c (working copy) +@@ -38,6 +38,7 @@ + #include + #include + #include "un-namespace.h" ++#include "libc_private.h" + + __FBSDID("$FreeBSD$"); + +@@ -127,12 +128,12 @@ we_askshell(const char *words, wordexp_t *we, int + return (WRDE_NOSPACE); /* XXX */ + (void)sigemptyset(&newsigblock); + (void)sigaddset(&newsigblock, SIGCHLD); +- (void)_sigprocmask(SIG_BLOCK, &newsigblock, &oldsigblock); ++ (void)__libc_sigprocmask(SIG_BLOCK, &newsigblock, &oldsigblock); + if ((pid = fork()) < 0) { + serrno = errno; + _close(pdes[0]); + _close(pdes[1]); +- (void)_sigprocmask(SIG_SETMASK, &oldsigblock, NULL); ++ (void)__libc_sigprocmask(SIG_SETMASK, &oldsigblock, NULL); + errno = serrno; + return (WRDE_NOSPACE); /* XXX */ + } +@@ -141,7 +142,7 @@ we_askshell(const char *words, wordexp_t *we, int + * We are the child; just get /bin/sh to run the wordexp + * builtin on `words'. + */ +- (void)_sigprocmask(SIG_SETMASK, &oldsigblock, NULL); ++ (void)__libc_sigprocmask(SIG_SETMASK, &oldsigblock, NULL); + if ((pdes[1] != STDOUT_FILENO ? + _dup2(pdes[1], STDOUT_FILENO) : + _fcntl(pdes[1], F_SETFD, 0)) < 0) +@@ -210,7 +211,7 @@ cleanup: + do + wpid = _waitpid(pid, &status, 0); + while (wpid < 0 && errno == EINTR); +- (void)_sigprocmask(SIG_SETMASK, &oldsigblock, NULL); ++ (void)__libc_sigprocmask(SIG_SETMASK, &oldsigblock, NULL); + if (error != 0) { + errno = serrno; + return (error); +Index: lib/libc/i386/gen/setjmp.S +=================================================================== +--- lib/libc/i386/gen/setjmp.S (revision 287549) ++++ lib/libc/i386/gen/setjmp.S (working copy) +@@ -50,21 +50,12 @@ __FBSDID("$FreeBSD$"); + + ENTRY(setjmp) + movl 4(%esp),%ecx +- PIC_PROLOGUE +-#ifdef PIC +- subl $12,%esp /* make the stack 16-byte aligned */ +-#endif + leal 28(%ecx), %eax + pushl %eax /* (sigset_t*)oset */ + pushl $0 /* (sigset_t*)set */ + pushl $1 /* SIG_BLOCK */ +- call PIC_PLT(CNAME(_sigprocmask)) +-#ifdef PIC +- addl $24,%esp +-#else ++ call __libc_sigprocmask + addl $12,%esp +-#endif +- PIC_EPILOGUE + movl 4(%esp),%ecx + movl 0(%esp),%edx + movl %edx, 0(%ecx) +@@ -82,21 +73,12 @@ END(setjmp) + .set CNAME(longjmp),CNAME(__longjmp) + ENTRY(__longjmp) + movl 4(%esp),%edx +- PIC_PROLOGUE +-#ifdef PIC +- subl $12,%esp /* make the stack 16-byte aligned */ +-#endif + pushl $0 /* (sigset_t*)oset */ + leal 28(%edx), %eax + pushl %eax /* (sigset_t*)set */ + pushl $3 /* SIG_SETMASK */ +- call PIC_PLT(CNAME(_sigprocmask)) +-#ifdef PIC +- addl $24,%esp +-#else ++ call __libc_sigprocmask + addl $12,%esp +-#endif +- PIC_EPILOGUE + movl 4(%esp),%edx + movl 8(%esp),%eax + movl 0(%edx),%ecx +Index: lib/libc/i386/gen/sigsetjmp.S +=================================================================== +--- lib/libc/i386/gen/sigsetjmp.S (revision 287549) ++++ lib/libc/i386/gen/sigsetjmp.S (working copy) +@@ -59,21 +59,12 @@ ENTRY(sigsetjmp) + movl %eax,44(%ecx) + testl %eax,%eax + jz 2f +- PIC_PROLOGUE +-#ifdef PIC +- subl $12,%esp /* make the stack 16-byte aligned */ +-#endif + leal 28(%ecx), %eax + pushl %eax /* (sigset_t*)oset */ + pushl $0 /* (sigset_t*)set */ + pushl $1 /* SIG_BLOCK */ +- call PIC_PLT(CNAME(_sigprocmask)) +-#ifdef PIC +- addl $24,%esp +-#else ++ call __libc_sigprocmask + addl $12,%esp +-#endif +- PIC_EPILOGUE + movl 4(%esp),%ecx + 2: movl 0(%esp),%edx + movl %edx, 0(%ecx) +@@ -93,21 +84,12 @@ ENTRY(__siglongjmp) + movl 4(%esp),%edx + cmpl $0,44(%edx) + jz 2f +- PIC_PROLOGUE +-#ifdef PIC +- subl $12,%esp /* make the stack 16-byte aligned */ +-#endif + pushl $0 /* (sigset_t*)oset */ + leal 28(%edx), %eax + pushl %eax /* (sigset_t*)set */ + pushl $3 /* SIG_SETMASK */ +- call PIC_PLT(CNAME(_sigprocmask)) +-#ifdef PIC +- addl $24,%esp +-#else ++ call __libc_sigprocmask + addl $12,%esp +-#endif +- PIC_EPILOGUE + movl 4(%esp),%edx + 2: movl 8(%esp),%eax + movl 0(%edx),%ecx +Index: lib/libc/include/libc_private.h +=================================================================== +--- lib/libc/include/libc_private.h (revision 287549) ++++ lib/libc/include/libc_private.h (working copy) +@@ -368,6 +368,11 @@ __pid_t __sys_wait6(enum idtype, __id_t, int *, i + __ssize_t __sys_write(int, const void *, __size_t); + __ssize_t __sys_writev(int, const struct iovec *, int); + ++int __libc_sigaction(int, const struct sigaction *, ++ struct sigaction *) __hidden; ++int __libc_sigprocmask(int, const __sigset_t *, __sigset_t *) ++ __hidden; ++int __libc_sigsuspend(const __sigset_t *) __hidden; + int __libc_sigwait(const __sigset_t * __restrict, + int * restrict sig); + int __libc_system(const char *); +Index: lib/libc/net/rcmd.c +=================================================================== +--- lib/libc/net/rcmd.c (revision 287549) ++++ lib/libc/net/rcmd.c (working copy) +@@ -58,6 +58,7 @@ __FBSDID("$FreeBSD$"); + #endif + #include + #include "un-namespace.h" ++#include "libc_private.h" + + extern int innetgr( const char *, const char *, const char *, const char * ); + +@@ -148,7 +149,7 @@ rcmd_af(ahost, rport, locuser, remuser, cmd, fd2p, + refused = 0; + sigemptyset(&newmask); + sigaddset(&newmask, SIGURG); +- _sigprocmask(SIG_BLOCK, (const sigset_t *)&newmask, &oldmask); ++ __libc_sigprocmask(SIG_BLOCK, (const sigset_t *)&newmask, &oldmask); + for (timo = 1, lport = IPPORT_RESERVED - 1;;) { + s = rresvport_af(&lport, ai->ai_family); + if (s < 0) { +@@ -163,7 +164,7 @@ rcmd_af(ahost, rport, locuser, remuser, cmd, fd2p, + (void)fprintf(stderr, "rcmd: socket: %s\n", + strerror(errno)); + freeaddrinfo(res); +- _sigprocmask(SIG_SETMASK, (const sigset_t *)&oldmask, ++ __libc_sigprocmask(SIG_SETMASK, (const sigset_t *)&oldmask, + NULL); + return (-1); + } +@@ -181,7 +182,7 @@ rcmd_af(ahost, rport, locuser, remuser, cmd, fd2p, + (void)fprintf(stderr, "%s: %s\n", + *ahost, strerror(errno)); + freeaddrinfo(res); +- _sigprocmask(SIG_SETMASK, (const sigset_t *)&oldmask, ++ __libc_sigprocmask(SIG_SETMASK, (const sigset_t *)&oldmask, + NULL); + return (-1); + } +@@ -306,7 +307,7 @@ again: + } + goto bad2; + } +- _sigprocmask(SIG_SETMASK, (const sigset_t *)&oldmask, NULL); ++ __libc_sigprocmask(SIG_SETMASK, (const sigset_t *)&oldmask, NULL); + freeaddrinfo(res); + return (s); + bad2: +@@ -314,7 +315,7 @@ bad2: + (void)_close(*fd2p); + bad: + (void)_close(s); +- _sigprocmask(SIG_SETMASK, (const sigset_t *)&oldmask, NULL); ++ __libc_sigprocmask(SIG_SETMASK, (const sigset_t *)&oldmask, NULL); + freeaddrinfo(res); + return (-1); + } +Index: lib/libc/stdio/tmpfile.c +=================================================================== +--- lib/libc/stdio/tmpfile.c (revision 287549) ++++ lib/libc/stdio/tmpfile.c (working copy) +@@ -46,9 +46,10 @@ __FBSDID("$FreeBSD$"); + #include + #include + #include "un-namespace.h" ++#include "libc_private.h" + + FILE * +-tmpfile() ++tmpfile(void) + { + sigset_t set, oset; + FILE *fp; +@@ -69,7 +70,7 @@ FILE * + return (NULL); + + sigfillset(&set); +- (void)_sigprocmask(SIG_BLOCK, &set, &oset); ++ (void)__libc_sigprocmask(SIG_BLOCK, &set, &oset); + + fd = mkstemp(buf); + if (fd != -1) +@@ -77,7 +78,7 @@ FILE * + + free(buf); + +- (void)_sigprocmask(SIG_SETMASK, &oset, NULL); ++ (void)__libc_sigprocmask(SIG_SETMASK, &oset, NULL); + + if (fd == -1) + return (NULL); +Index: lib/libc/stdlib/abort.c +=================================================================== +--- lib/libc/stdlib/abort.c (revision 287549) ++++ lib/libc/stdlib/abort.c (working copy) +@@ -61,7 +61,7 @@ abort() + * any errors -- ISO C doesn't allow abort to return anyway. + */ + sigdelset(&act.sa_mask, SIGABRT); +- (void)_sigprocmask(SIG_SETMASK, &act.sa_mask, NULL); ++ (void)__libc_sigprocmask(SIG_SETMASK, &act.sa_mask, NULL); + (void)raise(SIGABRT); + + /* +@@ -71,9 +71,9 @@ abort() + act.sa_handler = SIG_DFL; + act.sa_flags = 0; + sigfillset(&act.sa_mask); +- (void)_sigaction(SIGABRT, &act, NULL); ++ (void)__libc_sigaction(SIGABRT, &act, NULL); + sigdelset(&act.sa_mask, SIGABRT); +- (void)_sigprocmask(SIG_SETMASK, &act.sa_mask, NULL); ++ (void)__libc_sigprocmask(SIG_SETMASK, &act.sa_mask, NULL); + (void)raise(SIGABRT); + exit(1); + } +Index: lib/libc/stdlib/system.c +=================================================================== +--- lib/libc/stdlib/system.c (revision 287549) ++++ lib/libc/stdlib/system.c (working copy) +@@ -70,16 +70,20 @@ __libc_system(const char *command) + (void)sigaddset(&newsigblock, SIGCHLD); + (void)sigaddset(&newsigblock, SIGINT); + (void)sigaddset(&newsigblock, SIGQUIT); +- (void)_sigprocmask(SIG_BLOCK, &newsigblock, &oldsigblock); ++ (void)__libc_sigprocmask(SIG_BLOCK, &newsigblock, &oldsigblock); + switch(pid = vfork()) { ++ /* ++ * In the child, use unwrapped syscalls. libthr is in ++ * undefined state after vfork(). ++ */ + case -1: /* error */ +- (void)_sigprocmask(SIG_SETMASK, &oldsigblock, NULL); ++ (void)__libc_sigprocmask(SIG_SETMASK, &oldsigblock, NULL); + return (-1); + case 0: /* child */ + /* + * Restore original signal dispositions and exec the command. + */ +- (void)_sigprocmask(SIG_SETMASK, &oldsigblock, NULL); ++ (void)__sys_sigprocmask(SIG_SETMASK, &oldsigblock, NULL); + execl(_PATH_BSHELL, "sh", "-c", command, (char *)NULL); + _exit(127); + } +@@ -92,16 +96,16 @@ __libc_system(const char *command) + memset(&ign, 0, sizeof(ign)); + ign.sa_handler = SIG_IGN; + (void)sigemptyset(&ign.sa_mask); +- (void)_sigaction(SIGINT, &ign, &intact); +- (void)_sigaction(SIGQUIT, &ign, &quitact); ++ (void)__libc_sigaction(SIGINT, &ign, &intact); ++ (void)__libc_sigaction(SIGQUIT, &ign, &quitact); + savedpid = pid; + do { + pid = _wait4(savedpid, &pstat, 0, (struct rusage *)0); + } while (pid == -1 && errno == EINTR); +- (void)_sigaction(SIGINT, &intact, NULL); +- (void)_sigaction(SIGQUIT, &quitact, NULL); +- (void)_sigprocmask(SIG_SETMASK, &oldsigblock, NULL); +- return(pid == -1 ? -1 : pstat); ++ (void)__libc_sigaction(SIGINT, &intact, NULL); ++ (void)__libc_sigaction(SIGQUIT, &quitact, NULL); ++ (void)__libc_sigprocmask(SIG_SETMASK, &oldsigblock, NULL); ++ return (pid == -1 ? -1 : pstat); + } + + __weak_reference(__libc_system, __system); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@freebsd.org Thu Jan 7 20:56:33 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 52990A66EE4 for ; Thu, 7 Jan 2016 20:56:33 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 15D7E10ED; Thu, 7 Jan 2016 20:56:33 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u07KuWir041646; Thu, 7 Jan 2016 20:56:32 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u07KuUlg041631; Thu, 7 Jan 2016 20:56:30 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201601072056.u07KuUlg041631@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Thu, 7 Jan 2016 20:56:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293365 - user/cperciva/freebsd-update-build/patches/9.3-RELEASE X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Jan 2016 20:56:33 -0000 Author: glebius Date: Thu Jan 7 20:56:30 2016 New Revision: 293365 URL: https://svnweb.freebsd.org/changeset/base/293365 Log: Add missing files for 9.3-RELEASE. Added: user/cperciva/freebsd-update-build/patches/9.3-RELEASE/17-EN-15:08.sendmail user/cperciva/freebsd-update-build/patches/9.3-RELEASE/18-EN-15:08.sendmail user/cperciva/freebsd-update-build/patches/9.3-RELEASE/18-EN-15:09.xlocale user/cperciva/freebsd-update-build/patches/9.3-RELEASE/19-SA-15:11.bind user/cperciva/freebsd-update-build/patches/9.3-RELEASE/20-SA-15:13.tcp user/cperciva/freebsd-update-build/patches/9.3-RELEASE/21-SA-15:14.tcp user/cperciva/freebsd-update-build/patches/9.3-RELEASE/21-SA-15:16.openssh user/cperciva/freebsd-update-build/patches/9.3-RELEASE/21-SA-15:17.bind user/cperciva/freebsd-update-build/patches/9.3-RELEASE/22-SA-15:19.routed user/cperciva/freebsd-update-build/patches/9.3-RELEASE/23-SA-15:20.expat user/cperciva/freebsd-update-build/patches/9.3-RELEASE/24-EN-15:15.pkg user/cperciva/freebsd-update-build/patches/9.3-RELEASE/24-SA-15:21.amd64 user/cperciva/freebsd-update-build/patches/9.3-RELEASE/24-SA-15:22.openssh user/cperciva/freebsd-update-build/patches/9.3-RELEASE/25-SA-15:23.bind user/cperciva/freebsd-update-build/patches/9.3-RELEASE/26-EN-15:18.pkg user/cperciva/freebsd-update-build/patches/9.3-RELEASE/27-SA-15:24.rpcbind user/cperciva/freebsd-update-build/patches/9.3-RELEASE/28-SA-15:24.rpcbind user/cperciva/freebsd-update-build/patches/9.3-RELEASE/29-SA-15:25.ntp user/cperciva/freebsd-update-build/patches/9.3-RELEASE/30-EN-15:19.ntp user/cperciva/freebsd-update-build/patches/9.3-RELEASE/30-EN-15:20.vm user/cperciva/freebsd-update-build/patches/9.3-RELEASE/30-EN-15:21.kqueue user/cperciva/freebsd-update-build/patches/9.3-RELEASE/31-SA-15:26.openssl user/cperciva/freebsd-update-build/patches/9.3-RELEASE/32-SA-15:27.bind Added: user/cperciva/freebsd-update-build/patches/9.3-RELEASE/17-EN-15:08.sendmail ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/9.3-RELEASE/17-EN-15:08.sendmail Thu Jan 7 20:56:30 2016 (r293365) @@ -0,0 +1,24 @@ +Index: contrib/sendmail/src/tls.c +=================================================================== +--- contrib/sendmail/src/tls.c ++++ contrib/sendmail/src/tls.c +@@ -650,7 +650,7 @@ + ** 1024 generate 1024 bit parameters + ** 2048 generate 2048 bit parameters + ** /file/name read parameters from /file/name +- ** default is: 1024 for server, 512 for client (OK? XXX) ++ ** default is: 1024 + */ + + if (bitset(TLS_I_TRY_DH, req)) +@@ -676,8 +676,8 @@ + } + if (dhparam == NULL) + { +- dhparam = srv ? "1" : "5"; +- req |= (srv ? TLS_I_DH1024 : TLS_I_DH512); ++ dhparam = "1"; ++ req |= TLS_I_DH1024; + } + else if (*dhparam == '/') + { Added: user/cperciva/freebsd-update-build/patches/9.3-RELEASE/18-EN-15:08.sendmail ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/9.3-RELEASE/18-EN-15:08.sendmail Thu Jan 7 20:56:30 2016 (r293365) @@ -0,0 +1,13 @@ +Index: contrib/sendmail/src/sendmail.h +=================================================================== +--- contrib/sendmail/src/sendmail.h (revision 284940) ++++ contrib/sendmail/src/sendmail.h (working copy) +@@ -1935,7 +1935,7 @@ struct termescape + + /* server requirements */ + #define TLS_I_SRV (TLS_I_SRV_CERT | TLS_I_RSA_TMP | TLS_I_VRFY_PATH | \ +- TLS_I_VRFY_LOC | TLS_I_TRY_DH | TLS_I_DH512 | \ ++ TLS_I_VRFY_LOC | TLS_I_TRY_DH | TLS_I_DH1024 | \ + TLS_I_CACHE) + + /* client requirements */ Added: user/cperciva/freebsd-update-build/patches/9.3-RELEASE/18-EN-15:09.xlocale ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/9.3-RELEASE/18-EN-15:09.xlocale Thu Jan 7 20:56:30 2016 (r293365) @@ -0,0 +1,58 @@ +Index: lib/libc/locale/setrunelocale.c +=================================================================== +--- lib/libc/locale/setrunelocale.c (revision 284940) ++++ lib/libc/locale/setrunelocale.c (working copy) +@@ -202,6 +202,8 @@ __set_thread_rune_locale(locale_t loc) + + if (loc == NULL) { + _ThreadRuneLocale = &_DefaultRuneLocale; ++ } else if (loc == LC_GLOBAL_LOCALE) { ++ _ThreadRuneLocale = 0; + } else { + _ThreadRuneLocale = XLOCALE_CTYPE(loc)->runes; + } +Index: lib/libc/locale/xlocale.c +=================================================================== +--- lib/libc/locale/xlocale.c (revision 284940) ++++ lib/libc/locale/xlocale.c (working copy) +@@ -154,23 +154,24 @@ __get_locale(void) + static void + set_thread_locale(locale_t loc) + { ++ locale_t l = (loc == LC_GLOBAL_LOCALE) ? 0 : loc; + + _once(&once_control, init_key); + +- if (NULL != loc) { +- xlocale_retain((struct xlocale_refcounted*)loc); ++ if (NULL != l) { ++ xlocale_retain((struct xlocale_refcounted*)l); + } + locale_t old = pthread_getspecific(locale_info_key); +- if ((NULL != old) && (loc != old)) { ++ if ((NULL != old) && (l != old)) { + xlocale_release((struct xlocale_refcounted*)old); + } + if (fake_tls) { +- thread_local_locale = loc; ++ thread_local_locale = l; + } else { +- pthread_setspecific(locale_info_key, loc); ++ pthread_setspecific(locale_info_key, l); + } + #ifndef __NO_TLS +- __thread_locale = loc; ++ __thread_locale = l; + __set_thread_rune_locale(loc); + #endif + } +@@ -361,9 +362,6 @@ locale_t uselocale(locale_t loc) + { + locale_t old = get_thread_locale(); + if (NULL != loc) { +- if (LC_GLOBAL_LOCALE == loc) { +- loc = NULL; +- } + set_thread_locale(loc); + } + return (old ? old : LC_GLOBAL_LOCALE); Added: user/cperciva/freebsd-update-build/patches/9.3-RELEASE/19-SA-15:11.bind ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/9.3-RELEASE/19-SA-15:11.bind Thu Jan 7 20:56:30 2016 (r293365) @@ -0,0 +1,22 @@ +Index: contrib/bind9/lib/dns/validator.c +=================================================================== +--- contrib/bind9/lib/dns/validator.c (revision 284940) ++++ contrib/bind9/lib/dns/validator.c (working copy) +@@ -1420,7 +1420,6 @@ compute_keytag(dns_rdata_t *rdata, dns_rdata_dnske + */ + static isc_boolean_t + isselfsigned(dns_validator_t *val) { +- dns_fixedname_t fixed; + dns_rdataset_t *rdataset, *sigrdataset; + dns_rdata_t rdata = DNS_RDATA_INIT; + dns_rdata_t sigrdata = DNS_RDATA_INIT; +@@ -1476,8 +1475,7 @@ isselfsigned(dns_validator_t *val) { + result = dns_dnssec_verify3(name, rdataset, dstkey, + ISC_TRUE, + val->view->maxbits, +- mctx, &sigrdata, +- dns_fixedname_name(&fixed)); ++ mctx, &sigrdata, NULL); + dst_key_free(&dstkey); + if (result != ISC_R_SUCCESS) + continue; Added: user/cperciva/freebsd-update-build/patches/9.3-RELEASE/20-SA-15:13.tcp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/9.3-RELEASE/20-SA-15:13.tcp Thu Jan 7 20:56:30 2016 (r293365) @@ -0,0 +1,31 @@ +Index: sys/netinet/tcp_output.c +=================================================================== +--- sys/netinet/tcp_output.c (revision 285435) ++++ sys/netinet/tcp_output.c (working copy) +@@ -397,7 +397,7 @@ after_sack_rexmit: + flags &= ~TH_FIN; + } + +- if (len < 0) { ++ if (len <= 0) { + /* + * If FIN has been sent but not acked, + * but we haven't been called to retransmit, +@@ -407,9 +407,16 @@ after_sack_rexmit: + * to (closed) window, and set the persist timer + * if it isn't already going. If the window didn't + * close completely, just wait for an ACK. ++ * ++ * We also do a general check here to ensure that ++ * we will set the persist timer when we have data ++ * to send, but a 0-byte window. This makes sure ++ * the persist timer is set even if the packet ++ * hits one of the "goto send" lines below. + */ + len = 0; +- if (sendwin == 0) { ++ if ((sendwin == 0) && (TCPS_HAVEESTABLISHED(tp->t_state)) && ++ (off < (int) so->so_snd.sb_cc)) { + tcp_timer_activate(tp, TT_REXMT, 0); + tp->t_rxtshift = 0; + tp->snd_nxt = tp->snd_una; Added: user/cperciva/freebsd-update-build/patches/9.3-RELEASE/21-SA-15:14.tcp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/9.3-RELEASE/21-SA-15:14.tcp Thu Jan 7 20:56:30 2016 (r293365) @@ -0,0 +1,194 @@ +Index: sys/netinet/tcp_reass.c +=================================================================== +--- sys/netinet/tcp_reass.c (revision 285923) ++++ sys/netinet/tcp_reass.c (working copy) +@@ -79,25 +79,22 @@ static int tcp_reass_sysctl_qsize(SYSCTL_HANDLER_A + static SYSCTL_NODE(_net_inet_tcp, OID_AUTO, reass, CTLFLAG_RW, 0, + "TCP Segment Reassembly Queue"); + +-static VNET_DEFINE(int, tcp_reass_maxseg) = 0; +-#define V_tcp_reass_maxseg VNET(tcp_reass_maxseg) +-SYSCTL_VNET_INT(_net_inet_tcp_reass, OID_AUTO, maxsegments, CTLFLAG_RDTUN, +- &VNET_NAME(tcp_reass_maxseg), 0, ++static int tcp_reass_maxseg = 0; ++SYSCTL_INT(_net_inet_tcp_reass, OID_AUTO, maxsegments, CTLFLAG_RDTUN, ++ &tcp_reass_maxseg, 0, + "Global maximum number of TCP Segments in Reassembly Queue"); + +-SYSCTL_VNET_PROC(_net_inet_tcp_reass, OID_AUTO, cursegments, ++SYSCTL_PROC(_net_inet_tcp_reass, OID_AUTO, cursegments, + (CTLTYPE_INT | CTLFLAG_RD), NULL, 0, &tcp_reass_sysctl_qsize, "I", + "Global number of TCP Segments currently in Reassembly Queue"); + +-static VNET_DEFINE(int, tcp_reass_overflows) = 0; +-#define V_tcp_reass_overflows VNET(tcp_reass_overflows) +-SYSCTL_VNET_INT(_net_inet_tcp_reass, OID_AUTO, overflows, ++static int tcp_reass_overflows = 0; ++SYSCTL_INT(_net_inet_tcp_reass, OID_AUTO, overflows, + CTLTYPE_INT | CTLFLAG_RD, +- &VNET_NAME(tcp_reass_overflows), 0, ++ &tcp_reass_overflows, 0, + "Global number of TCP Segment Reassembly Queue Overflows"); + +-static VNET_DEFINE(uma_zone_t, tcp_reass_zone); +-#define V_tcp_reass_zone VNET(tcp_reass_zone) ++static uma_zone_t tcp_reass_zone; + + /* Initialize TCP reassembly queue */ + static void +@@ -105,37 +102,28 @@ tcp_reass_zone_change(void *tag) + { + + /* Set the zone limit and read back the effective value. */ +- V_tcp_reass_maxseg = nmbclusters / 16; +- V_tcp_reass_maxseg = uma_zone_set_max(V_tcp_reass_zone, +- V_tcp_reass_maxseg); ++ tcp_reass_maxseg = nmbclusters / 16; ++ tcp_reass_maxseg = uma_zone_set_max(tcp_reass_zone, ++ tcp_reass_maxseg); + } + + void +-tcp_reass_init(void) ++tcp_reass_global_init(void) + { + +- V_tcp_reass_maxseg = nmbclusters / 16; ++ tcp_reass_maxseg = nmbclusters / 16; + TUNABLE_INT_FETCH("net.inet.tcp.reass.maxsegments", +- &V_tcp_reass_maxseg); +- V_tcp_reass_zone = uma_zcreate("tcpreass", sizeof (struct tseg_qent), ++ &tcp_reass_maxseg); ++ tcp_reass_zone = uma_zcreate("tcpreass", sizeof (struct tseg_qent), + NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE); + /* Set the zone limit and read back the effective value. */ +- V_tcp_reass_maxseg = uma_zone_set_max(V_tcp_reass_zone, +- V_tcp_reass_maxseg); ++ tcp_reass_maxseg = uma_zone_set_max(tcp_reass_zone, ++ tcp_reass_maxseg); + EVENTHANDLER_REGISTER(nmbclusters_change, + tcp_reass_zone_change, NULL, EVENTHANDLER_PRI_ANY); + } + +-#ifdef VIMAGE + void +-tcp_reass_destroy(void) +-{ +- +- uma_zdestroy(V_tcp_reass_zone); +-} +-#endif +- +-void + tcp_reass_flush(struct tcpcb *tp) + { + struct tseg_qent *qe; +@@ -145,7 +133,7 @@ tcp_reass_flush(struct tcpcb *tp) + while ((qe = LIST_FIRST(&tp->t_segq)) != NULL) { + LIST_REMOVE(qe, tqe_q); + m_freem(qe->tqe_m); +- uma_zfree(V_tcp_reass_zone, qe); ++ uma_zfree(tcp_reass_zone, qe); + tp->t_segqlen--; + } + +@@ -159,7 +147,7 @@ tcp_reass_sysctl_qsize(SYSCTL_HANDLER_ARGS) + { + int qsize; + +- qsize = uma_zone_get_cur(V_tcp_reass_zone); ++ qsize = uma_zone_get_cur(tcp_reass_zone); + return (sysctl_handle_int(oidp, &qsize, 0, req)); + } + +@@ -207,7 +195,7 @@ tcp_reass(struct tcpcb *tp, struct tcphdr *th, int + */ + if ((th->th_seq != tp->rcv_nxt || !TCPS_HAVEESTABLISHED(tp->t_state)) && + tp->t_segqlen >= (so->so_rcv.sb_hiwat / tp->t_maxseg) + 1) { +- V_tcp_reass_overflows++; ++ tcp_reass_overflows++; + TCPSTAT_INC(tcps_rcvmemdrop); + m_freem(m); + *tlenp = 0; +@@ -226,7 +214,7 @@ tcp_reass(struct tcpcb *tp, struct tcphdr *th, int + * Use a temporary structure on the stack for the missing segment + * when the zone is exhausted. Otherwise we may get stuck. + */ +- te = uma_zalloc(V_tcp_reass_zone, M_NOWAIT); ++ te = uma_zalloc(tcp_reass_zone, M_NOWAIT); + if (te == NULL) { + if (th->th_seq != tp->rcv_nxt || !TCPS_HAVEESTABLISHED(tp->t_state)) { + TCPSTAT_INC(tcps_rcvmemdrop); +@@ -277,7 +265,7 @@ tcp_reass(struct tcpcb *tp, struct tcphdr *th, int + TCPSTAT_ADD(tcps_rcvdupbyte, *tlenp); + m_freem(m); + if (te != &tqs) +- uma_zfree(V_tcp_reass_zone, te); ++ uma_zfree(tcp_reass_zone, te); + tp->t_segqlen--; + /* + * Try to present any queued data +@@ -314,7 +302,7 @@ tcp_reass(struct tcpcb *tp, struct tcphdr *th, int + nq = LIST_NEXT(q, tqe_q); + LIST_REMOVE(q, tqe_q); + m_freem(q->tqe_m); +- uma_zfree(V_tcp_reass_zone, q); ++ uma_zfree(tcp_reass_zone, q); + tp->t_segqlen--; + q = nq; + } +@@ -353,7 +341,7 @@ present: + else + sbappendstream_locked(&so->so_rcv, q->tqe_m); + if (q != &tqs) +- uma_zfree(V_tcp_reass_zone, q); ++ uma_zfree(tcp_reass_zone, q); + tp->t_segqlen--; + q = nq; + } while (q && q->tqe_th->th_seq == tp->rcv_nxt); +Index: sys/netinet/tcp_subr.c +=================================================================== +--- sys/netinet/tcp_subr.c (revision 285923) ++++ sys/netinet/tcp_subr.c (working copy) +@@ -375,7 +375,6 @@ tcp_init(void) + tcp_tw_init(); + syncache_init(); + tcp_hc_init(); +- tcp_reass_init(); + + TUNABLE_INT_FETCH("net.inet.tcp.sack.enable", &V_tcp_do_sack); + V_sack_hole_zone = uma_zcreate("sackhole", sizeof(struct sackhole), +@@ -385,6 +384,8 @@ tcp_init(void) + if (!IS_DEFAULT_VNET(curvnet)) + return; + ++ tcp_reass_global_init(); ++ + /* XXX virtualize those bellow? */ + tcp_delacktime = TCPTV_DELACK; + tcp_keepinit = TCPTV_KEEP_INIT; +@@ -432,7 +433,6 @@ void + tcp_destroy(void) + { + +- tcp_reass_destroy(); + tcp_hc_destroy(); + syncache_destroy(); + tcp_tw_destroy(); +Index: sys/netinet/tcp_var.h +=================================================================== +--- sys/netinet/tcp_var.h (revision 285923) ++++ sys/netinet/tcp_var.h (working copy) +@@ -666,11 +666,8 @@ char *tcp_log_addrs(struct in_conninfo *, struct t + char *tcp_log_vain(struct in_conninfo *, struct tcphdr *, void *, + const void *); + int tcp_reass(struct tcpcb *, struct tcphdr *, int *, struct mbuf *); +-void tcp_reass_init(void); ++void tcp_reass_global_init(void); + void tcp_reass_flush(struct tcpcb *); +-#ifdef VIMAGE +-void tcp_reass_destroy(void); +-#endif + void tcp_input(struct mbuf *, int); + u_long tcp_maxmtu(struct in_conninfo *, struct tcp_ifcap *); + u_long tcp_maxmtu6(struct in_conninfo *, struct tcp_ifcap *); Added: user/cperciva/freebsd-update-build/patches/9.3-RELEASE/21-SA-15:16.openssh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/9.3-RELEASE/21-SA-15:16.openssh Thu Jan 7 20:56:30 2016 (r293365) @@ -0,0 +1,90 @@ +Index: crypto/openssh/auth2-chall.c +=================================================================== +--- crypto/openssh/auth2-chall.c (revision 285923) ++++ crypto/openssh/auth2-chall.c (working copy) +@@ -82,6 +82,7 @@ struct KbdintAuthctxt + void *ctxt; + KbdintDevice *device; + u_int nreq; ++ u_int devices_done; + }; + + #ifdef USE_PAM +@@ -168,11 +169,15 @@ kbdint_next_device(Authctxt *authctxt, KbdintAuthc + if (len == 0) + break; + for (i = 0; devices[i]; i++) { +- if (!auth2_method_allowed(authctxt, ++ if ((kbdintctxt->devices_done & (1 << i)) != 0 || ++ !auth2_method_allowed(authctxt, + "keyboard-interactive", devices[i]->name)) + continue; +- if (strncmp(kbdintctxt->devices, devices[i]->name, len) == 0) ++ if (strncmp(kbdintctxt->devices, devices[i]->name, ++ len) == 0) { + kbdintctxt->device = devices[i]; ++ kbdintctxt->devices_done |= 1 << i; ++ } + } + t = kbdintctxt->devices; + kbdintctxt->devices = t[len] ? xstrdup(t+len+1) : NULL; +Index: crypto/openssh/sshconnect.c +=================================================================== +--- crypto/openssh/sshconnect.c (revision 285923) ++++ crypto/openssh/sshconnect.c (working copy) +@@ -1247,29 +1247,39 @@ verify_host_key(char *host, struct sockaddr *hosta + { + int flags = 0; + char *fp; ++ Key *plain = NULL; + + fp = key_fingerprint(host_key, SSH_FP_MD5, SSH_FP_HEX); + debug("Server host key: %s %s", key_type(host_key), fp); + free(fp); + +- /* XXX certs are not yet supported for DNS */ +- if (!key_is_cert(host_key) && options.verify_host_key_dns && +- verify_host_key_dns(host, hostaddr, host_key, &flags) == 0) { +- if (flags & DNS_VERIFY_FOUND) { +- +- if (options.verify_host_key_dns == 1 && +- flags & DNS_VERIFY_MATCH && +- flags & DNS_VERIFY_SECURE) +- return 0; +- +- if (flags & DNS_VERIFY_MATCH) { +- matching_host_key_dns = 1; +- } else { +- warn_changed_key(host_key); +- error("Update the SSHFP RR in DNS with the new " +- "host key to get rid of this message."); ++ if (options.verify_host_key_dns) { ++ /* ++ * XXX certs are not yet supported for DNS, so downgrade ++ * them and try the plain key. ++ */ ++ plain = key_from_private(host_key); ++ if (key_is_cert(plain)) ++ key_drop_cert(plain); ++ if (verify_host_key_dns(host, hostaddr, plain, &flags) == 0) { ++ if (flags & DNS_VERIFY_FOUND) { ++ if (options.verify_host_key_dns == 1 && ++ flags & DNS_VERIFY_MATCH && ++ flags & DNS_VERIFY_SECURE) { ++ key_free(plain); ++ return 0; ++ } ++ if (flags & DNS_VERIFY_MATCH) { ++ matching_host_key_dns = 1; ++ } else { ++ warn_changed_key(plain); ++ error("Update the SSHFP RR in DNS " ++ "with the new host key to get rid " ++ "of this message."); ++ } + } + } ++ key_free(plain); + } + + return check_host_key(host, hostaddr, options.port, host_key, RDRW, Added: user/cperciva/freebsd-update-build/patches/9.3-RELEASE/21-SA-15:17.bind ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/9.3-RELEASE/21-SA-15:17.bind Thu Jan 7 20:56:30 2016 (r293365) @@ -0,0 +1,12 @@ +Index: contrib/bind9/lib/dns/tkey.c +=================================================================== +--- contrib/bind9/lib/dns/tkey.c (revision 285922) ++++ contrib/bind9/lib/dns/tkey.c (working copy) +@@ -650,6 +650,7 @@ dns_tkey_processquery(dns_message_t *msg, dns_tkey + * Try the answer section, since that's where Win2000 + * puts it. + */ ++ name = NULL; + if (dns_message_findname(msg, DNS_SECTION_ANSWER, qname, + dns_rdatatype_tkey, 0, &name, + &tkeyset) != ISC_R_SUCCESS) { Added: user/cperciva/freebsd-update-build/patches/9.3-RELEASE/22-SA-15:19.routed ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/9.3-RELEASE/22-SA-15:19.routed Thu Jan 7 20:56:30 2016 (r293365) @@ -0,0 +1,17 @@ +Index: sbin/routed/input.c +=================================================================== +--- sbin/routed/input.c (revision 286262) ++++ sbin/routed/input.c (working copy) +@@ -160,6 +160,12 @@ input(struct sockaddr_in *from, /* received from + + trace_rip("Recv", "from", from, sifp, rip, cc); + ++ if (sifp == 0) { ++ trace_pkt(" discard a request from an indirect router" ++ " (possibly an attack)"); ++ return; ++ } ++ + if (rip->rip_vers == 0) { + msglim(&bad_router, FROM_NADDR, + "RIP version 0, cmd %d, packet received from %s", Added: user/cperciva/freebsd-update-build/patches/9.3-RELEASE/23-SA-15:20.expat ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/9.3-RELEASE/23-SA-15:20.expat Thu Jan 7 20:56:30 2016 (r293365) @@ -0,0 +1,49 @@ +Index: contrib/expat/lib/xmlparse.c +=================================================================== +--- contrib/expat/lib/xmlparse.c (revision 286868) ++++ contrib/expat/lib/xmlparse.c (working copy) +@@ -1678,6 +1678,12 @@ XML_ParseBuffer(XML_Parser parser, int len, int is + void * XMLCALL + XML_GetBuffer(XML_Parser parser, int len) + { ++/* BEGIN MOZILLA CHANGE (sanity check len) */ ++ if (len < 0) { ++ errorCode = XML_ERROR_NO_MEMORY; ++ return NULL; ++ } ++/* END MOZILLA CHANGE */ + switch (ps_parsing) { + case XML_SUSPENDED: + errorCode = XML_ERROR_SUSPENDED; +@@ -1689,8 +1695,13 @@ XML_GetBuffer(XML_Parser parser, int len) + } + + if (len > bufferLim - bufferEnd) { +- /* FIXME avoid integer overflow */ + int neededSize = len + (int)(bufferEnd - bufferPtr); ++/* BEGIN MOZILLA CHANGE (sanity check neededSize) */ ++ if (neededSize < 0) { ++ errorCode = XML_ERROR_NO_MEMORY; ++ return NULL; ++ } ++/* END MOZILLA CHANGE */ + #ifdef XML_CONTEXT_BYTES + int keep = (int)(bufferPtr - buffer); + +@@ -1719,7 +1730,15 @@ XML_GetBuffer(XML_Parser parser, int len) + bufferSize = INIT_BUFFER_SIZE; + do { + bufferSize *= 2; +- } while (bufferSize < neededSize); ++/* BEGIN MOZILLA CHANGE (prevent infinite loop on overflow) */ ++ } while (bufferSize < neededSize && bufferSize > 0); ++/* END MOZILLA CHANGE */ ++/* BEGIN MOZILLA CHANGE (sanity check bufferSize) */ ++ if (bufferSize <= 0) { ++ errorCode = XML_ERROR_NO_MEMORY; ++ return NULL; ++ } ++/* END MOZILLA CHANGE */ + newBuf = (char *)MALLOC(bufferSize); + if (newBuf == 0) { + errorCode = XML_ERROR_NO_MEMORY; Added: user/cperciva/freebsd-update-build/patches/9.3-RELEASE/24-EN-15:15.pkg ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/9.3-RELEASE/24-EN-15:15.pkg Thu Jan 7 20:56:30 2016 (r293365) @@ -0,0 +1,34 @@ +Index: usr.sbin/pkg/pkg.c +=================================================================== +--- usr.sbin/pkg/pkg.c (revision 286787) ++++ usr.sbin/pkg/pkg.c (working copy) +@@ -749,7 +749,13 @@ bootstrap_pkg(bool force) + goto fetchfail; + + if (signature_type != NULL && +- strcasecmp(signature_type, "FINGERPRINTS") == 0) { ++ strcasecmp(signature_type, "NONE") != 0) { ++ if (strcasecmp(signature_type, "FINGERPRINTS") != 0) { ++ warnx("Signature type %s is not supported for " ++ "bootstrapping.", signature_type); ++ goto cleanup; ++ } ++ + snprintf(tmpsig, MAXPATHLEN, "%s/pkg.txz.sig.XXXXXX", + getenv("TMPDIR") ? getenv("TMPDIR") : _PATH_TMP); + snprintf(url, MAXPATHLEN, "%s/Latest/pkg.txz.sig", +@@ -834,7 +840,13 @@ bootstrap_pkg_local(const char *pkgpath, bool forc + return (-1); + } + if (signature_type != NULL && +- strcasecmp(signature_type, "FINGERPRINTS") == 0) { ++ strcasecmp(signature_type, "NONE") != 0) { ++ if (strcasecmp(signature_type, "FINGERPRINTS") != 0) { ++ warnx("Signature type %s is not supported for " ++ "bootstrapping.", signature_type); ++ goto cleanup; ++ } ++ + snprintf(path, sizeof(path), "%s.sig", pkgpath); + + if ((fd_sig = open(path, O_RDONLY)) == -1) { Added: user/cperciva/freebsd-update-build/patches/9.3-RELEASE/24-SA-15:21.amd64 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/9.3-RELEASE/24-SA-15:21.amd64 Thu Jan 7 20:56:30 2016 (r293365) @@ -0,0 +1,53 @@ +Index: sys/amd64/amd64/exception.S +=================================================================== +--- sys/amd64/amd64/exception.S (revision 286969) ++++ sys/amd64/amd64/exception.S (working copy) +@@ -154,9 +154,13 @@ IDTVEC(xmm) + IDTVEC(tss) + TRAP_ERR(T_TSSFLT) + IDTVEC(missing) +- TRAP_ERR(T_SEGNPFLT) ++ subq $TF_ERR,%rsp ++ movl $T_SEGNPFLT,TF_TRAPNO(%rsp) ++ jmp prot_addrf + IDTVEC(stk) +- TRAP_ERR(T_STKFLT) ++ subq $TF_ERR,%rsp ++ movl $T_STKFLT,TF_TRAPNO(%rsp) ++ jmp prot_addrf + IDTVEC(align) + TRAP_ERR(T_ALIGNFLT) + +@@ -319,6 +323,7 @@ IDTVEC(page) + IDTVEC(prot) + subq $TF_ERR,%rsp + movl $T_PROTFLT,TF_TRAPNO(%rsp) ++prot_addrf: + movq $0,TF_ADDR(%rsp) + movq %rdi,TF_RDI(%rsp) /* free up a GP register */ + leaq doreti_iret(%rip),%rdi +Index: sys/amd64/amd64/machdep.c +=================================================================== +--- sys/amd64/amd64/machdep.c (revision 286969) ++++ sys/amd64/amd64/machdep.c (working copy) +@@ -428,6 +428,7 @@ sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t * + regs->tf_rflags &= ~(PSL_T | PSL_D); + regs->tf_cs = _ucodesel; + regs->tf_ds = _udatasel; ++ regs->tf_ss = _udatasel; + regs->tf_es = _udatasel; + regs->tf_fs = _ufssel; + regs->tf_gs = _ugssel; +Index: sys/amd64/amd64/trap.c +=================================================================== +--- sys/amd64/amd64/trap.c (revision 286969) ++++ sys/amd64/amd64/trap.c (working copy) +@@ -473,8 +473,6 @@ trap(struct trapframe *frame) + goto out; + + case T_STKFLT: /* stack fault */ +- break; +- + case T_PROTFLT: /* general protection fault */ + case T_SEGNPFLT: /* segment not present fault */ + if (td->td_intr_nesting_level != 0) Added: user/cperciva/freebsd-update-build/patches/9.3-RELEASE/24-SA-15:22.openssh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/9.3-RELEASE/24-SA-15:22.openssh Thu Jan 7 20:56:30 2016 (r293365) @@ -0,0 +1,68 @@ +Index: crypto/openssh/monitor.c +=================================================================== +--- crypto/openssh/monitor.c (revision 286787) ++++ crypto/openssh/monitor.c (working copy) +@@ -1027,9 +1027,7 @@ extern KbdintDevice sshpam_device; + int + mm_answer_pam_init_ctx(int sock, Buffer *m) + { +- + debug3("%s", __func__); +- authctxt->user = buffer_get_string(m, NULL); + sshpam_ctxt = (sshpam_device.init_ctx)(authctxt); + sshpam_authok = NULL; + buffer_clear(m); +@@ -1111,14 +1109,16 @@ mm_answer_pam_respond(int sock, Buffer *m) + int + mm_answer_pam_free_ctx(int sock, Buffer *m) + { ++ int r = sshpam_authok != NULL && sshpam_authok == sshpam_ctxt; + + debug3("%s", __func__); + (sshpam_device.free_ctx)(sshpam_ctxt); ++ sshpam_ctxt = sshpam_authok = NULL; + buffer_clear(m); + mm_request_send(sock, MONITOR_ANS_PAM_FREE_CTX, m); + auth_method = "keyboard-interactive"; + auth_submethod = "pam"; +- return (sshpam_authok == sshpam_ctxt); ++ return r; + } + #endif + +Index: crypto/openssh/monitor_wrap.c +=================================================================== +--- crypto/openssh/monitor_wrap.c (revision 286787) ++++ crypto/openssh/monitor_wrap.c (working copy) +@@ -820,7 +820,6 @@ mm_sshpam_init_ctx(Authctxt *authctxt) + + debug3("%s", __func__); + buffer_init(&m); +- buffer_put_cstring(&m, authctxt->user); + mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_PAM_INIT_CTX, &m); + debug3("%s: waiting for MONITOR_ANS_PAM_INIT_CTX", __func__); + mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_PAM_INIT_CTX, &m); +Index: crypto/openssh/mux.c +=================================================================== +--- crypto/openssh/mux.c (revision 286787) ++++ crypto/openssh/mux.c (working copy) +@@ -635,7 +635,8 @@ process_mux_open_fwd(u_int rid, Channel *c, Buffer + u_int lport, cport; + int i, ret = 0, freefwd = 1; + +- fwd.listen_host = fwd.connect_host = NULL; ++ memset(&fwd, 0, sizeof(fwd)); ++ + if (buffer_get_int_ret(&ftype, m) != 0 || + (fwd.listen_host = buffer_get_string_ret(m, NULL)) == NULL || + buffer_get_int_ret(&lport, m) != 0 || +@@ -785,7 +786,8 @@ process_mux_close_fwd(u_int rid, Channel *c, Buffe + int i, listen_port, ret = 0; + u_int lport, cport; + +- fwd.listen_host = fwd.connect_host = NULL; ++ memset(&fwd, 0, sizeof(fwd)); ++ + if (buffer_get_int_ret(&ftype, m) != 0 || + (fwd.listen_host = buffer_get_string_ret(m, NULL)) == NULL || + buffer_get_int_ret(&lport, m) != 0 || Added: user/cperciva/freebsd-update-build/patches/9.3-RELEASE/25-SA-15:23.bind ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/9.3-RELEASE/25-SA-15:23.bind Thu Jan 7 20:56:30 2016 (r293365) @@ -0,0 +1,485 @@ +Index: contrib/bind9/lib/dns/hmac_link.c +=================================================================== +--- contrib/bind9/lib/dns/hmac_link.c (revision 287393) ++++ contrib/bind9/lib/dns/hmac_link.c (working copy) +@@ -76,7 +76,7 @@ hmacmd5_createctx(dst_key_t *key, dst_context_t *d + hmacmd5ctx = isc_mem_get(dctx->mctx, sizeof(isc_hmacmd5_t)); + if (hmacmd5ctx == NULL) + return (ISC_R_NOMEMORY); +- isc_hmacmd5_init(hmacmd5ctx, hkey->key, ISC_SHA1_BLOCK_LENGTH); ++ isc_hmacmd5_init(hmacmd5ctx, hkey->key, ISC_MD5_BLOCK_LENGTH); + dctx->ctxdata.hmacmd5ctx = hmacmd5ctx; + return (ISC_R_SUCCESS); + } +@@ -139,7 +139,7 @@ hmacmd5_compare(const dst_key_t *key1, const dst_k + else if (hkey1 == NULL || hkey2 == NULL) + return (ISC_FALSE); + +- if (isc_safe_memcmp(hkey1->key, hkey2->key, ISC_SHA1_BLOCK_LENGTH)) ++ if (isc_safe_memcmp(hkey1->key, hkey2->key, ISC_MD5_BLOCK_LENGTH)) + return (ISC_TRUE); + else + return (ISC_FALSE); +@@ -150,17 +150,17 @@ hmacmd5_generate(dst_key_t *key, int pseudorandom_ + isc_buffer_t b; + isc_result_t ret; + unsigned int bytes; +- unsigned char data[ISC_SHA1_BLOCK_LENGTH]; ++ unsigned char data[ISC_MD5_BLOCK_LENGTH]; + + UNUSED(callback); + + bytes = (key->key_size + 7) / 8; +- if (bytes > ISC_SHA1_BLOCK_LENGTH) { +- bytes = ISC_SHA1_BLOCK_LENGTH; +- key->key_size = ISC_SHA1_BLOCK_LENGTH * 8; ++ if (bytes > ISC_MD5_BLOCK_LENGTH) { ++ bytes = ISC_MD5_BLOCK_LENGTH; ++ key->key_size = ISC_MD5_BLOCK_LENGTH * 8; + } + +- memset(data, 0, ISC_SHA1_BLOCK_LENGTH); ++ memset(data, 0, ISC_MD5_BLOCK_LENGTH); + ret = dst__entropy_getdata(data, bytes, ISC_TF(pseudorandom_ok != 0)); + + if (ret != ISC_R_SUCCESS) +@@ -169,7 +169,7 @@ hmacmd5_generate(dst_key_t *key, int pseudorandom_ + isc_buffer_init(&b, data, bytes); + isc_buffer_add(&b, bytes); + ret = hmacmd5_fromdns(key, &b); +- memset(data, 0, ISC_SHA1_BLOCK_LENGTH); ++ memset(data, 0, ISC_MD5_BLOCK_LENGTH); + + return (ret); + } +@@ -223,7 +223,7 @@ hmacmd5_fromdns(dst_key_t *key, isc_buffer_t *data + + memset(hkey->key, 0, sizeof(hkey->key)); + +- if (r.length > ISC_SHA1_BLOCK_LENGTH) { ++ if (r.length > ISC_MD5_BLOCK_LENGTH) { + isc_md5_init(&md5ctx); + isc_md5_update(&md5ctx, r.base, r.length); + isc_md5_final(&md5ctx, hkey->key); +@@ -236,6 +236,8 @@ hmacmd5_fromdns(dst_key_t *key, isc_buffer_t *data + key->key_size = keylen * 8; + key->keydata.hmacmd5 = hkey; + ++ isc_buffer_forward(data, r.length); ++ + return (ISC_R_SUCCESS); + } + +@@ -512,6 +514,8 @@ hmacsha1_fromdns(dst_key_t *key, isc_buffer_t *dat + key->key_size = keylen * 8; + key->keydata.hmacsha1 = hkey; + ++ isc_buffer_forward(data, r.length); ++ + return (ISC_R_SUCCESS); + } + +@@ -790,6 +794,8 @@ hmacsha224_fromdns(dst_key_t *key, isc_buffer_t *d + key->key_size = keylen * 8; + key->keydata.hmacsha224 = hkey; + ++ isc_buffer_forward(data, r.length); ++ + return (ISC_R_SUCCESS); + } + +@@ -1068,6 +1074,8 @@ hmacsha256_fromdns(dst_key_t *key, isc_buffer_t *d + key->key_size = keylen * 8; + key->keydata.hmacsha256 = hkey; + ++ isc_buffer_forward(data, r.length); ++ + return (ISC_R_SUCCESS); + } + +@@ -1346,6 +1354,8 @@ hmacsha384_fromdns(dst_key_t *key, isc_buffer_t *d + key->key_size = keylen * 8; + key->keydata.hmacsha384 = hkey; + ++ isc_buffer_forward(data, r.length); ++ + return (ISC_R_SUCCESS); + } + +@@ -1624,6 +1634,8 @@ hmacsha512_fromdns(dst_key_t *key, isc_buffer_t *d + key->key_size = keylen * 8; + key->keydata.hmacsha512 = hkey; + ++ isc_buffer_forward(data, r.length); ++ + return (ISC_R_SUCCESS); + } + +Index: contrib/bind9/lib/dns/include/dst/dst.h +=================================================================== +--- contrib/bind9/lib/dns/include/dst/dst.h (revision 287393) ++++ contrib/bind9/lib/dns/include/dst/dst.h (working copy) +@@ -69,6 +69,7 @@ typedef struct dst_context dst_context_t; + #define DST_ALG_HMACSHA256 163 /* XXXMPA */ + #define DST_ALG_HMACSHA384 164 /* XXXMPA */ + #define DST_ALG_HMACSHA512 165 /* XXXMPA */ ++#define DST_ALG_INDIRECT 252 + #define DST_ALG_PRIVATE 254 + #define DST_ALG_EXPAND 255 + #define DST_MAX_ALGS 255 +Index: contrib/bind9/lib/dns/ncache.c +=================================================================== +--- contrib/bind9/lib/dns/ncache.c (revision 287393) ++++ contrib/bind9/lib/dns/ncache.c (working copy) +@@ -614,13 +614,11 @@ dns_ncache_getsigrdataset(dns_rdataset_t *ncacherd + dns_name_fromregion(&tname, &remaining); + INSIST(remaining.length >= tname.length); + isc_buffer_forward(&source, tname.length); +- remaining.length -= tname.length; +- remaining.base += tname.length; ++ isc_region_consume(&remaining, tname.length); + + INSIST(remaining.length >= 2); + type = isc_buffer_getuint16(&source); +- remaining.length -= 2; +- remaining.base += 2; ++ isc_region_consume(&remaining, 2); + + if (type != dns_rdatatype_rrsig || + !dns_name_equal(&tname, name)) { +@@ -632,8 +630,7 @@ dns_ncache_getsigrdataset(dns_rdataset_t *ncacherd + INSIST(remaining.length >= 1); + trust = isc_buffer_getuint8(&source); + INSIST(trust <= dns_trust_ultimate); +- remaining.length -= 1; +- remaining.base += 1; ++ isc_region_consume(&remaining, 1); + + raw = remaining.base; + count = raw[0] * 256 + raw[1]; +Index: contrib/bind9/lib/dns/openssldh_link.c +=================================================================== +--- contrib/bind9/lib/dns/openssldh_link.c (revision 287393) ++++ contrib/bind9/lib/dns/openssldh_link.c (working copy) +@@ -266,8 +266,10 @@ openssldh_destroy(dst_key_t *key) { + + static void + uint16_toregion(isc_uint16_t val, isc_region_t *region) { +- *region->base++ = (val & 0xff00) >> 8; +- *region->base++ = (val & 0x00ff); ++ *region->base = (val & 0xff00) >> 8; ++ isc_region_consume(region, 1); ++ *region->base = (val & 0x00ff); ++ isc_region_consume(region, 1); + } + + static isc_uint16_t +@@ -278,7 +280,8 @@ uint16_fromregion(isc_region_t *region) { + val = ((unsigned int)(cp[0])) << 8; + val |= ((unsigned int)(cp[1])); + +- region->base += 2; ++ isc_region_consume(region, 2); ++ + return (val); + } + +@@ -319,16 +322,16 @@ openssldh_todns(const dst_key_t *key, isc_buffer_t + } + else + BN_bn2bin(dh->p, r.base); +- r.base += plen; ++ isc_region_consume(&r, plen); + + uint16_toregion(glen, &r); + if (glen > 0) + BN_bn2bin(dh->g, r.base); +- r.base += glen; ++ isc_region_consume(&r, glen); + + uint16_toregion(publen, &r); + BN_bn2bin(dh->pub_key, r.base); +- r.base += publen; ++ isc_region_consume(&r, publen); + + isc_buffer_add(data, dnslen); + +@@ -369,10 +372,12 @@ openssldh_fromdns(dst_key_t *key, isc_buffer_t *da + return (DST_R_INVALIDPUBLICKEY); + } + if (plen == 1 || plen == 2) { +- if (plen == 1) +- special = *r.base++; +- else ++ if (plen == 1) { ++ special = *r.base; ++ isc_region_consume(&r, 1); ++ } else { + special = uint16_fromregion(&r); ++ } + switch (special) { + case 1: + dh->p = &bn768; +@@ -387,10 +392,9 @@ openssldh_fromdns(dst_key_t *key, isc_buffer_t *da + DH_free(dh); + return (DST_R_INVALIDPUBLICKEY); + } +- } +- else { ++ } else { + dh->p = BN_bin2bn(r.base, plen, NULL); +- r.base += plen; ++ isc_region_consume(&r, plen); + } + + /* +@@ -421,8 +425,7 @@ openssldh_fromdns(dst_key_t *key, isc_buffer_t *da + return (DST_R_INVALIDPUBLICKEY); + } + } +- } +- else { ++ } else { + if (glen == 0) { + DH_free(dh); + return (DST_R_INVALIDPUBLICKEY); +@@ -429,7 +432,7 @@ openssldh_fromdns(dst_key_t *key, isc_buffer_t *da + } + dh->g = BN_bin2bn(r.base, glen, NULL); + } +- r.base += glen; ++ isc_region_consume(&r, glen); + + if (r.length < 2) { + DH_free(dh); +@@ -441,7 +444,7 @@ openssldh_fromdns(dst_key_t *key, isc_buffer_t *da + return (DST_R_INVALIDPUBLICKEY); + } + dh->pub_key = BN_bin2bn(r.base, publen, NULL); +- r.base += publen; ++ isc_region_consume(&r, publen); + + key->key_size = BN_num_bits(dh->p); + +Index: contrib/bind9/lib/dns/openssldsa_link.c +=================================================================== +--- contrib/bind9/lib/dns/openssldsa_link.c (revision 287393) ++++ contrib/bind9/lib/dns/openssldsa_link.c (working copy) +@@ -29,8 +29,6 @@ + * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +-/* $Id$ */ +- + #ifdef OPENSSL + #ifndef USE_EVP + #define USE_EVP 1 +@@ -137,6 +135,7 @@ openssldsa_sign(dst_context_t *dctx, isc_buffer_t + DSA *dsa = key->keydata.dsa; + isc_region_t r; + DSA_SIG *dsasig; ++ unsigned int klen; + #if USE_EVP + EVP_MD_CTX *evp_md_ctx = dctx->ctxdata.evp_md_ctx; + EVP_PKEY *pkey; +@@ -188,6 +187,7 @@ openssldsa_sign(dst_context_t *dctx, isc_buffer_t + ISC_R_FAILURE)); + } + free(sigbuf); ++ + #elif 0 + /* Only use EVP for the Digest */ + if (!EVP_DigestFinal_ex(evp_md_ctx, digest, &siglen)) { +@@ -209,11 +209,17 @@ openssldsa_sign(dst_context_t *dctx, isc_buffer_t *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@freebsd.org Thu Jan 7 20:59:36 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 02572A66FC0 for ; Thu, 7 Jan 2016 20:59:36 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 86628127F; Thu, 7 Jan 2016 20:59:35 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u07KxYKQ041808; Thu, 7 Jan 2016 20:59:34 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u07KxVbG041778; Thu, 7 Jan 2016 20:59:31 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201601072059.u07KxVbG041778@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Thu, 7 Jan 2016 20:59:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293366 - in user/cperciva/freebsd-update-build/patches: 10.0-BETA1 10.0-BETA2 10.0-BETA3 10.0-BETA4 10.0-RC1 10.0-RC2 10.0-RC3 10.0-RC4 10.0-RC5 10.1-BETA1 10.1-BETA2 10.1-BETA3 10.1-R... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Jan 2016 20:59:36 -0000 Author: glebius Date: Thu Jan 7 20:59:31 2016 New Revision: 293366 URL: https://svnweb.freebsd.org/changeset/base/293366 Log: Add missing patches for historical FreeBSD releases. Added: user/cperciva/freebsd-update-build/patches/10.0-BETA1/ user/cperciva/freebsd-update-build/patches/10.0-BETA1/1-EN-13:04.freebsd-update user/cperciva/freebsd-update-build/patches/10.0-BETA1/2-SA-13:14.openssh user/cperciva/freebsd-update-build/patches/10.0-BETA1/3-EN-13:05.freebsd-update user/cperciva/freebsd-update-build/patches/10.0-BETA2/ user/cperciva/freebsd-update-build/patches/10.0-BETA2/1-SA-13:14.openssh user/cperciva/freebsd-update-build/patches/10.0-BETA2/2-EN-13:05.freebsd-update user/cperciva/freebsd-update-build/patches/10.0-BETA3/ user/cperciva/freebsd-update-build/patches/10.0-BETA3/1-SA-13:14.openssh user/cperciva/freebsd-update-build/patches/10.0-BETA3/2-EN-13:05.freebsd-update user/cperciva/freebsd-update-build/patches/10.0-BETA4/ user/cperciva/freebsd-update-build/patches/10.0-RC1/ user/cperciva/freebsd-update-build/patches/10.0-RC1/1-EN-14:02.mmap user/cperciva/freebsd-update-build/patches/10.0-RC1/1-SA-14:01.bsnmpd user/cperciva/freebsd-update-build/patches/10.0-RC1/1-SA-14:02.ntpd user/cperciva/freebsd-update-build/patches/10.0-RC1/1-SA-14:03.openssl user/cperciva/freebsd-update-build/patches/10.0-RC2/ user/cperciva/freebsd-update-build/patches/10.0-RC2/1-EN-14:02.mmap user/cperciva/freebsd-update-build/patches/10.0-RC2/1-SA-14:01.bsnmpd user/cperciva/freebsd-update-build/patches/10.0-RC2/1-SA-14:02.ntpd user/cperciva/freebsd-update-build/patches/10.0-RC2/1-SA-14:03.openssl user/cperciva/freebsd-update-build/patches/10.0-RC3/ user/cperciva/freebsd-update-build/patches/10.0-RC3/1-EN-14:02.mmap user/cperciva/freebsd-update-build/patches/10.0-RC3/1-SA-14:01.bsnmpd user/cperciva/freebsd-update-build/patches/10.0-RC3/1-SA-14:02.ntpd user/cperciva/freebsd-update-build/patches/10.0-RC3/1-SA-14:03.openssl user/cperciva/freebsd-update-build/patches/10.0-RC4/ user/cperciva/freebsd-update-build/patches/10.0-RC4/1-SA-14:01.bsnmpd user/cperciva/freebsd-update-build/patches/10.0-RC4/1-SA-14:02.ntpd user/cperciva/freebsd-update-build/patches/10.0-RC4/1-SA-14:03.openssl user/cperciva/freebsd-update-build/patches/10.0-RC5/ user/cperciva/freebsd-update-build/patches/10.0-RC5/1-SA-14:01.bsnmpd user/cperciva/freebsd-update-build/patches/10.0-RC5/1-SA-14:02.ntpd user/cperciva/freebsd-update-build/patches/10.1-BETA1/ user/cperciva/freebsd-update-build/patches/10.1-BETA1/1-SA-14:19.tcp user/cperciva/freebsd-update-build/patches/10.1-BETA2/ user/cperciva/freebsd-update-build/patches/10.1-BETA3/ user/cperciva/freebsd-update-build/patches/10.1-BETA3/1-SA-14:20.rtsold user/cperciva/freebsd-update-build/patches/10.1-BETA3/1-SA-14:21.routed user/cperciva/freebsd-update-build/patches/10.1-BETA3/1-SA-14:22.namei user/cperciva/freebsd-update-build/patches/10.1-BETA3/1-SA-14:23.openssl user/cperciva/freebsd-update-build/patches/10.1-BETA3/2-EN-14:11.crypt user/cperciva/freebsd-update-build/patches/10.1-RC1/ user/cperciva/freebsd-update-build/patches/10.1-RC1/1-SA-14:20.rtsold user/cperciva/freebsd-update-build/patches/10.1-RC1/1-SA-14:21.routed user/cperciva/freebsd-update-build/patches/10.1-RC1/1-SA-14:22.namei user/cperciva/freebsd-update-build/patches/10.1-RC1/1-SA-14:23.openssl user/cperciva/freebsd-update-build/patches/10.1-RC1/2-EN-14:11.crypt user/cperciva/freebsd-update-build/patches/10.1-RC2/ user/cperciva/freebsd-update-build/patches/10.1-RC2/1-SA-14:20.rtsold user/cperciva/freebsd-update-build/patches/10.1-RC2/1-SA-14:21.routed user/cperciva/freebsd-update-build/patches/10.1-RC2/1-SA-14:22.namei user/cperciva/freebsd-update-build/patches/10.1-RC2/1-SA-14:23.openssl user/cperciva/freebsd-update-build/patches/10.1-RC2/2-EN-14:11.crypt user/cperciva/freebsd-update-build/patches/10.1-RC2/3-SA-14:25.setlogin user/cperciva/freebsd-update-build/patches/10.1-RC2/3-SA-14:26.ftp user/cperciva/freebsd-update-build/patches/10.1-RC3/ user/cperciva/freebsd-update-build/patches/10.1-RC3/1-SA-14:25.setlogin user/cperciva/freebsd-update-build/patches/10.1-RC3/1-SA-14:26.ftp user/cperciva/freebsd-update-build/patches/10.1-RC4/ user/cperciva/freebsd-update-build/patches/10.1-RC4/0-volume-label user/cperciva/freebsd-update-build/patches/10.1-RC4/1-SA-14:25.setlogin user/cperciva/freebsd-update-build/patches/10.1-RC4/1-SA-14:26.ftp user/cperciva/freebsd-update-build/patches/10.2-BETA1/ user/cperciva/freebsd-update-build/patches/10.2-BETA1/1-SA-15:13.tcp user/cperciva/freebsd-update-build/patches/10.2-BETA2/ user/cperciva/freebsd-update-build/patches/10.2-BETA2/1-SA-15:13.tcp user/cperciva/freebsd-update-build/patches/10.2-BETA2/2-SA-15:14.tcp user/cperciva/freebsd-update-build/patches/10.2-BETA2/2-SA-15:15.bsdpatch user/cperciva/freebsd-update-build/patches/10.2-BETA2/2-SA-15:16.openssh user/cperciva/freebsd-update-build/patches/10.2-BETA2/3-SA-15:18.bsdpatch user/cperciva/freebsd-update-build/patches/10.2-BETA2/3-SA-15:19.routed user/cperciva/freebsd-update-build/patches/10.2-RC1/ user/cperciva/freebsd-update-build/patches/10.2-RC1/0-ntp user/cperciva/freebsd-update-build/patches/10.2-RC1/1-SA-15:14.tcp user/cperciva/freebsd-update-build/patches/10.2-RC1/1-SA-15:15.bsdpatch user/cperciva/freebsd-update-build/patches/10.2-RC1/1-SA-15:16.openssh user/cperciva/freebsd-update-build/patches/10.2-RC1/2-SA-15:18.bsdpatch user/cperciva/freebsd-update-build/patches/10.2-RC1/2-SA-15:19.routed user/cperciva/freebsd-update-build/patches/10.2-RC2/ user/cperciva/freebsd-update-build/patches/10.2-RC2/1-SA-15:18.bsdpatch user/cperciva/freebsd-update-build/patches/10.2-RC2/1-SA-15:19.routed user/cperciva/freebsd-update-build/patches/10.2-RC3/ user/cperciva/freebsd-update-build/patches/10.2-RC3/1-EN-15:11.toolchain user/cperciva/freebsd-update-build/patches/10.2-RC3/1-EN-15:12.netstat user/cperciva/freebsd-update-build/patches/10.2-RC3/1-EN-15:13.vidcontrol user/cperciva/freebsd-update-build/patches/10.2-RC3/1-SA-15:20.expat user/cperciva/freebsd-update-build/patches/10.2-RC3/2-EN-15:15.pkg user/cperciva/freebsd-update-build/patches/10.2-RC3/2-SA-15:22.openssh user/cperciva/freebsd-update-build/patches/6.2-BETA1/ user/cperciva/freebsd-update-build/patches/6.2-BETA1/1-SA-06:21.gzip user/cperciva/freebsd-update-build/patches/6.2-BETA1/2-SA-06:23.openssl user/cperciva/freebsd-update-build/patches/6.2-BETA1/3-SA-06:23.openssl-correction user/cperciva/freebsd-update-build/patches/6.2-BETA1/4-SA-06:22.openssh user/cperciva/freebsd-update-build/patches/6.2-BETA2/ user/cperciva/freebsd-update-build/patches/6.2-BETA3/ user/cperciva/freebsd-update-build/patches/6.2-BETA3/1-SA-06:24.libarchive user/cperciva/freebsd-update-build/patches/6.2-RC1/ user/cperciva/freebsd-update-build/patches/6.2-RC1/1-SA-06:25.kmem user/cperciva/freebsd-update-build/patches/6.2-RC1/2-SA-07:01.jail user/cperciva/freebsd-update-build/patches/6.2-RC2/ user/cperciva/freebsd-update-build/patches/6.2-RC2/1-SA-07:01.jail user/cperciva/freebsd-update-build/patches/6.3-BETA1/ user/cperciva/freebsd-update-build/patches/6.3-BETA1/1-SA-07:09.random user/cperciva/freebsd-update-build/patches/6.3-BETA2/ user/cperciva/freebsd-update-build/patches/6.3-BETA2/1-SA-07:09.random user/cperciva/freebsd-update-build/patches/6.3-RC1/ user/cperciva/freebsd-update-build/patches/6.3-RC1/1-SA-07:09.random user/cperciva/freebsd-update-build/patches/6.3-RC2/ user/cperciva/freebsd-update-build/patches/6.3-RC2/1-SA-08:01.pty user/cperciva/freebsd-update-build/patches/6.3-RC2/1-SA-08:02.libc user/cperciva/freebsd-update-build/patches/6.3-RELEASE/3-SA-08:03.bind user/cperciva/freebsd-update-build/patches/6.4-BETA/ user/cperciva/freebsd-update-build/patches/6.4-BETA/1-SA-08:10.nd6 user/cperciva/freebsd-update-build/patches/6.4-RC2/ user/cperciva/freebsd-update-build/patches/6.4-RC2/1-SA-08:11.arc4random user/cperciva/freebsd-update-build/patches/7.0-BETA1.5/ user/cperciva/freebsd-update-build/patches/7.0-BETA2/ user/cperciva/freebsd-update-build/patches/7.0-BETA2/1-SA-07:09.random user/cperciva/freebsd-update-build/patches/7.0-BETA3/ user/cperciva/freebsd-update-build/patches/7.0-BETA3/1-SA-07:09.random user/cperciva/freebsd-update-build/patches/7.0-RC1/ user/cperciva/freebsd-update-build/patches/7.0-RC1/1-SA-08:01.pty user/cperciva/freebsd-update-build/patches/7.0-RC1/1-SA-08:02.libc user/cperciva/freebsd-update-build/patches/7.0-RC2/ user/cperciva/freebsd-update-build/patches/7.0-RC2/1-SA-08:03.sendfile user/cperciva/freebsd-update-build/patches/7.0-RELEASE/4-SA-08:09.icmp user/cperciva/freebsd-update-build/patches/7.1-BETA/ user/cperciva/freebsd-update-build/patches/7.1-BETA/0-openssh.man user/cperciva/freebsd-update-build/patches/7.1-BETA/1-SA-08:10.nd6 user/cperciva/freebsd-update-build/patches/7.1-BETA2/ user/cperciva/freebsd-update-build/patches/7.1-BETA2/1-SA-08:11.arc4random user/cperciva/freebsd-update-build/patches/7.1-RC1/ user/cperciva/freebsd-update-build/patches/7.1-RC1/1-SA-08:12.ftpd user/cperciva/freebsd-update-build/patches/7.1-RC1/1-SA-08:13.protosw user/cperciva/freebsd-update-build/patches/7.1-RC2/ user/cperciva/freebsd-update-build/patches/7.1-RC2/1-09:01.lukemftpd user/cperciva/freebsd-update-build/patches/7.1-RC2/1-09:02.openssl user/cperciva/freebsd-update-build/patches/7.1-RC2/2-09:03.ntpd user/cperciva/freebsd-update-build/patches/7.1-RC2/2-09:04.bind user/cperciva/freebsd-update-build/patches/7.2-RC1/ user/cperciva/freebsd-update-build/patches/7.2-RC1/1-SA-09:08.openssl user/cperciva/freebsd-update-build/patches/8.0-BETA1/ user/cperciva/freebsd-update-build/patches/8.0-BETA1/0-man9 user/cperciva/freebsd-update-build/patches/8.0-BETA1/0-nc.1 (contents, props changed) user/cperciva/freebsd-update-build/patches/8.0-BETA1/1-SA-09:12.bind user/cperciva/freebsd-update-build/patches/8.0-BETA2/ user/cperciva/freebsd-update-build/patches/8.0-BETA2/1-SA-09:12.bind user/cperciva/freebsd-update-build/patches/8.0-BETA4/ user/cperciva/freebsd-update-build/patches/8.0-BETA4/1-EN-09:05.null user/cperciva/freebsd-update-build/patches/8.0-RC1/ user/cperciva/freebsd-update-build/patches/8.0-RC1/1-EN-09:05.null user/cperciva/freebsd-update-build/patches/8.0-RC2/ user/cperciva/freebsd-update-build/patches/8.0-RC2/1-SA-09:15.ssl user/cperciva/freebsd-update-build/patches/8.0-RC2/1-SA-09:16.rtld user/cperciva/freebsd-update-build/patches/8.0-RC2/1-SA-09:17.freebsd-update user/cperciva/freebsd-update-build/patches/8.0-RC3/ user/cperciva/freebsd-update-build/patches/8.0-RC3/1-SA-09:15.ssl user/cperciva/freebsd-update-build/patches/8.0-RC3/1-SA-09:16.rtld user/cperciva/freebsd-update-build/patches/8.0-RC3/1-SA-09:17.freebsd-update user/cperciva/freebsd-update-build/patches/8.1-BETA1/ user/cperciva/freebsd-update-build/patches/8.1-BETA1/0-ssh-pkcs11-helper.patch user/cperciva/freebsd-update-build/patches/8.1-RC1/ user/cperciva/freebsd-update-build/patches/8.1-RC1/1-SA-10:07.mbuf user/cperciva/freebsd-update-build/patches/8.1-RC2/ user/cperciva/freebsd-update-build/patches/8.1-RC2/1-SA-10:07.mbuf user/cperciva/freebsd-update-build/patches/8.1-RELEASE/12-SA-12:04.sysret user/cperciva/freebsd-update-build/patches/8.4-BETA1/ user/cperciva/freebsd-update-build/patches/8.4-BETA1/1-SA-13:04.bind user/cperciva/freebsd-update-build/patches/8.4-RC1/ user/cperciva/freebsd-update-build/patches/8.4-RC1/1-SA-13:05.nfsserver user/cperciva/freebsd-update-build/patches/8.4-RC2/ user/cperciva/freebsd-update-build/patches/8.4-RC2/1-SA-13:05.nfsserver user/cperciva/freebsd-update-build/patches/8.4-RC3/ user/cperciva/freebsd-update-build/patches/8.4-RELEASE/31-EN-15:08.sendmail user/cperciva/freebsd-update-build/patches/8.4-RELEASE/32-EN-15:08.sendmail user/cperciva/freebsd-update-build/patches/8.4-RELEASE/33-SA-15:11.bind user/cperciva/freebsd-update-build/patches/8.4-RELEASE/34-SA-15:13.tcp user/cperciva/freebsd-update-build/patches/8.4-RELEASE/35-SA-15:14.tcp user/cperciva/freebsd-update-build/patches/8.4-RELEASE/35-SA-15:16.openssh user/cperciva/freebsd-update-build/patches/8.4-RELEASE/35-SA-15:17.bind user/cperciva/freebsd-update-build/patches/8.4-RELEASE/36-SA-15:16.openssh user/cperciva/freebsd-update-build/patches/9.0-BETA1/ user/cperciva/freebsd-update-build/patches/9.0-BETA1/0-clang.patch user/cperciva/freebsd-update-build/patches/9.0-BETA1/1-EN-12:01.freebsd-update user/cperciva/freebsd-update-build/patches/9.0-BETA2/ user/cperciva/freebsd-update-build/patches/9.0-BETA2/0-clang.patch user/cperciva/freebsd-update-build/patches/9.0-BETA2/1-EN-12:01.freebsd-update user/cperciva/freebsd-update-build/patches/9.0-BETA3/ user/cperciva/freebsd-update-build/patches/9.0-BETA3/0-clang.patch user/cperciva/freebsd-update-build/patches/9.0-BETA3/1-EN-12:01.freebsd-update user/cperciva/freebsd-update-build/patches/9.0-RC1/ user/cperciva/freebsd-update-build/patches/9.0-RC1/0-clang.patch user/cperciva/freebsd-update-build/patches/9.0-RC1/1-EN-12:01.freebsd-update user/cperciva/freebsd-update-build/patches/9.0-RC2/ user/cperciva/freebsd-update-build/patches/9.0-RC2/0-clang.patch user/cperciva/freebsd-update-build/patches/9.0-RC2/1-SA-11:06.bind user/cperciva/freebsd-update-build/patches/9.0-RC2/1-SA-11:07.chroot user/cperciva/freebsd-update-build/patches/9.0-RC2/1-SA-11:08.telnetd user/cperciva/freebsd-update-build/patches/9.0-RC2/1-SA-11:09.pam_ssh user/cperciva/freebsd-update-build/patches/9.0-RC2/1-SA-11:10.pam user/cperciva/freebsd-update-build/patches/9.0-RC3/ user/cperciva/freebsd-update-build/patches/9.0-RC3/0-clang.patch user/cperciva/freebsd-update-build/patches/9.0-RC3/1-SA-11:07.chroot user/cperciva/freebsd-update-build/patches/9.0-RC3/1-SA-11:08.telnetd user/cperciva/freebsd-update-build/patches/9.0-RC3/1-SA-11:09.pam_ssh user/cperciva/freebsd-update-build/patches/9.0-RC3/1-SA-11:10.pam user/cperciva/freebsd-update-build/patches/9.1-RC1/ user/cperciva/freebsd-update-build/patches/9.1-RC1/0-clang.patch user/cperciva/freebsd-update-build/patches/9.1-RC1/1-SA-12:06.bind user/cperciva/freebsd-update-build/patches/9.1-RC1/1-SA-12:07.hostapd user/cperciva/freebsd-update-build/patches/9.1-RC1/1-SA-12:08.linux user/cperciva/freebsd-update-build/patches/9.1-RC2/ user/cperciva/freebsd-update-build/patches/9.1-RC2/0-clang.patch user/cperciva/freebsd-update-build/patches/9.1-RC2/1-SA-12:07.hostapd user/cperciva/freebsd-update-build/patches/9.1-RC2/1-SA-12:08.linux user/cperciva/freebsd-update-build/patches/9.1-RC3/ user/cperciva/freebsd-update-build/patches/9.1-RC3/0-clang.patch user/cperciva/freebsd-update-build/patches/9.1-RC3/1-SA-12:07.hostapd user/cperciva/freebsd-update-build/patches/9.1-RC3/1-SA-12:08.linux user/cperciva/freebsd-update-build/patches/9.2-BETA1/ user/cperciva/freebsd-update-build/patches/9.2-BETA2/ user/cperciva/freebsd-update-build/patches/9.2-RC1/ user/cperciva/freebsd-update-build/patches/9.2-RC1/1-SA-13:09.ip_multicast user/cperciva/freebsd-update-build/patches/9.2-RC1/1-SA-13:10.sctp user/cperciva/freebsd-update-build/patches/9.2-RC1/2-SA-13:11.sendfile user/cperciva/freebsd-update-build/patches/9.2-RC1/2-SA-13:12.ifioctl user/cperciva/freebsd-update-build/patches/9.2-RC1/2-SA-13:13.nullfs user/cperciva/freebsd-update-build/patches/9.2-RC2/ user/cperciva/freebsd-update-build/patches/9.2-RC2/1-SA-13:09.ip_multicast user/cperciva/freebsd-update-build/patches/9.2-RC2/2-SA-13:11.sendfile user/cperciva/freebsd-update-build/patches/9.2-RC2/2-SA-13:12.ifioctl user/cperciva/freebsd-update-build/patches/9.2-RC2/2-SA-13:13.nullfs user/cperciva/freebsd-update-build/patches/9.2-RC3/ user/cperciva/freebsd-update-build/patches/9.2-RC3/1-SA-13:12.ifioctl user/cperciva/freebsd-update-build/patches/9.2-RC3/1-SA-13:13.nullfs user/cperciva/freebsd-update-build/patches/9.2-RC3/2-EN-13:04.freebsd-update user/cperciva/freebsd-update-build/patches/9.2-RC3/3-EN-13:05.freebsd-update user/cperciva/freebsd-update-build/patches/9.2-RC4/ user/cperciva/freebsd-update-build/patches/9.2-RC4/0-mergemaster.patch user/cperciva/freebsd-update-build/patches/9.2-RC4/1-EN-13:04.freebsd-update user/cperciva/freebsd-update-build/patches/9.2-RC4/2-EN-13:05.freebsd-update user/cperciva/freebsd-update-build/patches/9.3-BETA1/ user/cperciva/freebsd-update-build/patches/9.3-BETA1/1-SA-14:12.ktrace user/cperciva/freebsd-update-build/patches/9.3-BETA1/1-SA-14:13.pam user/cperciva/freebsd-update-build/patches/9.3-BETA1/2-SA-14:14.openssl user/cperciva/freebsd-update-build/patches/9.3-BETA1/3-SA-14:16.file user/cperciva/freebsd-update-build/patches/9.3-BETA2/ user/cperciva/freebsd-update-build/patches/9.3-BETA2/1-SA-14:16.file user/cperciva/freebsd-update-build/patches/9.3-BETA3/ user/cperciva/freebsd-update-build/patches/9.3-BETA3/1-SA-14:16.file user/cperciva/freebsd-update-build/patches/9.3-BETA3/2-SA-14:17.kmem user/cperciva/freebsd-update-build/patches/9.3-RC1/ user/cperciva/freebsd-update-build/patches/9.3-RC1/1-SA-14:16.file user/cperciva/freebsd-update-build/patches/9.3-RC1/2-SA-14:17.kmem user/cperciva/freebsd-update-build/patches/9.3-RC2/ user/cperciva/freebsd-update-build/patches/9.3-RC2/1-SA-14:17.kmem user/cperciva/freebsd-update-build/patches/9.3-RC3/ user/cperciva/freebsd-update-build/patches/9.3-RC3/1-SA-14:17.kmem Added: user/cperciva/freebsd-update-build/patches/10.0-BETA1/1-EN-13:04.freebsd-update ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.0-BETA1/1-EN-13:04.freebsd-update Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,78 @@ +Index: usr.sbin/freebsd-update/freebsd-update.sh +=================================================================== +--- usr.sbin/freebsd-update/freebsd-update.sh ++++ usr.sbin/freebsd-update/freebsd-update.sh +@@ -1200,7 +1200,7 @@ + # Some aliases to save space later: ${P} is a character which can + # appear in a path; ${M} is the four numeric metadata fields; and + # ${H} is a sha256 hash. +- P="[-+./:=%@_[[:alnum:]]" ++ P="[-+./:=%@_[~[:alnum:]]" + M="[0-9]+\|[0-9]+\|[0-9]+\|[0-9]+" + H="[0-9a-f]{64}" + +@@ -2814,16 +2814,24 @@ + + # If we haven't already dealt with the world, deal with it. + if ! [ -f $1/worlddone ]; then ++ # Create any necessary directories first ++ grep -vE '^/boot/' $1/INDEX-NEW | ++ grep -E '^[^|]+\|d\|' > INDEX-NEW ++ install_from_index INDEX-NEW || return 1 ++ + # Install new shared libraries next + grep -vE '^/boot/' $1/INDEX-NEW | +- grep -E '/lib/.*\.so\.[0-9]+\|' > INDEX-NEW ++ grep -vE '^[^|]+\|d\|' | ++ grep -E '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' > INDEX-NEW + install_from_index INDEX-NEW || return 1 + + # Deal with everything else + grep -vE '^/boot/' $1/INDEX-OLD | +- grep -vE '/lib/.*\.so\.[0-9]+\|' > INDEX-OLD ++ grep -vE '^[^|]+\|d\|' | ++ grep -vE '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' > INDEX-OLD + grep -vE '^/boot/' $1/INDEX-NEW | +- grep -vE '/lib/.*\.so\.[0-9]+\|' > INDEX-NEW ++ grep -vE '^[^|]+\|d\|' | ++ grep -vE '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' > INDEX-NEW + install_from_index INDEX-NEW || return 1 + install_delete INDEX-OLD INDEX-NEW || return 1 + +@@ -2844,11 +2852,11 @@ + + # Do we need to ask the user to portupgrade now? + grep -vE '^/boot/' $1/INDEX-NEW | +- grep -E '/lib/.*\.so\.[0-9]+\|' | ++ grep -E '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' | + cut -f 1 -d '|' | + sort > newfiles + if grep -vE '^/boot/' $1/INDEX-OLD | +- grep -E '/lib/.*\.so\.[0-9]+\|' | ++ grep -E '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' | + cut -f 1 -d '|' | + sort | + join -v 1 - newfiles | +@@ -2868,11 +2876,20 @@ + + # Remove old shared libraries + grep -vE '^/boot/' $1/INDEX-NEW | +- grep -E '/lib/.*\.so\.[0-9]+\|' > INDEX-NEW ++ grep -vE '^[^|]+\|d\|' | ++ grep -E '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' > INDEX-NEW + grep -vE '^/boot/' $1/INDEX-OLD | +- grep -E '/lib/.*\.so\.[0-9]+\|' > INDEX-OLD ++ grep -vE '^[^|]+\|d\|' | ++ grep -E '^[^|]*/lib/[^|]*\.so\.[0-9]+\|' > INDEX-OLD + install_delete INDEX-OLD INDEX-NEW || return 1 + ++ # Remove old directories ++ grep -vE '^/boot/' $1/INDEX-OLD | ++ grep -E '^[^|]+\|d\|' > INDEX-OLD ++ grep -vE '^/boot/' $1/INDEX-OLD | ++ grep -E '^[^|]+\|d\|' > INDEX-OLD ++ install_delete INDEX-OLD INDEX-NEW || return 1 ++ + # Remove temporary files + rm INDEX-OLD INDEX-NEW + } Added: user/cperciva/freebsd-update-build/patches/10.0-BETA1/2-SA-13:14.openssh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.0-BETA1/2-SA-13:14.openssh Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,13 @@ +Index: crypto/openssh/monitor_wrap.c +=================================================================== +--- crypto/openssh/monitor_wrap.c (revision 257864) ++++ crypto/openssh/monitor_wrap.c (working copy) +@@ -480,7 +480,7 @@ mm_newkeys_from_blob(u_char *blob, int blen) + buffer_init(&b); + buffer_append(&b, blob, blen); + +- newkey = xmalloc(sizeof(*newkey)); ++ newkey = xcalloc(1, sizeof(*newkey)); + enc = &newkey->enc; + mac = &newkey->mac; + comp = &newkey->comp; Added: user/cperciva/freebsd-update-build/patches/10.0-BETA1/3-EN-13:05.freebsd-update ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.0-BETA1/3-EN-13:05.freebsd-update Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,17 @@ +Index: usr.sbin/freebsd-update/freebsd-update.sh +=================================================================== +--- usr.sbin/freebsd-update/freebsd-update.sh (revision 257878) ++++ usr.sbin/freebsd-update/freebsd-update.sh (revision 257879) +@@ -2884,10 +2884,10 @@ + install_delete INDEX-OLD INDEX-NEW || return 1 + + # Remove old directories ++ grep -vE '^/boot/' $1/INDEX-NEW | ++ grep -E '^[^|]+\|d\|' > INDEX-NEW + grep -vE '^/boot/' $1/INDEX-OLD | + grep -E '^[^|]+\|d\|' > INDEX-OLD +- grep -vE '^/boot/' $1/INDEX-OLD | +- grep -E '^[^|]+\|d\|' > INDEX-OLD + install_delete INDEX-OLD INDEX-NEW || return 1 + + # Remove temporary files Added: user/cperciva/freebsd-update-build/patches/10.0-BETA2/1-SA-13:14.openssh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.0-BETA2/1-SA-13:14.openssh Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,13 @@ +Index: crypto/openssh/monitor_wrap.c +=================================================================== +--- crypto/openssh/monitor_wrap.c (revision 257864) ++++ crypto/openssh/monitor_wrap.c (working copy) +@@ -480,7 +480,7 @@ mm_newkeys_from_blob(u_char *blob, int blen) + buffer_init(&b); + buffer_append(&b, blob, blen); + +- newkey = xmalloc(sizeof(*newkey)); ++ newkey = xcalloc(1, sizeof(*newkey)); + enc = &newkey->enc; + mac = &newkey->mac; + comp = &newkey->comp; Added: user/cperciva/freebsd-update-build/patches/10.0-BETA2/2-EN-13:05.freebsd-update ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.0-BETA2/2-EN-13:05.freebsd-update Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,17 @@ +Index: usr.sbin/freebsd-update/freebsd-update.sh +=================================================================== +--- usr.sbin/freebsd-update/freebsd-update.sh (revision 257878) ++++ usr.sbin/freebsd-update/freebsd-update.sh (revision 257879) +@@ -2884,10 +2884,10 @@ + install_delete INDEX-OLD INDEX-NEW || return 1 + + # Remove old directories ++ grep -vE '^/boot/' $1/INDEX-NEW | ++ grep -E '^[^|]+\|d\|' > INDEX-NEW + grep -vE '^/boot/' $1/INDEX-OLD | + grep -E '^[^|]+\|d\|' > INDEX-OLD +- grep -vE '^/boot/' $1/INDEX-OLD | +- grep -E '^[^|]+\|d\|' > INDEX-OLD + install_delete INDEX-OLD INDEX-NEW || return 1 + + # Remove temporary files Added: user/cperciva/freebsd-update-build/patches/10.0-BETA3/1-SA-13:14.openssh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.0-BETA3/1-SA-13:14.openssh Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,13 @@ +Index: crypto/openssh/monitor_wrap.c +=================================================================== +--- crypto/openssh/monitor_wrap.c (revision 257864) ++++ crypto/openssh/monitor_wrap.c (working copy) +@@ -480,7 +480,7 @@ mm_newkeys_from_blob(u_char *blob, int blen) + buffer_init(&b); + buffer_append(&b, blob, blen); + +- newkey = xmalloc(sizeof(*newkey)); ++ newkey = xcalloc(1, sizeof(*newkey)); + enc = &newkey->enc; + mac = &newkey->mac; + comp = &newkey->comp; Added: user/cperciva/freebsd-update-build/patches/10.0-BETA3/2-EN-13:05.freebsd-update ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.0-BETA3/2-EN-13:05.freebsd-update Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,17 @@ +Index: usr.sbin/freebsd-update/freebsd-update.sh +=================================================================== +--- usr.sbin/freebsd-update/freebsd-update.sh (revision 257878) ++++ usr.sbin/freebsd-update/freebsd-update.sh (revision 257879) +@@ -2884,10 +2884,10 @@ + install_delete INDEX-OLD INDEX-NEW || return 1 + + # Remove old directories ++ grep -vE '^/boot/' $1/INDEX-NEW | ++ grep -E '^[^|]+\|d\|' > INDEX-NEW + grep -vE '^/boot/' $1/INDEX-OLD | + grep -E '^[^|]+\|d\|' > INDEX-OLD +- grep -vE '^/boot/' $1/INDEX-OLD | +- grep -E '^[^|]+\|d\|' > INDEX-OLD + install_delete INDEX-OLD INDEX-NEW || return 1 + + # Remove temporary files Added: user/cperciva/freebsd-update-build/patches/10.0-RC1/1-EN-14:02.mmap ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.0-RC1/1-EN-14:02.mmap Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,20 @@ +Index: sys/vm/vm_map.c +=================================================================== +--- sys/vm/vm_map.c (revision 259950) ++++ sys/vm/vm_map.c (revision 259951) +@@ -1207,6 +1207,7 @@ charged: + } + else if ((prev_entry != &map->header) && + (prev_entry->eflags == protoeflags) && ++ (cow & (MAP_ENTRY_GROWS_DOWN | MAP_ENTRY_GROWS_UP)) == 0 && + (prev_entry->end == start) && + (prev_entry->wired_count == 0) && + (prev_entry->cred == cred || +@@ -3339,7 +3340,6 @@ vm_map_stack(vm_map_t map, vm_offset_t addrbos, vm + * NOTE: We explicitly allow bi-directional stacks. + */ + orient = cow & (MAP_STACK_GROWS_DOWN|MAP_STACK_GROWS_UP); +- cow &= ~orient; + KASSERT(orient != 0, ("No stack grow direction")); + + if (addrbos < vm_map_min(map) || Added: user/cperciva/freebsd-update-build/patches/10.0-RC1/1-SA-14:01.bsnmpd ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.0-RC1/1-SA-14:01.bsnmpd Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,16 @@ +Index: contrib/bsnmp/lib/snmpagent.c +=================================================================== +--- contrib/bsnmp/lib/snmpagent.c (revision 259661) ++++ contrib/bsnmp/lib/snmpagent.c (working copy) +@@ -488,6 +488,11 @@ snmp_getbulk(struct snmp_pdu *pdu, struct asn_buf + for (cnt = 0; cnt < pdu->error_index; cnt++) { + eomib = 1; + for (i = non_rep; i < pdu->nbindings; i++) { ++ ++ if (resp->nbindings == SNMP_MAX_BINDINGS) ++ /* PDU is full */ ++ goto done; ++ + if (cnt == 0) + result = do_getnext(&context, &pdu->bindings[i], + &resp->bindings[resp->nbindings], pdu); Added: user/cperciva/freebsd-update-build/patches/10.0-RC1/1-SA-14:02.ntpd ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.0-RC1/1-SA-14:02.ntpd Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,13 @@ +Index: contrib/ntp/ntpd/ntp_config.c +=================================================================== +--- contrib/ntp/ntpd/ntp_config.c (revision 259828) ++++ contrib/ntp/ntpd/ntp_config.c (working copy) +@@ -597,6 +597,8 @@ getconfig( + #endif /* not SYS_WINNT */ + } + ++ proto_config(PROTO_MONITOR, 0, 0., NULL); ++ + for (;;) { + if (tok == CONFIG_END) + break; Added: user/cperciva/freebsd-update-build/patches/10.0-RC1/1-SA-14:03.openssl ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.0-RC1/1-SA-14:03.openssl Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,91 @@ +Index: crypto/openssl/ssl/d1_both.c +=================================================================== +--- crypto/openssl/ssl/d1_both.c (revision 260378) ++++ crypto/openssl/ssl/d1_both.c (working copy) +@@ -214,6 +214,12 @@ dtls1_hm_fragment_new(unsigned long frag_len, int + static void + dtls1_hm_fragment_free(hm_fragment *frag) + { ++ ++ if (frag->msg_header.is_ccs) ++ { ++ EVP_CIPHER_CTX_free(frag->msg_header.saved_retransmit_state.enc_write_ctx); ++ EVP_MD_CTX_destroy(frag->msg_header.saved_retransmit_state.write_hash); ++ } + if (frag->fragment) OPENSSL_free(frag->fragment); + if (frag->reassembly) OPENSSL_free(frag->reassembly); + OPENSSL_free(frag); +Index: crypto/openssl/ssl/s3_both.c +=================================================================== +--- crypto/openssl/ssl/s3_both.c (revision 260378) ++++ crypto/openssl/ssl/s3_both.c (working copy) +@@ -208,7 +208,11 @@ static void ssl3_take_mac(SSL *s) + { + const char *sender; + int slen; +- ++ /* If no new cipher setup return immediately: other functions will ++ * set the appropriate error. ++ */ ++ if (s->s3->tmp.new_cipher == NULL) ++ return; + if (s->state & SSL_ST_CONNECT) + { + sender=s->method->ssl3_enc->server_finished_label; +Index: crypto/openssl/ssl/s3_lib.c +=================================================================== +--- crypto/openssl/ssl/s3_lib.c (revision 260378) ++++ crypto/openssl/ssl/s3_lib.c (working copy) +@@ -4274,7 +4274,7 @@ need to go to SSL_ST_ACCEPT. + long ssl_get_algorithm2(SSL *s) + { + long alg2 = s->s3->tmp.new_cipher->algorithm2; +- if (TLS1_get_version(s) >= TLS1_2_VERSION && ++ if (s->method->version == TLS1_2_VERSION && + alg2 == (SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF)) + return SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256; + return alg2; +Index: crypto/openssl/ssl/ssl_locl.h +=================================================================== +--- crypto/openssl/ssl/ssl_locl.h (revision 260378) ++++ crypto/openssl/ssl/ssl_locl.h (working copy) +@@ -621,6 +621,8 @@ extern SSL3_ENC_METHOD TLSv1_enc_data; + extern SSL3_ENC_METHOD SSLv3_enc_data; + extern SSL3_ENC_METHOD DTLSv1_enc_data; + ++#define SSL_IS_DTLS(s) (s->method->version == DTLS1_VERSION) ++ + #define IMPLEMENT_tls_meth_func(version, func_name, s_accept, s_connect, \ + s_get_meth) \ + const SSL_METHOD *func_name(void) \ +Index: crypto/openssl/ssl/t1_enc.c +=================================================================== +--- crypto/openssl/ssl/t1_enc.c (revision 260378) ++++ crypto/openssl/ssl/t1_enc.c (working copy) +@@ -414,15 +414,20 @@ int tls1_change_cipher_state(SSL *s, int which) + s->mac_flags |= SSL_MAC_FLAG_WRITE_MAC_STREAM; + else + s->mac_flags &= ~SSL_MAC_FLAG_WRITE_MAC_STREAM; +- if (s->enc_write_ctx != NULL) ++ if (s->enc_write_ctx != NULL && !SSL_IS_DTLS(s)) + reuse_dd = 1; +- else if ((s->enc_write_ctx=OPENSSL_malloc(sizeof(EVP_CIPHER_CTX))) == NULL) ++ else if ((s->enc_write_ctx=EVP_CIPHER_CTX_new()) == NULL) + goto err; ++ dd= s->enc_write_ctx; ++ if (SSL_IS_DTLS(s)) ++ { ++ mac_ctx = EVP_MD_CTX_create(); ++ if (!mac_ctx) ++ goto err; ++ s->write_hash = mac_ctx; ++ } + else +- /* make sure it's intialized in case we exit later with an error */ +- EVP_CIPHER_CTX_init(s->enc_write_ctx); +- dd= s->enc_write_ctx; +- mac_ctx = ssl_replace_hash(&s->write_hash,NULL); ++ mac_ctx = ssl_replace_hash(&s->write_hash,NULL); + #ifndef OPENSSL_NO_COMP + if (s->compress != NULL) + { Added: user/cperciva/freebsd-update-build/patches/10.0-RC2/1-EN-14:02.mmap ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.0-RC2/1-EN-14:02.mmap Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,20 @@ +Index: sys/vm/vm_map.c +=================================================================== +--- sys/vm/vm_map.c (revision 259950) ++++ sys/vm/vm_map.c (revision 259951) +@@ -1207,6 +1207,7 @@ charged: + } + else if ((prev_entry != &map->header) && + (prev_entry->eflags == protoeflags) && ++ (cow & (MAP_ENTRY_GROWS_DOWN | MAP_ENTRY_GROWS_UP)) == 0 && + (prev_entry->end == start) && + (prev_entry->wired_count == 0) && + (prev_entry->cred == cred || +@@ -3339,7 +3340,6 @@ vm_map_stack(vm_map_t map, vm_offset_t addrbos, vm + * NOTE: We explicitly allow bi-directional stacks. + */ + orient = cow & (MAP_STACK_GROWS_DOWN|MAP_STACK_GROWS_UP); +- cow &= ~orient; + KASSERT(orient != 0, ("No stack grow direction")); + + if (addrbos < vm_map_min(map) || Added: user/cperciva/freebsd-update-build/patches/10.0-RC2/1-SA-14:01.bsnmpd ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.0-RC2/1-SA-14:01.bsnmpd Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,16 @@ +Index: contrib/bsnmp/lib/snmpagent.c +=================================================================== +--- contrib/bsnmp/lib/snmpagent.c (revision 259661) ++++ contrib/bsnmp/lib/snmpagent.c (working copy) +@@ -488,6 +488,11 @@ snmp_getbulk(struct snmp_pdu *pdu, struct asn_buf + for (cnt = 0; cnt < pdu->error_index; cnt++) { + eomib = 1; + for (i = non_rep; i < pdu->nbindings; i++) { ++ ++ if (resp->nbindings == SNMP_MAX_BINDINGS) ++ /* PDU is full */ ++ goto done; ++ + if (cnt == 0) + result = do_getnext(&context, &pdu->bindings[i], + &resp->bindings[resp->nbindings], pdu); Added: user/cperciva/freebsd-update-build/patches/10.0-RC2/1-SA-14:02.ntpd ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.0-RC2/1-SA-14:02.ntpd Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,13 @@ +Index: contrib/ntp/ntpd/ntp_config.c +=================================================================== +--- contrib/ntp/ntpd/ntp_config.c (revision 259828) ++++ contrib/ntp/ntpd/ntp_config.c (working copy) +@@ -597,6 +597,8 @@ getconfig( + #endif /* not SYS_WINNT */ + } + ++ proto_config(PROTO_MONITOR, 0, 0., NULL); ++ + for (;;) { + if (tok == CONFIG_END) + break; Added: user/cperciva/freebsd-update-build/patches/10.0-RC2/1-SA-14:03.openssl ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.0-RC2/1-SA-14:03.openssl Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,91 @@ +Index: crypto/openssl/ssl/d1_both.c +=================================================================== +--- crypto/openssl/ssl/d1_both.c (revision 260378) ++++ crypto/openssl/ssl/d1_both.c (working copy) +@@ -214,6 +214,12 @@ dtls1_hm_fragment_new(unsigned long frag_len, int + static void + dtls1_hm_fragment_free(hm_fragment *frag) + { ++ ++ if (frag->msg_header.is_ccs) ++ { ++ EVP_CIPHER_CTX_free(frag->msg_header.saved_retransmit_state.enc_write_ctx); ++ EVP_MD_CTX_destroy(frag->msg_header.saved_retransmit_state.write_hash); ++ } + if (frag->fragment) OPENSSL_free(frag->fragment); + if (frag->reassembly) OPENSSL_free(frag->reassembly); + OPENSSL_free(frag); +Index: crypto/openssl/ssl/s3_both.c +=================================================================== +--- crypto/openssl/ssl/s3_both.c (revision 260378) ++++ crypto/openssl/ssl/s3_both.c (working copy) +@@ -208,7 +208,11 @@ static void ssl3_take_mac(SSL *s) + { + const char *sender; + int slen; +- ++ /* If no new cipher setup return immediately: other functions will ++ * set the appropriate error. ++ */ ++ if (s->s3->tmp.new_cipher == NULL) ++ return; + if (s->state & SSL_ST_CONNECT) + { + sender=s->method->ssl3_enc->server_finished_label; +Index: crypto/openssl/ssl/s3_lib.c +=================================================================== +--- crypto/openssl/ssl/s3_lib.c (revision 260378) ++++ crypto/openssl/ssl/s3_lib.c (working copy) +@@ -4274,7 +4274,7 @@ need to go to SSL_ST_ACCEPT. + long ssl_get_algorithm2(SSL *s) + { + long alg2 = s->s3->tmp.new_cipher->algorithm2; +- if (TLS1_get_version(s) >= TLS1_2_VERSION && ++ if (s->method->version == TLS1_2_VERSION && + alg2 == (SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF)) + return SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256; + return alg2; +Index: crypto/openssl/ssl/ssl_locl.h +=================================================================== +--- crypto/openssl/ssl/ssl_locl.h (revision 260378) ++++ crypto/openssl/ssl/ssl_locl.h (working copy) +@@ -621,6 +621,8 @@ extern SSL3_ENC_METHOD TLSv1_enc_data; + extern SSL3_ENC_METHOD SSLv3_enc_data; + extern SSL3_ENC_METHOD DTLSv1_enc_data; + ++#define SSL_IS_DTLS(s) (s->method->version == DTLS1_VERSION) ++ + #define IMPLEMENT_tls_meth_func(version, func_name, s_accept, s_connect, \ + s_get_meth) \ + const SSL_METHOD *func_name(void) \ +Index: crypto/openssl/ssl/t1_enc.c +=================================================================== +--- crypto/openssl/ssl/t1_enc.c (revision 260378) ++++ crypto/openssl/ssl/t1_enc.c (working copy) +@@ -414,15 +414,20 @@ int tls1_change_cipher_state(SSL *s, int which) + s->mac_flags |= SSL_MAC_FLAG_WRITE_MAC_STREAM; + else + s->mac_flags &= ~SSL_MAC_FLAG_WRITE_MAC_STREAM; +- if (s->enc_write_ctx != NULL) ++ if (s->enc_write_ctx != NULL && !SSL_IS_DTLS(s)) + reuse_dd = 1; +- else if ((s->enc_write_ctx=OPENSSL_malloc(sizeof(EVP_CIPHER_CTX))) == NULL) ++ else if ((s->enc_write_ctx=EVP_CIPHER_CTX_new()) == NULL) + goto err; ++ dd= s->enc_write_ctx; ++ if (SSL_IS_DTLS(s)) ++ { ++ mac_ctx = EVP_MD_CTX_create(); ++ if (!mac_ctx) ++ goto err; ++ s->write_hash = mac_ctx; ++ } + else +- /* make sure it's intialized in case we exit later with an error */ +- EVP_CIPHER_CTX_init(s->enc_write_ctx); +- dd= s->enc_write_ctx; +- mac_ctx = ssl_replace_hash(&s->write_hash,NULL); ++ mac_ctx = ssl_replace_hash(&s->write_hash,NULL); + #ifndef OPENSSL_NO_COMP + if (s->compress != NULL) + { Added: user/cperciva/freebsd-update-build/patches/10.0-RC3/1-EN-14:02.mmap ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.0-RC3/1-EN-14:02.mmap Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,20 @@ +Index: sys/vm/vm_map.c +=================================================================== +--- sys/vm/vm_map.c (revision 259950) ++++ sys/vm/vm_map.c (revision 259951) +@@ -1207,6 +1207,7 @@ charged: + } + else if ((prev_entry != &map->header) && + (prev_entry->eflags == protoeflags) && ++ (cow & (MAP_ENTRY_GROWS_DOWN | MAP_ENTRY_GROWS_UP)) == 0 && + (prev_entry->end == start) && + (prev_entry->wired_count == 0) && + (prev_entry->cred == cred || +@@ -3339,7 +3340,6 @@ vm_map_stack(vm_map_t map, vm_offset_t addrbos, vm + * NOTE: We explicitly allow bi-directional stacks. + */ + orient = cow & (MAP_STACK_GROWS_DOWN|MAP_STACK_GROWS_UP); +- cow &= ~orient; + KASSERT(orient != 0, ("No stack grow direction")); + + if (addrbos < vm_map_min(map) || Added: user/cperciva/freebsd-update-build/patches/10.0-RC3/1-SA-14:01.bsnmpd ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.0-RC3/1-SA-14:01.bsnmpd Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,16 @@ +Index: contrib/bsnmp/lib/snmpagent.c +=================================================================== +--- contrib/bsnmp/lib/snmpagent.c (revision 259661) ++++ contrib/bsnmp/lib/snmpagent.c (working copy) +@@ -488,6 +488,11 @@ snmp_getbulk(struct snmp_pdu *pdu, struct asn_buf + for (cnt = 0; cnt < pdu->error_index; cnt++) { + eomib = 1; + for (i = non_rep; i < pdu->nbindings; i++) { ++ ++ if (resp->nbindings == SNMP_MAX_BINDINGS) ++ /* PDU is full */ ++ goto done; ++ + if (cnt == 0) + result = do_getnext(&context, &pdu->bindings[i], + &resp->bindings[resp->nbindings], pdu); Added: user/cperciva/freebsd-update-build/patches/10.0-RC3/1-SA-14:02.ntpd ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.0-RC3/1-SA-14:02.ntpd Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,13 @@ +Index: contrib/ntp/ntpd/ntp_config.c +=================================================================== +--- contrib/ntp/ntpd/ntp_config.c (revision 259828) ++++ contrib/ntp/ntpd/ntp_config.c (working copy) +@@ -597,6 +597,8 @@ getconfig( + #endif /* not SYS_WINNT */ + } + ++ proto_config(PROTO_MONITOR, 0, 0., NULL); ++ + for (;;) { + if (tok == CONFIG_END) + break; Added: user/cperciva/freebsd-update-build/patches/10.0-RC3/1-SA-14:03.openssl ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.0-RC3/1-SA-14:03.openssl Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,91 @@ +Index: crypto/openssl/ssl/d1_both.c +=================================================================== +--- crypto/openssl/ssl/d1_both.c (revision 260378) ++++ crypto/openssl/ssl/d1_both.c (working copy) +@@ -214,6 +214,12 @@ dtls1_hm_fragment_new(unsigned long frag_len, int + static void + dtls1_hm_fragment_free(hm_fragment *frag) + { ++ ++ if (frag->msg_header.is_ccs) ++ { ++ EVP_CIPHER_CTX_free(frag->msg_header.saved_retransmit_state.enc_write_ctx); ++ EVP_MD_CTX_destroy(frag->msg_header.saved_retransmit_state.write_hash); ++ } + if (frag->fragment) OPENSSL_free(frag->fragment); + if (frag->reassembly) OPENSSL_free(frag->reassembly); + OPENSSL_free(frag); +Index: crypto/openssl/ssl/s3_both.c +=================================================================== +--- crypto/openssl/ssl/s3_both.c (revision 260378) ++++ crypto/openssl/ssl/s3_both.c (working copy) +@@ -208,7 +208,11 @@ static void ssl3_take_mac(SSL *s) + { + const char *sender; + int slen; +- ++ /* If no new cipher setup return immediately: other functions will ++ * set the appropriate error. ++ */ ++ if (s->s3->tmp.new_cipher == NULL) ++ return; + if (s->state & SSL_ST_CONNECT) + { + sender=s->method->ssl3_enc->server_finished_label; +Index: crypto/openssl/ssl/s3_lib.c +=================================================================== +--- crypto/openssl/ssl/s3_lib.c (revision 260378) ++++ crypto/openssl/ssl/s3_lib.c (working copy) +@@ -4274,7 +4274,7 @@ need to go to SSL_ST_ACCEPT. + long ssl_get_algorithm2(SSL *s) + { + long alg2 = s->s3->tmp.new_cipher->algorithm2; +- if (TLS1_get_version(s) >= TLS1_2_VERSION && ++ if (s->method->version == TLS1_2_VERSION && + alg2 == (SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF)) + return SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256; + return alg2; +Index: crypto/openssl/ssl/ssl_locl.h +=================================================================== +--- crypto/openssl/ssl/ssl_locl.h (revision 260378) ++++ crypto/openssl/ssl/ssl_locl.h (working copy) +@@ -621,6 +621,8 @@ extern SSL3_ENC_METHOD TLSv1_enc_data; + extern SSL3_ENC_METHOD SSLv3_enc_data; + extern SSL3_ENC_METHOD DTLSv1_enc_data; + ++#define SSL_IS_DTLS(s) (s->method->version == DTLS1_VERSION) ++ + #define IMPLEMENT_tls_meth_func(version, func_name, s_accept, s_connect, \ + s_get_meth) \ + const SSL_METHOD *func_name(void) \ +Index: crypto/openssl/ssl/t1_enc.c +=================================================================== +--- crypto/openssl/ssl/t1_enc.c (revision 260378) ++++ crypto/openssl/ssl/t1_enc.c (working copy) +@@ -414,15 +414,20 @@ int tls1_change_cipher_state(SSL *s, int which) + s->mac_flags |= SSL_MAC_FLAG_WRITE_MAC_STREAM; + else + s->mac_flags &= ~SSL_MAC_FLAG_WRITE_MAC_STREAM; +- if (s->enc_write_ctx != NULL) ++ if (s->enc_write_ctx != NULL && !SSL_IS_DTLS(s)) + reuse_dd = 1; +- else if ((s->enc_write_ctx=OPENSSL_malloc(sizeof(EVP_CIPHER_CTX))) == NULL) ++ else if ((s->enc_write_ctx=EVP_CIPHER_CTX_new()) == NULL) + goto err; ++ dd= s->enc_write_ctx; ++ if (SSL_IS_DTLS(s)) ++ { ++ mac_ctx = EVP_MD_CTX_create(); ++ if (!mac_ctx) ++ goto err; ++ s->write_hash = mac_ctx; ++ } + else +- /* make sure it's intialized in case we exit later with an error */ +- EVP_CIPHER_CTX_init(s->enc_write_ctx); +- dd= s->enc_write_ctx; +- mac_ctx = ssl_replace_hash(&s->write_hash,NULL); ++ mac_ctx = ssl_replace_hash(&s->write_hash,NULL); + #ifndef OPENSSL_NO_COMP + if (s->compress != NULL) + { Added: user/cperciva/freebsd-update-build/patches/10.0-RC4/1-SA-14:01.bsnmpd ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.0-RC4/1-SA-14:01.bsnmpd Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,16 @@ +Index: contrib/bsnmp/lib/snmpagent.c +=================================================================== +--- contrib/bsnmp/lib/snmpagent.c (revision 259661) ++++ contrib/bsnmp/lib/snmpagent.c (working copy) +@@ -488,6 +488,11 @@ snmp_getbulk(struct snmp_pdu *pdu, struct asn_buf + for (cnt = 0; cnt < pdu->error_index; cnt++) { + eomib = 1; + for (i = non_rep; i < pdu->nbindings; i++) { ++ ++ if (resp->nbindings == SNMP_MAX_BINDINGS) ++ /* PDU is full */ ++ goto done; ++ + if (cnt == 0) + result = do_getnext(&context, &pdu->bindings[i], + &resp->bindings[resp->nbindings], pdu); Added: user/cperciva/freebsd-update-build/patches/10.0-RC4/1-SA-14:02.ntpd ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.0-RC4/1-SA-14:02.ntpd Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,13 @@ +Index: contrib/ntp/ntpd/ntp_config.c +=================================================================== +--- contrib/ntp/ntpd/ntp_config.c (revision 259828) ++++ contrib/ntp/ntpd/ntp_config.c (working copy) +@@ -597,6 +597,8 @@ getconfig( + #endif /* not SYS_WINNT */ + } + ++ proto_config(PROTO_MONITOR, 0, 0., NULL); ++ + for (;;) { + if (tok == CONFIG_END) + break; Added: user/cperciva/freebsd-update-build/patches/10.0-RC4/1-SA-14:03.openssl ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.0-RC4/1-SA-14:03.openssl Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,91 @@ +Index: crypto/openssl/ssl/d1_both.c +=================================================================== +--- crypto/openssl/ssl/d1_both.c (revision 260378) ++++ crypto/openssl/ssl/d1_both.c (working copy) +@@ -214,6 +214,12 @@ dtls1_hm_fragment_new(unsigned long frag_len, int + static void + dtls1_hm_fragment_free(hm_fragment *frag) + { ++ ++ if (frag->msg_header.is_ccs) ++ { ++ EVP_CIPHER_CTX_free(frag->msg_header.saved_retransmit_state.enc_write_ctx); ++ EVP_MD_CTX_destroy(frag->msg_header.saved_retransmit_state.write_hash); ++ } + if (frag->fragment) OPENSSL_free(frag->fragment); + if (frag->reassembly) OPENSSL_free(frag->reassembly); + OPENSSL_free(frag); +Index: crypto/openssl/ssl/s3_both.c +=================================================================== +--- crypto/openssl/ssl/s3_both.c (revision 260378) ++++ crypto/openssl/ssl/s3_both.c (working copy) +@@ -208,7 +208,11 @@ static void ssl3_take_mac(SSL *s) + { + const char *sender; + int slen; +- ++ /* If no new cipher setup return immediately: other functions will ++ * set the appropriate error. ++ */ ++ if (s->s3->tmp.new_cipher == NULL) ++ return; + if (s->state & SSL_ST_CONNECT) + { + sender=s->method->ssl3_enc->server_finished_label; +Index: crypto/openssl/ssl/s3_lib.c +=================================================================== +--- crypto/openssl/ssl/s3_lib.c (revision 260378) ++++ crypto/openssl/ssl/s3_lib.c (working copy) +@@ -4274,7 +4274,7 @@ need to go to SSL_ST_ACCEPT. + long ssl_get_algorithm2(SSL *s) + { + long alg2 = s->s3->tmp.new_cipher->algorithm2; +- if (TLS1_get_version(s) >= TLS1_2_VERSION && ++ if (s->method->version == TLS1_2_VERSION && + alg2 == (SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF)) + return SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256; + return alg2; +Index: crypto/openssl/ssl/ssl_locl.h +=================================================================== +--- crypto/openssl/ssl/ssl_locl.h (revision 260378) ++++ crypto/openssl/ssl/ssl_locl.h (working copy) +@@ -621,6 +621,8 @@ extern SSL3_ENC_METHOD TLSv1_enc_data; + extern SSL3_ENC_METHOD SSLv3_enc_data; + extern SSL3_ENC_METHOD DTLSv1_enc_data; + ++#define SSL_IS_DTLS(s) (s->method->version == DTLS1_VERSION) ++ + #define IMPLEMENT_tls_meth_func(version, func_name, s_accept, s_connect, \ + s_get_meth) \ + const SSL_METHOD *func_name(void) \ +Index: crypto/openssl/ssl/t1_enc.c +=================================================================== +--- crypto/openssl/ssl/t1_enc.c (revision 260378) ++++ crypto/openssl/ssl/t1_enc.c (working copy) +@@ -414,15 +414,20 @@ int tls1_change_cipher_state(SSL *s, int which) + s->mac_flags |= SSL_MAC_FLAG_WRITE_MAC_STREAM; + else + s->mac_flags &= ~SSL_MAC_FLAG_WRITE_MAC_STREAM; +- if (s->enc_write_ctx != NULL) ++ if (s->enc_write_ctx != NULL && !SSL_IS_DTLS(s)) + reuse_dd = 1; +- else if ((s->enc_write_ctx=OPENSSL_malloc(sizeof(EVP_CIPHER_CTX))) == NULL) ++ else if ((s->enc_write_ctx=EVP_CIPHER_CTX_new()) == NULL) + goto err; ++ dd= s->enc_write_ctx; ++ if (SSL_IS_DTLS(s)) ++ { ++ mac_ctx = EVP_MD_CTX_create(); ++ if (!mac_ctx) ++ goto err; ++ s->write_hash = mac_ctx; ++ } + else +- /* make sure it's intialized in case we exit later with an error */ +- EVP_CIPHER_CTX_init(s->enc_write_ctx); +- dd= s->enc_write_ctx; +- mac_ctx = ssl_replace_hash(&s->write_hash,NULL); ++ mac_ctx = ssl_replace_hash(&s->write_hash,NULL); + #ifndef OPENSSL_NO_COMP + if (s->compress != NULL) + { Added: user/cperciva/freebsd-update-build/patches/10.0-RC5/1-SA-14:01.bsnmpd ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.0-RC5/1-SA-14:01.bsnmpd Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,16 @@ +Index: contrib/bsnmp/lib/snmpagent.c +=================================================================== +--- contrib/bsnmp/lib/snmpagent.c (revision 259661) ++++ contrib/bsnmp/lib/snmpagent.c (working copy) +@@ -488,6 +488,11 @@ snmp_getbulk(struct snmp_pdu *pdu, struct asn_buf + for (cnt = 0; cnt < pdu->error_index; cnt++) { + eomib = 1; + for (i = non_rep; i < pdu->nbindings; i++) { ++ ++ if (resp->nbindings == SNMP_MAX_BINDINGS) ++ /* PDU is full */ ++ goto done; ++ + if (cnt == 0) + result = do_getnext(&context, &pdu->bindings[i], + &resp->bindings[resp->nbindings], pdu); Added: user/cperciva/freebsd-update-build/patches/10.0-RC5/1-SA-14:02.ntpd ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.0-RC5/1-SA-14:02.ntpd Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,13 @@ +Index: contrib/ntp/ntpd/ntp_config.c +=================================================================== +--- contrib/ntp/ntpd/ntp_config.c (revision 259828) ++++ contrib/ntp/ntpd/ntp_config.c (working copy) +@@ -597,6 +597,8 @@ getconfig( + #endif /* not SYS_WINNT */ + } + ++ proto_config(PROTO_MONITOR, 0, 0., NULL); ++ + for (;;) { + if (tok == CONFIG_END) + break; Added: user/cperciva/freebsd-update-build/patches/10.1-BETA1/1-SA-14:19.tcp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.1-BETA1/1-SA-14:19.tcp Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,17 @@ +Index: sys/netinet/tcp_input.c +=================================================================== +--- sys/netinet/tcp_input.c (revision 271383) ++++ sys/netinet/tcp_input.c (working copy) +@@ -2092,11 +2092,7 @@ tcp_do_segment(struct mbuf *m, struct tcphdr *th, + + todrop = tp->rcv_nxt - th->th_seq; + if (todrop > 0) { +- /* +- * If this is a duplicate SYN for our current connection, +- * advance over it and pretend and it's not a SYN. +- */ +- if (thflags & TH_SYN && th->th_seq == tp->irs) { ++ if (thflags & TH_SYN) { + thflags &= ~TH_SYN; + th->th_seq++; + if (th->th_urp > 1) Added: user/cperciva/freebsd-update-build/patches/10.1-BETA3/1-SA-14:20.rtsold ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.1-BETA3/1-SA-14:20.rtsold Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,14 @@ +Index: usr.sbin/rtsold/rtsol.c +=================================================================== +--- usr.sbin/rtsold/rtsol.c.orig ++++ usr.sbin/rtsold/rtsol.c +@@ -933,7 +933,8 @@ + dst_origin = dst; + memset(dst, '\0', dlen); + while (src && (len = (uint8_t)(*src++) & 0x3f) && +- (src + len) <= src_last) { ++ (src + len) <= src_last && ++ (dst - dst_origin < (ssize_t)dlen)) { + if (dst != dst_origin) + *dst++ = '.'; + warnmsg(LOG_DEBUG, __func__, "labellen = %zd", len); Added: user/cperciva/freebsd-update-build/patches/10.1-BETA3/1-SA-14:21.routed ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.1-BETA3/1-SA-14:21.routed Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,15 @@ +Index: sbin/routed/input.c +=================================================================== +--- sbin/routed/input.c.orig ++++ sbin/routed/input.c +@@ -288,6 +288,10 @@ + /* Answer a query from a utility program + * with all we know. + */ ++ if (aifp == NULL) { ++ trace_pkt("ignore remote query"); ++ return; ++ } + if (from->sin_port != htons(RIP_PORT)) { + supply(from, aifp, OUT_QUERY, 0, + rip->rip_vers, ap != 0); Added: user/cperciva/freebsd-update-build/patches/10.1-BETA3/1-SA-14:22.namei ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.1-BETA3/1-SA-14:22.namei Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,94 @@ +Index: sys/kern/vfs_lookup.c +=================================================================== +--- sys/kern/vfs_lookup.c (revision 273277) ++++ sys/kern/vfs_lookup.c (working copy) +@@ -121,6 +121,16 @@ + * if symbolic link, massage name in buffer and continue + * } + */ ++static void ++namei_cleanup_cnp(struct componentname *cnp) ++{ ++ uma_zfree(namei_zone, cnp->cn_pnbuf); ++#ifdef DIAGNOSTIC ++ cnp->cn_pnbuf = NULL; ++ cnp->cn_nameptr = NULL; ++#endif ++} ++ + int + namei(struct nameidata *ndp) + { +@@ -185,11 +195,7 @@ + } + #endif + if (error) { +- uma_zfree(namei_zone, cnp->cn_pnbuf); +-#ifdef DIAGNOSTIC +- cnp->cn_pnbuf = NULL; +- cnp->cn_nameptr = NULL; +-#endif ++ namei_cleanup_cnp(cnp); + ndp->ni_vp = NULL; + return (error); + } +@@ -256,11 +262,7 @@ + } + } + if (error) { +- uma_zfree(namei_zone, cnp->cn_pnbuf); +-#ifdef DIAGNOSTIC +- cnp->cn_pnbuf = NULL; +- cnp->cn_nameptr = NULL; +-#endif ++ namei_cleanup_cnp(cnp); + return (error); + } + } +@@ -286,6 +288,7 @@ + if (KTRPOINT(curthread, KTR_CAPFAIL)) + ktrcapfail(CAPFAIL_LOOKUP, NULL, NULL); + #endif ++ namei_cleanup_cnp(cnp); + return (ENOTCAPABLE); + } + while (*(cnp->cn_nameptr) == '/') { +@@ -298,11 +301,7 @@ + ndp->ni_startdir = dp; + error = lookup(ndp); + if (error) { +- uma_zfree(namei_zone, cnp->cn_pnbuf); +-#ifdef DIAGNOSTIC +- cnp->cn_pnbuf = NULL; +- cnp->cn_nameptr = NULL; +-#endif ++ namei_cleanup_cnp(cnp); + SDT_PROBE(vfs, namei, lookup, return, error, NULL, 0, + 0, 0); + return (error); +@@ -312,11 +311,7 @@ + */ + if ((cnp->cn_flags & ISSYMLINK) == 0) { + if ((cnp->cn_flags & (SAVENAME | SAVESTART)) == 0) { +- uma_zfree(namei_zone, cnp->cn_pnbuf); +-#ifdef DIAGNOSTIC +- cnp->cn_pnbuf = NULL; +- cnp->cn_nameptr = NULL; +-#endif ++ namei_cleanup_cnp(cnp); + } else + cnp->cn_flags |= HASBUF; + +@@ -378,11 +373,7 @@ + vput(ndp->ni_vp); + dp = ndp->ni_dvp; + } +- uma_zfree(namei_zone, cnp->cn_pnbuf); +-#ifdef DIAGNOSTIC +- cnp->cn_pnbuf = NULL; +- cnp->cn_nameptr = NULL; +-#endif ++ namei_cleanup_cnp(cnp); + vput(ndp->ni_vp); + ndp->ni_vp = NULL; + vrele(ndp->ni_dvp); Added: user/cperciva/freebsd-update-build/patches/10.1-BETA3/1-SA-14:23.openssl ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/patches/10.1-BETA3/1-SA-14:23.openssl Thu Jan 7 20:59:31 2016 (r293366) @@ -0,0 +1,10217 @@ +Index: crypto/openssl/CHANGES +=================================================================== +--- crypto/openssl/CHANGES (revision 273303) ++++ crypto/openssl/CHANGES (working copy) +@@ -2,6 +2,57 @@ + OpenSSL CHANGES + _______________ + ++ Changes between 1.0.1i and 1.0.1j [15 Oct 2014] ++ ++ *) SRTP Memory Leak. ++ ++ A flaw in the DTLS SRTP extension parsing code allows an attacker, who ++ sends a carefully crafted handshake message, to cause OpenSSL to fail ++ to free up to 64k of memory causing a memory leak. This could be ++ exploited in a Denial Of Service attack. This issue affects OpenSSL ++ 1.0.1 server implementations for both SSL/TLS and DTLS regardless of ++ whether SRTP is used or configured. Implementations of OpenSSL that ++ have been compiled with OPENSSL_NO_SRTP defined are not affected. ++ ++ The fix was developed by the OpenSSL team. ++ (CVE-2014-3513) ++ [OpenSSL team] ++ ++ *) Session Ticket Memory Leak. ++ ++ When an OpenSSL SSL/TLS/DTLS server receives a session ticket the ++ integrity of that ticket is first verified. In the event of a session ++ ticket integrity check failing, OpenSSL will fail to free memory ++ causing a memory leak. By sending a large number of invalid session ++ tickets an attacker could exploit this issue in a Denial Of Service ++ attack. ++ (CVE-2014-3567) ++ [Steve Henson] ++ ++ *) Build option no-ssl3 is incomplete. *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@freebsd.org Thu Jan 7 21:01:30 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 073BDA6701F for ; Thu, 7 Jan 2016 21:01:30 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C54911642; Thu, 7 Jan 2016 21:01:29 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u07L1SG5044491; Thu, 7 Jan 2016 21:01:28 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u07L1Sn4044490; Thu, 7 Jan 2016 21:01:28 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201601072101.u07L1Sn4044490@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Thu, 7 Jan 2016 21:01:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293367 - user/cperciva/freebsd-update-build/scripts X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Jan 2016 21:01:30 -0000 Author: glebius Date: Thu Jan 7 21:01:28 2016 New Revision: 293367 URL: https://svnweb.freebsd.org/changeset/base/293367 Log: Add print-supported.sh to repo. Added: user/cperciva/freebsd-update-build/scripts/print-supported.sh (contents, props changed) Added: user/cperciva/freebsd-update-build/scripts/print-supported.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/print-supported.sh Thu Jan 7 21:01:28 2016 (r293367) @@ -0,0 +1,14 @@ +#!/bin/sh + +export TZ=UTC +now=$(date +%s) + +cd /usr/freebsd-update-server || exit 1 +find scripts -type f -name build.conf | while read conf ; do + rel=$(expr "$conf" : 'scripts/\([0-9][0-9]*\.[0-9][0-9]*-[A-Z0-9-]*\)/.*') + eol=$(. $conf ; echo $EOL) + expr "$eol" : '[0-9][0-9]*' >/dev/null || continue + [ $eol -gt $now ] || continue + p=$(find patches/"$rel" -type f | cut -d/ -f3- | cut -d- -f1 | sort -n | tail -1) + echo $(date -j -r $eol +'%Y-%m-%d %H:%M:%S UTC') "$rel${p:+-p$p}" +done | sort -t" " -k4 -rn From owner-svn-src-user@freebsd.org Thu Jan 7 21:02:31 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 388ACA67104 for ; Thu, 7 Jan 2016 21:02:31 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E050D19C0; Thu, 7 Jan 2016 21:02:30 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u07L2TGw044630; Thu, 7 Jan 2016 21:02:29 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u07L2TQX044629; Thu, 7 Jan 2016 21:02:29 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201601072102.u07L2TQX044629@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Thu, 7 Jan 2016 21:02:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293368 - user/cperciva/freebsd-update-build X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Jan 2016 21:02:31 -0000 Author: glebius Date: Thu Jan 7 21:02:29 2016 New Revision: 293368 URL: https://svnweb.freebsd.org/changeset/base/293368 Log: Mark working dirs as svn:ignore. Modified: Directory Properties: user/cperciva/freebsd-update-build/ (props changed) From owner-svn-src-user@freebsd.org Thu Jan 7 21:48:00 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BE746A6603D for ; Thu, 7 Jan 2016 21:48:00 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 59EAF1BB6; Thu, 7 Jan 2016 21:48:00 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u07LlxPD058495; Thu, 7 Jan 2016 21:47:59 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u07Llqdb058416; Thu, 7 Jan 2016 21:47:52 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201601072147.u07Llqdb058416@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Thu, 7 Jan 2016 21:47:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293372 - in user/cperciva/freebsd-update-build/scripts: 10.0-BETA1/i386 10.0-BETA2/i386 10.0-BETA3/i386 10.0-BETA4/i386 10.0-RC1/i386 10.0-RC2/i386 10.0-RC3/i386 10.0-RC4/i386 10.0-RC5... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Jan 2016 21:48:00 -0000 Author: glebius Date: Thu Jan 7 21:47:52 2016 New Revision: 293372 URL: https://svnweb.freebsd.org/changeset/base/293372 Log: Check in i386/build.conf for all historical and supported FreeBSD releases. Added: user/cperciva/freebsd-update-build/scripts/10.0-BETA1/i386/ user/cperciva/freebsd-update-build/scripts/10.0-BETA1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.0-BETA2/i386/ user/cperciva/freebsd-update-build/scripts/10.0-BETA2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.0-BETA3/i386/ user/cperciva/freebsd-update-build/scripts/10.0-BETA3/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.0-BETA4/i386/ user/cperciva/freebsd-update-build/scripts/10.0-BETA4/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.0-RC1/i386/ user/cperciva/freebsd-update-build/scripts/10.0-RC1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.0-RC2/i386/ user/cperciva/freebsd-update-build/scripts/10.0-RC2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.0-RC3/i386/ user/cperciva/freebsd-update-build/scripts/10.0-RC3/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.0-RC4/i386/ user/cperciva/freebsd-update-build/scripts/10.0-RC4/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.0-RC5/i386/ user/cperciva/freebsd-update-build/scripts/10.0-RC5/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.1-BETA1/i386/ user/cperciva/freebsd-update-build/scripts/10.1-BETA1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.1-BETA2/i386/ user/cperciva/freebsd-update-build/scripts/10.1-BETA2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.1-BETA3/i386/ user/cperciva/freebsd-update-build/scripts/10.1-BETA3/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.1-RC1/i386/ user/cperciva/freebsd-update-build/scripts/10.1-RC1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.1-RC2/i386/ user/cperciva/freebsd-update-build/scripts/10.1-RC2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.1-RC3/i386/ user/cperciva/freebsd-update-build/scripts/10.1-RC3/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.1-RC4/i386/ user/cperciva/freebsd-update-build/scripts/10.1-RC4/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.1-RELEASE/i386/ user/cperciva/freebsd-update-build/scripts/10.1-RELEASE/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.2-BETA1/i386/ user/cperciva/freebsd-update-build/scripts/10.2-BETA1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.2-BETA2/i386/ user/cperciva/freebsd-update-build/scripts/10.2-BETA2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.2-RC1/i386/ user/cperciva/freebsd-update-build/scripts/10.2-RC1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.2-RC2/i386/ user/cperciva/freebsd-update-build/scripts/10.2-RC2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.2-RC3/i386/ user/cperciva/freebsd-update-build/scripts/10.2-RC3/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/10.2-RELEASE/i386/ user/cperciva/freebsd-update-build/scripts/10.2-RELEASE/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/6.4-BETA/i386/ user/cperciva/freebsd-update-build/scripts/6.4-BETA/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/6.4-RC1/i386/ user/cperciva/freebsd-update-build/scripts/6.4-RC1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/6.4-RC2/i386/ user/cperciva/freebsd-update-build/scripts/6.4-RC2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.1-BETA/i386/ user/cperciva/freebsd-update-build/scripts/7.1-BETA/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.1-BETA2/i386/ user/cperciva/freebsd-update-build/scripts/7.1-BETA2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.1-RC1/i386/ user/cperciva/freebsd-update-build/scripts/7.1-RC1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.1-RC2/i386/ user/cperciva/freebsd-update-build/scripts/7.1-RC2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.2-BETA1/i386/ user/cperciva/freebsd-update-build/scripts/7.2-BETA1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.2-RC1/i386/ user/cperciva/freebsd-update-build/scripts/7.2-RC1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.2-RC2/i386/ user/cperciva/freebsd-update-build/scripts/7.2-RC2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.3-BETA1/i386/ user/cperciva/freebsd-update-build/scripts/7.3-BETA1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.3-RC1/i386/ user/cperciva/freebsd-update-build/scripts/7.3-RC1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.3-RC2/i386/ user/cperciva/freebsd-update-build/scripts/7.3-RC2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.4-BETA1/i386/ user/cperciva/freebsd-update-build/scripts/7.4-BETA1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.4-RC1/i386/ user/cperciva/freebsd-update-build/scripts/7.4-RC1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.4-RC2/i386/ user/cperciva/freebsd-update-build/scripts/7.4-RC2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.4-RC3/i386/ user/cperciva/freebsd-update-build/scripts/7.4-RC3/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.0-BETA1/i386/ user/cperciva/freebsd-update-build/scripts/8.0-BETA1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.0-BETA2/i386/ user/cperciva/freebsd-update-build/scripts/8.0-BETA2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.0-BETA3/i386/ user/cperciva/freebsd-update-build/scripts/8.0-BETA3/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.0-BETA4/i386/ user/cperciva/freebsd-update-build/scripts/8.0-BETA4/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.0-RC1/i386/ user/cperciva/freebsd-update-build/scripts/8.0-RC1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.0-RC2/i386/ user/cperciva/freebsd-update-build/scripts/8.0-RC2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.0-RC3/i386/ user/cperciva/freebsd-update-build/scripts/8.0-RC3/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.1-BETA1/i386/ user/cperciva/freebsd-update-build/scripts/8.1-BETA1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.1-RC1/i386/ user/cperciva/freebsd-update-build/scripts/8.1-RC1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.1-RC2/i386/ user/cperciva/freebsd-update-build/scripts/8.1-RC2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.2-BETA1/i386/ user/cperciva/freebsd-update-build/scripts/8.2-BETA1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.2-RC1/i386/ user/cperciva/freebsd-update-build/scripts/8.2-RC1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.2-RC2/i386/ user/cperciva/freebsd-update-build/scripts/8.2-RC2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.2-RC3/i386/ user/cperciva/freebsd-update-build/scripts/8.2-RC3/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.3-BETA1/i386/ user/cperciva/freebsd-update-build/scripts/8.3-BETA1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.3-RC1/i386/ user/cperciva/freebsd-update-build/scripts/8.3-RC1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.3-RC2/i386/ user/cperciva/freebsd-update-build/scripts/8.3-RC2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.4-BETA1/i386/ user/cperciva/freebsd-update-build/scripts/8.4-BETA1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.4-RC1/i386/ user/cperciva/freebsd-update-build/scripts/8.4-RC1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.4-RC2/i386/ user/cperciva/freebsd-update-build/scripts/8.4-RC2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/8.4-RC3/i386/ user/cperciva/freebsd-update-build/scripts/8.4-RC3/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.0-BETA1/i386/ user/cperciva/freebsd-update-build/scripts/9.0-BETA1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.0-BETA2/i386/ user/cperciva/freebsd-update-build/scripts/9.0-BETA2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.0-BETA3/i386/ user/cperciva/freebsd-update-build/scripts/9.0-BETA3/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.0-RC1/i386/ user/cperciva/freebsd-update-build/scripts/9.0-RC1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.0-RC2/i386/ user/cperciva/freebsd-update-build/scripts/9.0-RC2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.0-RC3/i386/ user/cperciva/freebsd-update-build/scripts/9.0-RC3/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.1-RC1/i386/ user/cperciva/freebsd-update-build/scripts/9.1-RC1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.1-RC2/i386/ user/cperciva/freebsd-update-build/scripts/9.1-RC2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.1-RC3/i386/ user/cperciva/freebsd-update-build/scripts/9.1-RC3/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.2-BETA1/i386/ user/cperciva/freebsd-update-build/scripts/9.2-BETA1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.2-BETA2/i386/ user/cperciva/freebsd-update-build/scripts/9.2-BETA2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.2-RC1/i386/ user/cperciva/freebsd-update-build/scripts/9.2-RC1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.2-RC2/i386/ user/cperciva/freebsd-update-build/scripts/9.2-RC2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.2-RC3/i386/ user/cperciva/freebsd-update-build/scripts/9.2-RC3/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.2-RC4/i386/ user/cperciva/freebsd-update-build/scripts/9.2-RC4/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.3-BETA1/i386/ user/cperciva/freebsd-update-build/scripts/9.3-BETA1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.3-BETA2/i386/ user/cperciva/freebsd-update-build/scripts/9.3-BETA2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.3-BETA3/i386/ user/cperciva/freebsd-update-build/scripts/9.3-BETA3/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.3-RC1/i386/ user/cperciva/freebsd-update-build/scripts/9.3-RC1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.3-RC2/i386/ user/cperciva/freebsd-update-build/scripts/9.3-RC2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.3-RC3/i386/ user/cperciva/freebsd-update-build/scripts/9.3-RC3/i386/build.conf (contents, props changed) Added: user/cperciva/freebsd-update-build/scripts/10.0-BETA1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.0-BETA1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,13 @@ +# SHA256 hash of disc1.iso image. +export RELH=2d57b022f47359b2f3e117707058aa0d4e410705563a5e2cd74b5e516ca299b5 + +# gjb's home directory +export FTP=http://people.freebsd.org/~gjb/10.0-BETA1/ + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1387065599 Added: user/cperciva/freebsd-update-build/scripts/10.0-BETA2/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.0-BETA2/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,13 @@ +# SHA256 hash of disc1.iso image. +export RELH=f1c6610eb781979c1fd1abc18d3cd8670aa0eafcaf6d76aaa0a3e22f001b2585 + +# gjb's home directory +export FTP=http://people.freebsd.org/~gjb/10.0-BETA2/ + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1385855999 Added: user/cperciva/freebsd-update-build/scripts/10.0-BETA3/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.0-BETA3/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,13 @@ +# SHA256 hash of disc1.iso image. +export RELH=a477b7bdfc225d183d168228fb11b8d5e57e00294e366440bde832154cf76570 + +# gjb's home directory +export FTP=http://people.freebsd.org/~gjb/10.0-BETA3/ + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1386374399 Added: user/cperciva/freebsd-update-build/scripts/10.0-BETA4/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.0-BETA4/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,13 @@ +# SHA256 hash of disc1.iso image. +export RELH=9a116fdbe192165c8af985357a07ce7727344f0e93b299900bfcf0fd4bb5bbbd + +# gjb's home directory +export FTP=http://people.freebsd.org/~gjb/10.0-BETA4/ + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1388361599 Added: user/cperciva/freebsd-update-build/scripts/10.0-RC1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.0-RC1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,13 @@ +# SHA256 hash of disc1.iso image. +export RELH=beb48fcd2dfcde9ace0a44ff689085baf3bc80575503af4e3bc445ec894d2255 + +# gjb's home directory +export FTP=http://people.freebsd.org/~gjb/10.0-RC1 + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1391817600 Added: user/cperciva/freebsd-update-build/scripts/10.0-RC2/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.0-RC2/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,14 @@ +# SHA256 hash of disc1.iso image. +export RELH=add13ac64491f9aba16b9f4429f4f87c85d3147c1ea0c662ae7756d0c453ba4b + +# gjb's home directory +export FTP=http://people.freebsd.org/~gjb/10.0-RC2 + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1392422400 + Added: user/cperciva/freebsd-update-build/scripts/10.0-RC3/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.0-RC3/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,14 @@ +# SHA256 hash of disc1.iso image. +export RELH=2d03929465da9042a5424cf97577c4811500a0df4a454631a2aaef41350fe211 + +# gjb's home directory +export FTP=http://people.freebsd.org/~gjb/10.0-RC3 + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1393200000 + Added: user/cperciva/freebsd-update-build/scripts/10.0-RC4/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.0-RC4/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,13 @@ +# SHA256 hash of disc1.iso image. +export RELH=0cfebb47d4930b093790a7b488f6ca503032386f9b0716f88404b9640cdd9423 + +# gjb's home directory +export FTP=http://people.freebsd.org/~gjb/10.0-RC4 + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1393891200 Added: user/cperciva/freebsd-update-build/scripts/10.0-RC5/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.0-RC5/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,13 @@ +# SHA256 hash of disc1.iso image. +export RELH=387e77a8cc355d4c2d321b3b1a681d0a5fc926f8fc6c21c248ff6070a137c122 + +# gjb's home directory +export FTP=http://people.freebsd.org/~gjb/10.0-RC5 + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1394323200 Added: user/cperciva/freebsd-update-build/scripts/10.1-BETA1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.1-BETA1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,13 @@ +# SHA256 hash of disc1.iso image. +export RELH=fd928fe28c02aa777138f740dba94ace4714c7c6ba5f3f17dd7e0ef55e6544a7 + +# gjb's home directory +export FTP=http://people.freebsd.org/~gjb/10.1-BETA1 + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1413158400 Added: user/cperciva/freebsd-update-build/scripts/10.1-BETA2/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.1-BETA2/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,13 @@ +# SHA256 hash of disc1.iso image. +export RELH=ac2d175973a4cfb256ee0c2b3d7f27e6dd5d391928d1396a6f6d58d96c0f37eb + +# gjb's home directory +export FTP=http://people.freebsd.org/~gjb/10.1-BETA2 + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1413763200 Added: user/cperciva/freebsd-update-build/scripts/10.1-BETA3/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.1-BETA3/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,13 @@ +# SHA256 hash of disc1.iso image. +export RELH=73e831ef3afd268a7ee7689a34c7385b880b5f32e21ea1b179afd558d4d443c2 + +# gjb's home directory +export FTP=http://people.freebsd.org/~gjb/10.1-BETA3 + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1414454400 Added: user/cperciva/freebsd-update-build/scripts/10.1-RC1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.1-RC1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,10 @@ +export RELH=492e52c43e23c3f8e62bed71658a464913201f39f0877aad9bbfd0c8fb553c97 +export FTP=https://people.freebsd.org/~gjb/10.1-RC1/ + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1413763200 Added: user/cperciva/freebsd-update-build/scripts/10.1-RC2/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.1-RC2/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,10 @@ +export RELH=6598fae7fc5565a974a9a3548c91c2e86ad818cbc69d46afd2cb99d0ad1a61c7 +export FTP=https://people.freebsd.org/~gjb/10.1-RC2/ + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1415750400 Added: user/cperciva/freebsd-update-build/scripts/10.1-RC3/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.1-RC3/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,10 @@ +export RELH=f43aeddede90f5e059ce45b59ae37ad1536aaab856e045d45215b549fcfc7619 +export FTP=https://people.freebsd.org/~gjb/10.1-RC3/ + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1416873600 Added: user/cperciva/freebsd-update-build/scripts/10.1-RC4/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.1-RC4/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,10 @@ +export RELH=e8bd449ab79712b805cae4fd6319c4aab227506fb78c548ef8d7832128c7abd6 +export FTP=https://people.freebsd.org/~gjb/10.1-RC4/ + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1417392000 Added: user/cperciva/freebsd-update-build/scripts/10.1-RELEASE/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.1-RELEASE/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,10 @@ +export RELH=fe31790b762b01c99791d33e7fd9ab97323654785ce21f588116c8b4eb381cd0 +export FTP=https://people.freebsd.org/~gjb/10.1-RELEASE/ + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1483228799 Added: user/cperciva/freebsd-update-build/scripts/10.2-BETA1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.2-BETA1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,10 @@ +export RELH=490421a74839655bb50dad98aa1bb8daaa7106cfddb3747fe439a1ec5d7aace3 +export FTP=https://people.freebsd.org/~gjb/10.2-BETA1/ + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1437782400 Added: user/cperciva/freebsd-update-build/scripts/10.2-BETA2/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.2-BETA2/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,10 @@ +export RELH=edc2dd7c1db0c3a8c3a9e3a90f6ade94ae8ab856545b6dfc28c5cb4d21456359 +export FTP=https://people.freebsd.org/~gjb/10.2-BETA2/ + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1438300800 Added: user/cperciva/freebsd-update-build/scripts/10.2-RC1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.2-RC1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,10 @@ +export RELH=5a11f985306b9ebfef3daca9de26ca2e97b946f1d25d72caa2d733860de58b6c +export FTP=https://people.freebsd.org/~gjb/10.2-RC1/ + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1438992000 Added: user/cperciva/freebsd-update-build/scripts/10.2-RC2/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.2-RC2/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,10 @@ +export RELH=35eb1a25f20e8e8436f19f530f5ccc1e1d13efaa4311c2e22e56fa0f61b87ed1 +export FTP=https://people.freebsd.org/~gjb/10.2-RC2/ + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1439596800 Added: user/cperciva/freebsd-update-build/scripts/10.2-RC3/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.2-RC3/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,10 @@ +export RELH=0fff714b0b130c44ee5ae072f1e02ccfe05eef7ccd6dfe576ab7d0e78e7060e7 +export FTP=https://people.freebsd.org/~gjb/10.2-RC3/ + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1441324800 Added: user/cperciva/freebsd-update-build/scripts/10.2-RELEASE/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/10.2-RELEASE/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,10 @@ +export RELH=0e7094ae9f4f79d8955f193a1f2f5ab4f8b300e57eccd3b9bd959951ee079020 +export FTP=https://people.freebsd.org/~gjb/10.2-RELEASE/ + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1483228800 Added: user/cperciva/freebsd-update-build/scripts/6.4-BETA/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/6.4-BETA/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=dba12bb568328e284cd75ff9f6b69fb52a7ec34be9a38c3c0be1d44adf8f9dcf + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin contrib crypto etc games gnu include krb5 \ + lib libexec release rescue sbin secure share sys tools \ + ubin usbin" +export KERNELPARTS="generic smp" + +# EOL date +export EOL=1225522800 Added: user/cperciva/freebsd-update-build/scripts/6.4-RC1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/6.4-RC1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=8b066edf63784d42b6780bfa7ab59ed51d2c3e38cf1bc8171ad45ae43d99f723 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin contrib crypto etc games gnu include krb5 \ + lib libexec release rescue sbin secure share sys tools \ + ubin usbin" +export KERNELPARTS="generic smp" + +# EOL date +export EOL=1228089600 Added: user/cperciva/freebsd-update-build/scripts/6.4-RC2/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/6.4-RC2/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=abebefde3cdddfd234f04c632ee09162f12cfafda4bab655e18727d5d50a9616 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin contrib crypto etc games gnu include krb5 \ + lib libexec release rescue sbin secure share sys tools \ + ubin usbin" +export KERNELPARTS="generic smp" + +# EOL date +export EOL=1228262400 Added: user/cperciva/freebsd-update-build/scripts/7.1-BETA/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/7.1-BETA/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=096ad85048a660684731ec4fd1f4a384ae4a76c3256726dfb61b4a4d8213d107 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1225522800 Added: user/cperciva/freebsd-update-build/scripts/7.1-BETA2/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/7.1-BETA2/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=8b0373811def8ba9dfab61d672474feacdc7e085ca4d187affb6296fac06d49f + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1226620800 Added: user/cperciva/freebsd-update-build/scripts/7.1-RC1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/7.1-RC1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=13b88f219569748b5f760e190948e87a0febc3824278909d96db4173d6858820 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1233446400 Added: user/cperciva/freebsd-update-build/scripts/7.1-RC2/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/7.1-RC2/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=4a5c2e58a3d92fc344b92b8bf86b29f5a0925365c8c6bf08b444f70fda94f6d5 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1233446400 Added: user/cperciva/freebsd-update-build/scripts/7.2-BETA1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/7.2-BETA1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=71375c06038a1e18ad769d6585a91449739aafc1e84fdce5d30d84992f6aaf99 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1240358400 Added: user/cperciva/freebsd-update-build/scripts/7.2-RC1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/7.2-RC1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=d96d670172fbc7405e529e9c47f4aa72c96c704bbdf8fac9ac77662f17f49888 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1242432000 Added: user/cperciva/freebsd-update-build/scripts/7.2-RC2/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/7.2-RC2/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=c484d3c2b59238b1e3485b986c6c12e42abe73de66b6a8a2f0bc2a471b4d7850 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1243123200 Added: user/cperciva/freebsd-update-build/scripts/7.3-BETA1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/7.3-BETA1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=69cc74ff3a37caffa055e28fb476db14b5cbac686a0b93a74b53c206852e663a + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1267401600 Added: user/cperciva/freebsd-update-build/scripts/7.3-RC1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/7.3-RC1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=226153815575aa4e43e3772f1abdfc69084a825e4f269fbe953ffafb5be2112d + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1268524800 Added: user/cperciva/freebsd-update-build/scripts/7.3-RC2/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/7.3-RC2/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=f5e7198bae889825e929ae1e3f63d9da92b555fc982a9ac9d93d4cc66091505e + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1270080000 Added: user/cperciva/freebsd-update-build/scripts/7.4-BETA1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/7.4-BETA1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=88768cf30c6ca5da5e5f8c6cb163d7c602abce1149f33054c0ff0c66244220f5 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1294531200 Added: user/cperciva/freebsd-update-build/scripts/7.4-RC1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/7.4-RC1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=302ecd98f63b10f2ed05aed0aed69b2aca16fc1fb773ccc6365ab9b732cee3d1 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1298505600 Added: user/cperciva/freebsd-update-build/scripts/7.4-RC2/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/7.4-RC2/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=c9a5b8feced4198f7b99b1e649d8e3e8e1581a26ee8080b1da91fd72b1564396 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1300579200 Added: user/cperciva/freebsd-update-build/scripts/7.4-RC3/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/7.4-RC3/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=e4f806dac80aa7289c8279a858527f5bfa4e155060ad27d12869c9e9564d0ee9 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1301529600 Added: user/cperciva/freebsd-update-build/scripts/8.0-BETA1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/8.0-BETA1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=398a93e851088391fc1cca6c3ff50494afc4e5471791cff12204ef8673b81472 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1249084800 Added: user/cperciva/freebsd-update-build/scripts/8.0-BETA2/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/8.0-BETA2/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=5699c6e4f8a7084dc6d6fe835c1c40cc7b01614091b057df07d72537e8e33ef4 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1250208000 Added: user/cperciva/freebsd-update-build/scripts/8.0-BETA3/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/8.0-BETA3/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=131b08e65235295dc263e31d51d4ab9735a04497a99baa3ac3d1aca6e9053e46 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1253577600 Added: user/cperciva/freebsd-update-build/scripts/8.0-BETA4/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/8.0-BETA4/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=0bbee2a9ffd4c00070cae001652037c8b194502dfc1a35c3ac0da1172c26bfdd + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1254787200 Added: user/cperciva/freebsd-update-build/scripts/8.0-RC1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/8.0-RC1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=06094f54d0b9141b571a8d22727a9c639a4ffb8a72dd05d12e995ef417eaaf37 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1256947200 Added: user/cperciva/freebsd-update-build/scripts/8.0-RC2/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/8.0-RC2/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=c7edabc1fe1429f396978b4699b41fff9e4a17574dfa2658499a6f9f2bd91a1d + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1262304000 Added: user/cperciva/freebsd-update-build/scripts/8.0-RC3/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/8.0-RC3/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=6b306af4a74df57d2c155891557878d747bac92a24c2b46947f89e7d9657addc + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1262304000 Added: user/cperciva/freebsd-update-build/scripts/8.1-BETA1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/8.1-BETA1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=40fc6540f44324718e94ba2a3c4905b448b8e889cd65d4f5f82de905cf059d22 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1277942400 Added: user/cperciva/freebsd-update-build/scripts/8.1-RC1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/8.1-RC1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=5110557c4707472265d2d5c46e3980dd2c172f59f1f8adf05a85d03b24f60187 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1280620800 Added: user/cperciva/freebsd-update-build/scripts/8.1-RC2/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/8.1-RC2/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=335ad68ce598e5f1557ca4179fde3063793c484cd5f3022926fbff2a25fc5540 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1281744000 Added: user/cperciva/freebsd-update-build/scripts/8.2-BETA1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/8.2-BETA1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=fb3607518a4d1770f700f41f5d1072d19e0cddb747e7462c866b0d52e97cfbd3 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1294531200 Added: user/cperciva/freebsd-update-build/scripts/8.2-RC1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/8.2-RC1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=557a921978b5a19b3bec793e219c5f26cba5fdb3e24abac7dd11fc6d42c270a0 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1298505600 Added: user/cperciva/freebsd-update-build/scripts/8.2-RC2/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/8.2-RC2/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=82d80d924db8952ae5d6c8946cbf89a21f7457f761169aa963e24b03271a4f74 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1300060800 Added: user/cperciva/freebsd-update-build/scripts/8.2-RC3/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/8.2-RC3/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=d33ac98556490fd2ca7f50c7857102f293d8113a94f2d5c5090d1068b8348e3f + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1301529600 Added: user/cperciva/freebsd-update-build/scripts/8.3-BETA1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/8.3-BETA1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=79888894fe9293b8b5baab164cd985722b9392adc18471056bc24d75f63699ac + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1332028800 Added: user/cperciva/freebsd-update-build/scripts/8.3-RC1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/8.3-RC1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=1fec8dc68433c12a9b24da1b7e35a6d4e6bb96cb1258fb809111572d1b16ebb9 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1336176000 Added: user/cperciva/freebsd-update-build/scripts/8.3-RC2/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/8.3-RC2/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=5cca1166525d1972cb10f2115f1faef04ab8ad71a5f697fd9603559c05db191f + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1337904000 Added: user/cperciva/freebsd-update-build/scripts/8.4-BETA1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/8.4-BETA1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,15 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=3ef76850fa6b38436c72b88691a07e7eef123075a897917341aa5b6cc38e637b + +# gjb's home directory +export FTP=http://people.freebsd.org/~gjb/8.4-BETA1/ + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1367305200 Added: user/cperciva/freebsd-update-build/scripts/8.4-RC1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/8.4-RC1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,15 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=ba1d20cc407d392e61469ec4b5c49b68187317a651165bf8693d690eaf1c8539 + +# gjb's home directory +export FTP=http://people.freebsd.org/~gjb/8.4-RC1/ + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1369983600 Added: user/cperciva/freebsd-update-build/scripts/8.4-RC2/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/8.4-RC2/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,15 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=87cf86af227fa8069a84ff875fce9b9c0453daf867c29a5b413ed1fab67f6552 + +# gjb's home directory +export FTP=http://people.freebsd.org/~gjb/8.4-RC2/ + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1370044799 Added: user/cperciva/freebsd-update-build/scripts/8.4-RC3/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/8.4-RC3/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,15 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=32f5a30271db4719023a247c66db4fc01faf1e6fdcbaa4189f38c3bd2b6042d5 + +# gjb's home directory +export FTP=http://people.freebsd.org/~gjb/8.4-RC3/ + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1372636799 Added: user/cperciva/freebsd-update-build/scripts/9.0-BETA1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/9.0-BETA1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,10 @@ +# SHA256 hash of dvd1.iso image. +export RELH=21099d74030500b3ca89d648c611cf74c79a841558a7827740645e82be8901e5 + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1314860400 Added: user/cperciva/freebsd-update-build/scripts/9.0-BETA2/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/9.0-BETA2/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,10 @@ +# SHA256 hash of dvd1.iso image. +export RELH=2ed439c308c874deb17f20682fa3d24ab64452912a1408d1b8c4220c29ef2728 + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1317970800 Added: user/cperciva/freebsd-update-build/scripts/9.0-BETA3/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/9.0-BETA3/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,10 @@ +# SHA256 hash of dvd1.iso image. +export RELH=811e66efc14ba1a6184b787b09eb497df3c72f38688f73e6b44ffce9e8b81b42 + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1319785200 Added: user/cperciva/freebsd-update-build/scripts/9.0-RC1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/9.0-RC1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,10 @@ +# SHA256 hash of dvd1.iso image. +export RELH=488599d5328b20278e90d5489b8d2afd49bf466a5d7a31694f3c0eb66d97c6f1 + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1324368000 Added: user/cperciva/freebsd-update-build/scripts/9.0-RC2/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/9.0-RC2/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,10 @@ +# SHA256 hash of dvd1.iso image. +export RELH=41a1e12496ba5a44dba4c6e6cfb27c6dd5f49fb62378e05c1a61909a4f29d06c + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1326700800 Added: user/cperciva/freebsd-update-build/scripts/9.0-RC3/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/9.0-RC3/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,10 @@ +# SHA256 hash of dvd1.iso image. +export RELH=cdbf1ce5668444c88ea141bfaec0bd414c09b39969076915d2d9257c9f0802f2 + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1328486400 Added: user/cperciva/freebsd-update-build/scripts/9.1-RC1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/9.1-RC1/i386/build.conf Thu Jan 7 21:47:52 2016 (r293372) @@ -0,0 +1,10 @@ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@freebsd.org Thu Jan 7 21:51:11 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6D3B3A660E5 for ; Thu, 7 Jan 2016 21:51:11 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 31F881E17; Thu, 7 Jan 2016 21:51:11 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u07LpASa059502; Thu, 7 Jan 2016 21:51:10 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u07Lp9M0059492; Thu, 7 Jan 2016 21:51:09 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201601072151.u07Lp9M0059492@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Thu, 7 Jan 2016 21:51:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293373 - in user/cperciva/freebsd-update-build/scripts: 6.2-BETA1 6.2-BETA1/i386 6.2-BETA2 6.2-BETA2/i386 6.2-BETA3 6.2-BETA3/i386 6.2-RC1 6.2-RC1/i386 6.3-RC1 6.3-RC1/i386 6.3-RC2 6.3... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Jan 2016 21:51:11 -0000 Author: glebius Date: Thu Jan 7 21:51:09 2016 New Revision: 293373 URL: https://svnweb.freebsd.org/changeset/base/293373 Log: More historical configuration bits. Added: user/cperciva/freebsd-update-build/scripts/6.2-BETA1/ user/cperciva/freebsd-update-build/scripts/6.2-BETA1/i386/ user/cperciva/freebsd-update-build/scripts/6.2-BETA1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/6.2-BETA2/ user/cperciva/freebsd-update-build/scripts/6.2-BETA2/i386/ user/cperciva/freebsd-update-build/scripts/6.2-BETA2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/6.2-BETA3/ user/cperciva/freebsd-update-build/scripts/6.2-BETA3/i386/ user/cperciva/freebsd-update-build/scripts/6.2-BETA3/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/6.2-RC1/ user/cperciva/freebsd-update-build/scripts/6.2-RC1/i386/ user/cperciva/freebsd-update-build/scripts/6.2-RC1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/6.3-RC1/ user/cperciva/freebsd-update-build/scripts/6.3-RC1/i386/ user/cperciva/freebsd-update-build/scripts/6.3-RC1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/6.3-RC2/ user/cperciva/freebsd-update-build/scripts/6.3-RC2/i386/ user/cperciva/freebsd-update-build/scripts/6.3-RC2/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.0-BETA4/ user/cperciva/freebsd-update-build/scripts/7.0-BETA4/i386/ user/cperciva/freebsd-update-build/scripts/7.0-BETA4/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.0-RC1/ user/cperciva/freebsd-update-build/scripts/7.0-RC1/i386/ user/cperciva/freebsd-update-build/scripts/7.0-RC1/i386/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/7.0-RC2/ user/cperciva/freebsd-update-build/scripts/7.0-RC2/i386/ user/cperciva/freebsd-update-build/scripts/7.0-RC2/i386/build.conf (contents, props changed) Added: user/cperciva/freebsd-update-build/scripts/6.2-BETA1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/6.2-BETA1/i386/build.conf Thu Jan 7 21:51:09 2016 (r293373) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=99939323b4b4e6578721fbd8730c5fe5d72b2e3158a81f7a76aeabe05ab18354 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin contrib crypto etc games gnu include krb5 \ + lib libexec release rescue sbin secure share sys tools \ + ubin usbin" +export KERNELPARTS="generic smp" + +# EOL date +export EOL=1161241200 Added: user/cperciva/freebsd-update-build/scripts/6.2-BETA2/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/6.2-BETA2/i386/build.conf Thu Jan 7 21:51:09 2016 (r293373) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=8301c747fa9a3cac9d162d8175932df55d9563349c33e9cb972e70017dcb3608 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin contrib crypto etc games gnu include krb5 \ + lib libexec release rescue sbin secure share sys tools \ + ubin usbin" +export KERNELPARTS="generic smp" + +# EOL date +export EOL=1162512000 Added: user/cperciva/freebsd-update-build/scripts/6.2-BETA3/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/6.2-BETA3/i386/build.conf Thu Jan 7 21:51:09 2016 (r293373) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=13edf4f8d00c2f50e955cecbdb9e71a2912f9d71be30f17fde5d6578f4aba0f8 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin contrib crypto etc games gnu include krb5 \ + lib libexec release rescue sbin secure share sys tools \ + ubin usbin" +export KERNELPARTS="generic smp" + +# EOL date +export EOL=1164960000 Added: user/cperciva/freebsd-update-build/scripts/6.2-RC1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/6.2-RC1/i386/build.conf Thu Jan 7 21:51:09 2016 (r293373) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=1609f2ddf3afd353f2451f36e9554b332a67ff1539e90d0d2023aee21b0ab513 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin contrib crypto etc games gnu include krb5 \ + lib libexec release rescue sbin secure share sys tools \ + ubin usbin" +export KERNELPARTS="generic smp" + +# EOL date +export EOL=1166400000 Added: user/cperciva/freebsd-update-build/scripts/6.3-RC1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/6.3-RC1/i386/build.conf Thu Jan 7 21:51:09 2016 (r293373) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=07fd379292137d7ff56fdbbd1be63cb5188e5187afcd65debe593966a2f26ae1 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin contrib crypto etc games gnu include krb5 \ + lib libexec release rescue sbin secure share sys tools \ + ubin usbin" +export KERNELPARTS="generic smp" + +# EOL date +export EOL=1198886400 Added: user/cperciva/freebsd-update-build/scripts/6.3-RC2/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/6.3-RC2/i386/build.conf Thu Jan 7 21:51:09 2016 (r293373) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=968dbaee4d3c732e7e59cd9cdcd47e896370ff2948543026e1c8e84ebcb13ad4 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin contrib crypto etc games gnu include krb5 \ + lib libexec release rescue sbin secure share sys tools \ + ubin usbin" +export KERNELPARTS="generic smp" + +# EOL date +export EOL=1201564800 Added: user/cperciva/freebsd-update-build/scripts/7.0-BETA4/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/7.0-BETA4/i386/build.conf Thu Jan 7 21:51:09 2016 (r293373) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=7025f7b3abee52f93fe1a369bb1ba3821987ba799cb2b05cd7303240383d7f08 + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl compat contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1199404800 Added: user/cperciva/freebsd-update-build/scripts/7.0-RC1/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/7.0-RC1/i386/build.conf Thu Jan 7 21:51:09 2016 (r293373) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=e7239fcfeb2d48e7d4502978e65af973bb837e5742806600eaf4cff0246c595a + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl compat contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1201564800 Added: user/cperciva/freebsd-update-build/scripts/7.0-RC2/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/7.0-RC2/i386/build.conf Thu Jan 7 21:51:09 2016 (r293373) @@ -0,0 +1,12 @@ +# SHA256 hash of RELEASE disc1.iso image. +export RELH=eb43bff9e22795aae154fda4db6be52cbd2de92d1ad1702d76714dc99c085edf + +# Components of the world, source, and kernels +export WORLDPARTS="base catpages dict doc games info manpages proflibs" +export SOURCEPARTS="base bin cddl compat contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" + +# EOL date +export EOL=1205280000 From owner-svn-src-user@freebsd.org Thu Jan 7 21:53:47 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1296DA662C9 for ; Thu, 7 Jan 2016 21:53:47 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D4B621446; Thu, 7 Jan 2016 21:53:46 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u07LrjKw061766; Thu, 7 Jan 2016 21:53:45 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u07LriTb061750; Thu, 7 Jan 2016 21:53:44 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201601072153.u07LriTb061750@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Thu, 7 Jan 2016 21:53:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293374 - in user/cperciva/freebsd-update-build/scripts: 10.0-RELEASE/i386 5.5-RELEASE/i386 6.0-RELEASE/i386 6.1-RELEASE/i386 6.2-RELEASE/i386 6.3-BETA1/i386 6.3-BETA2/i386 6.3-RELEASE/... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Jan 2016 21:53:47 -0000 Author: glebius Date: Thu Jan 7 21:53:44 2016 New Revision: 293374 URL: https://svnweb.freebsd.org/changeset/base/293374 Log: These files for i386 build are different on the i386 builder. Use them as source of truth. Only historical releases are affected. Modified: user/cperciva/freebsd-update-build/scripts/10.0-RELEASE/i386/build.conf user/cperciva/freebsd-update-build/scripts/5.5-RELEASE/i386/build.conf user/cperciva/freebsd-update-build/scripts/6.0-RELEASE/i386/build.conf user/cperciva/freebsd-update-build/scripts/6.1-RELEASE/i386/build.conf user/cperciva/freebsd-update-build/scripts/6.2-RELEASE/i386/build.conf user/cperciva/freebsd-update-build/scripts/6.3-BETA1/i386/build.conf user/cperciva/freebsd-update-build/scripts/6.3-BETA2/i386/build.conf user/cperciva/freebsd-update-build/scripts/6.3-RELEASE/i386/build.conf user/cperciva/freebsd-update-build/scripts/7.0-BETA1.5/i386/build.conf user/cperciva/freebsd-update-build/scripts/7.0-BETA2/i386/build.conf user/cperciva/freebsd-update-build/scripts/7.0-BETA3/i386/build.conf user/cperciva/freebsd-update-build/scripts/7.0-RELEASE/i386/build.conf user/cperciva/freebsd-update-build/scripts/8.4-RELEASE/i386/build.conf user/cperciva/freebsd-update-build/scripts/9.2-RELEASE/i386/build.conf Modified: user/cperciva/freebsd-update-build/scripts/10.0-RELEASE/i386/build.conf ============================================================================== --- user/cperciva/freebsd-update-build/scripts/10.0-RELEASE/i386/build.conf Thu Jan 7 21:51:09 2016 (r293373) +++ user/cperciva/freebsd-update-build/scripts/10.0-RELEASE/i386/build.conf Thu Jan 7 21:53:44 2016 (r293374) @@ -1,10 +1,13 @@ # SHA256 hash of disc1.iso image. export RELH=2c09643b3f79c703e424c03408882369025cec655c24a6d81ee073081ee75ebc +# gjb's home directory +export FTP=http://people.freebsd.org/~gjb/10.0-RELEASE + # Components of the world, source, and kernels export WORLDPARTS="base doc games" export SOURCEPARTS="src" export KERNELPARTS="kernel" # EOL date -export EOL=1422748799 +export EOL=1425168000 Modified: user/cperciva/freebsd-update-build/scripts/5.5-RELEASE/i386/build.conf ============================================================================== --- user/cperciva/freebsd-update-build/scripts/5.5-RELEASE/i386/build.conf Thu Jan 7 21:51:09 2016 (r293373) +++ user/cperciva/freebsd-update-build/scripts/5.5-RELEASE/i386/build.conf Thu Jan 7 21:53:44 2016 (r293374) @@ -1,5 +1,3 @@ -# $FreeBSD$ - # SHA256 hash of RELEASE disc1.iso image. export RELH=40d41ec7b567e7952d0f85729f340d409911368808256dae123ff1b97155c1ae Modified: user/cperciva/freebsd-update-build/scripts/6.0-RELEASE/i386/build.conf ============================================================================== --- user/cperciva/freebsd-update-build/scripts/6.0-RELEASE/i386/build.conf Thu Jan 7 21:51:09 2016 (r293373) +++ user/cperciva/freebsd-update-build/scripts/6.0-RELEASE/i386/build.conf Thu Jan 7 21:53:44 2016 (r293374) @@ -1,5 +1,3 @@ -# $FreeBSD$ - # SHA256 hash of RELEASE disc1.iso image. export RELH=0ad601dae704e941beb7d4617bf96b04055849a24835275c716f518eee7a12f1 Modified: user/cperciva/freebsd-update-build/scripts/6.1-RELEASE/i386/build.conf ============================================================================== --- user/cperciva/freebsd-update-build/scripts/6.1-RELEASE/i386/build.conf Thu Jan 7 21:51:09 2016 (r293373) +++ user/cperciva/freebsd-update-build/scripts/6.1-RELEASE/i386/build.conf Thu Jan 7 21:53:44 2016 (r293374) @@ -1,5 +1,3 @@ -# $FreeBSD$ - # SHA256 hash of RELEASE disc1.iso image. export RELH=cbc6f9389c85f3130baff5270316ece18d5e324e82f8aa167c61ab49174dd4d1 Modified: user/cperciva/freebsd-update-build/scripts/6.2-RELEASE/i386/build.conf ============================================================================== --- user/cperciva/freebsd-update-build/scripts/6.2-RELEASE/i386/build.conf Thu Jan 7 21:51:09 2016 (r293373) +++ user/cperciva/freebsd-update-build/scripts/6.2-RELEASE/i386/build.conf Thu Jan 7 21:53:44 2016 (r293374) @@ -1,5 +1,3 @@ -# $FreeBSD$ - # SHA256 hash of RELEASE disc1.iso image. export RELH=2099715d561df721833322bc56a4fa8b02c2b77713a1e0bc17fc4b2dded20212 @@ -11,4 +9,4 @@ export SOURCEPARTS="base bin contrib cry export KERNELPARTS="generic smp" # EOL date -export EOL=1201824000 +export EOL=1212303600 Modified: user/cperciva/freebsd-update-build/scripts/6.3-BETA1/i386/build.conf ============================================================================== --- user/cperciva/freebsd-update-build/scripts/6.3-BETA1/i386/build.conf Thu Jan 7 21:51:09 2016 (r293373) +++ user/cperciva/freebsd-update-build/scripts/6.3-BETA1/i386/build.conf Thu Jan 7 21:53:44 2016 (r293374) @@ -1,7 +1,5 @@ -# $FreeBSD$ - # SHA256 hash of RELEASE disc1.iso image. -export RELH=2099715d561df721833322bc56a4fa8b02c2b77713a1e0bc17fc4b2dded20212 +export RELH=34668ec5cc22f37b395bbf07b8fd08f3d43dd5399a8003cd65d7b8d714ca5e4a # Components of the world, source, and kernels export WORLDPARTS="base catpages dict doc games info manpages proflibs" @@ -11,4 +9,4 @@ export SOURCEPARTS="base bin contrib cry export KERNELPARTS="generic smp" # EOL date -export EOL=1201824000 +export EOL=1196409600 Modified: user/cperciva/freebsd-update-build/scripts/6.3-BETA2/i386/build.conf ============================================================================== --- user/cperciva/freebsd-update-build/scripts/6.3-BETA2/i386/build.conf Thu Jan 7 21:51:09 2016 (r293373) +++ user/cperciva/freebsd-update-build/scripts/6.3-BETA2/i386/build.conf Thu Jan 7 21:53:44 2016 (r293374) @@ -1,7 +1,5 @@ -# $FreeBSD$ - # SHA256 hash of RELEASE disc1.iso image. -export RELH=2099715d561df721833322bc56a4fa8b02c2b77713a1e0bc17fc4b2dded20212 +export RELH=b2e0c5263ba7c069eaf9d6734c4a6c5a78da06d4508f5ea28ef8ade9481a843e # Components of the world, source, and kernels export WORLDPARTS="base catpages dict doc games info manpages proflibs" @@ -11,4 +9,4 @@ export SOURCEPARTS="base bin contrib cry export KERNELPARTS="generic smp" # EOL date -export EOL=1201824000 +export EOL=1197504000 Modified: user/cperciva/freebsd-update-build/scripts/6.3-RELEASE/i386/build.conf ============================================================================== --- user/cperciva/freebsd-update-build/scripts/6.3-RELEASE/i386/build.conf Thu Jan 7 21:51:09 2016 (r293373) +++ user/cperciva/freebsd-update-build/scripts/6.3-RELEASE/i386/build.conf Thu Jan 7 21:53:44 2016 (r293374) @@ -1,7 +1,5 @@ -# $FreeBSD$ - # SHA256 hash of RELEASE disc1.iso image. -export RELH=2099715d561df721833322bc56a4fa8b02c2b77713a1e0bc17fc4b2dded20212 +export RELH=15081a56d184a18c7cc3a5c3cd0d7d5b7d9304c9cc1d5fc40d875b0fd3047721 # Components of the world, source, and kernels export WORLDPARTS="base catpages dict doc games info manpages proflibs" @@ -11,4 +9,4 @@ export SOURCEPARTS="base bin contrib cry export KERNELPARTS="generic smp" # EOL date -export EOL=1201824000 +export EOL=1264982400 Modified: user/cperciva/freebsd-update-build/scripts/7.0-BETA1.5/i386/build.conf ============================================================================== --- user/cperciva/freebsd-update-build/scripts/7.0-BETA1.5/i386/build.conf Thu Jan 7 21:51:09 2016 (r293373) +++ user/cperciva/freebsd-update-build/scripts/7.0-BETA1.5/i386/build.conf Thu Jan 7 21:53:44 2016 (r293374) @@ -1,14 +1,12 @@ -# $FreeBSD$ - # SHA256 hash of RELEASE disc1.iso image. -export RELH=2099715d561df721833322bc56a4fa8b02c2b77713a1e0bc17fc4b2dded20212 +export RELH=21db871604fc26ea5c804751209a5f90d0ac178ac7ca5706b34fab9bdd15877b # Components of the world, source, and kernels export WORLDPARTS="base catpages dict doc games info manpages proflibs" -export SOURCEPARTS="base bin contrib crypto etc games gnu include krb5 \ - lib libexec release rescue sbin secure share sys tools \ - ubin usbin" -export KERNELPARTS="generic smp" +export SOURCEPARTS="base bin cddl compat contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" # EOL date -export EOL=1201824000 +export EOL=1195113600 Modified: user/cperciva/freebsd-update-build/scripts/7.0-BETA2/i386/build.conf ============================================================================== --- user/cperciva/freebsd-update-build/scripts/7.0-BETA2/i386/build.conf Thu Jan 7 21:51:09 2016 (r293373) +++ user/cperciva/freebsd-update-build/scripts/7.0-BETA2/i386/build.conf Thu Jan 7 21:53:44 2016 (r293374) @@ -1,14 +1,12 @@ -# $FreeBSD$ - # SHA256 hash of RELEASE disc1.iso image. -export RELH=2099715d561df721833322bc56a4fa8b02c2b77713a1e0bc17fc4b2dded20212 +export RELH=565e0d41a2aa98cb5dcc5fd1b9cd8a06e5ec7cd293351563937ef38c19002738 # Components of the world, source, and kernels export WORLDPARTS="base catpages dict doc games info manpages proflibs" -export SOURCEPARTS="base bin contrib crypto etc games gnu include krb5 \ - lib libexec release rescue sbin secure share sys tools \ - ubin usbin" -export KERNELPARTS="generic smp" +export SOURCEPARTS="base bin cddl compat contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" # EOL date -export EOL=1201824000 +export EOL=1197158400 Modified: user/cperciva/freebsd-update-build/scripts/7.0-BETA3/i386/build.conf ============================================================================== --- user/cperciva/freebsd-update-build/scripts/7.0-BETA3/i386/build.conf Thu Jan 7 21:51:09 2016 (r293373) +++ user/cperciva/freebsd-update-build/scripts/7.0-BETA3/i386/build.conf Thu Jan 7 21:53:44 2016 (r293374) @@ -1,14 +1,12 @@ -# $FreeBSD$ - # SHA256 hash of RELEASE disc1.iso image. -export RELH=2099715d561df721833322bc56a4fa8b02c2b77713a1e0bc17fc4b2dded20212 +export RELH=082e00e6c8142e0c539f128311968fef443ac930702e567918a0dd758c09711f # Components of the world, source, and kernels export WORLDPARTS="base catpages dict doc games info manpages proflibs" -export SOURCEPARTS="base bin contrib crypto etc games gnu include krb5 \ - lib libexec release rescue sbin secure share sys tools \ - ubin usbin" -export KERNELPARTS="generic smp" +export SOURCEPARTS="base bin cddl compat contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" # EOL date -export EOL=1201824000 +export EOL=1198022400 Modified: user/cperciva/freebsd-update-build/scripts/7.0-RELEASE/i386/build.conf ============================================================================== --- user/cperciva/freebsd-update-build/scripts/7.0-RELEASE/i386/build.conf Thu Jan 7 21:51:09 2016 (r293373) +++ user/cperciva/freebsd-update-build/scripts/7.0-RELEASE/i386/build.conf Thu Jan 7 21:53:44 2016 (r293374) @@ -1,14 +1,12 @@ -# $FreeBSD$ - # SHA256 hash of RELEASE disc1.iso image. -export RELH=2099715d561df721833322bc56a4fa8b02c2b77713a1e0bc17fc4b2dded20212 +export RELH=7480c74dda9a78805ab0d647b23eb71cac43f4afce83ff65ad9f2019423583af # Components of the world, source, and kernels export WORLDPARTS="base catpages dict doc games info manpages proflibs" -export SOURCEPARTS="base bin contrib crypto etc games gnu include krb5 \ - lib libexec release rescue sbin secure share sys tools \ - ubin usbin" -export KERNELPARTS="generic smp" +export SOURCEPARTS="base bin cddl compat contrib crypto etc games gnu \ + include krb5 lib libexec release rescue sbin secure \ + share sys tools ubin usbin" +export KERNELPARTS="generic" # EOL date -export EOL=1201824000 +export EOL=1241136000 Modified: user/cperciva/freebsd-update-build/scripts/8.4-RELEASE/i386/build.conf ============================================================================== --- user/cperciva/freebsd-update-build/scripts/8.4-RELEASE/i386/build.conf Thu Jan 7 21:51:09 2016 (r293373) +++ user/cperciva/freebsd-update-build/scripts/8.4-RELEASE/i386/build.conf Thu Jan 7 21:53:44 2016 (r293374) @@ -1,3 +1,6 @@ +# gjb's home directory +export FTP=http://people.freebsd.org/~gjb/8.4-RELEASE/ + # SHA256 hash of RELEASE disc1.iso image. export RELH=73ecc5ba0c36e7682c4862e7351d385e2e07bc97a09f9dff326d3cc1ec690cf8 @@ -9,5 +12,5 @@ export SOURCEPARTS="base bin cddl contri export KERNELPARTS="generic" # EOL date -export EOL=1435708799 - +#export EOL=1435708800 +export EOL=1438387200 Modified: user/cperciva/freebsd-update-build/scripts/9.2-RELEASE/i386/build.conf ============================================================================== --- user/cperciva/freebsd-update-build/scripts/9.2-RELEASE/i386/build.conf Thu Jan 7 21:51:09 2016 (r293373) +++ user/cperciva/freebsd-update-build/scripts/9.2-RELEASE/i386/build.conf Thu Jan 7 21:53:44 2016 (r293374) @@ -1,10 +1,13 @@ # SHA256 hash of disc1.iso image. export RELH=76093c27288f0ab939a5de14b621ec8eb1420d96343132c2b7c382747d35b67c +# gjb's home directory +export FTP=http://people.freebsd.org/~gjb/9.2-RELEASE/ + # Components of the world, source, and kernels export WORLDPARTS="base doc games" export SOURCEPARTS="src" export KERNELPARTS="kernel" # EOL date -export EOL=1412121599 +export EOL=1420070400 From owner-svn-src-user@freebsd.org Fri Jan 8 01:12:28 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4D9F9A6685E for ; Fri, 8 Jan 2016 01:12:28 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2089D1C69; Fri, 8 Jan 2016 01:12:28 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u081CRw9025214; Fri, 8 Jan 2016 01:12:27 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u081CRA3025213; Fri, 8 Jan 2016 01:12:27 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201601080112.u081CRA3025213@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 8 Jan 2016 01:12:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293404 - user/pho/stress2 X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Jan 2016 01:12:28 -0000 Author: glebius Date: Fri Jan 8 01:12:27 2016 New Revision: 293404 URL: https://svnweb.freebsd.org/changeset/base/293404 Log: In mycc() make $file local, to avoid overwriting of the global variable, that could be used in scripts. misc/sendfile5.sh uses it. Modified: user/pho/stress2/default.cfg Modified: user/pho/stress2/default.cfg ============================================================================== --- user/pho/stress2/default.cfg Fri Jan 8 00:56:41 2016 (r293403) +++ user/pho/stress2/default.cfg Fri Jan 8 01:12:27 2016 (r293404) @@ -102,6 +102,8 @@ CC=${CC:-cc} top=`dirname $(pwd)` # cwd for the all.sh script STRESS2BIN=${STRESS2BIN:-$top/bin} mycc () { # "-o" must be first argument + local file; + [ "$1" = "-o" ] && file=`basename $2` if [ "$BMODE" = "1" ]; then $CC $@ || return From owner-svn-src-user@freebsd.org Fri Jan 8 19:02:55 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 74700A68332 for ; Fri, 8 Jan 2016 19:02:55 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2AD3A1C1C; Fri, 8 Jan 2016 19:02:55 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u08J2s7O048605; Fri, 8 Jan 2016 19:02:54 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u08J2sfu048604; Fri, 8 Jan 2016 19:02:54 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601081902.u08J2sfu048604@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Fri, 8 Jan 2016 19:02:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293431 - user/ngie/10.1-bug-198062 X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Jan 2016 19:02:55 -0000 Author: ngie Date: Fri Jan 8 19:02:54 2016 New Revision: 293431 URL: https://svnweb.freebsd.org/changeset/base/293431 Log: Remove branch; jhb has one in his git repo that's being used with the bug Deleted: user/ngie/10.1-bug-198062/ From owner-svn-src-user@freebsd.org Sat Jan 9 01:42:36 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EF584A67898 for ; Sat, 9 Jan 2016 01:42:35 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 514AE1DAE; Sat, 9 Jan 2016 01:42:35 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u091gYUt066973; Sat, 9 Jan 2016 01:42:34 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u091gX86066962; Sat, 9 Jan 2016 01:42:33 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201601090142.u091gX86066962@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Sat, 9 Jan 2016 01:42:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293456 - in user/alc/PQ_LAUNDRY: . bin/pax bin/sh bin/sh/tests/builtins bin/sh/tests/expansion cddl/contrib/opensolaris/cmd/zdb cddl/sbin/zfs cddl/sbin/zpool cddl/usr.sbin/zdb cddl/usr... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 Jan 2016 01:42:36 -0000 Author: markj Date: Sat Jan 9 01:42:31 2016 New Revision: 293456 URL: https://svnweb.freebsd.org/changeset/base/293456 Log: MFH r293455 Added: user/alc/PQ_LAUNDRY/bin/sh/tests/builtins/cd9.0 - copied unchanged from r293455, head/bin/sh/tests/builtins/cd9.0 user/alc/PQ_LAUNDRY/bin/sh/tests/builtins/cd9.0.stdout - copied unchanged from r293455, head/bin/sh/tests/builtins/cd9.0.stdout user/alc/PQ_LAUNDRY/bin/sh/tests/builtins/getopts10.0 - copied unchanged from r293455, head/bin/sh/tests/builtins/getopts10.0 user/alc/PQ_LAUNDRY/bin/sh/tests/expansion/trim9.0 - copied unchanged from r293455, head/bin/sh/tests/expansion/trim9.0 user/alc/PQ_LAUNDRY/contrib/less/compose.uni - copied unchanged from r293455, head/contrib/less/compose.uni user/alc/PQ_LAUNDRY/contrib/less/mkutable - copied unchanged from r293455, head/contrib/less/mkutable user/alc/PQ_LAUNDRY/contrib/less/ubin.uni - copied unchanged from r293455, head/contrib/less/ubin.uni user/alc/PQ_LAUNDRY/contrib/less/wide.uni - copied unchanged from r293455, head/contrib/less/wide.uni user/alc/PQ_LAUNDRY/contrib/llvm/patches/patch-08-clang-cc1as-dwarf2.diff - copied unchanged from r293455, head/contrib/llvm/patches/patch-08-clang-cc1as-dwarf2.diff user/alc/PQ_LAUNDRY/contrib/ntp/include/safecast.h - copied unchanged from r293455, head/contrib/ntp/include/safecast.h user/alc/PQ_LAUNDRY/etc/mtree/BSD.libsoft.dist - copied unchanged from r293455, head/etc/mtree/BSD.libsoft.dist user/alc/PQ_LAUNDRY/lib/libc/stdlib/hcreate_r.c - copied unchanged from r293455, head/lib/libc/stdlib/hcreate_r.c user/alc/PQ_LAUNDRY/lib/libc/stdlib/hdestroy_r.c - copied unchanged from r293455, head/lib/libc/stdlib/hdestroy_r.c user/alc/PQ_LAUNDRY/lib/libc/stdlib/hsearch.h - copied unchanged from r293455, head/lib/libc/stdlib/hsearch.h user/alc/PQ_LAUNDRY/lib/libc/stdlib/hsearch_r.c - copied unchanged from r293455, head/lib/libc/stdlib/hsearch_r.c user/alc/PQ_LAUNDRY/lib/libc/stdlib/tsearch_path.h - copied unchanged from r293455, head/lib/libc/stdlib/tsearch_path.h user/alc/PQ_LAUNDRY/lib/libc/tests/stdlib/tsearch_test.c - copied unchanged from r293455, head/lib/libc/tests/stdlib/tsearch_test.c user/alc/PQ_LAUNDRY/lib/libstand/uuid_from_string.c - copied unchanged from r293455, head/lib/libstand/uuid_from_string.c user/alc/PQ_LAUNDRY/lib/libstand/uuid_to_string.c - copied unchanged from r293455, head/lib/libstand/uuid_to_string.c user/alc/PQ_LAUNDRY/lib/libsysdecode/Makefile.depend - copied unchanged from r293455, head/lib/libsysdecode/Makefile.depend user/alc/PQ_LAUNDRY/lib/libsysdecode/mkioctls - copied unchanged from r293455, head/lib/libsysdecode/mkioctls user/alc/PQ_LAUNDRY/lib/libsysdecode/sysdecode_ioctlname.3 - copied unchanged from r293455, head/lib/libsysdecode/sysdecode_ioctlname.3 user/alc/PQ_LAUNDRY/lib/msun/tests/ctrig_test.c - copied unchanged from r293455, head/lib/msun/tests/ctrig_test.c user/alc/PQ_LAUNDRY/lib/msun/tests/exponential_test.c - copied unchanged from r293455, head/lib/msun/tests/exponential_test.c user/alc/PQ_LAUNDRY/lib/msun/tests/fma_test.c - copied unchanged from r293455, head/lib/msun/tests/fma_test.c user/alc/PQ_LAUNDRY/lib/msun/tests/invtrig_test.c - copied unchanged from r293455, head/lib/msun/tests/invtrig_test.c user/alc/PQ_LAUNDRY/lib/msun/tests/lround_test.c - copied unchanged from r293455, head/lib/msun/tests/lround_test.c user/alc/PQ_LAUNDRY/lib/msun/tests/lround_test.t - copied unchanged from r293455, head/lib/msun/tests/lround_test.t user/alc/PQ_LAUNDRY/lib/msun/tests/test-utils.h - copied unchanged from r293455, head/lib/msun/tests/test-utils.h user/alc/PQ_LAUNDRY/libexec/rtld-elf/riscv/ - copied from r293455, head/libexec/rtld-elf/riscv/ user/alc/PQ_LAUNDRY/share/man/man4/mdio.4 - copied unchanged from r293455, head/share/man/man4/mdio.4 user/alc/PQ_LAUNDRY/share/man/man4/rtwn.4 - copied unchanged from r293455, head/share/man/man4/rtwn.4 user/alc/PQ_LAUNDRY/share/man/man4/rtwnfw.4 - copied unchanged from r293455, head/share/man/man4/rtwnfw.4 user/alc/PQ_LAUNDRY/sys/arm/arm/ofw_machdep.c - copied unchanged from r293455, head/sys/arm/arm/ofw_machdep.c user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx6_hdmi.c - copied unchanged from r293455, head/sys/arm/freescale/imx/imx6_hdmi.c user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx6_hdmireg.h - copied unchanged from r293455, head/sys/arm/freescale/imx/imx6_hdmireg.h user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx6_ipu.c - copied unchanged from r293455, head/sys/arm/freescale/imx/imx6_ipu.c user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx_iomuxreg.h - copied unchanged from r293455, head/sys/arm/freescale/imx/imx_iomuxreg.h user/alc/PQ_LAUNDRY/sys/arm64/arm64/ofw_machdep.c - copied unchanged from r293455, head/sys/arm64/arm64/ofw_machdep.c user/alc/PQ_LAUNDRY/sys/compat/linuxkpi/common/include/linux/rcupdate.h - copied unchanged from r293455, head/sys/compat/linuxkpi/common/include/linux/rcupdate.h user/alc/PQ_LAUNDRY/sys/compat/linuxkpi/common/include/linux/srcu.h - copied unchanged from r293455, head/sys/compat/linuxkpi/common/include/linux/srcu.h user/alc/PQ_LAUNDRY/sys/contrib/dev/rtwn/ - copied from r293455, head/sys/contrib/dev/rtwn/ user/alc/PQ_LAUNDRY/sys/crypto/sha2/sha384.h - copied unchanged from r293455, head/sys/crypto/sha2/sha384.h user/alc/PQ_LAUNDRY/sys/crypto/sha2/sha512.h - copied unchanged from r293455, head/sys/crypto/sha2/sha512.h user/alc/PQ_LAUNDRY/sys/crypto/sha2/sha512c.c - copied unchanged from r293455, head/sys/crypto/sha2/sha512c.c user/alc/PQ_LAUNDRY/sys/dev/bxe/bxe_dump.h - copied unchanged from r293455, head/sys/dev/bxe/bxe_dump.h user/alc/PQ_LAUNDRY/sys/dev/bxe/bxe_ioctl.h - copied unchanged from r293455, head/sys/dev/bxe/bxe_ioctl.h user/alc/PQ_LAUNDRY/sys/dev/cxgbe/cxgbei/ - copied from r293455, head/sys/dev/cxgbe/cxgbei/ user/alc/PQ_LAUNDRY/sys/dev/ixgbe/ixgbe_osdep.c - copied unchanged from r293455, head/sys/dev/ixgbe/ixgbe_osdep.c user/alc/PQ_LAUNDRY/sys/dev/mdio/ - copied from r293455, head/sys/dev/mdio/ user/alc/PQ_LAUNDRY/sys/dev/ofw/ofw_subr.c - copied unchanged from r293455, head/sys/dev/ofw/ofw_subr.c user/alc/PQ_LAUNDRY/sys/dev/ofw/ofw_subr.h - copied unchanged from r293455, head/sys/dev/ofw/ofw_subr.h user/alc/PQ_LAUNDRY/sys/dev/rtwn/ - copied from r293455, head/sys/dev/rtwn/ user/alc/PQ_LAUNDRY/sys/dev/syscons/plasma/ - copied from r293455, head/sys/dev/syscons/plasma/ user/alc/PQ_LAUNDRY/sys/geom/eli/g_eli_hmac.c - copied unchanged from r293455, head/sys/geom/eli/g_eli_hmac.c user/alc/PQ_LAUNDRY/sys/mips/conf/MT7620 - copied unchanged from r293455, head/sys/mips/conf/MT7620 user/alc/PQ_LAUNDRY/sys/mips/conf/MT7620.hints - copied unchanged from r293455, head/sys/mips/conf/MT7620.hints user/alc/PQ_LAUNDRY/sys/mips/conf/RT5350 - copied unchanged from r293455, head/sys/mips/conf/RT5350 user/alc/PQ_LAUNDRY/sys/mips/conf/RT5350.hints - copied unchanged from r293455, head/sys/mips/conf/RT5350.hints user/alc/PQ_LAUNDRY/sys/mips/mips/ofw_machdep.c - copied unchanged from r293455, head/sys/mips/mips/ofw_machdep.c user/alc/PQ_LAUNDRY/sys/mips/rt305x/rt305x_ehci.c - copied unchanged from r293455, head/sys/mips/rt305x/rt305x_ehci.c user/alc/PQ_LAUNDRY/sys/mips/rt305x/rt305x_ohci.c - copied unchanged from r293455, head/sys/mips/rt305x/rt305x_ohci.c user/alc/PQ_LAUNDRY/sys/mips/rt305x/rt305x_pci.c - copied unchanged from r293455, head/sys/mips/rt305x/rt305x_pci.c user/alc/PQ_LAUNDRY/sys/mips/rt305x/rt305x_pcireg.h - copied unchanged from r293455, head/sys/mips/rt305x/rt305x_pcireg.h user/alc/PQ_LAUNDRY/sys/mips/rt305x/rt305x_spi.c - copied unchanged from r293455, head/sys/mips/rt305x/rt305x_spi.c user/alc/PQ_LAUNDRY/sys/modules/cxgbe/cxgbei/ - copied from r293455, head/sys/modules/cxgbe/cxgbei/ user/alc/PQ_LAUNDRY/sys/modules/mdio/ - copied from r293455, head/sys/modules/mdio/ user/alc/PQ_LAUNDRY/sys/modules/rtwn/ - copied from r293455, head/sys/modules/rtwn/ user/alc/PQ_LAUNDRY/sys/modules/rtwnfw/ - copied from r293455, head/sys/modules/rtwnfw/ user/alc/PQ_LAUNDRY/sys/modules/syscons/plasma/ - copied from r293455, head/sys/modules/syscons/plasma/ user/alc/PQ_LAUNDRY/sys/netinet/tcp_fastopen.c - copied unchanged from r293455, head/sys/netinet/tcp_fastopen.c user/alc/PQ_LAUNDRY/sys/netinet/tcp_fastopen.h - copied unchanged from r293455, head/sys/netinet/tcp_fastopen.h user/alc/PQ_LAUNDRY/sys/opencrypto/xform_aes_icm.c - copied unchanged from r293455, head/sys/opencrypto/xform_aes_icm.c user/alc/PQ_LAUNDRY/sys/opencrypto/xform_aes_xts.c - copied unchanged from r293455, head/sys/opencrypto/xform_aes_xts.c user/alc/PQ_LAUNDRY/sys/opencrypto/xform_auth.h - copied unchanged from r293455, head/sys/opencrypto/xform_auth.h user/alc/PQ_LAUNDRY/sys/opencrypto/xform_blf.c - copied unchanged from r293455, head/sys/opencrypto/xform_blf.c user/alc/PQ_LAUNDRY/sys/opencrypto/xform_cast5.c - copied unchanged from r293455, head/sys/opencrypto/xform_cast5.c user/alc/PQ_LAUNDRY/sys/opencrypto/xform_cml.c - copied unchanged from r293455, head/sys/opencrypto/xform_cml.c user/alc/PQ_LAUNDRY/sys/opencrypto/xform_comp.h - copied unchanged from r293455, head/sys/opencrypto/xform_comp.h user/alc/PQ_LAUNDRY/sys/opencrypto/xform_deflate.c - copied unchanged from r293455, head/sys/opencrypto/xform_deflate.c user/alc/PQ_LAUNDRY/sys/opencrypto/xform_des1.c - copied unchanged from r293455, head/sys/opencrypto/xform_des1.c user/alc/PQ_LAUNDRY/sys/opencrypto/xform_des3.c - copied unchanged from r293455, head/sys/opencrypto/xform_des3.c user/alc/PQ_LAUNDRY/sys/opencrypto/xform_enc.h - copied unchanged from r293455, head/sys/opencrypto/xform_enc.h user/alc/PQ_LAUNDRY/sys/opencrypto/xform_gmac.c - copied unchanged from r293455, head/sys/opencrypto/xform_gmac.c user/alc/PQ_LAUNDRY/sys/opencrypto/xform_md5.c - copied unchanged from r293455, head/sys/opencrypto/xform_md5.c user/alc/PQ_LAUNDRY/sys/opencrypto/xform_null.c - copied unchanged from r293455, head/sys/opencrypto/xform_null.c user/alc/PQ_LAUNDRY/sys/opencrypto/xform_rijndael.c - copied unchanged from r293455, head/sys/opencrypto/xform_rijndael.c user/alc/PQ_LAUNDRY/sys/opencrypto/xform_rmd160.c - copied unchanged from r293455, head/sys/opencrypto/xform_rmd160.c user/alc/PQ_LAUNDRY/sys/opencrypto/xform_sha1.c - copied unchanged from r293455, head/sys/opencrypto/xform_sha1.c user/alc/PQ_LAUNDRY/sys/opencrypto/xform_sha2.c - copied unchanged from r293455, head/sys/opencrypto/xform_sha2.c user/alc/PQ_LAUNDRY/sys/opencrypto/xform_skipjack.c - copied unchanged from r293455, head/sys/opencrypto/xform_skipjack.c user/alc/PQ_LAUNDRY/sys/opencrypto/xform_userland.h - copied unchanged from r293455, head/sys/opencrypto/xform_userland.h user/alc/PQ_LAUNDRY/sys/x86/include/cputypes.h - copied unchanged from r293455, head/sys/x86/include/cputypes.h user/alc/PQ_LAUNDRY/sys/x86/include/metadata.h - copied unchanged from r293455, head/sys/x86/include/metadata.h user/alc/PQ_LAUNDRY/tests/sys/kern/unix_passfd_test.c - copied unchanged from r293455, head/tests/sys/kern/unix_passfd_test.c user/alc/PQ_LAUNDRY/tests/sys/mac/ - copied from r293455, head/tests/sys/mac/ user/alc/PQ_LAUNDRY/tools/build/options/WITHOUT_LLVM_LIBUNWIND - copied unchanged from r293455, head/tools/build/options/WITHOUT_LLVM_LIBUNWIND user/alc/PQ_LAUNDRY/tools/build/options/WITH_LLVM_LIBUNWIND - copied unchanged from r293455, head/tools/build/options/WITH_LLVM_LIBUNWIND user/alc/PQ_LAUNDRY/tools/regression/geom_eli/conf.sh - copied unchanged from r293455, head/tools/regression/geom_eli/conf.sh user/alc/PQ_LAUNDRY/tools/regression/geom_uzip/conf.sh - copied unchanged from r293455, head/tools/regression/geom_uzip/conf.sh user/alc/PQ_LAUNDRY/tools/regression/geom_uzip/test-1.t - copied unchanged from r293455, head/tools/regression/geom_uzip/test-1.t user/alc/PQ_LAUNDRY/usr.bin/clang/clang/CC.sh - copied unchanged from r293455, head/usr.bin/clang/clang/CC.sh user/alc/PQ_LAUNDRY/usr.sbin/rpcbind/tests/ - copied from r293455, head/usr.sbin/rpcbind/tests/ Replaced: user/alc/PQ_LAUNDRY/lib/libc/stdlib/hcreate.c - copied unchanged from r293455, head/lib/libc/stdlib/hcreate.c user/alc/PQ_LAUNDRY/sys/amd64/include/metadata.h - copied unchanged from r293455, head/sys/amd64/include/metadata.h Deleted: user/alc/PQ_LAUNDRY/contrib/llvm/patches/patch-02-add-CC-aliases.diff user/alc/PQ_LAUNDRY/contrib/llvm/patches/patch-08-llvm-r250085-fix-avx-crash.diff user/alc/PQ_LAUNDRY/contrib/llvm/patches/patch-09-clang-r250657-openmp.diff user/alc/PQ_LAUNDRY/contrib/llvm/patches/patch-10-clang-cc1as-dwarf2.diff user/alc/PQ_LAUNDRY/lib/libmd/sha512.h user/alc/PQ_LAUNDRY/lib/libmd/sha512c.c user/alc/PQ_LAUNDRY/sys/crypto/sha2/sha2.c user/alc/PQ_LAUNDRY/sys/crypto/sha2/sha2.h user/alc/PQ_LAUNDRY/sys/dev/etherswitch/mdio.c user/alc/PQ_LAUNDRY/sys/dev/etherswitch/mdio.h user/alc/PQ_LAUNDRY/sys/dev/etherswitch/mdio_if.m user/alc/PQ_LAUNDRY/sys/dev/ixgbe/LICENSE user/alc/PQ_LAUNDRY/sys/dev/ixgbe/README user/alc/PQ_LAUNDRY/sys/ofed/include/rdma/Kbuild user/alc/PQ_LAUNDRY/tools/regression/geom_uzip/runtests.sh user/alc/PQ_LAUNDRY/tools/regression/geom_uzip/test-1.sh user/alc/PQ_LAUNDRY/tools/regression/geom_uzip/test-2.sh user/alc/PQ_LAUNDRY/tools/regression/lib/msun/ user/alc/PQ_LAUNDRY/tools/regression/mac/ user/alc/PQ_LAUNDRY/tools/regression/sockets/unix_passfd/ user/alc/PQ_LAUNDRY/usr.bin/kdump/mkioctls Modified: user/alc/PQ_LAUNDRY/COPYRIGHT user/alc/PQ_LAUNDRY/MAINTAINERS (contents, props changed) user/alc/PQ_LAUNDRY/Makefile user/alc/PQ_LAUNDRY/Makefile.inc1 user/alc/PQ_LAUNDRY/ObsoleteFiles.inc user/alc/PQ_LAUNDRY/bin/pax/pat_rep.c user/alc/PQ_LAUNDRY/bin/sh/eval.c user/alc/PQ_LAUNDRY/bin/sh/exec.c user/alc/PQ_LAUNDRY/bin/sh/expand.c user/alc/PQ_LAUNDRY/bin/sh/expand.h user/alc/PQ_LAUNDRY/bin/sh/mkbuiltins user/alc/PQ_LAUNDRY/bin/sh/mknodes.c user/alc/PQ_LAUNDRY/bin/sh/options.c user/alc/PQ_LAUNDRY/bin/sh/options.h user/alc/PQ_LAUNDRY/bin/sh/tests/builtins/Makefile user/alc/PQ_LAUNDRY/bin/sh/tests/expansion/Makefile user/alc/PQ_LAUNDRY/bin/sh/var.c user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zdb/zdb.c user/alc/PQ_LAUNDRY/cddl/sbin/zfs/Makefile user/alc/PQ_LAUNDRY/cddl/sbin/zpool/Makefile user/alc/PQ_LAUNDRY/cddl/usr.sbin/zdb/Makefile user/alc/PQ_LAUNDRY/cddl/usr.sbin/zhack/Makefile user/alc/PQ_LAUNDRY/contrib/binutils/bfd/elf32-arm.c user/alc/PQ_LAUNDRY/contrib/bmake/ChangeLog user/alc/PQ_LAUNDRY/contrib/bmake/Makefile user/alc/PQ_LAUNDRY/contrib/bmake/mk/ChangeLog user/alc/PQ_LAUNDRY/contrib/bmake/mk/auto.obj.mk user/alc/PQ_LAUNDRY/contrib/bmake/mk/install-mk user/alc/PQ_LAUNDRY/contrib/bmake/os.sh user/alc/PQ_LAUNDRY/contrib/bmake/suff.c user/alc/PQ_LAUNDRY/contrib/bsnmp/snmpd/action.c user/alc/PQ_LAUNDRY/contrib/bsnmp/snmpd/main.c user/alc/PQ_LAUNDRY/contrib/bsnmp/snmpd/trap.c user/alc/PQ_LAUNDRY/contrib/gcc/config/rs6000/sysv4.h user/alc/PQ_LAUNDRY/contrib/less/LICENSE user/alc/PQ_LAUNDRY/contrib/less/NEWS user/alc/PQ_LAUNDRY/contrib/less/README user/alc/PQ_LAUNDRY/contrib/less/brac.c user/alc/PQ_LAUNDRY/contrib/less/ch.c user/alc/PQ_LAUNDRY/contrib/less/charset.c user/alc/PQ_LAUNDRY/contrib/less/charset.h user/alc/PQ_LAUNDRY/contrib/less/cmd.h user/alc/PQ_LAUNDRY/contrib/less/cmdbuf.c user/alc/PQ_LAUNDRY/contrib/less/command.c user/alc/PQ_LAUNDRY/contrib/less/cvt.c user/alc/PQ_LAUNDRY/contrib/less/decode.c user/alc/PQ_LAUNDRY/contrib/less/edit.c user/alc/PQ_LAUNDRY/contrib/less/filename.c user/alc/PQ_LAUNDRY/contrib/less/forwback.c user/alc/PQ_LAUNDRY/contrib/less/funcs.h user/alc/PQ_LAUNDRY/contrib/less/help.c user/alc/PQ_LAUNDRY/contrib/less/ifile.c user/alc/PQ_LAUNDRY/contrib/less/input.c user/alc/PQ_LAUNDRY/contrib/less/jump.c user/alc/PQ_LAUNDRY/contrib/less/less.h user/alc/PQ_LAUNDRY/contrib/less/less.hlp user/alc/PQ_LAUNDRY/contrib/less/less.nro user/alc/PQ_LAUNDRY/contrib/less/lessecho.c user/alc/PQ_LAUNDRY/contrib/less/lessecho.nro user/alc/PQ_LAUNDRY/contrib/less/lesskey.c user/alc/PQ_LAUNDRY/contrib/less/lesskey.h user/alc/PQ_LAUNDRY/contrib/less/lesskey.nro user/alc/PQ_LAUNDRY/contrib/less/lglob.h user/alc/PQ_LAUNDRY/contrib/less/line.c user/alc/PQ_LAUNDRY/contrib/less/linenum.c user/alc/PQ_LAUNDRY/contrib/less/lsystem.c user/alc/PQ_LAUNDRY/contrib/less/main.c user/alc/PQ_LAUNDRY/contrib/less/mark.c user/alc/PQ_LAUNDRY/contrib/less/mkhelp.c user/alc/PQ_LAUNDRY/contrib/less/optfunc.c user/alc/PQ_LAUNDRY/contrib/less/option.c user/alc/PQ_LAUNDRY/contrib/less/option.h user/alc/PQ_LAUNDRY/contrib/less/opttbl.c user/alc/PQ_LAUNDRY/contrib/less/os.c user/alc/PQ_LAUNDRY/contrib/less/output.c user/alc/PQ_LAUNDRY/contrib/less/pattern.c user/alc/PQ_LAUNDRY/contrib/less/pattern.h user/alc/PQ_LAUNDRY/contrib/less/pckeys.h user/alc/PQ_LAUNDRY/contrib/less/position.c user/alc/PQ_LAUNDRY/contrib/less/position.h user/alc/PQ_LAUNDRY/contrib/less/prompt.c user/alc/PQ_LAUNDRY/contrib/less/regexp.c user/alc/PQ_LAUNDRY/contrib/less/screen.c user/alc/PQ_LAUNDRY/contrib/less/scrsize.c user/alc/PQ_LAUNDRY/contrib/less/search.c user/alc/PQ_LAUNDRY/contrib/less/signal.c user/alc/PQ_LAUNDRY/contrib/less/tags.c user/alc/PQ_LAUNDRY/contrib/less/ttyin.c user/alc/PQ_LAUNDRY/contrib/less/version.c user/alc/PQ_LAUNDRY/contrib/libexecinfo/backtrace.3 user/alc/PQ_LAUNDRY/contrib/llvm/include/llvm-c/Core.h user/alc/PQ_LAUNDRY/contrib/llvm/include/llvm/CodeGen/CommandFlags.h user/alc/PQ_LAUNDRY/contrib/llvm/lib/CodeGen/AsmPrinter/WinException.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/IR/AsmWriter.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/IR/Core.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/LTO/LTOCodeGenerator.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/MC/MCContext.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/AMDGPU/AMDGPURegisterInfo.td user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/AMDGPU/SIISelLowering.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/AMDGPU/SIInstrInfo.h user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/AMDGPU/SIInstructions.td user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/AMDGPU/SIPrepareScratchRegs.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/AMDGPU/SIRegisterInfo.h user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/BPF/BPFISelDAGToDAG.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/BPF/BPFISelLowering.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/BPF/BPFInstrInfo.td user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/BPF/BPFRegisterInfo.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/Mips/MipsISelLowering.h user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.td user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/PowerPC/PPCInstrQPX.td user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/PowerPC/PPCInstrVSX.td user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp (contents, props changed) user/alc/PQ_LAUNDRY/contrib/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/Transforms/Scalar/GVN.cpp user/alc/PQ_LAUNDRY/contrib/llvm/lib/Transforms/Utils/Local.cpp user/alc/PQ_LAUNDRY/contrib/llvm/patches/README.TXT user/alc/PQ_LAUNDRY/contrib/llvm/projects/libunwind/src/AddressSpace.hpp user/alc/PQ_LAUNDRY/contrib/llvm/projects/libunwind/src/DwarfParser.hpp user/alc/PQ_LAUNDRY/contrib/llvm/projects/libunwind/src/UnwindCursor.hpp user/alc/PQ_LAUNDRY/contrib/llvm/projects/libunwind/src/UnwindRegistersSave.S user/alc/PQ_LAUNDRY/contrib/llvm/projects/libunwind/src/config.h user/alc/PQ_LAUNDRY/contrib/llvm/projects/libunwind/src/libunwind.cpp user/alc/PQ_LAUNDRY/contrib/llvm/tools/clang/lib/Basic/Targets.cpp user/alc/PQ_LAUNDRY/contrib/llvm/tools/clang/lib/Basic/Version.cpp user/alc/PQ_LAUNDRY/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp user/alc/PQ_LAUNDRY/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp user/alc/PQ_LAUNDRY/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp user/alc/PQ_LAUNDRY/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp user/alc/PQ_LAUNDRY/contrib/llvm/tools/clang/tools/driver/driver.cpp user/alc/PQ_LAUNDRY/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm64.cpp user/alc/PQ_LAUNDRY/contrib/llvm/tools/llvm-lto/llvm-lto.cpp user/alc/PQ_LAUNDRY/contrib/netbsd-tests/lib/libc/gen/t_assert.c user/alc/PQ_LAUNDRY/contrib/netbsd-tests/lib/libc/ssp/t_ssp.sh user/alc/PQ_LAUNDRY/contrib/netbsd-tests/usr.bin/grep/d_binary.out user/alc/PQ_LAUNDRY/contrib/netbsd-tests/usr.bin/grep/t_grep.sh user/alc/PQ_LAUNDRY/contrib/ntp/ChangeLog user/alc/PQ_LAUNDRY/contrib/ntp/CommitLog user/alc/PQ_LAUNDRY/contrib/ntp/NEWS user/alc/PQ_LAUNDRY/contrib/ntp/configure user/alc/PQ_LAUNDRY/contrib/ntp/html/miscopt.html user/alc/PQ_LAUNDRY/contrib/ntp/include/Makefile.am user/alc/PQ_LAUNDRY/contrib/ntp/include/Makefile.in user/alc/PQ_LAUNDRY/contrib/ntp/include/ntp_refclock.h user/alc/PQ_LAUNDRY/contrib/ntp/include/ntp_stdlib.h user/alc/PQ_LAUNDRY/contrib/ntp/include/ntp_worker.h user/alc/PQ_LAUNDRY/contrib/ntp/include/ntpd.h user/alc/PQ_LAUNDRY/contrib/ntp/lib/isc/backtrace.c user/alc/PQ_LAUNDRY/contrib/ntp/lib/isc/buffer.c user/alc/PQ_LAUNDRY/contrib/ntp/lib/isc/inet_aton.c user/alc/PQ_LAUNDRY/contrib/ntp/lib/isc/inet_pton.c user/alc/PQ_LAUNDRY/contrib/ntp/lib/isc/log.c user/alc/PQ_LAUNDRY/contrib/ntp/lib/isc/netaddr.c user/alc/PQ_LAUNDRY/contrib/ntp/lib/isc/sockaddr.c user/alc/PQ_LAUNDRY/contrib/ntp/lib/isc/task.c user/alc/PQ_LAUNDRY/contrib/ntp/lib/isc/win32/interfaceiter.c user/alc/PQ_LAUNDRY/contrib/ntp/lib/isc/win32/net.c user/alc/PQ_LAUNDRY/contrib/ntp/libntp/a_md5encrypt.c user/alc/PQ_LAUNDRY/contrib/ntp/libntp/atolfp.c user/alc/PQ_LAUNDRY/contrib/ntp/libntp/authkeys.c user/alc/PQ_LAUNDRY/contrib/ntp/libntp/authreadkeys.c user/alc/PQ_LAUNDRY/contrib/ntp/libntp/authusekey.c user/alc/PQ_LAUNDRY/contrib/ntp/libntp/dolfptoa.c user/alc/PQ_LAUNDRY/contrib/ntp/libntp/hextolfp.c user/alc/PQ_LAUNDRY/contrib/ntp/libntp/mstolfp.c user/alc/PQ_LAUNDRY/contrib/ntp/libntp/msyslog.c user/alc/PQ_LAUNDRY/contrib/ntp/libntp/ntp_crypto_rnd.c user/alc/PQ_LAUNDRY/contrib/ntp/libntp/ntp_lineedit.c user/alc/PQ_LAUNDRY/contrib/ntp/libntp/ntp_rfc2553.c user/alc/PQ_LAUNDRY/contrib/ntp/libntp/ntp_worker.c user/alc/PQ_LAUNDRY/contrib/ntp/libntp/snprintf.c user/alc/PQ_LAUNDRY/contrib/ntp/libntp/socktohost.c user/alc/PQ_LAUNDRY/contrib/ntp/libntp/systime.c user/alc/PQ_LAUNDRY/contrib/ntp/libntp/work_thread.c user/alc/PQ_LAUNDRY/contrib/ntp/libparse/clk_computime.c user/alc/PQ_LAUNDRY/contrib/ntp/libparse/clk_dcf7000.c user/alc/PQ_LAUNDRY/contrib/ntp/libparse/clk_hopf6021.c user/alc/PQ_LAUNDRY/contrib/ntp/libparse/clk_meinberg.c user/alc/PQ_LAUNDRY/contrib/ntp/libparse/clk_rawdcf.c user/alc/PQ_LAUNDRY/contrib/ntp/libparse/clk_rcc8000.c user/alc/PQ_LAUNDRY/contrib/ntp/libparse/clk_schmid.c user/alc/PQ_LAUNDRY/contrib/ntp/libparse/clk_trimtaip.c user/alc/PQ_LAUNDRY/contrib/ntp/libparse/clk_varitext.c user/alc/PQ_LAUNDRY/contrib/ntp/libparse/clk_wharton.c user/alc/PQ_LAUNDRY/contrib/ntp/libparse/parse.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/invoke-ntp.conf.texi user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/invoke-ntp.keys.texi user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/invoke-ntpd.texi user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntp.conf.5man user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntp.conf.5mdoc user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntp.conf.html user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntp.conf.man.in user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntp.conf.mdoc.in user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntp.keys.5man user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntp.keys.5mdoc user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntp.keys.html user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntp.keys.man.in user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntp.keys.mdoc.in user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntp_control.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntp_crypto.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntp_io.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntp_loopfilter.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntp_parser.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntp_proto.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntp_refclock.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntp_request.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntp_restrict.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntp_signd.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntp_timer.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntp_util.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntpd-opts.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntpd-opts.h user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntpd.1ntpdman user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntpd.1ntpdmdoc user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntpd.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntpd.html user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntpd.man.in user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/ntpd.mdoc.in user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/refclock_local.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/refclock_parse.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/refclock_shm.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/refclock_true.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpd/refclock_tsyncpci.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpdate/ntpdate.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpdc/invoke-ntpdc.texi user/alc/PQ_LAUNDRY/contrib/ntp/ntpdc/ntpdc-opts.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpdc/ntpdc-opts.h user/alc/PQ_LAUNDRY/contrib/ntp/ntpdc/ntpdc.1ntpdcman user/alc/PQ_LAUNDRY/contrib/ntp/ntpdc/ntpdc.1ntpdcmdoc user/alc/PQ_LAUNDRY/contrib/ntp/ntpdc/ntpdc.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpdc/ntpdc.h user/alc/PQ_LAUNDRY/contrib/ntp/ntpdc/ntpdc.html user/alc/PQ_LAUNDRY/contrib/ntp/ntpdc/ntpdc.man.in user/alc/PQ_LAUNDRY/contrib/ntp/ntpdc/ntpdc.mdoc.in user/alc/PQ_LAUNDRY/contrib/ntp/ntpdc/ntpdc_ops.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpq/invoke-ntpq.texi user/alc/PQ_LAUNDRY/contrib/ntp/ntpq/libntpq.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpq/libntpq.h user/alc/PQ_LAUNDRY/contrib/ntp/ntpq/libntpq_subs.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpq/ntpq-opts.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpq/ntpq-opts.h user/alc/PQ_LAUNDRY/contrib/ntp/ntpq/ntpq-subs.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpq/ntpq.1ntpqman user/alc/PQ_LAUNDRY/contrib/ntp/ntpq/ntpq.1ntpqmdoc user/alc/PQ_LAUNDRY/contrib/ntp/ntpq/ntpq.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpq/ntpq.h user/alc/PQ_LAUNDRY/contrib/ntp/ntpq/ntpq.html user/alc/PQ_LAUNDRY/contrib/ntp/ntpq/ntpq.man.in user/alc/PQ_LAUNDRY/contrib/ntp/ntpq/ntpq.mdoc.in user/alc/PQ_LAUNDRY/contrib/ntp/ntpsnmpd/invoke-ntpsnmpd.texi user/alc/PQ_LAUNDRY/contrib/ntp/ntpsnmpd/ntpsnmpd-opts.c user/alc/PQ_LAUNDRY/contrib/ntp/ntpsnmpd/ntpsnmpd-opts.h user/alc/PQ_LAUNDRY/contrib/ntp/ntpsnmpd/ntpsnmpd.1ntpsnmpdman user/alc/PQ_LAUNDRY/contrib/ntp/ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc user/alc/PQ_LAUNDRY/contrib/ntp/ntpsnmpd/ntpsnmpd.html user/alc/PQ_LAUNDRY/contrib/ntp/ntpsnmpd/ntpsnmpd.man.in user/alc/PQ_LAUNDRY/contrib/ntp/ntpsnmpd/ntpsnmpd.mdoc.in user/alc/PQ_LAUNDRY/contrib/ntp/packageinfo.sh user/alc/PQ_LAUNDRY/contrib/ntp/scripts/calc_tickadj/Makefile.am user/alc/PQ_LAUNDRY/contrib/ntp/scripts/calc_tickadj/Makefile.in user/alc/PQ_LAUNDRY/contrib/ntp/scripts/calc_tickadj/calc_tickadj.1calc_tickadjman user/alc/PQ_LAUNDRY/contrib/ntp/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc user/alc/PQ_LAUNDRY/contrib/ntp/scripts/calc_tickadj/calc_tickadj.html user/alc/PQ_LAUNDRY/contrib/ntp/scripts/calc_tickadj/calc_tickadj.man.in user/alc/PQ_LAUNDRY/contrib/ntp/scripts/calc_tickadj/calc_tickadj.mdoc.in user/alc/PQ_LAUNDRY/contrib/ntp/scripts/calc_tickadj/invoke-calc_tickadj.texi user/alc/PQ_LAUNDRY/contrib/ntp/scripts/invoke-plot_summary.texi user/alc/PQ_LAUNDRY/contrib/ntp/scripts/invoke-summary.texi user/alc/PQ_LAUNDRY/contrib/ntp/scripts/ntp-wait/invoke-ntp-wait.texi user/alc/PQ_LAUNDRY/contrib/ntp/scripts/ntp-wait/ntp-wait-opts user/alc/PQ_LAUNDRY/contrib/ntp/scripts/ntp-wait/ntp-wait.1ntp-waitman user/alc/PQ_LAUNDRY/contrib/ntp/scripts/ntp-wait/ntp-wait.1ntp-waitmdoc user/alc/PQ_LAUNDRY/contrib/ntp/scripts/ntp-wait/ntp-wait.html user/alc/PQ_LAUNDRY/contrib/ntp/scripts/ntp-wait/ntp-wait.man.in user/alc/PQ_LAUNDRY/contrib/ntp/scripts/ntp-wait/ntp-wait.mdoc.in user/alc/PQ_LAUNDRY/contrib/ntp/scripts/ntpsweep/invoke-ntpsweep.texi user/alc/PQ_LAUNDRY/contrib/ntp/scripts/ntpsweep/ntpsweep-opts user/alc/PQ_LAUNDRY/contrib/ntp/scripts/ntpsweep/ntpsweep.1ntpsweepman user/alc/PQ_LAUNDRY/contrib/ntp/scripts/ntpsweep/ntpsweep.1ntpsweepmdoc user/alc/PQ_LAUNDRY/contrib/ntp/scripts/ntpsweep/ntpsweep.html user/alc/PQ_LAUNDRY/contrib/ntp/scripts/ntpsweep/ntpsweep.man.in user/alc/PQ_LAUNDRY/contrib/ntp/scripts/ntpsweep/ntpsweep.mdoc.in user/alc/PQ_LAUNDRY/contrib/ntp/scripts/ntptrace/invoke-ntptrace.texi user/alc/PQ_LAUNDRY/contrib/ntp/scripts/ntptrace/ntptrace-opts user/alc/PQ_LAUNDRY/contrib/ntp/scripts/ntptrace/ntptrace.1ntptraceman user/alc/PQ_LAUNDRY/contrib/ntp/scripts/ntptrace/ntptrace.1ntptracemdoc user/alc/PQ_LAUNDRY/contrib/ntp/scripts/ntptrace/ntptrace.html user/alc/PQ_LAUNDRY/contrib/ntp/scripts/ntptrace/ntptrace.man.in user/alc/PQ_LAUNDRY/contrib/ntp/scripts/ntptrace/ntptrace.mdoc.in user/alc/PQ_LAUNDRY/contrib/ntp/scripts/plot_summary-opts user/alc/PQ_LAUNDRY/contrib/ntp/scripts/plot_summary.1plot_summaryman user/alc/PQ_LAUNDRY/contrib/ntp/scripts/plot_summary.1plot_summarymdoc user/alc/PQ_LAUNDRY/contrib/ntp/scripts/plot_summary.html user/alc/PQ_LAUNDRY/contrib/ntp/scripts/plot_summary.man.in user/alc/PQ_LAUNDRY/contrib/ntp/scripts/plot_summary.mdoc.in user/alc/PQ_LAUNDRY/contrib/ntp/scripts/summary-opts user/alc/PQ_LAUNDRY/contrib/ntp/scripts/summary.1summaryman user/alc/PQ_LAUNDRY/contrib/ntp/scripts/summary.1summarymdoc user/alc/PQ_LAUNDRY/contrib/ntp/scripts/summary.html user/alc/PQ_LAUNDRY/contrib/ntp/scripts/summary.man.in user/alc/PQ_LAUNDRY/contrib/ntp/scripts/summary.mdoc.in user/alc/PQ_LAUNDRY/contrib/ntp/scripts/update-leap/invoke-update-leap.texi user/alc/PQ_LAUNDRY/contrib/ntp/scripts/update-leap/update-leap-opts user/alc/PQ_LAUNDRY/contrib/ntp/scripts/update-leap/update-leap.1update-leapman user/alc/PQ_LAUNDRY/contrib/ntp/scripts/update-leap/update-leap.1update-leapmdoc user/alc/PQ_LAUNDRY/contrib/ntp/scripts/update-leap/update-leap.html user/alc/PQ_LAUNDRY/contrib/ntp/scripts/update-leap/update-leap.man.in user/alc/PQ_LAUNDRY/contrib/ntp/scripts/update-leap/update-leap.mdoc.in user/alc/PQ_LAUNDRY/contrib/ntp/sntp/configure user/alc/PQ_LAUNDRY/contrib/ntp/sntp/include/version.def user/alc/PQ_LAUNDRY/contrib/ntp/sntp/include/version.texi user/alc/PQ_LAUNDRY/contrib/ntp/sntp/invoke-sntp.texi user/alc/PQ_LAUNDRY/contrib/ntp/sntp/m4/ntp_libevent.m4 user/alc/PQ_LAUNDRY/contrib/ntp/sntp/m4/ntp_problemtests.m4 user/alc/PQ_LAUNDRY/contrib/ntp/sntp/m4/version.m4 user/alc/PQ_LAUNDRY/contrib/ntp/sntp/networking.c user/alc/PQ_LAUNDRY/contrib/ntp/sntp/sntp-opts.c user/alc/PQ_LAUNDRY/contrib/ntp/sntp/sntp-opts.h user/alc/PQ_LAUNDRY/contrib/ntp/sntp/sntp.1sntpman user/alc/PQ_LAUNDRY/contrib/ntp/sntp/sntp.1sntpmdoc user/alc/PQ_LAUNDRY/contrib/ntp/sntp/sntp.html user/alc/PQ_LAUNDRY/contrib/ntp/sntp/sntp.man.in user/alc/PQ_LAUNDRY/contrib/ntp/sntp/sntp.mdoc.in user/alc/PQ_LAUNDRY/contrib/ntp/sntp/tests/keyFile.c user/alc/PQ_LAUNDRY/contrib/ntp/sntp/tests/kodDatabase.c user/alc/PQ_LAUNDRY/contrib/ntp/sntp/tests/kodFile.c user/alc/PQ_LAUNDRY/contrib/ntp/sntp/tests/run-kodDatabase.c user/alc/PQ_LAUNDRY/contrib/ntp/sntp/tests/run-t-log.c user/alc/PQ_LAUNDRY/contrib/ntp/sntp/tests/t-log.c user/alc/PQ_LAUNDRY/contrib/ntp/sntp/tests/utilities.c user/alc/PQ_LAUNDRY/contrib/ntp/sntp/unity/unity_internals.h user/alc/PQ_LAUNDRY/contrib/ntp/sntp/version.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/bug-2803/bug-2803.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/bug-2803/run-bug-2803.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/a_md5encrypt.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/authkeys.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/buftvtots.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/calendar.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/caljulian.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/clocktime.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/decodenetnum.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/humandate.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/lfpfunc.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/lfptostr.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/modetoa.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/msyslog.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/netof.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/numtoa.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/numtohost.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/octtoint.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/prettydate.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/recvbuff.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/refidsmear.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/refnumtoa.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/run-a_md5encrypt.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/run-calendar.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/run-decodenetnum.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/run-humandate.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/run-lfpfunc.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/run-lfptostr.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/run-modetoa.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/run-msyslog.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/run-netof.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/run-numtoa.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/run-numtohost.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/run-prettydate.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/run-refnumtoa.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/run-sfptostr.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/run-socktoa.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/run-statestr.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/run-strtolfp.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/run-timespecops.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/run-timevalops.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/run-uglydate.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/sfptostr.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/socktoa.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/statestr.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/strtolfp.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/timespecops.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/timevalops.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/libntp/uglydate.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/ntpd/leapsec.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/ntpd/ntp_prio_q.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/ntpd/ntp_restrict.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/ntpd/rc_cmdlength.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/ntpd/run-leapsec.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/ntpd/run-ntp_restrict.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/ntpd/run-rc_cmdlength.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/ntpd/run-t-ntp_signd.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/ntpd/t-ntp_scanner.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/ntpd/t-ntp_signd.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/sandbox/run-uglydate.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/sandbox/smeartest.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/sandbox/uglydate.c user/alc/PQ_LAUNDRY/contrib/ntp/tests/sec-2853/sec-2853.c user/alc/PQ_LAUNDRY/contrib/ntp/util/invoke-ntp-keygen.texi user/alc/PQ_LAUNDRY/contrib/ntp/util/ntp-keygen-opts.c user/alc/PQ_LAUNDRY/contrib/ntp/util/ntp-keygen-opts.h user/alc/PQ_LAUNDRY/contrib/ntp/util/ntp-keygen.1ntp-keygenman user/alc/PQ_LAUNDRY/contrib/ntp/util/ntp-keygen.1ntp-keygenmdoc user/alc/PQ_LAUNDRY/contrib/ntp/util/ntp-keygen.c user/alc/PQ_LAUNDRY/contrib/ntp/util/ntp-keygen.html user/alc/PQ_LAUNDRY/contrib/ntp/util/ntp-keygen.man.in user/alc/PQ_LAUNDRY/contrib/ntp/util/ntp-keygen.mdoc.in user/alc/PQ_LAUNDRY/contrib/pf/pflogd/pflogd.c user/alc/PQ_LAUNDRY/contrib/smbfs/lib/smb/nb_name.c user/alc/PQ_LAUNDRY/etc/Makefile user/alc/PQ_LAUNDRY/etc/defaults/rc.conf user/alc/PQ_LAUNDRY/etc/mtree/BSD.debug.dist user/alc/PQ_LAUNDRY/etc/mtree/BSD.tests.dist user/alc/PQ_LAUNDRY/etc/mtree/BSD.usr.dist user/alc/PQ_LAUNDRY/etc/mtree/Makefile user/alc/PQ_LAUNDRY/etc/ntp/leap-seconds user/alc/PQ_LAUNDRY/etc/rc user/alc/PQ_LAUNDRY/etc/rc.d/NETWORKING user/alc/PQ_LAUNDRY/etc/rc.d/jail user/alc/PQ_LAUNDRY/etc/rc.d/netwait user/alc/PQ_LAUNDRY/etc/services user/alc/PQ_LAUNDRY/gnu/lib/libgcc/Makefile user/alc/PQ_LAUNDRY/gnu/usr.bin/binutils/ld/Makefile user/alc/PQ_LAUNDRY/include/netdb.h user/alc/PQ_LAUNDRY/include/paths.h user/alc/PQ_LAUNDRY/include/search.h user/alc/PQ_LAUNDRY/lib/Makefile user/alc/PQ_LAUNDRY/lib/clang/include/Makefile user/alc/PQ_LAUNDRY/lib/clang/include/clang/Basic/Version.inc user/alc/PQ_LAUNDRY/lib/clang/include/clang/Config/config.h user/alc/PQ_LAUNDRY/lib/clang/include/llvm/Config/config.h user/alc/PQ_LAUNDRY/lib/clang/include/llvm/Config/llvm-config.h user/alc/PQ_LAUNDRY/lib/libc/Makefile user/alc/PQ_LAUNDRY/lib/libc/arm/sys/__vdso_gettc.c user/alc/PQ_LAUNDRY/lib/libc/gen/exec.3 user/alc/PQ_LAUNDRY/lib/libc/gen/getpeereid.c user/alc/PQ_LAUNDRY/lib/libc/gen/lockf.c user/alc/PQ_LAUNDRY/lib/libc/gen/nlist.c user/alc/PQ_LAUNDRY/lib/libc/gen/posix_spawn.3 user/alc/PQ_LAUNDRY/lib/libc/gen/sysconf.c user/alc/PQ_LAUNDRY/lib/libc/iconv/citrus_mmap.c user/alc/PQ_LAUNDRY/lib/libc/net/getaddrinfo.3 user/alc/PQ_LAUNDRY/lib/libc/net/getaddrinfo.c user/alc/PQ_LAUNDRY/lib/libc/net/gethostbynis.c user/alc/PQ_LAUNDRY/lib/libc/net/map_v4v6.c user/alc/PQ_LAUNDRY/lib/libc/net/name6.c user/alc/PQ_LAUNDRY/lib/libc/net/netdb_private.h user/alc/PQ_LAUNDRY/lib/libc/net/rcmdsh.c user/alc/PQ_LAUNDRY/lib/libc/stdio/findfp.c user/alc/PQ_LAUNDRY/lib/libc/stdlib/Makefile.inc user/alc/PQ_LAUNDRY/lib/libc/stdlib/hcreate.3 user/alc/PQ_LAUNDRY/lib/libc/stdlib/tdelete.c user/alc/PQ_LAUNDRY/lib/libc/stdlib/tsearch.3 user/alc/PQ_LAUNDRY/lib/libc/stdlib/tsearch.c user/alc/PQ_LAUNDRY/lib/libc/sys/clock_gettime.2 user/alc/PQ_LAUNDRY/lib/libc/sys/gettimeofday.2 user/alc/PQ_LAUNDRY/lib/libc/sys/ptrace.2 user/alc/PQ_LAUNDRY/lib/libc/sys/sendfile.2 user/alc/PQ_LAUNDRY/lib/libc/tests/resolv/Makefile user/alc/PQ_LAUNDRY/lib/libc/tests/resolv/resolv_test.c user/alc/PQ_LAUNDRY/lib/libc/tests/stdlib/Makefile user/alc/PQ_LAUNDRY/lib/libclang_rt/Makefile.inc user/alc/PQ_LAUNDRY/lib/libcrypt/Makefile user/alc/PQ_LAUNDRY/lib/libcuse/cuse_lib.c user/alc/PQ_LAUNDRY/lib/libdpv/util.h user/alc/PQ_LAUNDRY/lib/libgssapi/gss_release_oid_set.c user/alc/PQ_LAUNDRY/lib/libmd/Makefile user/alc/PQ_LAUNDRY/lib/libmd/Makefile.depend user/alc/PQ_LAUNDRY/lib/libmd/mdXhl.c user/alc/PQ_LAUNDRY/lib/libmd/sha512.3 user/alc/PQ_LAUNDRY/lib/libmd/shadriver.c user/alc/PQ_LAUNDRY/lib/libnv/tests/dnv_tests.cc user/alc/PQ_LAUNDRY/lib/libnv/tests/nv_array_tests.cc user/alc/PQ_LAUNDRY/lib/libstand/Makefile user/alc/PQ_LAUNDRY/lib/libstand/bootp.c user/alc/PQ_LAUNDRY/lib/libsysdecode/Makefile user/alc/PQ_LAUNDRY/lib/libsysdecode/sysdecode.3 user/alc/PQ_LAUNDRY/lib/libsysdecode/sysdecode.h user/alc/PQ_LAUNDRY/lib/libthr/thread/thr_fork.c user/alc/PQ_LAUNDRY/lib/libthr/thread/thr_init.c user/alc/PQ_LAUNDRY/lib/libthr/thread/thr_private.h user/alc/PQ_LAUNDRY/lib/msun/tests/Makefile user/alc/PQ_LAUNDRY/libexec/rtld-elf/aarch64/rtld_machdep.h user/alc/PQ_LAUNDRY/libexec/rtld-elf/amd64/reloc.c user/alc/PQ_LAUNDRY/libexec/rtld-elf/amd64/rtld_machdep.h user/alc/PQ_LAUNDRY/libexec/rtld-elf/arm/reloc.c user/alc/PQ_LAUNDRY/libexec/rtld-elf/arm/rtld_machdep.h user/alc/PQ_LAUNDRY/libexec/rtld-elf/i386/rtld_machdep.h user/alc/PQ_LAUNDRY/libexec/rtld-elf/mips/rtld_machdep.h user/alc/PQ_LAUNDRY/libexec/rtld-elf/paths.h user/alc/PQ_LAUNDRY/libexec/rtld-elf/powerpc/rtld_machdep.h user/alc/PQ_LAUNDRY/libexec/rtld-elf/powerpc64/reloc.c user/alc/PQ_LAUNDRY/libexec/rtld-elf/powerpc64/rtld_machdep.h user/alc/PQ_LAUNDRY/libexec/rtld-elf/powerpc64/rtld_start.S user/alc/PQ_LAUNDRY/libexec/rtld-elf/rtld.c user/alc/PQ_LAUNDRY/libexec/rtld-elf/sparc64/rtld_machdep.h user/alc/PQ_LAUNDRY/release/Makefile user/alc/PQ_LAUNDRY/release/amd64/make-memstick.sh user/alc/PQ_LAUNDRY/release/amd64/mkisoimages.sh user/alc/PQ_LAUNDRY/release/arm64/make-memstick.sh user/alc/PQ_LAUNDRY/release/doc/en_US.ISO8859-1/hardware/article.xml user/alc/PQ_LAUNDRY/release/i386/make-memstick.sh user/alc/PQ_LAUNDRY/release/i386/mkisoimages.sh user/alc/PQ_LAUNDRY/release/pc98/mkisoimages.sh user/alc/PQ_LAUNDRY/release/powerpc/make-memstick.sh user/alc/PQ_LAUNDRY/release/powerpc/mkisoimages.sh user/alc/PQ_LAUNDRY/release/release.sh user/alc/PQ_LAUNDRY/release/scripts/make-manifest.sh user/alc/PQ_LAUNDRY/release/sparc64/mkisoimages.sh user/alc/PQ_LAUNDRY/sbin/gbde/Makefile user/alc/PQ_LAUNDRY/sbin/gbde/gbde.c user/alc/PQ_LAUNDRY/sbin/geom/class/eli/Makefile user/alc/PQ_LAUNDRY/sbin/ifconfig/Makefile user/alc/PQ_LAUNDRY/sbin/ifconfig/sfp.c user/alc/PQ_LAUNDRY/sbin/md5/Makefile user/alc/PQ_LAUNDRY/sbin/md5/md5.1 user/alc/PQ_LAUNDRY/sbin/md5/md5.c user/alc/PQ_LAUNDRY/sbin/mount/mount.c user/alc/PQ_LAUNDRY/sbin/reboot/reboot.c user/alc/PQ_LAUNDRY/sbin/umount/umount.c user/alc/PQ_LAUNDRY/share/examples/tests/tests/atf/printf_test.c user/alc/PQ_LAUNDRY/share/man/man4/Makefile user/alc/PQ_LAUNDRY/share/man/man4/ioat.4 user/alc/PQ_LAUNDRY/share/man/man4/nvme.4 user/alc/PQ_LAUNDRY/share/man/man4/splash.4 user/alc/PQ_LAUNDRY/share/man/man5/procfs.5 user/alc/PQ_LAUNDRY/share/man/man5/src.conf.5 user/alc/PQ_LAUNDRY/share/man/man7/ascii.7 user/alc/PQ_LAUNDRY/share/man/man9/DEVICE_PROBE.9 user/alc/PQ_LAUNDRY/share/man/man9/Makefile user/alc/PQ_LAUNDRY/share/man/man9/kern_testfrwk.9 user/alc/PQ_LAUNDRY/share/man/man9/make_dev.9 user/alc/PQ_LAUNDRY/share/man/man9/malloc.9 user/alc/PQ_LAUNDRY/share/man/man9/pci.9 user/alc/PQ_LAUNDRY/share/man/man9/timeout.9 user/alc/PQ_LAUNDRY/share/man/man9/zone.9 user/alc/PQ_LAUNDRY/share/misc/ascii (contents, props changed) user/alc/PQ_LAUNDRY/share/misc/committers-ports.dot user/alc/PQ_LAUNDRY/share/misc/organization.dot user/alc/PQ_LAUNDRY/share/mk/bsd.README user/alc/PQ_LAUNDRY/share/mk/bsd.compiler.mk user/alc/PQ_LAUNDRY/share/mk/bsd.lib.mk user/alc/PQ_LAUNDRY/share/mk/bsd.test.mk user/alc/PQ_LAUNDRY/share/mk/src.opts.mk user/alc/PQ_LAUNDRY/share/mk/suite.test.mk user/alc/PQ_LAUNDRY/share/mk/sys.mk user/alc/PQ_LAUNDRY/share/mk/tap.test.mk user/alc/PQ_LAUNDRY/share/timedef/ja_JP.SJIS.src user/alc/PQ_LAUNDRY/share/timedef/ja_JP.UTF-8.src user/alc/PQ_LAUNDRY/share/timedef/ja_JP.eucJP.src user/alc/PQ_LAUNDRY/share/vt/keymaps/gr.101.acc.kbd user/alc/PQ_LAUNDRY/share/vt/keymaps/gr.elot.acc.kbd user/alc/PQ_LAUNDRY/share/vt/keymaps/hu.101.kbd user/alc/PQ_LAUNDRY/share/vt/keymaps/hu.102.kbd user/alc/PQ_LAUNDRY/share/vt/keymaps/lt.kbd user/alc/PQ_LAUNDRY/share/vt/keymaps/pt.acc.kbd user/alc/PQ_LAUNDRY/share/vt/keymaps/pt.kbd user/alc/PQ_LAUNDRY/share/vt/keymaps/ua.kbd user/alc/PQ_LAUNDRY/share/vt/keymaps/ua.shift.alt.kbd user/alc/PQ_LAUNDRY/sys/amd64/amd64/initcpu.c user/alc/PQ_LAUNDRY/sys/amd64/amd64/machdep.c user/alc/PQ_LAUNDRY/sys/amd64/include/cputypes.h user/alc/PQ_LAUNDRY/sys/amd64/include/md_var.h user/alc/PQ_LAUNDRY/sys/arm/arm/db_interface.c user/alc/PQ_LAUNDRY/sys/arm/arm/locore-v4.S user/alc/PQ_LAUNDRY/sys/arm/arm/locore-v6.S user/alc/PQ_LAUNDRY/sys/arm/arm/machdep.c user/alc/PQ_LAUNDRY/sys/arm/arm/physmem.c user/alc/PQ_LAUNDRY/sys/arm/arm/pmap-v6-new.c user/alc/PQ_LAUNDRY/sys/arm/at91/std.bwct user/alc/PQ_LAUNDRY/sys/arm/at91/std.eb9200 user/alc/PQ_LAUNDRY/sys/arm/at91/std.ethernut5 user/alc/PQ_LAUNDRY/sys/arm/at91/std.hl200 user/alc/PQ_LAUNDRY/sys/arm/at91/std.hl201 user/alc/PQ_LAUNDRY/sys/arm/at91/std.kb920x user/alc/PQ_LAUNDRY/sys/arm/at91/std.qila9g20 user/alc/PQ_LAUNDRY/sys/arm/at91/std.sam9260ek user/alc/PQ_LAUNDRY/sys/arm/at91/std.sam9g20ek user/alc/PQ_LAUNDRY/sys/arm/at91/std.sam9x25ek user/alc/PQ_LAUNDRY/sys/arm/at91/std.sn9g45 user/alc/PQ_LAUNDRY/sys/arm/at91/std.tsc4370 user/alc/PQ_LAUNDRY/sys/arm/broadcom/bcm2835/bcm2835_fbd.c user/alc/PQ_LAUNDRY/sys/arm/cavium/cns11xx/std.econa user/alc/PQ_LAUNDRY/sys/arm/conf/ATMEL user/alc/PQ_LAUNDRY/sys/arm/conf/CNS11XXNAS user/alc/PQ_LAUNDRY/sys/arm/conf/CRB user/alc/PQ_LAUNDRY/sys/arm/conf/GUMSTIX user/alc/PQ_LAUNDRY/sys/arm/conf/IMX6 user/alc/PQ_LAUNDRY/sys/arm/conf/NOTES user/alc/PQ_LAUNDRY/sys/arm/conf/NSLU user/alc/PQ_LAUNDRY/sys/arm/conf/SAM9260EK user/alc/PQ_LAUNDRY/sys/arm/conf/SAM9G20EK user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/files.imx6 user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx6_ccm.c user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx6_ccmreg.h user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx_ccmvar.h user/alc/PQ_LAUNDRY/sys/arm/include/ofw_machdep.h user/alc/PQ_LAUNDRY/sys/arm/lpc/std.lpc user/alc/PQ_LAUNDRY/sys/arm/mv/discovery/std.db78xxx user/alc/PQ_LAUNDRY/sys/arm/mv/kirkwood/std.kirkwood user/alc/PQ_LAUNDRY/sys/arm/mv/orion/std.db88f5xxx user/alc/PQ_LAUNDRY/sys/arm/mv/orion/std.ts7800 user/alc/PQ_LAUNDRY/sys/arm/xscale/i80321/ep80219_machdep.c user/alc/PQ_LAUNDRY/sys/arm/xscale/i80321/iq31244_machdep.c user/alc/PQ_LAUNDRY/sys/arm/xscale/i8134x/crb_machdep.c user/alc/PQ_LAUNDRY/sys/arm/xscale/ixp425/avila_machdep.c user/alc/PQ_LAUNDRY/sys/arm/xscale/ixp425/std.avila user/alc/PQ_LAUNDRY/sys/arm/xscale/pxa/pxa_machdep.c user/alc/PQ_LAUNDRY/sys/arm64/arm64/identcpu.c user/alc/PQ_LAUNDRY/sys/arm64/arm64/machdep.c user/alc/PQ_LAUNDRY/sys/arm64/arm64/mp_machdep.c user/alc/PQ_LAUNDRY/sys/arm64/include/armreg.h user/alc/PQ_LAUNDRY/sys/arm64/include/cpu.h user/alc/PQ_LAUNDRY/sys/arm64/include/ofw_machdep.h user/alc/PQ_LAUNDRY/sys/arm64/include/setjmp.h user/alc/PQ_LAUNDRY/sys/boot/efi/boot1/Makefile user/alc/PQ_LAUNDRY/sys/boot/efi/boot1/boot1.c user/alc/PQ_LAUNDRY/sys/boot/efi/boot1/fat-amd64.tmpl.bz2.uu user/alc/PQ_LAUNDRY/sys/boot/efi/boot1/fat-arm.tmpl.bz2.uu user/alc/PQ_LAUNDRY/sys/boot/efi/boot1/fat-arm64.tmpl.bz2.uu user/alc/PQ_LAUNDRY/sys/boot/efi/boot1/fat-i386.tmpl.bz2.uu user/alc/PQ_LAUNDRY/sys/boot/efi/boot1/generate-fat.sh user/alc/PQ_LAUNDRY/sys/boot/efi/include/amd64/efibind.h user/alc/PQ_LAUNDRY/sys/boot/efi/include/arm64/efibind.h user/alc/PQ_LAUNDRY/sys/boot/efi/include/efierr.h user/alc/PQ_LAUNDRY/sys/boot/efi/include/i386/efibind.h user/alc/PQ_LAUNDRY/sys/boot/efi/libefi/Makefile user/alc/PQ_LAUNDRY/sys/boot/efi/libefi/efi_console.c user/alc/PQ_LAUNDRY/sys/boot/efi/loader/Makefile user/alc/PQ_LAUNDRY/sys/boot/efi/loader/arch/amd64/framebuffer.c user/alc/PQ_LAUNDRY/sys/boot/efi/loader/bootinfo.c user/alc/PQ_LAUNDRY/sys/boot/efi/loader/copy.c user/alc/PQ_LAUNDRY/sys/boot/efi/loader/devicename.c user/alc/PQ_LAUNDRY/sys/boot/efi/loader/main.c user/alc/PQ_LAUNDRY/sys/boot/ficl/amd64/sysdep.c user/alc/PQ_LAUNDRY/sys/boot/forth/beastie.4th user/alc/PQ_LAUNDRY/sys/boot/forth/beastie.4th.8 user/alc/PQ_LAUNDRY/sys/boot/forth/loader.conf user/alc/PQ_LAUNDRY/sys/boot/forth/loader.conf.5 user/alc/PQ_LAUNDRY/sys/boot/forth/menu-commands.4th user/alc/PQ_LAUNDRY/sys/boot/forth/menu.rc user/alc/PQ_LAUNDRY/sys/boot/forth/support.4th user/alc/PQ_LAUNDRY/sys/boot/i386/libi386/biosmem.c user/alc/PQ_LAUNDRY/sys/boot/i386/loader/main.c user/alc/PQ_LAUNDRY/sys/boot/i386/zfsboot/zfsboot.c user/alc/PQ_LAUNDRY/sys/boot/libstand32/Makefile user/alc/PQ_LAUNDRY/sys/boot/libstand32/Makefile.depend user/alc/PQ_LAUNDRY/sys/boot/pc98/boot2/boot2.c user/alc/PQ_LAUNDRY/sys/boot/pc98/libpc98/biosdisk.c user/alc/PQ_LAUNDRY/sys/boot/uboot/common/main.c user/alc/PQ_LAUNDRY/sys/boot/uboot/lib/copy.c user/alc/PQ_LAUNDRY/sys/boot/userboot/libstand/Makefile user/alc/PQ_LAUNDRY/sys/boot/userboot/libstand/Makefile.depend user/alc/PQ_LAUNDRY/sys/boot/userboot/test/Makefile.depend user/alc/PQ_LAUNDRY/sys/boot/userboot/userboot/main.c user/alc/PQ_LAUNDRY/sys/boot/zfs/libzfs.h user/alc/PQ_LAUNDRY/sys/boot/zfs/zfs.c user/alc/PQ_LAUNDRY/sys/boot/zfs/zfsimpl.c user/alc/PQ_LAUNDRY/sys/bsm/audit.h user/alc/PQ_LAUNDRY/sys/bsm/audit_domain.h user/alc/PQ_LAUNDRY/sys/bsm/audit_errno.h user/alc/PQ_LAUNDRY/sys/bsm/audit_fcntl.h user/alc/PQ_LAUNDRY/sys/bsm/audit_internal.h user/alc/PQ_LAUNDRY/sys/bsm/audit_kevents.h user/alc/PQ_LAUNDRY/sys/bsm/audit_record.h user/alc/PQ_LAUNDRY/sys/bsm/audit_socket_type.h user/alc/PQ_LAUNDRY/sys/cam/ctl/ctl.c user/alc/PQ_LAUNDRY/sys/cam/scsi/scsi_ch.c user/alc/PQ_LAUNDRY/sys/cam/scsi/scsi_enc.c user/alc/PQ_LAUNDRY/sys/cam/scsi/scsi_pass.c user/alc/PQ_LAUNDRY/sys/cam/scsi/scsi_pt.c user/alc/PQ_LAUNDRY/sys/cam/scsi/scsi_sa.c user/alc/PQ_LAUNDRY/sys/cam/scsi/scsi_sg.c user/alc/PQ_LAUNDRY/sys/cddl/boot/zfs/lz4.c user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sha256.c user/alc/PQ_LAUNDRY/sys/cddl/dev/fbt/arm/fbt_isa.c user/alc/PQ_LAUNDRY/sys/compat/linux/linux_futex.c user/alc/PQ_LAUNDRY/sys/compat/linux/linux_timer.c user/alc/PQ_LAUNDRY/sys/compat/linuxkpi/common/include/linux/cdev.h user/alc/PQ_LAUNDRY/sys/compat/linuxkpi/common/include/linux/compiler.h user/alc/PQ_LAUNDRY/sys/compat/linuxkpi/common/include/linux/device.h user/alc/PQ_LAUNDRY/sys/compat/linuxkpi/common/include/linux/file.h user/alc/PQ_LAUNDRY/sys/compat/linuxkpi/common/include/linux/gfp.h user/alc/PQ_LAUNDRY/sys/compat/linuxkpi/common/include/linux/interrupt.h user/alc/PQ_LAUNDRY/sys/compat/linuxkpi/common/include/linux/kobject.h user/alc/PQ_LAUNDRY/sys/compat/linuxkpi/common/include/linux/kthread.h user/alc/PQ_LAUNDRY/sys/compat/linuxkpi/common/include/linux/miscdevice.h user/alc/PQ_LAUNDRY/sys/compat/linuxkpi/common/include/linux/netdevice.h user/alc/PQ_LAUNDRY/sys/compat/linuxkpi/common/include/linux/workqueue.h user/alc/PQ_LAUNDRY/sys/compat/linuxkpi/common/src/linux_compat.c user/alc/PQ_LAUNDRY/sys/compat/linuxkpi/common/src/linux_pci.c user/alc/PQ_LAUNDRY/sys/conf/files user/alc/PQ_LAUNDRY/sys/conf/files.arm user/alc/PQ_LAUNDRY/sys/conf/files.arm64 user/alc/PQ_LAUNDRY/sys/conf/files.mips user/alc/PQ_LAUNDRY/sys/conf/files.powerpc user/alc/PQ_LAUNDRY/sys/conf/kmod.mk user/alc/PQ_LAUNDRY/sys/conf/newvers.sh user/alc/PQ_LAUNDRY/sys/conf/options user/alc/PQ_LAUNDRY/sys/conf/options.arm user/alc/PQ_LAUNDRY/sys/conf/options.mips user/alc/PQ_LAUNDRY/sys/contrib/ipfilter/netinet/ip_nat.c user/alc/PQ_LAUNDRY/sys/contrib/rdma/krping/krping.c user/alc/PQ_LAUNDRY/sys/crypto/sha1.h user/alc/PQ_LAUNDRY/sys/crypto/sha2/sha256.h user/alc/PQ_LAUNDRY/sys/dev/asmc/asmc.c user/alc/PQ_LAUNDRY/sys/dev/ath/ah_osdep.c user/alc/PQ_LAUNDRY/sys/dev/ath/ah_osdep.h user/alc/PQ_LAUNDRY/sys/dev/bwi/if_bwi.c user/alc/PQ_LAUNDRY/sys/dev/bxe/bxe.c user/alc/PQ_LAUNDRY/sys/dev/bxe/bxe.h user/alc/PQ_LAUNDRY/sys/dev/bxe/bxe_stats.c user/alc/PQ_LAUNDRY/sys/dev/bxe/bxe_stats.h user/alc/PQ_LAUNDRY/sys/dev/bxe/ecore_init.h user/alc/PQ_LAUNDRY/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c user/alc/PQ_LAUNDRY/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c user/alc/PQ_LAUNDRY/sys/dev/cxgb/ulp/tom/cxgb_l2t.c user/alc/PQ_LAUNDRY/sys/dev/cxgb/ulp/tom/cxgb_listen.c user/alc/PQ_LAUNDRY/sys/dev/cxgbe/adapter.h user/alc/PQ_LAUNDRY/sys/dev/cxgbe/iw_cxgbe/cm.c user/alc/PQ_LAUNDRY/sys/dev/cxgbe/offload.h user/alc/PQ_LAUNDRY/sys/dev/cxgbe/t4_main.c user/alc/PQ_LAUNDRY/sys/dev/cxgbe/tom/t4_cpl_io.c user/alc/PQ_LAUNDRY/sys/dev/cxgbe/tom/t4_ddp.c user/alc/PQ_LAUNDRY/sys/dev/cxgbe/tom/t4_listen.c user/alc/PQ_LAUNDRY/sys/dev/cxgbe/tom/t4_tom.c user/alc/PQ_LAUNDRY/sys/dev/cxgbe/tom/t4_tom.h user/alc/PQ_LAUNDRY/sys/dev/cxgbe/tom/t4_tom_l2t.c user/alc/PQ_LAUNDRY/sys/dev/e1000/if_em.c user/alc/PQ_LAUNDRY/sys/dev/e1000/if_em.h user/alc/PQ_LAUNDRY/sys/dev/e1000/if_igb.c user/alc/PQ_LAUNDRY/sys/dev/e1000/if_igb.h user/alc/PQ_LAUNDRY/sys/dev/etherswitch/arswitch/arswitch.c user/alc/PQ_LAUNDRY/sys/dev/etherswitch/arswitch/arswitch_7240.c user/alc/PQ_LAUNDRY/sys/dev/etherswitch/arswitch/arswitch_8216.c user/alc/PQ_LAUNDRY/sys/dev/etherswitch/arswitch/arswitch_8226.c user/alc/PQ_LAUNDRY/sys/dev/etherswitch/arswitch/arswitch_8316.c user/alc/PQ_LAUNDRY/sys/dev/etherswitch/arswitch/arswitch_8327.c user/alc/PQ_LAUNDRY/sys/dev/etherswitch/arswitch/arswitch_9340.c user/alc/PQ_LAUNDRY/sys/dev/etherswitch/arswitch/arswitch_phy.c user/alc/PQ_LAUNDRY/sys/dev/etherswitch/arswitch/arswitch_reg.c user/alc/PQ_LAUNDRY/sys/dev/etherswitch/e6000sw/e6000sw.c user/alc/PQ_LAUNDRY/sys/dev/etherswitch/ip17x/ip17x.c user/alc/PQ_LAUNDRY/sys/dev/etherswitch/ukswitch/ukswitch.c user/alc/PQ_LAUNDRY/sys/dev/hyperv/include/hyperv.h user/alc/PQ_LAUNDRY/sys/dev/hyperv/vmbus/hv_channel_mgmt.c user/alc/PQ_LAUNDRY/sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c user/alc/PQ_LAUNDRY/sys/dev/hyperv/vmbus/hv_vmbus_priv.h user/alc/PQ_LAUNDRY/sys/dev/if_ndis/if_ndis.c user/alc/PQ_LAUNDRY/sys/dev/ioat/ioat.c user/alc/PQ_LAUNDRY/sys/dev/ioat/ioat.h user/alc/PQ_LAUNDRY/sys/dev/isci/scil/scic_sds_phy.h user/alc/PQ_LAUNDRY/sys/dev/iscsi/iscsi.c user/alc/PQ_LAUNDRY/sys/dev/ismt/ismt.c user/alc/PQ_LAUNDRY/sys/dev/isp/isp.c user/alc/PQ_LAUNDRY/sys/dev/isp/isp_freebsd.c user/alc/PQ_LAUNDRY/sys/dev/isp/isp_freebsd.h user/alc/PQ_LAUNDRY/sys/dev/isp/isp_library.c user/alc/PQ_LAUNDRY/sys/dev/isp/isp_library.h user/alc/PQ_LAUNDRY/sys/dev/isp/isp_pci.c user/alc/PQ_LAUNDRY/sys/dev/isp/isp_sbus.c user/alc/PQ_LAUNDRY/sys/dev/isp/isp_target.c user/alc/PQ_LAUNDRY/sys/dev/isp/ispmbox.h user/alc/PQ_LAUNDRY/sys/dev/isp/ispvar.h user/alc/PQ_LAUNDRY/sys/dev/iwi/if_iwi.c user/alc/PQ_LAUNDRY/sys/dev/iwm/if_iwm.c user/alc/PQ_LAUNDRY/sys/dev/iwm/if_iwm_mac_ctxt.c user/alc/PQ_LAUNDRY/sys/dev/iwm/if_iwmvar.h user/alc/PQ_LAUNDRY/sys/dev/iwn/if_iwn.c user/alc/PQ_LAUNDRY/sys/dev/ixgbe/if_ix.c user/alc/PQ_LAUNDRY/sys/dev/ixgbe/if_ixv.c user/alc/PQ_LAUNDRY/sys/dev/ixgbe/ix_txrx.c user/alc/PQ_LAUNDRY/sys/dev/ixgbe/ixgbe.h user/alc/PQ_LAUNDRY/sys/dev/ixgbe/ixgbe_82598.c user/alc/PQ_LAUNDRY/sys/dev/ixgbe/ixgbe_82599.c user/alc/PQ_LAUNDRY/sys/dev/ixgbe/ixgbe_api.c user/alc/PQ_LAUNDRY/sys/dev/ixgbe/ixgbe_api.h user/alc/PQ_LAUNDRY/sys/dev/ixgbe/ixgbe_common.c user/alc/PQ_LAUNDRY/sys/dev/ixgbe/ixgbe_dcb.c user/alc/PQ_LAUNDRY/sys/dev/ixgbe/ixgbe_osdep.h user/alc/PQ_LAUNDRY/sys/dev/ixgbe/ixgbe_phy.c user/alc/PQ_LAUNDRY/sys/dev/ixgbe/ixgbe_phy.h user/alc/PQ_LAUNDRY/sys/dev/ixgbe/ixgbe_type.h user/alc/PQ_LAUNDRY/sys/dev/ixgbe/ixgbe_vf.c user/alc/PQ_LAUNDRY/sys/dev/ixgbe/ixgbe_x540.c user/alc/PQ_LAUNDRY/sys/dev/ixgbe/ixgbe_x550.c user/alc/PQ_LAUNDRY/sys/dev/ixgbe/ixgbe_x550.h user/alc/PQ_LAUNDRY/sys/dev/ixl/if_ixl.c user/alc/PQ_LAUNDRY/sys/dev/malo/if_malo.c user/alc/PQ_LAUNDRY/sys/dev/mge/if_mge.c user/alc/PQ_LAUNDRY/sys/dev/mlx5/device.h user/alc/PQ_LAUNDRY/sys/dev/mlx5/mlx5_en/en.h user/alc/PQ_LAUNDRY/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c user/alc/PQ_LAUNDRY/sys/dev/mlx5/mlx5_en/mlx5_en_main.c user/alc/PQ_LAUNDRY/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c user/alc/PQ_LAUNDRY/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c user/alc/PQ_LAUNDRY/sys/dev/mlx5/mlx5_en/mlx5_en_txrx.c user/alc/PQ_LAUNDRY/sys/dev/netmap/if_em_netmap.h user/alc/PQ_LAUNDRY/sys/dev/netmap/netmap.c user/alc/PQ_LAUNDRY/sys/dev/nvd/nvd.c user/alc/PQ_LAUNDRY/sys/dev/nvme/nvme.c user/alc/PQ_LAUNDRY/sys/dev/nvme/nvme_ctrlr.c user/alc/PQ_LAUNDRY/sys/dev/nvme/nvme_private.h user/alc/PQ_LAUNDRY/sys/dev/nvme/nvme_qpair.c user/alc/PQ_LAUNDRY/sys/dev/nvme/nvme_sysctl.c user/alc/PQ_LAUNDRY/sys/dev/ofw/ofw_bus_subr.c user/alc/PQ_LAUNDRY/sys/dev/ofw/openfirm.h user/alc/PQ_LAUNDRY/sys/dev/otus/if_otus.c user/alc/PQ_LAUNDRY/sys/dev/pci/pci.c user/alc/PQ_LAUNDRY/sys/dev/pci/pci_if.m user/alc/PQ_LAUNDRY/sys/dev/pci/pci_private.h user/alc/PQ_LAUNDRY/sys/dev/pci/pcivar.h user/alc/PQ_LAUNDRY/sys/dev/puc/pucdata.c user/alc/PQ_LAUNDRY/sys/dev/ral/rt2560.c user/alc/PQ_LAUNDRY/sys/dev/ral/rt2661.c user/alc/PQ_LAUNDRY/sys/dev/ral/rt2860.c user/alc/PQ_LAUNDRY/sys/dev/random/build.sh user/alc/PQ_LAUNDRY/sys/dev/random/fortuna.c user/alc/PQ_LAUNDRY/sys/dev/random/hash.c user/alc/PQ_LAUNDRY/sys/dev/random/other_algorithm.c user/alc/PQ_LAUNDRY/sys/dev/random/randomdev.c user/alc/PQ_LAUNDRY/sys/dev/random/unit_test.c user/alc/PQ_LAUNDRY/sys/dev/random/yarrow.c user/alc/PQ_LAUNDRY/sys/dev/rt/if_rt.c user/alc/PQ_LAUNDRY/sys/dev/rt/if_rtreg.h user/alc/PQ_LAUNDRY/sys/dev/rt/if_rtvar.h user/alc/PQ_LAUNDRY/sys/dev/sec/sec.c user/alc/PQ_LAUNDRY/sys/dev/ti/if_ti.c user/alc/PQ_LAUNDRY/sys/dev/tsec/if_tsec.c user/alc/PQ_LAUNDRY/sys/dev/usb/controller/dwc_otg.c user/alc/PQ_LAUNDRY/sys/dev/usb/controller/xhci.h user/alc/PQ_LAUNDRY/sys/dev/usb/controller/xhci_pci.c user/alc/PQ_LAUNDRY/sys/dev/usb/net/if_axe.c user/alc/PQ_LAUNDRY/sys/dev/usb/usb_lookup.c user/alc/PQ_LAUNDRY/sys/dev/usb/usbdevs user/alc/PQ_LAUNDRY/sys/dev/usb/usbdi.h user/alc/PQ_LAUNDRY/sys/dev/usb/wlan/if_rsu.c user/alc/PQ_LAUNDRY/sys/dev/usb/wlan/if_rum.c user/alc/PQ_LAUNDRY/sys/dev/usb/wlan/if_run.c user/alc/PQ_LAUNDRY/sys/dev/usb/wlan/if_uath.c user/alc/PQ_LAUNDRY/sys/dev/usb/wlan/if_upgt.c user/alc/PQ_LAUNDRY/sys/dev/usb/wlan/if_ural.c user/alc/PQ_LAUNDRY/sys/dev/usb/wlan/if_urtw.c user/alc/PQ_LAUNDRY/sys/dev/usb/wlan/if_urtwn.c user/alc/PQ_LAUNDRY/sys/dev/usb/wlan/if_urtwnreg.h user/alc/PQ_LAUNDRY/sys/dev/usb/wlan/if_zyd.c user/alc/PQ_LAUNDRY/sys/fs/cuse/cuse.c user/alc/PQ_LAUNDRY/sys/fs/cuse/cuse_ioctl.h user/alc/PQ_LAUNDRY/sys/fs/devfs/devfs_vnops.c user/alc/PQ_LAUNDRY/sys/fs/ext2fs/ext2_bmap.c user/alc/PQ_LAUNDRY/sys/fs/ext2fs/ext2fs.h user/alc/PQ_LAUNDRY/sys/fs/nullfs/null_vnops.c user/alc/PQ_LAUNDRY/sys/geom/bde/g_bde.c user/alc/PQ_LAUNDRY/sys/geom/bde/g_bde_crypt.c user/alc/PQ_LAUNDRY/sys/geom/bde/g_bde_lock.c user/alc/PQ_LAUNDRY/sys/geom/bde/g_bde_work.c user/alc/PQ_LAUNDRY/sys/geom/eli/g_eli.c user/alc/PQ_LAUNDRY/sys/geom/eli/g_eli.h user/alc/PQ_LAUNDRY/sys/geom/eli/g_eli_crypto.c user/alc/PQ_LAUNDRY/sys/geom/eli/g_eli_key_cache.c user/alc/PQ_LAUNDRY/sys/geom/eli/pkcs5v2.c user/alc/PQ_LAUNDRY/sys/geom/geom_map.c user/alc/PQ_LAUNDRY/sys/geom/part/g_part.c user/alc/PQ_LAUNDRY/sys/geom/part/g_part.h user/alc/PQ_LAUNDRY/sys/geom/part/g_part_gpt.c user/alc/PQ_LAUNDRY/sys/i386/i386/initcpu.c user/alc/PQ_LAUNDRY/sys/i386/i386/machdep.c user/alc/PQ_LAUNDRY/sys/i386/include/cputypes.h user/alc/PQ_LAUNDRY/sys/i386/include/metadata.h user/alc/PQ_LAUNDRY/sys/kern/imgact_elf.c user/alc/PQ_LAUNDRY/sys/kern/kern_conf.c user/alc/PQ_LAUNDRY/sys/kern/kern_environment.c user/alc/PQ_LAUNDRY/sys/kern/kern_fork.c user/alc/PQ_LAUNDRY/sys/kern/kern_ktr.c user/alc/PQ_LAUNDRY/sys/kern/kern_mbuf.c user/alc/PQ_LAUNDRY/sys/kern/kern_resource.c user/alc/PQ_LAUNDRY/sys/kern/kern_sig.c user/alc/PQ_LAUNDRY/sys/kern/kern_thr.c user/alc/PQ_LAUNDRY/sys/kern/kern_thread.c user/alc/PQ_LAUNDRY/sys/kern/kern_time.c user/alc/PQ_LAUNDRY/sys/kern/link_elf.c user/alc/PQ_LAUNDRY/sys/kern/sys_process.c user/alc/PQ_LAUNDRY/sys/kern/tty.c user/alc/PQ_LAUNDRY/sys/kern/uipc_mbuf.c user/alc/PQ_LAUNDRY/sys/kern/uipc_sockbuf.c user/alc/PQ_LAUNDRY/sys/kern/uipc_syscalls.c user/alc/PQ_LAUNDRY/sys/kern/uipc_usrreq.c user/alc/PQ_LAUNDRY/sys/kern/vfs_cache.c user/alc/PQ_LAUNDRY/sys/kern/vfs_default.c user/alc/PQ_LAUNDRY/sys/kern/vfs_subr.c user/alc/PQ_LAUNDRY/sys/kgssapi/gss_impl.c user/alc/PQ_LAUNDRY/sys/mips/atheros/if_arge.c user/alc/PQ_LAUNDRY/sys/mips/beri/beri_machdep.c user/alc/PQ_LAUNDRY/sys/mips/cavium/cvmx_config.h user/alc/PQ_LAUNDRY/sys/mips/conf/RT305X user/alc/PQ_LAUNDRY/sys/mips/include/cpufunc.h user/alc/PQ_LAUNDRY/sys/mips/include/cpuinfo.h user/alc/PQ_LAUNDRY/sys/mips/include/cpuregs.h user/alc/PQ_LAUNDRY/sys/mips/include/ofw_machdep.h user/alc/PQ_LAUNDRY/sys/mips/include/pte.h user/alc/PQ_LAUNDRY/sys/mips/mips/cpu.c user/alc/PQ_LAUNDRY/sys/mips/rt305x/files.rt305x user/alc/PQ_LAUNDRY/sys/mips/rt305x/obio.c user/alc/PQ_LAUNDRY/sys/mips/rt305x/rt305x_dotg.c user/alc/PQ_LAUNDRY/sys/mips/rt305x/rt305x_machdep.c user/alc/PQ_LAUNDRY/sys/mips/rt305x/rt305x_sysctl.c user/alc/PQ_LAUNDRY/sys/mips/rt305x/rt305xreg.h user/alc/PQ_LAUNDRY/sys/mips/rt305x/uart_bus_rt305x.c user/alc/PQ_LAUNDRY/sys/mips/rt305x/uart_cpu_rt305x.c user/alc/PQ_LAUNDRY/sys/modules/Makefile user/alc/PQ_LAUNDRY/sys/modules/crypto/Makefile user/alc/PQ_LAUNDRY/sys/modules/cxgbe/Makefile user/alc/PQ_LAUNDRY/sys/modules/geom/geom_bde/Makefile user/alc/PQ_LAUNDRY/sys/modules/geom/geom_eli/Makefile user/alc/PQ_LAUNDRY/sys/modules/ix/Makefile user/alc/PQ_LAUNDRY/sys/modules/ixv/Makefile user/alc/PQ_LAUNDRY/sys/modules/syscons/Makefile user/alc/PQ_LAUNDRY/sys/modules/tcp/fastpath/Makefile user/alc/PQ_LAUNDRY/sys/modules/usb/rsufw/Makefile.inc user/alc/PQ_LAUNDRY/sys/modules/usb/urtwnfw/Makefile.inc user/alc/PQ_LAUNDRY/sys/modules/zfs/Makefile user/alc/PQ_LAUNDRY/sys/net/bpf.c user/alc/PQ_LAUNDRY/sys/net/flowtable.c user/alc/PQ_LAUNDRY/sys/net/if.c user/alc/PQ_LAUNDRY/sys/net/if_ethersubr.c user/alc/PQ_LAUNDRY/sys/net/if_gif.c user/alc/PQ_LAUNDRY/sys/net/if_gre.c user/alc/PQ_LAUNDRY/sys/net/if_llatbl.c user/alc/PQ_LAUNDRY/sys/net/if_llatbl.h user/alc/PQ_LAUNDRY/sys/net/if_var.h user/alc/PQ_LAUNDRY/sys/net/route.c user/alc/PQ_LAUNDRY/sys/net/route.h user/alc/PQ_LAUNDRY/sys/net/rtsock.c user/alc/PQ_LAUNDRY/sys/net/sff8436.h user/alc/PQ_LAUNDRY/sys/net80211/ieee80211_freebsd.h user/alc/PQ_LAUNDRY/sys/net80211/ieee80211_scan_sw.c user/alc/PQ_LAUNDRY/sys/net80211/ieee80211_var.h user/alc/PQ_LAUNDRY/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c user/alc/PQ_LAUNDRY/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c user/alc/PQ_LAUNDRY/sys/netgraph/netflow/netflow.c user/alc/PQ_LAUNDRY/sys/netinet/if_ether.c user/alc/PQ_LAUNDRY/sys/netinet/if_ether.h user/alc/PQ_LAUNDRY/sys/netinet/in.c user/alc/PQ_LAUNDRY/sys/netinet/in_fib.c user/alc/PQ_LAUNDRY/sys/netinet/in_rmx.c user/alc/PQ_LAUNDRY/sys/netinet/ip_output.c user/alc/PQ_LAUNDRY/sys/netinet/sctp_indata.c user/alc/PQ_LAUNDRY/sys/netinet/sctp_os_bsd.h user/alc/PQ_LAUNDRY/sys/netinet/sctp_output.c user/alc/PQ_LAUNDRY/sys/netinet/sctp_structs.h user/alc/PQ_LAUNDRY/sys/netinet/tcp.h user/alc/PQ_LAUNDRY/sys/netinet/tcp_input.c user/alc/PQ_LAUNDRY/sys/netinet/tcp_output.c user/alc/PQ_LAUNDRY/sys/netinet/tcp_stacks/fastpath.c user/alc/PQ_LAUNDRY/sys/netinet/tcp_subr.c user/alc/PQ_LAUNDRY/sys/netinet/tcp_syncache.c user/alc/PQ_LAUNDRY/sys/netinet/tcp_syncache.h user/alc/PQ_LAUNDRY/sys/netinet/tcp_timer.c user/alc/PQ_LAUNDRY/sys/netinet/tcp_usrreq.c user/alc/PQ_LAUNDRY/sys/netinet/tcp_var.h user/alc/PQ_LAUNDRY/sys/netinet/toecore.c user/alc/PQ_LAUNDRY/sys/netinet/udp_usrreq.c user/alc/PQ_LAUNDRY/sys/netinet6/icmp6.c user/alc/PQ_LAUNDRY/sys/netinet6/in6.c user/alc/PQ_LAUNDRY/sys/netinet6/in6.h user/alc/PQ_LAUNDRY/sys/netinet6/in6_pcb.c user/alc/PQ_LAUNDRY/sys/netinet6/in6_rmx.c user/alc/PQ_LAUNDRY/sys/netinet6/in6_src.c user/alc/PQ_LAUNDRY/sys/netinet6/ip6_output.c user/alc/PQ_LAUNDRY/sys/netinet6/ip6_var.h user/alc/PQ_LAUNDRY/sys/netinet6/nd6.c user/alc/PQ_LAUNDRY/sys/netinet6/nd6.h user/alc/PQ_LAUNDRY/sys/netinet6/nd6_nbr.c user/alc/PQ_LAUNDRY/sys/netinet6/raw_ip6.c user/alc/PQ_LAUNDRY/sys/netinet6/udp6_usrreq.c user/alc/PQ_LAUNDRY/sys/netpfil/pf/pf.c user/alc/PQ_LAUNDRY/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c user/alc/PQ_LAUNDRY/sys/ofed/drivers/infiniband/ulp/sdp/sdp_rx.c user/alc/PQ_LAUNDRY/sys/opencrypto/skipjack.h user/alc/PQ_LAUNDRY/sys/opencrypto/xform.c user/alc/PQ_LAUNDRY/sys/opencrypto/xform.h user/alc/PQ_LAUNDRY/sys/powerpc/aim/aim_machdep.c user/alc/PQ_LAUNDRY/sys/powerpc/aim/locore64.S user/alc/PQ_LAUNDRY/sys/powerpc/aim/mp_cpudep.c user/alc/PQ_LAUNDRY/sys/powerpc/booke/booke_machdep.c user/alc/PQ_LAUNDRY/sys/powerpc/booke/locore.S user/alc/PQ_LAUNDRY/sys/powerpc/booke/machdep_e500.c user/alc/PQ_LAUNDRY/sys/powerpc/booke/pmap.c user/alc/PQ_LAUNDRY/sys/powerpc/include/cpu.h user/alc/PQ_LAUNDRY/sys/powerpc/include/intr_machdep.h user/alc/PQ_LAUNDRY/sys/powerpc/include/ofw_machdep.h user/alc/PQ_LAUNDRY/sys/powerpc/include/param.h user/alc/PQ_LAUNDRY/sys/powerpc/include/platform.h user/alc/PQ_LAUNDRY/sys/powerpc/include/pmap.h user/alc/PQ_LAUNDRY/sys/powerpc/mpc85xx/lbc.c user/alc/PQ_LAUNDRY/sys/powerpc/mpc85xx/mpc85xx.c user/alc/PQ_LAUNDRY/sys/powerpc/mpc85xx/mpc85xx.h user/alc/PQ_LAUNDRY/sys/powerpc/mpc85xx/pci_mpc85xx.c user/alc/PQ_LAUNDRY/sys/powerpc/mpc85xx/platform_mpc85xx.c user/alc/PQ_LAUNDRY/sys/powerpc/ofw/ofw_machdep.c user/alc/PQ_LAUNDRY/sys/powerpc/powerpc/cpu.c user/alc/PQ_LAUNDRY/sys/powerpc/powerpc/intr_machdep.c user/alc/PQ_LAUNDRY/sys/powerpc/powerpc/machdep.c user/alc/PQ_LAUNDRY/sys/powerpc/powerpc/platform.c user/alc/PQ_LAUNDRY/sys/powerpc/powerpc/platform_if.m user/alc/PQ_LAUNDRY/sys/powerpc/powerpc/pmap_dispatch.c user/alc/PQ_LAUNDRY/sys/security/audit/bsm_domain.c user/alc/PQ_LAUNDRY/sys/security/audit/bsm_errno.c user/alc/PQ_LAUNDRY/sys/security/audit/bsm_fcntl.c user/alc/PQ_LAUNDRY/sys/security/audit/bsm_socket_type.c user/alc/PQ_LAUNDRY/sys/security/audit/bsm_token.c user/alc/PQ_LAUNDRY/sys/sparc64/include/ktr.h user/alc/PQ_LAUNDRY/sys/sparc64/include/ofw_machdep.h user/alc/PQ_LAUNDRY/sys/sparc64/sparc64/exception.S user/alc/PQ_LAUNDRY/sys/sparc64/sparc64/machdep.c user/alc/PQ_LAUNDRY/sys/sparc64/sparc64/mp_exception.S user/alc/PQ_LAUNDRY/sys/sparc64/sparc64/pmap.c user/alc/PQ_LAUNDRY/sys/sparc64/sparc64/swtch.S user/alc/PQ_LAUNDRY/sys/sys/conf.h user/alc/PQ_LAUNDRY/sys/sys/copyright.h user/alc/PQ_LAUNDRY/sys/sys/efi.h user/alc/PQ_LAUNDRY/sys/sys/fcntl.h user/alc/PQ_LAUNDRY/sys/sys/gpt.h user/alc/PQ_LAUNDRY/sys/sys/libkern.h user/alc/PQ_LAUNDRY/sys/sys/mbuf.h user/alc/PQ_LAUNDRY/sys/sys/nv.h user/alc/PQ_LAUNDRY/sys/sys/param.h user/alc/PQ_LAUNDRY/sys/sys/proc.h user/alc/PQ_LAUNDRY/sys/sys/ptrace.h user/alc/PQ_LAUNDRY/sys/sys/sf_buf.h user/alc/PQ_LAUNDRY/sys/sys/sockbuf.h user/alc/PQ_LAUNDRY/sys/sys/socket.h user/alc/PQ_LAUNDRY/sys/ufs/ffs/ffs_softdep.c user/alc/PQ_LAUNDRY/sys/vm/uma.h user/alc/PQ_LAUNDRY/sys/vm/uma_core.c user/alc/PQ_LAUNDRY/sys/vm/uma_int.h user/alc/PQ_LAUNDRY/sys/vm/vnode_pager.c user/alc/PQ_LAUNDRY/sys/x86/include/specialreg.h user/alc/PQ_LAUNDRY/sys/x86/x86/identcpu.c user/alc/PQ_LAUNDRY/sys/x86/xen/pv.c user/alc/PQ_LAUNDRY/sys/x86/xen/xen_apic.c user/alc/PQ_LAUNDRY/sys/xen/xenbus/xenbusb.c user/alc/PQ_LAUNDRY/targets/pseudo/userland/lib/Makefile.depend user/alc/PQ_LAUNDRY/tests/sys/Makefile user/alc/PQ_LAUNDRY/tests/sys/aio/aio_kqueue_test.c user/alc/PQ_LAUNDRY/tests/sys/aio/lio_kqueue_test.c user/alc/PQ_LAUNDRY/tests/sys/file/flock_test.sh user/alc/PQ_LAUNDRY/tests/sys/kern/Makefile user/alc/PQ_LAUNDRY/tests/sys/kern/pipe/pipe_overcommit1_test.c user/alc/PQ_LAUNDRY/tests/sys/kern/ptrace_test.c user/alc/PQ_LAUNDRY/tests/sys/kern/unix_seqpacket_test.c user/alc/PQ_LAUNDRY/tools/build/mk/OptionalObsoleteFiles.inc user/alc/PQ_LAUNDRY/tools/regression/geom_concat/conf.sh user/alc/PQ_LAUNDRY/tools/regression/geom_concat/test-1.t user/alc/PQ_LAUNDRY/tools/regression/geom_concat/test-2.t user/alc/PQ_LAUNDRY/tools/regression/geom_eli/attach-d.t user/alc/PQ_LAUNDRY/tools/regression/geom_eli/configure-b-B.t user/alc/PQ_LAUNDRY/tools/regression/geom_eli/delkey.t user/alc/PQ_LAUNDRY/tools/regression/geom_eli/detach-l.t user/alc/PQ_LAUNDRY/tools/regression/geom_eli/init-B.t user/alc/PQ_LAUNDRY/tools/regression/geom_eli/init-J.t user/alc/PQ_LAUNDRY/tools/regression/geom_eli/init-a.t user/alc/PQ_LAUNDRY/tools/regression/geom_eli/init-i-P.t user/alc/PQ_LAUNDRY/tools/regression/geom_eli/init.t user/alc/PQ_LAUNDRY/tools/regression/geom_eli/integrity-copy.t user/alc/PQ_LAUNDRY/tools/regression/geom_eli/integrity-data.t user/alc/PQ_LAUNDRY/tools/regression/geom_eli/integrity-hmac.t user/alc/PQ_LAUNDRY/tools/regression/geom_eli/kill.t user/alc/PQ_LAUNDRY/tools/regression/geom_eli/nokey.t user/alc/PQ_LAUNDRY/tools/regression/geom_eli/onetime-a.t user/alc/PQ_LAUNDRY/tools/regression/geom_eli/onetime-d.t user/alc/PQ_LAUNDRY/tools/regression/geom_eli/onetime.t user/alc/PQ_LAUNDRY/tools/regression/geom_eli/readonly.t user/alc/PQ_LAUNDRY/tools/regression/geom_eli/resize.t user/alc/PQ_LAUNDRY/tools/regression/geom_eli/setkey.t user/alc/PQ_LAUNDRY/tools/regression/geom_mirror/conf.sh user/alc/PQ_LAUNDRY/tools/regression/geom_mirror/test-1.t user/alc/PQ_LAUNDRY/tools/regression/geom_mirror/test-2.t user/alc/PQ_LAUNDRY/tools/regression/geom_mirror/test-3.t user/alc/PQ_LAUNDRY/tools/regression/geom_mirror/test-4.t user/alc/PQ_LAUNDRY/tools/regression/geom_mirror/test-5.t user/alc/PQ_LAUNDRY/tools/regression/geom_mirror/test-6.t user/alc/PQ_LAUNDRY/tools/regression/geom_mirror/test-7.t user/alc/PQ_LAUNDRY/tools/regression/geom_nop/conf.sh user/alc/PQ_LAUNDRY/tools/regression/geom_nop/test-1.t user/alc/PQ_LAUNDRY/tools/regression/geom_nop/test-2.t user/alc/PQ_LAUNDRY/tools/regression/geom_raid3/conf.sh user/alc/PQ_LAUNDRY/tools/regression/geom_raid3/test-1.t user/alc/PQ_LAUNDRY/tools/regression/geom_raid3/test-10.t user/alc/PQ_LAUNDRY/tools/regression/geom_raid3/test-11.t user/alc/PQ_LAUNDRY/tools/regression/geom_raid3/test-12.t user/alc/PQ_LAUNDRY/tools/regression/geom_raid3/test-2.t user/alc/PQ_LAUNDRY/tools/regression/geom_raid3/test-3.t user/alc/PQ_LAUNDRY/tools/regression/geom_raid3/test-4.t user/alc/PQ_LAUNDRY/tools/regression/geom_raid3/test-5.t user/alc/PQ_LAUNDRY/tools/regression/geom_raid3/test-6.t user/alc/PQ_LAUNDRY/tools/regression/geom_raid3/test-7.t user/alc/PQ_LAUNDRY/tools/regression/geom_raid3/test-8.t user/alc/PQ_LAUNDRY/tools/regression/geom_raid3/test-9.t user/alc/PQ_LAUNDRY/tools/regression/geom_shsec/conf.sh user/alc/PQ_LAUNDRY/tools/regression/geom_shsec/test-1.t user/alc/PQ_LAUNDRY/tools/regression/geom_shsec/test-2.t user/alc/PQ_LAUNDRY/tools/regression/geom_stripe/conf.sh user/alc/PQ_LAUNDRY/tools/regression/geom_stripe/test-1.t user/alc/PQ_LAUNDRY/tools/regression/geom_stripe/test-2.t user/alc/PQ_LAUNDRY/tools/regression/geom_subr.sh user/alc/PQ_LAUNDRY/tools/regression/geom_uzip/Makefile user/alc/PQ_LAUNDRY/tools/tools/locale/tools/cldr2def.pl user/alc/PQ_LAUNDRY/tools/tools/nanobsd/defaults.sh user/alc/PQ_LAUNDRY/tools/tools/nanobsd/embedded/common user/alc/PQ_LAUNDRY/tools/tools/nanobsd/embedded/rpi2.cfg user/alc/PQ_LAUNDRY/usr.bin/bmake/Makefile user/alc/PQ_LAUNDRY/usr.bin/cap_mkdb/cap_mkdb.c user/alc/PQ_LAUNDRY/usr.bin/clang/clang/Makefile user/alc/PQ_LAUNDRY/usr.bin/column/column.c user/alc/PQ_LAUNDRY/usr.bin/dtc/Makefile user/alc/PQ_LAUNDRY/usr.bin/dtc/checking.cc user/alc/PQ_LAUNDRY/usr.bin/dtc/checking.hh user/alc/PQ_LAUNDRY/usr.bin/dtc/dtb.hh user/alc/PQ_LAUNDRY/usr.bin/dtc/fdt.cc user/alc/PQ_LAUNDRY/usr.bin/dtc/fdt.hh user/alc/PQ_LAUNDRY/usr.bin/dtc/input_buffer.cc user/alc/PQ_LAUNDRY/usr.bin/dtc/input_buffer.hh user/alc/PQ_LAUNDRY/usr.bin/kdump/Makefile user/alc/PQ_LAUNDRY/usr.bin/kdump/Makefile.depend user/alc/PQ_LAUNDRY/usr.bin/kdump/kdump.c user/alc/PQ_LAUNDRY/usr.bin/less/defines.h user/alc/PQ_LAUNDRY/usr.bin/locate/locate/util.c user/alc/PQ_LAUNDRY/usr.bin/netstat/mbuf.c user/alc/PQ_LAUNDRY/usr.bin/nfsstat/Makefile user/alc/PQ_LAUNDRY/usr.bin/nfsstat/Makefile.depend user/alc/PQ_LAUNDRY/usr.bin/nfsstat/nfsstat.c user/alc/PQ_LAUNDRY/usr.bin/systat/vmstat.c user/alc/PQ_LAUNDRY/usr.bin/truss/Makefile user/alc/PQ_LAUNDRY/usr.bin/truss/Makefile.depend.amd64 user/alc/PQ_LAUNDRY/usr.bin/truss/syscalls.c user/alc/PQ_LAUNDRY/usr.bin/vmstat/vmstat.c user/alc/PQ_LAUNDRY/usr.bin/xargs/xargs.c user/alc/PQ_LAUNDRY/usr.sbin/Makefile user/alc/PQ_LAUNDRY/usr.sbin/Makefile.amd64 user/alc/PQ_LAUNDRY/usr.sbin/Makefile.arm user/alc/PQ_LAUNDRY/usr.sbin/Makefile.i386 user/alc/PQ_LAUNDRY/usr.sbin/Makefile.powerpc user/alc/PQ_LAUNDRY/usr.sbin/Makefile.sparc64 user/alc/PQ_LAUNDRY/usr.sbin/bhyve/bhyverun.c user/alc/PQ_LAUNDRY/usr.sbin/bhyve/pci_emul.c user/alc/PQ_LAUNDRY/usr.sbin/bsdinstall/scripts/auto user/alc/PQ_LAUNDRY/usr.sbin/bsdinstall/scripts/entropy user/alc/PQ_LAUNDRY/usr.sbin/camdd/Makefile user/alc/PQ_LAUNDRY/usr.sbin/camdd/camdd.c user/alc/PQ_LAUNDRY/usr.sbin/cron/cron/do_command.c user/alc/PQ_LAUNDRY/usr.sbin/cron/cron/popen.c user/alc/PQ_LAUNDRY/usr.sbin/cron/crontab/crontab.5 user/alc/PQ_LAUNDRY/usr.sbin/cron/crontab/crontab.c user/alc/PQ_LAUNDRY/usr.sbin/fstyp/Makefile user/alc/PQ_LAUNDRY/usr.sbin/fstyp/fstyp.c user/alc/PQ_LAUNDRY/usr.sbin/fstyp/geli.c user/alc/PQ_LAUNDRY/usr.sbin/fstyp/zfs.c user/alc/PQ_LAUNDRY/usr.sbin/gssd/gssd.c user/alc/PQ_LAUNDRY/usr.sbin/jls/Makefile user/alc/PQ_LAUNDRY/usr.sbin/jls/Makefile.depend user/alc/PQ_LAUNDRY/usr.sbin/jls/jls.8 user/alc/PQ_LAUNDRY/usr.sbin/jls/jls.c user/alc/PQ_LAUNDRY/usr.sbin/kbdcontrol/kbdmap.5 user/alc/PQ_LAUNDRY/usr.sbin/makefs/makefs.c user/alc/PQ_LAUNDRY/usr.sbin/mountd/exports.5 user/alc/PQ_LAUNDRY/usr.sbin/mountd/mountd.c user/alc/PQ_LAUNDRY/usr.sbin/mpsutil/mps_cmd.c user/alc/PQ_LAUNDRY/usr.sbin/ntp/config.h user/alc/PQ_LAUNDRY/usr.sbin/ntp/doc/ntp-keygen.8 user/alc/PQ_LAUNDRY/usr.sbin/ntp/doc/ntp.conf.5 user/alc/PQ_LAUNDRY/usr.sbin/ntp/doc/ntp.keys.5 user/alc/PQ_LAUNDRY/usr.sbin/ntp/doc/ntpd.8 user/alc/PQ_LAUNDRY/usr.sbin/ntp/doc/ntpdc.8 user/alc/PQ_LAUNDRY/usr.sbin/ntp/doc/ntpq.8 user/alc/PQ_LAUNDRY/usr.sbin/ntp/doc/sntp.8 user/alc/PQ_LAUNDRY/usr.sbin/pw/pw_conf.c user/alc/PQ_LAUNDRY/usr.sbin/pw/pw_group.c user/alc/PQ_LAUNDRY/usr.sbin/pw/pw_vpw.c user/alc/PQ_LAUNDRY/usr.sbin/pwd_mkdb/pwd_mkdb.c user/alc/PQ_LAUNDRY/usr.sbin/rpc.lockd/lockd.c user/alc/PQ_LAUNDRY/usr.sbin/rpc.statd/statd.c user/alc/PQ_LAUNDRY/usr.sbin/rpcbind/Makefile user/alc/PQ_LAUNDRY/usr.sbin/rpcbind/check_bound.c user/alc/PQ_LAUNDRY/usr.sbin/rpcbind/rpcbind.h user/alc/PQ_LAUNDRY/usr.sbin/rpcbind/util.c user/alc/PQ_LAUNDRY/usr.sbin/rtsold/rtsold.c user/alc/PQ_LAUNDRY/usr.sbin/services_mkdb/services_mkdb.c user/alc/PQ_LAUNDRY/usr.sbin/sesutil/Makefile.depend user/alc/PQ_LAUNDRY/usr.sbin/uhsoctl/uhsoctl.c Directory Properties: user/alc/PQ_LAUNDRY/ (props changed) user/alc/PQ_LAUNDRY/cddl/ (props changed) user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/ (props changed) user/alc/PQ_LAUNDRY/contrib/binutils/ (props changed) user/alc/PQ_LAUNDRY/contrib/bmake/ (props changed) user/alc/PQ_LAUNDRY/contrib/gcc/ (props changed) user/alc/PQ_LAUNDRY/contrib/less/ (props changed) user/alc/PQ_LAUNDRY/contrib/libexecinfo/ (props changed) user/alc/PQ_LAUNDRY/contrib/llvm/ (props changed) user/alc/PQ_LAUNDRY/contrib/llvm/projects/libunwind/ (props changed) user/alc/PQ_LAUNDRY/contrib/llvm/tools/clang/ (props changed) user/alc/PQ_LAUNDRY/contrib/llvm/tools/lldb/ (props changed) user/alc/PQ_LAUNDRY/contrib/llvm/tools/llvm-dwarfdump/ (props changed) user/alc/PQ_LAUNDRY/contrib/llvm/tools/llvm-lto/ (props changed) user/alc/PQ_LAUNDRY/contrib/ntp/ (props changed) user/alc/PQ_LAUNDRY/contrib/pf/ (props changed) user/alc/PQ_LAUNDRY/gnu/lib/ (props changed) user/alc/PQ_LAUNDRY/gnu/usr.bin/binutils/ (props changed) user/alc/PQ_LAUNDRY/include/ (props changed) user/alc/PQ_LAUNDRY/lib/libc/ (props changed) user/alc/PQ_LAUNDRY/sbin/ (props changed) user/alc/PQ_LAUNDRY/share/ (props changed) user/alc/PQ_LAUNDRY/share/man/man4/ (props changed) user/alc/PQ_LAUNDRY/sys/ (props changed) user/alc/PQ_LAUNDRY/sys/boot/ (props changed) user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/ (props changed) user/alc/PQ_LAUNDRY/sys/conf/ (props changed) user/alc/PQ_LAUNDRY/sys/contrib/ipfilter/ (props changed) user/alc/PQ_LAUNDRY/sys/dev/hyperv/ (props changed) user/alc/PQ_LAUNDRY/targets/ (props changed) user/alc/PQ_LAUNDRY/usr.sbin/bhyve/ (props changed) user/alc/PQ_LAUNDRY/usr.sbin/rtsold/ (props changed) Modified: user/alc/PQ_LAUNDRY/COPYRIGHT ============================================================================== --- user/alc/PQ_LAUNDRY/COPYRIGHT Sat Jan 9 01:01:04 2016 (r293455) +++ user/alc/PQ_LAUNDRY/COPYRIGHT Sat Jan 9 01:42:31 2016 (r293456) @@ -4,7 +4,7 @@ The compilation of software known as FreeBSD is distributed under the following terms: -Copyright (c) 1992-2015 The FreeBSD Project. All rights reserved. +Copyright (c) 1992-2016 The FreeBSD Project. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions Modified: user/alc/PQ_LAUNDRY/MAINTAINERS ============================================================================== --- user/alc/PQ_LAUNDRY/MAINTAINERS Sat Jan 9 01:01:04 2016 (r293455) +++ user/alc/PQ_LAUNDRY/MAINTAINERS Sat Jan 9 01:42:31 2016 (r293456) @@ -24,6 +24,15 @@ maintainer of a sub-system is to check r sub-system. *** +*** +Maintainers are encouraged to visit: + https://reviews.freebsd.org/herald + +and configure notifications for parts of the tree which they maintain. +Notifications can automatically be sent when someone proposes a revision or +makes a commit to the specified subtree. +*** + subsystem login notes ----------------------------- atf freebsd-testing,jmmv,ngie Pre-commit review requested. @@ -47,7 +56,9 @@ isci(4) jimharris Pre-commit review req iwm(4) adrian Pre-commit review requested, send to freebsd-wireless@freebsd.org iwn(4) adrian Pre-commit review requested, send to freebsd-wireless@freebsd.org kqueue jmg Pre-commit review requested. Documentation Required. +libdpv dteske Pre-commit review requested. Keep in sync with dpv(1). libfetch des Pre-commit review requested. +libfigpar dteske Pre-commit review requested. libpam des Pre-commit review requested. linprocfs des Pre-commit review requested. lpr gad Pre-commit review requested, particularly for @@ -76,6 +87,7 @@ sh(1) jilles Pre-commit review request compiled in as builtins. share/mk imp, bapt, bdrewery, emaste, sjg Make is hard. share/mk/*.test.mk freebsd-testing,ngie (same list as share/mk too) Pre-commit review requested. +sys/boot/forth dteske Pre-commit review requested. sys/compat/linuxkpi hselasky If in doubt, ask. sys/dev/e1000 erj Pre-commit phabricator review requested. sys/dev/ixgbe erj Pre-commit phabricator review requested. @@ -85,74 +97,8 @@ sys/dev/usb hselasky If in doubt, ask. sys/netinet/ip_carp.c glebius Pre-commit review recommended. sys/netpfil/pf kp,glebius Pre-commit review recommended. tests freebsd-testing,ngie Pre-commit review requested. +usr.sbin/bsdconfig dteske Pre-commit phabricator review requested. +usr.sbin/dpv dteske Pre-commit review requested. Keep in sync with libdpv. usr.sbin/pkg pkg@ Please coordinate behavior or flag changes with pkg team. +usr.sbin/sysrc dteske Pre-commit phabricator review requested. Keep in sync with bsdconfig(8) sysrc.subr. vmm(4) neel,grehan Pre-commit review requested. ----- OLD ---- -libc/posix1e rwatson Pre-commit review requested. -POSIX.1e ACLs rwatson Pre-commit review requested. -UFS EAs rwatson Pre-commit review requested. -MAC Framework rwatson Pre-commit review requested. -MAC Modules rwatson Pre-commit review requested. -contrib/openbsm rwatson Pre-commit review requested. -sys/security/audit rwatson Pre-commit review requested. -ahc(4) gibbs Pre-commit review requested. -ahd(4) gibbs Pre-commit review requested. -cdboot jhb Pre-commit review requested. -pxeboot jhb Pre-commit review requested. -witness jhb Pre-commit review requested. -CAM gibbs, - ken Pre-commit review requested. send to scsi@freebsd.org -devstat(9) ken Pre-commit review requested. -camcontrol(8) ken Pre-commit review requested. -libcam ken Pre-commit review requested. -libdevstat ken Pre-commit review requested. -iostat(8) ken Pre-commit review requested. -cd(4) ken Pre-commit review requested. -pass(4) ken Pre-commit review requested. -ch(4) ken Pre-commit review requested. -em(4) jfv Pre-commit review requested. -nvi peter Try not to break it. -libz peter Try not to break it. -groff ru Recommends pre-commit review. -ipfw ipfw Pre-commit review preferred. send to ipfw@freebsd.org -drm rnoland Just keep me informed of changes, try not to break it. -unifdef(1) fanf Pre-commit review requested. -ntp roberto Pre-commit review requested. -inetd dwmalone Recommends pre-commit review. -contrib/smbfs bp Open for in-tree committs. In case of functional - changes pre-commit review requested. -file obrien Insists to keep file blocked from other's unapproved - commits -contrib/bzip2 obrien Pre-commit review required. -geom freebsd-geom@FreeBSD.org -geom_concat pjd Pre-commit review preferred. -geom_gate pjd Pre-commit review preferred. -geom_label pjd Pre-commit review preferred. -geom_mirror pjd Pre-commit review preferred. -geom_nop pjd Pre-commit review preferred. -geom_raid3 pjd Pre-commit review preferred. -geom_shsec pjd Pre-commit review preferred. -geom_stripe pjd Pre-commit review preferred. -geom_zero pjd Pre-commit review preferred. -sbin/geom pjd Pre-commit review preferred. -zfs freebsd-fs@FreeBSD.org -linux emul emulation Please discuss changes here. -bs{diff,patch} cperciva Pre-commit review requested. -portsnap cperciva Pre-commit review requested. -freebsd-update cperciva Pre-commit review requested. -sys/netgraph/bluetooth emax Pre-commit review preferred. -lib/libbluetooth emax Pre-commit review preferred. -lib/libsdp emax Pre-commit review preferred. -usr.bin/bluetooth emax Pre-commit review preferred. -usr.sbin/bluetooth emax Pre-commit review preferred. -share/zoneinfo edwin Heads-up appreciated, since our data is coming - from a third party source. -usr.sbin/zic edwin Heads-up appreciated, since this code is - maintained by a third party source. -lib/libc/stdtime edwin Heads-up appreciated, since parts of this code - is maintained by a third party source. -sbin/routed bms Pre-commit review; notify vendor at rhyolite.com -cmx daniel@roe.ch Pre-commit review preferred. -filemon obrien Pre-commit review preferred. -sysdoc trhodes Pre-commit review preferred. - Modified: user/alc/PQ_LAUNDRY/Makefile ============================================================================== --- user/alc/PQ_LAUNDRY/Makefile Sat Jan 9 01:01:04 2016 (r293455) +++ user/alc/PQ_LAUNDRY/Makefile Sat Jan 9 01:42:31 2016 (r293456) @@ -205,7 +205,7 @@ _TARGET_ARCH?= ${MACHINE_ARCH} # The user can define ALWAYS_CHECK_MAKE to have this check performed # for all targets. # -.if defined(ALWAYS_CHECK_MAKE) +.if defined(ALWAYS_CHECK_MAKE) || !defined(.PARSEDIR) ${TGTS}: upgrade_checks .else buildworld: upgrade_checks Modified: user/alc/PQ_LAUNDRY/Makefile.inc1 ============================================================================== --- user/alc/PQ_LAUNDRY/Makefile.inc1 Sat Jan 9 01:01:04 2016 (r293455) +++ user/alc/PQ_LAUNDRY/Makefile.inc1 Sat Jan 9 01:42:31 2016 (r293456) @@ -48,10 +48,11 @@ .error "Both TARGET and TARGET_ARCH must be defined." .endif +LOCALBASE?= /usr/local + # Cross toolchain changes must be in effect before bsd.compiler.mk # so that gets the right CC, and pass CROSS_TOOLCHAIN to submakes. .if defined(CROSS_TOOLCHAIN) -LOCALBASE?= /usr/local .include "${LOCALBASE}/share/toolchains/${CROSS_TOOLCHAIN}.mk" CROSSENV+=CROSS_TOOLCHAIN="${CROSS_TOOLCHAIN}" .endif @@ -569,9 +570,8 @@ _worldtmp: .PHONY .else rm -rf ${WORLDTMP}/legacy/usr/include # XXX - These three can depend on any header file. - rm -f ${OBJTREE}${.CURDIR}/usr.bin/kdump/ioctl.c + rm -f ${OBJTREE}${.CURDIR}/lib/libsysdecode/ioctl.c rm -f ${OBJTREE}${.CURDIR}/usr.bin/kdump/kdump_subr.c - rm -f ${OBJTREE}${.CURDIR}/usr.bin/truss/ioctl.c .endif .for _dir in \ lib usr legacy/bin legacy/usr @@ -1229,7 +1229,7 @@ reinstallkernel reinstallkernel.debug: _ ${CROSSENV} PATH=${TMPPATH} \ ${MAKE} ${IMAKE_INSTALL} KERNEL=${INSTKERNNAME} ${.TARGET:S/kernel//} .endif -.if ${BUILDKERNELS:[#]} > 1 +.if ${BUILDKERNELS:[#]} > 1 && !defined(NO_INSTALLEXTRAKERNELS) .for _kernel in ${BUILDKERNELS:[2..-1]} @echo "--------------------------------------------------------------" @echo ">>> Installing kernel ${_kernel}" @@ -1260,7 +1260,7 @@ distributekernel distributekernel.debug: ${DESTDIR}/${DISTDIR}/kernel.meta .endif .endif -.if ${BUILDKERNELS:[#]} > 1 +.if ${BUILDKERNELS:[#]} > 1 && !defined(NO_INSTALLEXTRAKERNELS) .for _kernel in ${BUILDKERNELS:[2..-1]} .if defined(NO_ROOT) echo "#${MTREE_MAGIC}" > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.premeta @@ -1283,27 +1283,43 @@ packagekernel: .if defined(NO_ROOT) .if !defined(NO_INSTALLKERNEL) cd ${DESTDIR}/${DISTDIR}/kernel; \ - tar cvf - @${DESTDIR}/${DISTDIR}/kernel.meta | \ + tar cvf - --exclude '*.debug' \ + @${DESTDIR}/${DISTDIR}/kernel.meta | \ ${XZ_CMD} > ${PACKAGEDIR}/kernel.txz .endif -.if ${BUILDKERNELS:[#]} > 1 + cd ${DESTDIR}/${DISTDIR}/kernel; \ + tar cvf - --include '*/*/*.debug' \ + @${DESTDIR}/${DISTDIR}/kernel.meta | \ + ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel-dbg.txz +.if ${BUILDKERNELS:[#]} > 1 && !defined(NO_INSTALLEXTRAKERNELS) .for _kernel in ${BUILDKERNELS:[2..-1]} cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \ - tar cvf - @${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta | \ + tar cvf - --exclude '*.debug' \ + @${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta | \ ${XZ_CMD} > ${PACKAGEDIR}/kernel.${_kernel}.txz + cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \ + tar cvf - --include '*/*/*.debug' \ + @${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta | \ + ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}-dbg.txz .endfor .endif .else .if !defined(NO_INSTALLKERNEL) cd ${DESTDIR}/${DISTDIR}/kernel; \ - tar cvf - . | \ + tar cvf - --exclude '*.debug' . | \ ${XZ_CMD} > ${PACKAGEDIR}/kernel.txz .endif -.if ${BUILDKERNELS:[#]} > 1 + cd ${DESTDIR}/${DISTDIR}/kernel; \ + tar cvf - --include '*/*/*.debug' $$(eval find .) | \ + ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel-dbg.txz +.if ${BUILDKERNELS:[#]} > 1 && !defined(NO_INSTALLEXTRAKERNELS) .for _kernel in ${BUILDKERNELS:[2..-1]} cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \ - tar cvf - . | \ + tar cvf - --exclude '*.debug' . | \ ${XZ_CMD} > ${PACKAGEDIR}/kernel.${_kernel}.txz + cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \ + tar cvf - --include '*/*/*.debug' $$(eval find .) | \ + ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}-dbg.txz .endfor .endif .endif @@ -1314,7 +1330,7 @@ packagekernel: # Build the API documentation with doxygen # doxygen: .PHONY - @if [ ! -x `/usr/bin/which doxygen` ]; then \ + @if [ ! -x ${LOCALBASE}/bin/doxygen ]; then \ echo "You need doxygen (devel/doxygen) to generate the API documentation of the kernel." | /usr/bin/fmt; \ exit 1; \ fi @@ -1408,11 +1424,13 @@ _vtfontcvt= usr.bin/vtfontcvt _sed= usr.bin/sed .endif -.if ${BOOTSTRAPPING} < 1000002 +.if ${BOOTSTRAPPING} < 1000033 _libopenbsd= lib/libopenbsd _m4= usr.bin/m4 +_lex= usr.bin/lex ${_bt}-usr.bin/m4: ${_bt}-lib/libopenbsd +${_bt}-usr.bin/lex: ${_bt}-usr.bin/m4 .endif .if ${BOOTSTRAPPING} < 1000026 @@ -1426,12 +1444,6 @@ ${_bt}-usr.sbin/nmtree: ${_bt}-lib/libne _cat= bin/cat .endif -.if ${BOOTSTRAPPING} < 1000033 -_lex= usr.bin/lex - -${_bt}-usr.bin/lex: ${_bt}-usr.bin/m4 -.endif - # r277259 crunchide: Correct 64-bit section header offset # r281674 crunchide: always include both 32- and 64-bit ELF support # r285986 crunchen: use STRIPBIN rather than STRIP @@ -1676,7 +1688,7 @@ NXBMAKE= ${NXBENV} ${MAKE} \ -DNO_PIC MK_PROFILE=no -DNO_SHARED \ -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \ MK_CLANG_EXTRAS=no MK_CLANG_FULL=no \ - MK_LLDB=no + MK_LLDB=no MK_DEBUG_FILES=no # native-xtools is the current target for qemu-user cross builds of ports # via poudriere and the imgact_binmisc kernel module. Modified: user/alc/PQ_LAUNDRY/ObsoleteFiles.inc ============================================================================== --- user/alc/PQ_LAUNDRY/ObsoleteFiles.inc Sat Jan 9 01:01:04 2016 (r293455) +++ user/alc/PQ_LAUNDRY/ObsoleteFiles.inc Sat Jan 9 01:42:31 2016 (r293456) @@ -38,6 +38,90 @@ # xargs -n1 | sort | uniq -d; # done +# 20151225: new clang import which bumps version from 3.7.0 to 3.7.1. +OLD_FILES+=usr/lib/clang/3.7.0/include/sanitizer/allocator_interface.h +OLD_FILES+=usr/lib/clang/3.7.0/include/sanitizer/asan_interface.h +OLD_FILES+=usr/lib/clang/3.7.0/include/sanitizer/common_interface_defs.h +OLD_FILES+=usr/lib/clang/3.7.0/include/sanitizer/coverage_interface.h +OLD_FILES+=usr/lib/clang/3.7.0/include/sanitizer/dfsan_interface.h +OLD_FILES+=usr/lib/clang/3.7.0/include/sanitizer/linux_syscall_hooks.h +OLD_FILES+=usr/lib/clang/3.7.0/include/sanitizer/lsan_interface.h +OLD_FILES+=usr/lib/clang/3.7.0/include/sanitizer/msan_interface.h +OLD_FILES+=usr/lib/clang/3.7.0/include/sanitizer/tsan_interface_atomic.h +OLD_DIRS+=usr/lib/clang/3.7.0/include/sanitizer +OLD_FILES+=usr/lib/clang/3.7.0/include/__stddef_max_align_t.h +OLD_FILES+=usr/lib/clang/3.7.0/include/__wmmintrin_aes.h +OLD_FILES+=usr/lib/clang/3.7.0/include/__wmmintrin_pclmul.h +OLD_FILES+=usr/lib/clang/3.7.0/include/adxintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/altivec.h +OLD_FILES+=usr/lib/clang/3.7.0/include/ammintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/arm_acle.h +OLD_FILES+=usr/lib/clang/3.7.0/include/arm_neon.h +OLD_FILES+=usr/lib/clang/3.7.0/include/avx2intrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/avx512bwintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/avx512cdintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/avx512dqintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/avx512erintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/avx512fintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/avx512vlbwintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/avx512vldqintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/avx512vlintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/avxintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/bmi2intrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/bmiintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/cpuid.h +OLD_FILES+=usr/lib/clang/3.7.0/include/cuda_builtin_vars.h +OLD_FILES+=usr/lib/clang/3.7.0/include/emmintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/f16cintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/fma4intrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/fmaintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/fxsrintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/htmintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/htmxlintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/ia32intrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/immintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/lzcntintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/mm3dnow.h +OLD_FILES+=usr/lib/clang/3.7.0/include/mm_malloc.h +OLD_FILES+=usr/lib/clang/3.7.0/include/mmintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/module.modulemap +OLD_FILES+=usr/lib/clang/3.7.0/include/nmmintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/pmmintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/popcntintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/prfchwintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/rdseedintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/rtmintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/s390intrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/shaintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/smmintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/tbmintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/tmmintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/vadefs.h +OLD_FILES+=usr/lib/clang/3.7.0/include/vecintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/wmmintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/x86intrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/xmmintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/xopintrin.h +OLD_FILES+=usr/lib/clang/3.7.0/include/xtestintrin.h +OLD_DIRS+=usr/lib/clang/3.7.0/include +OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.asan-i386.a +OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.asan-preinit-i386.a +OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.asan-preinit-x86_64.a +OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.asan-x86_64.a +OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.asan_cxx-i386.a +OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.asan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.profile-arm.a +OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.profile-i386.a +OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.profile-x86_64.a +OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.safestack-i386.a +OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.safestack-x86_64.a +OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.ubsan_standalone-i386.a +OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a +OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-i386.a +OLD_FILES+=usr/lib/clang/3.7.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-x86_64.a +OLD_DIRS+=usr/lib/clang/3.7.0/lib/freebsd +OLD_DIRS+=usr/lib/clang/3.7.0/lib +OLD_DIRS+=usr/lib/clang/3.7.0 # 20151130: libelf moved from /usr/lib to /lib (libkvm dependency in r291406) OLD_LIBS+=usr/lib/libelf.so.2 # 20151115: Fox bad upgrade scheme Modified: user/alc/PQ_LAUNDRY/bin/pax/pat_rep.c ============================================================================== --- user/alc/PQ_LAUNDRY/bin/pax/pat_rep.c Sat Jan 9 01:01:04 2016 (r293455) +++ user/alc/PQ_LAUNDRY/bin/pax/pat_rep.c Sat Jan 9 01:42:31 2016 (r293456) @@ -878,7 +878,7 @@ rep_name(char *name, int *nlen, int prnt * (the user already saw that substitution go by) */ pt = rephead; - (void)strcpy(buf1, name); + (void)strlcpy(buf1, name, sizeof(buf1)); inpt = buf1; outpt = nname; endpt = outpt + PAXPATHLEN; Modified: user/alc/PQ_LAUNDRY/bin/sh/eval.c ============================================================================== --- user/alc/PQ_LAUNDRY/bin/sh/eval.c Sat Jan 9 01:01:04 2016 (r293455) +++ user/alc/PQ_LAUNDRY/bin/sh/eval.c Sat Jan 9 01:42:31 2016 (r293456) @@ -496,10 +496,12 @@ exphere(union node *redir, struct arglis struct jmploc *savehandler; struct localvar *savelocalvars; int need_longjmp = 0; + unsigned char saveoptreset; redir->nhere.expdoc = ""; savelocalvars = localvars; localvars = NULL; + saveoptreset = shellparam.reset; forcelocal++; savehandler = handler; if (setjmp(jmploc.loc)) @@ -514,6 +516,7 @@ exphere(union node *redir, struct arglis forcelocal--; poplocalvars(); localvars = savelocalvars; + shellparam.reset = saveoptreset; if (need_longjmp) longjmp(handler->loc, 1); INTON; @@ -647,6 +650,7 @@ evalbackcmd(union node *n, struct backcm struct jmploc jmploc; struct jmploc *savehandler; struct localvar *savelocalvars; + unsigned char saveoptreset; result->fd = -1; result->buf = NULL; @@ -661,6 +665,7 @@ evalbackcmd(union node *n, struct backcm if (is_valid_fast_cmdsubst(n)) { savelocalvars = localvars; localvars = NULL; + saveoptreset = shellparam.reset; forcelocal++; savehandler = handler; if (setjmp(jmploc.loc)) { @@ -671,6 +676,7 @@ evalbackcmd(union node *n, struct backcm forcelocal--; poplocalvars(); localvars = savelocalvars; + shellparam.reset = saveoptreset; longjmp(handler->loc, 1); } } else { @@ -681,6 +687,7 @@ evalbackcmd(union node *n, struct backcm forcelocal--; poplocalvars(); localvars = savelocalvars; + shellparam.reset = saveoptreset; } else { if (pipe(pip) < 0) error("Pipe call failed: %s", strerror(errno)); Modified: user/alc/PQ_LAUNDRY/bin/sh/exec.c ============================================================================== --- user/alc/PQ_LAUNDRY/bin/sh/exec.c Sat Jan 9 01:01:04 2016 (r293455) +++ user/alc/PQ_LAUNDRY/bin/sh/exec.c Sat Jan 9 01:42:31 2016 (r293456) @@ -439,12 +439,14 @@ success: int find_builtin(const char *name, int *special) { - const struct builtincmd *bp; + const unsigned char *bp; + size_t len; - for (bp = builtincmd ; bp->name ; bp++) { - if (*bp->name == *name && equal(bp->name, name)) { - *special = bp->special; - return bp->code; + len = strlen(name); + for (bp = builtincmd ; *bp ; bp += 2 + bp[0]) { + if (bp[0] == len && memcmp(bp + 2, name, len) == 0) { + *special = (bp[1] & BUILTIN_SPECIAL) != 0; + return bp[1] & ~BUILTIN_SPECIAL; } } return -1; Modified: user/alc/PQ_LAUNDRY/bin/sh/expand.c ============================================================================== --- user/alc/PQ_LAUNDRY/bin/sh/expand.c Sat Jan 9 01:01:04 2016 (r293455) +++ user/alc/PQ_LAUNDRY/bin/sh/expand.c Sat Jan 9 01:42:31 2016 (r293456) @@ -3,6 +3,8 @@ * The Regents of the University of California. All rights reserved. * Copyright (c) 1997-2005 * Herbert Xu . All rights reserved. + * Copyright (c) 2010-2015 + * Jilles Tjoelker . All rights reserved. * * This code is derived from software contributed to Berkeley by * Kenneth Almquist. @@ -79,41 +81,32 @@ __FBSDID("$FreeBSD$"); #include "show.h" #include "builtins.h" -/* - * Structure specifying which parts of the string should be searched - * for IFS characters. - */ +enum wordstate { WORD_IDLE, WORD_WS_DELIMITED, WORD_QUOTEMARK }; -struct ifsregion { - struct ifsregion *next; /* next region in list */ - int begoff; /* offset of start of region */ - int endoff; /* offset of end of region */ - int inquotes; /* search for nul bytes only */ +struct worddest { + struct arglist *list; + enum wordstate state; }; - static char *expdest; /* output of current string */ static struct nodelist *argbackq; /* list of back quote expressions */ -static struct ifsregion ifsfirst; /* first struct in list of ifs regions */ -static struct ifsregion *ifslastp; /* last struct in list */ -static char *argstr(char *, int); +static char *argstr(char *, int, struct worddest *); static char *exptilde(char *, int); -static char *expari(char *); -static void expbackq(union node *, int, int); -static int subevalvar(char *, char *, int, int, int, int, int); -static char *evalvar(char *, int); +static char *expari(char *, int, struct worddest *); +static void expbackq(union node *, int, int, struct worddest *); +static void subevalvar_trim(char *, int, int, int); +static int subevalvar_misc(char *, const char *, int, int, int); +static char *evalvar(char *, int, struct worddest *); static int varisset(const char *, int); -static void strtodest(const char *, int, int, int); -static void varvalue(const char *, int, int, int); -static void recordregion(int, int, int); -static void removerecordregions(int); -static void ifsbreakup(char *, struct arglist *); -static void expandmeta(struct arglist *, struct arglist *); +static void strtodest(const char *, int, int, int, struct worddest *); +static void reprocess(int, int, int, int, struct worddest *); +static void varvalue(const char *, int, int, int, struct worddest *); +static void expandmeta(char *, struct arglist *); static void expmeta(char *, char *, struct arglist *); static int expsortcmp(const void *, const void *); -static int patmatch(const char *, const char *, int); -static char *cvtnum(int, char *); +static int patmatch(const char *, const char *); +static void cvtnum(int, char *); static int collate_range_cmp(wchar_t, wchar_t); void @@ -168,6 +161,53 @@ stputs_quotes(const char *data, const ch } #define STPUTS_QUOTES(data, syntax, p) p = stputs_quotes((data), syntax, p) +static char * +nextword(char c, int flag, char *p, struct worddest *dst) +{ + int is_ws; + + is_ws = c == '\t' || c == '\n' || c == ' '; + if (p != stackblock() || (is_ws ? dst->state == WORD_QUOTEMARK : + dst->state != WORD_WS_DELIMITED) || c == '\0') { + STPUTC('\0', p); + if (flag & EXP_GLOB) + expandmeta(grabstackstr(p), dst->list); + else + appendarglist(dst->list, grabstackstr(p)); + dst->state = is_ws ? WORD_WS_DELIMITED : WORD_IDLE; + } else if (!is_ws && dst->state == WORD_WS_DELIMITED) + dst->state = WORD_IDLE; + /* Reserve space while the stack string is empty. */ + appendarglist(dst->list, NULL); + dst->list->count--; + STARTSTACKSTR(p); + return p; +} +#define NEXTWORD(c, flag, p, dstlist) p = nextword(c, flag, p, dstlist) + +static char * +stputs_split(const char *data, const char *syntax, int flag, char *p, + struct worddest *dst) +{ + const char *ifs; + char c; + + ifs = ifsset() ? ifsval() : " \t\n"; + while (*data) { + CHECKSTRSPACE(2, p); + c = *data++; + if (strchr(ifs, c) != NULL) { + NEXTWORD(c, flag, p, dst); + continue; + } + if (flag & EXP_GLOB && syntax[(int)c] == CCTL) + USTPUTC(CTLESC, p); + USTPUTC(c, p); + } + return (p); +} +#define STPUTS_SPLIT(data, syntax, flag, p, dst) p = stputs_split((data), syntax, flag, p, dst) + /* * Perform expansions on an argument, placing the resulting list of arguments * in arglist. Parameter expansion, command substitution and arithmetic @@ -183,34 +223,31 @@ stputs_quotes(const char *data, const ch void expandarg(union node *arg, struct arglist *arglist, int flag) { - struct arglist exparg; - char *p; + struct worddest exparg; + if (fflag) + flag &= ~EXP_GLOB; argbackq = arg->narg.backquote; + exparg.list = arglist; + exparg.state = WORD_IDLE; STARTSTACKSTR(expdest); - ifsfirst.next = NULL; - ifslastp = NULL; - argstr(arg->narg.text, flag); + argstr(arg->narg.text, flag, &exparg); if (arglist == NULL) { STACKSTRNUL(expdest); return; /* here document expanded */ } - STPUTC('\0', expdest); - p = grabstackstr(expdest); - emptyarglist(&exparg); - if (flag & EXP_FULL) { - ifsbreakup(p, &exparg); - expandmeta(&exparg, arglist); - } else - appendarglist(arglist, p); - while (ifsfirst.next != NULL) { - struct ifsregion *ifsp; - INTOFF; - ifsp = ifsfirst.next->next; - ckfree(ifsfirst.next); - ifsfirst.next = ifsp; - INTON; + if ((flag & EXP_SPLIT) == 0 || expdest != stackblock() || + exparg.state == WORD_QUOTEMARK) { + STPUTC('\0', expdest); + if (flag & EXP_SPLIT) { + if (flag & EXP_GLOB) + expandmeta(grabstackstr(expdest), exparg.list); + else + appendarglist(exparg.list, grabstackstr(expdest)); + } } + if ((flag & EXP_SPLIT) == 0) + appendarglist(arglist, grabstackstr(expdest)); } @@ -220,15 +257,16 @@ expandarg(union node *arg, struct arglis * expansion, and tilde expansion if requested via EXP_TILDE/EXP_VARTILDE. * Processing ends at a CTLENDVAR or CTLENDARI character as well as '\0'. * This is used to expand word in ${var+word} etc. - * If EXP_FULL or EXP_CASE are set, keep and/or generate CTLESC + * If EXP_GLOB or EXP_CASE are set, keep and/or generate CTLESC * characters to allow for further processing. - * If EXP_FULL is set, also preserve CTLQUOTEMARK characters. + * + * If EXP_SPLIT is set, dst receives any complete words produced. */ static char * -argstr(char *p, int flag) +argstr(char *p, int flag, struct worddest *dst) { char c; - int quotes = flag & (EXP_FULL | EXP_CASE); /* do CTLESC */ + int quotes = flag & (EXP_GLOB | EXP_CASE); /* do CTLESC */ int firsteq = 1; int split_lit; int lit_quoted; @@ -252,32 +290,33 @@ argstr(char *p, int flag) if (p[0] == CTLVAR && (p[1] & VSQUOTE) != 0 && p[2] == '@' && p[3] == '=') break; - if ((flag & EXP_FULL) != 0) - USTPUTC(c, expdest); + if ((flag & EXP_SPLIT) != 0 && expdest == stackblock()) + dst->state = WORD_QUOTEMARK; break; case CTLQUOTEEND: lit_quoted = 0; break; case CTLESC: - if (quotes) - USTPUTC(c, expdest); c = *p++; + if (split_lit && !lit_quoted && + strchr(ifsset() ? ifsval() : " \t\n", c) != NULL) { + NEXTWORD(c, flag, expdest, dst); + break; + } + if (quotes) + USTPUTC(CTLESC, expdest); USTPUTC(c, expdest); - if (split_lit && !lit_quoted) - recordregion(expdest - stackblock() - - (quotes ? 2 : 1), - expdest - stackblock(), 0); break; case CTLVAR: - p = evalvar(p, flag); + p = evalvar(p, flag, dst); break; case CTLBACKQ: case CTLBACKQ|CTLQUOTE: - expbackq(argbackq->n, c & CTLQUOTE, flag); + expbackq(argbackq->n, c & CTLQUOTE, flag, dst); argbackq = argbackq->next; break; case CTLARI: - p = expari(p); + p = expari(p, flag, dst); break; case ':': case '=': @@ -285,10 +324,12 @@ argstr(char *p, int flag) * sort of a hack - expand tildes in variable * assignments (after the first '=' and after ':'s). */ + if (split_lit && !lit_quoted && + strchr(ifsset() ? ifsval() : " \t\n", c) != NULL) { + NEXTWORD(c, flag, expdest, dst); + break; + } USTPUTC(c, expdest); - if (split_lit && !lit_quoted) - recordregion(expdest - stackblock() - 1, - expdest - stackblock(), 0); if (flag & EXP_VARTILDE && *p == '~' && (c != '=' || firsteq)) { if (c == '=') @@ -297,10 +338,12 @@ argstr(char *p, int flag) } break; default: + if (split_lit && !lit_quoted && + strchr(ifsset() ? ifsval() : " \t\n", c) != NULL) { + NEXTWORD(c, flag, expdest, dst); + break; + } USTPUTC(c, expdest); - if (split_lit && !lit_quoted) - recordregion(expdest - stackblock() - 1, - expdest - stackblock(), 0); } } } @@ -344,7 +387,7 @@ exptilde(char *p, int flag) *p = c; if (home == NULL || *home == '\0') return (startp); - strtodest(home, flag, VSNORMAL, 1); + strtodest(home, flag, VSNORMAL, 1, NULL); return (p); } p++; @@ -352,51 +395,11 @@ exptilde(char *p, int flag) } -static void -removerecordregions(int endoff) -{ - if (ifslastp == NULL) - return; - - if (ifsfirst.endoff > endoff) { - while (ifsfirst.next != NULL) { - struct ifsregion *ifsp; - INTOFF; - ifsp = ifsfirst.next->next; - ckfree(ifsfirst.next); - ifsfirst.next = ifsp; - INTON; - } - if (ifsfirst.begoff > endoff) - ifslastp = NULL; - else { - ifslastp = &ifsfirst; - ifsfirst.endoff = endoff; - } - return; - } - - ifslastp = &ifsfirst; - while (ifslastp->next && ifslastp->next->begoff < endoff) - ifslastp=ifslastp->next; - while (ifslastp->next != NULL) { - struct ifsregion *ifsp; - INTOFF; - ifsp = ifslastp->next->next; - ckfree(ifslastp->next); - ifslastp->next = ifsp; - INTON; - } - if (ifslastp->endoff > endoff) - ifslastp->endoff = endoff; -} - /* * Expand arithmetic expression. - * Note that flag is not required as digits never require CTLESC characters. */ static char * -expari(char *p) +expari(char *p, int flag, struct worddest *dst) { char *q, *start; arith_t result; @@ -406,8 +409,7 @@ expari(char *p) quoted = *p++ == '"'; begoff = expdest - stackblock(); - p = argstr(p, 0); - removerecordregions(begoff); + p = argstr(p, 0, NULL); STPUTC('\0', expdest); start = stackblock() + begoff; @@ -424,7 +426,7 @@ expari(char *p) adj = strlen(expdest); STADJUST(adj, expdest); if (!quoted) - recordregion(begoff, expdest - stackblock(), 0); + reprocess(expdest - adj - stackblock(), flag, VSNORMAL, 0, dst); return p; } @@ -433,35 +435,34 @@ expari(char *p) * Perform command substitution. */ static void -expbackq(union node *cmd, int quoted, int flag) +expbackq(union node *cmd, int quoted, int flag, struct worddest *dst) { struct backcmd in; int i; char buf[128]; char *p; char *dest = expdest; - struct ifsregion saveifs, *savelastp; struct nodelist *saveargbackq; char lastc; - int startloc = dest - stackblock(); char const *syntax = quoted? DQSYNTAX : BASESYNTAX; - int quotes = flag & (EXP_FULL | EXP_CASE); + int quotes = flag & (EXP_GLOB | EXP_CASE); size_t nnl; + const char *ifs; INTOFF; - saveifs = ifsfirst; - savelastp = ifslastp; saveargbackq = argbackq; p = grabstackstr(dest); evalbackcmd(cmd, &in); ungrabstackstr(p, dest); - ifsfirst = saveifs; - ifslastp = savelastp; argbackq = saveargbackq; p = in.buf; lastc = '\0'; nnl = 0; + if (!quoted && flag & EXP_SPLIT) + ifs = ifsset() ? ifsval() : " \t\n"; + else + ifs = ""; /* Don't copy trailing newlines */ for (;;) { if (--in.nleft < 0) { @@ -475,15 +476,27 @@ expbackq(union node *cmd, int quoted, in in.nleft = i - 1; } lastc = *p++; - if (lastc != '\0') { - if (lastc == '\n') { - nnl++; - } else { - CHECKSTRSPACE(nnl + 2, dest); - while (nnl > 0) { - nnl--; - USTPUTC('\n', dest); + if (lastc == '\0') + continue; + if (lastc == '\n') { + nnl++; + } else { + if (nnl > 0) { + if (strchr(ifs, '\n') != NULL) { + NEXTWORD('\n', flag, dest, dst); + nnl = 0; + } else { + CHECKSTRSPACE(nnl + 2, dest); + while (nnl > 0) { + nnl--; + USTPUTC('\n', dest); + } } + } + if (strchr(ifs, lastc) != NULL) + NEXTWORD(lastc, flag, dest, dst); + else { + CHECKSTRSPACE(2, dest); if (quotes && syntax[(int)lastc] == CCTL) USTPUTC(CTLESC, dest); USTPUTC(lastc, dest); @@ -497,8 +510,6 @@ expbackq(union node *cmd, int quoted, in ckfree(in.buf); if (in.jp) exitstatus = waitforjob(in.jp, (int *)NULL); - if (quoted == 0) - recordregion(startloc, dest - stackblock(), 0); TRACE(("expbackq: size=%td: \"%.*s\"\n", ((dest - stackblock()) - startloc), (int)((dest - stackblock()) - startloc), @@ -520,113 +531,112 @@ recordleft(const char *str, const char * *startp++ = *loc++; } -static int -subevalvar(char *p, char *str, int strloc, int subtype, int startloc, - int varflags, int quotes) +static void +subevalvar_trim(char *p, int strloc, int subtype, int startloc) { char *startp; char *loc = NULL; - char *q; + char *str; int c = 0; struct nodelist *saveargbackq = argbackq; int amount; - argstr(p, (subtype == VSTRIMLEFT || subtype == VSTRIMLEFTMAX || - subtype == VSTRIMRIGHT || subtype == VSTRIMRIGHTMAX ? - EXP_CASE : 0) | EXP_TILDE); + argstr(p, EXP_CASE | EXP_TILDE, NULL); STACKSTRNUL(expdest); argbackq = saveargbackq; startp = stackblock() + startloc; - if (str == NULL) - str = stackblock() + strloc; + str = stackblock() + strloc; switch (subtype) { - case VSASSIGN: - setvar(str, startp, 0); - amount = startp - expdest; - STADJUST(amount, expdest); - varflags &= ~VSNUL; - return 1; - - case VSQUESTION: - if (*p != CTLENDVAR) { - outfmt(out2, "%s\n", startp); - error((char *)NULL); - } - error("%.*s: parameter %snot set", (int)(p - str - 1), - str, (varflags & VSNUL) ? "null or " : ""); - return 0; - case VSTRIMLEFT: for (loc = startp; loc < str; loc++) { c = *loc; *loc = '\0'; - if (patmatch(str, startp, quotes)) { + if (patmatch(str, startp)) { *loc = c; recordleft(str, loc, startp); - return 1; + return; } *loc = c; - if (quotes && *loc == CTLESC) - loc++; } - return 0; + break; case VSTRIMLEFTMAX: for (loc = str - 1; loc >= startp;) { c = *loc; *loc = '\0'; - if (patmatch(str, startp, quotes)) { + if (patmatch(str, startp)) { *loc = c; recordleft(str, loc, startp); - return 1; + return; } *loc = c; loc--; - if (quotes && loc > startp && *(loc - 1) == CTLESC) { - for (q = startp; q < loc; q++) - if (*q == CTLESC) - q++; - if (q > loc) - loc--; - } } - return 0; + break; case VSTRIMRIGHT: for (loc = str - 1; loc >= startp;) { - if (patmatch(str, loc, quotes)) { + if (patmatch(str, loc)) { amount = loc - expdest; STADJUST(amount, expdest); - return 1; + return; } loc--; - if (quotes && loc > startp && *(loc - 1) == CTLESC) { - for (q = startp; q < loc; q++) - if (*q == CTLESC) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@freebsd.org Sat Jan 9 01:43:54 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AD48DA67911 for ; Sat, 9 Jan 2016 01:43:54 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7F4881EC2; Sat, 9 Jan 2016 01:43:54 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u091hrUK067051; Sat, 9 Jan 2016 01:43:53 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u091hrqg067050; Sat, 9 Jan 2016 01:43:53 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201601090143.u091hrqg067050@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Sat, 9 Jan 2016 01:43:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293457 - user/alc/PQ_LAUNDRY/usr.bin/vmstat X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 Jan 2016 01:43:54 -0000 Author: markj Date: Sat Jan 9 01:43:53 2016 New Revision: 293457 URL: https://svnweb.freebsd.org/changeset/base/293457 Log: Fix a mismerge. Modified: user/alc/PQ_LAUNDRY/usr.bin/vmstat/vmstat.c Modified: user/alc/PQ_LAUNDRY/usr.bin/vmstat/vmstat.c ============================================================================== --- user/alc/PQ_LAUNDRY/usr.bin/vmstat/vmstat.c Sat Jan 9 01:42:31 2016 (r293456) +++ user/alc/PQ_LAUNDRY/usr.bin/vmstat/vmstat.c Sat Jan 9 01:43:53 2016 (r293457) @@ -1094,8 +1094,8 @@ dosum(void) sum.v_active_count); xo_emit("{:inactive-pages/%9u} {N:pages inactive}\n", sum.v_inactive_count); - xo_emit("{:vm-laundry-pages/%9u} {N:pages in the laundry queue}\n", - sum.v_cache_count); + xo_emit("{:laundry-pages/%9u} {N:pages in the laundry queue}\n", + sum.v_laundry_count); xo_emit("{:wired-pages/%9u} {N:pages wired down}\n", sum.v_wire_count); xo_emit("{:free-pages/%9u} {N:pages free}\n", From owner-svn-src-user@freebsd.org Sat Jan 9 13:52:58 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BB09DA69B6C for ; Sat, 9 Jan 2016 13:52:58 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6E94C1ED3; Sat, 9 Jan 2016 13:52:58 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u09Dqvws089335; Sat, 9 Jan 2016 13:52:57 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u09Dqvda089334; Sat, 9 Jan 2016 13:52:57 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201601091352.u09Dqvda089334@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Sat, 9 Jan 2016 13:52:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293472 - user/dchagin/lemul X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 Jan 2016 13:52:58 -0000 Author: dchagin Date: Sat Jan 9 13:52:57 2016 New Revision: 293472 URL: https://svnweb.freebsd.org/changeset/base/293472 Log: Removing obsolete lemul branch Deleted: user/dchagin/lemul/ From owner-svn-src-user@freebsd.org Sat Jan 9 23:22:35 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0298DA69480 for ; Sat, 9 Jan 2016 23:22:35 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 642E41536; Sat, 9 Jan 2016 23:22:34 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u09NMXaA067028; Sat, 9 Jan 2016 23:22:33 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u09NMTD8066986; Sat, 9 Jan 2016 23:22:29 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601092322.u09NMTD8066986@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sat, 9 Jan 2016 23:22:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293618 - in user/ngie/stable-10-libnv: . bin/csh bin/pax contrib/bmake contrib/bmake/mk contrib/bsnmp/snmpd contrib/openbsm contrib/openbsm/bin contrib/openbsm/bin/audit contrib/openbs... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 Jan 2016 23:22:35 -0000 Author: ngie Date: Sat Jan 9 23:22:28 2016 New Revision: 293618 URL: https://svnweb.freebsd.org/changeset/base/293618 Log: MFstable/10 @ r293617 Added: user/ngie/stable-10-libnv/contrib/openbsm/.travis.yml - copied unchanged from r293617, stable/10/contrib/openbsm/.travis.yml user/ngie/stable-10-libnv/contrib/openbsm/libbsm/au_notify.3 - copied unchanged from r293617, stable/10/contrib/openbsm/libbsm/au_notify.3 user/ngie/stable-10-libnv/lib/libc/sys/futimens.c - copied unchanged from r293617, stable/10/lib/libc/sys/futimens.c user/ngie/stable-10-libnv/lib/libc/sys/utimensat.2 - copied unchanged from r293617, stable/10/lib/libc/sys/utimensat.2 user/ngie/stable-10-libnv/lib/libc/sys/utimensat.c - copied unchanged from r293617, stable/10/lib/libc/sys/utimensat.c user/ngie/stable-10-libnv/lib/msun/tests/cexp_test.c - copied unchanged from r293617, stable/10/lib/msun/tests/cexp_test.c user/ngie/stable-10-libnv/lib/msun/tests/conj_test.c - copied unchanged from r293617, stable/10/lib/msun/tests/conj_test.c user/ngie/stable-10-libnv/lib/msun/tests/csqrt_test.c - copied unchanged from r293617, stable/10/lib/msun/tests/csqrt_test.c user/ngie/stable-10-libnv/lib/msun/tests/fenv_test.c - copied unchanged from r293617, stable/10/lib/msun/tests/fenv_test.c user/ngie/stable-10-libnv/lib/msun/tests/fmaxmin_test.c - copied unchanged from r293617, stable/10/lib/msun/tests/fmaxmin_test.c user/ngie/stable-10-libnv/lib/msun/tests/ilogb_test.c - copied unchanged from r293617, stable/10/lib/msun/tests/ilogb_test.c user/ngie/stable-10-libnv/lib/msun/tests/invctrig_test.c - copied unchanged from r293617, stable/10/lib/msun/tests/invctrig_test.c user/ngie/stable-10-libnv/lib/msun/tests/logarithm_test.c - copied unchanged from r293617, stable/10/lib/msun/tests/logarithm_test.c user/ngie/stable-10-libnv/lib/msun/tests/lrint_test.c - copied unchanged from r293617, stable/10/lib/msun/tests/lrint_test.c user/ngie/stable-10-libnv/lib/msun/tests/nan_test.c - copied unchanged from r293617, stable/10/lib/msun/tests/nan_test.c user/ngie/stable-10-libnv/lib/msun/tests/nearbyint_test.c - copied unchanged from r293617, stable/10/lib/msun/tests/nearbyint_test.c user/ngie/stable-10-libnv/lib/msun/tests/next_test.c - copied unchanged from r293617, stable/10/lib/msun/tests/next_test.c user/ngie/stable-10-libnv/lib/msun/tests/rem_test.c - copied unchanged from r293617, stable/10/lib/msun/tests/rem_test.c user/ngie/stable-10-libnv/lib/msun/tests/trig_test.c - copied unchanged from r293617, stable/10/lib/msun/tests/trig_test.c user/ngie/stable-10-libnv/sys/amd64/linux/ - copied from r293617, stable/10/sys/amd64/linux/ user/ngie/stable-10-libnv/sys/amd64/linux32/linux32_vdso.lds.s - copied unchanged from r293617, stable/10/sys/amd64/linux32/linux32_vdso.lds.s user/ngie/stable-10-libnv/sys/boot/efi/boot1/ - copied from r293617, stable/10/sys/boot/efi/boot1/ user/ngie/stable-10-libnv/sys/boot/efi/loader/ - copied from r293617, stable/10/sys/boot/efi/loader/ user/ngie/stable-10-libnv/sys/compat/linux/linux.c - copied unchanged from r293617, stable/10/sys/compat/linux/linux.c user/ngie/stable-10-libnv/sys/compat/linux/linux.h - copied unchanged from r293617, stable/10/sys/compat/linux/linux.h user/ngie/stable-10-libnv/sys/compat/linux/linux_common.c - copied unchanged from r293617, stable/10/sys/compat/linux/linux_common.c user/ngie/stable-10-libnv/sys/compat/linux/linux_event.c - copied unchanged from r293617, stable/10/sys/compat/linux/linux_event.c user/ngie/stable-10-libnv/sys/compat/linux/linux_event.h - copied unchanged from r293617, stable/10/sys/compat/linux/linux_event.h user/ngie/stable-10-libnv/sys/compat/linux/linux_vdso.c - copied unchanged from r293617, stable/10/sys/compat/linux/linux_vdso.c user/ngie/stable-10-libnv/sys/compat/linux/linux_vdso.h - copied unchanged from r293617, stable/10/sys/compat/linux/linux_vdso.h user/ngie/stable-10-libnv/sys/i386/linux/linux_vdso.lds.s - copied unchanged from r293617, stable/10/sys/i386/linux/linux_vdso.lds.s user/ngie/stable-10-libnv/sys/modules/linux64/ - copied from r293617, stable/10/sys/modules/linux64/ user/ngie/stable-10-libnv/sys/modules/linux_common/ - copied from r293617, stable/10/sys/modules/linux_common/ user/ngie/stable-10-libnv/sys/ofed/include/linux/srcu.h - copied unchanged from r293617, stable/10/sys/ofed/include/linux/srcu.h user/ngie/stable-10-libnv/tests/sys/kern/unix_passfd_test.c - copied unchanged from r293617, stable/10/tests/sys/kern/unix_passfd_test.c user/ngie/stable-10-libnv/tests/sys/mac/ - copied from r293617, stable/10/tests/sys/mac/ Deleted: user/ngie/stable-10-libnv/sys/boot/amd64/ user/ngie/stable-10-libnv/sys/boot/i386/efi/ user/ngie/stable-10-libnv/tools/regression/lib/msun/test-cexp.t user/ngie/stable-10-libnv/tools/regression/lib/msun/test-conj.t user/ngie/stable-10-libnv/tools/regression/lib/msun/test-csqrt.t user/ngie/stable-10-libnv/tools/regression/lib/msun/test-fenv.c user/ngie/stable-10-libnv/tools/regression/lib/msun/test-fenv.t user/ngie/stable-10-libnv/tools/regression/lib/msun/test-fmaxmin.c user/ngie/stable-10-libnv/tools/regression/lib/msun/test-fmaxmin.t user/ngie/stable-10-libnv/tools/regression/lib/msun/test-ilogb.c user/ngie/stable-10-libnv/tools/regression/lib/msun/test-ilogb.t user/ngie/stable-10-libnv/tools/regression/lib/msun/test-invctrig.c user/ngie/stable-10-libnv/tools/regression/lib/msun/test-logarithm.c user/ngie/stable-10-libnv/tools/regression/lib/msun/test-logarithm.t user/ngie/stable-10-libnv/tools/regression/lib/msun/test-lrint.c user/ngie/stable-10-libnv/tools/regression/lib/msun/test-lrint.t user/ngie/stable-10-libnv/tools/regression/lib/msun/test-nan.c user/ngie/stable-10-libnv/tools/regression/lib/msun/test-nan.t user/ngie/stable-10-libnv/tools/regression/lib/msun/test-nearbyint.c user/ngie/stable-10-libnv/tools/regression/lib/msun/test-nearbyint.t user/ngie/stable-10-libnv/tools/regression/lib/msun/test-next.c user/ngie/stable-10-libnv/tools/regression/lib/msun/test-next.t user/ngie/stable-10-libnv/tools/regression/lib/msun/test-rem.c user/ngie/stable-10-libnv/tools/regression/lib/msun/test-rem.t user/ngie/stable-10-libnv/tools/regression/lib/msun/test-trig.t user/ngie/stable-10-libnv/tools/regression/sockets/unix_passfd/ Modified: user/ngie/stable-10-libnv/Makefile.inc1 user/ngie/stable-10-libnv/UPDATING user/ngie/stable-10-libnv/bin/csh/config_p.h user/ngie/stable-10-libnv/bin/pax/pat_rep.c user/ngie/stable-10-libnv/contrib/bmake/ChangeLog user/ngie/stable-10-libnv/contrib/bmake/Makefile user/ngie/stable-10-libnv/contrib/bmake/mk/ChangeLog user/ngie/stable-10-libnv/contrib/bmake/mk/auto.obj.mk user/ngie/stable-10-libnv/contrib/bmake/mk/install-mk user/ngie/stable-10-libnv/contrib/bmake/os.sh user/ngie/stable-10-libnv/contrib/bmake/suff.c user/ngie/stable-10-libnv/contrib/bsnmp/snmpd/main.c user/ngie/stable-10-libnv/contrib/bsnmp/snmpd/trap.c user/ngie/stable-10-libnv/contrib/openbsm/INSTALL user/ngie/stable-10-libnv/contrib/openbsm/LICENSE user/ngie/stable-10-libnv/contrib/openbsm/Makefile.am user/ngie/stable-10-libnv/contrib/openbsm/Makefile.in user/ngie/stable-10-libnv/contrib/openbsm/NEWS user/ngie/stable-10-libnv/contrib/openbsm/README user/ngie/stable-10-libnv/contrib/openbsm/TODO user/ngie/stable-10-libnv/contrib/openbsm/VERSION user/ngie/stable-10-libnv/contrib/openbsm/autogen.sh user/ngie/stable-10-libnv/contrib/openbsm/bin/Makefile.am user/ngie/stable-10-libnv/contrib/openbsm/bin/audit/Makefile.am user/ngie/stable-10-libnv/contrib/openbsm/bin/audit/audit.8 user/ngie/stable-10-libnv/contrib/openbsm/bin/audit/audit.c user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/Makefile.am user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/audit_triggers.defs user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/audit_warn.c user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/auditd.8 user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/auditd.c user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/auditd.h user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/auditd_control.defs user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/auditd_darwin.c user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/auditd_fbsd.c user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/Makefile.am user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/auditdistd.8 user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/auditdistd.c user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/auditdistd.conf.5 user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/auditdistd.h user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/faccessat.h user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/fstatat.h user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/openat.h user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/parse.y user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/pjdlog.c user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/pjdlog.h user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/proto.c user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/proto.h user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/proto_common.c user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/proto_impl.h user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/proto_socketpair.c user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/proto_tcp.c user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/proto_tls.c user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/proto_uds.c user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/receiver.c user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/renameat.h user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/sandbox.c user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/sandbox.h user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/sender.c user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/sigtimedwait.h user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/strndup.h user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/subr.c user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/subr.h user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/synch.h user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/token.l user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/trail.c user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/trail.h user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/unlinkat.h user/ngie/stable-10-libnv/contrib/openbsm/bin/auditfilterd/Makefile.am user/ngie/stable-10-libnv/contrib/openbsm/bin/auditfilterd/auditfilterd.8 user/ngie/stable-10-libnv/contrib/openbsm/bin/auditfilterd/auditfilterd.c user/ngie/stable-10-libnv/contrib/openbsm/bin/auditfilterd/auditfilterd.h user/ngie/stable-10-libnv/contrib/openbsm/bin/auditfilterd/auditfilterd_conf.c user/ngie/stable-10-libnv/contrib/openbsm/bin/auditreduce/Makefile.am user/ngie/stable-10-libnv/contrib/openbsm/bin/auditreduce/auditreduce.1 user/ngie/stable-10-libnv/contrib/openbsm/bin/auditreduce/auditreduce.c user/ngie/stable-10-libnv/contrib/openbsm/bin/auditreduce/auditreduce.h user/ngie/stable-10-libnv/contrib/openbsm/bin/praudit/Makefile.am user/ngie/stable-10-libnv/contrib/openbsm/bin/praudit/praudit.1 user/ngie/stable-10-libnv/contrib/openbsm/bin/praudit/praudit.c user/ngie/stable-10-libnv/contrib/openbsm/bsm/Makefile.am user/ngie/stable-10-libnv/contrib/openbsm/bsm/audit_filter.h user/ngie/stable-10-libnv/contrib/openbsm/bsm/audit_uevents.h user/ngie/stable-10-libnv/contrib/openbsm/bsm/auditd_lib.h user/ngie/stable-10-libnv/contrib/openbsm/bsm/libbsm.h user/ngie/stable-10-libnv/contrib/openbsm/compat/clock_gettime.h user/ngie/stable-10-libnv/contrib/openbsm/compat/closefrom.h user/ngie/stable-10-libnv/contrib/openbsm/compat/compat.h user/ngie/stable-10-libnv/contrib/openbsm/compat/endian.h user/ngie/stable-10-libnv/contrib/openbsm/compat/endian_enc.h user/ngie/stable-10-libnv/contrib/openbsm/compat/flopen.h user/ngie/stable-10-libnv/contrib/openbsm/compat/pidfile.h user/ngie/stable-10-libnv/contrib/openbsm/compat/queue.h user/ngie/stable-10-libnv/contrib/openbsm/compat/strlcat.h user/ngie/stable-10-libnv/contrib/openbsm/compat/strlcpy.h user/ngie/stable-10-libnv/contrib/openbsm/config/config.h user/ngie/stable-10-libnv/contrib/openbsm/configure user/ngie/stable-10-libnv/contrib/openbsm/configure.ac user/ngie/stable-10-libnv/contrib/openbsm/etc/audit_class user/ngie/stable-10-libnv/contrib/openbsm/etc/audit_control user/ngie/stable-10-libnv/contrib/openbsm/etc/audit_event user/ngie/stable-10-libnv/contrib/openbsm/etc/audit_filter user/ngie/stable-10-libnv/contrib/openbsm/etc/audit_user user/ngie/stable-10-libnv/contrib/openbsm/etc/audit_warn user/ngie/stable-10-libnv/contrib/openbsm/libauditd/Makefile.am user/ngie/stable-10-libnv/contrib/openbsm/libauditd/auditd_lib.c user/ngie/stable-10-libnv/contrib/openbsm/libauditd/libauditd.3 user/ngie/stable-10-libnv/contrib/openbsm/libbsm/Makefile.am user/ngie/stable-10-libnv/contrib/openbsm/libbsm/Makefile.in user/ngie/stable-10-libnv/contrib/openbsm/libbsm/au_class.3 user/ngie/stable-10-libnv/contrib/openbsm/libbsm/au_control.3 user/ngie/stable-10-libnv/contrib/openbsm/libbsm/au_domain.3 user/ngie/stable-10-libnv/contrib/openbsm/libbsm/au_errno.3 user/ngie/stable-10-libnv/contrib/openbsm/libbsm/au_event.3 user/ngie/stable-10-libnv/contrib/openbsm/libbsm/au_fcntl_cmd.3 user/ngie/stable-10-libnv/contrib/openbsm/libbsm/au_free_token.3 user/ngie/stable-10-libnv/contrib/openbsm/libbsm/au_io.3 user/ngie/stable-10-libnv/contrib/openbsm/libbsm/au_mask.3 user/ngie/stable-10-libnv/contrib/openbsm/libbsm/au_open.3 user/ngie/stable-10-libnv/contrib/openbsm/libbsm/au_socket_type.3 user/ngie/stable-10-libnv/contrib/openbsm/libbsm/au_token.3 user/ngie/stable-10-libnv/contrib/openbsm/libbsm/au_user.3 user/ngie/stable-10-libnv/contrib/openbsm/libbsm/audit_submit.3 user/ngie/stable-10-libnv/contrib/openbsm/libbsm/bsm_audit.c user/ngie/stable-10-libnv/contrib/openbsm/libbsm/bsm_class.c user/ngie/stable-10-libnv/contrib/openbsm/libbsm/bsm_control.c user/ngie/stable-10-libnv/contrib/openbsm/libbsm/bsm_domain.c user/ngie/stable-10-libnv/contrib/openbsm/libbsm/bsm_errno.c user/ngie/stable-10-libnv/contrib/openbsm/libbsm/bsm_event.c user/ngie/stable-10-libnv/contrib/openbsm/libbsm/bsm_fcntl.c user/ngie/stable-10-libnv/contrib/openbsm/libbsm/bsm_flags.c user/ngie/stable-10-libnv/contrib/openbsm/libbsm/bsm_io.c user/ngie/stable-10-libnv/contrib/openbsm/libbsm/bsm_mask.c user/ngie/stable-10-libnv/contrib/openbsm/libbsm/bsm_notify.c user/ngie/stable-10-libnv/contrib/openbsm/libbsm/bsm_socket_type.c user/ngie/stable-10-libnv/contrib/openbsm/libbsm/bsm_token.c user/ngie/stable-10-libnv/contrib/openbsm/libbsm/bsm_user.c user/ngie/stable-10-libnv/contrib/openbsm/libbsm/bsm_wrappers.c user/ngie/stable-10-libnv/contrib/openbsm/libbsm/libbsm.3 user/ngie/stable-10-libnv/contrib/openbsm/man/Makefile.am user/ngie/stable-10-libnv/contrib/openbsm/man/Makefile.in user/ngie/stable-10-libnv/contrib/openbsm/man/audit.2 user/ngie/stable-10-libnv/contrib/openbsm/man/audit.log.5 user/ngie/stable-10-libnv/contrib/openbsm/man/audit_class.5 user/ngie/stable-10-libnv/contrib/openbsm/man/audit_control.5 user/ngie/stable-10-libnv/contrib/openbsm/man/audit_event.5 user/ngie/stable-10-libnv/contrib/openbsm/man/audit_user.5 user/ngie/stable-10-libnv/contrib/openbsm/man/audit_warn.5 user/ngie/stable-10-libnv/contrib/openbsm/man/auditctl.2 user/ngie/stable-10-libnv/contrib/openbsm/man/auditon.2 user/ngie/stable-10-libnv/contrib/openbsm/man/getaudit.2 user/ngie/stable-10-libnv/contrib/openbsm/man/getauid.2 user/ngie/stable-10-libnv/contrib/openbsm/man/setaudit.2 user/ngie/stable-10-libnv/contrib/openbsm/man/setauid.2 user/ngie/stable-10-libnv/contrib/openbsm/modules/Makefile.am user/ngie/stable-10-libnv/contrib/openbsm/modules/auditfilter_noop/Makefile.am user/ngie/stable-10-libnv/contrib/openbsm/modules/auditfilter_noop/auditfilter_noop.c user/ngie/stable-10-libnv/contrib/openbsm/sys/Makefile.am user/ngie/stable-10-libnv/contrib/openbsm/sys/bsm/Makefile.am user/ngie/stable-10-libnv/contrib/openbsm/sys/bsm/audit.h user/ngie/stable-10-libnv/contrib/openbsm/sys/bsm/audit_domain.h user/ngie/stable-10-libnv/contrib/openbsm/sys/bsm/audit_errno.h user/ngie/stable-10-libnv/contrib/openbsm/sys/bsm/audit_fcntl.h user/ngie/stable-10-libnv/contrib/openbsm/sys/bsm/audit_internal.h user/ngie/stable-10-libnv/contrib/openbsm/sys/bsm/audit_kevents.h user/ngie/stable-10-libnv/contrib/openbsm/sys/bsm/audit_record.h user/ngie/stable-10-libnv/contrib/openbsm/sys/bsm/audit_socket_type.h user/ngie/stable-10-libnv/contrib/openbsm/test/Makefile.am user/ngie/stable-10-libnv/contrib/openbsm/test/bsm/Makefile.am user/ngie/stable-10-libnv/contrib/openbsm/test/bsm/generate.c user/ngie/stable-10-libnv/contrib/openbsm/tools/Makefile.am user/ngie/stable-10-libnv/contrib/openbsm/tools/audump.c user/ngie/stable-10-libnv/etc/mtree/BSD.tests.dist user/ngie/stable-10-libnv/lib/libbsm/Makefile user/ngie/stable-10-libnv/lib/libc/gen/popen.c user/ngie/stable-10-libnv/lib/libc/include/libc_private.h user/ngie/stable-10-libnv/lib/libc/rpc/svc_vc.c user/ngie/stable-10-libnv/lib/libc/sys/Makefile.inc user/ngie/stable-10-libnv/lib/libc/sys/Symbol.map user/ngie/stable-10-libnv/lib/libpam/modules/pam_ssh/Makefile user/ngie/stable-10-libnv/lib/msun/tests/Makefile user/ngie/stable-10-libnv/libexec/rtld-elf/rtld.c user/ngie/stable-10-libnv/release/Makefile user/ngie/stable-10-libnv/sbin/devd/devd.cc user/ngie/stable-10-libnv/sbin/fsck_ffs/fsck.h user/ngie/stable-10-libnv/sbin/fsck_ffs/globs.c user/ngie/stable-10-libnv/sbin/natd/natd.c user/ngie/stable-10-libnv/sbin/newfs_nandfs/newfs_nandfs.c user/ngie/stable-10-libnv/sbin/rcorder/rcorder.c user/ngie/stable-10-libnv/sbin/reboot/reboot.8 user/ngie/stable-10-libnv/sbin/reboot/reboot.c user/ngie/stable-10-libnv/sbin/route/route.c user/ngie/stable-10-libnv/secure/lib/libssh/Makefile user/ngie/stable-10-libnv/secure/libexec/sftp-server/Makefile user/ngie/stable-10-libnv/secure/libexec/ssh-keysign/Makefile user/ngie/stable-10-libnv/secure/libexec/ssh-pkcs11-helper/Makefile user/ngie/stable-10-libnv/secure/usr.bin/scp/Makefile user/ngie/stable-10-libnv/secure/usr.bin/sftp/Makefile user/ngie/stable-10-libnv/secure/usr.bin/ssh-add/Makefile user/ngie/stable-10-libnv/secure/usr.bin/ssh-agent/Makefile user/ngie/stable-10-libnv/secure/usr.bin/ssh-keygen/Makefile user/ngie/stable-10-libnv/secure/usr.bin/ssh-keyscan/Makefile user/ngie/stable-10-libnv/secure/usr.bin/ssh/Makefile user/ngie/stable-10-libnv/secure/usr.sbin/sshd/Makefile user/ngie/stable-10-libnv/share/man/man4/mps.4 user/ngie/stable-10-libnv/share/man/man4/rights.4 user/ngie/stable-10-libnv/share/vt/keymaps/gr.101.acc.kbd user/ngie/stable-10-libnv/share/vt/keymaps/gr.elot.acc.kbd user/ngie/stable-10-libnv/share/vt/keymaps/hu.101.kbd user/ngie/stable-10-libnv/share/vt/keymaps/hu.102.kbd user/ngie/stable-10-libnv/share/vt/keymaps/lt.kbd user/ngie/stable-10-libnv/share/vt/keymaps/pt.acc.kbd user/ngie/stable-10-libnv/share/vt/keymaps/pt.kbd user/ngie/stable-10-libnv/share/vt/keymaps/ua.kbd user/ngie/stable-10-libnv/share/vt/keymaps/ua.shift.alt.kbd user/ngie/stable-10-libnv/sys/amd64/amd64/elf_machdep.c user/ngie/stable-10-libnv/sys/amd64/amd64/machdep.c user/ngie/stable-10-libnv/sys/amd64/ia32/ia32_signal.c user/ngie/stable-10-libnv/sys/amd64/linux32/linux.h user/ngie/stable-10-libnv/sys/amd64/linux32/linux32_dummy.c user/ngie/stable-10-libnv/sys/amd64/linux32/linux32_genassym.c user/ngie/stable-10-libnv/sys/amd64/linux32/linux32_locore.s user/ngie/stable-10-libnv/sys/amd64/linux32/linux32_machdep.c user/ngie/stable-10-libnv/sys/amd64/linux32/linux32_proto.h user/ngie/stable-10-libnv/sys/amd64/linux32/linux32_syscall.h user/ngie/stable-10-libnv/sys/amd64/linux32/linux32_syscalls.c user/ngie/stable-10-libnv/sys/amd64/linux32/linux32_sysent.c user/ngie/stable-10-libnv/sys/amd64/linux32/linux32_systrace_args.c user/ngie/stable-10-libnv/sys/amd64/linux32/linux32_sysvec.c user/ngie/stable-10-libnv/sys/amd64/linux32/syscalls.master user/ngie/stable-10-libnv/sys/arm/arm/elf_machdep.c user/ngie/stable-10-libnv/sys/arm/arm/machdep.c user/ngie/stable-10-libnv/sys/boot/Makefile user/ngie/stable-10-libnv/sys/boot/Makefile.amd64 user/ngie/stable-10-libnv/sys/boot/efi/Makefile user/ngie/stable-10-libnv/sys/boot/efi/Makefile.inc user/ngie/stable-10-libnv/sys/boot/efi/libefi/Makefile user/ngie/stable-10-libnv/sys/boot/forth/loader.conf user/ngie/stable-10-libnv/sys/boot/forth/loader.rc user/ngie/stable-10-libnv/sys/boot/forth/menu.rc user/ngie/stable-10-libnv/sys/boot/forth/support.4th user/ngie/stable-10-libnv/sys/boot/i386/loader/Makefile user/ngie/stable-10-libnv/sys/boot/pc98/loader/Makefile user/ngie/stable-10-libnv/sys/boot/powerpc/ofw/Makefile user/ngie/stable-10-libnv/sys/boot/powerpc/ps3/Makefile user/ngie/stable-10-libnv/sys/boot/sparc64/loader/Makefile user/ngie/stable-10-libnv/sys/bsm/audit.h user/ngie/stable-10-libnv/sys/bsm/audit_domain.h user/ngie/stable-10-libnv/sys/bsm/audit_errno.h user/ngie/stable-10-libnv/sys/bsm/audit_fcntl.h user/ngie/stable-10-libnv/sys/bsm/audit_internal.h user/ngie/stable-10-libnv/sys/bsm/audit_kevents.h user/ngie/stable-10-libnv/sys/bsm/audit_record.h user/ngie/stable-10-libnv/sys/bsm/audit_socket_type.h user/ngie/stable-10-libnv/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c user/ngie/stable-10-libnv/sys/compat/freebsd32/freebsd32_misc.c user/ngie/stable-10-libnv/sys/compat/freebsd32/freebsd32_proto.h user/ngie/stable-10-libnv/sys/compat/freebsd32/freebsd32_syscall.h user/ngie/stable-10-libnv/sys/compat/freebsd32/freebsd32_syscalls.c user/ngie/stable-10-libnv/sys/compat/freebsd32/freebsd32_sysent.c user/ngie/stable-10-libnv/sys/compat/freebsd32/freebsd32_systrace_args.c user/ngie/stable-10-libnv/sys/compat/freebsd32/syscalls.master user/ngie/stable-10-libnv/sys/compat/ia32/ia32_sysvec.c user/ngie/stable-10-libnv/sys/compat/linprocfs/linprocfs.c user/ngie/stable-10-libnv/sys/compat/linsysfs/linsysfs.c user/ngie/stable-10-libnv/sys/compat/linux/check_error.d user/ngie/stable-10-libnv/sys/compat/linux/check_internal_locks.d user/ngie/stable-10-libnv/sys/compat/linux/linux_emul.c user/ngie/stable-10-libnv/sys/compat/linux/linux_emul.h user/ngie/stable-10-libnv/sys/compat/linux/linux_file.c user/ngie/stable-10-libnv/sys/compat/linux/linux_file.h user/ngie/stable-10-libnv/sys/compat/linux/linux_fork.c user/ngie/stable-10-libnv/sys/compat/linux/linux_futex.c user/ngie/stable-10-libnv/sys/compat/linux/linux_futex.h user/ngie/stable-10-libnv/sys/compat/linux/linux_getcwd.c user/ngie/stable-10-libnv/sys/compat/linux/linux_ioctl.c user/ngie/stable-10-libnv/sys/compat/linux/linux_ioctl.h user/ngie/stable-10-libnv/sys/compat/linux/linux_ipc.c user/ngie/stable-10-libnv/sys/compat/linux/linux_ipc.h user/ngie/stable-10-libnv/sys/compat/linux/linux_mib.c user/ngie/stable-10-libnv/sys/compat/linux/linux_mib.h user/ngie/stable-10-libnv/sys/compat/linux/linux_misc.c user/ngie/stable-10-libnv/sys/compat/linux/linux_misc.h user/ngie/stable-10-libnv/sys/compat/linux/linux_signal.c user/ngie/stable-10-libnv/sys/compat/linux/linux_signal.h user/ngie/stable-10-libnv/sys/compat/linux/linux_socket.c user/ngie/stable-10-libnv/sys/compat/linux/linux_socket.h user/ngie/stable-10-libnv/sys/compat/linux/linux_stats.c user/ngie/stable-10-libnv/sys/compat/linux/linux_sysctl.c user/ngie/stable-10-libnv/sys/compat/linux/linux_time.c user/ngie/stable-10-libnv/sys/compat/linux/linux_timer.c user/ngie/stable-10-libnv/sys/compat/linux/linux_timer.h user/ngie/stable-10-libnv/sys/compat/linux/linux_uid16.c user/ngie/stable-10-libnv/sys/compat/linux/linux_util.c user/ngie/stable-10-libnv/sys/compat/linux/linux_util.h user/ngie/stable-10-libnv/sys/compat/linux/stats_timing.d user/ngie/stable-10-libnv/sys/compat/svr4/svr4_misc.c user/ngie/stable-10-libnv/sys/compat/svr4/svr4_sysvec.c user/ngie/stable-10-libnv/sys/conf/files.amd64 user/ngie/stable-10-libnv/sys/conf/files.i386 user/ngie/stable-10-libnv/sys/conf/files.pc98 user/ngie/stable-10-libnv/sys/conf/newvers.sh user/ngie/stable-10-libnv/sys/dev/mlx5/device.h user/ngie/stable-10-libnv/sys/dev/mlx5/mlx5_en/en.h user/ngie/stable-10-libnv/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c user/ngie/stable-10-libnv/sys/dev/mlx5/mlx5_en/mlx5_en_main.c user/ngie/stable-10-libnv/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c user/ngie/stable-10-libnv/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c user/ngie/stable-10-libnv/sys/dev/mlx5/mlx5_en/mlx5_en_txrx.c user/ngie/stable-10-libnv/sys/dev/usb/controller/uhci.h user/ngie/stable-10-libnv/sys/dev/usb/serial/uftdi.c user/ngie/stable-10-libnv/sys/fs/devfs/devfs_vnops.c user/ngie/stable-10-libnv/sys/fs/ext2fs/ext2fs.h user/ngie/stable-10-libnv/sys/fs/nullfs/null_vnops.c user/ngie/stable-10-libnv/sys/fs/procfs/procfs_status.c user/ngie/stable-10-libnv/sys/fs/pseudofs/pseudofs.c user/ngie/stable-10-libnv/sys/i386/i386/elf_machdep.c user/ngie/stable-10-libnv/sys/i386/i386/machdep.c user/ngie/stable-10-libnv/sys/i386/ibcs2/ibcs2_sysvec.c user/ngie/stable-10-libnv/sys/i386/linux/linux.h user/ngie/stable-10-libnv/sys/i386/linux/linux_dummy.c user/ngie/stable-10-libnv/sys/i386/linux/linux_genassym.c user/ngie/stable-10-libnv/sys/i386/linux/linux_locore.s user/ngie/stable-10-libnv/sys/i386/linux/linux_machdep.c user/ngie/stable-10-libnv/sys/i386/linux/linux_proto.h user/ngie/stable-10-libnv/sys/i386/linux/linux_ptrace.c user/ngie/stable-10-libnv/sys/i386/linux/linux_syscall.h user/ngie/stable-10-libnv/sys/i386/linux/linux_syscalls.c user/ngie/stable-10-libnv/sys/i386/linux/linux_sysent.c user/ngie/stable-10-libnv/sys/i386/linux/linux_systrace_args.c user/ngie/stable-10-libnv/sys/i386/linux/linux_sysvec.c user/ngie/stable-10-libnv/sys/i386/linux/syscalls.master user/ngie/stable-10-libnv/sys/kern/capabilities.conf user/ngie/stable-10-libnv/sys/kern/imgact_aout.c user/ngie/stable-10-libnv/sys/kern/imgact_elf.c user/ngie/stable-10-libnv/sys/kern/init_main.c user/ngie/stable-10-libnv/sys/kern/init_sysent.c user/ngie/stable-10-libnv/sys/kern/kern_clock.c user/ngie/stable-10-libnv/sys/kern/kern_event.c user/ngie/stable-10-libnv/sys/kern/kern_exit.c user/ngie/stable-10-libnv/sys/kern/kern_proc.c user/ngie/stable-10-libnv/sys/kern/kern_racct.c user/ngie/stable-10-libnv/sys/kern/kern_resource.c user/ngie/stable-10-libnv/sys/kern/kern_thr.c user/ngie/stable-10-libnv/sys/kern/kern_thread.c user/ngie/stable-10-libnv/sys/kern/kern_time.c user/ngie/stable-10-libnv/sys/kern/p1003_1b.c user/ngie/stable-10-libnv/sys/kern/subr_prof.c user/ngie/stable-10-libnv/sys/kern/syscalls.c user/ngie/stable-10-libnv/sys/kern/syscalls.master user/ngie/stable-10-libnv/sys/kern/systrace_args.c user/ngie/stable-10-libnv/sys/kern/vfs_syscalls.c user/ngie/stable-10-libnv/sys/kgssapi/gss_impl.c user/ngie/stable-10-libnv/sys/mips/mips/elf_machdep.c user/ngie/stable-10-libnv/sys/mips/mips/freebsd32_machdep.c user/ngie/stable-10-libnv/sys/mips/mips/pm_machdep.c user/ngie/stable-10-libnv/sys/modules/Makefile user/ngie/stable-10-libnv/sys/modules/linprocfs/Makefile user/ngie/stable-10-libnv/sys/modules/linsysfs/Makefile user/ngie/stable-10-libnv/sys/modules/linux/Makefile user/ngie/stable-10-libnv/sys/modules/pseudofs/Makefile user/ngie/stable-10-libnv/sys/net/if_gif.c user/ngie/stable-10-libnv/sys/net/if_gre.c user/ngie/stable-10-libnv/sys/netinet/tcp_syncache.c user/ngie/stable-10-libnv/sys/netinet6/in6.c user/ngie/stable-10-libnv/sys/ofed/include/linux/compiler.h user/ngie/stable-10-libnv/sys/ofed/include/linux/file.h user/ngie/stable-10-libnv/sys/ofed/include/linux/kobject.h user/ngie/stable-10-libnv/sys/ofed/include/linux/linux_compat.c user/ngie/stable-10-libnv/sys/ofed/include/linux/types.h user/ngie/stable-10-libnv/sys/ofed/include/linux/workqueue.h user/ngie/stable-10-libnv/sys/powerpc/powerpc/elf32_machdep.c user/ngie/stable-10-libnv/sys/powerpc/powerpc/elf64_machdep.c user/ngie/stable-10-libnv/sys/powerpc/powerpc/exec_machdep.c user/ngie/stable-10-libnv/sys/security/audit/bsm_domain.c user/ngie/stable-10-libnv/sys/security/audit/bsm_errno.c user/ngie/stable-10-libnv/sys/security/audit/bsm_fcntl.c user/ngie/stable-10-libnv/sys/security/audit/bsm_socket_type.c user/ngie/stable-10-libnv/sys/security/audit/bsm_token.c user/ngie/stable-10-libnv/sys/sparc64/sparc64/elf_machdep.c user/ngie/stable-10-libnv/sys/sparc64/sparc64/machdep.c user/ngie/stable-10-libnv/sys/sys/capsicum.h user/ngie/stable-10-libnv/sys/sys/file.h user/ngie/stable-10-libnv/sys/sys/param.h user/ngie/stable-10-libnv/sys/sys/proc.h user/ngie/stable-10-libnv/sys/sys/stat.h user/ngie/stable-10-libnv/sys/sys/syscall.h user/ngie/stable-10-libnv/sys/sys/syscall.mk user/ngie/stable-10-libnv/sys/sys/syscallsubr.h user/ngie/stable-10-libnv/sys/sys/sysent.h user/ngie/stable-10-libnv/sys/sys/sysproto.h user/ngie/stable-10-libnv/sys/x86/include/specialreg.h user/ngie/stable-10-libnv/sys/x86/x86/identcpu.c user/ngie/stable-10-libnv/sys/xen/xenbus/xenbusb.c user/ngie/stable-10-libnv/tests/sys/Makefile user/ngie/stable-10-libnv/tests/sys/aio/aio_kqueue_test.c user/ngie/stable-10-libnv/tests/sys/aio/lio_kqueue_test.c user/ngie/stable-10-libnv/tests/sys/kern/Makefile user/ngie/stable-10-libnv/tests/sys/kern/pipe/pipe_overcommit1_test.c user/ngie/stable-10-libnv/tests/sys/kern/ptrace_test.c user/ngie/stable-10-libnv/tests/sys/kern/unix_seqpacket_test.c user/ngie/stable-10-libnv/tools/regression/lib/msun/Makefile user/ngie/stable-10-libnv/tools/regression/mac/mac_bsdextended/test_matches.sh user/ngie/stable-10-libnv/tools/regression/mac/mac_bsdextended/test_ugidfw.c user/ngie/stable-10-libnv/usr.bin/bmake/Makefile user/ngie/stable-10-libnv/usr.bin/calendar/parsedata.c user/ngie/stable-10-libnv/usr.bin/colldef/parse.y user/ngie/stable-10-libnv/usr.bin/dtc/dtb.hh user/ngie/stable-10-libnv/usr.bin/indent/indent.1 user/ngie/stable-10-libnv/usr.bin/kdump/kdump.c user/ngie/stable-10-libnv/usr.bin/locale/locale.c user/ngie/stable-10-libnv/usr.bin/mkimg/mkimg.1 user/ngie/stable-10-libnv/usr.bin/mt/mt.c user/ngie/stable-10-libnv/usr.bin/netstat/flowtable.c user/ngie/stable-10-libnv/usr.bin/netstat/if.c user/ngie/stable-10-libnv/usr.bin/netstat/inet.c user/ngie/stable-10-libnv/usr.bin/netstat/inet6.c user/ngie/stable-10-libnv/usr.bin/netstat/ipsec.c user/ngie/stable-10-libnv/usr.bin/netstat/main.c user/ngie/stable-10-libnv/usr.bin/netstat/mbuf.c user/ngie/stable-10-libnv/usr.bin/netstat/mroute.c user/ngie/stable-10-libnv/usr.bin/netstat/mroute6.c user/ngie/stable-10-libnv/usr.bin/netstat/netstat.h user/ngie/stable-10-libnv/usr.bin/netstat/sctp.c user/ngie/stable-10-libnv/usr.bin/patch/pch.c user/ngie/stable-10-libnv/usr.bin/pr/egetopt.c user/ngie/stable-10-libnv/usr.bin/sed/compile.c user/ngie/stable-10-libnv/usr.bin/sockstat/sockstat.c user/ngie/stable-10-libnv/usr.bin/vgrind/regexp.c user/ngie/stable-10-libnv/usr.sbin/bhyve/bhyverun.c user/ngie/stable-10-libnv/usr.sbin/bhyve/pci_emul.c user/ngie/stable-10-libnv/usr.sbin/bsdconfig/bsdconfig user/ngie/stable-10-libnv/usr.sbin/bsdconfig/console/INDEX user/ngie/stable-10-libnv/usr.sbin/bsdconfig/share/sysrc.subr user/ngie/stable-10-libnv/usr.sbin/camdd/camdd.c user/ngie/stable-10-libnv/usr.sbin/config/config.h user/ngie/stable-10-libnv/usr.sbin/ctld/ctld.c user/ngie/stable-10-libnv/usr.sbin/fwcontrol/fwmpegts.c user/ngie/stable-10-libnv/usr.sbin/gssd/gssd.c user/ngie/stable-10-libnv/usr.sbin/jail/command.c user/ngie/stable-10-libnv/usr.sbin/jail/jailp.h user/ngie/stable-10-libnv/usr.sbin/jail/jailparse.y user/ngie/stable-10-libnv/usr.sbin/jls/jls.c user/ngie/stable-10-libnv/usr.sbin/kbdcontrol/kbdmap.5 user/ngie/stable-10-libnv/usr.sbin/kbdmap/kbdmap.c user/ngie/stable-10-libnv/usr.sbin/mailwrapper/mailwrapper.8 user/ngie/stable-10-libnv/usr.sbin/mailwrapper/mailwrapper.c user/ngie/stable-10-libnv/usr.sbin/makefs/cd9660.c user/ngie/stable-10-libnv/usr.sbin/mfiutil/mfiutil.8 user/ngie/stable-10-libnv/usr.sbin/nandsim/nandsim.8 user/ngie/stable-10-libnv/usr.sbin/nandsim/nandsim.c user/ngie/stable-10-libnv/usr.sbin/nandsim/nandsim_cfgparse.c user/ngie/stable-10-libnv/usr.sbin/ndp/ndp.c user/ngie/stable-10-libnv/usr.sbin/newsyslog/newsyslog.c user/ngie/stable-10-libnv/usr.sbin/pmcstudy/eval_expr.c user/ngie/stable-10-libnv/usr.sbin/ppp/ip.c user/ngie/stable-10-libnv/usr.sbin/ppp/ppp.8 user/ngie/stable-10-libnv/usr.sbin/rtsold/rtsold.h user/ngie/stable-10-libnv/usr.sbin/syslogd/syslogd.8 user/ngie/stable-10-libnv/usr.sbin/syslogd/syslogd.c user/ngie/stable-10-libnv/usr.sbin/uefisign/magic.h user/ngie/stable-10-libnv/usr.sbin/uefisign/pe.c user/ngie/stable-10-libnv/usr.sbin/ypbind/ypbind.c user/ngie/stable-10-libnv/usr.sbin/ypserv/ypinit.sh Directory Properties: user/ngie/stable-10-libnv/ (props changed) user/ngie/stable-10-libnv/sys/gnu/dts/ (props changed) Modified: user/ngie/stable-10-libnv/Makefile.inc1 ============================================================================== --- user/ngie/stable-10-libnv/Makefile.inc1 Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/Makefile.inc1 Sat Jan 9 23:22:28 2016 (r293618) @@ -116,6 +116,7 @@ CLEANDIR= cleandir .endif LOCAL_TOOL_DIRS?= +PACKAGEDIR?= ${DESTDIR}/${DISTDIR} BUILDENV_SHELL?=/bin/sh @@ -915,11 +916,11 @@ packageworld: ${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \ tar cvf - --exclude usr/lib/debug \ @${DESTDIR}/${DISTDIR}/${dist}.meta | \ - ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/${dist}.txz + ${XZ_CMD} > ${PACKAGEDIR}/${dist}.txz .else ${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \ tar cvf - --exclude usr/lib/debug . | \ - ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/${dist}.txz + ${XZ_CMD} > ${PACKAGEDIR}/${dist}.txz .endif .endfor @@ -928,11 +929,11 @@ packageworld: . if defined(NO_ROOT) ${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \ tar cvf - @${DESTDIR}/${DISTDIR}/${dist}.debug.meta | \ - ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/${dist}.debug.txz + ${XZ_CMD} > ${PACKAGEDIR}/${dist}.debug.txz . else ${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \ tar cvLf - usr/lib/debug | \ - ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/${dist}-debug.txz + ${XZ_CMD} > ${PACKAGEDIR}/${dist}-debug.txz . endif . endfor .endif @@ -1011,10 +1012,15 @@ KERNCONFDIR?= ${KRNLCONFDIR} BUILDKERNELS= INSTALLKERNEL= +NO_INSTALLEXTRAKERNELS=yes +.if defined(NO_INSTALLKERNEL) +# All of the BUILDKERNELS loops start at index 1. +BUILDKERNELS+= dummy +.endif .for _kernel in ${KERNCONF} .if exists(${KERNCONFDIR}/${_kernel}) BUILDKERNELS+= ${_kernel} -.if empty(INSTALLKERNEL) +.if empty(INSTALLKERNEL) && !defined(NO_INSTALLKERNEL) INSTALLKERNEL= ${_kernel} .endif .endif @@ -1028,12 +1034,12 @@ ${WMAKE_TGTS:N_worldtmp:Nbuild32} ${.ALL # Builds all kernels defined by BUILDKERNELS. # buildkernel: .MAKE .PHONY -.if empty(BUILDKERNELS) +.if empty(BUILDKERNELS:Ndummy) @echo "ERROR: Missing kernel configuration file(s) (${KERNCONF})."; \ false .endif @echo -.for _kernel in ${BUILDKERNELS} +.for _kernel in ${BUILDKERNELS:Ndummy} @echo "--------------------------------------------------------------" @echo ">>> Kernel build for ${_kernel} started on `LC_ALL=C date`" @echo "--------------------------------------------------------------" @@ -1092,6 +1098,7 @@ buildkernel: .MAKE .PHONY # installkernel installkernel.debug \ reinstallkernel reinstallkernel.debug: _installcheck_kernel +.if !defined(NO_INSTALLKERNEL) .if empty(INSTALLKERNEL) @echo "ERROR: No kernel \"${KERNCONF}\" to install."; \ false @@ -1102,8 +1109,20 @@ reinstallkernel reinstallkernel.debug: _ cd ${KRNLOBJDIR}/${INSTALLKERNEL}; \ ${CROSSENV} PATH=${TMPPATH} \ ${MAKE} ${IMAKE_INSTALL} KERNEL=${INSTKERNNAME} ${.TARGET:S/kernel//} +.endif +.if ${BUILDKERNELS:[#]} > 1 && !defined(NO_INSTALLEXTRAKERNELS) +.for _kernel in ${BUILDKERNELS:[2..-1]} + @echo "--------------------------------------------------------------" + @echo ">>> Installing kernel ${_kernel}" + @echo "--------------------------------------------------------------" + cd ${KRNLOBJDIR}/${_kernel}; \ + ${CROSSENV} PATH=${TMPPATH} \ + ${MAKE} ${IMAKE_INSTALL} KERNEL=${INSTKERNNAME}.${_kernel} ${.TARGET:S/kernel//} +.endfor +.endif distributekernel distributekernel.debug: +.if !defined(NO_INSTALLKERNEL) .if empty(INSTALLKERNEL) @echo "ERROR: No kernel \"${KERNCONF}\" to install."; \ false @@ -1121,7 +1140,9 @@ distributekernel distributekernel.debug: sed -e 's|^./kernel|.|' ${DESTDIR}/${DISTDIR}/kernel.premeta > \ ${DESTDIR}/${DISTDIR}/kernel.meta .endif -.for _kernel in ${BUILDKERNELS:S/${INSTALLKERNEL}//} +.endif +.if ${BUILDKERNELS:[#]} > 1 && !defined(NO_INSTALLEXTRAKERNELS) +.for _kernel in ${BUILDKERNELS:[2..-1]} .if defined(NO_ROOT) echo "#${MTREE_MAGIC}" > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.premeta .endif @@ -1137,27 +1158,36 @@ distributekernel distributekernel.debug: ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta .endif .endfor +.endif packagekernel: .if defined(NO_ROOT) +.if !defined(NO_INSTALLKERNEL) cd ${DESTDIR}/${DISTDIR}/kernel; \ tar cvf - @${DESTDIR}/${DISTDIR}/kernel.meta | \ - ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.txz -.for _kernel in ${BUILDKERNELS:S/${INSTALLKERNEL}//} + ${XZ_CMD} > ${PACKAGEDIR}/kernel.txz +.endif +.if ${BUILDKERNELS:[#]} > 1 && !defined(NO_INSTALLEXTRAKERNELS) +.for _kernel in ${BUILDKERNELS:[2..-1]} cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \ tar cvf - @${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta | \ - ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.txz + ${XZ_CMD} > ${PACKAGEDIR}/kernel.${_kernel}.txz .endfor +.endif .else +.if !defined(NO_INSTALLKERNEL) cd ${DESTDIR}/${DISTDIR}/kernel; \ tar cvf - . | \ - ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.txz -.for _kernel in ${BUILDKERNELS:S/${INSTALLKERNEL}//} + ${XZ_CMD} > ${PACKAGEDIR}/kernel.txz +.endif +.if ${BUILDKERNELS:[#]} > 1 && !defined(NO_INSTALLEXTRAKERNELS) +.for _kernel in ${BUILDKERNELS:[2..-1]} cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \ tar cvf - . | \ - ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.txz + ${XZ_CMD} > ${PACKAGEDIR}/kernel.${_kernel}.txz .endfor .endif +.endif # # doxygen Modified: user/ngie/stable-10-libnv/UPDATING ============================================================================== --- user/ngie/stable-10-libnv/UPDATING Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/UPDATING Sat Jan 9 23:22:28 2016 (r293618) @@ -26,6 +26,11 @@ older version of current is a bit fragil Kernel modules isp_2400_multi and isp_2500_multi were removed and should be replaced with isp_2400 and isp_2500 modules respectively. +20150806: + The menu.rc and loader.rc files will now be replaced during + upgrades. Please migrate local changes to menu.rc.local and + loader.rc.local instead. + 20151026: NTP has been upgraded to 4.2.8p4. Modified: user/ngie/stable-10-libnv/bin/csh/config_p.h ============================================================================== --- user/ngie/stable-10-libnv/bin/csh/config_p.h Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/bin/csh/config_p.h Sat Jan 9 23:22:28 2016 (r293618) @@ -9,7 +9,7 @@ #ifndef _h_config #define _h_config -/****************** System dependant compilation flags ****************/ +/****************** System dependent compilation flags ****************/ /* * POSIX This system supports IEEE Std 1003.1-1988 (POSIX). */ Modified: user/ngie/stable-10-libnv/bin/pax/pat_rep.c ============================================================================== --- user/ngie/stable-10-libnv/bin/pax/pat_rep.c Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/bin/pax/pat_rep.c Sat Jan 9 23:22:28 2016 (r293618) @@ -878,7 +878,7 @@ rep_name(char *name, int *nlen, int prnt * (the user already saw that substitution go by) */ pt = rephead; - (void)strcpy(buf1, name); + (void)strlcpy(buf1, name, sizeof(buf1)); inpt = buf1; outpt = nname; endpt = outpt + PAXPATHLEN; Modified: user/ngie/stable-10-libnv/contrib/bmake/ChangeLog ============================================================================== --- user/ngie/stable-10-libnv/contrib/bmake/ChangeLog Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/bmake/ChangeLog Sat Jan 9 23:22:28 2016 (r293618) @@ -1,3 +1,9 @@ +2015-12-20 Simon J. Gerraty + + * Makefile (MAKE_VERSION): 20151220 + Merge with NetBSD make, pick up + o suff.c: re-initialize suffNull when clearing suffixes. + 2015-12-01 Simon J. Gerraty * Makefile (MAKE_VERSION): 20151201 Modified: user/ngie/stable-10-libnv/contrib/bmake/Makefile ============================================================================== --- user/ngie/stable-10-libnv/contrib/bmake/Makefile Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/bmake/Makefile Sat Jan 9 23:22:28 2016 (r293618) @@ -1,7 +1,7 @@ -# $Id: Makefile,v 1.48 2015/12/02 00:36:42 sjg Exp $ +# $Id: Makefile,v 1.49 2015/12/20 22:54:40 sjg Exp $ # Base version on src date -MAKE_VERSION= 20151201 +MAKE_VERSION= 20151220 PROG= bmake Modified: user/ngie/stable-10-libnv/contrib/bmake/mk/ChangeLog ============================================================================== --- user/ngie/stable-10-libnv/contrib/bmake/mk/ChangeLog Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/bmake/mk/ChangeLog Sat Jan 9 23:22:28 2016 (r293618) @@ -1,3 +1,9 @@ +2015-12-12 Simon J. Gerraty + + * install-mk (MK_VERSION): 20151212 + * auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist. + only apply :tA to __objdir when comparing to .OBJDIR + 2015-11-14 Simon J. Gerraty * install-mk (MK_VERSION): 20151111 Modified: user/ngie/stable-10-libnv/contrib/bmake/mk/auto.obj.mk ============================================================================== --- user/ngie/stable-10-libnv/contrib/bmake/mk/auto.obj.mk Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/bmake/mk/auto.obj.mk Sat Jan 9 23:22:28 2016 (r293618) @@ -1,4 +1,4 @@ -# $Id: auto.obj.mk,v 1.11 2015/06/16 06:28:21 sjg Exp $ +# $Id: auto.obj.mk,v 1.12 2015/12/16 01:57:06 sjg Exp $ # # @(#) Copyright (c) 2004, Simon J. Gerraty # @@ -40,12 +40,12 @@ MKOBJDIRS= auto .if !defined(NOOBJ) && !defined(NO_OBJ) && ${MKOBJDIRS:Uno} == auto # Use __objdir here so it is easier to tweak without impacting # the logic. -.if !empty(MAKEOBJDIRPREFIX) && exists(${MAKEOBJDIRPREFIX}) +.if !empty(MAKEOBJDIRPREFIX) __objdir?= ${MAKEOBJDIRPREFIX}${.CURDIR} .endif __objdir?= ${MAKEOBJDIR:Uobj} -__objdir:= ${__objdir:tA} -.if ${.OBJDIR} != ${__objdir} +__objdir:= ${__objdir} +.if ${.OBJDIR:tA} != ${__objdir:tA} # We need to chdir, make the directory if needed .if !exists(${__objdir}/) && \ (${.TARGETS} == "" || ${.TARGETS:Nclean*:N*clean:Ndestroy*} != "") @@ -53,11 +53,10 @@ __objdir:= ${__objdir:tA} __objdir_made != echo ${__objdir}/; umask ${OBJDIR_UMASK:U002}; \ ${ECHO_TRACE} "[Creating objdir ${__objdir}...]" >&2; \ ${Mkdirs}; Mkdirs ${__objdir} -__objdir:= ${__objdir:tA} .endif # This causes make to use the specified directory as .OBJDIR .OBJDIR: ${__objdir} -.if ${.OBJDIR} != ${__objdir} && ${__objdir_made:Uno:M${__objdir}/*} != "" +.if ${.OBJDIR:tA} != ${__objdir:tA} && ${__objdir_made:Uno:M${__objdir}/*} != "" .error could not use ${__objdir}: .OBJDIR=${.OBJDIR} .endif .endif Modified: user/ngie/stable-10-libnv/contrib/bmake/mk/install-mk ============================================================================== --- user/ngie/stable-10-libnv/contrib/bmake/mk/install-mk Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/bmake/mk/install-mk Sat Jan 9 23:22:28 2016 (r293618) @@ -55,7 +55,7 @@ # Simon J. Gerraty # RCSid: -# $Id: install-mk,v 1.117 2015/11/14 18:09:57 sjg Exp $ +# $Id: install-mk,v 1.118 2015/12/16 01:57:06 sjg Exp $ # # @(#) Copyright (c) 1994 Simon J. Gerraty # @@ -70,7 +70,7 @@ # sjg@crufty.net # -MK_VERSION=20151111 +MK_VERSION=20151212 OWNER= GROUP= MODE=444 Modified: user/ngie/stable-10-libnv/contrib/bmake/os.sh ============================================================================== --- user/ngie/stable-10-libnv/contrib/bmake/os.sh Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/bmake/os.sh Sat Jan 9 23:22:28 2016 (r293618) @@ -17,7 +17,7 @@ # Simon J. Gerraty # RCSid: -# $Id: os.sh,v 1.49 2015/10/25 00:05:40 sjg Exp $ +# $Id: os.sh,v 1.50 2015/12/17 17:06:29 sjg Exp $ # # @(#) Copyright (c) 1994 Simon J. Gerraty # @@ -56,10 +56,10 @@ Which() { case "$1" in /*) test $t $1 && echo $1;; *) - # some shells cannot correctly handle `IFS` - # in conjunction with the for loop. - _dirs=`IFS=:; echo ${2:-$PATH}` - for d in $_dirs + # some shells cannot correctly handle `IFS` + # in conjunction with the for loop. + _dirs=`IFS=:; echo ${2:-$PATH}` + for d in $_dirs do test $t $d/$1 && { echo $d/$1; break; } done @@ -70,11 +70,11 @@ Which() { # tr is insanely non-portable wrt char classes, so we need to # spell out the alphabet. sed y/// would work too. toUpper() { - ${TR:-tr} abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ + ${TR:-tr} abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ } toLower() { - ${TR:-tr} ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz + ${TR:-tr} ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz } K= @@ -91,7 +91,7 @@ SunOS) export CHOWN # Great! Solaris keeps moving arch(1) - # should just bite the bullet and use uname -p + # should just bite the bullet and use uname -p arch=`Which arch /usr/bin:/usr/ucb` MAILER=/usr/ucb/Mail @@ -105,8 +105,8 @@ SunOS) MACHINE=$MACHINE_ARCH ;; 4*) - MACHINE_ARCH=`arch` - ;; + MACHINE_ARCH=`arch` + ;; 5*) K=-k LOCAL_FS=ufs @@ -116,8 +116,8 @@ SunOS) # overwriting an existing file!!!!! We want one that works! test -x /usr/xpg4/bin/ln && LN=${LN:-/usr/xpg4/bin/ln} # wonderful, 5.8's tr again require's []'s - # but /usr/xpg4/bin/tr causes problems if LC_COLLATE is set! - # use toUpper/toLower instead. + # but /usr/xpg4/bin/tr causes problems if LC_COLLATE is set! + # use toUpper/toLower instead. ;; esac case "$OS/$MACHINE_ARCH" in @@ -142,9 +142,9 @@ SunOS) SHARE_ARCH=$OS/$HOST ;; OpenBSD) - arch=`Which arch /usr/bin:/usr/ucb:$PATH` - MACHINE_ARCH=`$arch -s` - ;; + arch=`Which arch /usr/bin:/usr/ucb:$PATH` + MACHINE_ARCH=`$arch -s` + ;; esac NAWK=awk export NAWK @@ -218,17 +218,25 @@ export HOST_TARGET case `echo -n .` in -n*) N=; C="\c";; *) N=-n; C=;; esac -export HOSTNAME HOST +Echo() { + case "$1" in + -n) _n=$N _c=$C; shift;; + *) _n= _c=;; + esac + echo $_n "$@" $_c +} + +export HOSTNAME HOST export OS MACHINE MACHINE_ARCH OSREL OSMAJOR LOCAL_FS TMP_DIRS MAILER N C K PS_AXC export LN SHARE_ARCH TR case /$0 in */os.sh) - for v in $* + for v in $* do - eval vv=\$$v - echo "$v='$vv'" + eval vv=\$$v + echo "$v='$vv'" done - ;; + ;; esac Modified: user/ngie/stable-10-libnv/contrib/bmake/suff.c ============================================================================== --- user/ngie/stable-10-libnv/contrib/bmake/suff.c Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/bmake/suff.c Sat Jan 9 23:22:28 2016 (r293618) @@ -1,4 +1,4 @@ -/* $NetBSD: suff.c,v 1.74 2015/10/11 04:51:24 sjg Exp $ */ +/* $NetBSD: suff.c,v 1.75 2015/12/20 22:44:10 sjg Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: suff.c,v 1.74 2015/10/11 04:51:24 sjg Exp $"; +static char rcsid[] = "$NetBSD: suff.c,v 1.75 2015/12/20 22:44:10 sjg Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)suff.c 8.4 (Berkeley) 3/21/94"; #else -__RCSID("$NetBSD: suff.c,v 1.74 2015/10/11 04:51:24 sjg Exp $"); +__RCSID("$NetBSD: suff.c,v 1.75 2015/12/20 22:44:10 sjg Exp $"); #endif #endif /* not lint */ #endif @@ -553,7 +553,20 @@ Suff_ClearSuffixes(void) #endif sufflist = Lst_Init(FALSE); sNum = 0; - suffNull = emptySuff; + if (suffNull) + SuffFree(suffNull); + emptySuff = suffNull = bmake_malloc(sizeof(Suff)); + + suffNull->name = bmake_strdup(""); + suffNull->nameLen = 0; + suffNull->searchPath = Lst_Init(FALSE); + Dir_Concat(suffNull->searchPath, dirSearchPath); + suffNull->children = Lst_Init(FALSE); + suffNull->parents = Lst_Init(FALSE); + suffNull->ref = Lst_Init(FALSE); + suffNull->sNum = sNum++; + suffNull->flags = SUFF_NULL; + suffNull->refCount = 1; } /*- @@ -2524,32 +2537,18 @@ Suff_SetNull(char *name) void Suff_Init(void) { - sufflist = Lst_Init(FALSE); #ifdef CLEANUP suffClean = Lst_Init(FALSE); #endif srclist = Lst_Init(FALSE); transforms = Lst_Init(FALSE); - sNum = 0; /* * Create null suffix for single-suffix rules (POSIX). The thing doesn't * actually go on the suffix list or everyone will think that's its * suffix. */ - emptySuff = suffNull = bmake_malloc(sizeof(Suff)); - - suffNull->name = bmake_strdup(""); - suffNull->nameLen = 0; - suffNull->searchPath = Lst_Init(FALSE); - Dir_Concat(suffNull->searchPath, dirSearchPath); - suffNull->children = Lst_Init(FALSE); - suffNull->parents = Lst_Init(FALSE); - suffNull->ref = Lst_Init(FALSE); - suffNull->sNum = sNum++; - suffNull->flags = SUFF_NULL; - suffNull->refCount = 1; - + Suff_ClearSuffixes(); } Modified: user/ngie/stable-10-libnv/contrib/bsnmp/snmpd/main.c ============================================================================== --- user/ngie/stable-10-libnv/contrib/bsnmp/snmpd/main.c Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/bsnmp/snmpd/main.c Sat Jan 9 23:22:28 2016 (r293618) @@ -119,26 +119,30 @@ static struct lmodules modules_start = T struct community_list community_list = TAILQ_HEAD_INITIALIZER(community_list); /* list of all known USM users */ -struct usm_userlist usm_userlist = SLIST_HEAD_INITIALIZER(usm_userlist); +static struct usm_userlist usm_userlist = SLIST_HEAD_INITIALIZER(usm_userlist); /* A list of all VACM users configured, including v1, v2c and v3 */ -struct vacm_userlist vacm_userlist = SLIST_HEAD_INITIALIZER(vacm_userlist); +static struct vacm_userlist vacm_userlist = + SLIST_HEAD_INITIALIZER(vacm_userlist); /* A list of all VACM groups */ -struct vacm_grouplist vacm_grouplist = SLIST_HEAD_INITIALIZER(vacm_grouplist); +static struct vacm_grouplist vacm_grouplist = + SLIST_HEAD_INITIALIZER(vacm_grouplist); static struct vacm_group vacm_default_group = { .groupname = "", }; /* The list of configured access entries */ -struct vacm_accesslist vacm_accesslist = TAILQ_HEAD_INITIALIZER(vacm_accesslist); +static struct vacm_accesslist vacm_accesslist = + TAILQ_HEAD_INITIALIZER(vacm_accesslist); /* The list of configured views */ -struct vacm_viewlist vacm_viewlist = SLIST_HEAD_INITIALIZER(vacm_viewlist); +static struct vacm_viewlist vacm_viewlist = + SLIST_HEAD_INITIALIZER(vacm_viewlist); /* The list of configured contexts */ -struct vacm_contextlist vacm_contextlist = +static struct vacm_contextlist vacm_contextlist = SLIST_HEAD_INITIALIZER(vacm_contextlist); /* list of all installed object resources */ Modified: user/ngie/stable-10-libnv/contrib/bsnmp/snmpd/trap.c ============================================================================== --- user/ngie/stable-10-libnv/contrib/bsnmp/snmpd/trap.c Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/bsnmp/snmpd/trap.c Sat Jan 9 23:22:28 2016 (r293618) @@ -60,15 +60,15 @@ struct trapsink_list trapsink_list = TAILQ_HEAD_INITIALIZER(trapsink_list); /* List of target addresses */ -struct target_addresslist target_addresslist = +static struct target_addresslist target_addresslist = SLIST_HEAD_INITIALIZER(target_addresslist); /* List of target parameters */ -struct target_paramlist target_paramlist = +static struct target_paramlist target_paramlist = SLIST_HEAD_INITIALIZER(target_paramlist); /* List of notification targets */ -struct target_notifylist target_notifylist = +static struct target_notifylist target_notifylist = SLIST_HEAD_INITIALIZER(target_notifylist); static const struct asn_oid oid_begemotTrapSinkTable = Copied: user/ngie/stable-10-libnv/contrib/openbsm/.travis.yml (from r293617, stable/10/contrib/openbsm/.travis.yml) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/stable-10-libnv/contrib/openbsm/.travis.yml Sat Jan 9 23:22:28 2016 (r293618, copy of r293617, stable/10/contrib/openbsm/.travis.yml) @@ -0,0 +1,18 @@ +language: c + +compiler: + - clang + - gcc + +os: + - linux + - osx + +before_install: + - if [ $TRAVIS_OS_NAME == "linux" ]; then + sudo apt-get -qq update; + sudo apt-get -qq install byacc flex; + elif [ $TRAVIS_OS_NAME == "osx" ]; then + brew update; + brew install byacc flex; + fi Modified: user/ngie/stable-10-libnv/contrib/openbsm/INSTALL ============================================================================== --- user/ngie/stable-10-libnv/contrib/openbsm/INSTALL Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/openbsm/INSTALL Sat Jan 9 23:22:28 2016 (r293618) @@ -3,7 +3,7 @@ OpenBSM Build and Installation Instructi OpenBSM is currently built using autoconf and automake, which should allow for building on a range of operating systems, including FreeBSD, Mac OS X, and Linux. Some components are built only if appropriate kernel audit -suppport is found. Typical builds will be performed using: +support is found. Typical builds will be performed using: ./configure make @@ -31,7 +31,7 @@ not configurable. You may wish to specify that the OpenBSM components not be installed in the base system, rather in a specific directory. This may be done using the --prefix argument to configure. If installing to a specific directory, -remember to update your library path so that running tools from that +remember to update your library path so that when running tools from that directory the correct libbsm is used: ./configure --prefix=/home/rwatson/openbsm Modified: user/ngie/stable-10-libnv/contrib/openbsm/LICENSE ============================================================================== --- user/ngie/stable-10-libnv/contrib/openbsm/LICENSE Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/openbsm/LICENSE Sat Jan 9 23:22:28 2016 (r293618) @@ -34,5 +34,3 @@ as a whole: The TrustedBSD Project would appreciate the contribution of fixes and enhancements under an identical license in order to avoid potentially confusing license proliferation. - -$P4: //depot/projects/trustedbsd/openbsm/LICENSE#6 $ Modified: user/ngie/stable-10-libnv/contrib/openbsm/Makefile.am ============================================================================== --- user/ngie/stable-10-libnv/contrib/openbsm/Makefile.am Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/openbsm/Makefile.am Sat Jan 9 23:22:28 2016 (r293618) @@ -1,7 +1,3 @@ -## -## $P4: //depot/projects/trustedbsd/openbsm/Makefile.am#5 $ -## - SUBDIRS = \ bsm Modified: user/ngie/stable-10-libnv/contrib/openbsm/Makefile.in ============================================================================== --- user/ngie/stable-10-libnv/contrib/openbsm/Makefile.in Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/openbsm/Makefile.in Sat Jan 9 23:22:28 2016 (r293618) @@ -59,9 +59,9 @@ DIST_COMMON = README $(am__configure_dep $(top_srcdir)/config/config.sub \ $(top_srcdir)/config/install-sh $(top_srcdir)/config/ltmain.sh \ $(top_srcdir)/config/missing $(top_srcdir)/configure INSTALL \ - NEWS TODO config/config.guess config/config.sub config/depcomp \ - config/install-sh config/ltmain.sh config/missing \ - config/ylwrap + NEWS TODO config/compile config/config.guess config/config.sub \ + config/depcomp config/install-sh config/ltmain.sh \ + config/missing config/ylwrap ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ Modified: user/ngie/stable-10-libnv/contrib/openbsm/NEWS ============================================================================== --- user/ngie/stable-10-libnv/contrib/openbsm/NEWS Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/openbsm/NEWS Sat Jan 9 23:22:28 2016 (r293618) @@ -1,5 +1,16 @@ OpenBSM Version History +OpenBSM 1.2 alpha 4 + +- Fix praudit to emit correct XML. +- Fix auditdistd bugs related to IPv6 support, locking, and a kqueue-related + descriptor leak. +- Add audit event definitions for Capsicum-related syscalls, as well as + AUE_BINDAT and AUE_CONNECTAT. +- Manpage symlinks for all libbsm functions are installed again after the + move to autotools in OpenBSM 1.0 Alpha 5. +- A variety of minor documentation cleanups. + OpenBSM 1.2 alpha 3 - Various minor tweaks to the auditdistd build to make it fit the FreeBSD @@ -494,5 +505,3 @@ OpenBSM 1.0 alpha 1 - auditd(8), audit(8) added to the OpenBSM distribution. auditd extended to support reloading of kernel event table. - Allow comments in /etc/security configuration files. - -$P4: //depot/projects/trustedbsd/openbsm/NEWS#55 $ Modified: user/ngie/stable-10-libnv/contrib/openbsm/README ============================================================================== --- user/ngie/stable-10-libnv/contrib/openbsm/README Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/openbsm/README Sat Jan 9 23:22:28 2016 (r293618) @@ -1,4 +1,4 @@ -OpenBSM 1.2a2 +OpenBSM Introduction @@ -10,7 +10,7 @@ of several organizations. OpenBSM includes several command line tools, including auditreduce(8) and praudit(8) for reducing and printing audit trails, as well as the libbsm(3) library to manage configuration files, generate audit records, and parse and -print audit trils. +print audit trails. Coupled with a kernel audit implementation, OpenBSM can be used to maintain system audit streams, and is a foundation for a full audit-enabled system. @@ -64,5 +64,3 @@ Information on OpenBSM may be found on t Information on TrustedBSD may be found on the TrustedBSD home page: http://www.TrustedBSD.org/ - -$P4: //depot/projects/trustedbsd/openbsm/README#41 $ Modified: user/ngie/stable-10-libnv/contrib/openbsm/TODO ============================================================================== --- user/ngie/stable-10-libnv/contrib/openbsm/TODO Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/openbsm/TODO Sat Jan 9 23:22:28 2016 (r293618) @@ -7,8 +7,6 @@ OpenBSM TODO - Document contents of libbsm "public" data structures in libbsm man pages. - The audit.log.5 man page is incomplete, as it does not describe all token types. -- With the move to autoconf/automake, man page symlinks are no longer - installed. This needs to be fixed. - It might be desirable to be able to provide EOPNOTSUPP system call stubs on systems that don't have the necessary audit system calls; that would allow the full libbsm and tool set to build, just not run. @@ -23,5 +21,3 @@ OpenBSM TODO not available on the local OS platform. - Support for client certificates in auditdistd, to include certificate chain validation. - -$P4: //depot/projects/trustedbsd/openbsm/TODO#14 $ Modified: user/ngie/stable-10-libnv/contrib/openbsm/VERSION ============================================================================== --- user/ngie/stable-10-libnv/contrib/openbsm/VERSION Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/openbsm/VERSION Sat Jan 9 23:22:28 2016 (r293618) @@ -1 +1 @@ -OPENBSM_1_2_alpha3 +OPENBSM_1_2_alpha4 Modified: user/ngie/stable-10-libnv/contrib/openbsm/autogen.sh ============================================================================== --- user/ngie/stable-10-libnv/contrib/openbsm/autogen.sh Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/openbsm/autogen.sh Sat Jan 9 23:22:28 2016 (r293618) @@ -1,7 +1,4 @@ #!/bin/sh -# -# $P4: //depot/projects/trustedbsd/openbsm/autogen.sh#2 $ -# libtoolize --copy --force aclocal Modified: user/ngie/stable-10-libnv/contrib/openbsm/bin/Makefile.am ============================================================================== --- user/ngie/stable-10-libnv/contrib/openbsm/bin/Makefile.am Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/openbsm/bin/Makefile.am Sat Jan 9 23:22:28 2016 (r293618) @@ -1,7 +1,3 @@ -## -## $P4: //depot/projects/trustedbsd/openbsm/bin/Makefile.am#4 $ -## - SUBDIRS = \ auditdistd \ auditfilterd \ Modified: user/ngie/stable-10-libnv/contrib/openbsm/bin/audit/Makefile.am ============================================================================== --- user/ngie/stable-10-libnv/contrib/openbsm/bin/audit/Makefile.am Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/openbsm/bin/audit/Makefile.am Sat Jan 9 23:22:28 2016 (r293618) @@ -1,7 +1,3 @@ -## -## $P4: //depot/projects/trustedbsd/openbsm/bin/audit/Makefile.am#7 $ -## - if USE_NATIVE_INCLUDES INCLUDES = -I$(top_builddir) -I$(top_srcdir) else Modified: user/ngie/stable-10-libnv/contrib/openbsm/bin/audit/audit.8 ============================================================================== --- user/ngie/stable-10-libnv/contrib/openbsm/bin/audit/audit.8 Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/openbsm/bin/audit/audit.8 Sat Jan 9 23:22:28 2016 (r293618) @@ -25,9 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $P4: //depot/projects/trustedbsd/openbsm/bin/audit/audit.8#16 $ -.\" -.Dd January 29, 2009 +.Dd July 25, 2015 .Dt AUDIT 8 .Os .Sh NAME @@ -88,7 +86,7 @@ Audit policy file used to configure the .Xr audit 4 , .Xr audit_control 5 , .Xr auditd 8 , -.Xr launchd 8 +.Xr launchd 8 (Mac OS X) .Sh HISTORY The OpenBSM implementation was created by McAfee Research, the security division of McAfee Inc., under contract to Apple Computer Inc.\& in 2004. Modified: user/ngie/stable-10-libnv/contrib/openbsm/bin/audit/audit.c ============================================================================== --- user/ngie/stable-10-libnv/contrib/openbsm/bin/audit/audit.c Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/openbsm/bin/audit/audit.c Sat Jan 9 23:22:28 2016 (r293618) @@ -25,8 +25,6 @@ * 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. - * - * $P4: //depot/projects/trustedbsd/openbsm/bin/audit/audit.c#15 $ */ /* * Program to trigger the audit daemon with a message that is either: Modified: user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/Makefile.am ============================================================================== --- user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/Makefile.am Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/Makefile.am Sat Jan 9 23:22:28 2016 (r293618) @@ -1,7 +1,3 @@ -## -## $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/Makefile.am#6 $ -## - if USE_NATIVE_INCLUDES INCLUDES = -I$(top_builddir) -I$(top_srcdir) else Modified: user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/audit_triggers.defs ============================================================================== --- user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/audit_triggers.defs Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/audit_triggers.defs Sat Jan 9 23:22:28 2016 (r293618) @@ -1,5 +1 @@ -/* - * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/audit_triggers.defs#1 $ - */ - #include Modified: user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/audit_warn.c ============================================================================== --- user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/audit_warn.c Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/audit_warn.c Sat Jan 9 23:22:28 2016 (r293618) @@ -25,8 +25,6 @@ * 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. - * - * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/audit_warn.c#11 $ */ #include Modified: user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/auditd.8 ============================================================================== --- user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/auditd.8 Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/auditd.8 Sat Jan 9 23:22:28 2016 (r293618) @@ -25,9 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.8#19 $ -.\" -.Dd December 11, 2008 +.Dd July 25, 2015 .Dt AUDITD 8 .Os .Sh NAME @@ -123,7 +121,7 @@ and are no longer available as arguments .Xr audit_warn 5 , .Xr audit 8 , .Xr auditdistd 8 , -.Xr launchd 8 +.Xr launchd 8 (Mac OS X) .Sh HISTORY The OpenBSM implementation was created by McAfee Research, the security division of McAfee Inc., under contract to Apple Computer Inc.\& in 2004. Modified: user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/auditd.c ============================================================================== --- user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/auditd.c Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/auditd.c Sat Jan 9 23:22:28 2016 (r293618) @@ -25,8 +25,6 @@ * 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. - * - * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.c#50 $ */ #include Modified: user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/auditd.h ============================================================================== --- user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/auditd.h Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/auditd.h Sat Jan 9 23:22:28 2016 (r293618) @@ -25,8 +25,6 @@ * 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. - * - * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.h#13 $ */ #ifndef _AUDITD_H_ Modified: user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/auditd_control.defs ============================================================================== --- user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/auditd_control.defs Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/auditd_control.defs Sat Jan 9 23:22:28 2016 (r293618) @@ -25,8 +25,6 @@ * 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. - * - * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd_control.defs#2 $ */ /* Modified: user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/auditd_darwin.c ============================================================================== --- user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/auditd_darwin.c Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/auditd_darwin.c Sat Jan 9 23:22:28 2016 (r293618) @@ -25,8 +25,6 @@ * 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. - * - * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd_darwin.c#5 $ */ #include Modified: user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/auditd_fbsd.c ============================================================================== --- user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/auditd_fbsd.c Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/openbsm/bin/auditd/auditd_fbsd.c Sat Jan 9 23:22:28 2016 (r293618) @@ -25,8 +25,6 @@ * 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. - * - * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd_fbsd.c#4 $ */ #include Modified: user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/Makefile.am ============================================================================== --- user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/Makefile.am Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/Makefile.am Sat Jan 9 23:22:28 2016 (r293618) @@ -1,7 +1,3 @@ -## -## $P4: //depot/projects/trustedbsd/openbsm/bin/auditdistd/Makefile.am#1 $ -## - if USE_NATIVE_INCLUDES INCLUDES = -I$(top_builddir) -I$(top_srcdir) else Modified: user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/auditdistd.8 ============================================================================== --- user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/auditdistd.8 Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/auditdistd.8 Sat Jan 9 23:22:28 2016 (r293618) @@ -41,7 +41,7 @@ .Sh DESCRIPTION The .Nm -daemon is responsible for distributing audit trail files over TCP/IP network in +daemon is responsible for distributing audit trail files over a TCP/IP network in a secure and reliable way. .Pp The @@ -49,7 +49,7 @@ The daemon can be started with the following command line arguments: .Bl -tag -width ".Fl P Ar pidfile" .It Fl c Ar config -Specify alternative location of the configuration file. +Specify an alternative location of the configuration file. The default location is .Pa /etc/security/auditdistd.conf . Note: the configuration file may contain passwords. @@ -74,7 +74,7 @@ usage message. Start in a launchd-friendly mode, ie. do not use .Xr daemon 3 . .It Fl P Ar pidfile -Specify alternative location of a file where main process PID will be +Specify an alternative location of a file where main process PID will be stored. The default location is .Pa /var/run/auditdistd.pid . Modified: user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/auditdistd.c ============================================================================== --- user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/auditdistd.c Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/auditdistd.c Sat Jan 9 23:22:28 2016 (r293618) @@ -25,8 +25,6 @@ * 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. - * - * $P4: //depot/projects/trustedbsd/openbsm/bin/auditdistd/auditdistd.c#3 $ */ #include Modified: user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/auditdistd.conf.5 ============================================================================== --- user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/auditdistd.conf.5 Sat Jan 9 23:13:43 2016 (r293617) +++ user/ngie/stable-10-libnv/contrib/openbsm/bin/auditdistd/auditdistd.conf.5 Sat Jan 9 23:22:28 2016 (r293618) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 22, 2011 +.Dd July 1, 2015 .Dt AUDITDISTD.CONF 5 .Os .Sh NAME @@ -37,19 +37,21 @@ daemon. .Sh DESCRIPTION Note: the configuration file may contain passwords. -Care should be taken to configure proper permissions on this file -.Li ( eg. 0600 ) . +Care should be taken to configure proper permissions for this file +.Li ( e.g., 0600 ) . .Pp -Every line starting with # is treated as comment and ignored. +Every line starting with +.Li # +gets treated as a comment and is ignored. .Sh CONFIGURATION FILE SYNTAX -General syntax of the +The general syntax of the .Nm -file is following: -.Bd -literal -offset +file is as follows: +.Bd -literal ## Global section. # Our name. -# The default is first part of the hostname. +# The default is the first part of the hostname. name "" # Connection timeout. @@ -71,11 +73,11 @@ sender { # The default is /var/audit/dist. directory "" .\" -.\" # Checksum algorithm for data send over the wire. +.\" # Checksum algorithm for data sent over the wire. .\" # The default is none. .\" checksum "" .\" -.\" # Compression algorithm for data send over the wire. +.\" # Compression algorithm for data sent over the wire. .\" # The default is none. .\" compression "" @@ -86,7 +88,7 @@ sender { # Optional. source "" - # Address of auditdistd receiver. + # Address of the auditdistd receiver. # No default. Obligatory. remote "" @@ -95,7 +97,7 @@ sender { directory "" # Fingerprint of the receiver's public key when using TLS - # for connection. + # for connections. # Example fingerprint: # SHA256=8F:0A:FC:8A:3D:09:80:AF:D9:AA:38:CC:8A:86:53:E6:8F:B6:1C:55:30:14:D7:F9:AA:8B:3E:73:CD:F5:76:2B fingerprint "" @@ -103,37 +105,37 @@ sender { # Password used to authenticate in front of the receiver. password "" .\" -.\" # Checksum algorithm for data send over the wire. +.\" # Checksum algorithm for data sent over the wire. .\" # The default is none. .\" checksum "" .\" -.\" # Compression algorithm for data send over the wire. +.\" # Compression algorithm for data sent over the wire. .\" # The default is none. .\" compression "" } - # Currently local audit trail files can be send only to one remote + # Currently local audit trail files can be sent only to one remote # auditdistd receiver, but this can change in the future. } receiver { ## Receiver section. - # Address to listen on. Multiple listen addresses might be specified. + # Address to listen on. Multiple listen addresses may be specified. # The defaults are "tcp4://0.0.0.0:7878" and "tcp6://[::]:7878". listen "" *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@freebsd.org Sat Jan 9 23:49:12 2016 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 733BDA69D30 for ; Sat, 9 Jan 2016 23:49:12 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 28A3815CA; Sat, 9 Jan 2016 23:49:12 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u09NnB3v073432; Sat, 9 Jan 2016 23:49:11 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u09NnBXb073431; Sat, 9 Jan 2016 23:49:11 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201601092349.u09NnBXb073431@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sat, 9 Jan 2016 23:49:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r293623 - user/ngie/stable-10-fix-LINT-NOINET X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 Jan 2016 23:49:12 -0000 Author: ngie Date: Sat Jan 9 23:49:11 2016 New Revision: 293623 URL: https://svnweb.freebsd.org/changeset/base/293623 Log: Create a branch for fixing LINT.NO_INET since it's still broken Added: - copied from r293622, stable/10/ Directory Properties: user/ngie/stable-10-fix-LINT-NOINET/ (props changed)