OpenBSD src changes summary for 2017-07-30 to 2017-08-06 inclusive ==================================================================
bin/ksh distrib/common distrib/sets distrib/special etc/mtree/BSD.x11.dist gnu gnu/usr.bin/perl lib/libc lib/libcompiler_rt lib/libcrypto lib/libevent lib/libexpat lib/librthread lib/libssl lib/libtls lib/libunwind regress/lib regress/libexec regress/usr.sbin sbin/dhclient sbin/ifconfig sbin/isakmpd sbin/pfctl sbin/slaacd sbin/wsconsctl share/man share/misc sys/arch/amd64/amd64 sys/arch/amd64/include sys/arch/amd64/stand/efiboot sys/arch/arm/include sys/arch/arm64/arm64 sys/arch/arm64/include sys/arch/arm64/stand/efiboot sys/arch/armv7/stand/efiboot sys/arch/i386/conf sys/arch/loongson/include sys/arch/mips64/include sys/arch/octeon/conf sys/arch/octeon/dev sys/arch/octeon/include sys/arch/octeon/octeon sys/arch/sgi/include sys/conf sys/dev sys/dev/fdt sys/dev/pci sys/dev/usb sys/dev/wscons sys/kern sys/net sys/net80211 sys/netinet sys/netinet6 sys/sys usr.bin/ftp usr.bin/less usr.bin/make usr.bin/mandoc usr.bin/mg usr.bin/sed usr.bin/systat usr.bin/tmux usr.bin/units usr.bin/vi usr.sbin/bgpd usr.sbin/dhcpd usr.sbin/httpd usr.sbin/ifstated usr.sbin/pkg_add usr.sbin/relayd usr.sbin/smtpd usr.sbin/switchctl usr.sbin/switchd usr.sbin/syspatch usr.sbin/traceroute usr.sbin/vmd == bin =============================================================== 01/11 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/bin ksh ~ Makefile ~ config.h ~ history.c > Disable ksh VI-editing mode on the install media. We need the space > savings. (deraadt@) == distrib =========================================================== 02/11 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/distrib common ~ elfrd_size.c ~ elfrdsetroot.c > Style fix and unused var/label cleanup. From Matthew Martin. > ok deraadt@ (mortimer@) sets ~ lists/man/mi > sync (visa@) ~ lists/man/mi > sync (visa@) ~ lists/man/mi > sync (jsg@) special ~ ksh/Makefile > Disable ksh VI-editing mode on the install media. We need the space > savings. (deraadt@) == etc =============================================================== 03/11 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/etc mtree/BSD.x11.dist ~ mtree/BSD.x11.dist > add /usr/X11R6/share/libdrm for recent libdrm versions (jsg@) == gnu =============================================================== 04/11 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/gnu gnu ~ llvm/include/llvm/CodeGen/AsmPrinter.h ~ llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp ~ llvm/lib/Target/X86/X86AsmPrinter.h ~ llvm/lib/Target/X86/X86MCInstLower.cpp > Use int3 trap padding between functions instead of trapsleds with a leading > jump. > ok deraadt@ (mortimer@) - llvm/.gitignore > remove llvm's .gitignore file; upstream have separate repos for clang, lld, > etc but as they're directly in our main tree, so the ignore file causes > problems for people using cvs->git conversions. kettenis suggested removing > the file rather than just commenting-out the relevant repos, patrick > agrees. (sthen@) ~ llvm/tools/clang/include/clang/Basic/Builtins.def > Backport https://reviews.llvm.org/D29778. Fixes a bug where clang was > optimizing code around an lgamma(3) call a bit too much. Fixes the > lib/libm/lgamma regress test. > ok patrick@, millert@ (kettenis@) usr.bin/perl ~ Configure > Zero out excess bytes in perl long doubles > From upstream commits by Niko Tyni <ntyni AT debian.org> > * dd6885360b15e763e0706dc28555eea328de432d > * 6b2c7479d6d33249c2385d8a36d8ee9e61e1a519 > ok aja@ (afresh1@) == lib =============================================================== 05/11 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib libc ~ gen/signal.3 ~ stdlib/labs.3 ~ stdlib/lldiv.3 > add missing and correct misspelled names, most in NAME sections; > found with regress/usr.bin/mandoc/db/dbm_dump; > OK jmc@ (schwarze@) ~ compat-43/sigblock.3 ~ compat-43/sigsetmask.3 > delete sigmask(3) from sigsetmask(3) SYNOPSIS and use .Xr rather > than .Fn for it, it is documented sigblock(3) as noticed by jmc@; > some minor typo and punctuation cleanup while here; > OK jmc@ (schwarze@) ~ locale/rune_local.h ~ locale/runeglue.c ~ locale/setlocale.c > We only support ASCII and UTF-8, so we never need to > change _ctype_, _tolower_tab_, and _toupper_tab_. > No functional change. > Suggested by and OK kettenis@ (schwarze@) libcompiler_rt ~ Makefile > Enable atomic support functions. > ok mlarkin@ (kettenis@) libcrypto ~ man/BIO_ctrl.3 ~ man/d2i_ASN1_OCTET_STRING.3 ~ man/d2i_ECPKParameters.3 ~ man/EVP_PKEY_keygen.3 ~ man/HMAC.3 ~ man/RSA_get_ex_new_index.3 > add missing and correct misspelled names, most in NAME sections; > found with regress/usr.bin/mandoc/db/dbm_dump; > OK jmc@ (schwarze@) libevent ~ evbuffer_new.3 > add missing and correct misspelled names, most in NAME sections; > found with regress/usr.bin/mandoc/db/dbm_dump; > OK jmc@ (schwarze@) libexpat - README ~ Changes ~ expat_config.h ~ lib/expat.h ~ lib/siphash.h ~ lib/xmlparse.c ~ lib/xmlrole.c ~ lib/xmltok.c ~ lib/xmltok_impl.c ~ tests/chardata.c ~ tests/chardata.h ~ tests/minicheck.c ~ tests/runtests.c + README.md > Update libexpat to 2.2.3. Only few changes affect OpenBSD. > OK deraadt@ (bluhm@) librthread ~ rthread_fork.c > disable post fork checks for now, too much turbulence in the air (tedu@) ~ rthread.h > Use "volatile unsigned int" instead of _atomic_lock_t. The _atomic_lock_t > isn't the same size on all our architectures and should only be used for > spin locks. > ok visa@, mpi@ (kettenis@) libssl ~ man/SSL_CTX_set_default_passwd_cb.3 ~ man/SSL_CTX_set_generate_session_id.3 > add missing and correct misspelled names, most in NAME sections; > found with regress/usr.bin/mandoc/db/dbm_dump; > OK jmc@ (schwarze@) libtls ~ man/tls_load_file.3 > correct function name; > from carlos cardenas (jmc@) libunwind ~ include/libunwind.h > Fix register numbering for OpenBSD/i386. Make exception handling work with > clang on that platform. > ok millert@ (kettenis@) == regress =========================================================== 06/11 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/regress lib ~ libm/exp/exp.c > use %Lf for printing long double; silences clang warning > ok kettenis@ (robert@) libexec ~ ld.so/randomdata/libaa/aa.c ~ ld.so/randomdata/prog/prog.c > A fix is coming in the future, but in the meantime we should never declare > a section(".openbsd.randomdata") variable as static or const, because the > compiler optimizes out access. (deraadt@) ~ ld.so/dlclose/test1/libbb/Makefile ~ ld.so/dlclose/test1/libbb/bb.c + ld.so/dlclose/test1/libbb/bbb.c > Split up source code to keep clang from optimizing this into failure. > ok millert@ (kettenis@) ~ ld.so/constructor/libaa/aa.C ~ ld.so/constructor/libab/Makefile > Use volatile to keep clang from optimizing things too much. Force linking > with the c++ command instead of cc by setting CC=${CXX}. This is a hack > and a better solution is under development. Linking with c++ is necessary > to make the shared libraries depend up libc++.so such that the iostream > objects are constructed before we use them. > ok bluhm@ (kettenis@) ~ ld.so/init-env/libaa/Makefile > Use ${CC}=${CXX} here as well. > ok bluhm@ (kettenis@) ~ ld.so/initfirst/test2/libaa/aa.C ~ ld.so/initfirst/test2/libab/ab.C ~ ld.so/initfirst/test2/libac/ac.C ~ ld.so/initfirst/test2/libad/ad.C ~ ld.so/initfirst/test2/libae/ae.C > Use C stdio instead of C++ iostream as we cannot use the latter in > constructors for an "initfirst" object as the iostream objects have > not been constructed yet. > ok bluhm@ (kettenis@) usr.sbin ~ ifstated/ifstated ~ ifstated/statemachine > Add shebang (jca@) ~ ifstated/statemachine > Fix whitespace, ok jca@ (rob@) ~ ifstated/ifstated > Tweak demoted state test, ok jca@ (rob@) == sbin ============================================================== 07/11 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sbin dhclient ~ dhclient.c ~ dhcpd.h ~ kroute.c > Use effective_proposal data to set mtu and address. (krw@) ~ dhclient.c ~ kroute.c ~ privsep.h > Use effective_proposal data to build resolv.conf contents. > Fix a missing != NULL, and add a comment on why no search > path and no dns servers means resolv.conf.tail is ignored. (krw@) ~ dhclient.conf.5 > Shorten description and remove details regarding the parser implementation. > ok jmc@ krw@ (anton@) ~ kroute.c > Delete duplicated switch {} case: block. (krw@) ~ kroute.c > Flush static (RTF_STATIC) routes and not just > gateway (RTF_GATEWAY) routes. Thus catching and > flushing direct routes that could have been > added by dhclient. (krw@) ~ kroute.c > Whitespace. (krw@) ~ kroute.c > Do not attempt to parse zero'd input buffer after > read() on routing socket fails. Just bail. (krw@) ~ kroute.c > Don't delete the address/netmask that is about to be > added. Just skip both the delete and the add. (krw@) ~ kroute.c ~ privsep.c ~ privsep.h > Bring route creation into line with what route(8) does. In > particular stop providing RFA_IFA, and instead supply the > relevant interface index in the RTM_ADD message. > Various code simplifications as a result. (krw@) ~ kroute.c > Factor out get_routes() to do the sysctl() dance > needed to get a set of routes. (krw@) ~ kroute.c ~ privsep.c > Simplify logic seeking/checking the interface over > which the current default route exits. > If the dhclient instance owns that interface it > owns resolv.conf and will overwrite it no matter > who created the default route. > Feedback & suggestions claudio@ (krw@) ifconfig ~ brconfig.c > The handling of 'add' used by bridge and switch in ifconfig does not > error out if the ioctl returns EEXIST. Do the same for the switch > specific 'addlocal' and 'portno' ioctls so netstart won't error out > when rerun with the same settings in hostname.switchN. > ok reyk@ (jsg@) ~ ifconfig.c > use AI_NUMERICHOST for getaddrinfo(), we can only configure ip > adresses on pflow(4) interfaces, so don't try to resolve hostnames. > Report and fix from pjp -AT- centroid.eu > ok florian@ (benno@) isakmpd ~ connection.c ~ pf_key_v2.c > Prevent a use-after-free by always passing dynamically allocated > arguments to f_key_v2_connection_check(). > The race can be triggered by sending SIGHUP to the daemon. Note that > this change do not fix the memory leak if exchange_establish() fails. > Reported by MichaÅ Koc. > ok hshoexer@, markus@, henning@ (mpi@) pfctl ~ pfctl_parser.c > Since nearly 20 years the correct spelling of > ICMP6_DST_UNREACH_NOTNEIGHBOR is ICMP6_DST_UNREACH_BEYONDSCOPE (RFC > 1885 was obsoleted). > sthen grepped the ports sources to make sure nothing uses it. > OK millert, jca (florian@) slaacd ~ slaacd.h > leftovers from newd (florian@) ~ engine.c > When free(3)'ing an address_proposal we need to stop the libevent > timer. > Resulting use-after-free found the hard way by me. > Introduce free_address_proposal() to make sure we always do this. > While here also stop the interface timer when deleting an interface. > (florian@) ~ engine.c > No need for LIST_FOREACH_SAFE, we want to remove exactly one interface > and then stop the iteration. get_slaacd_iface_by_id() is perfectly > fine for this; we also gain one level of indentation. > While here LIST_REMOVE the currently deleted dfr_proposal. (florian@) ~ engine.c > move common debug code to sin6_to_str() (florian@) wsconsctl ~ mouse.c > Handle the flags of mousecfg fields correctly. (bru@) == share ============================================================= 08/11 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/share man ~ man4/man4.octeon/Makefile + man4/man4.octeon/octcit.4 > man octcit(4) (visa@) ~ man4/man4.octeon/Makefile + man4/man4.octeon/octxctl.4 > man octxctl(4) (visa@) ~ man4/run.4 > List D-Link DWA-130 rev F1 as a supported run(4) device. > Patch by Jacqueline Jolicoeur > ok deraadt (stsp@) ~ man4/icmp6.4 > Since nearly 20 years the correct spelling of > ICMP6_DST_UNREACH_NOTNEIGHBOR is ICMP6_DST_UNREACH_BEYONDSCOPE (RFC > 1885 was obsoleted). > sthen grepped the ports sources to make sure nothing uses it. > OK millert, jca (florian@) ~ man4/Makefile ~ man4/dwge.4 + man4/dwmmc.4 > Add dwmmc(4) and update dwge(4). (kettenis@) ~ man4/man4.octeon/octcib.4 ~ man4/man4.octeon/octcit.4 ~ man4/man4.octeon/octciu.4 > Xr octeon interrupt controller drivers. (visa@) ~ man4/puc.4 > add ASIX AX99100 description > ok by jmc@ (uaa@) misc ~ airport > Add Warsaw Modlin airport (WMI), did a couple of round trips from there > during Fall and Winter. (fcambus@) == sys =============================================================== 09/11 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys arch/amd64/amd64 ~ vmm.c > vmm: support more than 3855MB guest memory > guest VMs can now use MAXDSIZ ram. > ok deraadt@, stefan@, pd@ (mlarkin@) arch/amd64/include ~ vmmvar.h > vmm: support more than 3855MB guest memory > guest VMs can now use MAXDSIZ ram. > ok deraadt@, stefan@, pd@ (mlarkin@) arch/amd64/stand/efiboot ~ conf.c ~ efiboot.c > Back out previous commit but handle the case where the device path consists > of a single MEDIA_DEVICE_PATH component specially to cater for U-Boot's > somewhat broken device path handling. Add comments to prevent confusion > in the future. Bump the version number once again. > ok brynet@ (kettenis@) arch/arm/include ~ atomic.h > Use unsigned long instead of uint32_t, which is the appropriate integer > type for storing pointers in our universe. Avoids an implicit dependence > on <sys/types.h>. > ok tom@ (kettenis@) arch/arm64/arm64 ~ exception.S > Do not enable fpu until after AST state is checked and processed. > ok kettenis@ (drahn@) ~ locore0.S > Fix TCR definitions to avoid integer overflow. Rename TCR_ASID_16 to > TCR_AS > to match the official ARM docs. > ok patrick@, tom@ (kettenis@) arch/arm64/include ~ armreg.h > Fix TCR definitions to avoid integer overflow. Rename TCR_ASID_16 to > TCR_AS > to match the official ARM docs. > ok patrick@, tom@ (kettenis@) arch/arm64/stand/efiboot ~ conf.c ~ efiboot.c > Back out previous commit but handle the case where the device path consists > of a single MEDIA_DEVICE_PATH component specially to cater for U-Boot's > somewhat broken device path handling. Add comments to prevent confusion > in the future. Bump the version number once again. > ok brynet@ (kettenis@) arch/armv7/stand/efiboot ~ conf.c ~ efiboot.c > Back out previous commit but handle the case where the device path consists > of a single MEDIA_DEVICE_PATH component specially to cater for U-Boot's > somewhat broken device path handling. Add comments to prevent confusion > in the future. Bump the version number once again. > ok brynet@ (kettenis@) arch/i386/conf ~ RAMDISK > Comment out non-crucial device drivers (xhci(4), wdc@pcmcia, and cd(4) > support. fd+xhci without ehci compat probably doesn't exist, and in > the other cases alternatve install methods exist. This makes i386 > floppies fit again after routing table changes. (deraadt@) ~ files.i386 > Remove duplicated commented out "dev/rasops/files.rasops" include. > OK deraadt@ (fcambus@) arch/loongson/include ~ cpu.h > Define MAXCPUS per mips64 port. (visa@) arch/mips64/include ~ cpu.h > Define MAXCPUS per mips64 port. (visa@) arch/octeon/conf ~ GENERIC ~ RAMDISK ~ files.octeon > Add a driver for CIU3. Not quite finished yet, but good enough for now. > (visa@) ~ GENERIC ~ RAMDISK ~ files.octeon > Add a driver for the OCTEON USB3 controller bridge. > OK kettenis@, jmatthew@ (visa@) arch/octeon/dev + octcit.c > Add a driver for CIU3. Not quite finished yet, but good enough for now. > (visa@) ~ octcib.c > Assume edge triggering by default for robustness, as is done > in octcit(4). (visa@) ~ mainbus.c > Replace OCTEON_MAXCPUS with MAXCPUS to avoid redundancy. (visa@) + octxctl.c + octxctlreg.h > Add a driver for the OCTEON USB3 controller bridge. > OK kettenis@, jmatthew@ (visa@) arch/octeon/include ~ cpu.h > Define MAXCPUS per mips64 port. (visa@) ~ cpu.h ~ octeonvar.h > Bump MAXCPUS on octeon. (visa@) ~ vmparam.h > Bump VM_PHYSSEG_MAX. (visa@) ~ octeonvar.h > Replace OCTEON_MAXCPUS with MAXCPUS to avoid redundancy. (visa@) arch/octeon/octeon ~ machdep.c > Replace OCTEON_MAXCPUS with MAXCPUS to avoid redundancy. (visa@) arch/sgi/include ~ cpu.h > Define MAXCPUS per mips64 port. (visa@) conf ~ GENERIC ~ files > Switch installer to Allotment Routing Table (ART). > Prompted by a bugreport by naddy that IPv6 autoconfiguration is broken > in the installer. > OK mpi, "go for it" deraadt (florian@) ~ files > Give back some space to the ramdisk by compiling net/radix.c only > if we compile pf, ipsec, pipex or nfsserver. > Suggested by mpi some time ago. > Tweak & OK bluhm > deraadt assumes it's fair (florian@) dev ~ rnd.c > clang (and newer gcc at high -O) are unaware that objects placed in strange > sections, such as __attribute__((section(".openbsd.randomdata"))), may be > non-zero. In combination with "const" or "static" the compiler becomes > even > more sure nothing can influence the object and assumes the value will be 0. > A few optimizations later, a security requirement has been removed. > Until a better annotation arrives in compilers, be warned: Do not mix > const or static with these random objects, you won't get what you want. > Spotted in a regression test by bluhm, long discussion with kettenis. > (deraadt@) ~ midi.c TAGGED OPENBSD_6_1 > Remove SIGIO support. The audio(4) driver doesn't implement it either and > the preferred method to access MIDI hardware is through sndiod(8) which > doesn't use it. > Fixes a potential issue with a stale struct proc pointer found by Ilja van > Sprundel. > errata 015 (bluhm@) ~ midi.c TAGGED OPENBSD_6_0 > Remove SIGIO support. The audio(4) driver doesn't implement it either and > the preferred method to access MIDI hardware is through sndiod(8) which > doesn't use it. > Fixes a potential issue with a stale struct proc pointer found by Ilja van > Sprundel. > errata 015 (deraadt@) dev/fdt ~ xhci_fdt.c > Add a driver for the OCTEON USB3 controller bridge. > OK kettenis@, jmatthew@ (visa@) ~ dwmmc.c > Remove some debug printfs. (kettenis@) ~ dwmmc.c > Fix defenition of reset bits. (kettenis@) dev/pci ~ if_myx.c > defer init of the myxmcl pool to mountroot, and enable pool cpu caches. > pool_cache_init cannot be called during autoconf because we cant > be confident about the number of cpus in the machine until the first > run of attaches. > mountroot is after autoconf, and myx already has code that runs > there for the firmware loading. > discussed with deraadt@ (dlg@) ~ pcidevs > add ASIX AX99100 device ID > ok by deraadt@ (uaa@) ~ pcidevs.h ~ pcidevs_data.h > regen (uaa@) ~ pucdata.c > add ASIX AX99100 support > ok by deraadt@ (uaa@) dev/usb ~ xhci.c > Use memcpy instead of casts to copy 8 bytes of data to avoid unaligned > access. > ok visa@, mpi@, deraadt@ (kettenis@) ~ uhid.c TAGGED OPENBSD_6_1 > Remove SIGIO support. Base tools do not implement it and ports relying > on libusbhid, generally via SDL, shouldn't do it either since it's not > portable. > Suggested by deraadt@ after Ilja van Sprundel reported an issue with a > stale struct proc pointer in similar code. > errata 015 (bluhm@) ~ uhid.c TAGGED OPENBSD_6_0 > Remove SIGIO support. Base tools do not implement it and ports relying > on libusbhid, generally via SDL, shouldn't do it either since it's not > portable. > Suggested by deraadt@ after Ilja van Sprundel reported an issue with a > stale struct proc pointer in similar code. > errata 029 (deraadt@) ~ uhid.c TAGGED OPENBSD_6_0 > Remove SIGIO support. Base tools do not implement it and ports relying > on libusbhid, generally via SDL, shouldn't do it either since it's not > portable. > Suggested by deraadt@ after Ilja van Sprundel reported an issue with a > stale struct proc pointer in similar code. > errata 029 > (missed a piece) (deraadt@) ~ usbdevs TAGGED OPENBSD_6_0 > Add device ID for D-Link DWA-130 rev F. > Patch by Jacqueline Jolicoeur > ok deraadt (stsp@) ~ usbdevs.h ~ usbdevs_data.h TAGGED OPENBSD_6_0 > regen (stsp@) ~ if_run.c TAGGED OPENBSD_6_0 > Match D-Link DWA-130 rev F1 devices. These work with run(4). > Patch by Jacqueline Jolicoeur > ok deraadt (stsp@) dev/wscons ~ wsdisplay.c TAGGED OPENBSD_6_1 > Prevent integer overflow in WSDISPLAYIO_LDFONT ioctl. > Issue found by Ilja van Sprundel. > errata 024 (bluhm@) ~ wsdisplay.c TAGGED OPENBSD_6_0 > Prevent integer overflow in WSDISPLAYIO_LDFONT ioctl. > Issue found by Ilja van Sprundel. > errata 37 (deraadt@) kern ~ vfs_subr.c > Give back some space to the ramdisk by compiling net/radix.c only > if we compile pf, ipsec, pipex or nfsserver. > Suggested by mpi some time ago. > Tweak & OK bluhm > deraadt assumes it's fair (florian@) ~ subr_log.c TAGGED OPENBSD_6_1 > Both syslog(3) and syslogd(8) truncate the message at 8192 bytes. > Do the same in sendsyslog(2). > reported by Ilja Van Sprundel > errata 016 (bluhm@) ~ vfs_getcwd.c TAGGED OPENBSD_6_1 > Add some sanity length checks in VFS directory scan. This protects > us from bogus input from file systems like fuse. > bug report Ilja Van Sprundel > errata 017 (bluhm@) ~ uipc_syscalls.c TAGGED OPENBSD_6_1 > Move KTRPOINT call up. The lenght variable i is getting aligned and so > uninitialised data can be dumped into the ktrace message. > Found by Ilja Van Sprundel > errata 018 (bluhm@) ~ uipc_syscalls.c TAGGED OPENBSD_6_1 > When receiving a struct sockaddr from userland, enforce that memory > for sa_len and sa_family is provided. This will make handling of > socket name mbufs within the kernel safer. > issue reported by Ilja Van Sprundel > errata 020 (bluhm@) ~ sys_process.c TAGGED OPENBSD_6_1 > Uninitialized variable can leak kernel memory. > Found by Ilja Van Sprundel > errata 021 (bluhm@) ~ kern_descrip.c TAGGED OPENBSD_6_1 > Initialize a local variable to not leak kernel stack info to userland > if TIOCGPGRP fail. > Issue found by Ilja van Sprundel. > errata 022 (bluhm@) ~ uipc_socket.c TAGGED OPENBSD_6_1 > If pool_get() sleeps while allocating additional memory for socket > splicing, another process may allocate it in the meantime. Then > one of the splicing structures leaked in sosplice(). Recheck that > no struct sosplice exists after a protential sleep. > reported by Ilja Van Sprundel > errata 025 (bluhm@) ~ subr_log.c TAGGED OPENBSD_6_0 > Both syslog(3) and syslogd(8) truncate the message at 8192 bytes. > Do the same in sendsyslog(2). > reported by Ilja Van Sprundel > errata 30 (deraadt@) ~ kern_descrip.c TAGGED OPENBSD_6_0 > Initialize a local variable to not leak kernel stack info to userland > if TIOCGPGRP fail. > Issue found by Ilja van Sprundel. > errata 36 (deraadt@) ~ sys_process.c TAGGED OPENBSD_6_0 > Uninitialized variable can leak kernel memory. > Found by Ilja Van Sprundel > errata 35 (deraadt@) ~ vfs_getcwd.c TAGGED OPENBSD_6_0 > Add some sanity length checks in VFS directory scan. This protects > us from bogus input from file systems like fuse. > bug report Ilja Van Sprundel > errata 031 (deraadt@) ~ uipc_socket.c TAGGED OPENBSD_6_0 > If pool_get() sleeps while allocating additional memory for socket > splicing, another process may allocate it in the meantime. Then > one of the splicing structures leaked in sosplice(). Recheck that > no struct sosplice exists after a protential sleep. > reported by Ilja Van Sprundel > errata 038 (bluhm@) ~ uipc_syscalls.c TAGGED OPENBSD_6_0 > Move KTRPOINT call up. The lenght variable i is getting aligned and so > uninitialised data can be dumped into the ktrace message. > Found by Ilja Van Sprundel > errata 032 (bluhm@) ~ uipc_syscalls.c TAGGED OPENBSD_6_0 > When receiving a struct sockaddr from userland, enforce that memory > for sa_len and sa_family is provided. This will make handling of > socket name mbufs within the kernel safer. > issue reported by Ilja Van Sprundel > errata 034 (bluhm@) ~ subr_disk.c TAGGED OPENBSD_6_0 > Use %hhx instead of %hx to print u_char. Silences clang warning. > ok jca@, florian@ (kettenis@) net ~ route.c ~ route.h ~ rtable.c ~ rtable.h ~ rtsock.c > Switch installer to Allotment Routing Table (ART). > Prompted by a bugreport by naddy that IPv6 autoconfiguration is broken > in the installer. > OK mpi, "go for it" deraadt (florian@) ~ route.c ~ route.h ~ rtable.c ~ rtsock.c > Enable mpath support in the Allotment Routing Table (ART) on the ramdisk. > OK mpi (florian@) ~ if_spppsubr.c > Add missing splx(). > I introduced this bug in 2015 but the splsoftnet()/splx() dance in the > upper layer masked it. Pseudo drivers generally don't need any splnet() > protection. > Found by Mark Patruck and Andrei-Marius Radu since the NET_LOCK() no longer > raise any IPL. > Strangely jsg@ confirmed that cppcheck nor coccinelle found the missing > splx(). > ok kettenis@, sthen@, deraadt@ (mpi@) ~ if.c > rt_if_track() is needed even on ramdisk kernels, because of MPATH > ok mpi (deraadt@) ~ route.c ~ rtsock.c > Move a sanity check that only makes sense for userland where it belongs. > ok bluhm@, florian@ (mpi@) ~ route.h ~ rtable.h > Fix rtable regression tests. (mpi@) ~ if.c > When we disable INET6 on an interface that also removes the autoconf6 > flag. Notify userland about this via the route socket, otherwise > slaacd gets confused about the state the interface is in. > OK on a previous version sthen > input & OK bluhm (florian@) ~ pf.c ~ pf_ioctl.c ~ pfvar.h ~ pfvar_priv.h > Reduce contention on the NET_LOCK() by moving the logic of the pfpurge > thread to a task running on the `softnettq`. > Tested and inputs from Hrvoje Popovski. > ok visa@, sashan@ (mpi@) net80211 ~ ieee80211_pae_input.c TAGGED OPENBSD_6_1 > Fix length checks in EAPOL key frame parsing. > Problem reported by Ilja Van Sprundel. > errata 023 (bluhm@) ~ ieee80211_ioctl.c TAGGED OPENBSD_6_1 > Plug an information leak in ieee80211_node2req(). > Problem reported by Ilja Van Sprundel. > errata 023 (bluhm@) ~ ieee80211_pae_input.c TAGGED OPENBSD_6_0 > Fix length checks in EAPOL key frame parsing. > Problem reported by Ilja Van Sprundel. > errata 39 (deraadt@) ~ ieee80211_ioctl.c TAGGED OPENBSD_6_0 > Plug an information leak in ieee80211_node2req(). > Problem reported by Ilja Van Sprundel. > errata 039 (bluhm@) ~ ieee80211_proto.c TAGGED OPENBSD_6_0 > Show net80211 state transitions in desmg if 'ifconfig debug' was used. > This information is needed in bug reports. > Convert the invalid state transitions from panic() to a printf() which is > also guarded by ifconfig debug. There are many races exposed by these > panics > which should all be fixed. But that will surely take some time, and the > panics have now served their purpose. Thanks to everyone who reported > these panics being triggered, your help is appreciated. (stsp@) ~ ieee80211_input.c TAGGED OPENBSD_6_0 > Remove ieee80211_input_print() which printed information about received > frames to dmesg, if debug mode was enabled with ifconfig. > This debug output was much too verbose and not actually useful for > debugging. > tcpdump -y IEEE802_11_RADIO will show the same information. > ok sthen@ (stsp@) ~ ieee80211_node.c TAGGED OPENBSD_6_0 > Compile a debug printf in ieee80211_match_bss() by default, previously > guarded by the IEEE80211_DEBUG preprocessor flag. This shows one line > per detected AP after a scan, and indicates which APs are considered > candidates for association. > Shorten the output a bit to fit into 80 columns more likely. > ok sthen@ (stsp@) netinet ~ if_ether.c > Switch installer to Allotment Routing Table (ART). > Prompted by a bugreport by naddy that IPv6 autoconfiguration is broken > in the installer. > OK mpi, "go for it" deraadt (florian@) ~ tcp_usrreq.c TAGGED OPENBSD_6_1 > With an invalid address family in the connect address, tcp_usrreq() > may take an unintended code path. Return error EAFNOSUPPORT instead. > Found by Ilja Van Sprundel > errata 019 (bluhm@) ~ tcp_usrreq.c TAGGED OPENBSD_6_0 > With an invalid address family in the connect address, tcp_usrreq() > may take an unintended code path. Return error EAFNOSUPPORT instead. > Found by Ilja Van Sprundel > errata 033 (bluhm@) ~ icmp6.h TAGGED OPENBSD_6_0 > Since nearly 20 years the correct spelling of > ICMP6_DST_UNREACH_NOTNEIGHBOR is ICMP6_DST_UNREACH_BEYONDSCOPE (RFC > 1885 was obsoleted). > sthen grepped the ports sources to make sure nothing uses it. > OK millert, jca (florian@) ~ ip_input.c TAGGED OPENBSD_6_0 > We do have SO_TIMESTAMP since some time and there is other code in the > kernel that uses it without the #ifdef guard. > OK bluhm (florian@) ~ in_pcb.c TAGGED OPENBSD_6_0 > The in_pcbhashlookup() in in_pcbconnect() enforces that the 4 tupel > of src/dst ip/port is unique for TCP. But if the socket is not > bound, the automatic bind by connect happens after the check. If > the socket has the SO_REUSEADDR flag, in_pcbbind() may select an > existing local port. Then we had two colliding TCP PCBs. This > resulted in a packet storm of ACK packets on loopback. The softnet > task was constantly holding the netlock and has a high priority, > so the system hung. > Do the in_pcbhashlookup() again after in_pcbbind(). This creates > sporadic "connect: Address already in use" errors instead of a hang. > bug report and testing Olivier Antoine; OK mpi@ (bluhm@) netinet6 ~ icmp6.c > RFC 1885 was obsoleted nearly 20 years ago by RFC 2463 which was obsoleted > over 10 years ago by RFC 4443. We are probably not going back. > OK deraadt, jca (florian@) ~ ip6_input.c > We do have SO_TIMESTAMP since some time and there is other code in the > kernel that uses it without the #ifdef guard. > OK bluhm (florian@) ~ in6_pcb.c > The in_pcbhashlookup() in in_pcbconnect() enforces that the 4 tupel > of src/dst ip/port is unique for TCP. But if the socket is not > bound, the automatic bind by connect happens after the check. If > the socket has the SO_REUSEADDR flag, in_pcbbind() may select an > existing local port. Then we had two colliding TCP PCBs. This > resulted in a packet storm of ACK packets on loopback. The softnet > task was constantly holding the netlock and has a high priority, > so the system hung. > Do the in_pcbhashlookup() again after in_pcbbind(). This creates > sporadic "connect: Address already in use" errors instead of a hang. > bug report and testing Olivier Antoine; OK mpi@ (bluhm@) ~ nd6.c > Since we have TAILQ_FOREACH_SAFE in nd6_purge() it is not necessary > that nd6_free() advances the next pointer itself. Make nd6_free() > a void function and remove unused parameter gc. > OK florian@ millert@ (bluhm@) ~ in6.c ~ in6_var.h > in6_leavegroup can't fail; OK phessler (florian@) ~ nd6.c > Reduce contention on the NET_LOCK() by moving the nd6 address expiration > task to the `softnettq`. > While here update comments and names to reflect reality after the removal > of router and prefix lists. > ok florian@, bluhm@ (mpi@) sys ~ tree.h > mark __inline functions which are not neccessarily used, with __unused. > ok espie florian kettenis (deraadt@) == usr.bin =========================================================== 10/11 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin ftp ~ complete.c > Remove self assignment. > ok deraadt@ (anton@) less ~ pattern.c ~ search.c > When performing an inverted search in less, make sure to invalidate the > match > bounds prior calling regexec(). In this inverted scenario a match is found > when > regexec() returns false causing the bounds to not be updated. This is > problematic since the bounds will then refer to a previous match and future > pointer arithmetic will eventually be off which is manifested in a SIGSEGV. > Issue reported by Larry Hynes on tech@ > ok martijn@ tb@ (anton@) make ~ make.1 > Remove outdated count of the number of available assignment operators. > While here, add a missing paragraph. > ok jmc@ (anton@) mandoc ~ man_term.c ~ mdoc_validate.c > Fix an out of bounds read access to a constant array that caused > segfaults on certain hardened versions of glibc. Triggered by .sp > or blank lines right before .SS or .SH, or before the first .Sh. > Found the hard way by Dr. Markus Waldner on Debian > and by Leah Neukirchen on Void Linux. (schwarze@) ~ tbl_html.c ~ tbl_term.c > Ignore explicitly specified negative column widths rather than > wrapping around to huge numbers and risking memory exhaustion; > fixes Debian ps(1). Bug reported by Dr. Markus Waldeck. (schwarze@) ~ mansearch.c ~ mdoc_validate.c > No longer use names that only occur in the SYNOPSIS section as names > for man(1) lookup. For OpenBSD base and Xenocara, that functionality > was never intended to be required, and i just fixed the last handful > of offenders using it - not counting the horribly ill-designed > interfaces engine(3) and lh_new(3) which are impossible to properly > document in the first place. > Of course, apropos(1) and whatis(1) continue to use SYNOPSIS .Nm, > .Fn, and .Fo macros, so "man -k ENGINE_get_load_privkey_function" > still works. > This change also gets rid of a few bogus warnings "cross reference > to self" which actually are *not* to self, like in yp(8). > This former functionality was intended to help third-party software > in the ports tree and on non-OpenBSD systems containing manual pages > with incomplete or corrupt NAME sections. But it turned out it did > more harm than good, and caused more confusion than relief, > specifically for third party manuals and for maintainers of > mandoc-portable on other operating systems. So kill it. > Problems reported, among others, by Yuri Pankov (illumos). > OK jmc@ (schwarze@) mg ~ buffer.c ~ re_search.c ~ search.c ~ tags.c > Present the default choice before the colon in prompts. Matches GNU Emacs > behavior. > From Scott Cheloha <scottchel...@gmail.com> > ok florian@ (bcallah@) sed ~ compile.c ~ extern.h ~ main.c > Apply stricter pledge rules if possible. These are based on the usage of > the 'w' and 'r' functions and the 'w' flag to the 's' function. > If non of the above is used and input is being read from stdin, we drop > all the way down to stdio! > Original inspiration by benno@. > OK millert@ (martijn@) systat ~ pool.c > print the number of GCs with print_fld_size instead of print_fld_uint. > this makes a large number of GCs appear as something like "26K" > instead of "*". (dlg@) tmux ~ format.c ~ tmux.1 ~ tmux.h ~ window-copy.c > Add selection_present format so commands in copy mode can use it, GitHub > issue 1028. (nicm@) units ~ units.lib > update currency exchange rates; (jmc@) vi ~ common/options.c > Silence some warnings generated by clang. > Original diff by espie@ with some minor tweaks by myself. > OK espie@ and florian@ (martijn@) == usr.sbin ========================================================== 11/11 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.sbin bgpd ~ bgpd.h > add a zeroed out element at the end of the iana_ext_comms array, so > that the iteration over it actually stops. > ok and feedback from florian@ phessler@ and claudio@ (benno@) ~ bgpd.h > Remove comma from last element since that is the terminator. (claudio@) dhcpd ~ dhcpd.h > Removed unused struct, also noticed by Edgar Pettijohn. ok jca@, krw@ > (rob@) ~ dhcpd.h > Remove unused structs and defines, from Edgar Pettijohn. ok jca@ (rob@) httpd ~ server_fcgi.c > Don't set HTTP date header if already set. > Thanks Nick Owens > OK florian@ (ians@) ifstated ~ ifstated.c > Improve error checking during processing of routing messages. Handling of > RTM_DESYNC encouraged by deraadt. ok jca@ benno@ (rob@) pkg_add ~ OpenBSD/PkgInfo.pm > Make -Q work play nice with other flags. This makes things like: > "pkg_info -Q quake -d" function as expected. > OK landry@ (abieber@) ~ OpenBSD/PackageRepository.pm ~ OpenBSD/PackageRepository/HTTP.pm > Adjust the html index-parsing regex to cope with anchor tags that aren't > just '<a href="foo">'; several mirrors now include a title attribute which > pkg_add can't cope with. > Diff from Taylor Stearns to handle attributes following the href; tweaked > by me to also handle attribute before the href. > ok zhuk@ (sthen@) ~ OpenBSD/PkgInfo.pm > Only call find_pkg when we are using other options with -Q. > This resolves the speed issues Michael Reed <mich...@michaelreed.io> > reported that were introduced by my changes in 1.45. > OK landry@ (abieber@) relayd ~ relay.c > Fix a double free of the TLS config in the error path. > OK claudio@ (bluhm@) smtpd ~ parser.c > cmd_dump() is unused > spotted by deraadt (gilles@) ~ mda.c > handle empty output correctly in mda_getlastline() > diff from Casper Ti. Vector, ok eric@ (gilles@) ~ smtpd.h > the PURGE_EVERYTHING flag used to purge config bits was inaccurate > ok eric@ (gilles@) ~ envelope.c > a long time ago, we made a change to the format of envelopes and introduced > a function to upgrade from v1 to v2 on the fly. this was meant to stay just > for the transition in one release. 3 years and 8 months later, it's finally > time we remove it ;-) > ok eric@, sunil@ (gilles@) switchctl ~ parser.c > #if 0 unused chunk for now (deraadt@) switchd ~ packet.c ~ parse.y > packet.c and parse.y no longer require err.h. ok jca@ florian@ (rob@) syspatch ~ syspatch.sh > `-R' requires root privileges. (ajacoutot@) ~ syspatch.sh > If syspatch is updating itself, exit after installing the new syspatch to > stop installing further patches and warn the user he needs to run it again > (so that it'll run with the new code). (ajacoutot@) ~ syspatch.sh > For the kernel binpatches, only deal with /bsd. On MP machines we do have > /bsd.sp by default for now but it maybe de-selected during the installation > and > the opposite is true for SP machines (MP is *not* installed but may end up > being selected for installation). Having to deal with this is too error > prone. > This makes things much simpler and less confusing. > If you have a machine that goes from MP to SP or vice-versa, just > `syspatch -R && syspatch' so the proper kernel is updated. (ajacoutot@) ~ syspatch.sh > Only run mtree if we install a patch. (ajacoutot@) traceroute ~ worker.c > Since nearly 20 years the correct spelling of > ICMP6_DST_UNREACH_NOTNEIGHBOR is ICMP6_DST_UNREACH_BEYONDSCOPE (RFC > 1885 was obsoleted). > sthen grepped the ports sources to make sure nothing uses it. > OK millert, jca (florian@) vmd ~ virtio.c > vmd: report queue size of 0 when invalid queues are requested by the guest > Diff supplied by Nick Owens, who was kind enough to also point out the > virtio spec section numbers that defined this behaviour. (mlarkin@) ===============================================================================
_______________________________________________ owc mailing list owc@squish.net http://www.squish.net/mailman/listinfo/owc