Thank you to all the developers for such a great release! Sysupgrade went
flawlessly on my cloud instances, router, and laptop host. Keep up the great
work!
On Mon, Apr 10, 2023, at 6:52 AM, Theo de Raadt wrote:
>
> ------------------------------------------------------------------------
> - OpenBSD 7.3 RELEASED -------------------------------------------------
>
> April 10, 2023.
>
> We are pleased to announce the official release of OpenBSD 7.3.
> This is our 54th release. We remain proud of OpenBSD's record of more
> than twenty years with only two remote holes in the default install.
>
> As in our previous releases, 7.3 provides significant improvements,
> including new features, in nearly all areas of the system:
>
> - Various kernel improvements:
> o Added waitid(2), wait for process state change.
> o Added pinsyscall(2), specify the call stub for a specific system
> call.
> o Added getthrname(2) and setthrname(2), get or set thread name.
> o Added WTRAPPED option for waitid(2) to control whether CLD_TRAPPED
> state changes, i.e., ptrace(2) on a process, are reported.
> o Introduced clockintr(9), a machine-independent clock interrupt
> scheduler. Switched all architectures to use this new kernel
> subsystem.
> o Added a priority queue to clockintr(9).
> o Introduced a new kern.autoconf_serial sysctl(8) that can be used
> by userland to monitor state changes of the kernel device tree.
> o Fixed pmap(9) bugs involving entering an executable mapping for a
> page before synchronizing the data and instruction cache on arm64
> and riscv64.
> o Removed copystr(9) from public API.
> o Add getnsecruntime(9) to the kernel timecounting API. Together
> with getbinruntime(), it provides a fast, monotonic clock that
> only advances while the system is not suspended.
> o Add detection for Spectre-BHB Branch History Injection
> vulnerability related CLRBHB, ECBHB and CSV2_3/HCXT feature bits.
> o Prevent detaching ("bioctl -d detach") of a boot volume on a RAID
> managed by bioctl(8).
> o On arm64, avoid using 1GB mappings for the identity map in the
> early kernel bootstrap phase and when booting the secondary CPUs.
> This avoids accidentally mapping memory regions that should not be
> mapped (i.e. secure memory) as all mapped memory can be accessed
> speculatively.
> o Added arm64 detection of EPAN feature bit. Enhanced Privileged
> Access Never (EPAN) allows Privileged Access Never to be used with
> Execute-only mappings.
> o On arm64, add a machdep.lidaction sysctl(8) for aplsmc(4) Apple
> Silicon laptops.
> The arm64 default for the machdep.lidaction is 1, making the
> system suspend when the lid is closed. aplsmc(4) provides support
> for the lid position sensor.
> o Changed arm64 suspend idle loop from WFE to WFI, avoiding spurious
> wakeups while other CPUs are still active.
> o Added new dt(4) tracing ioctl DTIOCARGS to get the type of probe
> arguments.
>
> - SMP Improvements
> o Unlocked mmap(2), munmap(2), and mprotect(2).
> o Unlocked sched_yield(2).
> o Added support for per-cpu event counters, to be used for clock and
> IPI counters where the event counted occurs across all CPUs in the
> system.
> o Moved pf(4) purge tasks out from under the kernel lock.
> o Unlocked ioctl(2) SIOCGIFCONF, SIOCGIFGMEMB, SIOCGIFGATTR, and
> SIOCGIFGLIST.
> o Protected interface tables in pf(4) with PF_LOCK(), allowing
> removal of NET_LOCK() protection from the ioctl(2) code path in
> pf.
> o Unlocked getsockopt(2) and setsockopt(2).
> o Completed removing kernel lock from IPv6 read ioctls.
> o Unlocked minherit(2).
> o Made tun(4) and tap(4) event filters MP-safe.
> o Unlocked utrace(2).
> o Stopped holding the vm_map lock while flushing pages in msync(2)
> and madvise(2). Prevents a 3-thread deadlock between msync(2),
> page-fault and mmap(2).
> o Unlocked select(2), pselect(2), poll(2), and ppoll(2).
>
> - Direct Rendering Manager and graphics drivers
> o Updated drm(4) to Linux 6.1.15
> o amdgpu(4): Added support for Ryzen 7000 "Raphael", Ryzen 7020
> series "Mendocino", Ryzen 7045 series "Dragon Range", Radeon RX
> 7900 XT/XTX "Navi 31", Radeon RX 7600M (XT), 7700S, and 7600S
> "Navi 33."
> o Fixed frame buffer corruption and additional bugs after wakeup on
> Apple Silicon laptops and the Lenovo x13s.
> o Added support for the backlight connector property to amdgpu(4) as
> in inteldrm(4), making xbacklight(1) work when using the Xorg
> modesetting driver.
>
> - VMM/VMD improvements
> o Updated vmm(4) to allow guests to read MSR_HWCR and MSR_PSTATEDEF,
> which is necessary to determine the TSC frequency on AMD families
> 17h and 19h.
> o Allocated reference for vm and vcpu SLISTs in vmm(4), keeping vmm
> from triggering excessive wakeup calls while iterating through the
> list of vms while servicing an ioctl(2).
> o Set vmm(4) RAX guest register state based on VMCB.
> o Removed locking in vmm(4) vmm_intr_pending, reducing slowdowns due
> to requests for a lock held while the VM is running.
> o Increased speed of delivery of interrupts to a running vcpu in
> vmm(4).
> o Made vmm(4) treat vcpu lists as immutable, removing the need to
> reference count individual vcpu objects and use a rwlock.
> o Implemented zero-copy operations on virtqueues in vmd(8).
> o Provided a detailed e820 memory map when booting vmd(8) guests
> with SeaBIOS. When a vm initializes memory ranges, we now track
> what each range represents. This information can be used to supply
> the e820 memory map to SeaBIOS via the fw_cfg interface allowing
> it to properly communicate memory ranges to a guest operating
> system. With this special cases in ports can be removed.
> o Added thread names to vm processes in vmd(8), visible in ps(1).
> o Hid the WAITPKG cpu feature from vmm(4) guests, preventing invalid
> instruction exceptions. Also added WAITPKG feature identification
> to i386 and amd64.
> o Changed vmd(8) to only open /dev/vmm once, having the parent
> process send the fd to the vmm child process.
> o Restricted vmm(4) exposed cpuid extended feature flags.
> o Adjusted vmd(8) error paths to avoid removal of
> configuration-defined (known) VMs on error.
> o Stopped being paranoid about hypervisor correct PKU handling.
> Added saving and restoring guest PKRU to vmm(4). Expose the PKU
> cpuid bit to the guest if in use on the host.
> o Made vmd(8) scan the PCI bus to determine bootorder strings.
>
> - Various new userland features:
> o Added kdump(1) argument support for msyscall, pledge, unveil,
> __realpath, ypconnect and __tmpfd.
> o Added mimmutable(2) and munmap(2) reporting to kdump(1).
> o Added lastcomm(1) reporting for process kills due to execve(2)
> from non-pinned syscall address.
>
> - Various bugfixes and tweaks in userland:
> o Allow TZ to contain absolute paths starting with
> /usr/share/zoneinfo. All absolute paths were ignored in 7.2 to
> avoid unveil(2) violations.
> o Made ldomctl(8) accept more descriptive name-based paths in
> addition to number-based paths in ldom.conf(5).
> o Dropped support for $rc_exec in rc.subr(8). The rc_exec function
> should be used instead.
> o Excluded /tmp/*.shm files from /tmp cleaning in daily(8). Removing
> them interferes with programs that use shared memory via
> shm_open(3).
> o Added zap-to-char and zap-up-to-char to mg(1). Bound zap-to-char
> to M-z.
> o Fixed handling of escaped backslashes in vi(1) ex_range.
> o Added support to gunzip(1) for zip files that contain a single
> member.
> o Fixed ed(1) to print bytes read/written and the ? prompt to
> stdout, not stderr.
> o Modified the vmstat view in systat(1) to measure elapsed time
> using clock_gettime(2).
> o Implemented periodic display in iostat(8).
> o Corrected top(1) display of online CPUs which can change based on
> the sysctl(2) sysctl setting.
> o Added support for a personal units(1) library by passing -f
> multiple times.
> o Changed df(1) to round up fractional percentages.
> o Fixed unbounded variable expansion in pkg-config(1).
> o Switched to use llvm-strip(1) on architectures that use ld.lld(1).
> o Made rc(8) reorder libraries in parallel to netstart(8), as this
> does not depend on network access.
> o Made rc(8) print the name of each library before relinking as a
> signal to the operator that boot has not stalled.
> o Added the audioctl(8) -w option to display variables periodically.
> o Added short options for timeout(1) --foreground and
> --preserve-status.
> Added signal as a full argument name for timeout(1) -s.
> o Fixed .wav files generated by aucat(1) by using extended header
> format.
> o In disklabel(8), use the size of the largest chunk of free space,
> not the total of all such chunks, when checking for sufficient
> space to add a partition.
> o Extended disklabel(8) template parsing to allow "[mount point] *"
> as the specification for putting the maximum available free space
> into a partition. Extended command line parsing to allow "T-" as
> the specification to read the template from stdin.
> o Repaired disklabel(8) to check for D_VENDOR flag in d_flags, not
> d_secpercyl.
> o Removed remnents of DEC standard 144 bad sector code from
> disklabel(8) and disktab(5).
> o Removed last references to d_drivedata field from disklabel(8)
> o Enhanced disklabel(8) auto allocation to use all possible free
> space.
> o Enhanced disklabel(8) to ensure valid partition offsets and sizes
> after rounding.
> o Enhanced disklabel(8) simple editor to allow '*' when the action
> is 'delete'.
> o Removed disklabel(8) code related to defunct disk types 'hd' and
> 'svnd'.
> o Repaired fdisk(8) to set the correct 'bootable' bit in GPT
> partitions.
> o Repaired fdisk(8) to use GPT_UUID_NBSD_UFS for NetBSD GPT
> partition entries.
> o Added UEFI defined GPT partition type GPT_UUID_LEGACY_MBR to the
> partition types fdisk(8) recognizes.
> o Enhanced fdisk(8) to avoid spurious warnings when editing unused
> GPT partition.
> o Fixed cdio(1) error displays and plugged a leak in the error path.
> o Removed pointless :ob#0:pb#0:[tb=swap:] and :pb#N:ob#0: lines from
> various disktab(5) entries.
>
> - Improved hardware support and driver bugfixes, including:
> o Suspend/Resume improvements
> - Extended arm64 suspend/resume to include support for parking
> CPUs in a WFE/WFI loop.
> - Put CPUs in the lowest P-state before the final suspend step,
> needed for systems where we park CPUs in a low-power idle
> state ourselves.
> o system-on-chip devices
> - Added support for the Rockchip RK3566/RK3568 SoCs.
> - Added support for the Rockchip RK3568 processor.
> - Added support for the RK3568 PCIe controller to dwpcie(4).
> - Added qcdwusb(4), a driver controlling the interface logic
> for the Synopsys DesignWare USB 3.0 controller found on
> various Qualcomm Snapdragon SoCs.
> - Added support for the PCIe controller on the Qualcomm
> SC8280XP to dwpcie(4).
> - Added qcpmicgpio(4), a driver for the GPIO block inside the
> Qualcomm PMICs.
> - Added qcpmic(4), a driver for the SPMI-connected PMICs found
> on Qualcomm SoCs.
> - Added qcspmi(4), a driver for the SPMI PMIC Arbiter found on
> Qualcomm SoCs.
> - Added qcpdc(4), a driver for the Qualcomm Power Domain
> controller found on Qualcomm SoCs.
> - Added qcpwm(4), a driver for the PWM found on Qualcomm SoCs.
> - Added qcpon(4), a driver for the Qualcomm PMIC block that
> hosts the powerkey and reset input.
> - In rkgpio(4), handled different register layouts in modern
> Rockchip SoCs as seen in the RK356x and RK3588.
> - Added support for RK356x TSADC clocks to rkclock(4).
> - Added GMAC-related RK356x clocks to rkclock(4).
> - Added RK3588 support to rkclock(4) and rkpinctrl(4).
> - Added mvortc(4), a driver for the RTC on the ARMADA 38x
> series.
> - Added mvodog(4), a driver for the watchdog on the ARMADA 38x
> series.
> - Implemented rkpinctrl(4) support for explicit routing to use
> alternative pin muxings.
> - Added ytphy(4), a driver for the MotorComm YT8511 PHY.
> - Made rktemp(4) work on RK356x with U-Boot.
> - Added initialization code for RK356x in dwpcie(4) to prevent
> kernel hangs.
> - Implemented setting the parent clock for RK356x in
> rkclock(4).
> - Added dwpcie(4) code to bring up the PCIe controller on the
> RK356x.
> - Added rkpciephy(4), a driver for the PCIe 3.0 PHY found on
> the RK356x.
> - Added rkcomphy(4), a driver for the "naneng" combo PHY found
> on the RK356x (and RK3588). Only PCIe, SATA and USB3 support
> are implemented.
> o Improved support for Apple arm64 hardware
> - Made aplhidev(4) recognize M1 laptops with touchbars and
> translated Fn+(1-10,-,=) keys to F1-F12 on these systems.
> - Added suspend/resume support to aplns(4).
> - Implemented wakeup interrupt support in aplintc(4).
> - Added suspend/resume support to control the power domain to
> aplsart(4).
> - Made the power button function as a wakeup button during
> suspend in aplsmc(4).
> - Added aplpwm(4), a driver for the PWM controller found on
> Apple Silicon.
> - Improve Apple support by increasing the apliic(4) transfer
> completion timeout to 100ms to accommodate USB Type-C PD
> chips.
> - Added tipd(4), a driver fixing USB hotplug of type-C
> connectors on Apple Silicon hardware.
> - Improved aplpmu(4) range check to protect against overflow.
> - Added aplefuse(4), a driver for the eFuses on Apple Silicon
> SoCs.
> - Enabled aplpcie(4) power management for PCI devices.
> - Disable the screen backlight with aplsmc(4) on Apple Silicon
> laptops when the lid is closed.
> o X13s support
> - Worked around incomplete ACPI tables on the Lenovo x13s by
> loading the alternate device tree binaries from disk.
> - Set console output to the framebuffer on Lenovo x13s
> machines.
> - Made the USB ports work after a suspend/resume cycle on the
> x13s.
> o Improved audio devices
> - Made aplaudio(4) calculate the bit clock based on numbers of
> channels, bytes/sample and sample rate.
> - Set sncodec(4) and tascodec(4) default volume to -30dB
> instead of the hardware default of 0dB (maximum).
> - Added sncodec(4), a driver for the TI SNO12776/TAS2764
> digital amplifier.
> o Other changes
> - Added support for the Wacom One M CTL-672 tablet to
> uwacom(4).
> - Hooked up the same USB device drivers on riscv64 as done in
> the arm64 architecture kernel.
> Enabled access to usb(4), ugen(4), ulpt(4), ucom(4) and
> ujoy(4).
> - Added uftdi(4) support for FTDI FT232R.
> - Added uhidpp(4) support for Bolt receivers and the Unified
> Battery feature often found on newer Logitech HID++ hardware.
> - Converted more RTC drivers to use todr_attach(). Quality of
> the RTC is set such that "discrete" RTC chips are preferred
> over RTCs integrated on a SoC.
> - Added support for the DS1339 RTC as found on the PiJuice.
> - Added qcrtc(4), a driver for the RTC found on Qualcomm PMICs.
> - Improved qcrtc(4) RTC reliability.
> - Added cursor back tab support to wscons(4) VT100 emulation.
> Added aixterm bright color sequences (SGR 90-97 and 100-107).
> - Added missing wscons(4) bounds checks when processing
> terminal escape sequences.
> - Replaced broken UTF-8 logic in wscons(4) with a better one
> borrowed from Citrus.
> - Introduced pijuice(4), an apm/sensor driver for the PiJuice
> HAT UPS.
> - Added pwmleds(4), a driver for PWM controlled LEDs.
> - Implemented dwpcie(4) support for the (optional) MSI
> controller of the Synopsys DesignWare PCIe host bridge.
> - Added icc(4) driver for I2C Consumer Control devices.
> - Prevented a possible crash when a ugen(4) device is detached.
> - Implemented wakeup interrupt handling in agintc(4).
> - Enabled pcagpio(4) and pcamux(4), making the SFP port on the
> ClearFog Base (CN9130) work.
> - Adopted a workaround for a bug in the ARM generic timer on
> the A64, disabling userland timecounter support on affected
> hardware pending a similar libc workaround.
> - Made amd64 cpuid recognize protection keys for Protection Key
> Supervisor (PKS).
> - Implemented access to EFI variables ESRT through an ioctl(2)
> interface compatible with what FreeBSD and NetBSD have.
> Created /dev/efi on amd64 and arm64.
> - Added dwge(4) support for "enhanced descriptor" mode found on
> some variants of the Synopsys DesignWare GMAC.
> - Removed the elansc(4) driver for AMD Elan SC520 System
> Controller.
> - Made ppb(4) bus range available after detaching, fixing
> unplugging and replugging thunderbolt devices that were
> plugged in when the machine was booted.
> - Reworked the arm64 architecture cpu_init_secondary() function
> to allow use for both initial powerup and wakeup from deeper
> sleep states.
> - Added ufshci(4), a driver for Universal Flash Storage (UFS)
> Host Controllers.
> - Added scmi(4), a driver for the ARM System Control and
> Management Interface.
> - Added support for the Shenzhen Tangcheng Technology TCS4525
> voltage regulator to fanpwr(4).
> - Added psci(4) (ARM Power State Coordination Interface)
> support for available deep idle states as advertised in
> device trees.
> - Added eephy(4), found on the Turris Omnia WAN port, to armv7.
> - Added polling to tipmic(4) driver when starting from a cold
> boot, fixing a hang on boot.
> - Added a workaround for Intel Braswell/Cherry Trail mwait
> hang.
> - Added the Armada 380 temperature sensor to mvtemp(4) and
> enabled the driver on armv7.
>
> - New or improved network hardware support:
> o Enabled em(4) IPv4, TCP and UDP checksum offloading and hardware
> VLAN tagging on devices with 82575, 82576, i350 and i210 chipsets.
> o Improved mcx(4) performance by using interrupt-based command
> completion.
> o Fixed a panic seen with rge(4) RTL8125 with MCLGETL.
> o Add dwqe(4), a driver for the Synopsys DesignWare Ethernet QoS
> controller used on the NXP i.MX8MP, the Rockchip RK35xx series and
> Intel Elkhart Lake.
> o Worked around an issue on the StarFive JH7100 SoC to make dwge(4)
> Ethernet work reliably on the StarFive VisionFive 1 board.
> o In mvneta(4), passed MII flags depending on the phy mode specified
> in the device tree, making the WAN port work on the Turris Omnia.
>
> - Added or improved wireless network drivers:
> o Bumped tsleep timeout for bwfm(4) PCI devices to help prevent
> failures loading firmware, particularly on Apple M2 laptops.
> o Implemented alternative mailbox handling mechanism required by
> newer bwfm(4) firmware.
> o Fixed bwfm(4) issues with suspend/resume and possible firmware
> crashes on the M2 MacBook Air.
> o Prevented an iwx(4) firmware error when authentication to the AP
> times out.
> o Fixed a crash in iwx(4) when connecting to WEP networks via
> ifconfig(8) join.
> o Fixed an alignment issue in iwx(4) Rx descriptors.
> o Avoided trying to remove keys while doing crypto in hardware if
> the station is not active in iwx(4) firmware, fixing a firmware
> panic.
> o Prevented potential panics by disallowing the iwx(4) init task
> from running in parallel to wakeup code during resume.
> o Switched all iwx(4) devices to -77 firmware images.
> o Upgraded firmware images for iwm(4) 9260 and 9560 devices.
> o Made iwx(4) get the primary channel number from AP beacon info,
> preventing problems on 40/80Mhz channels if there is a mismatch.
> o Fixed iwx(4) session protection event duration.
>
> - IEEE 802.11 wireless stack improvements and bugfixes:
> o Made net80211 drop beacons received on secondary HT/VHT channels,
> preventing iwm(4) firmware panics and making association work with
> 11ac APs which transmit beacons on channels other than their
> primary.
> o Made WEP encryption work on bwfm(4).
>
> - Installer, upgrade and bootloader improvements:
> o Made installer answers ! and (S)hell drop into a ksh(1)
> environment rather than the more limited sh(1).
> o Added support for configuring interfaces by lladdr (MAC).
> o Made the installer skip interface configuration questions when no
> interfaces are available.
> o Fixed resizing partitions on an auto-allocated disk that had a
> boot partition.
> o Stopped the installer from asking to initialize disks that have
> softraid(4) chunks.
> o Made efiboot fdt support device trees with NOPs in them (like the
> kernel version).
> o Improved the default choice for the installer's install media disk
> question to show the first disk that (a) is not the root disk and
> (b) is not a disk with softraid chunks (hosting the root disk, for
> example).
> o Stopped offering WEP in the installer if not supported.
> o Fixed lock file error on installer exit/abort.
> o Made installboot(8) -p support softraid(4).
> o Made installboot(8) silently skip softraid(4) keydisks.
> o Fixed passing explicit stages files to installboot(8).
> o Added mount_nfs(8) to the sparc64 installer, to fetch sets over
> NFS.
> o Copy the apple-boot firmware to EFI system partition, enabling
> automatic bootloader updates on Apple Silicon computers.
> o Made the installer stop printing MD post installation instructions
> on upgrades.
> o Made it possible to set keyboard layout(s) in arm64's installer.
> o Added initial support in the installer for guided disk encryption
> for amd64, i386, riscv64 and sparc64.
> o Added passing of boot device information from the bootloader to
> the kernel on luna88k.
> o Switched luna88k boot loader to MI boot code.
> o Made the luna88k bootloader display a puffy boot logo.
> o Made ls(1) work correctly in the luna88k bootloader.
> o Made time(1) work correctly in the luna88k bootloader.
> o Removed dangerous user-settable "addr" variable from MI
> bootloader, only compiling tty-related code on platforms where it
> makes sense for the bootloader to control it.
> o Added "machine poweroff" command on luna88k bootloader.
> o Switched alpha to machine-independent boot blocks.
> o Switched all architectures' ramdisks (except alpha's and
> luna88k's) to use installboot(8) -p.
> o Fixed ofwboot OpenFirmware map call to unbreak boot on some
> machines.
> o Reduced ofwboot.net size after libz update to unbreak netboot on
> some machines.
> o Made riscv64 bootloader support boot from RAID 1C softraid
> volumes.
> o Made installboot(8) support softraid(4) on riscv64.
> o Stopped creating defunct Vax (ra, rx), HP-300 (hd) and Sparc (xy,
> xd) devices in /dev.
>
> - Security improvements:
> o Permissions (RWX, MAP_STACK, etc.) on address space regions can be
> made immutable, so that mmap(2), mprotect(2) or munmap(2) fail
> with EPERM. Most of the program static address space is now
> automatically immutable (main program, ld.so, main stack,
> load-time shared libraries, and dlopen()'d libraries mapped
> without RTLD_NODELETE). Programmers can request non-immutable
> static data using the "openbsd.mutable" section, or manually bring
> immutability to (page aligned heap objects) using mimmutable(2).
> The main internal data of malloc(3) is marked immutable.
> o Some architectures now have non-readable code ("xonly"), both from
> the perspective of userland reading its own memory, or the kernel
> trying to read memory in a system call. Many sloppy practices in
> userland code had to be repaired to allow this. The linker
> (ld.lld(1)) option --execute-only is enabled by default. In order
> of development: arm64, riscv64, hppa, amd64, powerpc64, powerpc
> (G5 only), octeon, and sparc64 (sun4u only; unfinished).
> o On all architectures which lack hardware-enforcement of xonly,
> system calls are now prevented from reading (via
> copyin(9)/copyinst) inside the program's main text, ld.so text,
> sigtramp text, or libc.so text.
> o These can still benefit from switching to --execute-only binaries
> if the cpu generates different traps for instruction-fetch versus
> data-fetch. The VM system will not allow memory to be read before
> it was executed which is valuable together with library relinking.
> Architectures switched over include loongson.
> o ld.so(1) and crt0 register the location of the execve(2) stub with
> the kernel using pinsyscall(2), after which the kernel only
> accepts an execve call from that specific location.
> o Added execve(2) violations of pinsyscall(2) policy to the daily
> mail, available by setting rc.conf.local(5) accounting=YES.
> o Added retguard (consistency-check the return address on the stack)
> to amd64 syscalls.
> o sshd random relinking at boot: Randomly relink and install
> sshd(8), resulting in a sshd binary with unknown address layout
> after every reboot.
> o Add another mitigation against classic BROP on systems without
> execute-only mmu hardware-enforcement. A range-checking wrapper in
> front of copyin(9) and copyinstr(9) ensures the userland source
> address doesn't overlap the main program text and other text
> segments, thereby making these address ranges unreadable to the
> kernel. No programs have been discovered which require reading
> their own text segments with a system call.
> o On arm64, introduce mitigation of the Spectre-BHB (Branch History
> Injection) CPU vulnerability by using core-specific trampoline
> vectors.
> o Enabled the arm64 Data Independent Timing (DIT) feature in both
> the kernel and userland on CPUs that support it to mitigate timing
> side-channel attacks.
>
> - Changes in the network stack:
> o Made /dev/pf a clonable device to better track kernel resources
> used by processes.
> o Modified TCP receive buffer size auto-scaling to use the smoothed
> RTT (SRTT) instead of the timestamp option, which improves
> performance on high latency networks if the timestamp option isn't
> available.
> o Relaxed the requirement for multicast support of interfaces for
> configuring IPv6. This allows non-multicast interfaces such as
> point-to-point interfaces and the NBMA / point-to-multipoint
> interfaces like mpe(4), mgre(4) and wg(4) to work with IPv6.
> o Use the new getnsecruntime(9) timer to check the TCP_KEEPALIVE
> timer only against the system runtime, not the uptime. Prevents
> TCP connections to fail after waking up from suspend.
> o Used stoeplitz (symmetric Toeplitz hash algorithm) to generate a
> hash/flowid for pf(4) state keys. With this change, pf will hash
> traffic the same way that hardware using a stoeplitz key will hash
> incoming traffic on rings. stoeplitz is also used by the TCP stack
> to generate a flow id, which is used to pick which transmit ring
> is used on nics with multiple queues, too. Using the same
> algorithm throughout the stack encourages affinity of packets to
> rings and softnet threads the whole way through.
> o Prevented possible kernel crashes by dropping TCP packets with
> destination port 0 in pf(4) and the stack.
> o Fixed an endian swap bug causing problems with vlan(4) on em(4)
> sparc64 systems.
> o Denied "pipex no" tunnel setting for pppx(4) interfaces.
> o Fixed pfsync(4) crashing on pf_state_key removal.
> o Fixed a panic in pfsync(4) when there is no data ready for bulk
> transfer.
> o Turned off TCP Segmentation Offload (TSO) if interface is added to
> layer 2 devices.
> o Improved vnet(4) to work better in busy conditions.
> o Added a bpf(4) timeout (BIOCSWTIMEOUT) between capturing a packet
> and making the buffer readable, preventing, for example, pflogd(8)
> waking every half second even if there is nothing to read. By
> default this buffer is infinite and must be filled to become
> readable.
> o Avoided enabling TSO on interfaces which are already attached to a
> bridge.
>
> - Routing daemons and other userland network improvements:
> o IPsec support was improved:
> - Added iked(8) support for configuring multiple name servers.
> - Synced proc.c from vmd(8) to iked(8) to enable fork + exec
> for all processes. This gives each process a fresh and unique
> address space to further improve randomization of ASLR and
> stack protector.
> o In bgpd(8), bgpctl(8) and bgplgd(8):
> - Improved performance by optimising the output filters.
> - Add Autonomous System Provider Authorization (ASPA)
> validation based on draft-ietf-sidrops-aspa-verification-12
> - Introduce avs (ASPA validation state) filter and bgpctl
> filter argument.
> - Add ASPA support for the RTR protocol based on
> draft-ietf-sidrops-8210bis-10.
> - Improve open policy (RFC 9234) support and enable the
> capability automatically if a role is specified for the peer.
> - Introduce a per-neighbor 'role' configuration option to
> specify the session role used by ASPA verification and the
> open policy capability. The 'announce policy' statement was
> simplified at the same time.
> - Improve startup behaviour by introducing a small delay before
> opening the connection to a new peer.
> - Support for aspa-set table config which can be provided by
> rpki-client(8).
> - Make it possible to filter the RIB by invalid and leaked
> prefixes in bgpctl and bgplgd.
> - Add OpenMetrics output to bgpctl for various BGP statistics
> and add /metrics endpoint to bgplgd.
> - Fix of incorrect length checks that allowed an out-of-bounds
> read in bgpd.
> o rpki-client(8) saw some changes:
> - Add a new '-H' command line option to create a shortlist of
> repositories to synchronize to. For example, when invoking
> "rpki-client -H rpki.ripe.net -H chloe.sobornost.net", the
> utility will not connect to any other hosts other than the
> two specified through the -H option.
> - Add support for validating Geofeed (RFC 9092) authenticators.
> To see an example download https://sobornost.net/geofeed.csv
> and run "rpki-client -f geofeed.csv"
> - Add support for validating Trust Anchor Key (TAK) objects.
> TAK objects can be used to produce new Trust Anchor Locators
> (TALs) signed by and verified against the previous Trust
> Anchor. See draft-ietf-sidrops-signed-tal for the full
> specification.
> - Log lines related to RRDP/HTTPS connection problems now
> include the IP address of the problematic endpoint (in
> brackets).
> - Improve the error message when an invalid filename is
> encountered in the rpkiManifest field in the Subject Access
> Information (SIA) extension.
> - Emit a warning when unexpected X.509 extensions are
> encountered.
> - Restrict the ROA ipAddrBlocks field to only allow two
> ROAIPAddressFamily structures (one per address family). See
> draft-ietf-sidrops-rfc6482bis.
> - Check the absence of the Path Length constraint in the Basic
> Constraints extension.
> - Restrict the SIA extension to only allow the signedObject and
> rpkiNotify accessMethods.
> - Check that the Signed Object access method is present in ROA,
> MFT, ASPA, TAK, and GBR End-Entity certificates.
> - In addition to the 'rsync://' scheme, also permit other
> schemes (such as 'https://') in the SIA signedObject access
> method.
> - Check that the KeyUsage extension is set to nothing but
> digitalSignature on End-Entity certificates.
> - Check that the KeyUsage extension is set to nothing but
> keyCertSign and CRLSign on CA certificates.
> - Check that the ExtendedKeyUsage extension is absent on CA
> certificates.
> - Fix a bug in the handling of the port of http_proxy.
> - The '-r' command line option has been deprecated.
> - Filemode (-f) output is now presented as a text based table.
> - The 'expires' key in the JSON/CSV/OpenBGPD output formats is
> now calculated with more accuracy. The calculation takes into
> account the nextUpdate value of all intermediate CRLs in the
> signature path towards the trust anchor, in addition to the
> expiry moment of the leaf-CRL and CAs.
> - Handling of CRLs and Manifests in the face of inconsistent
> RRDP delta publications has been improved. A copy of an
> alternative version of the applicable CRL is kept in the
> staging area of the cache directory, in order to increase the
> potential for establishing a complete publication point, in
> cases where a single publication point update was smeared
> across multiple RRDP delta files.
> - The OpenBGPD configuration output now includes validated
> Autonomous System Provider Authorization (ASPA) payloads as
> an 'aspa-set {}' configuration block.
> - When rpki-client is invoked with increased verbosity ('-v'),
> the current RRDP Serial and Session ID are shown to aid
> debugging.
> - Self-signed X.509 certificates (such as Trust Anchor
> certificates) now are considered invalid if they contain an
> X.509 AuthorityInfoAccess extension.
> - Signed Objects where the CMS signing-time attribute contains
> a timestamp later then the X.509 certificate's notAfter
> timestamp are considered invalid.
> - Manifests where the CMS signing-time attribute contains a
> timestamp later then the Manifest eContent nextUpdate
> timestamp are considered invalid.
> - Any objects whose CRL Distribution Points extension contains
> a CRLIssuer, CRL Reasons, or nameRelativeToCRLIssuer field
> are considered invalid in accordance with RFC 6487 section
> 4.8.6.
> - For every X.509 certificate the SHA-1 of the Subject Public
> Key is calculated and compared to the Subject Key Identifier
> (SKI). If a mismatch is found the certificate is not trusted.
> - Require the outside-TBS signature OID for every X.509
> intermediate CA certificate and CRL to be
> sha256WithRSAEncryption.
> - Require the RSA key pair modulus and public exponent
> parameters to strictly conform to the RFC 7935 profile.
> - Ensure there is no trailing garbage present in Signed Objects
> beyond the self-embedded length field.
> - Require RRDP Session IDs to strictly be version 4 UUIDs.
> - When decoding and validating an individual RPKI file using
> filemode (rpki-client -f file), display the signature path
> towards the trust anchor and the timestamp when the signature
> path will expire.
> - When decoding and validating an individual RPKI file using
> filemode (rpki-client -f file), display the optional CMS
> signing-time, non-optional X.509 notBefore timestamp and
> non-optional X.509 notAfter timestamp.
> o Updated zlib to 1.2.13.
> o Fixed a long-standing bug in a libreadline header that broke the
> interactive Python command line interface.
> o Switched tftpd(8) to default to read-only unless -w is specified
> for write access (the previous default).
> o Stopped printing the prompt for non-interactive usage of tftp(1).
> o Changed rarpd(8) to only unveil /tftpboot if -t is specified.
> o Added client certificate authentication and an optional SASL
> EXTERNAL bind to ypldap(8).
> o Adjusted ipv6 address width to align the display columns better in
> the output of ndp(8), route(8) and netstat(1) as already available
> in systat(1)'s netstat.
> o Used stravis(3) to sanitize redirect URIs from ftp(1) fetch before
> printing.
> o Prevent an unwind(8) crash when a TCP query is larger than the
> length field indicated.
> o Preserve the original order of nameservers as configured via
> resolv.conf(5) in resolvd(8).
> o Restrict the characters allowed in the hostname argument of
> getaddrinfo(3) to the set [A-z0-9-_.]. Additionally, two
> consecutive dots ('.') are not allowed nor can the string start
> with - or '.'. This removes characters like '$', '`', '\n' or '*'
> that can traverse the DNS without problems but have special
> meaning as in a shell.
> o Fixed a number of out of bounds reads in DNS response parsing of
> the async DNS resolver in libc.
> o Added ifconfig(8) -M (mac) to find the mac address on an interface
> and print it.
> o Added support for configuring interfaces by lladdr to support
> interface configurations bound to a specific hardware device. The
> "if" part of the hostname.if(5) configuration file can now be a
> MAC address.
> o Limited display of wireguard peers by ifconfig(8) to when either a
> wireguard interface is specified or the flag "-A" is used.
> o Implemented the RFC 8781 PREF64 router advertisement option in
> rad(8) which is used to communicate NAT64 prefixes to hosts.
> o Moved the documentation of flag mappings displayed by "route show"
> from the netstat(1) manpage to route(8).
> o Improvements in nc(1):
> - Stop claiming connection success in UDP mode unless true.
> - Do not test the connection in non-interactive mode. The test
> writes characters to the socket which can corrupt data that
> is possibly piped into nc.
> - Some refactoring and code cleanup.
> o Improvements in acme-client(1):
> - Added support for newlines inside the alternative names block
> in acme-client.conf(5).
> - Use proper data structures for retrieving subject alternative
> names in certificates rather than printing them to a buffer
> and tokenizing and parsing the undocumented string.
> - Simplified, corrected and modernized the use of libcrypto
> interfaces.
> - Plugged various memory leaks.
> - Use ASN1_TIME_to_tm(3) instead of a poor man's hand-rolled
> version of it.
> - Use timegm(3) instead of mktime(3) to eliminate time-zone
> variation.
> - Encode Subject Alternative Name (SAN) entries before
> printing.
> - Prevent acme-client(1) from leaking an http get request when
> receiving a redirect without a location header.
> o Prevented smtpd(8) abort due to a connection from a local, scoped
> ipv6 address.
> o Fixed a potential NULL dereference in the unpriv child expanding
> %{mda} in smtpd(8).
> o Corrected the order of arguments for calls to shutdown(2) on the
> route socket of slaacd(8), dhcpleased(8) and unwind(8).
> o Made route(8) sourceaddr print the used addresses for inet and
> inet6, or "default" if no sourceaddr is set and the default
> algorithm is used.
> o Added -mpls option to the route(8) monitor command. It can be used
> to restrict displayed route messages to the mpls address family.
> o Fixed rsync(1) handling of port numbers in
> rsync://host[:port]/module URLS.
> o Made tcpdrop(8) accept netstat-style address.port syntax.
> o Ensured pfctl(8) correctly adds addresses to the
> undefined/inactive table.
> o Switched tftpd(8) to default to read-only unless -w is specified
> for write access (the previous default).
> o Changed rarpd(8) to only unveil /tftpboot if -t is specified.
> o Fixed the DIOCIGETIFACES ioctl so all network interfaces and
> interface groups are reported in pfctl(8).
>
> - tmux(1) improvements and bug fixes:
> o Added scroll-top and scroll-bottom tmux(1) commands to scroll so
> cursor is at the top or bottom respectively.
> o Added a -T flag to tmux(1) capture-pane to capture up to the last
> used cell and not the full width of the pane.
> o Preserved the marked pane when renumbering windows in tmux(1).
> o Added modified tab key sequences to tmux(1).
> o Changed tmux(1) to only set the extended flag when searching,
> which allows send-keys to work.
> o Added a -l flag to tmux(1) display-message to disable format
> expansion.
> o Fixed a tmux(1) crash when there are no window buffers.
> o Fixed tmux(1) C-S-Tab without extended keys.
> o Added tmux(1) send-keys -K to handle keys directly as if typed.
> o Made tmux(1) tty-keys accept \007 as terminator to OSC 10 or 11.
> o Made tmux(1) recognize pasted texts wrapped in bracket paste
> sequences, rather than only forwarding to the program inside.
> o Supported -1 without -N for list-keys in tmux(1).
> o Added a flag to tmux(1) display-menu to select the menu item
> chosen first.
> o Added Backtab key support to tmux(1)
> o Disallowed multiple consecutive line separators in tmux(1) menu.
> o Extended display-message to work for control clients in tmux(1).
> o Added -f to list-clients in tmux(1).
> o Added a tmux(1) L modifier like P, W, S to loop over clients.
>
> - LibreSSL version 3.7.2
> o New features
> - Added Ed25519 support both as a primitive and via OpenSSL's
> EVP interfaces.
> - X25519 is now also supported via EVP.
> - The OpenSSL 1.1 raw public and private key API is available
> with support for EVP_PKEY_ED25519, EVP_PKEY_HMAC and
> EVP_PKEY_X25519. Poly1305 is not currently supported via this
> interface.
> - Added EVP_CIPHER_meth_*() setter API.
> - Added various X.509 accessor functions.
> o Compatibility changes
> - BIO_read() and BIO_write() now behave more closely to OpenSSL
> 3 in various corner cases.
> o Bug fixes
> - Added EVP_chacha20_poly1305() to the list of all ciphers.
> - Fixed potential leaks of EVP_PKEY in various printing
> functions
> - Fixed potential leak in OBJ_NAME_add().
> - Avoid signed overflow in i2c_ASN1_BIT_STRING().
> - Cleaned up EVP_PKEY_ASN1_METHOD related tables and code.
> - Fixed long standing bugs BN_GF2m_poly2arr() and
> BN_GF2m_mod().
> - Fixed segfaults in BN_{dec,hex}2bn().
> - Fixed NULL dereference in x509_constraints_uri_host()
> reachable only in the process of generating certificates.
> - Fixed a variety of memory corruption issues in BIO chains
> coming from poor old and new API: BIO_push(), BIO_pop(),
> BIO_set_next().
> - Avoid potential divide by zero in BIO_dump_indent_cb()
> - Fixed a memory leak, a double free and various other issues
> in BIO_new_NDEF().
> - Fixed various crashes in the openssl(1) testing utility.
> - Do not check policies by default in the new X.509 verifier.
> - Avoid crash with ASN.1 BOOLEANS in openssl(1) asn1parse.
> - Added missing error checking in PKCS7.
> - Call CRYPTO_cleanup_all_ex_data() from OPENSSL_cleanup().
> o Documentation improvements
> - Numerous improvements and additions for ASN.1, BIO, BN, and
> X.509.
> - The BN documentation is now considered to be complete.
> - Marked BIO_s_log(3) BIO_nread0(3), BIO_nread(3),
> BIO_nwrite0(3), BIO_nwrite(3), BIO_dump_cb(3) and
> BIO_dump_indent_cb(3) as intentionally undocumented.
> - Documented various BIO_* interfaces.
> - Documented ED25519_keypair(3), ED25519_sign(3), and
> ED25519_verify(3).
> - Documented EVP_PKEY raw private/public key interfaces.
> - Documented ASN1_buf_print(3).
> - Documented DH_get0_*, DSA_get0_*, ECDSA_SIG_get0_* and
> RSA_get0_*.
> - Merged documentation of UI_null() from OpenSSL 1.1
> - Various spelling and other documentation improvements.
> o Internal improvements
> - Remove dependency on system timegm() and gmtime() by
> replacing traditional Julian date conversion with POSIX
> epoch-seconds date conversion from BoringSSL.
> - Removed old and unused BN code dealing with primes.
> - Started rewriting name constraints code using CBS.
> - Removed support for the HMAC PRIVATE KEY.
> - Reworked DSA signing and verifying internals.
> - Rewrote the TLSv1.2 key exporter.
> - Cleaned up and refactored various aspects of the legacy TLS
> stack.
> - Initial overhaul of the BIGNUM code:
> # Added a new framework that allows architecture-dependent
> replacement implementations for bignum primitives.
> # Imported various s2n-bignum's constant time assembly
> primitives and switched amd64 to them.
> # Lots of cleanup, simplification and bug fixes.
> - Changed Perl assembly generators to move constants into
> .rodata, allowing code to run with execute-only permissions.
> - Capped the number of iterations in DSA and ECDSA signing
> (avoiding infinite loops), added additional sanity checks to
> DSA.
> - ASN.1 parsing improvements.
> - Cleanup and improvements in EC code, including always
> clearing EC groups and points on free.
> - Various openssl(1) improvements.
> - Various nc(1) improvements.
> o Security fixes
> - A malicious certificate revocation list or timestamp response
> token would allow an attacker to read arbitrary memory.
>
> - OpenSSH 9.3 and OpenSSH 9.2
> This release of OpenBSD includes the changes made to OpenSSH since
> release 9.1:
> o Security
> - ssh-add(1): when adding smartcard keys to ssh-agent(1) with
> the per-hop destination constraints (ssh-add -h ...) added in
> OpenSSH 8.9, a logic error prevented the constraints from
> being communicated to the agent. This resulted in the keys
> being added without constraints. The common cases of
> non-smartcard keys and keys without destination constraints
> are unaffected. This problem was reported by Luci Stanescu.
> - ssh(1): Portable OpenSSH provides an implementation of the
> getrrsetbyname(3) function if the standard library does not
> provide it, for use by the VerifyHostKeyDNS feature. A
> specifically crafted DNS response could cause this function
> to perform an out-of-bounds read of adjacent stack data, but
> this condition does not appear to be exploitable beyond
> denial-of-service to the ssh(1) client.
> The getrrsetbyname(3) replacement is only included if the
> system's standard library lacks this function and portable
> OpenSSH was not compiled with the ldns library (--with-ldns).
> getrrsetbyname(3) is only invoked if using VerifyHostKeyDNS
> to fetch SSHFP records. This problem was found by the
> Coverity static analyzer.
> - sshd(8): fix a pre-authentication double-free memory fault
> introduced in OpenSSH 9.1. This is not believed to be
> exploitable, and it occurs in the unprivileged pre-auth
> process that is subject to chroot(2) and is further sandboxed
> on most major platforms.
> - ssh(8): in OpenSSH releases after 8.7, the PermitRemoteOpen
> option would ignore its first argument unless it was one of
> the special keywords "any" or "none", causing the permission
> list to fail open if only one permission was specified.
> bz3515
> - ssh(1): if the CanonicalizeHostname and
> CanonicalizePermittedCNAMEs options were enabled, and the
> system/libc resolver did not check that names in DNS
> responses were valid, then use of these options could allow
> an attacker with control of DNS to include invalid characters
> (possibly including wildcards) in names added to known_hosts
> files when they were updated. These names would still have to
> match the CanonicalizePermittedCNAMEs allow-list, so
> practical exploitation appears unlikely.
> o Potentially-incompatible changes
> - ssh(1): add a new EnableEscapeCommandline ssh_config(5)
> option that controls whether the client-side ~C escape
> sequence that provides a command-line is available. Among
> other things, the ~C command-line could be used to add
> additional port-forwards at runtime.
> This option defaults to "no", disabling the ~C command-line
> that was previously enabled by default. Turning off the
> command-line allows platforms that support sandboxing of the
> ssh(1) client (currently only OpenBSD) to use a stricter
> default sandbox policy.
> o New features
> - ssh-keygen(1), ssh-keyscan(1): accept -Ohashalg=sha1|sha256
> when outputting SSHFP fingerprints to allow algorithm
> selection. bz3493
> - sshd(8): add a `sshd -G` option that parses and prints the
> effective configuration without attempting to load private
> keys and perform other checks. This allows usage of the
> option before keys have been generated and for configuration
> evaluation and verification by unprivileged users.
> - sshd(8): add support for channel inactivity timeouts via a
> new sshd_config(5) ChannelTimeout directive. This allows
> channels that have not seen traffic in a configurable
> interval to be automatically closed. Different timeouts may
> be applied to session, X11, agent and TCP forwarding
> channels.
> - sshd(8): add a sshd_config UnusedConnectionTimeout option to
> terminate client connections that have no open channels for a
> length of time. This complements the ChannelTimeout option
> above.
> - sshd(8): add a -V (version) option to sshd like the ssh
> client has.
> - ssh(1): add a "Host" line to the output of ssh -G showing the
> original hostname argument. bz3343
> - scp(1), sftp(1): add a -X option to both scp(1) and sftp(1)
> to allow control over some SFTP protocol parameters: the copy
> buffer length and the number of in-flight requests, both of
> which are used during upload/download. Previously these could
> be controlled in sftp(1) only. This makes them available in
> both SFTP protocol clients using the same option character
> sequence.
> - ssh-keyscan(1): allow scanning of complete CIDR address
> ranges, e.g. "ssh-keyscan 192.168.0.0/24". If a CIDR range is
> passed, then it will be expanded to all possible addresses in
> the range including the all-0s and all-1s addresses. bz#976
> - ssh(1): support dynamic remote port forwarding in escape
> command-line's -R processing. bz#3499
> o Bugfixes
> - scp(1), sftp(1): fix progressmeter corruption on wide
> displays; bz3534
> - ssh-add(1), ssh-keygen(1): use RSA/SHA256 when testing
> usability of private keys as some systems are starting to
> disable RSA/SHA1 in libcrypto.
> - sftp-server(8): fix a memory leak. GHPR363
> - ssh(1), sshd(8), ssh-keyscan(1): remove vestigial protocol
> compatibility code and simplify what's left.
> - Fix a number of low-impact Coverity static analysis findings.
> These include several reported via bz2687
> - ssh_config(5), sshd_config(5): mention that some options are
> not first-match-wins.
> - Rework logging for the regression tests. Regression tests
> will now capture separate logs for each ssh and sshd
> invocation in a test.
> - ssh(1): make `ssh -Q CASignatureAlgorithms` work as the
> manpage says it should; bz3532.
> - ssh(1): ensure that there is a terminating newline when
> adding a new entry to known_hosts; bz3529
> - ssh(1): when restoring non-blocking mode to stdio fds,
> restore exactly the flags that ssh started with and don't
> just clobber them with zero, as this could also remove the
> append flag from the set. bz3523
> - ssh(1): avoid printf("%s", NULL) if using
> UserKnownHostsFile=none and a hostkey in one of the system
> known hosts file changes.
> - scp(1): switch scp from using pipes to a socket-pair for
> communication with its ssh sub-processes, matching how
> sftp(1) operates.
> - sshd(8): clear signal mask early in main(); sshd may have
> been started with one or more signals masked (sigprocmask(2)
> is not cleared on fork/exec) and this could interfere with
> various things, e.g. the login grace timer. Execution
> environments that fail to clear the signal mask before
> running sshd are clearly broken, but apparently they do
> exist.
> - ssh(1): warn if no host keys for hostbased auth can be
> loaded.
> - sshd(8): Add server debugging for hostbased auth that is
> queued and sent to the client after successful
> authentication, but also logged to assist in diagnosis of
> HostbasedAuthentication problems. bz3507
> - ssh(1): document use of the IdentityFile option as being
> usable to list public keys as well as private keys. GHPR352
> - sshd(8): check for and disallow MaxStartups values less than
> or equal to zero during config parsing, rather than failing
> later at runtime. bz3489
> - ssh-keygen(1): fix parsing of hex cert expiry times specified
> on the command-line when acting as a CA.
> - scp(1): when scp(1) is using the SFTP protocol for transport
> (the default), better match scp/rcp's handling of globs that
> don't match the globbed characters but do match literally
> (e.g. trying to transfer a file named "foo.[1]"). Previously
> scp(1) in SFTP mode would not match these pathnames but
> legacy scp/rcp mode would. bz3488
> - ssh-agent(1): document the "-O no-restrict-websafe"
> command-line option.
> - ssh(1): honour user's umask(2) if it is more restrictive then
> the ssh default (022).
>
> - Ports and packages:
> o Pre-built packages are available for the following architectures on
> the day of release:
> - aarch64 (arm64): 11561
> - amd64: 11764
> - i386: 10572
> - mips64: 8936
> - powerpc64: 8474
> - riscv64: 10191
> - sparc64: 9325
> o Packages for the following architectures will be made available as
> their builds complete:
> - arm
> - powerpc
>
> - Some highlights:
>
> o Asterisk 16.30.0, 18.17.0 and o Mozilla Thunderbird 102.9.0
> 20.2.0 o Mutt 2.2.9 and NeoMutt 20220429
> o Audacity 3.2.5 o Node.js 18.15.0
> o CMake 3.25.2 o OCaml 4.12.1
> o Chromium 111.0.5563.110 o OpenLDAP 2.6.4
> o Emacs 28.2 o PHP 7.4.33, 8.0.28, 8.1.16 and
> o FFmpeg 4.4.3 8.2.3
> o GCC 8.4.0 and 11.2.0 o Postfix 3.5.17 and 3.7.3
> o GHC 9.2.7 o PostgreSQL 15.2
> o GNOME 43.3 o Python 2.7.18, 3.9.16, 3.10.10
> o Go 1.20.1 and 3.11.2
> o JDK 8u362, 11.0.18 and 17.0.6 o Qt 5.15.8 and 6.4.2
> o KDE Applications 22.12.3 o R 4.2.1
> o KDE Frameworks 5.103.0 o Ruby 3.0.5, 3.1.3 and 3.2.1
> o Krita 5.1.5 o Rust 1.68.0
> o LLVM/Clang 13.0.0 o SQLite 2.8.17 and 3.41.0
> o LibreOffice 7.5.1.2 o Shotcut 22.12.21
> o Lua 5.1.5, 5.2.4, 5.3.6 and o Sudo 1.9.13.3
> 5.4.4 o Suricata 6.0.10
> o MariaDB 10.9.4 o Tcl/Tk 8.5.19 and 8.6.13
> o Mono 6.12.0.182 o TeX Live 2022
> o Mozilla Firefox 111.0 and o Vim 9.0.1388 and Neovim 0.8.3
> ESR 102.9.0 o Xfce 4.18
>
> - As usual, steady improvements in manual pages and other documentation.
>
> - The system includes the following major components from outside suppliers:
> o Xenocara (based on X.Org 7.7 with xserver 21.1.6 + patches,
> freetype 2.12.1, fontconfig 2.14, Mesa 22.3.4, xterm 378,
> xkeyboard-config 2.20, fonttosfnt 1.2.2, and more)
> o LLVM/Clang 13.0.0 (+ patches)
> o GCC 4.2.1 (+ patches) and 3.3.6 (+ patches)
> o Perl 5.36.0 (+ patches)
> o NSD 4.6.1
> o Unbound 1.17.0
> o Ncurses 5.7
> o Binutils 2.17 (+ patches)
> o Gdb 6.3 (+ patches)
> o Awk September 12, 2022 version
> o Expat 2.5.0
>
> ------------------------------------------------------------------------
> - SECURITY AND ERRATA --------------------------------------------------
>
> We provide patches for known security threats and other important
> issues discovered after each release. Our continued research into
> security means we will find new security problems -- and we always
> provide patches as soon as possible. Therefore, we advise regular
> visits to
>
> https://www.OpenBSD.org/security.html
> <https://www.openbsd.org/security.html>
> and
> https://www.OpenBSD.org/errata.html
> <https://www.openbsd.org/errata.html>
>
> ------------------------------------------------------------------------
> - MAILING LISTS AND FAQ ------------------------------------------------
>
> Mailing lists are an important means of communication among users and
> developers of OpenBSD. For information on OpenBSD mailing lists, please
> see:
>
> https://www.OpenBSD.org/mail.html <https://www.openbsd.org/mail.html>
>
> You are also encouraged to read the Frequently Asked Questions (FAQ) at:
>
> https://www.OpenBSD.org/faq/ <https://www.openbsd.org/faq/>
>
> ------------------------------------------------------------------------
> - DONATIONS ------------------------------------------------------------
>
> The OpenBSD Project is a volunteer-driven software group funded by
> donations. Besides OpenBSD itself, we also develop important software
> like OpenSSH, LibreSSL, OpenNTPD, OpenSMTPD, the ubiquitous pf packet
> filter, the quality work of our ports development process, and many
> others. This ecosystem is all handled under the same funding umbrella.
>
> We hope our quality software will result in contributions that maintain
> our build/development infrastructure, pay our electrical/internet costs,
> and allow us to continue operating very productive developer hackathon
> events.
>
> All of our developers strongly urge you to donate and support our future
> efforts. Donations to the project are highly appreciated, and are
> described in more detail at:
>
> https://www.OpenBSD.org/donations.html
> <https://www.openbsd.org/donations.html>
>
> ------------------------------------------------------------------------
> - OPENBSD FOUNDATION ---------------------------------------------------
>
> For those unable to make their contributions as straightforward gifts,
> the OpenBSD Foundation (https://www.openbsdfoundation.org) is a Canadian
> not-for-profit corporation that can accept larger contributions and
> issue receipts. In some situations, their receipt may qualify as a
> business expense write-off, so this is certainly a consideration for
> some organizations or businesses.
>
> There may also be exposure benefits since the Foundation may be
> interested in participating in press releases. In turn, the Foundation
> then uses these contributions to assist OpenBSD's infrastructure needs.
> Contact the foundation directors at [email protected] for
> more information.
>
> ------------------------------------------------------------------------
> - HTTPS INSTALLS -------------------------------------------------------
>
> OpenBSD can be easily installed via HTTPS downloads. Typically you need
> a single small piece of boot media (e.g., a USB flash drive) and then
> the rest of the files can be installed from a number of locations,
> including directly off the Internet. Follow this simple set of
> instructions to ensure that you find all of the documentation you will
> need while performing an install via HTTPS.
>
> 1) Read either of the following two files for a list of HTTPS mirrors
> which provide OpenBSD, then choose one near you:
>
> https://www.OpenBSD.org/ftp.html <https://www.openbsd.org/ftp.html>
> https://ftp.openbsd.org/pub/OpenBSD/ftplist
>
> As of April 10, 2023, the following HTTPS mirror sites have the
> 7.3 release:
>
> https://cdn.openbsd.org/pub/OpenBSD/7.3/ Global
> https://ftp.eu.openbsd.org/pub/OpenBSD/7.3/ Stockholm, Sweden
> https://ftp.hostserver.de/pub/OpenBSD/7.3/ Frankfurt, Germany
> https://ftp.bytemine.net/pub/OpenBSD/7.3/ Oldenburg, Germany
> https://ftp.fr.openbsd.org/pub/OpenBSD/7.3/ Paris, France
> https://mirror.aarnet.edu.au/pub/OpenBSD/7.3/ Brisbane,
> Australia
> https://ftp.usa.openbsd.org/pub/OpenBSD/7.3/ CO, USA
> https://ftp5.usa.openbsd.org/pub/OpenBSD/7.3/ CA, USA
> https://mirror.esc7.net/pub/OpenBSD/7.3/ TX, USA
> https://openbsd.cs.toronto.edu/pub/OpenBSD/7.3/ Toronto, Canada
> https://cloudflare.cdn.openbsd.org/pub/OpenBSD/7.3/ Global
> https://fastly.cdn.openbsd.org/pub/OpenBSD/7.3/ Global
>
> The release is also available at the master site:
>
> https://ftp.openbsd.org/pub/OpenBSD/7.3/ Alberta, Canada
>
> However it is strongly suggested you use a mirror.
>
> Other mirror sites may take a day or two to update.
>
> 2) Connect to that HTTPS mirror site and go into the directory
> pub/OpenBSD/7.3/ which contains these files and directories.
> This is a list of what you will see:
>
> ANNOUNCEMENT armv7/ octeon/ root.mail
> README hppa/ openbsd-73-base.pub sparc64/
> SHA256 i386/ packages/ src.tar.gz
> SHA256.sig landisk/ packages-stable/ sys.tar.gz
> alpha/ loongson/ ports.tar.gz xenocara.tar.gz
> amd64/ luna88k/ powerpc64/
> arm64/ macppc/ riscv64/
>
> It is quite likely that you will want at LEAST the following
> files which apply to all the architectures OpenBSD supports.
>
> README - generic README
> root.mail - a copy of root's mail at initial login.
> (This is really worthwhile reading).
>
> 3) Read the README file. It is short, and a quick read will make
> sure you understand what else you need to fetch.
>
> 4) Next, go into the directory that applies to your architecture,
> for example, amd64. This is a list of what you will see:
>
> BOOTIA32.EFI* bsd* floppy73.img pxeboot*
> BOOTX64.EFI* bsd.mp* game73.tgz xbase73.tgz
> BUILDINFO bsd.rd* index.txt xfont73.tgz
> INSTALL.amd64 cd73.iso install73.img xserv73.tgz
> SHA256 cdboot* install73.iso xshare73.tgz
> SHA256.sig cdbr* man73.tgz
> base73.tgz comp73.tgz miniroot73.img
>
> If you are new to OpenBSD, fetch _at least_ the file INSTALL.amd64
> and install73.iso. The install73.iso file (roughly 626MB in size)
> is a one-step ISO-format install CD image which contains the various
> *.tgz files so you do not need to fetch them separately.
>
> If you prefer to use a USB flash drive, fetch install73.img and
> follow the instructions in INSTALL.amd64.
>
> 5) If you are an expert, follow the instructions in the file called
> README; otherwise, use the more complete instructions in the
> file called INSTALL.amd64. INSTALL.amd64 may tell you that you
> need to fetch other files.
>
> 6) Just in case, take a peek at:
>
> https://www.OpenBSD.org/errata.html
> <https://www.openbsd.org/errata.html>
>
> This is the page where we talk about the mistakes we made while
> creating the 7.3 release, or the significant bugs we fixed
> post-release which we think our users should have fixes for.
> Patches and workarounds are clearly described there.
>
> ------------------------------------------------------------------------
> - X.ORG FOR MOST ARCHITECTURES -----------------------------------------
>
> X.Org has been integrated more closely into the system. This release
> contains X.Org 7.7. Most of our architectures ship with X.Org, including
> amd64, sparc64 and macppc. During installation, you can install X.Org
> quite easily using xenodm(1), our simplified X11 display manager forked
> from xdm(1).
>
> ------------------------------------------------------------------------
> - PACKAGES AND PORTS ---------------------------------------------------
>
> Many third party software applications have been ported to OpenBSD and
> can be installed as pre-compiled binary packages on the various OpenBSD
> architectures. Please see https://www.openbsd.org/faq/faq15.html for
> more information on working with packages and ports.
>
> Note: a few popular ports, e.g., NSD, Unbound, and several X
> applications, come standard with OpenBSD and do not need to be installed
> separately.
>
> ------------------------------------------------------------------------
> - SYSTEM SOURCE CODE ---------------------------------------------------
>
> The source code for all four subsystems can be found in the
> pub/OpenBSD/7.3/ directory:
>
> xenocara.tar.gz ports.tar.gz src.tar.gz sys.tar.gz
>
> The README (https://ftp.OpenBSD.org/pub/OpenBSD/7.3/README
> <https://ftp.openbsd.org/pub/OpenBSD/7.3/README>) file
> explains how to deal with these source files.
>
> ------------------------------------------------------------------------
> - THANKS ---------------------------------------------------------------
>
> Ports tree and package building by Jeremie Courreges-Anglas,
> Visa Hankala, Stuart Henderson, Peter Hessler, George Koehler,
> Kurt Mosiejczuk, and Christian Weisgerber. Base and X system builds by
> Kenji Aoyama, Theo de Raadt, and Miod Vallat. Release art by
> George Mager.
>
> We would like to thank all of the people who sent in bug reports, bug
> fixes, donation cheques, and hardware that we use. We would also like
> to thank those who bought our previous CD sets. Those who did not
> support us financially have still helped us with our goal of improving
> the quality of the software.
>
> Our developers are:
>
> Aaron Bieber, Adam Wolk, Aisha Tammy, Alexander Bluhm,
> Alexander Hall, Alexandr Nedvedicky, Alexandr Shadchin,
> Alexandre Ratchov, Andrew Fresh, Anil Madhavapeddy,
> Anthony J. Bentley, Antoine Jacoutot, Anton Lindqvist, Asou Masato,
> Ayaka Koshibe, Benoit Lecocq, Bjorn Ketelaars, Bob Beck,
> Brandon Mercer, Brent Cook, Brian Callahan, Bryan Steele,
> Can Erkin Acar, Caspar Schutijser, Charlene Wendling,
> Charles Longeau, Chris Cappuccio, Christian Weisgerber,
> Christopher Zimmermann, Claudio Jeker, Dale Rahn, Damien Miller,
> Daniel Dickman, Daniel Jakots, Darren Tucker, Dave Voutila,
> David Coppa, David Gwynne, David Hill, Denis Fondras, Edd Barrett,
> Eric Faurot, Florian Obser, Florian Riehm, Frederic Cambus,
> George Koehler, George Rosamond, Gerhard Roth, Giannis Tsaraias,
> Gilles Chehade, Giovanni Bechis, Gleydson Soares,
> Gonzalo L. Rodriguez, Greg Steuck, Helg Bredow, Henning Brauer,
> Ian Darwin, Ian Sutton, Igor Sobrado, Ingo Feinerer, Ingo Schwarze,
> Inoguchi Kinichiro, James Hastings, James Turner, Jan Klemkow,
> Jason McIntyre, Jasper Lievisse Adriaanse, Jeremie Courreges-Anglas,
> Jeremy Evans, Job Snijders, Joel Sing, Joerg Jung, Jonathan Armani,
> Jonathan Gray, Jonathan Matthew, Jordan Hargrave, Josh Rickmar,
> Joshua Sing, Joshua Stein, Juan Francisco Cantero Hurtado,
> Kazuya Goda, Kenji Aoyama, Kenneth R Westerback, Kent R. Spillner,
> Kevin Lo, Kirill Bychkov, Klemens Nanni, Kurt Miller,
> Kurt Mosiejczuk, Landry Breuil, Lawrence Teo, Lucas Raab,
> Marc Espie, Marcus Glocker, Mark Kettenis, Mark Lumsden,
> Markus Friedl, Martijn van Duren, Martin Natano, Martin Pieuchot,
> Martin Reindl, Martynas Venckus, Matthew Dempsky, Matthias Kilian,
> Matthieu Herrb, Michael Mikonos, Mike Belopuhov, Mike Larkin,
> Miod Vallat, Moritz Buhl, Nam Nguyen, Nayden Markatchev,
> Nicholas Marriott, Nigel Taylor, Okan Demirmen, Omar Polo,
> Ori Bernstein, Otto Moerbeek, Paco Esteban, Pamela Mosiejczuk,
> Pascal Stumpf, Patrick Wildt, Paul Irofti, Pavel Korovin,
> Peter Hessler, Philip Guenther, Pierre-Emmanuel Andre, Pratik Vyas,
> Rafael Sadowski, Rafael Zalamena, Raphael Graf, Remi Locherer,
> Remi Pointel, Renato Westphal, Ricardo Mestre, Richard Procter,
> Rob Pierce, Robert Nagy, Sasano Takayoshi, Scott Soule Cheloha,
> Sebastian Benoit, Sebastian Reitenbach, Sebastien Marie,
> Solene Rapenne, Stefan Fritsch, Stefan Hagen, Stefan Kempf,
> Stefan Sperling, Steven Mestdagh, Stuart Cassoff, Stuart Henderson,
> Sunil Nimmagadda, T.J. Townsend, Ted Unangst, Theo Buehler,
> Theo de Raadt, Thomas Frohwein, Tim van der Molen, Tobias Heider,
> Tobias Stoeckmann, Todd C. Miller, Todd Mortimer, Tom Cosgrove,
> Tracey Emery, Ulf Brosziewski, Uwe Stuehler, Vadim Zhukov,
> Vincent Gross, Visa Hankala, Vitaliy Makkoveev, Yasuoka Masahiko,
> Yojiro Uo
>
>