Annotation of www/70.html, Revision 1.34
1.1 benno 1: <!doctype html>
2: <html lang=en id=release>
3: <meta charset=utf-8>
4:
5: <title>OpenBSD 7.0</title>
6: <meta name="description" content="OpenBSD 7.0">
7: <meta name="viewport" content="width=device-width, initial-scale=1">
8: <link rel="stylesheet" type="text/css" href="openbsd.css">
9: <link rel="canonical" href="https://www.openbsd.org/70.html">
10:
11: <h2 id=OpenBSD>
12: <a href="index.html">
13: <i>Open</i><b>BSD</b></a>
14: 7.0
15: </h2>
16:
17: <table>
18: <tr>
19: <td>
20: <a href="images/XXX.png">
21: <img width="227" height="303" src="images/XXX-s.gif" alt="XXX"></a>
22: <td>
1.6 deraadt 23: Released Nov 1, 2021. (51st OpenBSD release)<br>
1.1 benno 24: Copyright 1997-2021, Theo de Raadt.<br>
25: <br>
26: 7.0 Song:
27: <a href="lyrics.html#70">XXX</a>.
28: <br>
29: Artwork by XXX.
30: <br>
31: <ul>
32: <li>See the information on <a href="ftp.html">the FTP page</a> for
33: a list of mirror machines.
34: <li>Go to the <code class=reldir>pub/OpenBSD/7.0/</code> directory on
35: one of the mirror sites.
36: <li>Have a look at <a href="errata70.html">the 7.0 errata page</a> for a list
37: of bugs and workarounds.
38: <li>See a <a href="plus70.html">detailed log of changes</a> between the
1.4 jsg 39: 6.9 and 7.0 releases.
1.1 benno 40: <p>
41: <li><a href="https://man.openbsd.org/signify.1">signify(1)</a>
42: pubkeys for this release:<p>
43:
44: <table class=signify>
45: <tr><td>
46: openbsd-70-base.pub:
47: <td>
48: <a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/openbsd-70-base.pub">
49: RWR3KL+gSr4QZ5mOvKhcOOgGe61ogHp5PyBOj2RrmyCpqchk9A7NVPzh</a>
50: <tr><td>
51: openbsd-70-fw.pub:
1.11 deraadt 52: <td>
1.1 benno 53: RWS8nd7vy+I+fRHtnpxVBeX+P+9rBqJMPvSU6z8LYyAv5p73WcdFXs3B
54: <tr><td>
55: openbsd-70-pkg.pub:
1.11 deraadt 56: <td>
1.1 benno 57: RWR3iauEtA8/bLN/zfIQhOc5ramL/fARX72S6xw8BwAUebxik7KioCvL
58: <tr><td>
59: openbsd-70-syspatch.pub:
1.11 deraadt 60: <td>
1.1 benno 61: RWSD33kMDKsQH8j0Q8FzfYk+vsgTKiP8Q5DcrkQQtrZoWg48yxUQgLxU
62: </table>
63: </ul>
64: <p>
65: All applicable copyrights and credits are in the src.tar.gz,
66: sys.tar.gz, xenocara.tar.gz, ports.tar.gz files, or in the
67: files fetched via <code>ports.tar.gz</code>.
68: </table>
69:
70: <hr>
71:
72: <section id=new>
73: <h3>What's New</h3>
74: <p>
75: This is a partial list of new features and systems included in OpenBSD 7.0.
76: For a comprehensive list, see the <a href="plus70.html">changelog</a> leading
77: to 7.0.
78:
79: <ul>
80:
81: <li>New/extended platforms:
82: <ul>
1.33 benno 83: <li>Added new <a href="riscv64.html">riscv64</a> platform for
84: 64-bit RISC-V systems.
1.1 benno 85: <li>Support for the <a href="powerpc64.html">powerpc64</a> platform was improved:
86: <ul>
87: <li>...
88: </ul>
89: <li>The arm64 platform support was improved with the following changes:
90: <ul>
1.29 benno 91: <li>Added <a href="https://man.openbsd.org/aplpinctrl.4">aplpinctrl(4)</a> driver for the Apple GPIO controller found on the M1 SoCs.
92: <li>Ensured <a href="https://man.openbsd.org/rkpwm.4">rkpwm(4)</a> can find the clock when using a recent device tree.
93: <li>Added RK3399 Type-C PHY clocks and PCIe PHY reference clocks to <a href="https://man.openbsd.org/rkclock.4">rkclock(4)</a>.
94: <li>Enabled LEDs for the <a href="https://man.openbsd.org/mue.4">mue(4)</a> LAN7800 chip as found on the Raspberry Pi 3 Model B+.
95: <li>Added <a href="https://man.openbsd.org/rktcphy.4">rktcphy(4)</a>, a driver for the Type-C PHY controller found on the Rockchip RK3399.
96: <li>Ensured (W)hole disk partitioning cannot be used if an "APFS ISC" is found on the disk, required for Apple M1 machines to boot.
97: <li>Added initial arm64 support for installing on a disk with a GPT.
98: <li>Added arm64 support for booting from disks with 4k sectors.
99: <li>Prevented crashes on amd64 when TLB entries which should have been invalidated were used.
100: <li>Added <a href="https://man.openbsd.org/aplns.4">aplns(4)</a> to provide support for Apple NVME storage as found in Apple M1 devices.
101: <li>Allowed (w)hole disk allocation for GPT disks in arm64, using <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> -A when an Apple APFS ISC partition is detected and fdisk -ig otherwise. Created EFI SYS boot partitions only on ROOTDISK GPT disks.
102: <li>Relaxed criteria for recognizing GPT formatted media, allowing GPT disk images added with <a href="https://man.openbsd.org/dd.1">dd(1)</a> onto larger physical media to be recognized by <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> and the kernel.
103: <li>Added <a href="https://man.openbsd.org/aplspmi.4">aplspmi(4)</a>, a driver for the Apple SPMI controller.
104: <li>Added <a href="https://man.openbsd.org/aplpmu.4">aplpmu(4)</a>, a driver for the Apple "sera" SPMI power management unit that contains the RTC on Apple M1 systems.
105: <li>Added <a href="https://man.openbsd.org/apldwusb.4">apldwusb(4)</a>, a glue driver for the Synopsys DesignWare USB 3 controllers found on the Apple M1 SoC.
106: <li>Added <a href="https://man.openbsd.org/apldart.4">apldart(4)</a> support for a DART with two sets of registers, needed to support the Synopsis DesignWare USB 3 controller.
1.1 benno 107: </ul>
1.29 benno 108: <li><span style="color:red;">architecture specific changes that need to be sorted</a>
109: <ul>
1.33 benno 110: <li>Enabled <a href="https://man.openbsd.org/cy.4">cy(4)</a> on amd64.
111: <li>Switched macppc to use <a href="https://man.openbsd.org/ld.lld">ld.lld.1(1)</a>.
112: <li>Made amd64 hw.setperf percentages proportional to the enhanced speed step frequencies on Intel processors. The default hw.setperf=99 corresponds to the maximum ordinary speed, and setting it to 100 enables turbo mode.
113: <li>Prevented a kernel panic in sparc64 due to page boundary misalignment.
114: <li>Forced luna88k to use the serial console when no graphics board is found.
115: <li>Fixed strchr() and strrchr() on mips64.
116: <li>Added <a href="https://man.openbsd.org/installboot.8">installboot(8)</a> "-p" to prepare by creating a new filesystem on the partition reserved for the bootloader on relevant architectures.
117: <li>Enabled <a href="https://man.openbsd.org/dt.4">dt(4)</a> on sparc64.
118: <li>Introduced <a href="https://man.openbsd.org/sfclock.4">sfclock(4)</a>, a driver for the SiFive Power Reset Clocking Interrupt (PRCI).
119: <li>Introduced <a href="https://man.openbsd.org/sfcc.4">sfcc(4)</a>, a driver for the SiFive level two cache controller.
120: <li>Fixed an issue preventing applications from selecting the non-ALTIVEC code path on macppc.
121: <li>Introduced <a href="https://man.openbsd.org/sfuart.4">sfuart(4)</a>, a driver for the SiFive UART, and added support for it as a console.
122: <li>Added the ability for <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> to recognize "HiFive! FSBL" and "HiFive! BBL" GPT partitions.
123: <li>Enabled MSI-X support for powerpc64.
124: <li>Implemented multicast support in <a href="https://man.openbsd.org/mvpp.4">mvpp(4)</a>.
125: <li>Added GPT support to armv7 <a href="https://man.openbsd.org/installboot.8">installboot(8)</a>.
126: <li>Added <a href="https://man.openbsd.org/cad.4">cad(4)</a>, a driver for Cadence GEM.
127: <li>Prevented watchdog resets on some i.MX 64-bit machines with a recent U-Boot and watchdog enabled on boot in <a href="https://man.openbsd.org/imxdog.8">imxdog(8)</a>.
128: <li>Created audio devices for armv7.
129: <li>Fixed __ppc_lock for page faults that recursively grab the lock on powerpc.
130: <li>Increased the maximum data size on powerpc64 to 32GB.
131: <li>Made additional free inodes on luna88k bsd.rd by specifying density=4096.
132: <li>Disabled base-gcc on amd64.
133: <li>Retired OpenBSD/sgi platform.
1.1 benno 134: </ul>
1.29 benno 135:
1.1 benno 136:
137: <li>Various kernel improvements:
138: <ul>
1.25 benno 139: <li>Introduced /etc/<a href="https://man.openbsd.org/bsd.re-config.5">bsd.re-config(5)</a>, which can be used to configure the kernel using <a href="https://man.openbsd.org/config.8">config(8)</a>, allowing use of KARL while making changes to the GENERIC kernel.
140: <li>Identified TPM2.0 devices and performed the 2.0-specific "suspend" command, allowing the lenovo xlr9 and xlnano using the latest BIOS (which added S3) to resume.
141: <li>Added kprobes provider for <a href="https://man.openbsd.org/dt.4">dt(4)</a>.
142: <li>Changed the printing of the hibernate image size from bytes to megabytes.
143: <li>Increased hibernate writeout speed.
144: <li>Added "machine sysregs" command to <a href="https://man.openbsd.org/ddb.4">ddb(4)</a> on amd64.
145: <li>Prevented interleaved stack traces in <a href="https://man.openbsd.org/ddb.4">ddb(4)</a> from multiple CPUs.
146: <li>Implemented < and > operators in <a href="https://man.openbsd.org/btrace.8">btrace(8)</a> filters.
147: <li>Added <a href="https://man.openbsd.org/btrace.8">btrace(8)</a> display of time spent in userland when analyzing the kernel stack in the flame graph tool and fixed a parsing bug.
148: <li>Fixed suspend/resume of machines with certain <a href="https://man.openbsd.org/radeondrm.4">radeondrm(4)</a> hardware.
149: <li>Delayed installation of sensors until a device with battery support is connected, allowing <a href="https://man.openbsd.org/sensorsd.8">sensorsd(8)</a> to pick up hotplugged <a href="https://man.openbsd.org/uhidpp.4">uhidpp(4)</a> devices.
150: <li>In the build system, pass make flags to kernel and lib builds, making hacking on ramdisks/the installer much faster.
151: <li>Prevented a kernel panic after VFS shutdown.
152: <li>Corrected various min/max cluster numbers for FAT12/16/32 in <a href="https://man.openbsd.org/newfs_msdos.8">newfs_msdos(8)</a>.
153: <li>Increased the <a href="https://man.openbsd.org/setitimer.2">setitimer(2)</a> timer limit to UINT_MAX seconds.
154: <li>Serialized the internals of <a href="https://man.openbsd.org/kqueue.2">kqueue(2)</a> with a mutex.
155: <li>Added libexecinfo, a library providing backtrace functions.
156: <li>Relaxed media length checking to allow EFT GPT partitions to be smaller than the full disk.
157: <li>Enabled pool cache on <a href="https://man.openbsd.org/knote.9">knote(9)</a> pool.
158: <li>Fixed <a href="https://man.openbsd.org/futex.2">futex(2)</a> errno handling to match what Mesa expects and prevent failure to properly report timeouts.
159: <li>Fixed a kernel crash in <a href="https://man.openbsd.org/tty.4">tty(4)</a>.
160: <li>Disabled global page table mappings when using PCID to prevent crashes when not flushed from TLB.
161: <li>Increased the default buffer space on PF_UNIX sockets to 8k and made the values tuneable via <a href="https://man.openbsd.org/sysctl.2">sysctl(2)</a>.
162: <li>Updated en_US.UTF-8.src to Unicode 13.0.
163: <li>Limited the <a href="https://man.openbsd.org/printf.1">printf(1)</a> \x escape sequence to two characters.
164: <li>Enabled <a href="https://man.openbsd.org/dt.4">dt(4)</a> for GENERIC kernels on amd64, arm64, i386, and powerpc64.
165: <li>Made <a href="https://man.openbsd.org/kqueue.2">kqueue(2)</a> timer re-addition reset an existing timer to use the new timeout period.
1.1 benno 166: </ul>
167:
168: <li>SMP Improvements
169: <ul>
1.24 benno 170: <li>Made pmap_extract() mpsafe on hppa and amd64.
171: <li>Introduced CPU_IS_RUNNING() and used it in scheduler-related code to prevent waiting on non-running CPUs.
172: <li>Made anonymous object reference counting independent from the KERNEL_LOCK().
173: <li>Unlocked <a href="https://man.openbsd.org/connect.2">connect(2)</a>.
174: <li>Unlocked <a href="https://man.openbsd.org/setrtable.2">setrtable(2)</a>.
175: <li>Introduced per-CPU <a href="https://man.openbsd.org/panic.9">panic(9)</a> message buffers.
176: <li>Used so_lock to protect key management (PF_KEY) sockets.
177: <li>Unlocked <a href="https://man.openbsd.org/lseek.2">lseek(2)</a>.
178: <li>Unlocked the top part of the fault handler.
1.1 benno 179: </ul>
180:
181: <li>Direct Rendering Manager
182: <ul>
1.8 jsg 183: <li>Updated <a href="https://man.openbsd.org/drm.4">drm(4)</a>
184: to Linux 5.10.65
185: <li><a href="https://man.openbsd.org/inteldrm.4">inteldrm(4)</a>:
186: better support for Tiger Lake
187: <li><a href="https://man.openbsd.org/drm.4">amdgpu(4)</a>:
188: support for Navi 12, Navi 21 "Sienna Cichlid", Arcturus
189: <li><a href="https://man.openbsd.org/drm.4">amdgpu(4)</a>:
190: support for Cezanne "Green Sardine" Ryzen 5000 APU
1.1 benno 191: </ul>
192:
193: <li>VMM/VMD improvements
194: <ul>
1.19 benno 195: <li>Unlocked the top part of the VM fault handler on i386.
196: <li>Added a theoretical limit of 512 to the number of allocated vcpus in <a href="https://man.openbsd.org/vmm.4">vmm(4)</a>.
197: <li>Fixed <a href="https://man.openbsd.org/vmm.4">vmm(4)</a> vcpu locking issues.
198: <li>Fixed an mbuf leak in <a href="https://man.openbsd.org/xnf.4">xnf(4)</a>.
199: <li>Added <a href="https://man.openbsd.org/vmd.8">vmd(8)</a> support for variable length vionet rx descriptor chains.
200: <li>Prevented stack overflow in <a href="https://man.openbsd.org/vmd.8">vmd(8)</a> due to large dhcp packets on local interfaces.
201: <li>Allowed locking of a randomly assigned lladdr in <a href="https://man.openbsd.org/vmd.8">vmd(8)</a>.
202: <li>Skipped inspecting non-udp packets on local interfaces for <a href="https://man.openbsd.org/vmd.8">vmd(8)</a>.
203: <li>Prevented guest virtio drivers from causing stack and buffer overflows in <a href="https://man.openbsd.org/vmd.8">vmd(8)</a>.
204: <li>Fixed a race condition in <a href="https://man.openbsd.org/vmm.4">vmm(4)</a> relating to incorrect physical cpu tracking.
205: <li>Fixed <a href="https://man.openbsd.org/vmctl.8">vmctl(8)</a> client "wait" state corruption in <a href="https://man.openbsd.org/vmd.8">vmd(8)</a> when a wait is canceled and restarted, allowing multiple waiting clients.
206: <li>Added protections against guests with bad virtio drivers to <a href="https://man.openbsd.org/vmd.8">vmd(8)</a>
1.1 benno 207: </ul>
208:
209: <li>Various new userland features:
210: <ul>
1.17 benno 211: <li>Fixed <a href="https://man.openbsd.org/disklabel.8">disklabel(8)</a> generation on sparc64.
212: <li>Modified <a href="https://man.openbsd.org/doas">doas(1)</a> to retry up to 3 times on password authentication failure.
213: <li>Made all <a href="https://man.openbsd.org/vi.1">vi(1)</a> signal handler functions async-signal-safe.
214: <li>Changed <a href="https://man.openbsd.org/diff.1">diff(1)</a> to consider two files sharing the same inode identical.
215: <li>Imported <a href="https://man.openbsd.org/timeout.1">timeout(1)</a> utility from NetBSD. timeout(1) can be used to run commands with a time limit.
216: <li>Removed from0 support from <a href="https://man.openbsd.org/openrsync.1">openrsync(1)</a>.
217: <li>Added include and exclude options to <a href="https://man.openbsd.org/rsync.1">rsync(1)</a> usage message.
218: <li>Implemented reporting of supplemental groups in <a href="https://man.openbsd.org/ps.1">ps(1)</a>.
219: <li>Altered <a href="https://man.openbsd.org/passwd.1">passwd(1)</a> to use stderr for printer error and informational messages. This allows easier parsing of what passwd(1) is doing if spawned from a GUI.
220: <li>Fixed <a href="https://man.openbsd.org/iostat.8">iostat(8)</a> per-device values when <a href="https://man.openbsd.org/systat.1">systat(1)</a> is in boot time mode ('b'), not normalizing based on the sleep interval.
221: <li>Made <a href="https://man.openbsd.org/jot.1">jot(1)</a> -b, -c and -w mutually exclusive.
222: <li>Made <a href="https://man.openbsd.org/cdio.1">cdio(1)</a> discard the current input line when Ctrl-C is used during line editing and provide a fresh prompt rather than exiting the program.
223: <li>Cleaned up the <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> MBR/GPT initialization code, making -g independent of -i, leaving four mutually exclusive initialization options (-i, -b, -u and -A) with the last option specified executed (allowing the existing -i -g to work as intended).
224: <li>Corrected <a href="https://man.openbsd.org/awk.1">awk(1)</a> -F null string behavior to ensure -F '' behaves consistently with -v FS="".
225: <li>Avoided a potential buffer overflow in backslash escaping in <a href="https://man.openbsd.org/awk.1">awk(1)</a>.
226: <li>Disallowed the use of an empty list between "while" and "do" in <a href="https://man.openbsd.org/ksh.1">ksh(1)</a>.
227: <li>Ensured the values for <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> -b and -l are treated as 512-byte block counts.
228: <li>Added an <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> -A option to initialize a GPT without removing special boot partitions.
229: <li>Made <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> available to architectures other than amd64 and i386 and extended the syntax to allow specification of the boot partition type and offset.
230: <li>Adjusted density for partitions on a 4k disk in <a href="https://man.openbsd.org/newfs.8">newfs(8)</a> when fragsize and density are not passed on the command line to ensure sufficient inodes to hold a src tree on a 2G fs.
231: <li>Fixed overlap check in <a href="https://man.openbsd.org/disklabel.1">disklabel(1)</a> autoalloc code.
232: <li>Prevented base pkg tools from looking under /usr/local in general. <!-- ??? -->
233: <li>Changed <a href="https://man.openbsd.org/cwm.1">cwm(1)</a> maximization and full-screen mode toggling to keep the cursor within the window, preventing focus loss.
234: <li>Added indication of whether an <a href="https://man.openbsd.org/mg.1">mg(1)</a> function is unsuitable for a startup file.
235: <li>Added "dired-jump" command to <a href="https://man.openbsd.org/mg.1">mg(1)</a> to open a dired buffer containing the current buffer's directory location.
1.1 benno 236: </ul>
237:
1.30 benno 238: <li>Various bugfixes and tweaks in userland:
1.1 benno 239: <ul>
1.17 benno 240: <li>Allowed <a href="https://man.openbsd.org/xenodm.1">xenodm(1)</a> login when ~./Xauthority does not exist.
241: <li>Disabled building all of the non-unicode fonts except for ISO8859-1.
1.30 benno 242:
243: <li>Fix crash in <a href="https://man.openbsd.org/mandoc.1">mandoc(1)</a> when a manpath directory contained a symbolic link that pointed to a directory.
244: <li>Added support for two-character font names (BI, CW, CR, CB, CI) to the <a href="https://man.openbsd.org/tbl.7">tbl(7)</a> layout font modifier.
245: <li>Supported auto-tagging for ".It Va" in <a href="https://man.openbsd.org/mandoc.1">mandoc(1)</a>.
246: <li>Fixed a crash in <a href="https://man.openbsd.org/mandoc.1">mandoc(1)</a> when an input file contains <a href="https://man.openbsd.org/tbl.7">tbl(7)</a> or <a href="https://man.openbsd.org/eqn.7">eqn(7)</a> input unsupported by -T <a href="https://man.openbsd.org/man.1">man(1)</a> output mode.
247: <li>Added a meta viewport element to the HTML output for <a href="https://man.openbsd.org/mandoc.1">mandoc(1)</a> -Thtml.
248: <li>Implemented the <a href="https://man.openbsd.org/tbl.7">tbl(7)</a> layout modifiers "b" (bold) and "i" (italic) in <a href="https://man.openbsd.org/mandoc.1">mandoc(1)</a> HTML output mode.
249:
1.1 benno 250: </ul>
251:
252: <li>Improved hardware support and driver bugfixes, including:
253: <ul>
1.15 benno 254: <li>Added a workaround to <a href="https://man.openbsd.org/amdgpu.4">amdgpu(4)</a> for machines where the framebuffer size reported by the hardware is incorrect.
255: <li>Prevented <a href="https://man.openbsd.org/ucc.4">ucc(4)</a> keyboards from changing the <a href="https://man.openbsd.org/wsmux.4">wsmux(4)</a> keyboard layout.
256: <li>Silently ignored invalid requests to change the encoding of a <a href="https://man.openbsd.org/ucc.4">ucc(4)</a> keyboard.
257: <li>In <a href="https://man.openbsd.org/pchgpio.4">pchgpio(4)</a>, worked around a BIOS bug on Lenovo Thinkpads based on Intel's Tiger Lake platform to properly restore the GPIO pin used for the touchpad interrupt upon resume.
258: <li>Stopped setting the highspeed bit on bcm2835-sdhci <a href="https://man.openbsd.org/sdhc.4">sdhc(4)</a> controllers, fixing <a href="https://man.openbsd.org/bwfm.4">bwfm(4)</a> wifi on the Raspberry Pi 3 Model B+.
259: <li>Added support for obtaining sense status and source slot of a media to <a href="https://man.openbsd.org/chio.1">chio(1)</a> and <a href="https://man.openbsd.org/ch.4">ch(4)</a>.
260: <li>Fixed a crash with i915 graphics by removing bogus Linux code that tried to deal with something that is impossible on OpenBSD.
261: <li>Fixed <a href="https://man.openbsd.org/dwiic.4">dwiic(4)</a> timeouts requesting data from at least one touchpad.
262: <li>Added <a href="https://man.openbsd.org/ucc.4">ucc(4)</a>, a driver for USB HID Consumer Control keyboards.
263: <li>Set the <a href="https://man.openbsd.org/uhidpp.4">uhidpp(4)</a> battery level sensor status to unknown while charging to handle devices reporting zero during charge, preventing certain <a href="https://man.openbsd.org/sensorsd.conf.5">sensorsd.conf(5)</a> actions from triggering inappropriately.
264: <li>Added Tiger Lake LP (INT34C5) support to <a href="https://man.openbsd.org/pchgpio.4">pchgpio(4)</a>.
265: <li>Fixed a panic at shutdown relating to <a href="https://man.openbsd.org/azalia.4">azalia(4)</a> on the X1 Extreme Gen 1.
266: <li>Fixed a panic reported in <a href="https://man.openbsd.org/upd.4">upd(4)</a>.
267: <li>Fixed display of incorrect patterns on LUNA's <a href="https://man.openbsd.org/wscons.4">wscons(4)</a> with 1bpp framebuffer when backspace is typed.
268: <li>Fixed an attachment problem for <a href="https://man.openbsd.org/dwctwo.4">dwctwo(4)</a> for certain devices issuing NAK interrupts during split transactions.
269: <li>Added AMD 17h/6xh Root Complex to <a href="https://man.openbsd.org/ksmn.4">ksmn(4)</a>.
270: <li>Ensured the TX FIFO isn't overrun for longer transfers in <a href="https://man.openbsd.org/dwiic.4">dwiic(4)</a>.
271: <li>Added <a href="https://man.openbsd.org/titmp.4">titmp(4)</a>, a driver for the TI TMP451 temperature sensor.
272: <li>Limited the workaround for AMD errata 400 ("APIC Timer Interrupt Does Not Occur in Processor C-States")to family 0fh and 10h.
273: <li>Ensured a USB mouse will attach if otherwise qualified even if the usage report does not include X and Y usages.
274: <li>Stopped fatal error in <a href="https://man.openbsd.org/amdgpu.4">amdgpu(4)</a> on failing to map visible VRAM.
275: <li>Disabled PPGTT on Intel machines with cherryview/braswell graphics to avoid memory corruption.
276: <li>Attached unsupported video devices to <a href="https://man.openbsd.org/uvideo.4">uvideo(4)</a> but not <a href="https://man.openbsd.org/video.1">video(1)</a>, rather than leaving it unmatched.
277: <li>Added a -R flag to <a href="https://man.openbsd.org/usbhidctl.1">usbhidctl(1)</a> to dump the raw report descriptor bytes.
278: <li>Added hid_get_report_desc_data() to <a href="https://man.openbsd.org/usbhid.3">usbhid(3)</a> to access raw report descriptor data.
279: <li>Fixed overflows when reading multiple bytes from AML over an i2c bus in <a href="https://man.openbsd.org/acpi.4">acpi(4)</a>.
280: <li>Fixed <a href="https://man.openbsd.org/uaudio.4">uaudio(4)</a> on certain machines such as the RPI4 by adding a pre-DMA-write barrier after data is stored to memory.
281: <li>Worked around x86 machines that advertise the "hardware reduced" ACPI feature, advertise S4 and S5 support, but fail to populate the SLEEP_CONTROL_REG and SLEEP_STATUS_REG descriptions in the FADT. This fixed the ASUS Zenbook 14.
282: <li>Enabled all Thinkpad X1 Extreme 1 speakers and atmos dolby in <a href="https://man.openbsd.org/azalia.4">azalia(4)</a>.
1.16 benno 283: <li>Fixed <a href="https://man.openbsd.org/pchgpio.4">pchgpio(4)</a> issues with dead touchpads after resume.
1.1 benno 284: </ul>
285:
286: <li>New or improved network hardware support:
287: <ul>
1.33 benno 288: <li>Fixed <a href="https://man.openbsd.org/ix.4">ix(4)</a> with older amd64 and current riscv64 hardware if MSI is not enabled for the device.
289: <li>Added the <a href="https://man.openbsd.org/uaq.4">uaq(4)</a> driver for Aquantia AQC111U/AQC112U USB ethernet devices.
290: <li>Added the <a href="https://man.openbsd.org/aq.4">aq(4)</a> driver to support Aquantia 1/2.5/5/10Gb/s PCIe ethernet adapters.
291: <li>Synced <a href="https://man.openbsd.org/dwctwo.4">dwctwo(4)</a> with the NetBSD-current code base, enabling the USB on-board ethernet controller through <a href="https://man.openbsd.org/mue.4">mue(4)</a> and enabling the two USB uhub3 ports on the Raspberry Pi 3 Model B+.
292: <li>Implemented 64-bit DMA mode in <a href="https://man.openbsd.org/cad.4">cad(4)</a>.
293: <li>Added Broadcom BCM5725 to <a href="https://man.openbsd.org/brgphy.4">brgphy(4)</a>.
294: <li>Added support for RTL8168FP/RTL8111FP/RTL8117 to <a href="https://man.openbsd.org/re.4">re(4)</a>.
1.1 benno 295: </ul>
296:
297: <li>Added or improved wireless network drivers:
298: <ul>
1.27 benno 299: <li>Zeroed out <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> Tx descriptors of frames which are done to prevent the device from writing to the former DMA address of a buffer which has been taken off the Tx ring.
300: <li>Fixed a bug in <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> Tx done interrupt processing which could cause fatal firmware errors under load and memory corruption.
301: <li>Changed <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> and <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> to sleep for 1 second while loading firmware to match what <a href="https://man.openbsd.org/iwn.4">iwn(4)</a> does. This fixes some issues with suspend/resume.
302: <li>Ensured that <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> and <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> will reload firmware from disk on down/up and not during resume.
303: <li>Fixed <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> crystal latency values to match those used by Linux iwlwifi.
304: <li>Fixed an off-by-one error in <a href="https://man.openbsd.org/bwfm.4">bwfm(4)</a>.
305: <li>Changed <a href="https://man.openbsd.org/iwn.4">iwn(4)</a>, <a href="https://man.openbsd.org/iwm.4">iwm(4)</a>, and <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> devices to hide detailed firmware error reports by default.
306: <li>Prevented a loop when <a href="https://man.openbsd.org/bwfm.4">bwfm(4)</a> receives an unsolicited association status event right after successful association.
307: <li>Fixed <a href="https://man.openbsd.org/ure.4">ure(4)</a> after a media link change on RTL8153/B devices.
308: <li>Fixed a leak with <a href="https://man.openbsd.org/wg.4">wg(4)</a> keepalive.
309: <li>Switched <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> to -63 firmware images as shipped in iwx-firmware-20210512, including fixes addressing fragattacks vulnerabilities.
310: <li>Supported the new <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> firmware session protection command, required for successful associations with new firmware.
311: <li>Stopped asking <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> to send probe requests on passive channels, fixing firmware going unresponsive after association.
312: <li>Fixed an <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> edge case where devices failed to resume after system suspend.
313: <li>Switched <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> to newer firmware images available in iwm-firmware-20210512. This provides FragAttacks fixes for the updated devices.
314: <li>Fixed <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> against access points using TKIP as the group cipher.
315: <li>Prevented <a href="https://man.openbsd.org/athn.4">athn(4)</a> from calling ieee80211_find_rxnode() on bad frames in an attempt to prevent creation of bogus node cache entries.
316: <li>Implemented various fixes addressing firmware errors in <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> and <a href="https://man.openbsd.org/iwx.4">iwx(4)</a>.
317: <li>Fixed node leaks in <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> and <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> which caused the drivers to get stuck when roaming between access points.
318: <li>Fixed <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> firmware reloading after a failure to parse the firmware file.
319: <li>Avoided "mac clock not ready" panics in <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> and <a href="https://man.openbsd.org/iwx.4">iwx(4)</a>.
320: <li>Worked around a problem with certain <a href="https://man.openbsd.org/athn.4">athn(4)</a> hardware that caused problem when running in HostAP mode with clients that use Tx aggregation.
321: <li>Corrected multicast decryption for <a href="https://man.openbsd.org/iwx.4">iwx(4)</a>.
322: <li>Added 802.11n Tx aggregation support to <a href="https://man.openbsd.org/iwm.4">iwm(4)</a>.
323: <li>Made <a href="https://man.openbsd.org/iwn.4">iwn(4)</a>, <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> and <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> keep track of beacon parameters at run-time.
324: <li>Implemented support for Rx aggregation offload in <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> and <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> and re-enabled de-aggregation of A-MSDUs in net80211 for all drivers capable of 11n mode.
325: <li>Changed error reporting for <a href="https://man.openbsd.org/bwfm.4">bwfm(4)</a> to use the long version of the firmware path. This makes it easier to find the correct files to add to the bwfm-firmware port.
1.1 benno 326: </ul>
327:
328: <li>IEEE 802.11 wireless stack improvements and bugfixes:
329: <ul>
1.27 benno 330: <li>Dropped fragmented 802.11 frames.
331: <li>Prevented frame injection via forged 802.11n A-MSDUs.
332: <li>Tweaked net80211 RA heuristics to avoid picking Tx rate choices that may be too optimistic.
1.1 benno 333: </ul>
334:
335: <li>Generic network stack improvements and bugfixes:
336: <ul>
1.22 benno 337: <li>Implemented reception of "VLAN 0 priority tagged" packets.
338: <li>Added <a href="https://man.openbsd.org/veb.4">veb(4)</a> to the list of pseudo devices that <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a> can create.
339: <li>Fixed an alignment fault observed on an octeon machine while <a href="https://man.openbsd.org/pppoe.4">pppoe(4)</a> negotiated a large MTU.
340: <li>Displayed provider ID for a <a href="https://man.openbsd.org/umb.4">umb(4)</a> SIM in <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a>.
1.1 benno 341: </ul>
342:
343: <li>Installer and upgrade improvements:
344: <ul>
1.26 benno 345: <li>Checked the installer's /tmp/i/hostname.* files for a configured IP address so that configurations without a broadcast address are detected as well.
346: <li>Made <a href="https://man.openbsd.org/rc.8">rc(8)</a> quietly attempt an early mount of /var/log in case someone has created it to avoid /var overflow issues.
347: <li>Handled "inet autoconf" in the ramdisk.
348: <li>Allowed <a href="https://man.openbsd.org/cad.4">cad(4)</a> recognition as boot interface when using netboot, making autoinstall/upgrade work.
349: <li>Introduced a short wait in <a href="https://man.openbsd.org/rc.8">rc(8)</a> after <a href="https://man.openbsd.org/netstart.8">netstart(8)</a> finishes until an IPv4 or IPv6 default route is present before continuing boot. Fixed setups depending on working network and DNS resolution during early boot when using autoconfiguration (<a href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a> or <a href="https://man.openbsd.org/slaacd.8">slaacd(8)</a>).
350: <li>Made <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> always create an EFI SYS partition if the -b option is specified when initializing a GPT.
351: <li>Added the Spleen 12x24 and 16x32 font on amd64's RAMDISK_CD and RAMDISK kernels.
352: <li>Used <a href="https://man.openbsd.org/installboot.8">installboot(8)</a> on arm64 ramdisks.
353: <li>Fixed an issue on machines where the EFI memory map has more than 64 entries.
354: <!-- move fdisk changes related to EFI here, independent of architecture? -->
1.1 benno 355: </ul>
356:
357: <li>Security improvements:
358: <ul>
1.16 benno 359: <li>Moved objcopy to base set to allow KARL to work on all installs.
360: <li>Added <a href="https://man.openbsd.org/unveil.2">unveil(2)</a> calls to xterm in the case where there are no exec-formatted or exec-selected resources set.
361: <li>Changed usage of %n from a syslog warning to syslog and abort for <a href="https://man.openbsd.org/printf.3">printf(3)</a> (and associated variants).
362: <li>Made kernel stop all threads when terminating via pledge_fail().
1.1 benno 363: </ul>
364:
365: <li>Routing daemons and other userland network improvements:
366: <ul>
367: <li>The <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> daemon saw the following changes:
368: <ul>
1.14 benno 369: <!-- check against and use openbgpd/rpki-client release notes instead? -->
370: <li>Fixed a memory leak in <a href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a>.
371: <li>Adjusted <a href="https://man.openbsd.org/bgpctl.8">bgpctl(8)</a> RIB_GENERIC_ADDPATH MRT message handling to work with other MRT implementations.
372: <li>Set the <a href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a> x509 validation depth limit to 12 or double the current depth.
373: <li>Limited <a href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a> to 300 deltas to sync an RRDP repository rather than fetching a snapshot.
374: <li>Add add-path support in MRT dumps (RFC8050) to <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>.
375: <li>Added http_proxy support to <a href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a> http handler.
376: <li>Implemented reception of multiple paths per BGP session in <a href="https://man.openbsd.org/bgpd.conf.5">bgpd.conf(5)</a> and made it possible to match on path-id in <a href="https://man.openbsd.org/bgpctl.8">bgpctl(8)</a> show rib outputs.
377: <li>Ensured MRT dumps containing add-path information will be dumped properly by <a href="https://man.openbsd.org/bgpctl.8">bgpctl(8)</a> (RFC 8050).
378: <li>Implemented Extended Optional Parameters Length for BGP OPEN Message (RFC 9072) in <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>, allowing sending of more than 255 bytes of optional parameters.
379: <li>Defaulted to attempting RRDP first in <a href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a> -r.
380: <li>Implemented enhanced route refresh (RFC 7313) in <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>.
381: <li>Improved <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> graceful restart capability handling.
382: <li>Limited the number of concurrent RTR connects to 32 in <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>.
383: <li>Added an 'expires' column to CSV & JSON output of <a href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a>.
384: <li>Added keep-alive support to the <a href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a> HTTP module.
1.1 benno 385: </ul>
386:
1.21 benno 387: <li>...other routing daemons...
1.1 benno 388:
389: <li>The <a href="https://man.openbsd.org/pf.4">pf(4)</a> packet filter and its userland utility:
390: <ul>
1.34 ! benno 391: <li>Corrected a potential memory leak associated with <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> update requests.
! 392: <li>Introduced locks around the global <a href="https://man.openbsd.org/pf.4">pf(4)</a> state list.
! 393: <li>Fixed a panic due to <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> deferral timeout handling.
! 394: <li>Added support for <a href="https://man.openbsd.org/pf.4">pf(4)</a> divert-to on <a href="https://man.openbsd.org/tpmr.4">tpmr(4)</a> and <a href="https://man.openbsd.org/veb.4">veb(4)</a>.
! 395: <li>Fixed state key reference underflow when both state keys are identical in <a href="https://man.openbsd.org/pf.4">pf(4)</a>.
! 396: <li>Only skipped <a href="https://man.openbsd.org/pf.4">pf(4)</a> once for packets injected by a divert-packet socket, allowing pf to still act later on a diverted packet.
1.1 benno 397: </ul>
398:
399: <li>IPSEC support in the kernel and the <a href="https://man.openbsd.org/iked.8">iked(8)</a> userland daemon:
400: <ul>
1.20 benno 401: <li>Zeroed out potential passwords when freeing memory or handling parsing errors in <a href="https://man.openbsd.org/iked.8">iked(8)</a>.
402: <li>Added client-side support for DNS configuration to <a href="https://man.openbsd.org/iked.8">iked(8)</a>.
403: <li>Increased <a href="https://man.openbsd.org/iked.8">iked(8)</a> default data bytes limit for Child SAs to 4 GB, preventing excessive rekeying and lost data in high performance setups.
404: <li>Fixed races which were slowing <a href="https://man.openbsd.org/ipsec.4">ipsec(4)</a> throughput.
405: <li>Fixed an <a href="https://man.openbsd.org/iked.8">iked(8)</a> bug where no flows are added if a single address is configured in the config address instead of a pool.
406: <li>Fixed a problem in <a href="https://man.openbsd.org/iked.8">iked(8)</a> where no flows are loaded when a single config address without pool is configured.
407: <li>Added an experimental post-quantum hybrid key exchange method based on Streamlined NTRU Prime (coupled with X25519) to <a href="https://man.openbsd.org/iked.8">iked(8)</a> as sntrup761x25519.
408: <li>Fixed <a href="https://man.openbsd.org/ipsec.4">IPsec(4)</a> NAT-T to work with <a href="https://man.openbsd.org/pipex.4">pipex(4)</a>.
1.1 benno 409: </ul>
410:
411: <li>The <a href="https://man.openbsd.org/httpd.8">httpd(8)</a> webserver saw numerous improvements:
412: <ul>
413: <li>...
414: </ul>
415:
416: <li><a
417: href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a>
418: received the following new features and bugfixes:
419: <ul>
420: <li>...
421: </ul>
422:
1.28 benno 423: <li><span style="color:red;">add blurp about awesome traceroute changes!</span>
1.1 benno 424: <ul>
1.28 benno 425: <li>Made <a href="https://man.openbsd.org/traceroute.8">traceroute(8)</a> faster by sending probes and doing DNS lookups asynchronously.
1.1 benno 426: </ul>
427:
428: <li>XXX Two new daemons, <a
429: href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a> and <a
430: href="https://man.openbsd.org/resolvd.8">resolvd(8)</a> were added.
431: These work alongside with <a
432: href="https://man.openbsd.org/slaacd.8">slaacd(8)</a> and <a
433: href="https://man.openbsd.org/unwind.8">unwind(8)</a> to provide a
434: coherent and simple automatic configuration of network interfaces and
435: DNS resolution.<br>
436: The two daemons are not enabled by default for now, but can be tested
1.18 benno 437: by enabling them with <a href="https://man.openbsd.org/rcctl.8">rcctl(8)</a>
1.1 benno 438: <ul>
1.18 benno 439: <li>Changed <a href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a> client identifier transmission to match other dhcp client implementations.
440: <li>Simplified <a href="https://man.openbsd.org/dhcpleasectl.8">dhcpleasectl(8)</a> and added syntax to match <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a> (interface), allowing one to be aliased to the other.
441: <li>Retried broadcast with <a href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a> when the dhcp server is unreachable via unicast UDP.
442: <li>Made <a href="https://man.openbsd.org/resolvd.8">resolvd(8)</a> accept dns proposals for the loopback addresses.
443: <li>Added to <a href="https://man.openbsd.org/dhcpleased.conf.5">dhcpleased.conf(5)</a> the ability to ignore routes or nameservers from a lease and to ignore servers entirely.
444: <li>Added a new "nameserver" command to <a href="https://man.openbsd.org/route.8">route(8)</a>, sending nameserver proposals to <a href="https://man.openbsd.org/resolvd.8">resolvd(8)</a> using the dns proposal protocol over the route socket.
445: <li>Left <a href="https://man.openbsd.org/resolv.conf.5">resolv.conf(5)</a> to <a href="https://man.openbsd.org/resolvd.8">resolvd(8)</a> rather than recreating after finding nameservers.
446: <li>Made <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a> defer to <a href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a> when the inet autoconf flag is set. When run, dhclient will signal dhcpleased to request a new lease rather than requesting one itself.
447: <li>Fixed potential races in <a href="https://man.openbsd.org/slaacd.8">slaacd(8)</a> and <a href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a> when two processes are configuring the same IP.
448: <li>Added the possibility to send vendor class identifier and client identifier using <a href="https://man.openbsd.org/dhcpleased.conf.5">dhcpleased.conf(5)</a>.
449: <li>Made <a href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a> always configure provided routes, regardless of whether the address received in the lease is already configured.
450: <li>Made <a href="https://man.openbsd.org/slaacd.8">slaacd(8)</a> send rDNS proposals on ramdisks, allowing <a href="https://man.openbsd.org/resolvd.8">resolvd(8)</a> to learn nameservers and update /etc/resolv.conf with IPv6 resolvers.
451: <li>Used exclusive locks under /dev/ to ensure single instances of <a href="https://man.openbsd.org/resolvd.8">resolvd(8)</a>, <a href="https://man.openbsd.org/slaacd.8">slaacd(8)</a> and <a href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a>.
452: <li>Switched to <a href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a> / <a href="https://man.openbsd.org/resolvd.8">resolvd(8)</a> in base.
453: <li>Stopped attempting to install a default route with <a href="https://man.openbsd.org/route.8">route(8)</a> in <a href="https://man.openbsd.org/netstart.8">netstart(8)</a> if using inet autoconf.
454: <li>Implemented classless static routes dhcp option in <a href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a>.
1.1 benno 455: </ul>
456:
457: <li>Changes to snmp related tools:
458: <ul>
459: <li>...
460: </ul>
461:
462: <li>Other userland network changes:
463: <ul>
1.21 benno 464: <li>Fixed <a href="https://man.openbsd.org/acme-client.1">acme-client(1)</a> SAN generation for CSRs.
465: <li>Altered <a href="https://man.openbsd.org/slowcgi.8">slowcgi(8)</a> so it no longer sends debug logging to syslog unless debug logging is requested via the new -v flag.
466: <li>Added the ability for <a href="https://man.openbsd.org/snmpd.8">snmpd(8)</a> to send SNMPv3 traps.
467: <li>Changed the default <a href="https://man.openbsd.org/snmp.1">snmp(1)</a> version to -v3 and removed the default community.
468: <li>Allowed "any" to be used as a listen on address in <a href="https://man.openbsd.org/snmpd.conf.5">snmpd.conf(5)</a>.
469: <li>Allowed setting of the engineid in <a href="https://man.openbsd.org/snmpd.8">snmpd(8)</a>.
470: <li>Switched default <a href="https://man.openbsd.org/snmpd.8">snmpd(8)</a> and <a href="https://man.openbsd.org/snmp.1">snmp(1)</a> auth back to hmac-sha1.
471: <li>Fixed incorrect status code for expired mails resulting in a misleading bounce report in <a href="https://man.openbsd.org/smtpd.8">smtpd(8)</a>.
472: <li>Removed default communities, changed seclevel default from none to enc and only allowed SNMPv3 by default in <a href="https://man.openbsd.org/snmpd.8">snmpd(8)</a>. Changed default authentication to SHA-256 and privacy protocol to AES in <a href="https://man.openbsd.org/snmpd.8">snmpd(8)</a> and <a href="https://man.openbsd.org/snmp.1">snmp(1)</a>.
473: <li>Added TLS options cafile=(path), nosni, noverify and servername=(name) to <a href="https://man.openbsd.org/smtp.1">smtp(1)</a>.
474: <li>Allowed specification of TLS ciphers and protocols in <a href="https://man.openbsd.org/smtp.1">smtp(1)</a>.
475: <li>Prevented <a href="https://man.openbsd.org/httpd.8">httpd(8)</a> from trying to chunk encode an empty http body coming from an fcgi upstream.
476: <li>Added <a href="https://man.openbsd.org/pledge.8">pledge(8)</a> for <a href="https://man.openbsd.org/ftpd.8">ftpd(8)</a> user processes.
477: <li>Allowed router solicitations from the unspecified address (::) in <a href="https://man.openbsd.org/rad.8">rad(8)</a>.
478: <li>Used relative reference URIs in Location header on directory redirects in <a href="https://man.openbsd.org/httpd.8">httpd(8)</a>, adding support for front-ending httpd with a TLS-terminating gateway that forwards unencrypted http traffic.
1.23 benno 479: <li>Prevented a crash on strict alignment architectures of <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> WireGuard printer.
480: <li>Made <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> split the 802.11 sequence number field into its sequence number and fragment number components rather than printing the whole field in decimal.
481: <li>Added simple BGP enhanced route refresh message decoding to <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a>.
1.1 benno 482: </ul>
483: </ul>
484:
485: <li><a href="https://man.openbsd.org/tmux">tmux(1)</a> improvements and bug fixes:
486: <ul>
1.30 benno 487: <li>Added a -B flag to <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> to remove borders from popups and added a menu to popups as well as options to convert a popup into a pane.
488: <li>Added pipe variants of the <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> line copy commands.
489: <li>Added basic support for zero width joiners to <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>.
490: <li>Added client focus hooks to <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>.
491: <li>Made window-linked and window-unlinked window options in <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>.
492: <li>Added -F for <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> command-prompt and used it to fix "Rename" on the window menu.
493: <li>Added different <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> command histories for different types of prompts.
494: <li>Fixed <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> problems with xterm in VT340 mode.
495: <li>Added an "always" value to the extended-keys option to always forward those keys to applications inside <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>.
1.1 benno 496: </ul>
497:
498: <li>OpenSMTPD 7.0.0
499: <ul>
500: <li>...
501: </ul>
502:
1.2 jsg 503: <li>LibreSSL 3.4.0 XXX
1.1 benno 504: <ul>
505: <li>New Features
506: <ul>
507: <li>...
508: </ul>
509:
510: <li>Portable Improvements
511: <ul>
512: <li>...
513: </ul>
514:
515: <li>API and Documentation Enhancements
516: <ul>
517: <li>...
518: </ul>
519:
520: <li>Compatibility Changes
521: <ul>
522: <li>...
523: </ul>
524:
525: <li>Testing and Proactive Security
526: <ul>
527: <li>...
528: </ul>
529:
530: <li>Internal Improvements
531: <ul>
532: <li>...
533: </ul>
534:
535: <li>Bug Fixes
536: <ul>
537: <li>...
538: </ul>
539: </ul>
540:
1.13 benno 541: <li>OpenSSH 8.8 XXX <span style="color:red;">replace with release notes</span>
542: <li>Corrected <a href="https://man.openbsd.org/sshd.8">sshd(8)</a> initialization of supplemental groups when executing an AuthorizedKeysCommand or AuthorizedPrincipalsCommand helper program (not enabled by default) as a different user.
543: <li>Fixed the <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> "Allocated port" debug message for unix sockets.
544: <li>Switched <a href="https://man.openbsd.org/scp.1">scp(1)</a> back to using the original scp/rcp protocol by default for release.
545: <li>Made <a href="https://man.openbsd.org/scp.1">scp(1)</a> SFTP mode (including error logging) more scp-like.
546: <li>Allowed CanonicalPermittedCNAMEs=none in <a href="https://man.openbsd.org/ssh_config.5">ssh_config(5)</a>.
547: <li>Put back the mux_ctx memleak fix for SSH_CHANNEL_MUX_CLIENT in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
548: <li>Stopped ignoring SIGINT in <a href="https://man.openbsd.org/sftp.1">sftp(1)</a> while waiting for input if <a href="https://man.openbsd.org/editline.3">editline(3)</a> is not used.
549: <li>Altered <a href="https://man.openbsd.org/scp">scp(1)</a> to use the SFTP protocol by default. The original scp/rcp protocol remains available via the -O flag.
550: <li>Disabled the RSA/SHA-1 signature algorithm by default in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
551: <li>Ensured some programs (including <a href="https://man.openbsd.org/sftp.1">sftp(1)</a>) do not ignore Ctrl-C when awaiting user input.
552: <li>Added <a href="https://man.openbsd.org/scp.1">scp(1)</a> -O and temporary -s (SFTP) flags to select the sftp protocol.
553: <li>Made <a href="https://man.openbsd.org/scp.1">scp(1)</a> -3 the default for remote-to-remote copies.
554: <li>Improved handling of ~ prefixed paths in <a href="https://man.openbsd.org/scp.1">scp(1)</a> in SFTP mode.
555: <li>Added experimental support for using the SFTP protocol for file transfers in <a href="https://man.openbsd.org/scp.1">scp(1)</a>.
556: <li>Added a ForkAfterAuthentication directive to <a href="https://man.openbsd.org/ssh_config.5">ssh_config(5)</a>, equivalent to <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> -f.
557: <li>Added a StdinNull directive to <a href="https://man.openbsd.org/ssh_config.5">ssh_config(5)</a> to prevent reading from stdin, equivalent to <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> -n.
558: <li>Let allowed signers files used by <a href="https://man.openbsd.org/ssh-keygen.1">ssh-keygen(1)</a> signatures support key lifetimes and verification mode to specify a signature time at which to check.
559: <li>Added a SessionType directive to <a href="https://man.openbsd.org/ssh_config.5">ssh_config(5)</a>, equivalent to the -N (no session) and -s (subsystem) command line flags.
560: <li>Allowed spaces to appear in usernames for <a href="https://man.openbsd.org/scp.1">scp(1)</a> local to remote and scp -3 remote to remote copies.
561: <li>Prevented a hang in <a href="https://man.openbsd.org/sshd.8">sshd(8)</a> when interrupted.
562: <li>Matched host certificates against host public keys in <a href="https://man.openbsd.org/sshd.8">sshd(8)</a>, allowing use of certificates with private keys held in an ssh-agent.
563: <li>Prevented a race condition which could result in <a href="https://man.openbsd.org/sshd.8">sshd(8)</a> not shutting down until the next time it receives a new connection.
564: <li>Allowed <a href="https://man.openbsd.org/ssh_config.5">ssh_config(5)</a> SetEnv to override $TERM.
565: <li>Fixed a segmentation violation in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> in an UpdateHostKezs debug() message when the update removed more host keys than remain present.
566: <li>Fixed <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> to restore file descriptors to non-blocking mode on exit.
567: <li>Fixed <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> started with ControlPersist incorrectly executing a shell when the -N option was specified.
568:
1.1 benno 569: <ul>
570: <li>Security fixes
571: <ul>
572: <li>...
573: </ul>
574: <li>Potentially incompatible changes
575: <ul>
576: <li>...
577: </ul>
578: <li>New Features
579: <ul>
580: <li>...
581: </ul>
582: <li>Bugfixes
583: <ul>
584: <li>...
585: </ul>
586: </ul>
587:
588: <li>Ports and packages:
589: <p>Many pre-built packages for each architecture:
590: <!-- number of FTP packages minus SHA256, SHA256.sig, index.txt -->
591: <ul style="column-count: 3">
1.10 naddy 592: <li>aarch64: 11034
1.9 naddy 593: <li>amd64: 11325
1.1 benno 594: <li>arm: ...
1.10 naddy 595: <li>i386: 10248
1.1 benno 596: <li>mips64: ...
597: <li>mips64el: ...
598: <li>powerpc: ...
1.10 naddy 599: <li>powerpc64: 9273
1.1 benno 600: <li>sparc64: ...
601: </ul>
602:
603: <p>Some highlights:
604: <ul style="column-count: 3">
1.2 jsg 605: <li>Asterisk 18.6.0
1.1 benno 606: <li>Audacity 2.4.2
1.2 jsg 607: <li>CMake 3.20.3
608: <li>Chromium 93.0.4577.82
1.1 benno 609: <li>Emacs 27.2
1.2 jsg 610: <li>FFmpeg 4.4
611: <li>GCC 8.4.0 and 11.2.0
612: <li>GHC 8.10.6
613: <li>GNOME 40.4
614: <li>Go 1.17
615: <li>JDK 8u302, 11.0.12 and 16.0.2
616: <li>KDE Applications 21.08.1
617: <li>KDE Frameworks 5.85.0
618: <li>Krita 4.4.8
619: <li>LLVM/Clang 11.1.0
1.7 jsg 620: <li>LibreOffice 7.2.1.2
1.1 benno 621: <li>Lua 5.1.5, 5.2.4 and 5.3.6
1.2 jsg 622: <li>MariaDB 10.6.4
1.1 benno 623: <li>Mono 6.12.0.122
1.2 jsg 624: <li>Mozilla Firefox 92.0 and ESR 91.1.0
1.7 jsg 625: <li>Mozilla Thunderbird 91.1.1
1.2 jsg 626: <li>Mutt 2.1.3 and NeoMutt 20210205
627: <li>Node.js 12.22.6
1.1 benno 628: <li>OCaml 4.10.0
1.2 jsg 629: <li>OpenLDAP 2.4.59
630: <li>PHP 7.3.30, 7.4.23 and 8.0.10
1.7 jsg 631: <li>Postfix 3.5.12
1.2 jsg 632: <li>PostgreSQL 13.4
633: <li>Python 2.7.18, 3.8.12 and 3.9.7
634: <li>Qt 5.15.2 and 6.0.4
635: <li>R 4.1.1
636: <li>Ruby 2.6.8, 2.7.4 and 3.0.2
637: <li>Rust 1.55.0
638: <li>SQLite 3.35.5
1.1 benno 639: <li>Shotcut 21.01.29
1.2 jsg 640: <li>Sudo 1.9.7p2
641: <li>Suricata 6.0.2
1.1 benno 642: <li>Tcl/Tk 8.5.19 and 8.6.8
643: <li>TeX Live 2020
1.2 jsg 644: <li>Vim 8.2.3394 and Neovim 0.5.0
1.1 benno 645: <li>Xfce 4.16
646: </ul>
647: <p>
648:
649: <li>As usual, steady improvements in manual pages and other documentation.
650:
651: <li>The system includes the following major components from outside suppliers:
652: <ul>
1.2 jsg 653: <li>Xenocara (based on X.Org 7.7 with xserver 1.20.13 + patches,
1.5 jsg 654: freetype 2.10.4, fontconfig 2.12.4, Mesa 21.1.8, xterm 367,
1.2 jsg 655: xkeyboard-config 2.20, fonttosfnt 1.2.2 and more)
656: <li>LLVM/Clang 11.1.0 (+ patches)
1.1 benno 657: <li>GCC 4.2.1 (+ patches) and 3.3.6 (+ patches)
658: <li>Perl 5.32.1 (+ patches)
1.2 jsg 659: <li>NSD 4.3.7
660: <li>Unbound 1.13.2
1.1 benno 661: <li>Ncurses 5.7
662: <li>Binutils 2.17 (+ patches)
663: <li>Gdb 6.3 (+ patches)
664: <li>Awk December 18, 2020 version
1.2 jsg 665: <li>Expat 2.4.1
1.1 benno 666: </ul>
667:
668: </ul>
669: </section>
670:
671: <hr>
672:
673: <section id=install>
674: <h3>How to install</h3>
675: <p>
676: Please refer to the following files on the mirror site for
677: extensive details on how to install OpenBSD 7.0 on your machine:
678:
679: <ul>
680: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/alpha/INSTALL.alpha">
681: .../OpenBSD/7.0/alpha/INSTALL.alpha</a>
682: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/amd64/INSTALL.amd64">
683: .../OpenBSD/7.0/amd64/INSTALL.amd64</a>
684: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/arm64/INSTALL.arm64">
685: .../OpenBSD/7.0/arm64/INSTALL.arm64</a>
686: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/armv7/INSTALL.armv7">
687: .../OpenBSD/7.0/armv7/INSTALL.armv7</a>
688: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/hppa/INSTALL.hppa">
689: .../OpenBSD/7.0/hppa/INSTALL.hppa</a>
690: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/i386/INSTALL.i386">
691: .../OpenBSD/7.0/i386/INSTALL.i386</a>
692: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/landisk/INSTALL.landisk">
693: .../OpenBSD/7.0/landisk/INSTALL.landisk</a>
694: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/loongson/INSTALL.loongson">
695: .../OpenBSD/7.0/loongson/INSTALL.loongson</a>
696: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/luna88k/INSTALL.luna88k">
697: .../OpenBSD/7.0/luna88k/INSTALL.luna88k</a>
698: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/macppc/INSTALL.macppc">
699: .../OpenBSD/7.0/macppc/INSTALL.macppc</a>
700: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/octeon/INSTALL.octeon">
701: .../OpenBSD/7.0/octeon/INSTALL.octeon</a>
702: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/powerpc64/INSTALL.powerpc64">
703: .../OpenBSD/7.0/powerpc64/INSTALL.powerpc64</a>
1.3 jsg 704: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/riscv64/INSTALL.riscv64">
705: .../OpenBSD/7.0/riscv64/INSTALL.riscv64</a>
1.1 benno 706: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/sparc64/INSTALL.sparc64">
707: .../OpenBSD/7.0/sparc64/INSTALL.sparc64</a>
708: </ul>
709: </section>
710:
711: <hr>
712:
713: <section id=quickinstall>
714: <p>
715: Quick installer information for people familiar with OpenBSD, and the use of
716: the "<a href="https://man.openbsd.org/disklabel.8">disklabel</a> -E" command.
717: If you are at all confused when installing OpenBSD, read the relevant
718: INSTALL.* file as listed above!
719:
720: <h3>OpenBSD/alpha:</h3>
721:
722: <p>
723: If your machine can boot from CD, you can write <i>install70.iso</i> or
724: <i>cd70.iso</i> to a CD and boot from it.
725: Refer to INSTALL.alpha for more details.
726:
727: <h3>OpenBSD/amd64:</h3>
728:
729: <p>
730: If your machine can boot from CD, you can write <i>install70.iso</i> or
731: <i>cd70.iso</i> to a CD and boot from it.
732: You may need to adjust your BIOS options first.
733:
734: <p>
735: If your machine can boot from USB, you can write <i>install70.img</i> or
736: <i>miniroot70.img</i> to a USB stick and boot from it.
737:
738: <p>
739: If you can't boot from a CD, floppy disk, or USB,
740: you can install across the network using PXE as described in the included
741: INSTALL.amd64 document.
742:
743: <p>
744: If you are planning to dual boot OpenBSD with another OS, you will need to
745: read INSTALL.amd64.
746:
747: <h3>OpenBSD/arm64:</h3>
748:
749: <p>
750: Write <i>install70.img</i> or <i>miniroot70.img</i> to a disk and boot from it
751: after connecting to the serial console. Refer to INSTALL.arm64 for more
752: details.
753:
754: <h3>OpenBSD/armv7:</h3>
755:
756: <p>
757: Write a system specific miniroot to an SD card and boot from it after connecting
758: to the serial console. Refer to INSTALL.armv7 for more details.
759:
760: <h3>OpenBSD/hppa:</h3>
761:
762: <p>
763: Boot over the network by following the instructions in INSTALL.hppa or the
764: <a href="hppa.html#install">hppa platform page</a>.
765:
766: <h3>OpenBSD/i386:</h3>
767:
768: <p>
769: If your machine can boot from CD, you can write <i>install70.iso</i> or
770: <i>cd70.iso</i> to a CD and boot from it.
771: You may need to adjust your BIOS options first.
772:
773: <p>
774: If your machine can boot from USB, you can write <i>install70.img</i> or
775: <i>miniroot70.img</i> to a USB stick and boot from it.
776:
777: <p>
778: If you can't boot from a CD, floppy disk, or USB,
779: you can install across the network using PXE as described in
780: the included INSTALL.i386 document.
781:
782: <p>
783: If you are planning on dual booting OpenBSD with another OS, you will need to
784: read INSTALL.i386.
785:
786: <h3>OpenBSD/landisk:</h3>
787:
788: <p>
789: Write <i>miniroot70.img</i> to the start of the CF
790: or disk, and boot normally.
791:
792: <h3>OpenBSD/loongson:</h3>
793:
794: <p>
795: Write <i>miniroot70.img</i> to a USB stick and boot bsd.rd from it
796: or boot bsd.rd via tftp.
797: Refer to the instructions in INSTALL.loongson for more details.
798:
799: <h3>OpenBSD/luna88k:</h3>
800:
801: <p>
802: Copy 'boot' and 'bsd.rd' to a Mach or UniOS partition, and boot the bootloader
803: from the PROM, and then bsd.rd from the bootloader.
804: Refer to the instructions in INSTALL.luna88k for more details.
805:
806: <h3>OpenBSD/macppc:</h3>
807:
808: <p>
809: Burn the image from a mirror site to a CDROM, and power on your machine
810: while holding down the <i>C</i> key until the display turns on and
811: shows <i>OpenBSD/macppc boot</i>.
812:
813: <p>
814: Alternatively, at the Open Firmware prompt, enter <i>boot cd:,ofwboot
815: /7.0/macppc/bsd.rd</i>
816:
817: <h3>OpenBSD/octeon:</h3>
818:
819: <p>
820: After connecting a serial port, boot bsd.rd over the network via DHCP/tftp.
821: Refer to the instructions in INSTALL.octeon for more details.
822:
823: <h3>OpenBSD/powerpc64:</h3>
824:
825: <p>
826: To install, write <i>install70.img</i> or <i>miniroot70.img</i> to a
827: USB stick, plug it into the machine and choose the <i>OpenBSD
828: install</i> menu item in Petitboot.
829: Refer to the instructions in INSTALL.powerpc64 for more details.
830:
1.3 jsg 831: <h3>OpenBSD/riscv64:</h3>
1.1 benno 832:
833: <p>
1.3 jsg 834: To install, write <i>install70.img</i> or <i>miniroot70.img</i> to a
835: USB stick, and boot with that drive plugged in.
836: Make sure you also have the microSD card plugged in that shipped with the
837: HiFive Unmatched board.
838: Refer to the instructions in INSTALL.riscv64 for more details.
1.1 benno 839:
840: <h3>OpenBSD/sparc64:</h3>
841:
842: <p>
843: Burn the image from a mirror site to a CDROM, boot from it, and type
844: <i>boot cdrom</i>.
845:
846: <p>
847: If this doesn't work, or if you don't have a CDROM drive, you can write
848: <i>floppy70.img</i> or <i>floppyB70.img</i>
849: (depending on your machine) to a floppy and boot it with <i>boot
850: floppy</i>. Refer to INSTALL.sparc64 for details.
851:
852: <p>
853: Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
854: will most likely fail.
855:
856: <p>
857: You can also write <i>miniroot70.img</i> to the swap partition on
858: the disk and boot with <i>boot disk:b</i>.
859:
860: <p>
861: If nothing works, you can boot over the network as described in INSTALL.sparc64.
862: </section>
863:
864: <hr>
865:
866: <section id=upgrade>
867: <h3>How to upgrade</h3>
868: <p>
1.4 jsg 869: If you already have an OpenBSD 6.9 system, and do not want to reinstall,
1.1 benno 870: upgrade instructions and advice can be found in the
871: <a href="faq/upgrade70.html">Upgrade Guide</a>.
872: </section>
873:
874: <hr>
875:
876: <section id=sourcecode>
877: <h3>Notes about the source code</h3>
878: <p>
879: <code>src.tar.gz</code> contains a source archive starting at <code>/usr/src</code>.
880: This file contains everything you need except for the kernel sources,
881: which are in a separate archive.
882: To extract:
883: <blockquote><pre>
884: # <kbd>mkdir -p /usr/src</kbd>
885: # <kbd>cd /usr/src</kbd>
886: # <kbd>tar xvfz /tmp/src.tar.gz</kbd>
887: </pre></blockquote>
888: <p>
889: <code>sys.tar.gz</code> contains a source archive starting at <code>/usr/src/sys</code>.
890: This file contains all the kernel sources you need to rebuild kernels.
891: To extract:
892: <blockquote><pre>
893: # <kbd>mkdir -p /usr/src/sys</kbd>
894: # <kbd>cd /usr/src</kbd>
895: # <kbd>tar xvfz /tmp/sys.tar.gz</kbd>
896: </pre></blockquote>
897: <p>
898: Both of these trees are a regular CVS checkout. Using these trees it
899: is possible to get a head-start on using the anoncvs servers as
900: described <a href="anoncvs.html">here</a>.
901: Using these files
902: results in a much faster initial CVS update than you could expect from
903: a fresh checkout of the full OpenBSD source tree.
904: </section>
905:
906: <hr>
907:
908: <section id=ports>
909: <h3>Ports Tree</h3>
910: <p>
911: A ports tree archive is also provided. To extract:
912: <blockquote><pre>
913: # <kbd>cd /usr</kbd>
914: # <kbd>tar xvfz /tmp/ports.tar.gz</kbd>
915: </pre></blockquote>
916: <p>
917: Go read the <a href="faq/ports/index.html">ports</a> page
918: if you know nothing about ports
919: at this point. This text is not a manual of how to use ports.
920: Rather, it is a set of notes meant to kickstart the user on the
921: OpenBSD ports system.
922: <p>
923: The <i>ports/</i> directory represents a CVS checkout of our ports.
924: As with our complete source tree, our ports tree is available via
925: <a href="anoncvs.html">AnonCVS</a>.
926: So, in order to keep up to date with the -stable branch, you must make
927: the <i>ports/</i> tree available on a read-write medium and update the tree
928: with a command like:
929: <blockquote><pre>
930: # <kbd>cd /usr/ports</kbd>
931: # <kbd>cvs -d anoncvs@server.openbsd.org:/cvs update -Pd -rOPENBSD_7_0</kbd>
932: </pre></blockquote>
933: <p>
934: [Of course, you must replace the server name here with a nearby anoncvs
935: server.]
936: <p>
937: Note that most ports are available as packages on our mirrors. Updated
938: ports for the 7.0 release will be made available if problems arise.
939: <p>
940: If you're interested in seeing a port added, would like to help out, or just
941: would like to know more, the mailing list
942: <a href="mail.html">ports@openbsd.org</a> is a good place to know.
943: </section>