OpenBSD 6.4 Changelog
This selection is intended to include all important
and all user-visible changes.
For a complete record of all changes, please see the "source-changes"
mailing list, called "OpenBSD CVS"
in the archives ,
or use CVS .
Note: Problems for which patches exist are marked in red .
For changes in other releases, click below:
2.0 ,
2.1 ,
2.2 ,
2.3 ,
2.4 ,
2.5 ,
2.6 ,
2.7 ,
2.8 ,
2.9 ,
3.0 ,
3.1 ,
3.2 ,
3.3 ,
3.4 ,
3.5 ,
3.6 ,
3.7 ,
3.8 ,
3.9 ,
4.0 ,
4.1 ,
4.2 ,
4.3 ,
4.4 ,
4.5 ,
4.6 ,
4.7 ,
4.8 ,
4.9 ,
5.0 ,
5.1 ,
5.2 ,
5.3 ,
5.4 ,
5.5 ,
5.6 ,
5.7 ,
5.8 ,
5.9 ,
6.0 ,
6.1 ,
6.2 ,
6.3 ,
6.5 ,
6.6 ,
6.7 ,
6.8 ,
6.9 ,
7.0 ,
7.1 ,
7.2 ,
7.3 ,
7.4 ,
7.5 ,
7.6 ,
7.7 ,
current .
Changes made between OpenBSD 6.3 and 6.4
Many changes not listed here.
Fix "heap full" errors in the amd64 boot loader when loading microcode.
Add support in com(4) for Exar XR17V354 4-port devices.
Add TCP support to snmpd(8) . Apart from processing multiple requests in parallel, this implements RFC 3430.
Make relayd(8) set destination host state to HOST_DOWN in case of TCP read timeout.
6.1, 6.2 and 6.3 SECURITY FIX: Correct heap overflow bugs in perl(1) . A source code patch is available for 6.1 , 6.2 and 6.3 .
Make ENGINE_finish() succeed on NULL in LibreSSL, simplifies caller code.
Make ksh(1) count $SECONDS using monotonic clock.
Fix for mg(1) when trying to write backups in home dir when run under a different effective user.
Remove hfsc support from pfctl(8) .
Don't panic if ipmi_sendcmd() fails.
Make sshd(8) more resilient against user enumeration timing attacks.
Implemented MAP_STACK option for mmap(2) . At pagefaults and syscalls the kernel will check that the SP points to MAP_STACK memory.
Stop using the PID in ping(8) .
Make httpd(8) listen on all IPv4 and IPv6 addresses for "listen on *".
More steps for i386 Meltdown fixes, will trigger some performance issues.
Make re(4) handle newer devices with only 64bit BARs, and map 32bit BAR as a fallback.
Add mixer save/restore capability to the audio(4) driver for use during suspend/resume.
Add support in umsm(4) for Huawei k3772-based devices.
Make sasyncd(8) schedule events against the monotonic clock so it fires punctually even if system clock is changed.
Have fstat(1) print rtable for internet sockets unless it's the default.
In tmux(1) , add x and X to choose-tree to kill an item.
Make sure the kernel doesn't call logwakeup() while holding a mutex to prevent lock ordering issues.
Make mandoc(1) define a previously undefined integer as being zero.
Make ksh(1) support 64bit integer operations on 32bit arches too.
Added octcrypto(4) , a driver for the octeon cryptographic unit, providing hardware-accelerated implementations for several encryption and authentication algorithms for ipsec(4) . Disabled for now.
Make smtpd(8) spfwalk check for legitimate IPv4 and IPv6 addresses before printing.
Make headers, manpages and kernel prefer and recommend AF_UNIX name rather than AF_LOCAL.
In kqueue, test for preexisting conditions when re-enabling events.
Make pcidump(8) print BARs for bridges as well.
On amd64, add support for EFI Random Number Generator and use it to XOR random data into the kernel.
Add a hook to the standalone boot code to use a firmware-supplied random function in addition of the machine dependent random function to insert entropy into the booted kernel.
IPv6 fix for gif(4) .
Attach the mbuf tag on output gif(4) packets to suppress loops over the interface and avoid leak of the tag on every packet.
For certain arm devices, if the PHY address isn't specified, only attach a single PHY. Makes Theobrama Systems RK3399-Q7 SoM network interfaces work.
Make shutdown(8) print deadline estimates in the local timezone.
Enable islrtc(4) on arm64 GENERIC and RAMDISK kernels.
Added islrtc(4) , a driver for the ISL208 real time clock.
Work around libtool exec limitations.
Correct libtls tls_config_clear_keys(3) behaviour, leaving other configuration data intact.
In libtls, switch to OPENSSL_init_ssl(3) to prevent an openssl configuration file from being loaded behind our backs.
Add support in dwmmc(4) for GPIO card detection.
Increase em(4) delay after reset to 20ms and add a fix for i219 based devices.
In UEFI, respect the parts where mappings indicate they can be made non-readable, non-executable or read-only.
Fixed tmpfs(4) to not attempt calling copyin(9) itself.
Patch binutils 2.17 so it passes option -Wno-null-pointer-arithmetic when compiled with LLVM 6.0.0.
Updated llvm to 6.0.0.
Make fstat(1) print a p flag for file descriptors opened after pledge(2) .
Better rounding to cylinder boundaries in disklabel(8) .
In ssh(1) , allow "Sendenv -PATTERN" to clear environment previously labeled for sending.
Fix file descriptor leak in httpd(8) after processing ranged requests.
Use existing pf state to speed up UDP socket lookup.
Fix memory leak in libcrypto if EVP_Digest() fails.
In libcrypto, tighten up various checks for X509_VERIFY_PARAM functions.
In ssh(1) , relax checking of authorized_keys environment="..." options to allow underscores in variable names
Stop using a non-portable .R man(7) macro in mandoc(1) .
Update mandoc(1) to use documented and portable character escape sequences for .Do/.Dq.
Import pcap_set_immediate_mode() from mainline libpcap which allows a libpcap-based program to process packets as soon as they arrive.
Remove obsolete PF_TRANS_ALTQ from pf(4) . Note the required steps in the update guide if updating from source.
Update default IPQoS in ssh(1) and sshd(8) .
Libcrypto fixes in X509_NAME_add_entry().
Fix crash in dig(1) when +trace option is enabled and a truncated reply forces fallback to TCP.
Deactivate WITNESS checks in ddb(4) , when db_active is set.
On vlan(4) interfaces, use link0 to use llprio in transmitted packets.
Imported regenerated moduli files for ssh(1) .
Tweak vlan printing in tcpdump(8) to properly decode priority field.
OpenSSH 7.7 released.
Enabled mvrng(4) for arm64 GENERIC and RAMDISK kernels.
Fix in bgpd(8) for aspath_verify() regarding 2-byte vs 4-byte AS path entries.
Enabled imxiomuxc(4) on arm64 GENERIC and RAMDISK kernels.
Unhook libXfont from xenocara builds, obsoleted by libXfont2.
Enabled dwpcie(4) , fec(4) and imxccm(4) on arm64 GENERIC and RAMDISK kernels.
Add minimal driver dwpcie(4) for the Synopsys Designware PCIe core.
Added support for more Intel Apollo Lake devices found on some NUC and Celeron based systems.
In com(4) , add support for register shift/IO-width to allow UARTs using 32-bit registers instead of 8-bit, found on some armv7, arm64 and amd64 SoCs.
Add support for arbitrary-length integers in test(1) .
Fix binutils 2.17 to build without warnings on LLVM 6.0.0.
Enabled imxanatop(4) on armv7 RAMDISK kernels.
Fix for previously incorrect MII speed setting on armv7 fec(4) .
Fixes in apply(1) for realloc(3) noticed when malloc.conf(5) had the J option enabled.
LibreSSL 2.7.2 released.
Fixes for UFS2 with softdep enabled.
Implemented an EFI driver to allow PXE boot over EFIs Simple Network Protocol, allowing TFTP boot on U-Boot based armv7 and arm64 machines.
Fix '-v' option to procmap(1) when using -a to help show holes in the process map.
Enabled mvtemp(4) on arm64 GENERIC kernels.
Added mvtemp(4) a driver for temperature sensors found on Marvell Armada SoCs.
Fix mbuf reuse when sending ARP responses to prevent stale mbuf state affecting the ARP reply packet.
Fix 64bit integer overflows in expr(1) .
Fix a hang in i386 vmware guests in /sbin/init.
Recommit of the i386 Meltdown fix.
Fix '-i' on dhclient(8) to discard previously defined values.
Enable imxiic(4) and imxanatop(4) on arm64 GENERIC and RAMDISK kernels.
Enable imxgpc(4) , imxgpio(4) and imxesdhc(4) on GENERIC and RAMDISK kernels for the arm64 platform.
Also move imxgpc(4) , imxgpio(4) and imxesdhc(4) drivers so they can be shared between arm64 and armv7.
Fix potential overflow in cut(1) for 64bit systems.
Updated bdftopcf to version 1.1.
Moved driver for imxuart(4) so it can be shared by arm64 and armv7.
Updated xterm(1) to version 331.
Updated unbound(8) to 1.7.0.
Enable mvclock(4) , mvicu(4) , mvpinctrl(4) , mvgpio(4) and mvrtc(4) on GENERIC and RAMDISK kernels for arm64 platforms.
Added support for mvrtc(4) , a real time clock integrated on various Marvell Armada SoCs.
Fixed some setlocale(3) bugs.
Add support in the flattened device tree code for legacy binding of Marvell devices for "usb-nop-xceiv" PHYs.
Fix memory leak in sparc64 ofwboot when booting softraid(4) crypto devices.
Prevent tmux(1) from crashing in certain cases with empty windows.
Fixed network locking in pppx(4) .
Fix in libcrypto for CVS-2018-0739 regarding ASN.1 recursive definition depth.
Remove RDTSCP from CPUID flags reported to vmm(4) guests.
Fix remaining external file system locking so VOP_LOCKs are done in accordance with how WITNESS wants it.
Fix memory leak in pf(4) when adding same table twice.
Check for possible NFS race after sleeping to prevent future lock ordering problem.
Mark ext2fs inode recursive lock as RWL_IS_VNODE to help when WITNESS is enabled.
Configure dwxe(4) TX and RX chain delay based on device tree properties.
In the X.org DRM code, defer disabling the vblank IRQ until next interrupt.
Updated time zone data to tzdata2018d.
Added acpicmos(4) , a driver that implements SystemCMOS access support.
SSLeay history from 0.4 to 0.8.1b added to SSL manpages.
Make sure nc(1) clears password buffers in non-terminating cases.
Fix wrong execution and out of boundary writes in apply(1) .
Make sure programs violating a pledge(2) promise cannot block the final SIGABRT.
Try harder to execute code protected by mutexes after entering ddb(4) .
Exclude SIGKILL from ptrace(2) interception to prevent deadlock when parent waits for the traced process.