Annotation of www/70.html, Revision 1.42
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.35 benno 83: <li>Added new <a href="riscv64.html">riscv64</a> platform for 64-bit RISC-V systems.
1.1 benno 84: <li>Support for the <a href="powerpc64.html">powerpc64</a> platform was improved:
85: <ul>
86: </ul>
87: <li>The arm64 platform support was improved with the following changes:
88: <ul>
1.29 benno 89: <li>Added <a href="https://man.openbsd.org/aplpinctrl.4">aplpinctrl(4)</a> driver for the Apple GPIO controller found on the M1 SoCs.
90: <li>Ensured <a href="https://man.openbsd.org/rkpwm.4">rkpwm(4)</a> can find the clock when using a recent device tree.
91: <li>Added RK3399 Type-C PHY clocks and PCIe PHY reference clocks to <a href="https://man.openbsd.org/rkclock.4">rkclock(4)</a>.
92: <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+.
93: <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.
94: <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.
95: <li>Added initial arm64 support for installing on a disk with a GPT.
96: <li>Added arm64 support for booting from disks with 4k sectors.
97: <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.
98: <li>Added <a href="https://man.openbsd.org/aplspmi.4">aplspmi(4)</a>, a driver for the Apple SPMI controller.
99: <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.
100: <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.
101: <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.35 benno 102: <li>Implemented multicast support in <a href="https://man.openbsd.org/mvpp.4">mvpp(4)</a>.
1.1 benno 103: </ul>
1.35 benno 104: <li>Changes on other architectures:
1.29 benno 105: <ul>
1.35 benno 106: <li>Switched macppc to use <a href="https://man.openbsd.org/ld.lld">ld.lld.1(1)</a>.
107: <li>Fixed an issue preventing applications from selecting the non-ALTIVEC code path on macppc.
108: <li>Made amd64 hw.setperf percentages proportional to the enhanced
109: speed step frequencies on Intel processors. The default hw.setperf=99
110: corresponds to the maximum ordinary speed, and setting it to 100
111: enables turbo mode.
1.33 benno 112: <li>Enabled <a href="https://man.openbsd.org/cy.4">cy(4)</a> on amd64.
1.35 benno 113: <li>Disabled base-gcc on amd64.
114: <li>Prevented crashes on amd64 when TLB entries which should have been invalidated were used.
1.33 benno 115: <li>Prevented a kernel panic in sparc64 due to page boundary misalignment.
116: <li>Forced luna88k to use the serial console when no graphics board is found.
117: <li>Fixed strchr() and strrchr() on mips64.
1.35 benno 118: <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>.
119: <li>Created audio devices on <a href="armv7.html">armv7</a>.
120: <li>Made additional free inodes on luna88k bsd.rd by specifying density=4096.
121: <li>Retired OpenBSD/sgi platform.
1.33 benno 122: <li>Enabled MSI-X support for powerpc64.
123: <li>Fixed __ppc_lock for page faults that recursively grab the lock on powerpc.
124: <li>Increased the maximum data size on powerpc64 to 32GB.
1.1 benno 125: </ul>
1.41 benno 126: </ul>
1.1 benno 127:
128: <li>Various kernel improvements:
129: <ul>
1.35 benno 130: <li>Enabled <a href="https://man.openbsd.org/dt.4">dt(4)</a> for GENERIC kernels on amd64, arm64, i386, sparc64, and powerpc64.
131: <li>Added kprobes provider for <a href="https://man.openbsd.org/dt.4">dt(4)</a>.
132: <li>Implemented < and > operators in <a href="https://man.openbsd.org/btrace.8">btrace(8)</a> filters.
133: <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.
134: <li>Added libexecinfo, a library providing backtrace functions.
1.25 benno 135: <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.
136: <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.
1.35 benno 137: <li>Fixed suspend/resume of machines with certain <a href="https://man.openbsd.org/radeondrm.4">radeondrm(4)</a> hardware.
1.25 benno 138: <li>Changed the printing of the hibernate image size from bytes to megabytes.
139: <li>Increased hibernate writeout speed.
140: <li>Added "machine sysregs" command to <a href="https://man.openbsd.org/ddb.4">ddb(4)</a> on amd64.
141: <li>Prevented interleaved stack traces in <a href="https://man.openbsd.org/ddb.4">ddb(4)</a> from multiple CPUs.
142: <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.
143: <li>Prevented a kernel panic after VFS shutdown.
144: <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>.
145: <li>Increased the <a href="https://man.openbsd.org/setitimer.2">setitimer(2)</a> timer limit to UINT_MAX seconds.
146: <li>Serialized the internals of <a href="https://man.openbsd.org/kqueue.2">kqueue(2)</a> with a mutex.
147: <li>Enabled pool cache on <a href="https://man.openbsd.org/knote.9">knote(9)</a> pool.
148: <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.
149: <li>Fixed a kernel crash in <a href="https://man.openbsd.org/tty.4">tty(4)</a>.
150: <li>Disabled global page table mappings when using PCID to prevent crashes when not flushed from TLB.
151: <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>.
152: <li>Updated en_US.UTF-8.src to Unicode 13.0.
153: <li>Limited the <a href="https://man.openbsd.org/printf.1">printf(1)</a> \x escape sequence to two characters.
154: <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.35 benno 155: <li>In the build system, pass make flags to kernel and lib builds, making hacking on ramdisks/the installer much faster.
1.1 benno 156: </ul>
157:
158: <li>SMP Improvements
159: <ul>
1.24 benno 160: <li>Made pmap_extract() mpsafe on hppa and amd64.
161: <li>Introduced CPU_IS_RUNNING() and used it in scheduler-related code to prevent waiting on non-running CPUs.
162: <li>Made anonymous object reference counting independent from the KERNEL_LOCK().
163: <li>Unlocked <a href="https://man.openbsd.org/connect.2">connect(2)</a>.
164: <li>Unlocked <a href="https://man.openbsd.org/setrtable.2">setrtable(2)</a>.
165: <li>Introduced per-CPU <a href="https://man.openbsd.org/panic.9">panic(9)</a> message buffers.
166: <li>Used so_lock to protect key management (PF_KEY) sockets.
167: <li>Unlocked <a href="https://man.openbsd.org/lseek.2">lseek(2)</a>.
168: <li>Unlocked the top part of the fault handler.
1.1 benno 169: </ul>
170:
171: <li>Direct Rendering Manager
172: <ul>
1.8 jsg 173: <li>Updated <a href="https://man.openbsd.org/drm.4">drm(4)</a>
174: to Linux 5.10.65
175: <li><a href="https://man.openbsd.org/inteldrm.4">inteldrm(4)</a>:
176: better support for Tiger Lake
177: <li><a href="https://man.openbsd.org/drm.4">amdgpu(4)</a>:
178: support for Navi 12, Navi 21 "Sienna Cichlid", Arcturus
179: <li><a href="https://man.openbsd.org/drm.4">amdgpu(4)</a>:
180: support for Cezanne "Green Sardine" Ryzen 5000 APU
1.1 benno 181: </ul>
182:
183: <li>VMM/VMD improvements
184: <ul>
1.19 benno 185: <li>Unlocked the top part of the VM fault handler on i386.
186: <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>.
187: <li>Fixed <a href="https://man.openbsd.org/vmm.4">vmm(4)</a> vcpu locking issues.
188: <li>Fixed an mbuf leak in <a href="https://man.openbsd.org/xnf.4">xnf(4)</a>.
189: <li>Added <a href="https://man.openbsd.org/vmd.8">vmd(8)</a> support for variable length vionet rx descriptor chains.
190: <li>Prevented stack overflow in <a href="https://man.openbsd.org/vmd.8">vmd(8)</a> due to large dhcp packets on local interfaces.
191: <li>Allowed locking of a randomly assigned lladdr in <a href="https://man.openbsd.org/vmd.8">vmd(8)</a>.
192: <li>Skipped inspecting non-udp packets on local interfaces for <a href="https://man.openbsd.org/vmd.8">vmd(8)</a>.
193: <li>Prevented guest virtio drivers from causing stack and buffer overflows in <a href="https://man.openbsd.org/vmd.8">vmd(8)</a>.
194: <li>Fixed a race condition in <a href="https://man.openbsd.org/vmm.4">vmm(4)</a> relating to incorrect physical cpu tracking.
195: <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.
196: <li>Added protections against guests with bad virtio drivers to <a href="https://man.openbsd.org/vmd.8">vmd(8)</a>
1.1 benno 197: </ul>
198:
199: <li>Various new userland features:
200: <ul>
1.36 benno 201: <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.
202: <li>Added include and exclude options to <a href="https://man.openbsd.org/openrsync.1">openrsync(1)</a>..
203: <li>Implemented reporting of supplemental groups in <a href="https://man.openbsd.org/ps.1">ps(1)</a>.
204: <li>Added indication of whether an <a href="https://man.openbsd.org/mg.1">mg(1)</a> function is unsuitable for a startup file.
205: <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.
206: </ul>
207:
208: <li>Various bugfixes and tweaks in userland:
209: <ul>
1.17 benno 210: <li>Modified <a href="https://man.openbsd.org/doas">doas(1)</a> to retry up to 3 times on password authentication failure.
211: <li>Made all <a href="https://man.openbsd.org/vi.1">vi(1)</a> signal handler functions async-signal-safe.
212: <li>Changed <a href="https://man.openbsd.org/diff.1">diff(1)</a> to consider two files sharing the same inode identical.
1.36 benno 213: <li>Allowed <a href="https://man.openbsd.org/xenodm.1">xenodm(1)</a> login when ~./Xauthority does not exist.
214: <li>Disabled building all of the non-unicode fonts except for ISO8859-1.
1.17 benno 215: <li>Removed from0 support from <a href="https://man.openbsd.org/openrsync.1">openrsync(1)</a>.
216: <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.
217: <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.
218: <li>Made <a href="https://man.openbsd.org/jot.1">jot(1)</a> -b, -c and -w mutually exclusive.
219: <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.
220: <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="".
221: <li>Avoided a potential buffer overflow in backslash escaping in <a href="https://man.openbsd.org/awk.1">awk(1)</a>.
222: <li>Disallowed the use of an empty list between "while" and "do" in <a href="https://man.openbsd.org/ksh.1">ksh(1)</a>.
223: <li>Prevented base pkg tools from looking under /usr/local in general. <!-- ??? -->
224: <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.
1.37 benno 225: <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.
1.1 benno 226:
1.36 benno 227: <li>Cleaned up the <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> MBR/GPT
228: initialization code, making -g independent of -i, leaving four
229: mutually exclusive initialization options (-i, -b, -u and -A) with the
230: last option specified executed (allowing the existing -i -g to work as
231: intended).
232: <li>Relaxed criteria for recognizing GPT formatted media, allowing
233: GPT disk images added with <a href="https://man.openbsd.org/dd.1">dd(1)</a> onto larger physical
234: media to be recognized by <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> and the kernel.
235: <li>Added the ability for <a
236: href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> to recognize
237: "HiFive! FSBL" and "HiFive! BBL" GPT partitions.
238: <li>Ensured the values for <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a>
239: -b and -l are treated as 512-byte block counts.
240: <li>Added an <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a>
241: -A option to initialize a GPT without removing special boot
242: partitions.
243: <li>Made <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a>
244: available to architectures other than amd64 and i386 and extended the
245: syntax to allow specification of the boot partition type and offset.
246: <li>Adjusted density for partitions on a 4k disk in <a
247: href="https://man.openbsd.org/newfs.8">newfs(8)</a> when fragsize and
248: density are not passed on the command line to ensure sufficient inodes
249: to hold a src tree on a 2G fs.
250: <li>Fixed <a href="https://man.openbsd.org/disklabel.8">disklabel(8)</a> generation on sparc64.
251: <li>Fixed overlap check in <a href="https://man.openbsd.org/disklabel.1">disklabel(1)</a>
252: autoalloc code.
1.30 benno 253:
254: <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.
255: <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.
256: <li>Supported auto-tagging for ".It Va" in <a href="https://man.openbsd.org/mandoc.1">mandoc(1)</a>.
257: <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.
258: <li>Added a meta viewport element to the HTML output for <a href="https://man.openbsd.org/mandoc.1">mandoc(1)</a> -Thtml.
259: <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.
260:
1.1 benno 261: </ul>
262:
263: <li>Improved hardware support and driver bugfixes, including:
264: <ul>
1.15 benno 265: <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.
266: <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.
267: <li>Silently ignored invalid requests to change the encoding of a <a href="https://man.openbsd.org/ucc.4">ucc(4)</a> keyboard.
268: <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.
269: <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+.
270: <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>.
271: <li>Fixed a crash with i915 graphics by removing bogus Linux code that tried to deal with something that is impossible on OpenBSD.
272: <li>Fixed <a href="https://man.openbsd.org/dwiic.4">dwiic(4)</a> timeouts requesting data from at least one touchpad.
273: <li>Added <a href="https://man.openbsd.org/ucc.4">ucc(4)</a>, a driver for USB HID Consumer Control keyboards.
274: <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.
275: <li>Added Tiger Lake LP (INT34C5) support to <a href="https://man.openbsd.org/pchgpio.4">pchgpio(4)</a>.
276: <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.
277: <li>Fixed a panic reported in <a href="https://man.openbsd.org/upd.4">upd(4)</a>.
278: <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.
279: <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.
280: <li>Added AMD 17h/6xh Root Complex to <a href="https://man.openbsd.org/ksmn.4">ksmn(4)</a>.
281: <li>Ensured the TX FIFO isn't overrun for longer transfers in <a href="https://man.openbsd.org/dwiic.4">dwiic(4)</a>.
282: <li>Added <a href="https://man.openbsd.org/titmp.4">titmp(4)</a>, a driver for the TI TMP451 temperature sensor.
283: <li>Limited the workaround for AMD errata 400 ("APIC Timer Interrupt Does Not Occur in Processor C-States")to family 0fh and 10h.
284: <li>Ensured a USB mouse will attach if otherwise qualified even if the usage report does not include X and Y usages.
285: <li>Stopped fatal error in <a href="https://man.openbsd.org/amdgpu.4">amdgpu(4)</a> on failing to map visible VRAM.
286: <li>Disabled PPGTT on Intel machines with cherryview/braswell graphics to avoid memory corruption.
287: <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.
288: <li>Added a -R flag to <a href="https://man.openbsd.org/usbhidctl.1">usbhidctl(1)</a> to dump the raw report descriptor bytes.
289: <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.
290: <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>.
291: <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.
292: <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.
293: <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 294: <li>Fixed <a href="https://man.openbsd.org/pchgpio.4">pchgpio(4)</a> issues with dead touchpads after resume.
1.1 benno 295: </ul>
296:
297: <li>New or improved network hardware support:
298: <ul>
1.33 benno 299: <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.
300: <li>Added the <a href="https://man.openbsd.org/uaq.4">uaq(4)</a> driver for Aquantia AQC111U/AQC112U USB ethernet devices.
301: <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.
302: <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+.
1.35 benno 303: <li>Added <a href="https://man.openbsd.org/cad.4">cad(4)</a>, a driver for Cadence GEM.
1.33 benno 304: <li>Added Broadcom BCM5725 to <a href="https://man.openbsd.org/brgphy.4">brgphy(4)</a>.
305: <li>Added support for RTL8168FP/RTL8111FP/RTL8117 to <a href="https://man.openbsd.org/re.4">re(4)</a>.
1.1 benno 306: </ul>
307:
308: <li>Added or improved wireless network drivers:
309: <ul>
1.27 benno 310: <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.
311: <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.
312: <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.
313: <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.
314: <li>Fixed <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> crystal latency values to match those used by Linux iwlwifi.
315: <li>Fixed an off-by-one error in <a href="https://man.openbsd.org/bwfm.4">bwfm(4)</a>.
316: <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.
317: <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.
318: <li>Fixed <a href="https://man.openbsd.org/ure.4">ure(4)</a> after a media link change on RTL8153/B devices.
319: <li>Fixed a leak with <a href="https://man.openbsd.org/wg.4">wg(4)</a> keepalive.
320: <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.
321: <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.
322: <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.
323: <li>Fixed an <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> edge case where devices failed to resume after system suspend.
324: <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.
325: <li>Fixed <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> against access points using TKIP as the group cipher.
326: <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.
327: <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>.
328: <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.
329: <li>Fixed <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> firmware reloading after a failure to parse the firmware file.
330: <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>.
331: <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.
332: <li>Corrected multicast decryption for <a href="https://man.openbsd.org/iwx.4">iwx(4)</a>.
333: <li>Added 802.11n Tx aggregation support to <a href="https://man.openbsd.org/iwm.4">iwm(4)</a>.
334: <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.
335: <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.
336: <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 337: </ul>
338:
339: <li>IEEE 802.11 wireless stack improvements and bugfixes:
340: <ul>
1.37 benno 341: <li>Drop fragmented 802.11 frames.
342: <li>Prevent frame injection via forged 802.11n A-MSDUs.
1.27 benno 343: <li>Tweaked net80211 RA heuristics to avoid picking Tx rate choices that may be too optimistic.
1.1 benno 344: </ul>
345:
346: <li>Generic network stack improvements and bugfixes:
347: <ul>
1.22 benno 348: <li>Implemented reception of "VLAN 0 priority tagged" packets.
349: <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.
1.37 benno 350: <li>Display 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 351: </ul>
352:
353: <li>Installer and upgrade improvements:
354: <ul>
1.26 benno 355: <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.
356: <li>Handled "inet autoconf" in the ramdisk.
357: <li>Allowed <a href="https://man.openbsd.org/cad.4">cad(4)</a> recognition as boot interface when using netboot, making autoinstall/upgrade work.
358: <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>).
359: <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.
1.35 benno 360: <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.
361: <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.
362: <li>Added GPT support to <a href="armv7.html">armv7</a> <a href="https://man.openbsd.org/installboot.8">installboot(8)</a>.
1.26 benno 363: <li>Added the Spleen 12x24 and 16x32 font on amd64's RAMDISK_CD and RAMDISK kernels.
1.37 benno 364: <li>Use <a href="https://man.openbsd.org/installboot.8">installboot(8)</a> on arm64 ramdisks.
1.41 benno 365: <li>XXX 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.
366:
1.1 benno 367: </ul>
368:
369: <li>Security improvements:
370: <ul>
1.16 benno 371: <li>Moved objcopy to base set to allow KARL to work on all installs.
372: <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.
373: <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).
374: <li>Made kernel stop all threads when terminating via pledge_fail().
1.1 benno 375: </ul>
376:
377: <li>Routing daemons and other userland network improvements:
378: <ul>
379: <li>The <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> daemon saw the following changes:
380: <ul>
1.38 benno 381: <li>Stop processing queued UPDATES when the max-prefix limit was reached.
382: <li>Improved negotiation for route refresh, graceful restart and
383: multi-protocol capabilities
384: <li>Correctly track 'rde evaluate all' and 'export' settings during reload.
385: <li>Properly withdraw prefixes when 'rde evaluate all' is used.
386: <li>Fixed MRT handling on initial startup for message dump types.
387: <li>Fixed and use non-blocking connect for RTR sessions.
388: <li>Fully implemented RFC 6286 by checking for BGP ID collisions.
389: <li>Adjusted the 4-byte AS number handling to RFC 6793 by changing error
390: behaviour from prefix witdraw to attribute discard.
1.39 benno 391: <li>In <a href="https://man.openbsd.org/bgpctl.8">bgpctl(8)</a> print out both the sent "Neighbor capabilities" and the
1.38 benno 392: "Negotiated capabilities" for a session.
393: <li>Print timestamps both as a formatted and a pure time in seconds
394: filed in various JSON objects.
1.39 benno 395: <li>Fixed a bug, where during <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> config reloads prefixes of the
1.38 benno 396: wrong address family could leak to peers resulting in session resets.
397: <li>Added support for RFC 7313 - Enhanced Route Refresh
398: Disabled by default, to enable use 'announce enhanced refresh yes'.
399: <li>Improved output of Adj-RIB-Out by updating nexthop and ASPATH before
400: adding the prefix to the RIB. This improves `bgpctl show rib out`
401: output.
1.39 benno 402: <li>Added command line option to both <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> and <a href="https://man.openbsd.org/bgpctl.8">bgpctl(8)</a> to show the version
1.38 benno 403: <li>Added support for RFC 9072 - Extended Optional Parameters Lenght for
404: BGP OPEN Message
405: <li>Added support for RFC 8050 - MRT Format with BGP Additional Path Extensions
406: <li>Implemented receive side of RFC 7911 - Advertisement of Multiple Paths
407: in BGP. OpenBGPD is currently not able to send multiple paths out.
408: <li>Improved checks of VRPs loaded via RTR or from the roa-set table.
409: <li>Allowed to optionally specify an expiry time for roa-set entries to
410: mitigate BGP route decision making based on outdated RPKI data.
411: OpenBGPD's companion rpki-client(8) produces roa-sets with the
412: new 'expires' property
1.1 benno 413: </ul>
414:
415: <li>The <a href="https://man.openbsd.org/pf.4">pf(4)</a> packet filter and its userland utility:
416: <ul>
1.34 benno 417: <li>Corrected a potential memory leak associated with <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> update requests.
418: <li>Introduced locks around the global <a href="https://man.openbsd.org/pf.4">pf(4)</a> state list.
419: <li>Fixed a panic due to <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> deferral timeout handling.
420: <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>.
421: <li>Fixed state key reference underflow when both state keys are identical in <a href="https://man.openbsd.org/pf.4">pf(4)</a>.
422: <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 423: </ul>
424:
425: <li>IPSEC support in the kernel and the <a href="https://man.openbsd.org/iked.8">iked(8)</a> userland daemon:
426: <ul>
1.20 benno 427: <li>Zeroed out potential passwords when freeing memory or handling parsing errors in <a href="https://man.openbsd.org/iked.8">iked(8)</a>.
428: <li>Added client-side support for DNS configuration to <a href="https://man.openbsd.org/iked.8">iked(8)</a>.
429: <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.
430: <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.
431: <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.
432: <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.
1.39 benno 433: <li>Fixed races which were slowing <a href="https://man.openbsd.org/ipsec.4">ipsec(4)</a> throughput.
434: <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 435: </ul>
436:
437: <li><a
438: href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a>
439: received the following new features and bugfixes:
440: <ul>
1.39 benno 441: <li>Added keep-alive support to the HTTP client code for RRDP.
442: <li>Reference-count and delete unused files synced via RRDP, as far as
443: possible.
444: <li>In the JSON output, changed the AS Number from a string ("AS123") to
445: an integer ("123") to make processing of the output easier,
446: <li>Added an 'expires' column to CSV & JSON output, based on certificate
447: and CRL validity times. The 'expires' value can be used to avoid route
448: selection based on stale data when generating VRP sets, when faced
449: with loss of communication between consumer and valdiator, or
450: validator and CA repository,
451: <li>Made the runtime timeout (-s option) also trigger in
452: child proecesses.
453: <li>Improved RRDP support and make RRDP as default protocol for
454: syncronizing the RPKI repository data, with <a
455: href="https://man.openbsd.org/openrsync.1">openrsync(1)</a> used as secondary.
456: <li>At startup, warn if the filesystem containing the cache directory
457: is probably too small.
458: <li>Handle running out of disk space more gracefully, including cleanup
459: of temporary and old files before exiting.
460: <li>Improved the HTTP/1.1 request headers being sent.
461: <li>Improved validation checks for ROA and MFT objects.
462: <li>Improved the HTTP client code (status code handling, http proxy
463: support, keep-alive).
464: <li>In RRDP, do not access URI with userinfo (@-sign)
465: <li>Improved RRDP syncing by considering a notification file serial
466: jumping backwards as synced repository.
467: <li>Made -R (rsync only) also apply to the fetching of TA files.
468: <li>Only sync *.{cer,crl,gbr,mft,roa} files via rsync and exclude all others.
469: <li>When producing output for <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>, make use of the 'roa-set
470: expires' attribute to prevent machines from loading outdated roa-sets.
471: <li>In RRDP, limited the number of deltas to 300 per repo. If more deltas
472: exist, downloading a full snapshot is faster.
473: <li>Limited the validation depth of X509 certificate chains to 12, double
474: the current depth seen in RPKI.
1.1 benno 475: </ul>
476:
1.41 benno 477: <li><a href="https://man.openbsd.org/traceroute.8">traceroute(8)</a> was improved:
1.1 benno 478: <ul>
1.41 benno 479: <li>Probe packets are now sent in quick succession and responses handled asynchronously.</li>
480: <li>DNS lookups are performed asynchronously.</li>
481: This speeds up the time required to display results considerably.
1.1 benno 482: </ul>
483:
1.41 benno 484: <li><a href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a> was made
485: the default program for configuring IPv4 addresses via DHCP. <a
486: href="https://man.openbsd.org/resolvd.8">resolvd(8)</a> was activated
487: to handle concurrent changes to <a
488: href="https://man.openbsd.org/resolv.conf.5">resolv.conf(5)</a> by
489: both dhcpleased(8) and <a
490: href="https://man.openbsd.org/slaacd.8">slaacd(8)</a>.<br>
491: Additionally these programms saw the following improvements and bugfixes:
1.1 benno 492: <ul>
1.18 benno 493: <li>Changed <a href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a> client identifier transmission to match other dhcp client implementations.
494: <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.
495: <li>Retried broadcast with <a href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a> when the dhcp server is unreachable via unicast UDP.
496: <li>Made <a href="https://man.openbsd.org/resolvd.8">resolvd(8)</a> accept dns proposals for the loopback addresses.
497: <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.
1.41 benno 498: <li><!-- XXX what does this mean? -->Left <a href="https://man.openbsd.org/resolv.conf.5">resolv.conf(5)</a> to <a
499: href="https://man.openbsd.org/resolvd.8">resolvd(8)</a> rather than
500: recreating after finding nameservers.
1.18 benno 501: <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.
502: <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.
503: <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>.
504: <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.
505: <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>.
506: <li>Implemented classless static routes dhcp option in <a href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a>.
1.41 benno 507: <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. This command is intended be used to integrate userland triggered nameserver changes, for example by VPN software.
1.1 benno 508: </ul>
509:
510: <li>Changes to snmp related tools:
511: <ul>
1.21 benno 512: <li>Added the ability for <a href="https://man.openbsd.org/snmpd.8">snmpd(8)</a> to send SNMPv3 traps.
513: <li>Changed the default <a href="https://man.openbsd.org/snmp.1">snmp(1)</a> version to -v3 and removed the default community.
514: <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>.
515: <li>Allowed setting of the engineid in <a href="https://man.openbsd.org/snmpd.8">snmpd(8)</a>.
516: <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.
1.40 benno 517: <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>.
1.41 benno 518: </ul>
519:
520: <li>Other userland network changes:
521: <ul>
522: <li>Fixed <a href="https://man.openbsd.org/acme-client.1">acme-client(1)</a> SAN generation for CSRs.
1.42 ! benno 523:
! 524:
1.21 benno 525: <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.
526: <li>Allowed router solicitations from the unspecified address (::) in <a href="https://man.openbsd.org/rad.8">rad(8)</a>.
1.40 benno 527: <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.
528: <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.
1.21 benno 529: <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 530: <li>Prevented a crash on strict alignment architectures of <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> WireGuard printer.
531: <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.
532: <li>Added simple BGP enhanced route refresh message decoding to <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a>.
1.1 benno 533: </ul>
534: </ul>
535:
536: <li><a href="https://man.openbsd.org/tmux">tmux(1)</a> improvements and bug fixes:
537: <ul>
1.30 benno 538: <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.
539: <li>Added pipe variants of the <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> line copy commands.
540: <li>Added basic support for zero width joiners to <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>.
541: <li>Added client focus hooks to <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>.
542: <li>Made window-linked and window-unlinked window options in <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>.
543: <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.
544: <li>Added different <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> command histories for different types of prompts.
545: <li>Fixed <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> problems with xterm in VT340 mode.
546: <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 547: </ul>
548:
549: <li>OpenSMTPD 7.0.0
550: <ul>
1.42 ! benno 551: <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>.
! 552: <li>Added TLS options cafile=(path), nosni, noverify and servername=(name) to <a href="https://man.openbsd.org/smtp.1">smtp(1)</a>.
! 553: <li>Allowed specification of TLS ciphers and protocols in <a href="https://man.openbsd.org/smtp.1">smtp(1)</a>.
1.1 benno 554: </ul>
555:
1.2 jsg 556: <li>LibreSSL 3.4.0 XXX
1.1 benno 557: <ul>
558: <li>New Features
559: <ul>
560: <li>...
561: </ul>
562:
563: <li>Portable Improvements
564: <ul>
565: <li>...
566: </ul>
567:
568: <li>API and Documentation Enhancements
569: <ul>
570: <li>...
571: </ul>
572:
573: <li>Compatibility Changes
574: <ul>
575: <li>...
576: </ul>
577:
578: <li>Testing and Proactive Security
579: <ul>
580: <li>...
581: </ul>
582:
583: <li>Internal Improvements
584: <ul>
585: <li>...
586: </ul>
587:
588: <li>Bug Fixes
589: <ul>
590: <li>...
591: </ul>
592: </ul>
593:
1.13 benno 594: <li>OpenSSH 8.8 XXX <span style="color:red;">replace with release notes</span>
595: <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.
596: <li>Fixed the <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> "Allocated port" debug message for unix sockets.
597: <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.
598: <li>Made <a href="https://man.openbsd.org/scp.1">scp(1)</a> SFTP mode (including error logging) more scp-like.
599: <li>Allowed CanonicalPermittedCNAMEs=none in <a href="https://man.openbsd.org/ssh_config.5">ssh_config(5)</a>.
600: <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>.
601: <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.
602: <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.
603: <li>Disabled the RSA/SHA-1 signature algorithm by default in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
604: <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.
605: <li>Added <a href="https://man.openbsd.org/scp.1">scp(1)</a> -O and temporary -s (SFTP) flags to select the sftp protocol.
606: <li>Made <a href="https://man.openbsd.org/scp.1">scp(1)</a> -3 the default for remote-to-remote copies.
607: <li>Improved handling of ~ prefixed paths in <a href="https://man.openbsd.org/scp.1">scp(1)</a> in SFTP mode.
608: <li>Added experimental support for using the SFTP protocol for file transfers in <a href="https://man.openbsd.org/scp.1">scp(1)</a>.
609: <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.
610: <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.
611: <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.
612: <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.
613: <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.
614: <li>Prevented a hang in <a href="https://man.openbsd.org/sshd.8">sshd(8)</a> when interrupted.
615: <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.
616: <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.
617: <li>Allowed <a href="https://man.openbsd.org/ssh_config.5">ssh_config(5)</a> SetEnv to override $TERM.
618: <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.
619: <li>Fixed <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> to restore file descriptors to non-blocking mode on exit.
620: <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.
621:
1.1 benno 622: <ul>
623: <li>Security fixes
624: <ul>
625: <li>...
626: </ul>
627: <li>Potentially incompatible changes
628: <ul>
629: <li>...
630: </ul>
631: <li>New Features
632: <ul>
633: <li>...
634: </ul>
635: <li>Bugfixes
636: <ul>
637: <li>...
638: </ul>
639: </ul>
640:
641: <li>Ports and packages:
642: <p>Many pre-built packages for each architecture:
643: <!-- number of FTP packages minus SHA256, SHA256.sig, index.txt -->
644: <ul style="column-count: 3">
1.10 naddy 645: <li>aarch64: 11034
1.9 naddy 646: <li>amd64: 11325
1.1 benno 647: <li>arm: ...
1.10 naddy 648: <li>i386: 10248
1.1 benno 649: <li>mips64: ...
650: <li>mips64el: ...
651: <li>powerpc: ...
1.10 naddy 652: <li>powerpc64: 9273
1.1 benno 653: <li>sparc64: ...
654: </ul>
655:
656: <p>Some highlights:
657: <ul style="column-count: 3">
1.2 jsg 658: <li>Asterisk 18.6.0
1.1 benno 659: <li>Audacity 2.4.2
1.2 jsg 660: <li>CMake 3.20.3
661: <li>Chromium 93.0.4577.82
1.1 benno 662: <li>Emacs 27.2
1.2 jsg 663: <li>FFmpeg 4.4
664: <li>GCC 8.4.0 and 11.2.0
665: <li>GHC 8.10.6
666: <li>GNOME 40.4
667: <li>Go 1.17
668: <li>JDK 8u302, 11.0.12 and 16.0.2
669: <li>KDE Applications 21.08.1
670: <li>KDE Frameworks 5.85.0
671: <li>Krita 4.4.8
672: <li>LLVM/Clang 11.1.0
1.7 jsg 673: <li>LibreOffice 7.2.1.2
1.1 benno 674: <li>Lua 5.1.5, 5.2.4 and 5.3.6
1.2 jsg 675: <li>MariaDB 10.6.4
1.1 benno 676: <li>Mono 6.12.0.122
1.2 jsg 677: <li>Mozilla Firefox 92.0 and ESR 91.1.0
1.7 jsg 678: <li>Mozilla Thunderbird 91.1.1
1.2 jsg 679: <li>Mutt 2.1.3 and NeoMutt 20210205
680: <li>Node.js 12.22.6
1.1 benno 681: <li>OCaml 4.10.0
1.2 jsg 682: <li>OpenLDAP 2.4.59
683: <li>PHP 7.3.30, 7.4.23 and 8.0.10
1.7 jsg 684: <li>Postfix 3.5.12
1.2 jsg 685: <li>PostgreSQL 13.4
686: <li>Python 2.7.18, 3.8.12 and 3.9.7
687: <li>Qt 5.15.2 and 6.0.4
688: <li>R 4.1.1
689: <li>Ruby 2.6.8, 2.7.4 and 3.0.2
690: <li>Rust 1.55.0
691: <li>SQLite 3.35.5
1.1 benno 692: <li>Shotcut 21.01.29
1.2 jsg 693: <li>Sudo 1.9.7p2
694: <li>Suricata 6.0.2
1.1 benno 695: <li>Tcl/Tk 8.5.19 and 8.6.8
696: <li>TeX Live 2020
1.2 jsg 697: <li>Vim 8.2.3394 and Neovim 0.5.0
1.1 benno 698: <li>Xfce 4.16
699: </ul>
700: <p>
701:
702: <li>As usual, steady improvements in manual pages and other documentation.
703:
704: <li>The system includes the following major components from outside suppliers:
705: <ul>
1.2 jsg 706: <li>Xenocara (based on X.Org 7.7 with xserver 1.20.13 + patches,
1.5 jsg 707: freetype 2.10.4, fontconfig 2.12.4, Mesa 21.1.8, xterm 367,
1.2 jsg 708: xkeyboard-config 2.20, fonttosfnt 1.2.2 and more)
709: <li>LLVM/Clang 11.1.0 (+ patches)
1.1 benno 710: <li>GCC 4.2.1 (+ patches) and 3.3.6 (+ patches)
711: <li>Perl 5.32.1 (+ patches)
1.2 jsg 712: <li>NSD 4.3.7
713: <li>Unbound 1.13.2
1.1 benno 714: <li>Ncurses 5.7
715: <li>Binutils 2.17 (+ patches)
716: <li>Gdb 6.3 (+ patches)
717: <li>Awk December 18, 2020 version
1.2 jsg 718: <li>Expat 2.4.1
1.1 benno 719: </ul>
720:
721: </ul>
722: </section>
723:
724: <hr>
725:
726: <section id=install>
727: <h3>How to install</h3>
728: <p>
729: Please refer to the following files on the mirror site for
730: extensive details on how to install OpenBSD 7.0 on your machine:
731:
732: <ul>
733: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/alpha/INSTALL.alpha">
734: .../OpenBSD/7.0/alpha/INSTALL.alpha</a>
735: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/amd64/INSTALL.amd64">
736: .../OpenBSD/7.0/amd64/INSTALL.amd64</a>
737: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/arm64/INSTALL.arm64">
738: .../OpenBSD/7.0/arm64/INSTALL.arm64</a>
739: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/armv7/INSTALL.armv7">
740: .../OpenBSD/7.0/armv7/INSTALL.armv7</a>
741: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/hppa/INSTALL.hppa">
742: .../OpenBSD/7.0/hppa/INSTALL.hppa</a>
743: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/i386/INSTALL.i386">
744: .../OpenBSD/7.0/i386/INSTALL.i386</a>
745: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/landisk/INSTALL.landisk">
746: .../OpenBSD/7.0/landisk/INSTALL.landisk</a>
747: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/loongson/INSTALL.loongson">
748: .../OpenBSD/7.0/loongson/INSTALL.loongson</a>
749: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/luna88k/INSTALL.luna88k">
750: .../OpenBSD/7.0/luna88k/INSTALL.luna88k</a>
751: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/macppc/INSTALL.macppc">
752: .../OpenBSD/7.0/macppc/INSTALL.macppc</a>
753: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/octeon/INSTALL.octeon">
754: .../OpenBSD/7.0/octeon/INSTALL.octeon</a>
755: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/powerpc64/INSTALL.powerpc64">
756: .../OpenBSD/7.0/powerpc64/INSTALL.powerpc64</a>
1.3 jsg 757: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/riscv64/INSTALL.riscv64">
758: .../OpenBSD/7.0/riscv64/INSTALL.riscv64</a>
1.1 benno 759: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/sparc64/INSTALL.sparc64">
760: .../OpenBSD/7.0/sparc64/INSTALL.sparc64</a>
761: </ul>
762: </section>
763:
764: <hr>
765:
766: <section id=quickinstall>
767: <p>
768: Quick installer information for people familiar with OpenBSD, and the use of
769: the "<a href="https://man.openbsd.org/disklabel.8">disklabel</a> -E" command.
770: If you are at all confused when installing OpenBSD, read the relevant
771: INSTALL.* file as listed above!
772:
773: <h3>OpenBSD/alpha:</h3>
774:
775: <p>
776: If your machine can boot from CD, you can write <i>install70.iso</i> or
777: <i>cd70.iso</i> to a CD and boot from it.
778: Refer to INSTALL.alpha for more details.
779:
780: <h3>OpenBSD/amd64:</h3>
781:
782: <p>
783: If your machine can boot from CD, you can write <i>install70.iso</i> or
784: <i>cd70.iso</i> to a CD and boot from it.
785: You may need to adjust your BIOS options first.
786:
787: <p>
788: If your machine can boot from USB, you can write <i>install70.img</i> or
789: <i>miniroot70.img</i> to a USB stick and boot from it.
790:
791: <p>
792: If you can't boot from a CD, floppy disk, or USB,
793: you can install across the network using PXE as described in the included
794: INSTALL.amd64 document.
795:
796: <p>
797: If you are planning to dual boot OpenBSD with another OS, you will need to
798: read INSTALL.amd64.
799:
800: <h3>OpenBSD/arm64:</h3>
801:
802: <p>
803: Write <i>install70.img</i> or <i>miniroot70.img</i> to a disk and boot from it
804: after connecting to the serial console. Refer to INSTALL.arm64 for more
805: details.
806:
807: <h3>OpenBSD/armv7:</h3>
808:
809: <p>
810: Write a system specific miniroot to an SD card and boot from it after connecting
811: to the serial console. Refer to INSTALL.armv7 for more details.
812:
813: <h3>OpenBSD/hppa:</h3>
814:
815: <p>
816: Boot over the network by following the instructions in INSTALL.hppa or the
817: <a href="hppa.html#install">hppa platform page</a>.
818:
819: <h3>OpenBSD/i386:</h3>
820:
821: <p>
822: If your machine can boot from CD, you can write <i>install70.iso</i> or
823: <i>cd70.iso</i> to a CD and boot from it.
824: You may need to adjust your BIOS options first.
825:
826: <p>
827: If your machine can boot from USB, you can write <i>install70.img</i> or
828: <i>miniroot70.img</i> to a USB stick and boot from it.
829:
830: <p>
831: If you can't boot from a CD, floppy disk, or USB,
832: you can install across the network using PXE as described in
833: the included INSTALL.i386 document.
834:
835: <p>
836: If you are planning on dual booting OpenBSD with another OS, you will need to
837: read INSTALL.i386.
838:
839: <h3>OpenBSD/landisk:</h3>
840:
841: <p>
842: Write <i>miniroot70.img</i> to the start of the CF
843: or disk, and boot normally.
844:
845: <h3>OpenBSD/loongson:</h3>
846:
847: <p>
848: Write <i>miniroot70.img</i> to a USB stick and boot bsd.rd from it
849: or boot bsd.rd via tftp.
850: Refer to the instructions in INSTALL.loongson for more details.
851:
852: <h3>OpenBSD/luna88k:</h3>
853:
854: <p>
855: Copy 'boot' and 'bsd.rd' to a Mach or UniOS partition, and boot the bootloader
856: from the PROM, and then bsd.rd from the bootloader.
857: Refer to the instructions in INSTALL.luna88k for more details.
858:
859: <h3>OpenBSD/macppc:</h3>
860:
861: <p>
862: Burn the image from a mirror site to a CDROM, and power on your machine
863: while holding down the <i>C</i> key until the display turns on and
864: shows <i>OpenBSD/macppc boot</i>.
865:
866: <p>
867: Alternatively, at the Open Firmware prompt, enter <i>boot cd:,ofwboot
868: /7.0/macppc/bsd.rd</i>
869:
870: <h3>OpenBSD/octeon:</h3>
871:
872: <p>
873: After connecting a serial port, boot bsd.rd over the network via DHCP/tftp.
874: Refer to the instructions in INSTALL.octeon for more details.
875:
876: <h3>OpenBSD/powerpc64:</h3>
877:
878: <p>
879: To install, write <i>install70.img</i> or <i>miniroot70.img</i> to a
880: USB stick, plug it into the machine and choose the <i>OpenBSD
881: install</i> menu item in Petitboot.
882: Refer to the instructions in INSTALL.powerpc64 for more details.
883:
1.3 jsg 884: <h3>OpenBSD/riscv64:</h3>
1.1 benno 885:
886: <p>
1.3 jsg 887: To install, write <i>install70.img</i> or <i>miniroot70.img</i> to a
888: USB stick, and boot with that drive plugged in.
889: Make sure you also have the microSD card plugged in that shipped with the
890: HiFive Unmatched board.
891: Refer to the instructions in INSTALL.riscv64 for more details.
1.1 benno 892:
893: <h3>OpenBSD/sparc64:</h3>
894:
895: <p>
896: Burn the image from a mirror site to a CDROM, boot from it, and type
897: <i>boot cdrom</i>.
898:
899: <p>
900: If this doesn't work, or if you don't have a CDROM drive, you can write
901: <i>floppy70.img</i> or <i>floppyB70.img</i>
902: (depending on your machine) to a floppy and boot it with <i>boot
903: floppy</i>. Refer to INSTALL.sparc64 for details.
904:
905: <p>
906: Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
907: will most likely fail.
908:
909: <p>
910: You can also write <i>miniroot70.img</i> to the swap partition on
911: the disk and boot with <i>boot disk:b</i>.
912:
913: <p>
914: If nothing works, you can boot over the network as described in INSTALL.sparc64.
915: </section>
916:
917: <hr>
918:
919: <section id=upgrade>
920: <h3>How to upgrade</h3>
921: <p>
1.4 jsg 922: If you already have an OpenBSD 6.9 system, and do not want to reinstall,
1.1 benno 923: upgrade instructions and advice can be found in the
924: <a href="faq/upgrade70.html">Upgrade Guide</a>.
925: </section>
926:
927: <hr>
928:
929: <section id=sourcecode>
930: <h3>Notes about the source code</h3>
931: <p>
932: <code>src.tar.gz</code> contains a source archive starting at <code>/usr/src</code>.
933: This file contains everything you need except for the kernel sources,
934: which are in a separate archive.
935: To extract:
936: <blockquote><pre>
937: # <kbd>mkdir -p /usr/src</kbd>
938: # <kbd>cd /usr/src</kbd>
939: # <kbd>tar xvfz /tmp/src.tar.gz</kbd>
940: </pre></blockquote>
941: <p>
942: <code>sys.tar.gz</code> contains a source archive starting at <code>/usr/src/sys</code>.
943: This file contains all the kernel sources you need to rebuild kernels.
944: To extract:
945: <blockquote><pre>
946: # <kbd>mkdir -p /usr/src/sys</kbd>
947: # <kbd>cd /usr/src</kbd>
948: # <kbd>tar xvfz /tmp/sys.tar.gz</kbd>
949: </pre></blockquote>
950: <p>
951: Both of these trees are a regular CVS checkout. Using these trees it
952: is possible to get a head-start on using the anoncvs servers as
953: described <a href="anoncvs.html">here</a>.
954: Using these files
955: results in a much faster initial CVS update than you could expect from
956: a fresh checkout of the full OpenBSD source tree.
957: </section>
958:
959: <hr>
960:
961: <section id=ports>
962: <h3>Ports Tree</h3>
963: <p>
964: A ports tree archive is also provided. To extract:
965: <blockquote><pre>
966: # <kbd>cd /usr</kbd>
967: # <kbd>tar xvfz /tmp/ports.tar.gz</kbd>
968: </pre></blockquote>
969: <p>
970: Go read the <a href="faq/ports/index.html">ports</a> page
971: if you know nothing about ports
972: at this point. This text is not a manual of how to use ports.
973: Rather, it is a set of notes meant to kickstart the user on the
974: OpenBSD ports system.
975: <p>
976: The <i>ports/</i> directory represents a CVS checkout of our ports.
977: As with our complete source tree, our ports tree is available via
978: <a href="anoncvs.html">AnonCVS</a>.
979: So, in order to keep up to date with the -stable branch, you must make
980: the <i>ports/</i> tree available on a read-write medium and update the tree
981: with a command like:
982: <blockquote><pre>
983: # <kbd>cd /usr/ports</kbd>
984: # <kbd>cvs -d anoncvs@server.openbsd.org:/cvs update -Pd -rOPENBSD_7_0</kbd>
985: </pre></blockquote>
986: <p>
987: [Of course, you must replace the server name here with a nearby anoncvs
988: server.]
989: <p>
990: Note that most ports are available as packages on our mirrors. Updated
991: ports for the 7.0 release will be made available if problems arise.
992: <p>
993: If you're interested in seeing a port added, would like to help out, or just
994: would like to know more, the mailing list
995: <a href="mail.html">ports@openbsd.org</a> is a good place to know.
996: </section>