webdump_tests

Testfiles for webdump
git clone git://git.codemadness.org/webdump_tests
Log | Files | Refs | README

openbsd_73.html (79983B)


      1 <!doctype html>
      2 <html lang=en id=release>
      3 <head>
      4 <meta charset=utf-8>
      5 
      6 <title>OpenBSD 7.3</title>
      7 <meta name="description" content="OpenBSD 7.3">
      8 <meta name="viewport" content="width=device-width, initial-scale=1">
      9 <link rel="stylesheet" type="text/css" href="openbsd.css">
     10 <link rel="canonical" href="https://www.openbsd.org/73.html">
     11 </head><body>
     12 <h2 id=OpenBSD>
     13 <a href="index.html">
     14 <i>Open</i><b>BSD</b></a>
     15 7.3
     16 </h2>
     17 
     18 <table>
     19 <tr>
     20 <td>
     21 <a href="images/DryGarden.png">
     22 <img width="227" height="303" src="images/DryGarden-s.gif" alt="Dry Garden"></a>
     23 <td>
     24 Released Apr 10, 2023. (54th OpenBSD release)<br>
     25 Copyright 1997-2023, Theo de Raadt.<br>
     26 <br>
     27 7.3 Song: "<a href="lyrics.html#73">The Wizard and the Fish</a>"<br>
     28 Artwork by George Mager.
     29 <br>
     30 <ul>
     31 <li>See the information on <a href="ftp.html">the FTP page</a> for
     32     a list of mirror machines.
     33 <li>Go to the <code class=reldir>pub/OpenBSD/7.3/</code> directory on
     34     one of the mirror sites.
     35 <li>Have a look at <a href="errata73.html">the 7.3 errata page</a> for a list
     36     of bugs and workarounds.
     37 <li>See a <a href="plus73.html">detailed log of changes</a> between the
     38     7.2 and 7.3 releases.
     39 <p>
     40 <li><a href="https://man.openbsd.org/signify.1">signify(1)</a>
     41     pubkeys for this release:<p>
     42 
     43 <table class=signify>
     44 <tr><td>
     45 openbsd-73-base.pub:
     46 <td>
     47 <a href="https://ftp.openbsd.org/pub/OpenBSD/7.3/openbsd-73-base.pub">
     48 RWQS90bYzZ4XFms5z9OodrFABHMQnW6htU+4Tmp88NuQiTEezMm2cQ3K</a>
     49 <tr><td>
     50 openbsd-73-fw.pub:
     51 <td>
     52 RWRSJW95RokBEZUxBFvPCEdtQPg2WMExzMIcjnXzVpIwUpyZZmfXun5a
     53 <tr><td>
     54 openbsd-73-pkg.pub:
     55 <td>
     56 RWTJxSCZzSPKGp8unIp/yxG2lvCXJg5lFVvbOBQUvKEnGHFAO8RPg3mr
     57 <tr><td>
     58 openbsd-73-syspatch.pub:
     59 <td>
     60 RWShXqVD7hfbBpWb1B5EGr1DUX8kkjkTueCsa243lLNocuuVU+2eWMn5
     61 </table>
     62 </ul>
     63 <p>
     64 All applicable copyrights and credits are in the src.tar.gz,
     65 sys.tar.gz, xenocara.tar.gz, ports.tar.gz files, or in the
     66 files fetched via <code>ports.tar.gz</code>.
     67 </table>
     68 
     69 <hr>
     70 
     71 <section id=new>
     72 <h3>What's New</h3>
     73 <p>
     74 This is a partial list of new features and systems included in OpenBSD 7.3.
     75 For a comprehensive list, see the <a href="plus73.html">changelog</a> leading
     76 to 7.3.
     77 
     78 <ul>
     79 
     80 <li>Various kernel improvements:
     81   <ul>
     82 
     83 
     84   <li>Added <a href="https://man.openbsd.org/waitid.2">waitid(2)</a>,
     85 	wait for process state change.
     86   <li>Added <a href="https://man.openbsd.org/pinsyscall.2">pinsyscall(2)</a>,
     87 	specify the call stub for a specific system call.
     88   <li>Added <a href="https://man.openbsd.org/getthrname.2">getthrname(2)</a> and
     89 	<a href="https://man.openbsd.org/setthrname.2">setthrname(2)</a>,
     90 	get or set thread name.
     91   <li>Added WTRAPPED option for <a
     92 	href="https://man.openbsd.org/waitid.2">waitid(2)</a> to control
     93 	whether CLD_TRAPPED state changes, i.e., ptrace(2) on a process, are reported.
     94 
     95 <!-- kernel internals -->
     96   <li>Introduced <a
     97 	href="https://man.openbsd.org/clockintr.9">clockintr(9)</a>, a
     98 	machine-independent clock interrupt scheduler. Switched all
     99 	architectures to use the new subsystem.
    100   <li>Introduced a new kern.autoconf_serial <a
    101 	href="https://man.openbsd.org/sysctl.8">sysctl(8)</a> that can be used
    102 	by userland to monitor state changes of the kernel device tree.
    103   <li>Fixed <a href="https://man.openbsd.org/pmap.9">pmap(9)</a> bugs
    104 	involving entering an executable mapping for a page before
    105 	synchronizing the data and instruction cache on arm64 and riscv64.
    106   <li>Removed copystr(9) from the public API.
    107   <li>Added <a
    108 	href="https://man.openbsd.org/getnsecruntime.9">getnsecruntime(9)</a>.
    109 	Offers fast access to the system runtime clock at the cost of precision.
    110 
    111   <li>Prevent detaching ("bioctl -d detach") of a boot volume on a RAID managed by <a
    112 	href="https://man.openbsd.org/bioctl.8">bioctl(8)</a>.
    113 
    114   <li>On arm64, avoid using 1GB mappings for the identity map in the
    115 	early kernel bootstrap phase and when booting the secondary CPUs. This
    116 	avoids accidentally mapping memory regions that should not be mapped
    117 	(i.e. secure memory) as all mapped memory can be accessed
    118 	speculatively.
    119   <li>On arm64, add a machdep.lidaction <a
    120 	href="https://man.openbsd.org/sysctl.8">sysctl(8)</a> for <a
    121 	href="https://man.openbsd.org/aplsmc.4">aplsmc(4)</a> Apple Silicon
    122 	laptops.<br>
    123   	The arm64 default for the machdep.lidaction is 1, making the
    124 	system suspend when the lid is closed. <a
    125 	href="https://man.openbsd.org/aplsmc.4">aplsmc(4)</a> provides support
    126 	for the lid position sensor.
    127   <li>Changed arm64 suspend idle loop from WFE to WFI, avoiding spurious
    128 	wakeups while other CPUs are still active.
    129   <li>Added new <a href="https://man.openbsd.org/dt.4">dt(4)</a> tracing ioctl
    130 	DTIOCARGS to get the type of probe arguments.
    131   </ul>
    132 
    133 <li>SMP Improvements
    134   <ul>
    135   <li>Unlocked <a href="https://man.openbsd.org/mmap.2">mmap(2)</a>, <a
    136 	href="https://man.openbsd.org/munmap.2">munmap(2)</a>, and <a
    137 	href="https://man.openbsd.org/mprotect.2">mprotect(2)</a>.
    138   <li>Unlocked <a href="https://man.openbsd.org/sched_yield.2">sched_yield(2)</a>.
    139   <li>Added support for per-CPU counters to
    140 	<a href="https://man.openbsd.org/evcount.9">evcount(9)</a>.
    141 	Useful for counting events that are prone to occur simultaneously
    142 	across multiple CPUs, like clock interrupts and IPIs.
    143   <li>Moved <a href="https://man.openbsd.org/pf.4">pf(4)</a> purge
    144 	tasks out from under the kernel lock.
    145   <li>Unlocked <a href="https://man.openbsd.org/ioctl.2">ioctl(2)</a>
    146 	SIOCGIFCONF, SIOCGIFGMEMB, SIOCGIFGATTR, and SIOCGIFGLIST.
    147   <li>Protected interface tables in <a
    148 	href="https://man.openbsd.org/pf.4">pf(4)</a> with PF_LOCK(), allowing
    149 	removal of NET_LOCK() protection from the <a
    150 	href="https://man.openbsd.org/ioctl.2">ioctl(2)</a> code path in pf.
    151   <li>Unlocked <a
    152 	href="https://man.openbsd.org/getsockopt.2">getsockopt(2)</a> and <a
    153 	href="https://man.openbsd.org/setsockopt.2">setsockopt(2)</a>.
    154   <li>Completed removing kernel lock from IPv6 read ioctls.
    155   <li>Unlocked <a href="https://man.openbsd.org/minherit.2">minherit(2)</a>.
    156   <li>Made <a href="https://man.openbsd.org/tun.4">tun(4)</a> and <a
    157 	href="https://man.openbsd.org/tap.4">tap(4)</a> event filters MP-safe.
    158   <li>Unlocked <a href="https://man.openbsd.org/utrace.2">utrace(2)</a>.
    159   <li>Stopped holding the vm_map lock while flushing pages in <a
    160 	href="https://man.openbsd.org/msync.2">msync(2)</a> and <a
    161 	href="https://man.openbsd.org/madvise.2">madvise(2)</a>. Prevents a
    162 	3-thread deadlock between <a
    163 	href="https://man.openbsd.org/msync.2">msync(2)</a>, page-fault and <a
    164 	href="https://man.openbsd.org/mmap.2">mmap(2)</a>.
    165   <li>Unlocked <a
    166 	href="https://man.openbsd.org/select.2">select(2)</a>, <a
    167 	href="https://man.openbsd.org/pselect.2">pselect(2)</a>, <a
    168 	href="https://man.openbsd.org/poll.2">poll(2)</a>, and <a
    169 	href="https://man.openbsd.org/ppoll.2">ppoll(2)</a>.
    170   </ul>
    171 
    172 <li>Direct Rendering Manager and graphics drivers
    173   <ul>
    174   <li>Updated <a href="https://man.openbsd.org/drm.4">drm(4)</a>
    175       to Linux 6.1.15
    176   <li><a href="https://man.openbsd.org/drm.4">amdgpu(4)</a>: Added
    177       support for Ryzen 7000 "Raphael", Ryzen 7020 series "Mendocino",
    178       Ryzen 7045 series "Dragon Range",
    179       Radeon RX 7900 XT/XTX "Navi 31",
    180       Radeon RX 7600M (XT), 7700S, and 7600S "Navi 33."
    181   <li>Fixed frame buffer corruption and additional bugs after wakeup
    182 	on Apple Silicon laptops and the Lenovo x13s.
    183   <li>Added support for the backlight connector property to <a
    184 	href="https://man.openbsd.org/amdgpu.4">amdgpu(4)</a> as in <a
    185 	href="https://man.openbsd.org/inteldrm.4">inteldrm(4)</a>, making <a
    186 	href="https://man.openbsd.org/xbacklight.1">xbacklight(1)</a> work
    187 	when using the Xorg modesetting driver.
    188   </ul>
    189 
    190 <li>VMM/VMD improvements
    191   <ul>
    192 	<li>Updated <a href="https://man.openbsd.org/vmm.4">vmm(4)</a> to
    193 		permit SVM guests read access to MSR_HWCR and MSR_PSTATEDEF.
    194 		Guests can use these registers on AMD 17h and 19h hosts to
    195 		determine the TSC frequency without calibrating against a
    196 		second clock.
    197 	<li>Allocated reference for vm and vcpu SLISTs in <a
    198 		href="https://man.openbsd.org/vmm.4">vmm(4)</a>, keeping vmm from
    199 		triggering excessive wakeup calls while iterating through the list of
    200 		vms while servicing an <a
    201 		href="https://man.openbsd.org/ioctl.2">ioctl(2)</a>.
    202 	<li>Set <a href="https://man.openbsd.org/vmm.4">vmm(4)</a> RAX guest
    203 		register state based on VMCB.
    204 	<li>Removed locking in <a
    205 		href="https://man.openbsd.org/vmm.4">vmm(4)</a> vmm_intr_pending,
    206 		reducing slowdowns due to requests for a lock held while the VM is
    207 		running.
    208 	<li>Increased speed of delivery of interrupts to a running vcpu in <a
    209 		href="https://man.openbsd.org/vmm.4">vmm(4)</a>.
    210 	<li>Made <a href="https://man.openbsd.org/vmm.4">vmm(4)</a> treat vcpu
    211 		lists as immutable, removing the need to reference count individual
    212 		vcpu objects and use a rwlock.
    213 	<li>Implemented zero-copy operations on virtqueues in <a
    214 		href="https://man.openbsd.org/vmd.8">vmd(8)</a>.
    215 	<li>Provided a detailed e820 memory map when booting <a
    216 		href="https://man.openbsd.org/vmd.8">vmd(8)</a> guests with SeaBIOS.
    217 		When a vm initializes memory ranges, we now track what each range
    218 		represents. This information can be used to supply the e820 memory map
    219 		to SeaBIOS via the fw_cfg interface allowing it to properly
    220 		communicate memory ranges to a guest operating system. With this
    221 		special cases in ports can be removed.
    222 	<li>Added thread names to vm processes in <a
    223 		href="https://man.openbsd.org/vmd.8">vmd(8)</a>, visible in <a 
    224                 href="https://man.openbsd.org/ps.1">ps(1)</a>.
    225 	<li>Hid the WAITPKG cpu feature from <a
    226 		href="https://man.openbsd.org/vmm.4">vmm(4)</a> guests, preventing
    227 		invalid instruction exceptions. Also added WAITPKG feature
    228 		identification to i386 and amd64.
    229 	<li>Changed <a href="https://man.openbsd.org/vmd.8">vmd(8)</a> to
    230 		only open /dev/vmm once, having the parent process send the fd to the
    231 		vmm child process.
    232 	<li>Restricted <a href="https://man.openbsd.org/vmm.4">vmm(4)</a>
    233 		exposed cpuid extended feature flags.
    234 	<li>Adjusted <a href="https://man.openbsd.org/vmd.8">vmd(8)</a> error
    235 		paths to avoid removal of configuration-defined (known) VMs on error.
    236 	<li>Stopped being paranoid about hypervisor correct PKU handling.<br>
    237 	    Added saving and restoring guest PKRU to <a
    238 		href="https://man.openbsd.org/vmm.4">vmm(4)</a>. Expose the PKU cpuid
    239 		bit to the guest if in use on the host.
    240 	<li>Made <a href="https://man.openbsd.org/vmd.8">vmd(8)</a> scan the
    241 		PCI bus to determine bootorder strings.
    242   </ul>
    243 
    244 <li>Various new userland features:
    245   <ul>
    246   <li>Added <a href="https://man.openbsd.org/kdump.1">kdump(1)</a>
    247 	argument support for msyscall, pledge, unveil, __realpath, ypconnect
    248 	and __tmpfd.
    249   <li>Added <a
    250 	href="https://man.openbsd.org/mimmutable.2">mimmutable(2)</a> and <a
    251 	href="https://man.openbsd.org/munmap.2">munmap(2)</a> reporting to <a
    252 	href="https://man.openbsd.org/kdump.1">kdump(1)</a>.
    253   <li>Added <a
    254 	href="https://man.openbsd.org/lastcomm.1">lastcomm(1)</a> reporting
    255 	for process kills due to <a
    256 	href="https://man.openbsd.org/execve.2">execve(2)</a> from non-pinned
    257 	syscall address.
    258   </ul>
    259 
    260 <li>Various bugfixes and tweaks in userland:
    261   <ul>
    262   <li>Allow TZ to contain absolute paths starting with /usr/share/zoneinfo.
    263 	All absolute paths were ignored in 7.2 to avoid
    264 	<a href="https://man.openbsd.org/unveil.2">unveil(2)</a> violations.
    265   <li>Made <a href="https://man.openbsd.org/ldomctl.8">ldomctl(8)</a>
    266 	accept more descriptive name-based paths in addition to number-based
    267 	paths in <a
    268 	href="https://man.openbsd.org/ldom.conf.5">ldom.conf(5)</a>.
    269   <li>Dropped support for $rc_exec in <a
    270 	href="https://man.openbsd.org/rc.subr.8">rc.subr(8)</a>. The rc_exec
    271 	function should be used instead.
    272   <li>Excluded /tmp/*.shm files from /tmp cleaning in <a
    273 	href="https://man.openbsd.org/daily.8">daily(8)</a>. Removing them
    274 	interferes with programs that use shared memory via <a
    275 	href="https://man.openbsd.org/shm_open.3">shm_open(3)</a>.
    276   <li>Added zap-to-char and zap-up-to-char to <a
    277 	href="https://man.openbsd.org/mg.1">mg(1)</a>. Bound zap-to-char to
    278 	M-z.
    279   <li>Fixed handling of escaped backslashes in <a
    280 	href="https://man.openbsd.org/vi.1">vi(1)</a> ex_range.
    281   <li>Added support to <a
    282 	href="https://man.openbsd.org/gunzip.1">gunzip(1)</a> for zip files
    283 	that contain a single member.
    284   <li>Fixed <a href="https://man.openbsd.org/ed.1">ed(1)</a> to print
    285 	bytes read/written and the ? prompt to stdout, not stderr.
    286   <li>Changed the vmstat view in <a
    287 	href="https://man.openbsd.org/systat.1">systat(1)</a> to measure
    288 	elapsed time with <a
    289 	href="https://man.openbsd.org/clock_gettime.2">clock_gettime(2)</a>
    290 	instead of statclock ticks.
    291   <li>Improved the periodic display in <a
    292 	href="https://man.openbsd.org/iostat.8">iostat(8)</a>.
    293   <li>Fixed an edge case in <a href="https://man.openbsd.org/top.1">top(1)</a>
    294 	where summary statistics for offline CPUs were displayed.
    295   <li>Added support for a personal <a
    296 	href="https://man.openbsd.org/units.1">units(1)</a> library by passing
    297 	-f multiple times.
    298   <li>Changed <a href="https://man.openbsd.org/df.1">df(1)</a> to
    299 	round up fractional percentages.
    300   <li>Fixed unbounded variable expansion in <a
    301 	href="https://man.openbsd.org/pkg-config.1">pkg-config(1)</a>.
    302   <li>Switched to use <a
    303 	href="https://man.openbsd.org/llvm-strip.1">llvm-strip(1)</a> on
    304 	architectures that use <a
    305 	href="https://man.openbsd.org/ld.lld.1">ld.lld(1)</a>.
    306 <!-- rc scripts -->
    307   <li>Made <a href="https://man.openbsd.org/rc.8">rc(8)</a> reorder
    308 	libraries in parallel to <a
    309 	href="https://man.openbsd.org/netstart.8">netstart(8)</a>, as this
    310 	does not depend on network access.
    311   <li>Made <a href="https://man.openbsd.org/rc.8">rc(8)</a> print the
    312 	name of each library before relinking as a signal to the operator that
    313 	boot has not stalled.
    314 <!-- audio -->
    315   <li>Added a -w flag to <a
    316 	href="https://man.openbsd.org/audioctl.8">audioctl(8)</a> for
    317 	displaying variables periodically.
    318   <li>Added short options for <a
    319 	href="https://man.openbsd.org/timeout.1">timeout(1)</a> --foreground
    320 	and --preserve-status.
    321   <li>Added signal as a full argument name for <a
    322 	href="https://man.openbsd.org/timeout.1">timeout(1)</a> -s.
    323   <li>Fixed .wav files generated by <a
    324 	href="https://man.openbsd.org/aucat.1">aucat(1)</a> by using extended
    325 	header format.
    326 <!-- disks ... -->
    327   <li>In <a
    328 	href="https://man.openbsd.org/disklabel.8">disklabel(8)</a>, use the
    329 	size of the largest chunk of free space, not the total of all such
    330 	chunks, when checking for sufficient space to add a partition.
    331   <li>Extended <a
    332 	href="https://man.openbsd.org/disklabel.8">disklabel(8)</a> template
    333 	parsing to allow "[mount point] *" as the specification for putting
    334 	the maximum available free space into a partition. Extended
    335 	command line parsing to allow "T-" as the specification to read the
    336 	template from stdin.
    337   <li>Repaired <a
    338   href="https://man.openbsd.org/disklabel.8">disklabel(8)</a>
    339   to check for D_VENDOR flag in d_flags, not d_secpercyl.
    340   <li>Removed remnants of DEC standard 144 bad sector code from
    341   <a
    342   href="https://man.openbsd.org/disklabel.8">disklabel(8)</a>
    343   and
    344   <a
    345   href="https://man.openbsd.org/disktab.5">disktab(5)</a>.
    346   <li>Removed last references to d_drivedata field from <a
    347   href="https://man.openbsd.org/disklabel.8">disklabel(8)</a>
    348   <li>Enhanced <a
    349   href="https://man.openbsd.org/disklabel.8">disklabel(8)</a>
    350   auto allocation to use all possible free space.
    351   <li>Enhanced <a
    352   href="https://man.openbsd.org/disklabel.8">disklabel(8)</a>
    353   to ensure valid partition offsets and sizes after rounding.
    354   <li>Enhanced <a
    355   href="https://man.openbsd.org/disklabel.8">disklabel(8)</a>
    356   simple editor to allow '*' when the action is 'delete'.
    357   <li>Removed <a
    358   href="https://man.openbsd.org/disklabel.8">disklabel(8)</a>
    359   code related to defunct disk types 'hd' and 'svnd'.
    360   <li>Repaired <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a>
    361   to set the correct 'bootable' bit in GPT partitions.
    362   <li>Repaired <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a>
    363   to use GPT_UUID_NBSD_UFS for NetBSD GPT partition entries.
    364   <li>Added UEFI defined GPT partition type GPT_UUID_LEGACY_MBR to
    365   the partition types
    366   <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a>
    367   recognizes.
    368   <li>Enhanced <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a>
    369   to avoid spurious warnings when editing unused GPT partition.
    370   <li>Fixed <a href="https://man.openbsd.org/cdio.1">cdio(1)</a>
    371   error displays and plugged a leak in the error path.
    372   <li>Removed pointless :ob#0:pb#0:[tb=swap:] and
    373   :pb#N:ob#0: lines from various <a
    374   href="https://man.openbsd.org/disktab.5">disktab(5)</a>
    375   entries.
    376   </ul>
    377 
    378 <li>Improved hardware support and driver bugfixes, including:
    379   <ul>
    380     <li>Suspend/Resume improvements
    381     <ul>
    382       <li>Extended arm64 suspend/resume to include support for parking
    383 		CPUs in a WFE/WFI loop.
    384       <li>Put CPUs in the lowest P-state before the final suspend step,
    385 		needed for systems where we park CPUs in a low-power idle state
    386 		ourselves.
    387     </ul>
    388 
    389     <li>system-on-chip devices
    390     <ul>
    391 <!-- SoC -->
    392   <li>Added support for the Rockchip RK3566/RK3568 SoCs.
    393   <li>Added support for the Rockchip RK3568 processor.
    394 
    395   <li>Added support for the RK3568 PCIe controller to <a
    396 	href="https://man.openbsd.org/dwpcie.4">dwpcie(4)</a>.
    397   <li>Added <a
    398 	href="https://man.openbsd.org/qcdwusb.4">qcdwusb(4)</a>, a driver
    399 	controlling the interface logic for the Synopsys DesignWare USB 3.0
    400 	controller found on various Qualcomm Snapdragon SoCs.
    401   <li>Added support for the PCIe controller on the Qualcomm SC8280XP
    402 	to <a href="https://man.openbsd.org/dwpcie.4">dwpcie(4)</a>.
    403   <li>Added <a
    404 	href="https://man.openbsd.org/qcpmicgpio.4">qcpmicgpio(4)</a>, a
    405 	driver for the GPIO block inside the Qualcomm PMICs.
    406   <li>Added <a href="https://man.openbsd.org/qcpmic.4">qcpmic(4)</a>,
    407 	a driver for the SPMI-connected PMICs found on Qualcomm SoCs.
    408   <li>Added <a href="https://man.openbsd.org/qcspmi.4">qcspmi(4)</a>,
    409 	a driver for the SPMI PMIC Arbiter found on Qualcomm SoCs.
    410   <li>Added <a href="https://man.openbsd.org/qcpdc.4">qcpdc(4)</a>, a
    411 	driver for the Qualcomm Power Domain controller found on Qualcomm
    412 	SoCs.
    413   <li>Added <a href="https://man.openbsd.org/qcpwm.4">qcpwm(4)</a>, a
    414 	driver for the PWM found on Qualcomm SoCs.
    415   <li>Added <a href="https://man.openbsd.org/qcpon.4">qcpon(4)</a>, a
    416 	driver for the Qualcomm PMIC block that hosts the powerkey and reset
    417 	input.
    418   <li>In <a href="https://man.openbsd.org/rkgpio.4">rkgpio(4)</a>,
    419 	handled different register layouts in modern Rockchip SoCs as seen in
    420 	the RK356x and RK3588.
    421   <li>Added support for RK356x TSADC clocks to <a
    422 	href="https://man.openbsd.org/rkclock.4">rkclock(4)</a>.
    423   <li>Added GMAC-related RK356x clocks to <a
    424 	href="https://man.openbsd.org/rkclock.4">rkclock(4)</a>.
    425   <li>Added RK3588 support to <a
    426 	href="https://man.openbsd.org/rkclock.4">rkclock(4)</a> and <a
    427 	href="https://man.openbsd.org/rkpinctrl.4">rkpinctrl(4)</a>.
    428   <li>Added <a href="https://man.openbsd.org/mvortc.4">mvortc(4)</a>,
    429 	a driver for the RTC on the ARMADA 38x series.
    430   <li>Added <a href="https://man.openbsd.org/mvodog.4">mvodog(4)</a>,
    431 	a driver for the watchdog on the ARMADA 38x series.
    432   <li>Implemented <a
    433 	href="https://man.openbsd.org/rkpinctrl.4">rkpinctrl(4)</a> support
    434 	for explicit routing to use alternative pin muxings.
    435   <li>Added <a href="https://man.openbsd.org/ytphy.4">ytphy(4)</a>, a
    436 	driver for the MotorComm YT8511 PHY.
    437   <li>Made <a href="https://man.openbsd.org/rktemp.4">rktemp(4)</a>
    438 	work on RK356x with U-Boot.
    439   <li>Added initialization code for RK356x in <a
    440 	href="https://man.openbsd.org/dwpcie.4">dwpcie(4)</a> to prevent
    441 	kernel hangs.
    442   <li>Implemented setting the parent clock for RK356x in <a
    443 	href="https://man.openbsd.org/rkclock.4">rkclock(4)</a>.
    444   <li>Added <a href="https://man.openbsd.org/dwpcie.4">dwpcie(4)</a>
    445 	code to bring up the PCIe controller on the RK356x.
    446   <li>Added <a
    447 	href="https://man.openbsd.org/rkpciephy.4">rkpciephy(4)</a>, a driver
    448 	for the PCIe 3.0 PHY found on the RK356x.
    449   <li>Added <a
    450 	href="https://man.openbsd.org/rkcomphy.4">rkcomphy(4)</a>, a driver
    451 	for the "naneng" combo PHY found on the RK356x (and RK3588). Only
    452 	PCIe, SATA and USB3 support are implemented.
    453     </ul>
    454 
    455     <li>Improved support for Apple arm64 hardware
    456     <ul>
    457 <!-- Apple -->
    458   <li>Made <a
    459 	href="https://man.openbsd.org/aplhidev.4">aplhidev(4)</a> recognize M1
    460 	laptops with touchbars and translated Fn+(1-10,-,=) keys to F1-F12 on
    461 	these systems.
    462   <li>Added suspend/resume support to <a
    463 	href="https://man.openbsd.org/aplns.4">aplns(4)</a>.
    464   <li>Implemented wakeup interrupt support in <a
    465 	href="https://man.openbsd.org/aplintc.4">aplintc(4)</a>.
    466   <li>Added suspend/resume support to control the power domain to <a
    467 	href="https://man.openbsd.org/aplsart.4">aplsart(4)</a>.
    468   <li>Made the power button function as a wakeup button during suspend
    469 	in <a href="https://man.openbsd.org/aplsmc.4">aplsmc(4)</a>.
    470   <li>Added <a href="https://man.openbsd.org/aplpwm.4">aplpwm(4)</a>,
    471 	a driver for the PWM controller found on Apple Silicon.
    472   <li>Improve Apple support by increasing the <a
    473 	href="https://man.openbsd.org/apliic.4">apliic(4)</a> transfer
    474 	completion timeout to 100ms to accommodate USB Type-C PD chips.
    475   <li>Added <a href="https://man.openbsd.org/tipd.4">tipd(4)</a>, a
    476 	driver fixing USB hotplug of type-C connectors on Apple Silicon
    477 	hardware.
    478   <li>Improved <a
    479 	href="https://man.openbsd.org/aplpmu.4">aplpmu(4)</a> range check to
    480 	protect against overflow.
    481   <li>Added <a
    482 	href="https://man.openbsd.org/aplefuse.4">aplefuse(4)</a>, a driver
    483 	for the eFuses on Apple Silicon SoCs.
    484   <li>Enabled <a
    485 	href="https://man.openbsd.org/aplpcie.4">aplpcie(4)</a> power
    486 	management for PCI devices.
    487   <li>Disable the screen backlight with <a
    488 	href="https://man.openbsd.org/aplsmc.4">aplsmc(4)</a> on Apple Silicon
    489 	laptops when the lid is closed.
    490     </ul>
    491 
    492     <li>X13s support
    493     <ul>
    494 <!-- x13s -->
    495   <li>Worked around incomplete ACPI tables on the Lenovo x13s by
    496 	loading the alternate device tree binaries from disk.
    497   <li>Set console output to the framebuffer on Lenovo x13s machines.
    498   <li>Made the USB ports work after a suspend/resume cycle on the x13s.
    499     </ul>
    500 
    501     <li>Improved audio devices
    502     <ul>
    503 <!-- audio -->
    504   <li>Made <a
    505 	href="https://man.openbsd.org/aplaudio.4">aplaudio(4)</a> calculate
    506 	the bit clock based on numbers of channels, bytes/sample and sample
    507 	rate.
    508   <li>Set <a href="https://man.openbsd.org/sncodec.4">sncodec(4)</a>
    509 	and <a href="https://man.openbsd.org/tascodec.4">tascodec(4)</a>
    510 	default volume to -30dB instead of the hardware default of 0dB
    511 	(maximum).
    512   <li>Added <a
    513 	href="https://man.openbsd.org/sncodec.4">sncodec(4)</a>, a driver for
    514 	the TI SNO12776/TAS2764 digital amplifier.
    515     </ul>
    516 
    517     <li>Other changes
    518     <ul>
    519 <!-- various USB -->
    520   <li>Added support for the Wacom One M CTL-672 tablet to <a
    521 	href="https://man.openbsd.org/uwacom.4">uwacom(4)</a>.
    522   <li>Hooked up the same USB device drivers on riscv64 as done in the
    523 	arm64 architecture kernel.<br>Enabled access to <a
    524 	href="https://man.openbsd.org/usb.4">usb(4)</a>, <a
    525 	href="https://man.openbsd.org/ugen.4">ugen(4)</a>, <a
    526 	href="https://man.openbsd.org/ulpt.4">ulpt(4)</a>, <a
    527 	href="https://man.openbsd.org/ucom.4">ucom(4)</a> and <a
    528 	href="https://man.openbsd.org/ujoy.4">ujoy(4)</a>.
    529   <li>Added <a href="https://man.openbsd.org/uftdi.4">uftdi(4)</a>
    530 	support for FTDI FT232R.
    531   <li>Added <a href="https://man.openbsd.org/uhidpp.4">uhidpp(4)</a>
    532 	support for Bolt receivers and the Unified Battery feature often found
    533 	on newer Logitech HID++ hardware.
    534 
    535 <!-- RTC -->
    536   <li>Converted more RTC drivers to use todr_attach(). Quality of the
    537 	RTC is set such that "discrete" RTC chips are preferred over RTCs
    538 	integrated on a SoC.
    539   <li>Added support for the DS1339 RTC as found on the PiJuice.
    540   <li>Added <a href="https://man.openbsd.org/qcrtc.4">qcrtc(4)</a>, a
    541 	driver for the RTC found on Qualcomm PMICs.
    542   <li>Improved <a href="https://man.openbsd.org/qcrtc.4">qcrtc(4)</a>
    543 	RTC reliability.
    544 
    545 <!-- wscons -->
    546   <li>Added cursor back tab support to <a
    547 	href="https://man.openbsd.org/wscons.4">wscons(4)</a> VT100
    548 	emulation.<br>Added aixterm bright color sequences (SGR 90-97 and
    549 	100-107).
    550   <li>Added missing <a
    551 	href="https://man.openbsd.org/wscons.4">wscons(4)</a> bounds checks
    552 	when processing terminal escape sequences.
    553   <li>Replaced broken UTF-8 logic in <a
    554 	href="https://man.openbsd.org/wscons.4">wscons(4)</a> with a better
    555 	one borrowed from Citrus.
    556 
    557 <!-- other -->
    558   <li>Introduced <a
    559 	href="https://man.openbsd.org/pijuice.4">pijuice(4)</a>, an apm/sensor
    560 	driver for the PiJuice HAT UPS.
    561   <li>Added <a
    562 	href="https://man.openbsd.org/pwmleds.4">pwmleds(4)</a>, a driver for
    563 	PWM controlled LEDs.
    564   <li>Implemented <a
    565 	href="https://man.openbsd.org/dwpcie.4">dwpcie(4)</a> support for the
    566 	(optional) MSI controller of the Synopsys DesignWare PCIe host bridge.
    567   <li>Added <a
    568 	href="https://man.openbsd.org/icc.4">icc(4)</a> driver for
    569 	I2C Consumer Control devices.
    570   <li>Prevented a possible crash when a <a
    571 	href="https://man.openbsd.org/ugen.4">ugen(4)</a> device is detached.
    572   <li>Implemented wakeup interrupt handling in <a
    573 	href="https://man.openbsd.org/agintc.4">agintc(4)</a>.
    574   <li>Enabled <a
    575 	href="https://man.openbsd.org/pcagpio.4">pcagpio(4)</a> and <a
    576 	href="https://man.openbsd.org/pcamux.4">pcamux(4)</a>, making the SFP
    577 	port on the ClearFog Base (CN9130) work.
    578   <li>Adopted a workaround for a bug in the ARM generic timer on the
    579 	A64, disabling userland timecounter support on affected hardware
    580 	pending a similar libc workaround.
    581   <li>Made amd64 cpuid recognize protection keys for Protection Key Supervisor (PKS).
    582   <li>Implemented access to EFI variables ESRT through an <a
    583 	href="https://man.openbsd.org/ioctl.2">ioctl(2)</a> interface
    584 	compatible with what FreeBSD and NetBSD have.<br>
    585 	Created /dev/efi on amd64 and arm64.
    586   <li>Added <a href="https://man.openbsd.org/dwge.4">dwge(4)</a> support
    587 	for "enhanced descriptor" mode found on some variants of the Synopsys
    588 	DesignWare GMAC.
    589   <li>Removed the <a
    590 	href="https://man.openbsd.org/OpenBSD-7.2/elansc.4">elansc(4)</a>
    591 	driver for AMD Elan SC520 System Controller.
    592   <li>Made <a href="https://man.openbsd.org/ppb.4">ppb(4)</a> bus
    593 	range available after detaching, fixing unplugging and replugging
    594 	thunderbolt devices that were plugged in when the machine was booted.
    595   <li>Reworked the arm64 architecture cpu_init_secondary() function to
    596 	allow use for both initial powerup and wakeup from deeper sleep
    597 	states.
    598   <li>Added <a href="https://man.openbsd.org/ufshci.4">ufshci(4)</a>,
    599 	a driver for Universal Flash Storage (UFS) Host Controllers.
    600   <li>Added <a href="https://man.openbsd.org/scmi.4">scmi(4)</a>, a
    601 	driver for the ARM System Control and Management Interface.
    602   <li>Added support for the Shenzhen Tangcheng Technology TCS4525
    603 	voltage regulator to <a
    604 	href="https://man.openbsd.org/fanpwr.4">fanpwr(4)</a>.
    605   <li>Added <a href="https://man.openbsd.org/psci.4">psci(4)</a> (ARM
    606 	Power State Coordination Interface) support for available deep idle
    607 	states as advertised in device trees.
    608   <li>Added <a href="https://man.openbsd.org/eephy.4">eephy(4)</a>,
    609 	found on the Turris Omnia WAN port, to armv7.
    610   <li>Added polling to <a
    611 	href="https://man.openbsd.org/tipmic.4">tipmic(4)</a> driver when
    612 	starting from a cold boot, fixing a hang on boot.
    613   <li>Added a workaround for Intel Braswell/Cherry Trail mwait hang.
    614   <li>Added the Armada 380 temperature sensor to <a
    615 	href="https://man.openbsd.org/mvtemp.4">mvtemp(4)</a> and enabled the
    616 	driver on armv7.
    617     </ul>
    618   </ul>
    619 
    620 <li>New or improved network hardware support:
    621   <ul>
    622   <li>Enabled <a href="https://man.openbsd.org/em.4">em(4)</a> IPv4,
    623 	TCP and UDP checksum offloading and hardware VLAN tagging on devices
    624 	with 82575, 82576, i350 and i210 chipsets.
    625   <li>Improved <a href="https://man.openbsd.org/mcx.4">mcx(4)</a>
    626 	performance by using interrupt-based command completion.
    627   <li>Fixed a panic seen with <a
    628 	href="https://man.openbsd.org/rge.4">rge(4)</a> RTL8125 with MCLGETL.
    629   <li>Add <a href="https://man.openbsd.org/dwqe.4">dwqe(4)</a>, a
    630 	driver for the Synopsys DesignWare Ethernet QoS controller used on the
    631 	NXP i.MX8MP, the Rockchip RK35xx series and Intel Elkhart Lake.
    632   <li>Worked around an issue on the StarFive JH7100 SoC to make <a
    633 	href="https://man.openbsd.org/dwge.4">dwge(4)</a> Ethernet work
    634 	reliably on the StarFive VisionFive 1 board.
    635   <li>In <a href="https://man.openbsd.org/mvneta.4">mvneta(4)</a>,
    636 	passed MII flags depending on the phy mode specified in the device
    637 	tree, making the WAN port work on the Turris Omnia.
    638   </ul>
    639 
    640 <li>Added or improved wireless network drivers:
    641   <ul>
    642   <li>Increased the timeout for <a
    643 	href="https://man.openbsd.org/bwfm.4">bwfm(4)</a> PCI devices to
    644 	avoid spurious firmware load failures, particularly on Apple M2 laptops.
    645   <li>Implemented alternative mailbox handling mechanism required by
    646 	newer <a href="https://man.openbsd.org/bwfm.4">bwfm(4)</a> firmware.
    647   <li>Fixed <a href="https://man.openbsd.org/bwfm.4">bwfm(4)</a>
    648 	issues with suspend/resume and possible firmware crashes on the M2
    649 	MacBook Air.
    650   <li>Prevented an <a href="https://man.openbsd.org/iwx.4">iwx(4)</a>
    651 	firmware error when authentication to the AP times out.
    652   <li>Fixed a crash in <a
    653 	href="https://man.openbsd.org/iwx.4">iwx(4)</a> when connecting to WEP
    654 	networks via <a
    655 	href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a> join.
    656   <li>Fixed an alignment issue in <a
    657 	href="https://man.openbsd.org/iwx.4">iwx(4)</a> Rx descriptors.
    658   <li>Avoided trying to remove keys while doing crypto in hardware if
    659 	the station is not active in <a
    660 	href="https://man.openbsd.org/iwx.4">iwx(4)</a> firmware, fixing a
    661 	firmware panic.
    662   <li>Prevented potential panics by disallowing the <a
    663 	href="https://man.openbsd.org/iwx.4">iwx(4)</a> init task from running
    664 	in parallel to wakeup code during resume.
    665   <li>Switched all <a href="https://man.openbsd.org/iwx.4">iwx(4)</a>
    666 	devices to -77 firmware images.
    667   <li>Upgraded firmware images for <a
    668 	href="https://man.openbsd.org/iwm.4">iwm(4)</a> 9260 and 9560 devices.
    669   <li>Made <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> get the
    670 	primary channel number from AP beacon info, preventing problems on
    671 	40/80Mhz channels if there is a mismatch.
    672   <li>Fixed <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> session
    673 	protection event duration.
    674   </ul>
    675 
    676 <li>IEEE 802.11 wireless stack improvements and bugfixes:
    677   <ul>
    678   <li>Made net80211 drop beacons received on secondary HT/VHT
    679 	channels, preventing <a
    680 	href="https://man.openbsd.org/iwm.4">iwm(4)</a> firmware panics and
    681 	making association work with 11ac APs which transmit beacons on
    682 	channels other than their primary.
    683   <li>Made WEP encryption work on <a
    684 	href="https://man.openbsd.org/bwfm.4">bwfm(4)</a>.
    685   </ul>
    686 
    687 <li>Installer, upgrade and bootloader improvements:
    688   <ul>
    689   <li>Made installer answers <code>!</code> and <code>(S)hell</code> drop into a <a
    690 	href="https://man.openbsd.org/ksh.1">ksh(1)</a> environment rather
    691 	than the more limited <a href="https://man.openbsd.org/sh.1">sh(1)</a>.
    692   <li>Added support for configuring interfaces by lladdr (MAC).
    693   <li>Made the installer skip interface configuration questions when no interfaces are available.
    694   <li>Fixed resizing partitions on an auto-allocated disk that had a boot partition.
    695   <li>Stopped the installer from asking to initialize disks that have
    696 	<a href="https://man.openbsd.org/softraid.4">softraid(4)</a> chunks.
    697   <li>Made efiboot fdt support device trees with NOPs in them (like the kernel version).
    698   <li>Improved the default choice for the installer's install media
    699 	disk question to show the first disk that (a) is not the root disk and (b)
    700 	is not a disk with softraid chunks (hosting the root disk, for example).
    701   <li>Stopped offering WEP in the installer if not supported.
    702   <li>Fixed lock file error on installer exit/abort.
    703   <li>Made <a href="https://man.openbsd.org/installboot.8">installboot(8)</a> <code>-p</code>
    704 	support <a href="https://man.openbsd.org/softraid.4">softraid(4)</a>.
    705   <li>Made <a href="https://man.openbsd.org/installboot.8">installboot(8)</a> silently skip
    706 	<a href="https://man.openbsd.org/softraid.4">softraid(4)</a> keydisks.
    707   <li>Fixed passing explicit stages files to
    708 	<a href="https://man.openbsd.org/installboot.8">installboot(8)</a>.
    709 <!-- architecture specific -->
    710   <li>Added <a
    711 	href="https://man.openbsd.org/mount_nfs.8">mount_nfs(8)</a> to the
    712 	sparc64 installer, to fetch sets over NFS.
    713   <li>Copy the apple-boot firmware to EFI system partition, enabling
    714 	automatic bootloader updates on Apple Silicon computers.
    715   <li>Made the installer stop printing MD post installation instructions on upgrades.
    716   <li>Made it possible to set keyboard layout(s) in arm64's installer.
    717   <li>Added initial support in the installer for guided disk
    718 	encryption for amd64, i386, riscv64 and sparc64.
    719   <li>Added passing of boot device information from the bootloader to
    720 	the kernel on luna88k.
    721   <li>Switched luna88k boot loader to MI boot code.
    722   <li>Made the luna88k bootloader display a puffy boot logo.
    723   <li>Made <a href="https://man.openbsd.org/ls.1">ls(1)</a> work
    724 	correctly in the luna88k bootloader.
    725   <li>Made <a href="https://man.openbsd.org/time.1">time(1)</a> work
    726 	correctly in the luna88k bootloader.
    727   <li>Removed dangerous user-settable "addr" variable from MI
    728 	bootloader, only compiling tty-related code on platforms where it
    729 	makes sense for the bootloader to control it.
    730   <li>Added "machine poweroff" command on luna88k bootloader.
    731   <li>Switched alpha to machine-independent boot blocks.
    732   <li>Switched all architectures' ramdisks (except alpha's and luna88k's) to use
    733 	<a href="https://man.openbsd.org/installboot.8">installboot(8)</a> <code>-p</code>.
    734   <li>Fixed ofwboot OpenFirmware <code>map</code> call to unbreak boot on some machines.
    735   <li>Reduced ofwboot.net size after libz update to unbreak netboot on some machines.
    736   <li>Made riscv64 bootloader support boot from RAID 1C softraid volumes.
    737   <li>Made <a href="https://man.openbsd.org/installboot.8">installboot(8)</a> support
    738 	<a href="https://man.openbsd.org/softraid.4">softraid(4)</a> on riscv64.
    739   <li>Stopped creating defunct vax (ra, rx), hp300 (hd) and sparc (xy, xd)
    740   devices in /dev.
    741   </ul>
    742 
    743 <li>Security improvements:
    744   <ul>
    745   <li>Permissions (RWX, MAP_STACK, etc.) on address space regions can
    746 	be made <a href="https://man.openbsd.org/mimmutable.2">immutable</a>,
    747 	so that <a href="https://man.openbsd.org/mmap.2">mmap(2)</a>, <a
    748 	href="https://man.openbsd.org/mprotect.2">mprotect(2)</a> or <a
    749 	href="https://man.openbsd.org/munmap.2">munmap(2)</a> fail with EPERM.
    750 	Most of the program static address space is now automatically
    751 	immutable (main program, ld.so, main stack, load-time shared
    752 	libraries, and dlopen()'d libraries mapped without RTLD_NODELETE).
    753 	Programmers can request non-immutable static data using the
    754 	"openbsd.mutable" section, or manually bring immutability to (page
    755 	aligned heap objects) using <a
    756 	href="https://man.openbsd.org/mimmutable.2">mimmutable(2)</a>.
    757 	The main internal data of <a 
    758 	href="https://man.openbsd.org/malloc.3">malloc(3)</a>
    759 	is marked immutable.
    760   <li>Some architectures now have non-readable code ("xonly"), both from
    761 	the perspective of userland reading its own memory, or the kernel
    762 	trying to read memory in a system call. Many sloppy practices in
    763 	userland code had to be repaired to allow this. The linker
    764         (<a href="https://man.openbsd.org/ld.lld.1">ld.lld(1)</a> or
    765         <a href="https://man.openbsd.org/ld.bfd.1">ld.bfd(1)</a>) option
    766 	--execute-only is enabled by default. In order of development: arm64,
    767 	riscv64, hppa, amd64, powerpc64, powerpc (G5 only), octeon, and sparc64
    768 	(sun4u only; unfinished). 
    769   <li>These can still benefit from switching to --execute-only binaries if the
    770 	cpu generates different traps for instruction-fetch versus data-fetch.
    771 	The VM system will not allow memory to be read before it was executed
    772 	which is valuable together with library relinking. Architectures
    773 	switched over include loongson. 
    774   <li><a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a> and crt0
    775 	register the location of the <a
    776 	href="https://man.openbsd.org/execve.2">execve(2)</a> stub with the
    777 	kernel using pinsyscall(2), after which the kernel only accepts an
    778 	execve call from that specific location.
    779   <li>Added <a href="https://man.openbsd.org/execve.2">execve(2)</a>
    780 	violations of <a
    781 	href="https://man.openbsd.org/pinsyscall.2">pinsyscall(2)</a> policy
    782 	to the daily mail, available by setting rc.conf.local(5)
    783 	accounting=YES.
    784   <li>Added retguard (consistency-check the return address on the
    785 	stack) to amd64 syscalls.
    786   <li>sshd random relinking at boot: Randomly relink and install <a
    787 	href="https://man.openbsd.org/sshd.8">sshd(8)</a>, resulting
    788 	in a sshd binary with unknown address layout after every reboot.
    789   <li>Add another mitigation against classic BROP on systems without
    790 	execute-only mmu hardware-enforcement. A range-checking wrapper in
    791 	front of <a href="https://man.openbsd.org/copyin.9">copyin(9)</a> and
    792 	<a href="https://man.openbsd.org/copyinstr.9">copyinstr(9)</a> ensures
    793 	the userland source address doesn't overlap the main program text and
    794 	other text segments, thereby making these address ranges unreadable to
    795 	the kernel. No programs have been discovered which require reading
    796 	their own text segments with a system call.
    797   <li>On arm64, introduce mitigation of the Spectre-BHB (Branch
    798 	History Injection) CPU vulnerability by using core-specific trampoline
    799 	vectors.
    800   <li>Enabled the arm64 Data Independent Timing (DIT) feature in both the kernel and
    801 	userland on CPUs that support it to mitigate timing side-channel
    802 	attacks.
    803   </ul>
    804 
    805 <li>Changes in the network stack:
    806   <ul>
    807 	<li>Made /dev/pf a clonable device to better track kernel resources
    808 		used by processes.
    809 	<li>Modified TCP receive buffer size auto-scaling to use the smoothed
    810 		RTT (SRTT) instead of the timestamp option, which improves performance
    811 		on high latency networks if the timestamp option isn't available.
    812 	<li>Relaxed the requirement for multicast support of interfaces for
    813 		configuring IPv6.  This allows non-multicast interfaces such as
    814 		point-to-point interfaces and the NBMA / point-to-multipoint
    815 		interfaces like mpe(4), mgre(4) and wg(4) to work with IPv6.
    816 	<li>Measure the TCP_KEEPALIVE timeout with <a
    817 		href="https://man.openbsd.org/getnsecruntime.9">getnsecruntime(9)</a>
    818 		instead of the system uptime.
    819 		Prevents TCP connections from needlessly failing en masse after
    820 		waking a system from suspend.
    821 	<li>Used stoeplitz (symmetric Toeplitz hash algorithm) to generate a
    822 		hash/flowid for <a href="https://man.openbsd.org/pf.4">pf(4)</a> state
    823 		keys.  With this change, pf will hash traffic the same way that
    824 		hardware using a stoeplitz key will hash incoming traffic on rings.
    825 		stoeplitz is also used by the TCP stack to generate a flow id, which
    826 		is used to pick which transmit ring is used on nics with multiple
    827 		queues, too. Using the same algorithm throughout the stack encourages
    828 		affinity of packets to rings and softnet threads the whole way
    829 		through.
    830 	<li>Prevented possible kernel crashes by dropping TCP packets with
    831 		destination port 0 in <a href="https://man.openbsd.org/pf.4">pf(4)</a>
    832 		and the stack.
    833 	<li>Fixed an endian swap bug causing problems with <a
    834 		href="https://man.openbsd.org/vlan.4">vlan(4)</a> on <a
    835 		href="https://man.openbsd.org/em.4">em(4)</a> sparc64 systems.
    836 	<li>Denied "pipex no" tunnel setting for <a
    837 		href="https://man.openbsd.org/pppx.4">pppx(4)</a> interfaces.
    838 	<li>Fixed <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a>
    839 		crashing on pf_state_key removal.
    840 	<li>Fixed a panic in <a
    841 		href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> when there is
    842 		no data ready for bulk transfer.
    843 	<li>Turned off TCP Segmentation Offload (TSO) if interface is added
    844 		to layer 2 devices.
    845   	<li>Improved <a href="https://man.openbsd.org/vnet.4">vnet(4)</a>
    846 		to work better in busy conditions.
    847 	<li>Added a <a href="https://man.openbsd.org/bpf.4">bpf(4)</a> timeout
    848 		(BIOCSWTIMEOUT) between capturing a packet and making the buffer
    849 		readable, preventing, for example, <a
    850 		href="https://man.openbsd.org/pflogd.8">pflogd(8)</a> waking every
    851 		half second even if there is nothing to read. By default this buffer
    852 		is infinite and must be filled to become readable.
    853 	<li>Avoided enabling TSO on interfaces which are already attached to a bridge.
    854   </ul>
    855 
    856 <li>Routing daemons and other userland network improvements:
    857   <ul>
    858   <li>IPsec support was improved:
    859   <ul>
    860 	<li>Added <a href="https://man.openbsd.org/iked.8">iked(8)</a>
    861 		support for configuring multiple name servers.
    862 	<li>Synced proc.c from <a
    863 		href="https://man.openbsd.org/vmd.8">vmd(8)</a> to <a
    864 		href="https://man.openbsd.org/iked.8">iked(8)</a> to enable fork +
    865 		exec for all processes. This gives each process a fresh and unique
    866 		address space to further improve randomization of ASLR and stack
    867 		protector.
    868   </ul>
    869   <li>In <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>, <a
    870 	href="https://man.openbsd.org/bgpctl.8">bgpctl(8)</a> and <a
    871 	href="https://man.openbsd.org/bgplgd.8">bgplgd(8)</a>:
    872   <ul> 
    873     <li>Improved performance by optimising the output filters.
    874     <li>Add Autonomous System Provider Authorization (ASPA) validation
    875 	based on draft-ietf-sidrops-aspa-verification-12
    876     <li>Introduce avs (ASPA validation state) filter and bgpctl
    877 	filter argument.
    878     <li>Add ASPA support for the RTR protocol based on
    879 	draft-ietf-sidrops-8210bis-10.
    880     <li>Improve open policy (RFC 9234) support and enable the capability
    881 	automatically if a role is specified for the peer.
    882     <li>Introduce a per-neighbor 'role' configuration option to specify
    883 	the session role used by ASPA verification and the open policy
    884 	capability. The 'announce policy' statement was simplified at
    885 	the same time.
    886     <li>Improve startup behaviour by introducing a small delay before
    887 	opening the connection to a new peer.
    888     <li>Support for aspa-set table config which can be provided by
    889 	<a
    890         href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a>.
    891     <li>Make it possible to filter the RIB by invalid and leaked prefixes
    892 	in bgpctl and bgplgd.
    893     <li>Add OpenMetrics output to bgpctl for various BGP statistics and
    894 	add /metrics endpoint to bgplgd.
    895     <li>Fix of incorrect length checks that allowed an out-of-bounds
    896 	read in bgpd.
    897   </ul>
    898   <li><a href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a> saw some changes:
    899   <ul>
    900     <li>Add a new '-H' command line option to create a shortlist of
    901 	repositories to synchronize to. For example, when invoking
    902 	"rpki-client -H rpki.ripe.net -H chloe.sobornost.net", the utility
    903 	will not connect to any other hosts other than the two specified
    904 	through the -H option.
    905     <li>Add support for validating Geofeed (RFC 9092) authenticators.  To
    906 	see an example download https://sobornost.net/geofeed.csv and run
    907 	"rpki-client -f geofeed.csv"
    908     <li>Add support for validating Trust Anchor Key (TAK) objects. TAK
    909 	objects can be used to produce new Trust Anchor Locators (TALs) signed
    910 	by and verified against the previous Trust Anchor. See
    911 	draft-ietf-sidrops-signed-tal for the full specification.
    912     <li>Log lines related to RRDP/HTTPS connection problems now include the
    913 	IP address of the problematic endpoint (in brackets).
    914     <li>Improve the error message when an invalid filename is encountered
    915 	in the rpkiManifest field in the Subject Access Information (SIA)
    916 	extension.
    917     <li>Emit a warning when unexpected X.509 extensions are encountered.
    918     <li>Restrict the ROA ipAddrBlocks field to only allow two
    919 	ROAIPAddressFamily structures (one per address family).	See
    920 	draft-ietf-sidrops-rfc6482bis.
    921     <li>Check the absence of the Path Length constraint in the Basic
    922 	Constraints extension.
    923     <li>Restrict the SIA extension to only allow the signedObject and
    924 	rpkiNotify accessMethods.
    925     <li>Check that the Signed Object access method is present in ROA, MFT,
    926 	ASPA, TAK, and GBR End-Entity certificates.
    927     <li>In addition to the 'rsync://' scheme, also permit other schemes
    928 	(such as 'https://') in the SIA signedObject access method.
    929     <li>Check that the KeyUsage extension is set to nothing but
    930 	digitalSignature on End-Entity certificates.
    931     <li>Check that the KeyUsage extension is set to nothing but keyCertSign
    932 	and CRLSign on CA certificates.
    933     <li>Check that the ExtendedKeyUsage extension is absent on CA
    934 	certificates.
    935     <li>Fix a bug in the handling of the port of http_proxy.
    936     <li>The '-r' command line option has been deprecated.
    937     <li>Filemode (-f) output is now presented as a text based table.
    938     <li>The 'expires' key in the JSON/CSV/OpenBGPD output formats is now
    939 	calculated with more accuracy. The calculation takes into account the
    940 	nextUpdate value of all intermediate CRLs in the signature path
    941 	towards the trust anchor, in addition to the expiry moment of the
    942 	leaf-CRL and CAs.
    943     <li>Handling of CRLs and Manifests in the face of inconsistent RRDP delta
    944 	publications has been improved. A copy of an alternative version of
    945 	the applicable CRL is kept in the staging area of the cache directory,
    946 	in order to increase the potential for establishing a complete
    947 	publication point, in cases where a single publication point update
    948 	was smeared across multiple RRDP delta files.
    949     <li>The OpenBGPD configuration output now includes validated Autonomous
    950 	System Provider Authorization (ASPA) payloads as an 'aspa-set {}'
    951 	configuration block.
    952     <li>When rpki-client is invoked with increased verbosity ('-v'), the
    953 	current RRDP Serial and Session ID are shown to aid debugging.
    954     <li>Self-signed X.509 certificates (such as Trust Anchor certificates)
    955 	now are considered invalid if they contain an X.509
    956 	AuthorityInfoAccess extension.
    957     <li>Signed Objects where the CMS signing-time attribute contains a
    958 	timestamp later then the X.509 certificate's notAfter timestamp are
    959 	considered invalid.
    960     <li>Manifests where the CMS signing-time attribute contains a timestamp
    961 	later then the Manifest eContent nextUpdate timestamp are considered
    962 	invalid.
    963     <li>Any objects whose CRL Distribution Points extension contains a
    964 	CRLIssuer, CRL Reasons, or nameRelativeToCRLIssuer field are
    965 	considered invalid in accordance with RFC 6487 section 4.8.6.
    966     <li>For every X.509 certificate the SHA-1 of the Subject Public Key is
    967 	calculated and compared to the Subject Key Identifier (SKI). If a
    968 	mismatch is found the certificate is not trusted.
    969     <li>Require the outside-TBS signature OID for every X.509 intermediate
    970 	CA certificate and CRL to be sha256WithRSAEncryption.
    971     <li>Require the RSA key pair modulus and public exponent parameters to
    972 	strictly conform to the RFC 7935 profile.
    973     <li>Ensure there is no trailing garbage present in Signed Objects beyond
    974 	the self-embedded length field.
    975     <li>Require RRDP Session IDs to strictly be version 4 UUIDs.
    976     <li>When decoding and validating an individual RPKI file using filemode
    977 	(rpki-client -f file), display the signature path towards the trust
    978 	anchor and the timestamp when the signature path will expire.
    979     <li>When decoding and validating an individual RPKI file using filemode
    980 	(rpki-client -f file), display the optional CMS signing-time,
    981 	non-optional X.509 notBefore timestamp and non-optional X.509
    982 	notAfter timestamp.
    983   </ul>
    984 
    985   <li>Updated zlib to 1.2.13.
    986 
    987   <li>Fixed a long-standing bug in a libreadline header that broke the
    988 	interactive Python command line interface.
    989 
    990   <li>Switched <a href="https://man.openbsd.org/tftpd.8">tftpd(8)</a> to
    991 	default to read-only unless -w is specified for write access (the
    992 	previous default).
    993   <li>Stopped printing the prompt for non-interactive usage of <a
    994 	href="https://man.openbsd.org/tftp.1">tftp(1)</a>.
    995   <li>Changed <a href="https://man.openbsd.org/rarpd.8">rarpd(8)</a> to
    996 	only unveil /tftpboot if -t is specified.
    997   <li>Added client certificate authentication and an optional SASL
    998 	EXTERNAL bind to <a
    999 	href="https://man.openbsd.org/ypldap.8">ypldap(8)</a>.
   1000   <li>Adjusted ipv6 address width to align the display columns better
   1001 	in the output of <a href="https://man.openbsd.org/ndp.8">ndp(8)</a>,
   1002 	<a href="https://man.openbsd.org/route.8">route(8)</a> and <a
   1003 	href="https://man.openbsd.org/netstat.1">netstat(1)</a> as already
   1004 	available in <a
   1005 	href="https://man.openbsd.org/systat.1">systat(1)</a>'s netstat.
   1006   <li>Used <a href="https://man.openbsd.org/stravis.3">stravis(3)</a> to
   1007 	sanitize redirect URIs from <a
   1008 	href="https://man.openbsd.org/ftp.1">ftp(1)</a> fetch before printing.
   1009 
   1010   <li>Prevent an <a
   1011 	href="https://man.openbsd.org/unwind.8">unwind(8)</a> crash when a TCP
   1012 	query is larger than the length field indicated.
   1013   <li>Preserve the original order of nameservers as configured via <a
   1014 	href="https://man.openbsd.org/resolv.conf.5">resolv.conf(5)</a> in <a
   1015 	href="https://man.openbsd.org/resolvd.8">resolvd(8)</a>.
   1016   <li>Restrict the characters allowed in the hostname argument of <a
   1017 	href="https://man.openbsd.org/getaddrinfo.3">getaddrinfo(3)</a> to the
   1018 	set [A-z0-9-_.]. Additionally, two consecutive dots ('.') are not
   1019 	allowed nor can the string start with - or '.'. This removes
   1020 	characters like '$', '`', '\n' or '*' that can traverse the DNS
   1021 	without problems but have special meaning as in a shell.
   1022   <li>Fixed a number of out of bounds reads in DNS response parsing of
   1023 	the async DNS resolver in libc.
   1024   <li>Added <a
   1025 	href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a> -M (mac) to
   1026 	find the mac address on an interface and print it.
   1027   <li>Added support for configuring interfaces by lladdr to support
   1028 	interface configurations bound to a specific hardware device. The "if"
   1029 	part of the <a
   1030 	href="https://man.openbsd.org/hostname.if.5">hostname.if(5)</a>
   1031 	configuration file can now be a MAC address.
   1032   <li>Limited display of wireguard peers by <a
   1033 	href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a> to when
   1034 	either a wireguard interface is specified or the flag "-A" is used.
   1035   <li>Implemented the RFC 8781 PREF64 router advertisement option in
   1036 	<a href="https://man.openbsd.org/rad.8">rad(8)</a> which is used to
   1037 	communicate NAT64 prefixes to hosts.
   1038   <li>Moved the documentation of flag mappings displayed by "route show" from the <a
   1039 	href="https://man.openbsd.org/netstat.1">netstat(1)</a> manpage to <a
   1040 	href="https://man.openbsd.org/route.8">route(8)</a>.
   1041   <li>Improvements in <a href="https://man.openbsd.org/nc.1">nc(1)</a>:
   1042   <ul>
   1043     <li>Stop claiming connection success in UDP mode unless true.
   1044     <li>Do not test the connection in non-interactive mode. The test
   1045 	writes characters to the socket which can corrupt data that is
   1046 	possibly piped into nc.
   1047     <li>Some refactoring and code cleanup.
   1048   </ul>
   1049 
   1050   <li>Improvements in 
   1051 	<a href="https://man.openbsd.org/acme-client.1">acme-client(1)</a>:
   1052   <ul>
   1053     <li>Added support for newlines inside the alternative names block in
   1054 	<a href="https://man.openbsd.org/acme-client.conf.5">acme-client.conf(5)</a>.
   1055     <li>Use proper data structures for retrieving subject alternative names in
   1056 	certificates rather than printing them to a buffer and tokenizing and
   1057 	parsing the undocumented string.
   1058     <li>Simplified, corrected and modernized the use of libcrypto interfaces.
   1059     <li>Plugged various memory leaks.
   1060     <li>Use <a href="https://man.openbsd.org/ASN1_TIME_to_tm.3">ASN1_TIME_to_tm(3)</a>
   1061 	instead of a poor man's hand-rolled version of it.
   1062     <li>Use <a href="https://man.openbsd.org/acme-client.1">timegm(3)</a>
   1063 	instead of <a href="https://man.openbsd.org/acme-client.1">mktime(3)</a>
   1064 	to eliminate time-zone variation.
   1065     <li>Encode Subject Alternative Name (SAN) entries before printing.
   1066     <li>Prevent <a href="https://man.openbsd.org/acme-client.1">acme-client(1)</a>
   1067 	from leaking an http get request when receiving a redirect without a
   1068 	location header.
   1069   </ul>
   1070 
   1071   <!-- smtpd -->
   1072   <li>Prevented <a href="https://man.openbsd.org/smtpd.8">smtpd(8)</a>
   1073 	abort due to a connection from a local, scoped ipv6 address.
   1074   <li>Fixed a potential NULL dereference in the unpriv child expanding
   1075 	%{mda} in <a href="https://man.openbsd.org/smtpd.8">smtpd(8)</a>.
   1076   <li>Corrected the order of arguments for calls to <a
   1077 	href="https://man.openbsd.org/shutdown.2">shutdown(2)</a> on the route
   1078 	socket of <a href="https://man.openbsd.org/slaacd.8">slaacd(8)</a>, <a
   1079 	href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a> and <a
   1080 	href="https://man.openbsd.org/unwind.8">unwind(8)</a>.
   1081   <li>Made <a href="https://man.openbsd.org/route.8">route(8)</a>
   1082 	sourceaddr print the used addresses for inet and inet6, or "default"
   1083 	if no sourceaddr is set and the default algorithm is used.
   1084   <li>Added -mpls option to the route(8) monitor command. It can be
   1085 	used to restrict displayed route messages to the mpls address family.
   1086   <li>Fixed <a href="https://man.openbsd.org/openrsync.1">rsync(1)</a>
   1087 	handling of port numbers in rsync://host[:port]/module URLs.
   1088   <li>Made <a href="https://man.openbsd.org/tcpdrop.8">tcpdrop(8)</a>
   1089 	accept netstat-style address.port syntax.
   1090   <li>Ensured <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>
   1091 		correctly adds addresses to the undefined/inactive table.
   1092   <li>Switched <a href="https://man.openbsd.org/tftpd.8">tftpd(8)</a> to default
   1093 	to read-only unless <code>-w</code> is specified for write access
   1094 	(the previous default).
   1095   <li>Changed <a href="https://man.openbsd.org/rarpd.8">rarpd(8)</a> to only unveil /tftpboot if -t is specified.
   1096   <li>Fixed the DIOCIGETIFACES ioctl so all network interfaces and
   1097 	interface groups are reported in <a
   1098 	href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
   1099   </ul>
   1100 
   1101 <li><a href="https://man.openbsd.org/tmux.1">tmux(1)</a> improvements and bug fixes:
   1102   <ul>
   1103 	<li>Added scroll-top and scroll-bottom <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> commands to scroll so cursor is at the top or bottom respectively.
   1104 	<li>Added a -T flag to <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> capture-pane to capture up to the last used cell and not the full width of the pane.
   1105 	<li>Preserved the marked pane when renumbering windows in <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>.
   1106 	<li>Added modified tab key sequences to <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>.
   1107 	<li>Changed <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> to only set the extended flag when searching, which allows send-keys to work.
   1108 	<li>Added a -l flag to <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> display-message to disable format expansion.
   1109 	<li>Fixed a <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> crash when there are no window buffers.
   1110 	<li>Fixed <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> C-S-Tab without extended keys.
   1111 	<li>Added <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> send-keys -K to handle keys directly as if typed.
   1112 	<li>Made <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> tty-keys accept \007 as terminator to OSC 10 or 11.
   1113 	<li>Made <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> recognize pasted texts wrapped in bracket paste sequences, rather than only forwarding to the program inside.
   1114 	<li>Supported -1 without -N for list-keys in <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>.
   1115 	<li>Added a flag to <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> display-menu to select the menu item chosen first.
   1116 	<li>Added Backtab key support to <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>
   1117 	<li>Disallowed multiple consecutive line separators in <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> menu.
   1118 	<li>Extended display-message to work for control clients in <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>.
   1119 	<li>Added -f to list-clients in <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>.
   1120 	<li>Added a <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> L modifier like P, W, S to loop over clients.
   1121   </ul>
   1122 
   1123 <li>LibreSSL version 3.7.2
   1124   <ul>
   1125   <li>New features
   1126     <ul>
   1127     <li>Added Ed25519 support both as a primitive and via OpenSSL's EVP interfaces.
   1128     <li>X25519 is now also supported via EVP.
   1129     <li>The OpenSSL 1.1 raw public and private key API is available with support for
   1130         EVP_PKEY_ED25519, EVP_PKEY_HMAC and EVP_PKEY_X25519. Poly1305 is not
   1131         currently supported via this interface.
   1132     <li>Added EVP_CIPHER_meth_*() setter API.
   1133     <li>Added various X.509 accessor functions.
   1134     </ul>
   1135 
   1136   <li>Compatibility changes
   1137     <ul>
   1138     <li>BIO_read() and BIO_write() now behave more closely to OpenSSL 3 in
   1139         various corner cases.
   1140     </ul>
   1141 
   1142   <li>Bug fixes
   1143     <ul>
   1144     <li>Added EVP_chacha20_poly1305() to the list of all ciphers.
   1145     <li>Fixed potential leaks of EVP_PKEY in various printing functions
   1146     <li>Fixed potential leak in OBJ_NAME_add().
   1147     <li>Avoid signed overflow in i2c_ASN1_BIT_STRING().
   1148     <li>Cleaned up EVP_PKEY_ASN1_METHOD related tables and code.
   1149     <li>Fixed long standing bugs BN_GF2m_poly2arr() and BN_GF2m_mod().
   1150     <li>Fixed segfaults in BN_{dec,hex}2bn().
   1151     <li>Fixed NULL dereference in x509_constraints_uri_host() reachable only
   1152         in the process of generating certificates.
   1153     <li>Fixed a variety of memory corruption issues in BIO chains coming
   1154         from poor old and new API: BIO_push(), BIO_pop(), BIO_set_next().
   1155     <li>Avoid potential divide by zero in BIO_dump_indent_cb()
   1156     <li>Fixed a memory leak, a double free and various other issues in
   1157         BIO_new_NDEF().
   1158     <li>Fixed various crashes in the openssl(1) testing utility.
   1159     <li>Do not check policies by default in the new X.509 verifier.
   1160     <li>Avoid crash with ASN.1 BOOLEANS in openssl(1) asn1parse.
   1161     <li>Added missing error checking in PKCS7.
   1162     <li>Call CRYPTO_cleanup_all_ex_data() from OPENSSL_cleanup().
   1163     </ul>
   1164 
   1165   <li>Documentation improvements
   1166     <ul>
   1167     <li>Numerous improvements and additions for ASN.1, BIO, BN, and X.509.
   1168     <li>The BN documentation is now considered to be complete.
   1169     <li>Marked BIO_s_log(3) BIO_nread0(3), BIO_nread(3), BIO_nwrite0(3), BIO_nwrite(3),
   1170         BIO_dump_cb(3) and BIO_dump_indent_cb(3) as intentionally undocumented.
   1171     <li>Documented various BIO_* interfaces.
   1172     <li>Documented ED25519_keypair(3), ED25519_sign(3), and ED25519_verify(3).
   1173     <li>Documented EVP_PKEY raw private/public key interfaces.
   1174     <li>Documented ASN1_buf_print(3).
   1175     <li>Documented DH_get0_*, DSA_get0_*, ECDSA_SIG_get0_* and RSA_get0_*.
   1176     <li>Merged documentation of UI_null() from OpenSSL 1.1
   1177     <li>Various spelling and other documentation improvements.
   1178     </ul>
   1179 
   1180   <li>Internal improvements
   1181     <ul>
   1182     <li>Remove dependency on system timegm() and gmtime() by replacing
   1183         traditional Julian date conversion with POSIX epoch-seconds date
   1184         conversion from BoringSSL.
   1185     <li>Removed old and unused BN code dealing with primes.
   1186     <li>Started rewriting name constraints code using CBS.
   1187     <li>Removed support for the HMAC PRIVATE KEY.
   1188     <li>Reworked DSA signing and verifying internals.
   1189     <li>Rewrote the TLSv1.2 key exporter.
   1190     <li>Cleaned up and refactored various aspects of the legacy TLS stack.
   1191     <li>Initial overhaul of the BIGNUM code:
   1192       <ul>
   1193       <li>Added a new framework that allows architecture-dependent
   1194           replacement implementations for bignum primitives.
   1195       <li>Imported various s2n-bignum's constant time assembly primitives
   1196           and switched amd64 to them.
   1197       <li>Lots of cleanup, simplification and bug fixes.
   1198       </ul>
   1199     <li>Changed Perl assembly generators to move constants into .rodata,
   1200         allowing code to run with execute-only permissions.
   1201     <li>Capped the number of iterations in DSA and ECDSA signing (avoiding
   1202         infinite loops), added additional sanity checks to DSA.
   1203     <li>ASN.1 parsing improvements.
   1204     <li>Cleanup and improvements in EC code, including always clearing EC
   1205         groups and points on free.
   1206     <li>Various openssl(1) improvements.
   1207     <li>Various nc(1) improvements.
   1208     </ul>
   1209 
   1210   <li>Security fixes
   1211     <ul>
   1212     <li>A malicious certificate revocation list or timestamp response token
   1213         would allow an attacker to read arbitrary memory.
   1214     </ul>
   1215   </ul>
   1216 
   1217 <li>OpenSSH 9.3 and OpenSSH 9.2<br>
   1218 This release of OpenBSD includes the changes made to OpenSSH since release 9.1:
   1219   <ul>
   1220   <li>Security
   1221     <ul>
   1222     <li>ssh-add(1): when adding smartcard keys to ssh-agent(1) with the
   1223       per-hop destination constraints (ssh-add -h ...) added in OpenSSH
   1224       8.9, a logic error prevented the constraints from being
   1225       communicated to the agent. This resulted in the keys being added
   1226       without constraints. The common cases of non-smartcard keys and
   1227       keys without destination constraints are unaffected. This problem
   1228       was reported by Luci Stanescu.
   1229     <li>ssh(1): Portable OpenSSH provides an implementation of the
   1230       getrrsetbyname(3) function if the standard library does not
   1231       provide it, for use by the VerifyHostKeyDNS feature. A
   1232       specifically crafted DNS response could cause this function to
   1233       perform an out-of-bounds read of adjacent stack data, but this
   1234       condition does not appear to be exploitable beyond denial-of-service
   1235       to the ssh(1) client.<br>
   1236       The getrrsetbyname(3) replacement is only included if the system's
   1237       standard library lacks this function and portable OpenSSH was not
   1238       compiled with the ldns library (--with-ldns). getrrsetbyname(3) is
   1239       only invoked if using VerifyHostKeyDNS to fetch SSHFP records. This
   1240       problem was found by the Coverity static analyzer.
   1241     <li>sshd(8): fix a pre-authentication double-free memory fault
   1242       introduced in OpenSSH 9.1. This is not believed to be exploitable,
   1243       and it occurs in the unprivileged pre-auth process that is
   1244       subject to chroot(2) and is further sandboxed on most major
   1245       platforms.
   1246     <li>ssh(8): in OpenSSH releases after 8.7, the PermitRemoteOpen option
   1247       would ignore its first argument unless it was one of the special
   1248       keywords "any" or "none", causing the permission list to fail open
   1249       if only one permission was specified. bz3515
   1250     <li>ssh(1): if the CanonicalizeHostname and CanonicalizePermittedCNAMEs
   1251       options were enabled, and the system/libc resolver did not check
   1252       that names in DNS responses were valid, then use of these options
   1253       could allow an attacker with control of DNS to include invalid
   1254       characters (possibly including wildcards) in names added to
   1255       known_hosts files when they were updated. These names would still
   1256       have to match the CanonicalizePermittedCNAMEs allow-list, so
   1257       practical exploitation appears unlikely.
   1258       </ul>
   1259   <li>Potentially-incompatible changes
   1260       <ul>
   1261     <li>ssh(1): add a new EnableEscapeCommandline ssh_config(5) option that
   1262       controls whether the client-side ~C escape sequence that provides a
   1263       command-line is available. Among other things, the ~C command-line
   1264       could be used to add additional port-forwards at runtime.<br>
   1265       This option defaults to "no", disabling the ~C command-line that
   1266       was previously enabled by default. Turning off the command-line
   1267       allows platforms that support sandboxing of the ssh(1) client
   1268       (currently only OpenBSD) to use a stricter default sandbox policy.
   1269       </ul>
   1270   <li>New features
   1271       <ul>
   1272     <li>ssh-keygen(1), ssh-keyscan(1): accept -Ohashalg=sha1|sha256 when
   1273       outputting SSHFP fingerprints to allow algorithm selection. bz3493
   1274     <li>sshd(8): add a `sshd -G` option that parses and prints the
   1275       effective configuration without attempting to load private keys
   1276       and perform other checks. This allows usage of the option before
   1277       keys have been generated and for configuration evaluation and
   1278       verification by unprivileged users.
   1279     <li>sshd(8): add support for channel inactivity timeouts via a new
   1280       sshd_config(5) ChannelTimeout directive. This allows channels that
   1281       have not seen traffic in a configurable interval to be
   1282       automatically closed. Different timeouts may be applied to session,
   1283       X11, agent and TCP forwarding channels.
   1284     <li>sshd(8): add a sshd_config UnusedConnectionTimeout option to
   1285       terminate client connections that have no open channels for a
   1286       length of time. This complements the ChannelTimeout option above.
   1287     <li>sshd(8): add a -V (version) option to sshd like the ssh client has.
   1288     <li>ssh(1): add a "Host" line to the output of ssh -G showing the
   1289       original hostname argument. bz3343
   1290     <li>scp(1), sftp(1): add a -X option to both scp(1) and sftp(1) to
   1291       allow control over some SFTP protocol parameters: the copy buffer
   1292       length and the number of in-flight requests, both of which are used
   1293       during upload/download. Previously these could be controlled in
   1294       sftp(1) only. This makes them available in both SFTP protocol
   1295       clients using the same option character sequence.
   1296     <li>ssh-keyscan(1): allow scanning of complete CIDR address ranges,
   1297       e.g.  "ssh-keyscan 192.168.0.0/24". If a CIDR range is passed, then
   1298       it will be expanded to all possible addresses in the range
   1299       including the all-0s and all-1s addresses. bz#976
   1300     <li>ssh(1): support dynamic remote port forwarding in escape
   1301       command-line's -R processing. bz#3499
   1302       </ul>
   1303   <li>Bugfixes
   1304       <ul>
   1305     <li>scp(1), sftp(1): fix progressmeter corruption on wide displays;
   1306       bz3534
   1307     <li>ssh-add(1), ssh-keygen(1): use RSA/SHA256 when testing usability
   1308       of private keys as some systems are starting to disable RSA/SHA1
   1309       in libcrypto.
   1310     <li>sftp-server(8): fix a memory leak. GHPR363
   1311     <li>ssh(1), sshd(8), ssh-keyscan(1): remove vestigial protocol
   1312       compatibility code and simplify what's left.
   1313     <li>Fix a number of low-impact Coverity static analysis findings.
   1314       These include several reported via bz2687
   1315     <li>ssh_config(5), sshd_config(5): mention that some options are not
   1316       first-match-wins.
   1317     <li>Rework logging for the regression tests. Regression tests will now
   1318       capture separate logs for each ssh and sshd invocation in a test.
   1319     <li>ssh(1): make `ssh -Q CASignatureAlgorithms` work as the manpage
   1320       says it should; bz3532.
   1321     <li>ssh(1): ensure that there is a terminating newline when adding a
   1322       new entry to known_hosts; bz3529
   1323     <li>ssh(1): when restoring non-blocking mode to stdio fds, restore
   1324       exactly the flags that ssh started with and don't just clobber them
   1325       with zero, as this could also remove the append flag from the set.
   1326       bz3523
   1327     <li>ssh(1): avoid printf("%s", NULL) if using UserKnownHostsFile=none
   1328       and a hostkey in one of the system known hosts file changes.
   1329     <li>scp(1): switch scp from using pipes to a socket-pair for
   1330       communication with its ssh sub-processes, matching how sftp(1)
   1331       operates.
   1332     <li>sshd(8): clear signal mask early in main(); sshd may have been
   1333       started with one or more signals masked (sigprocmask(2) is not
   1334       cleared on fork/exec) and this could interfere with various things,
   1335       e.g. the login grace timer. Execution environments that fail to
   1336       clear the signal mask before running sshd are clearly broken, but
   1337       apparently they do exist.
   1338     <li>ssh(1): warn if no host keys for hostbased auth can be loaded.
   1339     <li>sshd(8): Add server debugging for hostbased auth that is queued and
   1340       sent to the client after successful authentication, but also logged
   1341       to assist in diagnosis of HostbasedAuthentication problems. bz3507
   1342     <li>ssh(1): document use of the IdentityFile option as being usable to
   1343       list public keys as well as private keys. GHPR352
   1344     <li>sshd(8): check for and disallow MaxStartups values less than or
   1345       equal to zero during config parsing, rather than failing later at
   1346       runtime.  bz3489
   1347     <li>ssh-keygen(1): fix parsing of hex cert expiry times specified on
   1348       the command-line when acting as a CA.
   1349     <li>scp(1): when scp(1) is using the SFTP protocol for transport (the
   1350       default), better match scp/rcp's handling of globs that don't match
   1351       the globbed characters but do match literally (e.g. trying to
   1352       transfer a file named "foo.[1]"). Previously scp(1) in SFTP mode
   1353       would not match these pathnames but legacy scp/rcp mode would.
   1354       bz3488
   1355     <li>ssh-agent(1): document the "-O no-restrict-websafe" command-line
   1356       option.
   1357     <li>ssh(1): honour user's umask(2) if it is more restrictive then the
   1358       ssh default (022).
   1359     </ul>
   1360   </ul>
   1361 
   1362 <li>Ports and packages:
   1363   <p>Many pre-built packages for each architecture:
   1364   <!-- number of FTP packages minus SHA256, SHA256.sig, index.txt -->
   1365   <ul style="column-count: 3">
   1366     <li>aarch64:    11561
   1367     <li>amd64:      11764
   1368     <li>arm:        8653
   1369     <li>i386:       10572
   1370     <li>mips64:     8936
   1371     <li>powerpc:    9893
   1372     <li>powerpc64:  8474
   1373     <li>riscv64:    10191
   1374     <li>sparc64:    9325
   1375   </ul>
   1376 
   1377   <p>Some highlights:
   1378   <ul style="column-count: 3">
   1379     <li>Asterisk 16.30.0, 18.17.0 and 20.2.0
   1380     <li>Audacity 3.2.5
   1381     <li>CMake 3.25.2
   1382     <li>Chromium 111.0.5563.110
   1383     <li>Emacs 28.2
   1384     <li>FFmpeg 4.4.3
   1385     <li>GCC 8.4.0 and 11.2.0
   1386     <li>GHC 9.2.7
   1387     <li>GNOME 43.3
   1388     <li>Go 1.20.1
   1389     <li>JDK 8u362, 11.0.18 and 17.0.6
   1390     <li>KDE Applications 22.12.3
   1391     <li>KDE Frameworks 5.103.0
   1392     <li>Krita 5.1.5
   1393     <li>LLVM/Clang 13.0.0
   1394     <li>LibreOffice 7.5.1.2
   1395     <li>Lua 5.1.5, 5.2.4, 5.3.6 and 5.4.4
   1396     <li>MariaDB 10.9.4
   1397     <li>Mono 6.12.0.182
   1398     <li>Mozilla Firefox 111.0 and ESR 102.9.0
   1399     <li>Mozilla Thunderbird 102.9.0
   1400     <li>Mutt 2.2.9 and NeoMutt 20220429
   1401     <li>Node.js 18.15.0
   1402     <li>OCaml 4.12.1
   1403     <li>OpenLDAP 2.6.4
   1404     <li>PHP 7.4.33, 8.0.28, 8.1.16 and 8.2.3
   1405     <li>Postfix 3.5.17 and 3.7.3
   1406     <li>PostgreSQL 15.2
   1407     <li>Python 2.7.18, 3.9.16, 3.10.10 and 3.11.2
   1408     <li>Qt 5.15.8 and 6.4.2
   1409     <li>R 4.2.1
   1410     <li>Ruby 3.0.5, 3.1.3 and 3.2.1
   1411     <li>Rust 1.68.0
   1412     <li>SQLite 2.8.17 and 3.41.0
   1413     <li>Shotcut 22.12.21
   1414     <li>Sudo 1.9.13.3
   1415     <li>Suricata 6.0.10
   1416     <li>Tcl/Tk 8.5.19 and 8.6.13
   1417     <li>TeX Live 2022
   1418     <li>Vim 9.0.1388 and Neovim 0.8.3
   1419     <li>Xfce 4.18
   1420   </ul>
   1421   <p>
   1422 
   1423 <li>As usual, steady improvements in manual pages and other documentation.
   1424 
   1425 <li>The system includes the following major components from outside suppliers:
   1426   <ul>
   1427     <li>Xenocara (based on X.Org 7.7 with xserver 21.1.6 + patches,
   1428         freetype 2.12.1, fontconfig 2.14, Mesa 22.3.4, xterm 378,
   1429         xkeyboard-config 2.20, fonttosfnt 1.2.2 and more)
   1430     <li>LLVM/Clang 13.0.0 (+ patches)
   1431     <li>GCC 4.2.1 (+ patches) and 3.3.6 (+ patches)
   1432     <li>Perl 5.36.0 (+ patches)
   1433     <li>NSD 4.6.1
   1434     <li>Unbound 1.17.0
   1435     <li>Ncurses 5.7
   1436     <li>Binutils 2.17 (+ patches)
   1437     <li>Gdb 6.3 (+ patches)
   1438     <li>Awk September 12, 2022
   1439     <li>Expat 2.5.0
   1440   </ul>
   1441 
   1442 </ul>
   1443 </section>
   1444 
   1445 <hr>
   1446 
   1447 <section id=install>
   1448 <h3>How to install</h3>
   1449 <p>
   1450 Please refer to the following files on the mirror site for
   1451 extensive details on how to install OpenBSD 7.3 on your machine:
   1452 
   1453 <ul>
   1454 <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.3/alpha/INSTALL.alpha">
   1455 	.../OpenBSD/7.3/alpha/INSTALL.alpha</a>
   1456 <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.3/amd64/INSTALL.amd64">
   1457 	.../OpenBSD/7.3/amd64/INSTALL.amd64</a>
   1458 <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.3/arm64/INSTALL.arm64">
   1459 	.../OpenBSD/7.3/arm64/INSTALL.arm64</a>
   1460 <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.3/armv7/INSTALL.armv7">
   1461 	.../OpenBSD/7.3/armv7/INSTALL.armv7</a>
   1462 <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.3/hppa/INSTALL.hppa">
   1463 	.../OpenBSD/7.3/hppa/INSTALL.hppa</a>
   1464 <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.3/i386/INSTALL.i386">
   1465 	.../OpenBSD/7.3/i386/INSTALL.i386</a>
   1466 <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.3/landisk/INSTALL.landisk">
   1467 	.../OpenBSD/7.3/landisk/INSTALL.landisk</a>
   1468 <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.3/loongson/INSTALL.loongson">
   1469 	.../OpenBSD/7.3/loongson/INSTALL.loongson</a>
   1470 <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.3/luna88k/INSTALL.luna88k">
   1471 	.../OpenBSD/7.3/luna88k/INSTALL.luna88k</a>
   1472 <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.3/macppc/INSTALL.macppc">
   1473 	.../OpenBSD/7.3/macppc/INSTALL.macppc</a>
   1474 <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.3/octeon/INSTALL.octeon">
   1475 	.../OpenBSD/7.3/octeon/INSTALL.octeon</a>
   1476 <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.3/powerpc64/INSTALL.powerpc64">
   1477 	.../OpenBSD/7.3/powerpc64/INSTALL.powerpc64</a>
   1478 <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.3/riscv64/INSTALL.riscv64">
   1479 	.../OpenBSD/7.3/riscv64/INSTALL.riscv64</a>
   1480 <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.3/sparc64/INSTALL.sparc64">
   1481 	.../OpenBSD/7.3/sparc64/INSTALL.sparc64</a>
   1482 </ul>
   1483 </section>
   1484 
   1485 <hr>
   1486 
   1487 <section id=quickinstall>
   1488 <p>
   1489 Quick installer information for people familiar with OpenBSD, and the use of
   1490 the "<a href="https://man.openbsd.org/disklabel.8">disklabel</a> -E" command.
   1491 If you are at all confused when installing OpenBSD, read the relevant
   1492 INSTALL.* file as listed above!
   1493 
   1494 <h3>OpenBSD/alpha:</h3>
   1495 
   1496 <p>
   1497 If your machine can boot from CD, you can write <i>install73.iso</i> or
   1498 <i>cd73.iso</i> to a CD and boot from it.
   1499 Refer to INSTALL.alpha for more details.
   1500 
   1501 <h3>OpenBSD/amd64:</h3>
   1502 
   1503 <p>
   1504 If your machine can boot from CD, you can write <i>install73.iso</i> or
   1505 <i>cd73.iso</i> to a CD and boot from it.
   1506 You may need to adjust your BIOS options first.
   1507 
   1508 <p>
   1509 If your machine can boot from USB, you can write <i>install73.img</i> or
   1510 <i>miniroot73.img</i> to a USB stick and boot from it.
   1511 
   1512 <p>
   1513 If you can't boot from a CD, floppy disk, or USB,
   1514 you can install across the network using PXE as described in the included
   1515 INSTALL.amd64 document.
   1516 
   1517 <p>
   1518 If you are planning to dual boot OpenBSD with another OS, you will need to
   1519 read INSTALL.amd64.
   1520 
   1521 <h3>OpenBSD/arm64:</h3>
   1522 
   1523 <p>
   1524 Write <i>install73.img</i> or <i>miniroot73.img</i> to a disk and boot from it
   1525 after connecting to the serial console.  Refer to INSTALL.arm64 for more
   1526 details.
   1527 
   1528 <h3>OpenBSD/armv7:</h3>
   1529 
   1530 <p>
   1531 Write a system specific miniroot to an SD card and boot from it after connecting
   1532 to the serial console.  Refer to INSTALL.armv7 for more details.
   1533 
   1534 <h3>OpenBSD/hppa:</h3>
   1535 
   1536 <p>
   1537 Boot over the network by following the instructions in INSTALL.hppa or the
   1538 <a href="hppa.html#install">hppa platform page</a>.
   1539 
   1540 <h3>OpenBSD/i386:</h3>
   1541 
   1542 <p>
   1543 If your machine can boot from CD, you can write <i>install73.iso</i> or
   1544 <i>cd73.iso</i> to a CD and boot from it.
   1545 You may need to adjust your BIOS options first.
   1546 
   1547 <p>
   1548 If your machine can boot from USB, you can write <i>install73.img</i> or
   1549 <i>miniroot73.img</i> to a USB stick and boot from it.
   1550 
   1551 <p>
   1552 If you can't boot from a CD, floppy disk, or USB,
   1553 you can install across the network using PXE as described in
   1554 the included INSTALL.i386 document.
   1555 
   1556 <p>
   1557 If you are planning on dual booting OpenBSD with another OS, you will need to
   1558 read INSTALL.i386.
   1559 
   1560 <h3>OpenBSD/landisk:</h3>
   1561 
   1562 <p>
   1563 Write <i>miniroot73.img</i> to the start of the CF
   1564 or disk, and boot normally.
   1565 
   1566 <h3>OpenBSD/loongson:</h3>
   1567 
   1568 <p>
   1569 Write <i>miniroot73.img</i> to a USB stick and boot bsd.rd from it
   1570 or boot bsd.rd via tftp.
   1571 Refer to the instructions in INSTALL.loongson for more details.
   1572 
   1573 <h3>OpenBSD/luna88k:</h3>
   1574 
   1575 <p>
   1576 Copy 'boot' and 'bsd.rd' to a Mach or UniOS partition, and boot the bootloader
   1577 from the PROM, and then bsd.rd from the bootloader.
   1578 Refer to the instructions in INSTALL.luna88k for more details.
   1579 
   1580 <h3>OpenBSD/macppc:</h3>
   1581 
   1582 <p>
   1583 Burn the image from a mirror site to a CDROM, and power on your machine
   1584 while holding down the <i>C</i> key until the display turns on and
   1585 shows <i>OpenBSD/macppc boot</i>.
   1586 
   1587 <p>
   1588 Alternatively, at the Open Firmware prompt, enter <i>boot cd:,ofwboot
   1589 /7.3/macppc/bsd.rd</i>
   1590 
   1591 <h3>OpenBSD/octeon:</h3>
   1592 
   1593 <p>
   1594 After connecting a serial port, boot bsd.rd over the network via DHCP/tftp.
   1595 Refer to the instructions in INSTALL.octeon for more details.
   1596 
   1597 <h3>OpenBSD/powerpc64:</h3>
   1598 
   1599 <p>
   1600 To install, write <i>install73.img</i> or <i>miniroot73.img</i> to a
   1601 USB stick, plug it into the machine and choose the <i>OpenBSD
   1602 install</i> menu item in Petitboot.
   1603 Refer to the instructions in INSTALL.powerpc64 for more details.
   1604 
   1605 <h3>OpenBSD/riscv64:</h3>
   1606 
   1607 <p>
   1608 To install, write <i>install73.img</i> or <i>miniroot73.img</i> to a
   1609 USB stick, and boot with that drive plugged in.
   1610 Make sure you also have the microSD card plugged in that shipped with the
   1611 HiFive Unmatched board.
   1612 Refer to the instructions in INSTALL.riscv64 for more details.
   1613 
   1614 <h3>OpenBSD/sparc64:</h3>
   1615 
   1616 <p>
   1617 Burn the image from a mirror site to a CDROM, boot from it, and type
   1618 <i>boot cdrom</i>.
   1619 
   1620 <p>
   1621 If this doesn't work, or if you don't have a CDROM drive, you can write
   1622 <i>floppy73.img</i> or <i>floppyB73.img</i>
   1623 (depending on your machine) to a floppy and boot it with <i>boot
   1624 floppy</i>. Refer to INSTALL.sparc64 for details.
   1625 
   1626 <p>
   1627 Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
   1628 will most likely fail.
   1629 
   1630 <p>
   1631 You can also write <i>miniroot73.img</i> to the swap partition on
   1632 the disk and boot with <i>boot disk:b</i>.
   1633 
   1634 <p>
   1635 If nothing works, you can boot over the network as described in INSTALL.sparc64.
   1636 </section>
   1637 
   1638 <hr>
   1639 
   1640 <section id=upgrade>
   1641 <h3>How to upgrade</h3>
   1642 <p>
   1643 If you already have an OpenBSD 7.2 system, and do not want to reinstall,
   1644 upgrade instructions and advice can be found in the
   1645 <a href="faq/upgrade73.html">Upgrade Guide</a>.
   1646 </section>
   1647 
   1648 <hr>
   1649 
   1650 <section id=sourcecode>
   1651 <h3>Notes about the source code</h3>
   1652 <p>
   1653 <code>src.tar.gz</code> contains a source archive starting at <code>/usr/src</code>.
   1654 This file contains everything you need except for the kernel sources,
   1655 which are in a separate archive.
   1656 To extract:
   1657 <blockquote><pre>
   1658 # <kbd>mkdir -p /usr/src</kbd>
   1659 # <kbd>cd /usr/src</kbd>
   1660 # <kbd>tar xvfz /tmp/src.tar.gz</kbd>
   1661 </pre></blockquote>
   1662 <p>
   1663 <code>sys.tar.gz</code> contains a source archive starting at <code>/usr/src/sys</code>.
   1664 This file contains all the kernel sources you need to rebuild kernels.
   1665 To extract:
   1666 <blockquote><pre>
   1667 # <kbd>mkdir -p /usr/src/sys</kbd>
   1668 # <kbd>cd /usr/src</kbd>
   1669 # <kbd>tar xvfz /tmp/sys.tar.gz</kbd>
   1670 </pre></blockquote>
   1671 <p>
   1672 Both of these trees are a regular CVS checkout.  Using these trees it
   1673 is possible to get a head-start on using the anoncvs servers as
   1674 described <a href="anoncvs.html">here</a>.
   1675 Using these files
   1676 results in a much faster initial CVS update than you could expect from
   1677 a fresh checkout of the full OpenBSD source tree.
   1678 </section>
   1679 
   1680 <hr>
   1681 
   1682 <section id=ports>
   1683 <h3>Ports Tree</h3>
   1684 <p>
   1685 A ports tree archive is also provided.  To extract:
   1686 <blockquote><pre>
   1687 # <kbd>cd /usr</kbd>
   1688 # <kbd>tar xvfz /tmp/ports.tar.gz</kbd>
   1689 </pre></blockquote>
   1690 <p>
   1691 Go read the <a href="faq/ports/index.html">ports</a> page
   1692 if you know nothing about ports
   1693 at this point.  This text is not a manual of how to use ports.
   1694 Rather, it is a set of notes meant to kickstart the user on the
   1695 OpenBSD ports system.
   1696 <p>
   1697 The <i>ports/</i> directory represents a CVS checkout of our ports.
   1698 As with our complete source tree, our ports tree is available via
   1699 <a href="anoncvs.html">AnonCVS</a>.
   1700 So, in order to keep up to date with the -stable branch, you must make
   1701 the <i>ports/</i> tree available on a read-write medium and update the tree
   1702 with a command like:
   1703 <blockquote><pre>
   1704 # <kbd>cd /usr/ports</kbd>
   1705 # <kbd>cvs -d anoncvs@server.openbsd.org:/cvs update -Pd -rOPENBSD_7_3</kbd>
   1706 </pre></blockquote>
   1707 <p>
   1708 [Of course, you must replace the server name here with a nearby anoncvs
   1709 server.]
   1710 <p>
   1711 Note that most ports are available as packages on our mirrors. Updated
   1712 ports for the 7.3 release will be made available if problems arise.
   1713 <p>
   1714 If you're interested in seeing a port added, would like to help out, or just
   1715 would like to know more, the mailing list
   1716 <a href="mail.html">ports@openbsd.org</a> is a good place to know.
   1717 </section>
   1718 </body>
   1719 </html>