Annotation of www/70.html, Revision 1.20
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.3 jsg 83: <li>New <a href="riscv64.html">riscv64</a> platform for 64-bit RISC-V
84: 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>
91: <li>...
92: </ul>
93: </ul>
94:
95: <li>Various kernel improvements:
96: <ul>
97: <li>...
98: </ul>
99:
100: <li>SMP Improvements
101: <ul>
102: <li>...
103: </ul>
104:
105: <li>Direct Rendering Manager
106: <ul>
1.8 jsg 107: <li>Updated <a href="https://man.openbsd.org/drm.4">drm(4)</a>
108: to Linux 5.10.65
109: <li><a href="https://man.openbsd.org/inteldrm.4">inteldrm(4)</a>:
110: better support for Tiger Lake
111: <li><a href="https://man.openbsd.org/drm.4">amdgpu(4)</a>:
112: support for Navi 12, Navi 21 "Sienna Cichlid", Arcturus
113: <li><a href="https://man.openbsd.org/drm.4">amdgpu(4)</a>:
114: support for Cezanne "Green Sardine" Ryzen 5000 APU
1.1 benno 115: </ul>
116:
117: <li>VMM/VMD improvements
118: <ul>
1.19 benno 119: <li>Unlocked the top part of the VM fault handler on i386.
120: <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>.
121: <li>Fixed <a href="https://man.openbsd.org/vmm.4">vmm(4)</a> vcpu locking issues.
122: <li>Fixed an mbuf leak in <a href="https://man.openbsd.org/xnf.4">xnf(4)</a>.
123: <li>Added <a href="https://man.openbsd.org/vmd.8">vmd(8)</a> support for variable length vionet rx descriptor chains.
124: <li>Prevented stack overflow in <a href="https://man.openbsd.org/vmd.8">vmd(8)</a> due to large dhcp packets on local interfaces.
125: <li>Allowed locking of a randomly assigned lladdr in <a href="https://man.openbsd.org/vmd.8">vmd(8)</a>.
126: <li>Skipped inspecting non-udp packets on local interfaces for <a href="https://man.openbsd.org/vmd.8">vmd(8)</a>.
127: <li>Prevented guest virtio drivers from causing stack and buffer overflows in <a href="https://man.openbsd.org/vmd.8">vmd(8)</a>.
128: <li>Fixed a race condition in <a href="https://man.openbsd.org/vmm.4">vmm(4)</a> relating to incorrect physical cpu tracking.
129: <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.
130: <li>Added protections against guests with bad virtio drivers to <a href="https://man.openbsd.org/vmd.8">vmd(8)</a>
1.1 benno 131: </ul>
132:
133: <li>Various new userland features:
134: <ul>
1.17 benno 135: <li>Fixed <a href="https://man.openbsd.org/disklabel.8">disklabel(8)</a> generation on sparc64.
136: <li>Modified <a href="https://man.openbsd.org/doas">doas(1)</a> to retry up to 3 times on password authentication failure.
137: <li>Made all <a href="https://man.openbsd.org/vi.1">vi(1)</a> signal handler functions async-signal-safe.
138: <li>Changed <a href="https://man.openbsd.org/diff.1">diff(1)</a> to consider two files sharing the same inode identical.
139: <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.
140: <li>Removed from0 support from <a href="https://man.openbsd.org/openrsync.1">openrsync(1)</a>.
141: <li>Added include and exclude options to <a href="https://man.openbsd.org/rsync.1">rsync(1)</a> usage message.
142: <li>Implemented reporting of supplemental groups in <a href="https://man.openbsd.org/ps.1">ps(1)</a>.
143: <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.
144: <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.
145: <li>Made <a href="https://man.openbsd.org/jot.1">jot(1)</a> -b, -c and -w mutually exclusive.
146: <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.
147: <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).
148: <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="".
149: <li>Avoided a potential buffer overflow in backslash escaping in <a href="https://man.openbsd.org/awk.1">awk(1)</a>.
150: <li>Disallowed the use of an empty list between "while" and "do" in <a href="https://man.openbsd.org/ksh.1">ksh(1)</a>.
151: <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.
152: <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.
153: <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.
154: <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.
155: <li>Fixed overlap check in <a href="https://man.openbsd.org/disklabel.1">disklabel(1)</a> autoalloc code.
156: <li>Prevented base pkg tools from looking under /usr/local in general. <!-- ??? -->
157: <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.
158: <li>Added indication of whether an <a href="https://man.openbsd.org/mg.1">mg(1)</a> function is unsuitable for a startup file.
159: <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 160: </ul>
161:
1.17 benno 162: <li>OAVarious bugfixes and tweaks in userland:
1.1 benno 163: <ul>
1.17 benno 164: <li>Allowed <a href="https://man.openbsd.org/xenodm.1">xenodm(1)</a> login when ~./Xauthority does not exist.
165: <li>Disabled building all of the non-unicode fonts except for ISO8859-1.
1.1 benno 166: <li>...
167: </ul>
168:
169: <li>Improved hardware support and driver bugfixes, including:
170: <ul>
1.15 benno 171: <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.
172: <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.
173: <li>Silently ignored invalid requests to change the encoding of a <a href="https://man.openbsd.org/ucc.4">ucc(4)</a> keyboard.
174: <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.
175: <li>Enabled <a href="https://man.openbsd.org/cy.4">cy(4)</a> on amd64.
176: <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+.
177: <li>Added the <a href="https://man.openbsd.org/uaq.4">uaq(4)</a> driver for Aquantia AQC111U/AQC112U USB ethernet devices.
178: <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.
179: <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>.
180: <li>Fixed a crash with i915 graphics by removing bogus Linux code that tried to deal with something that is impossible on OpenBSD.
181: <li>Fixed <a href="https://man.openbsd.org/dwiic.4">dwiic(4)</a> timeouts requesting data from at least one touchpad.
182: <li>Added <a href="https://man.openbsd.org/ucc.4">ucc(4)</a>, a driver for USB HID Consumer Control keyboards.
183: <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.
184: <li>Added Tiger Lake LP (INT34C5) support to <a href="https://man.openbsd.org/pchgpio.4">pchgpio(4)</a>.
185: <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.
186: <li>Fixed a panic reported in <a href="https://man.openbsd.org/upd.4">upd(4)</a>.
187: <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.
188: <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.
189: <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.
190: <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+.
191: <li>Added AMD 17h/6xh Root Complex to <a href="https://man.openbsd.org/ksmn.4">ksmn(4)</a>.
192: <li>Ensured the TX FIFO isn't overrun for longer transfers in <a href="https://man.openbsd.org/dwiic.4">dwiic(4)</a>.
193: <li>Implemented 64-bit DMA mode in <a href="https://man.openbsd.org/cad.4">cad(4)</a>.
194: <li>Added <a href="https://man.openbsd.org/titmp.4">titmp(4)</a>, a driver for the TI TMP451 temperature sensor.
195: <li>Added Broadcom BCM5725 to <a href="https://man.openbsd.org/brgphy.4">brgphy(4)</a>.
196: <li>Limited the workaround for AMD errata 400 ("APIC Timer Interrupt Does Not Occur in Processor C-States")to family 0fh and 10h.
197: <li>Ensured a USB mouse will attach if otherwise qualified even if the usage report does not include X and Y usages.
198: <li>Stopped fatal error in <a href="https://man.openbsd.org/amdgpu.4">amdgpu(4)</a> on failing to map visible VRAM.
199: <li>Disabled PPGTT on Intel machines with cherryview/braswell graphics to avoid memory corruption.
200: <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.
201: <li>Added a -R flag to <a href="https://man.openbsd.org/usbhidctl.1">usbhidctl(1)</a> to dump the raw report descriptor bytes.
202: <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.
203: <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>.
204: <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.
205: <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.
206: <li>Added support for RTL8168FP/RTL8111FP/RTL8117 to <a href="https://man.openbsd.org/re.4">re(4)</a>.
207: <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 208: <li>Fixed <a href="https://man.openbsd.org/pchgpio.4">pchgpio(4)</a> issues with dead touchpads after resume.
1.1 benno 209: </ul>
210:
211: <li>New or improved network hardware support:
212: <ul>
213: <li>...
214: </ul>
215:
216: <li>Added or improved wireless network drivers:
217: <ul>
218: <li>...
219: </ul>
220:
221: <li>IEEE 802.11 wireless stack improvements and bugfixes:
222: <ul>
223: <li>...
224: </ul>
225:
226: <li>Generic network stack improvements and bugfixes:
227: <ul>
228: <li>...
229: </ul>
230:
231: <li>Installer and upgrade improvements:
232: <ul>
233: <li>...
234: </ul>
235:
236: <li>Security improvements:
237: <ul>
1.16 benno 238: <li>Moved objcopy to base set to allow KARL to work on all installs.
239: <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.
240: <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).
241: <li>Made kernel stop all threads when terminating via pledge_fail().
1.1 benno 242: </ul>
243:
244: <li>Routing daemons and other userland network improvements:
245: <ul>
246: <li>The <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> daemon saw the following changes:
247: <ul>
1.14 benno 248: <!-- check against and use openbgpd/rpki-client release notes instead? -->
249: <li>Fixed a memory leak in <a href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a>.
250: <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.
251: <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.
252: <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.
253: <li>Add add-path support in MRT dumps (RFC8050) to <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>.
254: <li>Added http_proxy support to <a href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a> http handler.
255: <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.
256: <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).
257: <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.
258: <li>Defaulted to attempting RRDP first in <a href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a> -r.
259: <li>Implemented enhanced route refresh (RFC 7313) in <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>.
260: <li>Improved <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> graceful restart capability handling.
261: <li>Limited the number of concurrent RTR connects to 32 in <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>.
262: <li>Added an 'expires' column to CSV & JSON output of <a href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a>.
263: <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 264: </ul>
265:
1.14 benno 266: <li>OA...other routing daemons...
1.1 benno 267:
268: <li>The <a href="https://man.openbsd.org/pf.4">pf(4)</a> packet filter and its userland utility:
269: <ul>
270: <li>...
271: </ul>
272:
273: <li>IPSEC support in the kernel and the <a href="https://man.openbsd.org/iked.8">iked(8)</a> userland daemon:
274: <ul>
1.20 ! benno 275: <li>Zeroed out potential passwords when freeing memory or handling parsing errors in <a href="https://man.openbsd.org/iked.8">iked(8)</a>.
! 276: <li>Added client-side support for DNS configuration to <a href="https://man.openbsd.org/iked.8">iked(8)</a>.
! 277: <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.
! 278: <li>Fixed races which were slowing <a href="https://man.openbsd.org/ipsec.4">ipsec(4)</a> throughput.
! 279: <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.
! 280: <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.
! 281: <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.
! 282: <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 283: </ul>
284:
285: <li>The <a href="https://man.openbsd.org/httpd.8">httpd(8)</a> webserver saw numerous improvements:
286: <ul>
287: <li>...
288: </ul>
289:
290: <li><a
291: href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a>
292: received the following new features and bugfixes:
293: <ul>
294: <li>...
295: </ul>
296:
297: <li>Changes to <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a>:
298: <ul>
299: <li>...
300: </ul>
301:
302: <li>XXX Two new daemons, <a
303: href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a> and <a
304: href="https://man.openbsd.org/resolvd.8">resolvd(8)</a> were added.
305: These work alongside with <a
306: href="https://man.openbsd.org/slaacd.8">slaacd(8)</a> and <a
307: href="https://man.openbsd.org/unwind.8">unwind(8)</a> to provide a
308: coherent and simple automatic configuration of network interfaces and
309: DNS resolution.<br>
310: The two daemons are not enabled by default for now, but can be tested
1.18 benno 311: by enabling them with <a href="https://man.openbsd.org/rcctl.8">rcctl(8)</a>
1.1 benno 312: <ul>
1.18 benno 313: <li>Changed <a href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a> client identifier transmission to match other dhcp client implementations.
314: <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.
315: <li>Retried broadcast with <a href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a> when the dhcp server is unreachable via unicast UDP.
316: <li>Made <a href="https://man.openbsd.org/resolvd.8">resolvd(8)</a> accept dns proposals for the loopback addresses.
317: <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.
318: <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.
319: <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.
320: <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.
321: <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.
322: <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>.
323: <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.
324: <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.
325: <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>.
326: <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.
327: <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.
328: <li>Implemented classless static routes dhcp option in <a href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a>.
1.1 benno 329: </ul>
330:
331: <li>Changes to snmp related tools:
332: <ul>
333: <li>...
334: </ul>
335:
336: <li>Other userland network changes:
337: <ul>
338: <li>...
339: </ul>
340: </ul>
341:
342: <li><a href="https://man.openbsd.org/tmux">tmux(1)</a> improvements and bug fixes:
343: <ul>
344: <li>...
345: </ul>
346:
347: <li>OpenSMTPD 7.0.0
348: <ul>
349: <li>...
350: </ul>
351:
1.2 jsg 352: <li>LibreSSL 3.4.0 XXX
1.1 benno 353: <ul>
354: <li>New Features
355: <ul>
356: <li>...
357: </ul>
358:
359: <li>Portable Improvements
360: <ul>
361: <li>...
362: </ul>
363:
364: <li>API and Documentation Enhancements
365: <ul>
366: <li>...
367: </ul>
368:
369: <li>Compatibility Changes
370: <ul>
371: <li>...
372: </ul>
373:
374: <li>Testing and Proactive Security
375: <ul>
376: <li>...
377: </ul>
378:
379: <li>Internal Improvements
380: <ul>
381: <li>...
382: </ul>
383:
384: <li>Bug Fixes
385: <ul>
386: <li>...
387: </ul>
388: </ul>
389:
1.13 benno 390: <li>OpenSSH 8.8 XXX <span style="color:red;">replace with release notes</span>
391: <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.
392: <li>Fixed the <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> "Allocated port" debug message for unix sockets.
393: <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.
394: <li>Made <a href="https://man.openbsd.org/scp.1">scp(1)</a> SFTP mode (including error logging) more scp-like.
395: <li>Allowed CanonicalPermittedCNAMEs=none in <a href="https://man.openbsd.org/ssh_config.5">ssh_config(5)</a>.
396: <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>.
397: <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.
398: <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.
399: <li>Disabled the RSA/SHA-1 signature algorithm by default in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
400: <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.
401: <li>Added <a href="https://man.openbsd.org/scp.1">scp(1)</a> -O and temporary -s (SFTP) flags to select the sftp protocol.
402: <li>Made <a href="https://man.openbsd.org/scp.1">scp(1)</a> -3 the default for remote-to-remote copies.
403: <li>Improved handling of ~ prefixed paths in <a href="https://man.openbsd.org/scp.1">scp(1)</a> in SFTP mode.
404: <li>Added experimental support for using the SFTP protocol for file transfers in <a href="https://man.openbsd.org/scp.1">scp(1)</a>.
405: <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.
406: <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.
407: <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.
408: <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.
409: <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.
410: <li>Prevented a hang in <a href="https://man.openbsd.org/sshd.8">sshd(8)</a> when interrupted.
411: <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.
412: <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.
413: <li>Allowed <a href="https://man.openbsd.org/ssh_config.5">ssh_config(5)</a> SetEnv to override $TERM.
414: <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.
415: <li>Fixed <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> to restore file descriptors to non-blocking mode on exit.
416: <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.
417:
1.1 benno 418: <ul>
419: <li>Security fixes
420: <ul>
421: <li>...
422: </ul>
423: <li>Potentially incompatible changes
424: <ul>
425: <li>...
426: </ul>
427: <li>New Features
428: <ul>
429: <li>...
430: </ul>
431: <li>Bugfixes
432: <ul>
433: <li>...
434: </ul>
435: </ul>
436:
437: <li>Ports and packages:
438: <p>Many pre-built packages for each architecture:
439: <!-- number of FTP packages minus SHA256, SHA256.sig, index.txt -->
440: <ul style="column-count: 3">
1.10 naddy 441: <li>aarch64: 11034
1.9 naddy 442: <li>amd64: 11325
1.1 benno 443: <li>arm: ...
1.10 naddy 444: <li>i386: 10248
1.1 benno 445: <li>mips64: ...
446: <li>mips64el: ...
447: <li>powerpc: ...
1.10 naddy 448: <li>powerpc64: 9273
1.1 benno 449: <li>sparc64: ...
450: </ul>
451:
452: <p>Some highlights:
453: <ul style="column-count: 3">
1.2 jsg 454: <li>Asterisk 18.6.0
1.1 benno 455: <li>Audacity 2.4.2
1.2 jsg 456: <li>CMake 3.20.3
457: <li>Chromium 93.0.4577.82
1.1 benno 458: <li>Emacs 27.2
1.2 jsg 459: <li>FFmpeg 4.4
460: <li>GCC 8.4.0 and 11.2.0
461: <li>GHC 8.10.6
462: <li>GNOME 40.4
463: <li>Go 1.17
464: <li>JDK 8u302, 11.0.12 and 16.0.2
465: <li>KDE Applications 21.08.1
466: <li>KDE Frameworks 5.85.0
467: <li>Krita 4.4.8
468: <li>LLVM/Clang 11.1.0
1.7 jsg 469: <li>LibreOffice 7.2.1.2
1.1 benno 470: <li>Lua 5.1.5, 5.2.4 and 5.3.6
1.2 jsg 471: <li>MariaDB 10.6.4
1.1 benno 472: <li>Mono 6.12.0.122
1.2 jsg 473: <li>Mozilla Firefox 92.0 and ESR 91.1.0
1.7 jsg 474: <li>Mozilla Thunderbird 91.1.1
1.2 jsg 475: <li>Mutt 2.1.3 and NeoMutt 20210205
476: <li>Node.js 12.22.6
1.1 benno 477: <li>OCaml 4.10.0
1.2 jsg 478: <li>OpenLDAP 2.4.59
479: <li>PHP 7.3.30, 7.4.23 and 8.0.10
1.7 jsg 480: <li>Postfix 3.5.12
1.2 jsg 481: <li>PostgreSQL 13.4
482: <li>Python 2.7.18, 3.8.12 and 3.9.7
483: <li>Qt 5.15.2 and 6.0.4
484: <li>R 4.1.1
485: <li>Ruby 2.6.8, 2.7.4 and 3.0.2
486: <li>Rust 1.55.0
487: <li>SQLite 3.35.5
1.1 benno 488: <li>Shotcut 21.01.29
1.2 jsg 489: <li>Sudo 1.9.7p2
490: <li>Suricata 6.0.2
1.1 benno 491: <li>Tcl/Tk 8.5.19 and 8.6.8
492: <li>TeX Live 2020
1.2 jsg 493: <li>Vim 8.2.3394 and Neovim 0.5.0
1.1 benno 494: <li>Xfce 4.16
495: </ul>
496: <p>
497:
498: <li>As usual, steady improvements in manual pages and other documentation.
499:
500: <li>The system includes the following major components from outside suppliers:
501: <ul>
1.2 jsg 502: <li>Xenocara (based on X.Org 7.7 with xserver 1.20.13 + patches,
1.5 jsg 503: freetype 2.10.4, fontconfig 2.12.4, Mesa 21.1.8, xterm 367,
1.2 jsg 504: xkeyboard-config 2.20, fonttosfnt 1.2.2 and more)
505: <li>LLVM/Clang 11.1.0 (+ patches)
1.1 benno 506: <li>GCC 4.2.1 (+ patches) and 3.3.6 (+ patches)
507: <li>Perl 5.32.1 (+ patches)
1.2 jsg 508: <li>NSD 4.3.7
509: <li>Unbound 1.13.2
1.1 benno 510: <li>Ncurses 5.7
511: <li>Binutils 2.17 (+ patches)
512: <li>Gdb 6.3 (+ patches)
513: <li>Awk December 18, 2020 version
1.2 jsg 514: <li>Expat 2.4.1
1.12 benno 515: <li><a href="https://man.openbsd.org/drm.4">drm(4)</a> from Linux 5.10.47.
516: <li>libdrm 2.4.107
1.1 benno 517: </ul>
518:
519: </ul>
520: </section>
521:
522: <hr>
523:
524: <section id=install>
525: <h3>How to install</h3>
526: <p>
527: Please refer to the following files on the mirror site for
528: extensive details on how to install OpenBSD 7.0 on your machine:
529:
530: <ul>
531: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/alpha/INSTALL.alpha">
532: .../OpenBSD/7.0/alpha/INSTALL.alpha</a>
533: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/amd64/INSTALL.amd64">
534: .../OpenBSD/7.0/amd64/INSTALL.amd64</a>
535: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/arm64/INSTALL.arm64">
536: .../OpenBSD/7.0/arm64/INSTALL.arm64</a>
537: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/armv7/INSTALL.armv7">
538: .../OpenBSD/7.0/armv7/INSTALL.armv7</a>
539: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/hppa/INSTALL.hppa">
540: .../OpenBSD/7.0/hppa/INSTALL.hppa</a>
541: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/i386/INSTALL.i386">
542: .../OpenBSD/7.0/i386/INSTALL.i386</a>
543: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/landisk/INSTALL.landisk">
544: .../OpenBSD/7.0/landisk/INSTALL.landisk</a>
545: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/loongson/INSTALL.loongson">
546: .../OpenBSD/7.0/loongson/INSTALL.loongson</a>
547: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/luna88k/INSTALL.luna88k">
548: .../OpenBSD/7.0/luna88k/INSTALL.luna88k</a>
549: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/macppc/INSTALL.macppc">
550: .../OpenBSD/7.0/macppc/INSTALL.macppc</a>
551: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/octeon/INSTALL.octeon">
552: .../OpenBSD/7.0/octeon/INSTALL.octeon</a>
553: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/powerpc64/INSTALL.powerpc64">
554: .../OpenBSD/7.0/powerpc64/INSTALL.powerpc64</a>
1.3 jsg 555: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/riscv64/INSTALL.riscv64">
556: .../OpenBSD/7.0/riscv64/INSTALL.riscv64</a>
1.1 benno 557: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.0/sparc64/INSTALL.sparc64">
558: .../OpenBSD/7.0/sparc64/INSTALL.sparc64</a>
559: </ul>
560: </section>
561:
562: <hr>
563:
564: <section id=quickinstall>
565: <p>
566: Quick installer information for people familiar with OpenBSD, and the use of
567: the "<a href="https://man.openbsd.org/disklabel.8">disklabel</a> -E" command.
568: If you are at all confused when installing OpenBSD, read the relevant
569: INSTALL.* file as listed above!
570:
571: <h3>OpenBSD/alpha:</h3>
572:
573: <p>
574: If your machine can boot from CD, you can write <i>install70.iso</i> or
575: <i>cd70.iso</i> to a CD and boot from it.
576: Refer to INSTALL.alpha for more details.
577:
578: <h3>OpenBSD/amd64:</h3>
579:
580: <p>
581: If your machine can boot from CD, you can write <i>install70.iso</i> or
582: <i>cd70.iso</i> to a CD and boot from it.
583: You may need to adjust your BIOS options first.
584:
585: <p>
586: If your machine can boot from USB, you can write <i>install70.img</i> or
587: <i>miniroot70.img</i> to a USB stick and boot from it.
588:
589: <p>
590: If you can't boot from a CD, floppy disk, or USB,
591: you can install across the network using PXE as described in the included
592: INSTALL.amd64 document.
593:
594: <p>
595: If you are planning to dual boot OpenBSD with another OS, you will need to
596: read INSTALL.amd64.
597:
598: <h3>OpenBSD/arm64:</h3>
599:
600: <p>
601: Write <i>install70.img</i> or <i>miniroot70.img</i> to a disk and boot from it
602: after connecting to the serial console. Refer to INSTALL.arm64 for more
603: details.
604:
605: <h3>OpenBSD/armv7:</h3>
606:
607: <p>
608: Write a system specific miniroot to an SD card and boot from it after connecting
609: to the serial console. Refer to INSTALL.armv7 for more details.
610:
611: <h3>OpenBSD/hppa:</h3>
612:
613: <p>
614: Boot over the network by following the instructions in INSTALL.hppa or the
615: <a href="hppa.html#install">hppa platform page</a>.
616:
617: <h3>OpenBSD/i386:</h3>
618:
619: <p>
620: If your machine can boot from CD, you can write <i>install70.iso</i> or
621: <i>cd70.iso</i> to a CD and boot from it.
622: You may need to adjust your BIOS options first.
623:
624: <p>
625: If your machine can boot from USB, you can write <i>install70.img</i> or
626: <i>miniroot70.img</i> to a USB stick and boot from it.
627:
628: <p>
629: If you can't boot from a CD, floppy disk, or USB,
630: you can install across the network using PXE as described in
631: the included INSTALL.i386 document.
632:
633: <p>
634: If you are planning on dual booting OpenBSD with another OS, you will need to
635: read INSTALL.i386.
636:
637: <h3>OpenBSD/landisk:</h3>
638:
639: <p>
640: Write <i>miniroot70.img</i> to the start of the CF
641: or disk, and boot normally.
642:
643: <h3>OpenBSD/loongson:</h3>
644:
645: <p>
646: Write <i>miniroot70.img</i> to a USB stick and boot bsd.rd from it
647: or boot bsd.rd via tftp.
648: Refer to the instructions in INSTALL.loongson for more details.
649:
650: <h3>OpenBSD/luna88k:</h3>
651:
652: <p>
653: Copy 'boot' and 'bsd.rd' to a Mach or UniOS partition, and boot the bootloader
654: from the PROM, and then bsd.rd from the bootloader.
655: Refer to the instructions in INSTALL.luna88k for more details.
656:
657: <h3>OpenBSD/macppc:</h3>
658:
659: <p>
660: Burn the image from a mirror site to a CDROM, and power on your machine
661: while holding down the <i>C</i> key until the display turns on and
662: shows <i>OpenBSD/macppc boot</i>.
663:
664: <p>
665: Alternatively, at the Open Firmware prompt, enter <i>boot cd:,ofwboot
666: /7.0/macppc/bsd.rd</i>
667:
668: <h3>OpenBSD/octeon:</h3>
669:
670: <p>
671: After connecting a serial port, boot bsd.rd over the network via DHCP/tftp.
672: Refer to the instructions in INSTALL.octeon for more details.
673:
674: <h3>OpenBSD/powerpc64:</h3>
675:
676: <p>
677: To install, write <i>install70.img</i> or <i>miniroot70.img</i> to a
678: USB stick, plug it into the machine and choose the <i>OpenBSD
679: install</i> menu item in Petitboot.
680: Refer to the instructions in INSTALL.powerpc64 for more details.
681:
1.3 jsg 682: <h3>OpenBSD/riscv64:</h3>
1.1 benno 683:
684: <p>
1.3 jsg 685: To install, write <i>install70.img</i> or <i>miniroot70.img</i> to a
686: USB stick, and boot with that drive plugged in.
687: Make sure you also have the microSD card plugged in that shipped with the
688: HiFive Unmatched board.
689: Refer to the instructions in INSTALL.riscv64 for more details.
1.1 benno 690:
691: <h3>OpenBSD/sparc64:</h3>
692:
693: <p>
694: Burn the image from a mirror site to a CDROM, boot from it, and type
695: <i>boot cdrom</i>.
696:
697: <p>
698: If this doesn't work, or if you don't have a CDROM drive, you can write
699: <i>floppy70.img</i> or <i>floppyB70.img</i>
700: (depending on your machine) to a floppy and boot it with <i>boot
701: floppy</i>. Refer to INSTALL.sparc64 for details.
702:
703: <p>
704: Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
705: will most likely fail.
706:
707: <p>
708: You can also write <i>miniroot70.img</i> to the swap partition on
709: the disk and boot with <i>boot disk:b</i>.
710:
711: <p>
712: If nothing works, you can boot over the network as described in INSTALL.sparc64.
713: </section>
714:
715: <hr>
716:
717: <section id=upgrade>
718: <h3>How to upgrade</h3>
719: <p>
1.4 jsg 720: If you already have an OpenBSD 6.9 system, and do not want to reinstall,
1.1 benno 721: upgrade instructions and advice can be found in the
722: <a href="faq/upgrade70.html">Upgrade Guide</a>.
723: </section>
724:
725: <hr>
726:
727: <section id=sourcecode>
728: <h3>Notes about the source code</h3>
729: <p>
730: <code>src.tar.gz</code> contains a source archive starting at <code>/usr/src</code>.
731: This file contains everything you need except for the kernel sources,
732: which are in a separate archive.
733: To extract:
734: <blockquote><pre>
735: # <kbd>mkdir -p /usr/src</kbd>
736: # <kbd>cd /usr/src</kbd>
737: # <kbd>tar xvfz /tmp/src.tar.gz</kbd>
738: </pre></blockquote>
739: <p>
740: <code>sys.tar.gz</code> contains a source archive starting at <code>/usr/src/sys</code>.
741: This file contains all the kernel sources you need to rebuild kernels.
742: To extract:
743: <blockquote><pre>
744: # <kbd>mkdir -p /usr/src/sys</kbd>
745: # <kbd>cd /usr/src</kbd>
746: # <kbd>tar xvfz /tmp/sys.tar.gz</kbd>
747: </pre></blockquote>
748: <p>
749: Both of these trees are a regular CVS checkout. Using these trees it
750: is possible to get a head-start on using the anoncvs servers as
751: described <a href="anoncvs.html">here</a>.
752: Using these files
753: results in a much faster initial CVS update than you could expect from
754: a fresh checkout of the full OpenBSD source tree.
755: </section>
756:
757: <hr>
758:
759: <section id=ports>
760: <h3>Ports Tree</h3>
761: <p>
762: A ports tree archive is also provided. To extract:
763: <blockquote><pre>
764: # <kbd>cd /usr</kbd>
765: # <kbd>tar xvfz /tmp/ports.tar.gz</kbd>
766: </pre></blockquote>
767: <p>
768: Go read the <a href="faq/ports/index.html">ports</a> page
769: if you know nothing about ports
770: at this point. This text is not a manual of how to use ports.
771: Rather, it is a set of notes meant to kickstart the user on the
772: OpenBSD ports system.
773: <p>
774: The <i>ports/</i> directory represents a CVS checkout of our ports.
775: As with our complete source tree, our ports tree is available via
776: <a href="anoncvs.html">AnonCVS</a>.
777: So, in order to keep up to date with the -stable branch, you must make
778: the <i>ports/</i> tree available on a read-write medium and update the tree
779: with a command like:
780: <blockquote><pre>
781: # <kbd>cd /usr/ports</kbd>
782: # <kbd>cvs -d anoncvs@server.openbsd.org:/cvs update -Pd -rOPENBSD_7_0</kbd>
783: </pre></blockquote>
784: <p>
785: [Of course, you must replace the server name here with a nearby anoncvs
786: server.]
787: <p>
788: Note that most ports are available as packages on our mirrors. Updated
789: ports for the 7.0 release will be made available if problems arise.
790: <p>
791: If you're interested in seeing a port added, would like to help out, or just
792: would like to know more, the mailing list
793: <a href="mail.html">ports@openbsd.org</a> is a good place to know.
794: </section>