OpenBSD src changes summary for 2016-07-10 to 2016-07-17 inclusive ==================================================================
bin/cat distrib/sets etc/examples/pkg.conf etc/rc games/factor lib/libc lib/libevent lib/libkvm lib/libssl lib/libtls lib/libutil libexec/ld.so libexec/spamd regress/lib regress/sys regress/usr.bin regress/usr.sbin sbin/mount sbin/route share/man share/misc sys/arch/amd64/amd64 sys/arch/amd64/conf sys/arch/amd64/include sys/arch/arm/arm sys/arch/arm/conf sys/arch/arm/include sys/arch/arm/mainbus sys/arch/arm/simplebus sys/arch/armv7/conf sys/arch/armv7/imx sys/arch/armv7/omap sys/arch/armv7/sunxi sys/arch/armv7/vexpress sys/arch/i386/eisa sys/arch/i386/i386 sys/arch/luna88k/luna88k sys/arch/octeon/conf sys/arch/octeon/dev sys/arch/octeon/include sys/arch/sparc/sparc sys/arch/sparc64/sparc64 sys/conf sys/dev sys/dev/acpi sys/dev/ic sys/dev/microcode sys/dev/mii sys/dev/ofw sys/dev/pci sys/dev/pv sys/dev/wscons sys/kern sys/net sys/netinet sys/netinet6 sys/netmpls sys/sys sys/tmpfs sys/ufs/ufs sys/uvm usr.bin/calendar usr.bin/compress usr.bin/dc usr.bin/doas usr.bin/ftp usr.bin/jot usr.bin/mandoc usr.bin/mg usr.bin/nc usr.bin/netstat usr.bin/openssl usr.bin/sed usr.bin/sendbug usr.bin/sort usr.bin/ssh usr.bin/tmux usr.sbin/bgpd usr.sbin/httpd usr.sbin/ldapd usr.sbin/ldpctl usr.sbin/ldpd usr.sbin/ntpd usr.sbin/route6d usr.sbin/syslogd usr.sbin/tcpdump == bin =============================================================== 01/12 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/bin cat ~ cat.1 > attempt to improve clarity by reducing forward references and more > directly documenting each option's effect. (tedu@) == distrib =========================================================== 02/12 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/distrib sets ~ lists/base/md.octeon > sync (visa@) ~ lists/base/md.alpha ~ lists/base/md.amd64 ~ lists/base/md.armish ~ lists/base/md.armv7 ~ lists/base/md.hppa ~ lists/base/md.i386 ~ lists/base/md.landisk ~ lists/base/md.loongson ~ lists/base/md.luna88k ~ lists/base/md.macppc ~ lists/base/md.octeon ~ lists/base/md.sgi ~ lists/base/md.socppc ~ lists/base/md.sparc ~ lists/base/md.sparc64 ~ lists/base/md.zaurus ~ lists/comp/mi > sync (deraadt@) ~ lists/base/md.alpha ~ lists/base/md.amd64 ~ lists/base/md.armish ~ lists/base/md.armv7 ~ lists/base/md.hppa ~ lists/base/md.i386 ~ lists/base/md.landisk ~ lists/base/md.loongson ~ lists/base/md.luna88k ~ lists/base/md.macppc ~ lists/base/md.octeon ~ lists/base/md.sgi ~ lists/base/md.socppc ~ lists/base/md.sparc ~ lists/base/md.sparc64 ~ lists/base/md.zaurus ~ lists/comp/mi > sync (deraadt@) == etc =============================================================== 03/12 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/etc examples/pkg.conf ~ examples/pkg.conf > sync (millert@) rc ~ rc > Fix detection of /usr/lib on NFS. > Found by Frank Scheiner, thanks for reporting this. > OK krw, halex > 'cool' deraadt (rpe@) == games ============================================================= 04/12 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/games factor ~ Makefile ~ factor.c > Instead of using the floating point square root, use an integer version > of the Newton method from ping.c. Fixes a rounding issue that caused > failure to factor numbers close to 2^64, e.g. 18446744030759878681. > While there, fix an off by one error that caused 4295360521 to be > reported as a prime. Issues reported by Paul Stoeber and Michael Bozon. > ok tedu, deraadt (tb@) == lib =============================================================== 05/12 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib libc ~ termios/tcsetpgrp.3 > Document that SIGTTOU is sent if the process is in the background. > Adapted from text from tcsetattr(3). (millert@) ~ gen/sysctl.3 > kern.usermount is currently a no-op; > ok deraadt (jmc@) libevent ~ event.3 > Talk about event API instead of libevent > Avoids inconsistent capitalization of libevent at start of sentence > suggested by and ok jmc@, ok bluhm@ (stefan@) libkvm ~ kvm.c > use offsetof to create an offset instead of illegal unaligned pointers > ok guenther (tedu@) libssl ~ src/ssl/s3_pkt.c > zero the read buffer after copying data to user so it doesn't linger. > ok beck (tedu@) ~ src/ssl/s23_srvr.c > Limit the support of the "backward compatible" ssl2 handshake to only be > used if TLS 1.0 is enabled. Sugessted/discussed with jsing@ and bcook@. > ok guenther@ sthen@ (beck@) ~ src/crypto/ocsp/ocsp_cl.c > Clean up OCSP_check_validity() a bit more. > - Return on first failure rather than continuing. > - Don't compare times by comparing strings that possibly were not parsable > as a time. > ok deraadt@ (beck@) ~ src/crypto/bn/bn_nist.c > Initialize buffers before use, noted by Kinichiro Inoguchi. > ok beck@ (bcook@) ~ src/crypto/objects/obj_dat.c > remove unused OPENSSL_NO_OBJECT case > ok tedu@ (bcook@) ~ src/crypto/bn/bn_nist.c > use memset to initialize the union (bcook@) libtls ~ tls_config.c ~ tls_init.3 ~ tls_internal.h > Split the existing TLS cipher suite groups into four: > "secure" (TLSv1.2+AEAD+PFS) > "compat" (HIGH:!aNULL) > "legacy" (HIGH:MEDIUM:!aNULL) > "insecure" (ALL:!aNULL:!eNULL) > This allows for flexibility and finer grained control, rather than having > two extremes (an issue raised by Marko Kreen some time ago). > ok beck@ tedu@ (jsing@) libutil ~ fmt_scaled.3 > Fix example: long long should be print with %lld (jca@) == libexec =========================================================== 06/12 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/libexec ld.so ~ boot.c ~ m88k/ldasm.S > Switch m88k to pass &_DYNAMIC to _dl_boot_bind() > probably works: this ASM pattern is already used for _dl_dtors (guenther@) spamd ~ spamd.c > Adjust existing tls_config_set_cipher() callers for TLS cipher group > changes - map the previous configuration to the equivalent in the new > groups. This will be revisited post release. > Discussed with beck@ (jsing@) == regress =========================================================== 07/12 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/regress lib ~ libc/regex/main.c > Fix usage() output and getopt sorting (guenther@) sys + netinet/pmtu/Makefile + netinet/pmtu/tcp_connect.py + netinet/pmtu/README + netinet/pmtu/LICENSE + netinet/pmtu/tcp_connect6.py + netinet/pmtu/udp_echo6.py > New import: > Add regression tests for the path MTU discovery implementation in ~ netinet/Makefile > Link path MTU discovery regress test into build. (bluhm@) ~ kern/kqueue/kqueue-process.c ~ kern/kqueue/kqueue-signal.c > Prevent silly states via knotes on pids > 2^32 and on nonexistent signals. > ok tedu@ (guenther@) usr.bin ~ ssh/sshcfgparse.sh > Correct equal in test. (dtucker@) usr.sbin ~ syslogd/args-tls-cafile-default.pl > Revert previous adaption of the test. The behavior change in libtls > has been backed out. (bluhm@) ~ syslogd/Makefile ~ syslogd/Server.pm + syslogd/args-server-tls-client-cert.pl + syslogd/args-server-tls-client-fake.pl > Add regression tests for syslogd TLS client certificates. (bluhm@) ~ syslogd/Syslogd.pm > Allow to run the syslogd tests as root without SUDO also if the > libevent method environment is set. (bluhm@) == sbin ============================================================== 08/12 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sbin mount ~ mount.8 > kern.usermount is currently a no-op; > ok deraadt (jmc@) route ~ show.c > Introduce RTF_MULTICAST and flag corresponding IPv6 routes as such > instead of abusing RTF_CLONING. > Fix a leak reporeted by Aaron Riekenberg on misc@, ok sthen@ (mpi@) == share ============================================================= 09/12 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/share man ~ man4/man4.octeon/cnmac.4 > Add CN61xx. (visa@) ~ man4/route.4 > Introduce RTF_MULTICAST and flag corresponding IPv6 routes as such > instead of abusing RTF_CLONING. > Fix a leak reporeted by Aaron Riekenberg on misc@, ok sthen@ (mpi@) ~ man4/icmp6.4 > Fix sockopt name: ICMPV6_FILTER -> ICMP6_FILTER (jca@) misc ~ airport > consistent spelling of "Moscow"; Ilya dot Kaliman at gmail dot com > (schwarze@) == sys =============================================================== 10/12 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys arch/amd64/amd64 ~ vmm.c > CPUID vendor ID was already register-swapped during initial query, so no > need to do it again. (mlarkin@) ~ vmm.c TAGGED OPENBSD_5_9 > Add the vmm bits of previous commit to 5.9 -stable branch: > Make sure that amap slot calculation does not overflow > This prevents too small amaps from being allocated by > forcing the allocation of a large number of slots. > Based on an analysis from Jesse Hertz and Tim Newsham. > This is a different patch for 5.9 that addresses the same > issue as r1.75 of uvm/uvm_amap.c. It also makes sure that > vmm(4) cannot make such large amap allocation requests. (stefan@) ~ acpi_machdep.c TAGGED OPENBSD_5_9 > Remove duplicate line in amd64/acpi_machdep.c > ok krw@ (tom@) ~ locore.S TAGGED OPENBSD_5_9 > remove some unused #includes (mlarkin@) ~ vmm.c TAGGED OPENBSD_5_9 > remove unused vmm_activate function. all vmm-specific suspend/resume needs > are handled during cpu hatch. (mlarkin@) ~ vmm.c TAGGED OPENBSD_5_9 > remove an unused parameter that wasn't handled during a previous refactor > (reducing the number of XXXs in vmm) (mlarkin@) arch/amd64/conf ~ GENERIC > A work-in-progress driver for the Hyper-V NetVSC > Network VSC is an RNDIS device using NVSP protocol to communicate > with the Hyper-V VMBus via VMBus channels and/or shared memory. The > code was ported from FreeBSD with some API changes and simplifications. > While the Rx path is nearly complete, packet transmition is not > implemented yet. > ok deraadt, mlarkin (mikeb@) ~ GENERIC > disable acpicbkbd by default until after the release when acpi ec > issues can be worked out, otherwise this driver will cause the > kernel to spin forever on certain chromebooks (jcs@) arch/amd64/include ~ specialreg.h > Fix an incorrect shift value when calculating the mask for the VMCS MSR > list storage size. Noticed when attempting to get vmm(4) to nest under > Hyper-V. (mlarkin@) arch/arm/arm ~ arm_machdep.c > Remove unused function process_frame() from arm_machdep.c > ok jsg@ (tom@) arch/arm/conf ~ files.arm > Hook up imxgpio(4) to the FDT gpio framework. > ok visa@, jsg@ (kettenis@) arch/arm/include ~ fdt.h > The "#address-cells" and "#size-cells" properties define the size > of the memory address and length information. The root node passes > this information down to the children and it can be overwritten by > other nodes inbetween. Pass these properties as part of the fdt > attach args, so that we can grab that information quickly inside > the drivers. > ok kettenis@ (patrick@) arch/arm/mainbus ~ mainbus.c > The "#address-cells" and "#size-cells" properties define the size > of the memory address and length information. The root node passes > this information down to the children and it can be overwritten by > other nodes inbetween. Pass these properties as part of the fdt > attach args, so that we can grab that information quickly inside > the drivers. > ok kettenis@ (patrick@) arch/arm/simplebus ~ simplebus.c > The "#address-cells" and "#size-cells" properties define the size > of the memory address and length information. The root node passes > this information down to the children and it can be overwritten by > other nodes inbetween. Pass these properties as part of the fdt > attach args, so that we can grab that information quickly inside > the drivers. > ok kettenis@ (patrick@) arch/armv7/conf ~ GENERIC ~ RAMDISK > Dynamically attach imxgpio(4) using the FDT. (kettenis@) ~ GENERIC > Turn ehci(4) glue code for the i.MX6 platform into its own imxehci(4) > driver > such that we can don't end up with conflicting attachments of other > SoC-specific glue code. > ok jsg@, patrick@ (kettenis@) ~ RAMDISK > Change over to imxehci(4) here as well. (kettenis@) ~ GENERIC ~ RAMDISK > Turn ahci(4) glue code for the i.MX6 platform into its own imxahci(4) > driver > such that we can don't end up with conflicting attachments of other > SoC-specific glue code. (kettenis@) arch/armv7/imx ~ if_fec.c ~ imxehci.c ~ imxesdhc.c ~ imxiic.c ~ imxiomuxc.c ~ imxiomuxcvar.h ~ imxuart.c > Add support for handling pinctrl device tree bindings to imxiomuxc(4). > These are used to do board-specific setup of mux settings and pad > configuration. > ok jsg@, patrick@ (kettenis@) ~ files.imx ~ imx.c ~ imxgpio.c > Dynamically attach imxgpio(4) using the FDT. (kettenis@) ~ imxiomuxc.c > Fix typo. Pointed out by patrick@ (kettenis@) ~ imxiomuxc.c > Not all i.MX6 devices have a pinctrl property in their device nodes. > In that case, soft fail and return instead of allocating buffer with > a bogus size. > ok kettenis@ (patrick@) ~ imxgpio.c > Hook up imxgpio(4) to the FDT gpio framework. > ok visa@, jsg@ (kettenis@) ~ imxesdhc.c > Use gpio framework to implement card detect instead of hardcoding > particular > gpios based on board IDs. > ok visa@, jsg@ (kettenis@) ~ if_fec.c > Use gpio framework to implement hardware reset of the PHY instead of > hardcoding particular gpios based on board IDs. > ok visa@, jsg@ (kettenis@) ~ files.imx ~ imxehci.c > Turn ehci(4) glue code for the i.MX6 platform into its own imxehci(4) > driver > such that we can don't end up with conflicting attachments of other > SoC-specific glue code. > ok jsg@, patrick@ (kettenis@) ~ files.imx ~ imxahci.c > Turn ahci(4) glue code for the i.MX6 platform into its own imxahci(4) > driver > such that we can don't end up with conflicting attachments of other > SoC-specific glue code. (kettenis@) ~ imxehci.c > Use the device tree voltage regulator information to supply power to the > USB > bus. For this only supports "fixed" regulators that are controlled through > a > gpio. But this covers all the case we currently handle with board ID > specific > code. Note that the old code did explicitly remove power first on some > boards, > which would reset bus-powered devices/hubs on the bus. The new code > doesn't do > this. If that causes problems we can revisit the issue. The boards that > would > be affected are sabrelight/nitrogen6x and utilite. > The plan is to evolve this into a generic regulator framework that supports > more complex regulator types as well. > ok jsg@, patrick@ (kettenis@) ~ if_fec.c > Do board-specific delay/skew corrections for the Micrel KSZ9021 and KSZ9031 > PHYs based on device tree properties instead of the board ID. Untested as > I don't have the hardware. > ok jsg@, patrick@ (kettenis@) arch/armv7/omap ~ am335x.c ~ omap3.c ~ omap4.c > Remove now unused definitions for drivers that have been converted to > use the fdt. (jsg@) ~ omap.c > Instead of attaching the omap device based on board ids follow imx > and match based on the compatible property of the root node in the fdt. > Each of am33xx, omap3, and omap4 have their own list of devices to > attach. (jsg@) ~ ommmc.c > Remove duplicated line in omap mmc driver, which would cause > clkbase to be set to 0 (if it wasn't all commented out anyway). > ok patrick@ (tom@) ~ prcm.c > Set function pointers based on the fdt root node instead of board ids. > ok kettenis@ (jsg@) ~ omgpio.c > Set function pointers based on the fdt root node instead of board ids. > ok kettenis@ on an earlier version (jsg@) ~ intc.c > use the fdt root node instead of board ids to test for am335x (jsg@) ~ if_cpsw.c ~ omap_com.c ~ ommmc.c ~ sitara_cm.c ~ sitara_cm.h ~ sitara_cmreg.h ~ ti_iic.c > Adapt kettenis' pinctrl changes in imx to sitaracm and > pinctrl-single,pins to handle mux settings and pad configuration. > The fdt data has offsets from the start of the pinmux address range so > the am335x specific pinmux offset from the scm base is added to the > offsets. This as not a new driver as sitaracm does manual table > driven pad configuration for gpio. If all the offsets in the > ti_padconf_devmap table were reduced by the am335x pinmux offset (0x800) > it may make sense to map only the pinmux memory region and not the > scm superset. > looks good kettenis@ (jsg@) arch/armv7/sunxi ~ sunxi.c > Attach sunxi(4) based on the compatible property of the root node of the > device tree like we do on omap. Add preliminary support for the sun5i > variant which corresponds to the A13 and A10s SoCs. > ok patrick@ (kettenis@) arch/armv7/vexpress ~ virtio_mmio.c > virtio: Move interrupt handler into transport specific code > For MSI-X (and also possibly for other transports), the interrupt > handler must do different things. Move it out of virtio.c and into > virtio_pci. > ARM part tested by patrick@ (sf@) arch/i386/eisa ~ eisa_machdep.c > remove some 12 year old code that was never correct, and never compiled > anyway due to a missing #include. > the code was originally intended to handle i386 SMP EISA machines with an > IOAPIC. Since the code never was compiled, and nobody has noticed or > complained for 12 years, I think things are probably fine. (mlarkin@) arch/i386/i386 ~ apicvec.s ~ locore.s > remove some unused #includes (mlarkin@) arch/luna88k/luna88k ~ machdep.c > Fix typo in comment in three machdep.c files: > s/names are this level/names at this level/ > from aalm@ - thanks (tom@) arch/octeon/conf ~ ld.script > Add $OpenBSD$ / replace $Id$ with $OpenBSD$. (visa@) arch/octeon/dev ~ cn30xxfau.c ~ cn30xxfauvar.h ~ cn30xxpow.c > Use the synciobdma instruction instead of the sync instruction for > flushing any pending local IOBDMA operations. The sync instruction is > overkill because it implies a full memory barrier. > ok jasper@ (long time ago) (visa@) ~ octeon_intr.c > Add $OpenBSD$ / replace $Id$ with $OpenBSD$. (visa@) arch/octeon/include ~ octeonvar.h > Use the synciobdma instruction instead of the sync instruction for > flushing any pending local IOBDMA operations. The sync instruction is > overkill because it implies a full memory barrier. > ok jasper@ (long time ago) (visa@) ~ octeonvar.h > Remove octeon_disable_interrupt() and octeon_restore_status(). > They are unused and equivalent to disableintr() and setsr(). > While here, clean up a few other leftovers. (visa@) ~ octeon_model.h > Add $OpenBSD$ / replace $Id$ with $OpenBSD$. (visa@) arch/sparc/sparc ~ machdep.c > Fix typo in comment in three machdep.c files: > s/names are this level/names at this level/ > from aalm@ - thanks (tom@) arch/sparc64/sparc64 ~ machdep.c > Fix typo in comment in three machdep.c files: > s/names are this level/names at this level/ > from aalm@ - thanks (tom@) conf ~ newvers.sh > take us out of -beta (deraadt@) dev ~ rnd.c > Remove unused re_nbits from dev/rnd.c > "another leftover of the bean counter" > od tedu@ deraadt@ (tom@) dev/acpi ~ acpireg.h > Rename apic_proc_uid field to acpi_proc_uid in the acpi_madt_x2apic struct. > It is the ACPI processor UID that is stored here. > ok guenther@ (kettenis@) ~ acpimadt.c > Pay attention to Processor Local X2APIC structures. ACPI 6.0 allows these > even for APIC ID values less than 255. Makes secondary CPUs attach on the > HP DL360 gen 9. > tested by jung@ > ok guenther@ (kettenis@) dev/ic ~ smc91cxx.c > remove unused function ether_cmp() > from tom (deraadt@) dev/microcode ~ atmel/Makefile ~ kue/Makefile ~ ral/Makefile ~ rum/Makefile ~ tusb3410/Makefile ~ udl/Makefile ~ zydas/Makefile > Build firmware for USB devices on octeon. > ok deraadt@ (visa@) dev/mii ~ miidevs > Add MICREL KSZ9021 and KSZ9031. (kettenis@) ~ miidevs.h > regen (kettenis@) ~ ukphy.c > Initialize oui and model fields in the softc. > ok deraadt@, mpi@ (kettenis@) dev/ofw + ofw_gpio.c + ofw_gpio.h > Add a simple framework for handling gpio controllers and pins on > FDT-enabled > platforms. > ok visa@, jsg@ (kettenis@) dev/pci ~ if_vio.c ~ vioblk.c ~ viomb.c ~ viornd.c ~ vioscsi.c ~ virtio.c ~ virtio_pci.c ~ virtiovar.h > virtio: Move interrupt handler into transport specific code > For MSI-X (and also possibly for other transports), the interrupt > handler must do different things. Move it out of virtio.c and into > virtio_pci. > ARM part tested by patrick@ (sf@) ~ vioblk.c ~ vioscsi.c ~ virtiovar.h > rename virtio_ops.intr to poll_intr > This describes more accurately what it is good for. > Also introduce a virtio_poll_intr macro. (sf@) ~ vioblk.c > vioblk: Properly handle poll timeout > The only way to ensure that the device does not do DMA for the timed out > request is a device reset. > Also increase the timeout to 15s (sf@) ~ virtioreg.h ~ virtio_pci.c > Support MSI-X in virtio > This increases performance for interrupt heavy loads. > While suspend/resume support for MSI-X is missing, this is also missing for > virtio. So no new issue there. > Currently, qemu's old "82441FX" pci-bridge is still blacklisted for MSI. > But > MSI-X is used if qemu is started with "-M q35". (sf@) dev/pv ~ files.pv + if_hvn.c + if_hvnreg.h + rndisreg.h > A work-in-progress driver for the Hyper-V NetVSC > Network VSC is an RNDIS device using NVSP protocol to communicate > with the Hyper-V VMBus via VMBus channels and/or shared memory. The > code was ported from FreeBSD with some API changes and simplifications. > While the Rx path is nearly complete, packet transmition is not > implemented yet. > ok deraadt, mlarkin (mikeb@) dev/wscons ~ wsmouse.c > Reset the mt state completely in wsmouse_mt_init. > ok kettenis@ (bru@) ~ wsmouse.c > remove <0 check for an unsigned variable > from tom (deraadt@) kern ~ kern_pledge.c > Paranoia: check KTRPOINT() before calling ktrpledge() to guarantee we > can't (in the future) loop from ktrace writing hitting a pledge condition. > diff from Michal Mazurek (akfaew (at) jasminek.net) (guenther@) ~ tty.c > POSIX specifies that if a processing calling tcsetpgrp() is in the > background it shall receive SIGTTOU. Handle TIOCSPGRP like we do > the other tty ioctls that change the terminal. OK deraadt@ guenther@ > (millert@) ~ kern_pledge.c > pledge: use uint64_t instead of int for temporary storing a 64bit integer > affects only 32 bits platform (like i386). > problem spotted and diff from pelikan@ > ok deraadt@ jca@ (semarie@) ~ kern_pledge.c > remove more noisy messages in "sendfd" and "recvfd" (deraadt@) ~ uipc_usrreq.c > The check for pledge "recvfd" was mistakenly only being performed > for chroot'd processes. > ok stefan semarie (deraadt@) ~ uipc_usrreq.c > in the great unp_gc rewrite, a null check was lost. we have spent some > time investigating and arguing about whether a NULL fp is a bug or not, > but what has become clear is that NULL fps get passed to unp_discard > and have been for quite some time. > restore old accomodating behavior by checking for null in unp_gc. > ok deraadt kettenis (tedu@) ~ vfs_syscalls.c > The only valid flag for unmount(2) is MNT_FORCE, ignore any others. > Fixes a crash when MNT_DOOMED is passed in the flags to unmount(2) > found by NCC Group. OK bluhm@ (millert@) ~ kern_event.c > kevent validates that ident is a valid fd by getting the file. one sad > quirk: uint64 to int32 truncation can lead to false positives, and then > later in the array sizing code, very big mallocs panic the kernel. > add a check that the ident isn't larger than INT_MAX in the fd case. > reported by Tim Newsham (tedu@) ~ kern_event.c TAGGED OPENBSD_5_9 > backport 1.73 > kevent validates that ident is a valid fd by getting the file. one sad > quirk: uint64 to int32 truncation can lead to false positives, and then > later in the array sizing code, very big mallocs panic the kernel. > add a check that the ident isn't larger than INT_MAX in the fd case. > reported by Tim Newsham (tedu@) ~ kern_event.c TAGGED OPENBSD_5_8 > backport 1.73 > kevent validates that ident is a valid fd by getting the file. one sad > quirk: uint64 to int32 truncation can lead to false positives, and then > later in the array sizing code, very big mallocs panic the kernel. > add a check that the ident isn't larger than INT_MAX in the fd case. > reported by Tim Newsham (tedu@) ~ kern_sig.c ~ kern_synch.c ~ kern_tc.c ~ kern_timeout.c TAGGED OPENBSD_5_9 > backport timeout overflow fixes: > fix several places where calculating ticks could overflow. > it's not enough to assign to an unsigned type because if the arithmetic > overflows the compiler may decide to do anything. so change all the > long long casts to uint64_t so that we start with the right type. > reported by Tim Newsham of NCC. > ok deraadt (tedu@) ~ kern_sig.c ~ kern_synch.c ~ kern_tc.c ~ kern_timeout.c TAGGED OPENBSD_5_8 > backport timeout overflow fixes: > fix several places where calculating ticks could overflow. > it's not enough to assign to an unsigned type because if the arithmetic > overflows the compiler may decide to do anything. so change all the > long long casts to uint64_t so that we start with the right type. > reported by Tim Newsham of NCC. > ok deraadt (tedu@) ~ uipc_mbuf.c ~ uipc_socket.c TAGGED OPENBSD_5_9 > backport splice loop fix: > On localhost a user program may create a socket splicing loop. > After writing data into this loop, it was spinning forever causing > a kernel hang. Detect the loop by counting how often the same mbuf > is spliced. If that happens 128 times, assume that there is a loop > and abort the splicing with ELOOP. > Bug found by tedu@; OK tedu@ millert@ benno@ (tedu@) ~ uipc_usrreq.c TAGGED OPENBSD_5_9 > backport 1.99: > in the great unp_gc rewrite, a null check was lost. we have spent some > time investigating and arguing about whether a NULL fp is a bug or not, > but what has become clear is that NULL fps get passed to unp_discard > and have been for quite some time. > restore old accomodating behavior by checking for null in unp_gc. > ok deraadt kettenis (tedu@) ~ kern_event.c ~ kern_sig.c TAGGED OPENBSD_5_9 > Prevent silly states via knotes on pids > 2^32 and on nonexistent signals. > ok tedu@ (guenther@) ~ vfs_syscalls.c ~ kern_sysctl.c TAGGED OPENBSD_5_9 > kern.usermount=1 is unsafe for everyone, since it allows any non-pledged > program to call the mount/umount system calls. There is no way any user > can be expected to keep their system safe / reliable with this feature. > Ignore setting to =1, and after release we'll delete the sysctl entirely. > ok lots of people (deraadt@) net ~ route.c ~ route.h ~ rtsock.c > Revert the introduction of ``rt_addr''. > Being able to add route entries without configured addresses is a nice > feature but this is not my fight. So I'd rather no add another pointer > to ``struct rtentry'' if I'm not removing another one. (mpi@) ~ if_spppsubr.c ~ route.c ~ route.h ~ rtsock.c > Path MTU discovery was slightly broken. I took two ICMP packets > to create and change the dynamic route. This behavior was introduced > in net/route.c rev 1.269 when the gateway route allocation was moved > from rt_setgateway() to _rtalloc(). So rtrequest(RTM_ADD) could > return a route without a valid gateway route. To fix this, call > rt_setgwroute() from _rtalloc() and rt_setgateway(). > OK mpi@ (bluhm@) ~ if.c ~ if_ethersubr.c > Directly drop packets filtered by bpf(4) instead of going through the > input handlers. > ok dlg@ (mpi@) ~ route.h > Introduce RTF_MULTICAST and flag corresponding IPv6 routes as such > instead of abusing RTF_CLONING. > Fix a leak reporeted by Aaron Riekenberg on misc@, ok sthen@ (mpi@) ~ if.c ~ netisr.h > Move ARP processing back to the KERNEL_LOCK()ed task until the race > triggered by updating a cached, but removed from the table, entry is > properly fixed. > Diff from dlg@, prodding deraadt@ (mpi@) ~ netisr.c ~ netisr.h TAGGED OPENBSD_5_9 > Backport ARP race fix: > Move ARP processing back to the KERNEL_LOCK()ed task until the race > triggered by updating a cached, but removed from the table, entry is > properly fixed. > Diff from dlg@, prodding deraadt@ (mpi@) netinet ~ if_ether.c > Revert the introduction of ``rt_addr''. > Being able to add route entries without configured addresses is a nice > feature but this is not my fight. So I'd rather no add another pointer > to ``struct rtentry'' if I'm not removing another one. (mpi@) ~ tcp_usrreq.c > Do not increase the size of the socket buffer under memory pressure. > From Simon Mages, ok beck@, claudio@, bluhm@ (mpi@) ~ if_ether.c > Introduce RTF_MULTICAST and flag corresponding IPv6 routes as such > instead of abusing RTF_CLONING. > Fix a leak reporeted by Aaron Riekenberg on misc@, ok sthen@ (mpi@) ~ if_ether.c > Move ARP processing back to the KERNEL_LOCK()ed task until the race > triggered by updating a cached, but removed from the table, entry is > properly fixed. > Diff from dlg@, prodding deraadt@ (mpi@) ~ tcp_output.c TAGGED OPENBSD_5_9 > backport splice loop fix: > On localhost a user program may create a socket splicing loop. > After writing data into this loop, it was spinning forever causing > a kernel hang. Detect the loop by counting how often the same mbuf > is spliced. If that happens 128 times, assume that there is a loop > and abort the splicing with ELOOP. > Bug found by tedu@; OK tedu@ millert@ benno@ (tedu@) ~ if_ether.c TAGGED OPENBSD_5_9 > Backport ARP race fix: > Move ARP processing back to the KERNEL_LOCK()ed task until the race > triggered by updating a cached, but removed from the table, entry is > properly fixed. > Diff from dlg@, prodding deraadt@ (mpi@) ~ if_ether.c TAGGED OPENBSD_5_9 > Prevent a use-after-free by not updating an ARP entry that has been > removed from the table. > Currently the storage for L2 addresses is freed when an entry is > removed from the table. That means that we cannot access this > chunk of memory between RTM_DELETE and rtfree(9). > Note that this doesn't apply to MPLS because the associated storage > is currently released by the last rtfree(9). > ok mikeb@ (mpi@) netinet6 ~ nd6.c ~ nd6.h > store nd6 expiries in the route, not separately in the llinfo struct. > this makes it more consistent with arp, and makes expiries visible > via route(8) get as well as ndp(8). > ok mpi@ florian@ (dlg@) ~ in6.c ~ nd6.c > Introduce RTF_MULTICAST and flag corresponding IPv6 routes as such > instead of abusing RTF_CLONING. > Fix a leak reporeted by Aaron Riekenberg on misc@, ok sthen@ (mpi@) ~ ip6_input.c > Drop received packets with an IPv4-compatible address as source or > destination as per RFC4213. > We're not in 1999 anymore, what was earlier a "stronger check than > RFC1933" is now a best practice. This matches the behavior of the > reject (R) routes added by default by netstart(8). > ok jca@, florian@, claudio@, bluhm@ (mpi@) netmpls ~ mpls_input.c > Revert the introduction of ``rt_addr''. > Being able to add route entries without configured addresses is a nice > feature but this is not my fight. So I'd rather no add another pointer > to ``struct rtentry'' if I'm not removing another one. (mpi@) sys ~ mbuf.h TAGGED OPENBSD_5_9 > backport splice loop fix: > On localhost a user program may create a socket splicing loop. > After writing data into this loop, it was spinning forever causing > a kernel hang. Detect the loop by counting how often the same mbuf > is spliced. If that happens 128 times, assume that there is a loop > and abort the splicing with ELOOP. > Bug found by tedu@; OK tedu@ millert@ benno@ (tedu@) ~ exec_elf.h TAGGED OPENBSD_5_9 > Add PT_GNU_RELRO, for ld.so work > ok millert@ kettenis@ (guenther@) tmpfs ~ tmpfs_vfsops.c > don't allow mounting with noval owner. panics later. > reported by Tim Newsham at NCC. > ok millert natano (tedu@) ufs/ufs ~ ufs_vnops.c > ufs_readdir() buffer was meant to be limited to 64kB; reversed test > permitted very big mallocs to panic the kernel. > reported by Tim Newsham > ok millert@ (guenther@) ~ ufs_vnops.c TAGGED OPENBSD_5_8 > backport 1.129 > ufs_readdir() buffer was meant to be limited to 64kB; reversed test > permitted very big mallocs to panic the kernel. > reported by Tim Newsham > ok millert@ (guenther@) ~ ufs_vnops.c TAGGED OPENBSD_5_9 > backport 1.129 > ufs_readdir() buffer was meant to be limited to 64kB; reversed test > permitted very big mallocs to panic the kernel. > reported by Tim Newsham > ok millert@ (guenther@) uvm ~ uvm_amap.c > Make sure variables are used initialized in amap_wiperange > Uninitialized variables used in an if/else could cause a slower > codepath to be taken, but the end effect of both paths is the same. > Found by jsg@ (stefan@) ~ uvm_mmap.c > Since mappings established using __MAP_NOFAIL will be converted into > anonymous > memory if the file backing the mapping is truncated, we should check > resource > limits. This prevents callers from triggering a kernel panic and a > potential > integer overflow in the amap code by forcing the allocation of too many > slots. > Based on an analysis from Jesse Hertz and Tim Newsham. > ok deraadt@ (kettenis@) ~ uvm_mmap.c > Revert previous; the __MAP_NOFAULT test is inverted and the commit message > is > wrong. (kettenis@) ~ uvm_mmap.c > Since mappings established using __MAP_NOFAULT will be converted into > anonymous > memory if the file backing the mapping is truncated, we should check > resource > limits. This prevents callers from triggering a kernel panic and a > potential > integer overflow in the amap code by forcing the allocation of too many > slots. > Based on an analysis from Jesse Hertz and Tim Newsham. > ok deraadt@ (kettenis@) ~ uvm_mmap.c TAGGED OPENBSD_5_9 > backport 1.137: > Since mappings established using __MAP_NOFAULT will be converted into > anonymous > memory if the file backing the mapping is truncated, we should check > resource > limits. This prevents callers from triggering a kernel panic and a > potential > integer overflow in the amap code by forcing the allocation of too many > slots. > Based on an analysis from Jesse Hertz and Tim Newsham. > ok deraadt@ (tedu@) ~ uvm_mmap.c TAGGED OPENBSD_5_8 > backport 1.137: > Since mappings established using __MAP_NOFAULT will be converted into > anonymous > memory if the file backing the mapping is truncated, we should check > resource > limits. This prevents callers from triggering a kernel panic and a > potential > integer overflow in the amap code by forcing the allocation of too many > slots. > Based on an analysis from Jesse Hertz and Tim Newsham. > ok deraadt@ (tedu@) ~ uvm_amap.c TAGGED OPENBSD_5_8 > Make sure that amap slot calculation does not overflow > This prevents from too small amaps being allocated by > forcing the allocation of a large number of slots. > Based on an analysis from Jesse Hertz and Tim Newsham. > ok kettenis@ (stefan@) ~ uvm_amap.c TAGGED OPENBSD_5_9 > backport r1.75: > Make sure that amap slot calculation does not overflow > This prevents too small amaps from being allocated by > forcing the allocation of a large number of slots. > Based on an analysis from Jesse Hertz and Tim Newsham. > This is a different patch for 5.9 that addresses the same > issue as r1.75 of uvm/uvm_amap.c. It also makes sure that > vmm(4) cannot make such large amap allocation requests. (stefan@) ~ uvm_amap.c TAGGED OPENBSD_5_8 > backport r1.75: > Make sure that amap slot calculation does not overflow > This prevents too small amaps from being allocated by > forcing the allocation of a large number of slots. > Based on an analysis from Jesse Hertz and Tim Newsham. > This is a different patch for 5.8 that addresses the same > issue as r1.75 (stefan@) == usr.bin =========================================================== 11/12 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin calendar ~ day.c > When matching a day in the month, make sure that the date is still > in the month we are interested in after calling mktime(3). This > fixes things like Sunday+5 for months where there is not a 5th > Sunday and the 31st day in months with less than 31 days. > From Andy Bradford (millert@) compress ~ main.c > make several program to use "chown" promise. > it allows chown(2) call to change the user or group on a file. > - usr.bin/compress : aka gzip > - usr.bin/mg : open a file for writing > - usr.bin/sed : inplace editing > - usr.bin/sort : if outfile equals one of the input files > ok deraadt@ tb@ > (and a reminder from Remi Locherer) > warning: in order to use it, you must have a recent kernel with the new > promise. (semarie@) dc ~ dc.c > getopt(3) can be called twice (once for bc and once for dc), so reinit > getopt > ok deraadt@ (otto@) doas ~ env.c > rename variable for consistency (tedu@) ~ doas.c > add "recvfd" to doas(1) for use with skey. > ok tb@ deraadt@ (semarie@) ftp ~ main.c > Adjust existing tls_config_set_cipher() callers for TLS cipher group > changes - map the previous configuration to the equivalent in the new > groups. This will be revisited post release. > Discussed with beck@ (jsing@) jot ~ jot.1 ~ jot.c > 1. Update manpage in view of the change of behavior I introduced in -r1.27. > The bounds are taken inclusive and -w %d doesn't change the output of > integer random sequences anymore. This is the same behavior as that > of Linux and NetBSD, but differs from FreeBSD and OS X. > Issue reported by Philippe Meunier on misc@. > 2 Fix a bug from the same commit observed by Otto: if the precision is 0, > values may be printed out of bounds. Fall back to the old behavior if at > least one bound isn't an integer. > General agreement expressed by otto@, tedu@, jmc@, sobrado@ > Help with checking other operating systems by sobrado@. > Manpage ok jmc@. > Bugfix discussed with otto@ on icb (tb@) ~ jot.1 > Remove now obsolete parenthetical explanation (should have been part of > previous commit). (tb@) mandoc ~ Makefile ~ cgi.c ~ man.cgi.8 > Simplify the code and the server setup by deleting the pseudo-manpath > "mandoc" that was used for man.cgi(8) documentation and by assuming > that the apropos(1) and man.cgi(8) manuals are simply installed in > the default manpath. Even though man.cgi(8) is not installed by > default when installing OpenBSD, it is easy to copy it into the > default manpath used for man.cgi(8). > Idea found when considering a question asked by wrant dot com. (schwarze@) ~ read.c > Fix a nasty typo that prevented .so links to gziped manuals > from working in the absence of a mandoc.db(5) database. > Found the hard way by Svyatoslav Mishyn on Crux Linux. (schwarze@) ~ cgi.c ~ man.cgi.8 > Make all components of the URI individually optional, > independent of each other, as in: > http://man.openbsd.org[/manpath][/mansec][/arch]/name[.sec] > The restrictions in the past kept confusing people. > Triggered by a question from RafaelNeves at gmail dot com. (schwarze@) ~ main.c ~ man_hash.c ~ mandocdb.c ~ mdoc_argv.c ~ mdoc_hash.c > add missing prototypes, no code change; > noticed by Christos Zoulas with -Wmissing-prototypes (schwarze@) ~ main.c > Fix previous: the mandocdb() prototype was already there, it just > hid among static functions, as noticed by tedu@ (my bad). (schwarze@) ~ main.c ~ main.h > To remove the const qualifier from a pointer to an object - either > because we know it is actually mutable or because we are passing > it to a function that doesn't accept a const object but won't > actually attempt to modify it - simply casting from (const type *) > to (type *) is legal C and clearly expresses the intent. > So get rid of the obfuscating UNCONST macro. > Basic idea discussed with guenther@. (schwarze@) mg ~ main.c > make several program to use "chown" promise. > it allows chown(2) call to change the user or group on a file. > - usr.bin/compress : aka gzip > - usr.bin/mg : open a file for writing > - usr.bin/sed : inplace editing > - usr.bin/sort : if outfile equals one of the input files > ok deraadt@ tb@ > (and a reminder from Remi Locherer) > warning: in order to use it, you must have a recent kernel with the new > promise. (semarie@) nc ~ netcat.c > Adjust existing tls_config_set_cipher() callers for TLS cipher group > changes - map the previous configuration to the equivalent in the new > groups. This will be revisited post release. > Discussed with beck@ (jsing@) netstat ~ show.c ~ netstat.1 > Introduce RTF_MULTICAST and flag corresponding IPv6 routes as such > instead of abusing RTF_CLONING. > Fix a leak reporeted by Aaron Riekenberg on misc@, ok sthen@ (mpi@) openssl ~ openssl.1 > since we no longer pull source directly from openssl, the time is > right to try and trim some of the excess from this page. begin now > by cutting some of the fluff from the start. > the section on pass phrase arguments goes to the end of the page: it;s in > the way for now. (jmc@) ~ openssl.1 > strip back asn1parse; ok beck jsing > description of -out altered on jsing's advice (jmc@) sed ~ main.c > make several program to use "chown" promise. > it allows chown(2) call to change the user or group on a file. > - usr.bin/compress : aka gzip > - usr.bin/mg : open a file for writing > - usr.bin/sed : inplace editing > - usr.bin/sort : if outfile equals one of the input files > ok deraadt@ tb@ > (and a reminder from Remi Locherer) > warning: in order to use it, you must have a recent kernel with the new > promise. (semarie@) sendbug ~ sendbug.1 > ross l richardson reports that an auto reply is no longer generated > on submission, so remove that sentence (correct me if this is wrong); > while here replace some mandoc chars; (jmc@) sort ~ sort.c > make several program to use "chown" promise. > it allows chown(2) call to change the user or group on a file. > - usr.bin/compress : aka gzip > - usr.bin/mg : open a file for writing > - usr.bin/sed : inplace editing > - usr.bin/sort : if outfile equals one of the input files > ok deraadt@ tb@ > (and a reminder from Remi Locherer) > warning: in order to use it, you must have a recent kernel with the new > promise. (semarie@) ssh ~ sshd_config > obsolete note about fascistloggin is obsolete. ok djm dtucker (tedu@) ~ clientloop.c > Add missing "recvfd" pledge promise: Raf Czlonka reported ssh coredumps > when Control* keywords were set in ssh_config. This patch also fixes > similar problems with scp and sftp. > ok deraadt, looks good to millert (tb@) ~ misc.c ~ misc.h ~ readconf.c ~ readconf.h ~ ssh.1 ~ ssh.c ~ ssh_config.5 > Add a ProxyJump ssh_config(5) option and corresponding -J ssh(1) > command-line flag to allow simplified indirection through a > SSH bastion or "jump host". > These options construct a proxy command that connects to the > specified jump host(s) (more than one may be specified) and uses > port-forwarding to establish a connection to the next destination. > This codifies the safest way of indirecting connections through SSH > servers and makes it easy to use. > ok markus@ (djm@) ~ log.c ~ log.h ~ packet.c > Reduce the syslog level of some relatively common protocol events > from LOG_CRIT by replacing fatal() calls with logdie(). Part of > bz#2585, ok djm@ (dtucker@) ~ scp.1 ~ sftp.1 ~ ssh.1 ~ ssh.c ~ ssh_config.5 > - add proxyjump to the options list > - formatting fixes > - update usage() > ok djm (jmc@) ~ ssh.c ~ sshconnect2.c > support UTF-8 characters in ssh(1) banners using schwarze@'s > safe fmprintf printer; bz#2058 > feedback schwarze@ ok dtucker@ (djm@) tmux ~ colour.c ~ grid.c ~ input.c ~ screen-redraw.c ~ screen-write.c ~ style.c ~ tmux.h ~ tty.c ~ window-clock.c > Instead of representing colours in several different forms with various > cell flags, convert to use an int with flags marking 256 or RGB colours > in the top byte (except in cells, which we don't want to make any > bigger). From Brad Town. (nicm@) ~ grid.c ~ screen-write.c ~ screen.c ~ tmux.h ~ tty.c > Don't update cells in each block of data read from a pane immediately, > instead track them as change (dirty) and update them once at the end, > saves much time if repeatedly writing the same cell. Also fix comparison > of cells being equal in a few places (memcmp is not enough). (nicm@) ~ names.c ~ layout-custom.c > Wrap some long lines and apply some static. (nicm@) ~ environ.c ~ tmux.h ~ window.c > Log environment to new panes. (nicm@) ~ environ.c ~ tmux.h ~ window.c > Tweak output of environment logging. (nicm@) == usr.sbin ========================================================== 12/12 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.sbin bgpd ~ printconf.c > output the no-longer-so-new AS operators when printing the > configuration > noticed by and diff from Denis Fondras, thanks! > ok phessler@ sthen@ (benno@) httpd ~ httpd.h > Adjust existing tls_config_set_cipher() callers for TLS cipher group > changes - map the previous configuration to the equivalent in the new > groups. This will be revisited post release. > Discussed with beck@ (jsing@) ldapd ~ parse.y > Adjust existing tls_config_set_cipher() callers for TLS cipher group > changes - map the previous configuration to the equivalent in the new > groups. This will be revisited post release. > Discussed with beck@ (jsing@) ldpctl ~ ldpctl.c > Improve logging of reserved labels. > Print "exp-null" and "imp-null" instead of "0" and "3", for example. Also, > remove print_label() and print_pw_type() from ldpctl.c and use the > equivalent functions from ldpd's log.c. > While here, be more paranoid and use UINT32_MAX instead of UINT_MAX > for NO_LABEL. (renato@) ldpd ~ ldpd.c > Update per-neighbor GTSM options on config reload. (renato@) ~ labelmapping.c > Explicitly ignore the Hop Count and Path Vector TLVs. > Since these are "well known" TLVs, we have to explicitly ignore them > otherwise ldpd would send "Unknown TLV" Notification messages when it > shouldn't. > Fixes regression caused by rev1.51. (renato@) ~ ldp.h ~ log.c ~ log.h ~ labelmapping.c > Improve logging of reserved labels. > Print "exp-null" and "imp-null" instead of "0" and "3", for example. Also, > remove print_label() and print_pw_type() from ldpctl.c and use the > equivalent functions from ldpd's log.c. > While here, be more paranoid and use UINT32_MAX instead of UINT_MAX > for NO_LABEL. (renato@) ~ hello.c ~ init.c ~ labelmapping.c ~ notification.c > Fix parsing of mal-formed optional TLVs/Sub-TLVs. > We must detect if a TLV's length extends beyond the end of the containing > message. And, if so, send a fatal "Bad TLV Length" notification message. > Found with the Mu Dynamics Mu-8000 protocol fuzzer. (renato@) ~ address.c ~ ldpe.h ~ packet.c > Remove potential overflow when validating message's length. > Also, use uint16_t for msg_type on gen_msg_hdr(). (renato@) ntpd ~ constraint.c > Adjust existing tls_config_set_cipher() callers for TLS cipher group > changes - map the previous configuration to the equivalent in the new > groups. This will be revisited post release. > Discussed with beck@ (jsing@) route6d ~ route6d.c > Introduce RTF_MULTICAST and flag corresponding IPv6 routes as such > instead of abusing RTF_CLONING. > Fix a leak reporeted by Aaron Riekenberg on misc@, ok sthen@ (mpi@) syslogd ~ syslogd.8 ~ syslogd.c > Add support for TLS client certificates in syslogd. This allows a > remote server to verify that the log messages from our syslogd are > authentic. > From Kapetanakis Giannis; man page input jmc@; OK jung@ deraadt@ (bluhm@) ~ syslogd.8 > Document that the syslogd options -c and -k must be used together. > OK jmc@ (bluhm@) ~ syslogd.c > Adjust existing tls_config_set_cipher() callers for TLS cipher group > changes - map the previous configuration to the equivalent in the new > groups. This will be revisited post release. > Discussed with beck@ (jsing@) tcpdump ~ interface.h ~ print-ether.c ~ print-mpls.c > Teach tcpdump to recognize MPLS pseudowire with control words. Added > support to print encapsulated ethernet packets as well. > "Looks good" deraadt@ (rzalamena@) =============================================================================== _______________________________________________ owc mailing list [email protected] http://www.squish.net/mailman/listinfo/owc
