Annotation of www/75.html, Revision 1.44
1.1 benno 1: <!doctype html>
2: <html lang=en id=release>
3: <head>
4: <meta charset=utf-8>
5:
6: <title>OpenBSD 7.5</title>
7: <meta name="description" content="OpenBSD 7.5">
8: <meta name="viewport" content="width=device-width, initial-scale=1">
9: <link rel="stylesheet" type="text/css" href="openbsd.css">
10: <link rel="canonical" href="https://www.openbsd.org/75.html">
11: </head><body>
12: <h2 id=OpenBSD>
13: <a href="index.html">
14: <i>Open</i><b>BSD</b></a>
15: 7.5
16: </h2>
17:
18: <table>
19: <tr>
20: <td>
1.41 deraadt 21: <a href="images/King_of_Kings.jpg">
22: <img width="227" height="303" src="images/King_of_Kings-s.gif" alt="King of Kings"></a>
1.1 benno 23: <td>
1.42 deraadt 24: Released Apr 5, 2024. (56th OpenBSD release)<br>
1.1 benno 25: Copyright 1997-2024, Theo de Raadt.<br>
26: <br>
1.41 deraadt 27: Artwork by Stipan Morian.
1.1 benno 28: <br>
29: <ul>
30: <li>See the information on <a href="ftp.html">the FTP page</a> for
31: a list of mirror machines.
32: <li>Go to the <code class=reldir>pub/OpenBSD/7.5/</code> directory on
33: one of the mirror sites.
34: <li>Have a look at <a href="errata75.html">the 7.5 errata page</a> for a list
35: of bugs and workarounds.
36: <li>See a <a href="plus75.html">detailed log of changes</a> between the
37: 7.4 and 7.5 releases.
38: <p>
39: <li><a href="https://man.openbsd.org/signify.1">signify(1)</a>
40: pubkeys for this release:<p>
41:
42: <table class=signify>
43: <tr><td>
44: openbsd-75-base.pub:
45: <td>
46: <a href="https://ftp.openbsd.org/pub/OpenBSD/7.5/openbsd-75-base.pub">
47: RWRGj1pRpprAfgeF/rgld4ubduChLvTkigA1Zj7WLDsVA4qfYSWOEI8q
48: </a><tr><td>
49: openbsd-75-fw.pub:
50: <td>
51: RWQ6EsXr4NMYvyLICug3dLHfmbpXlVasF1jbt3GVNQsosgB5+PgaufBu
52: <tr><td>
53: openbsd-75-pkg.pub:
54: <td>
55: RWS/sEFDvf+rjUmS1WROzxH05pB1kB7JRRq76DUGUhCE0Ks8AdpjP5pD
56: <tr><td>
57: openbsd-75-syspatch.pub:
58: <td>
59: RWRAAZC5WcFgn+8b5msDR+yDVCx4ziLaSQI2sy7e4GFY42nFW9p7mP2t
60: </table>
61: </ul>
62: <p>
63: All applicable copyrights and credits are in the src.tar.gz,
64: sys.tar.gz, xenocara.tar.gz, ports.tar.gz files, or in the
65: files fetched via <code>ports.tar.gz</code>.
66: </table>
67:
68: <hr>
69:
70: <section id=new>
71: <h3>What's New</h3>
72: <p>
73: This is a partial list of new features and systems included in OpenBSD 7.5.
74: For a comprehensive list, see the <a href="plus75.html">changelog</a> leading <!-- plus? XXX -->
75: to 7.5.
76:
77: <ul>
78:
79: <!--
80: <li>New/extended platforms:
81: <ul>
82: <li>...
83: </ul>
84: -->
85:
86: <li>Various kernel improvements:
87: <ul>
1.26 benno 88: <li>Added <a href="https://man.openbsd.org/bt.5">bt(5)</a> and <a
89: href="https://man.openbsd.org/btrace.8">btrace(8)</a> support for
90: binary modulo operator ('%').
91: <li>Added a TIMEOUT_MPSAFE flag to <a
92: href="https://man.openbsd.org/timeout.9">timeout(9)</a>.
93: <li>Added IBM encoded version of the "Spleen 8x16" font, usable as console font.
94: <li>Cleanup and machine-independent refactoring of three context
95: switch paths outside of mi_switch(): when a process forks and the new
96: proc needs to be scheduled by proc_trampoline, cpu_hatch: when booting
97: APs, and sched_exit: when a proc exits.
98: <li>Made <a href="https://man.openbsd.org/vscsi.4">vscsi(4)</a>
99: 'vscsi_filtops' mpsafe and extended the 'sc_state_mtx' <a
100: href="https://man.openbsd.org/mutex.9">mutex(9)</a> to protect
101: 'sc_klist' knotes list.
102: <li>Made out-of-swap checking more robust, preventing potential deadlocks.
103: <li>Eliminated the ioctl whitelist that <a
104: href="https://man.openbsd.org/bio.4">bio(4)</a> will tunnel for other
105: devices, allowing bio to be used with other (non-raid) related
106: devices.
1.30 benno 107: <li>On msdos filesystems, ensure that a complete struct fsinfo is read
108: even if the filesystem sectors are smaller.
109: <li>Implemented per-CPU caching for the page table page (vp) pool and
110: the PTE descriptor (pted) pool in the arm64 pmap implementation. This
111: significantly reduces the side-effects of lock contention on the
112: kernel map lock and leads to significant speedups on machines with
1.33 otto 113: many CPU cores.
1.34 benno 114: <li>Implemented <a href="https://man.openbsd.org/acpi.4">acpi(4)</a>
115: RootPathString support in the LoadTable() AML function, fixing OpenBSD
116: boot on an older version of Hyper-V.
117: <li>Fixed Linux NFS clients freezing after five minutes of inactivity.
118: <li>Fixed core file writing when a file map into memory has later been
119: truncated to be smaller than the mapping.
1.38 tj 120: <li>Disallow <a
1.34 benno 121: href="https://man.openbsd.org/madvise.2">madvise(2)</a> and <a
122: href="https://man.openbsd.org/msync.2">msync(2)</a> memory/mapping
1.39 jsg 123: destructive operations on immutable memory regions. Instead return EPERM.
1.34 benno 124: <li>Added new amd64-only sysctl machdep.retpoline which says whether
125: the cpu requires the retpoline branch target injection mitigation.
126: <li>Added new accounting flag ABTCFI to <a
127: href="https://man.openbsd.org/acct.5">acct(5)</a> to indicate SIGILL +
128: code ILL_BTCFI has occurred in the process.
1.1 benno 129: </ul>
130:
131: <li>SMP Improvements
132: <ul>
1.30 benno 133: <li>Some network timers run without kernel lock.
134: <li>TCP syn cache timer runs with shared net lock.
135: <li><a href="https://man.openbsd.org/bind.2">bind(2)</a>
136: and <a href="https://man.openbsd.org/connect.2">connect(2)</a>
137: system calls can run in parallel.
138: <li>Packet counter for <a
139: href="https://man.openbsd.org/lo.4">lo(4)</a> loopback
140: interface are MP safe.
141: <li>Split protocol control block table for UDP into IPv4
142: and IPv6 tables to allow concurrent access.
143: <li>UDP packets can be sent in parallel by multiple threads.
1.1 benno 144: </ul>
145:
146: <li>Direct Rendering Manager and graphics drivers
147: <ul>
1.11 jsg 148: <li>Updated <a href="https://man.openbsd.org/drm.4">drm(4)</a>
149: to Linux 6.6.19.
150: <li>New <a href="https://man.openbsd.org/arm64/apldcp.4">apldcp(4)</a> and
151: <a href="https://man.openbsd.org/arm64/apldrm.4">apldrm(4)</a> drivers
152: for Apple display coprocessor.
1.1 benno 153: </ul>
154:
155: <li>VMM/VMD improvements
156: <ul>
1.31 jsg 157: <li>Fixed IRQ storm caused by edge-triggered devices such as the UART.
1.15 dv 158: <li>Fixed block size calculation for vioscsi devices.
159: <li>Added io instruction length to vm exit information, allowing
160: <a href="https://man.openbsd.org/vmd.8">vmd(8)</a> to perform validation
161: in userspace.
162: <li>Adopted new <a href="https://man.openbsd.org/imsg_init.3">imsg_get_*(3)</a>
163: api.
164: <li>Rewrote vionet devices to allow zero-copy data transfers between host and
165: guest.
166: <li>Improved error messages related to <a href="https://man.openbsd.org/getgrnam.3">
167: getgrnam(3)</a> usage and out of <a href="https://man.openbsd.org/tap.4">tap(4)
168: </a> device conditions.
169: <li>Fixed various things found by smatch static analyzer.
170: <li>Fixed various file descriptor lifecycle issues and leaks across
171: <a href="https://man.openbsd.org/fork.2">fork(2)</a>/
172: <a href="https://man.openbsd.org/execve.2">execve(2)</a> usage.
173: <li>Added multi-threading support to vionet device emulation, improving latency.
174: <li>Fixed <a href="https://man.openbsd.org/vmm.4">vmm(4)</a> instability on Intel
175: VMX hosts by updating GDTR & TR if vcpu moves host cpus.
176: <li>Added EPT flushing upon <a href="https://man.openbsd.org/vmm.4">vmm(4)</a>
177: enabling VMX mode.
178: <li>Added branch predictor flushing if IBPB is supported.
179: <li>Corrected restoring GDTR and IDTR limits upon VMX guest exit.
180: <li>Corrected handling of CPUID 0xd subleaves
181: <li>Added additional use of VERW and register clobbering to mitigate RFDS
182: vulnerabilities on Intel Atom cores.
1.1 benno 183: </ul>
184:
185: <li>Various new userland features:
186: <ul>
1.32 otto 187: <li>Made <a href="https://man.openbsd.org/malloc.3">malloc(3)</a> save
188: backtraces to show in leak dump with depth of backtrace set via malloc
189: option D (aka 1), 2, 3 or 4.
1.26 benno 190: <li>Added support for <a
191: href="https://man.openbsd.org/cksum.1">cksum(1)</a> -c checking base64
192: digests in reverse mode.
193: <li>Added <a href="https://man.openbsd.org/kdump.1">kdump(1)</a> [-p
194: program] to filter dumps by basename.
195: <li>Made <a href="https://man.openbsd.org/ps.1">ps(1)</a> accept numerical user IDs.
1.30 benno 196: <li>Built and provide the tzdata.zi and leap-seconds.list files from
197: zoneinfo. Some third-party software now expects these files to be
1.34 benno 198: installed. Provide the zonenow.tab file, a table where each row
199: stands for a timezone where civil timestamps are predicted to agree
200: from now on.
1.30 benno 201: <li>Added basic write support for <a
202: href="https://man.openbsd.org/pax.1">pax(1)</a> format archives.
203: <li>Added 'pax' format support for files over 8GB to <a
204: href="https://man.openbsd.org/tar.1">tar(1)</a>.
205: <li>Added 'pax' format support for mtime and atime to <a
206: href="https://man.openbsd.org/tar.1">tar(1)</a>.
207: <li>Extended <a href="https://man.openbsd.org/imsg_init.3">imsg</a>
208: and the <a href="https://man.openbsd.org/ibuf_add.3">ibuf</a> buffer
1.39 jsg 209: manipulation API with useful getter methods. Unified file descriptor
1.34 benno 210: passing in all imsg using programs with the use of the imsg_get_fd()
211: function.
212: <li>Added <a
213: href="https://man.openbsd.org/mkdtemps.3">mkdtemps(3)</a>, identical
214: to <a href="https://man.openbsd.org/mkdtemp.3">mkdtemp(3)</a> except
215: that it permits a suffix to exist in the template.
216: <li>Added <a href="https://man.openbsd.org/mktemp.1">mktemp(1)</a>
217: suffix support for compatibility with the GNU version. It is now
218: possible to use templates where the Xs are not at the end.
1.1 benno 219: </ul>
220:
221: <li>Various bugfixes and tweaks in userland:
222: <ul>
1.26 benno 223: <li>Silenced list of specific firmware not needing update in <a
224: href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a>.
225: <li>Improved <a href="https://man.openbsd.org/ls.1">ls(1)</a> horizontal alignment in long format.
226: <li>Added <a href="https://man.openbsd.org/bioctl.8">bioctl(8)</a> retry on empty passphrase.
227: <li>Fixed <a href="https://man.openbsd.org/unveil.2">unveil(2)</a> in
228: <a href="https://man.openbsd.org/patch.1">patch(1)</a> with explicit
229: patchfile.
230: <li>Made gnu99 the default for gcc 3.3.6 and 4.2.1 rather than defaulting to gnu89.
231: <!-- fdisk -->
232: <li>Enhanced <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> 'flag' to accept hex values.
233: <li>Prevented <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a>
234: 'flag' from altering other GPT partition attributes when flagging a
235: partition as the only bootable partition.
1.34 benno 236: <li>Allow <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> to
237: add GPT partitions of protected types, making it possible to provision
238: virtual machine images that need a "BIOS Boot" partition.
239:
1.26 benno 240: <li>Added group handling matching <a
241: href="https://man.openbsd.org/fbtab.5">fbtab(5)</a> to xenodm.
1.30 benno 242: <li>Made <a href="https://man.openbsd.org/grep.1">grep(1)</a> -m behavior match GNU grep.
243: <li>Tweaked the default memory limits in /etc/login.conf on several
1.31 jsg 244: architectures to account for increased memory requirements, for
1.30 benno 245: example when compiling or linking under user pbuild.
246: <li>Initialize all terminals with "tset -I", thereby avoiding extra
247: newlines to be printed.
248: <li>Added <a href="https://man.openbsd.org/mkhybrid.8">mkhybrid(8)</a>
249: '-e' (-eltorito-boot-efi) option for writing an EFI eltorito boot
250: image, in addition to or instead of the x86 boot image, to the output
251: file.
252: <li>Added <a
253: href="https://man.openbsd.org/openrsync.1">openrsync(1)</a>
254: --omit-dir-times (-O) to omit directories from --times, as well as
255: --no-O and --no-omit-dir-times options for compatibility.
256: <li>Implemented <a href="https://man.openbsd.org/openrsync.1">openrsync(1)</a>
257: --omit-link-times (-J) option to omit symlinks from --times.
258: <li>Added accounting flag and <a
259: href="https://man.openbsd.org/lastcomm.1">lastcomm(1)</a> report for
260: <a href="https://man.openbsd.org/pinsyscalls.2">syscall pinning</a> violations.
261: <li>Added <a href="https://man.openbsd.org/ktrace.1">ktrace(1)</a> and
262: <a href="https://man.openbsd.org/kdump.1">kdump(1)</a> support to
263: observe <a
264: href="https://man.openbsd.org/pinsyscall.2">pinsyscall(2)</a>
265: violations.
266: <li>Changed <a href="https://man.openbsd.org/ftp.1">ftp(1)</a> to
267: avoid use of the interactive shell if -o is given.
268: <li>Moved non-daemon services to run in a different <a
269: href="https://man.openbsd.org/rc.8">rc(8)</a> process group to avoid
270: SIGHUP at boot.
1.34 benno 271: <li>Changed <a
272: href="https://man.openbsd.org/ld.so.1">ld.so(1)</a> to only load the first libc version encountered
273: requested and substituting it for all further loads, ensuring that the
274: libc version requested by an executable itself is the one loaded.
275: <li>Significantly (for small programs) reduce the size of statically
276: linked binaries by splitting several libc internal functions into
1.39 jsg 277: separate compilation and thus linkage units. Specifically <a
1.34 benno 278: href="https://man.openbsd.org/getpwnam.3">getpwnam(3)</a> does not
279: need the full YP socket setup and does not use all possible <a
1.39 jsg 280: href="https://man.openbsd.org/dbopen.3">dbopen(3)</a> database
1.34 benno 281: backends.
282: <li>Added <a href="https://man.openbsd.org/vi.1">vi(1)</a>
283: showfilename set option to display the file name in the lower left
284: corner.
285: <li>Added backup of disklabel for <a
286: href="https://man.openbsd.org/softraid.4">softraid(4)</a> chunks to <a
287: href="https://man.openbsd.org/security.8">security(8)</a>.
1.1 benno 288: </ul>
289:
290: <li>Improved hardware support and driver bugfixes, including:
291: <ul>
1.23 jsg 292: <li>New <a href="https://man.openbsd.org/arm64/ampchwm.4">ampchwm(4)</a>
293: driver for Ampere Altra power telemetry.
294: <li>New <a href="https://man.openbsd.org/rkspi.4">rkspi(4)</a>
295: driver for Rockchip SPI controller.
296: <li>Support for RK806 PMIC in
297: <a href="https://man.openbsd.org/rkpmic.4">rkpmic(4)</a>.
298: <li>Support for Allwinner H616 in
299: <a href="https://man.openbsd.org/sxisyscon.4">sxisyscon(4)</a>,
300: <a href="https://man.openbsd.org/sxiccmu.4">sxiccmu(4)</a>,
301: <a href="https://man.openbsd.org/sxipio.4">sxipio(4)</a>,
302: <a href="https://man.openbsd.org/sximmc.4">sximmc(4)</a> and
303: <a href="https://man.openbsd.org/ehci.4">ehci(4)</a>.
304: <li>Support for Allwinner D1 in
305: <a href="https://man.openbsd.org/sxidog.4">sxidog(4)</a>,
306: <a href="https://man.openbsd.org/sxiccmu.4">sxiccmu(4)</a>,
307: <a href="https://man.openbsd.org/sxipio.4">sxipio(4)</a>,
308: <a href="https://man.openbsd.org/sximmc.4">sximmc(4)</a> and
309: <a href="https://man.openbsd.org/ehci.4">ehci(4)</a>.
310: <li>Support for Aero and Sea SAS HBAs in
311: <a href="https://man.openbsd.org/mpii.4">mpii(4)</a>.
312: <li>Support for SAS3816 and SAS3916 in
313: <a href="https://man.openbsd.org/mfii.4">mfii(4)</a>.
1.26 benno 314: <li>In <a href="https://man.openbsd.org/xbf.4">xbf(4)</a>, allowed Xen
315: to use backing store devices with 4K-byte sectors.
316: <li>Added <a href="https://man.openbsd.org/fanpwr.4">fanpwr(4)</a>
317: support for the Rockchip RK8602 and RK8603 voltage regulators.
1.30 benno 318: <li>Support keyboard backlights on Apple Powerbooks.
319: <li>Added operating performance point info about each arm64 cpu and
320: expose the states of thermal zones as <a
321: href="https://man.openbsd.org/kstat.1">kstats(1)</a>.
322: <li>Overhauled <a
323: href="https://man.openbsd.org/ugold.4">ugold(4)</a> temperature sensor
324: identification logic and added support for additional devices.
325: <li>Made <a href="https://man.openbsd.org/uthum.4">uthum(4)</a>
326: TEMPer{1,2} devices display negative degC.
327: <li>Improve support for audio devices that via attach multiple <a
328: href="https://man.openbsd.org/uaudio.4">uaudio(4)</a> drivers.
1.40 krw 329: <li>In <a href="https://man.openbsd.org/nvme.4">nvme(4)</a> don't create
330: <a href="https://man.openbsd.org/sd.4">sd(4)</a> devices larger than the namespace.
331: <li>Fix <a href="https://man.openbsd.org/nvme.4">nvme(4)</a> decoding of status fields.
1.1 benno 332: </ul>
333:
334: <li>New or improved network hardware support:
335: <ul>
1.20 jan 336: <li>Utilize full checksum offload capabilities of
337: <a href="https://man.openbsd.org/vio.4">vio(4)</a> and
1.29 jan 338: <a href="https://man.openbsd.org/vmx.4">vmx(4)</a>.
339: <li>TCP Segmentation Offload (TSO) is also used in
1.20 jan 340: <a href="https://man.openbsd.org/bnxt.4">bnxt(4)</a> and
1.29 jan 341: <a href="https://man.openbsd.org/em.4">em(4)</a>.
1.30 benno 342: <li>Enabled TCP Segmentation Offload (TSO) in <a
343: href="https://man.openbsd.org/ixl.4">ixl(4)</a>.
1.20 jan 344: <li>The Synopsys Ethernet Quality-of-Service Controller
345: (<a href="https://man.openbsd.org/dwqe.4">dwqe(4)</a>) is enabled for
1.29 jan 346: amd64.
1.31 jsg 347: <li>Added initial support for Elkhart Lake Ethernet to <a
1.26 benno 348: href="https://man.openbsd.org/dwqe.4">dwqe(4)</a>.
1.23 jsg 349: <li>Support for AX88179A in
350: <a href="https://man.openbsd.org/axen.4">axen(4)</a>.
1.29 jan 351: <li>Intel I225 and I226 Ethernet Controller
352: <a href="https://man.openbsd.org/igc.4">igc(4)</a> enabled for
353: sparc64.
354: <li>Allwinner EMAC Ethernet Controller
355: <a href="https://man.openbsd.org/dwxe.4">dwxe(4)</a> enabled for
356: riscv64.
1.26 benno 357: <li>Corrected wrong register offset macros for <a
358: href="https://man.openbsd.org/dwqe.4">dwqe(4)</a> DMA burst length.
1.30 benno 359: <li>Fixed Tx watchdog trigger and freeze in <a
360: href="https://man.openbsd.org/dwqe.4">dwqe(4)</a>.
361: <li>Updated <a href="https://man.openbsd.org/rge.4">rge(4)</a>
362: microcode, initialization and reset behavior.
1.34 benno 363: <li>Prevented a potential <a
364: href="https://man.openbsd.org/bnxt.4">bnxt(4)</a> crash after failure
365: to bring up a queue.
1.1 benno 366: </ul>
367:
368: <li>Added or improved wireless network drivers:
369: <ul>
1.14 stsp 370: <li>Introduce <a href="https://man.openbsd.org/qwx.4">qwx(4)</a>,
371: a port of the Linux ath11k driver for QCNFA765 devices.
372: Available on the amd64 and arm64 platforms.
373: <li>Fix Tx rate selection for management frames in
374: <a href="https://man.openbsd.org/iwx.4">iwx(4)</a>.
375: <li>Fix <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> loading the wrong
376: firmware image on some devices.
377: <li>Make <a href="https://man.openbsd.org/bfwm.4">bwfm(4)</a> work with MAC
378: addresses set via ifconfig lladdr.
379: <li>Ensure that <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> uses the
380: 80MHz primary channel index announced in beacons.
381: <li>Avoid using MCS-9 in <a href="https://man.openbsd.org/iwm.4">iwm(4)</a>
382: Tx rate selection if 40 MHz is disabled to prevent firmware errors.
383: <li>Ensure that <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> and
384: <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> devices announce VHT
385: capabilities in probe requests.
386: <li>Fix bug in <a href="https://man.openbsd.org/iwm.4">iwm(4)</a>,
387: <a href="https://man.openbsd.org/iwx.4">iwx(4)</a>, and
388: <a href="https://man.openbsd.org/iwn.4">iwn(4)</a> which could result
389: in some channels missing from scan results.
390: <li>Enable <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> on the
391: arm64 platform.
1.1 benno 392: </ul>
393:
394: <li>IEEE 802.11 wireless stack improvements and bugfixes:
395: <ul>
1.14 stsp 396: <li> Ignore 40/80 MHz wide channel configurations which do not appear
397: in the 802.11ac spec. This prevents device firmware errors which
398: occurred when an access point announced an invalid channel configuration.
1.1 benno 399: </ul>
400:
401: <li>Installer, upgrade and bootloader improvements:
402: <ul>
1.34 benno 403: <li>Add support for disk encryption in unattended installations with
404: <a href="https://man.openbsd.org/autoinstall.8">autoinstall(8)</a>,
405: both with a plaintext passphrase or a keydisk.
1.26 benno 406: <li>Removed default sets answer in <a
407: href="https://man.openbsd.org/autoinstall.8">autoinstall(8)</a>
408: response file such that it now populates only with non-defaults.
409: <li>Made <a
410: href="https://man.openbsd.org/fw_update.8">fw_update(8)</a> verify but
411: not overwrite SHA256.sig.
1.30 benno 412: <li>Improved <a
1.38 tj 413: href="https://man.openbsd.org/fw_update.8">fw_update(8)</a> output on
1.30 benno 414: errors and improved ftp error handling.
1.26 benno 415: <li>Added support in the installer to encrypt the root disk with a key disk.
416: <li>Prevent re-starting the automatic upgrade on octeon and
417: powerpc64, as is already done on other platforms.
1.34 benno 418: <li>Added CD install images to arm64.
1.30 benno 419: <li>Make the amd64 cdXX.iso and installXX.iso CD images bootable in
420: EFI mode (by creating an EFI system partition containing the EFI boot
421: loaders to be installed as an El Torito boot image).
1.1 benno 422: </ul>
423:
424: <li>Security improvements:
425: <ul>
1.35 benno 426: <li>Introduce pinsyscalls(2): The kernel and <a
427: href="https://man.openbsd.org/ld.so.1">ld.so(1)</a> register the
428: precise entry location of every system call used by a program, as
429: described in the new ELF section .openbsd.syscalls inside ld.so and
430: libc.so. ld.so uses the new syscall <a
431: href="https://man.openbsd.org/pinsyscalls.2">pinsyscalls(2)</a> to
432: tell the kernel the precise entry location of system calls in
433: libc.so.<br>
434: Attempting to use a different system call entry instruction to
435: perform a non-corresponding system call operation will fail and the
436: process will be terminated with signal SIGABRT.
437: <li>Removed support for <a
438: href="https://man.openbsd.org/syscall.2">syscall(2)</a>, the
439: "indirection system call," a dangerous alternative entry point for all
440: system calls.<br>
441: Together with <a
442: href="https://man.openbsd.org/pinsyscalls.2">pinsyscalls(2)</a> this
1.39 jsg 443: change makes it impossible to perform system call through any other
444: way than the libc system call wrapper functions.<br>
1.35 benno 445: Users of syscall(2), such as Perl and the Go programming
1.39 jsg 446: language were converted to use the libc functions.
1.26 benno 447: <li>Added <a href="https://man.openbsd.org/pledge.2">pledge(2)</a>
448: stdio before parsing pfkey messages to <a
449: href="https://man.openbsd.org/ipsecctl.8">ipsecctl(8)</a> -m and -s.
1.35 benno 450: <li>Tightened the <a
451: href="https://man.openbsd.org/pledge.2">pledge(2)</a> in <a
452: href="https://man.openbsd.org/pax.1">pax(1)</a> in List and Append
453: modes.
454: <li>Created __OpenBSD versions of llvm cxa guard implementation
455: using <a href="https://man.openbsd.org/futex.2">futex(2)</a> with the
456: correct number of arguments and without using <a
1.26 benno 457: href="https://man.openbsd.org/syscall.2">syscall(2)</a>.
1.35 benno 458: <li>Improvements in Pointer Authentication (PAC) and Branch Target
459: Identification (BTI) on arm64.
1.1 benno 460: </ul>
461:
462: <li>Changes in the network stack:
463: <ul>
1.26 benno 464: <li>Enable IPv6 support in <a
1.19 bluhm 465: href="https://man.openbsd.org/ppp.4">ppp(4)</a>
1.26 benno 466: <li>Socket with sequenced packet type and control messages
1.19 bluhm 467: handle end of record correctly.
1.26 benno 468: <li>The routing table has a generation number. That means
1.19 bluhm 469: cached routes at sockets will be invalidated when the routing
470: table changes. Especially with dynamic routing daemons
471: local connections use the up to date route.
1.26 benno 472: <li>Route cache hits an misses are printed in
1.19 bluhm 473: <a href="https://man.openbsd.org/netstat.1">netstat(1)</a>
1.26 benno 474: statistics.
475: <li>Prevented <a href="https://man.openbsd.org/wg.4">wg(4)</a>
476: getting stuck on peer destruction.
477: <li>Made <a href="https://man.openbsd.org/umb.4">umb(4)</a> delete any
478: existing v4 address before setting a new one, allowing keeping of a
479: working default route when the address changes.
480: <li>Forwarded TCP LRO disabling to parent devices and disabled TCP LR0
481: on bridged <a href="https://man.openbsd.org/vlan.4">vlan(4)</a> and
482: default for <a href="https://man.openbsd.org/bpe.4">bpe(4)</a>, <a
483: href="https://man.openbsd.org/nvgre.4">nvgre(4)</a> and <a
484: href="https://man.openbsd.org/vxlan.4">vxlan(4)</a>.
1.30 benno 485: <li>Fixed race between <a
486: href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a> destroy of
487: an interface and the ARP timer.
1.34 benno 488: <li>Added statistics counters for the route cache, reporting cache
489: hits and misses. This is shown in <a
490: href="https://man.openbsd.org/netstat.1">netstat(1)</a> with
491: <code>netstat -s</code>.
1.1 benno 492: </ul>
493:
494: <li>The following changes were made to the <a
495: href="https://man.openbsd.org/pf.4">pf(4)</a> firewall:
496: <ul>
1.25 benno 497: <li>tcpdump on <a
498: href="https://man.openbsd.org/pflog.4">pflog(4)</a> interface shows
499: packets dropped by the default rule with the "block" action. Although
500: the default rules is a "pass" rule, it blocks malformed packets. Now
501: this is correctly logged.
502: <li>Adjustments to keep up firewall aware of MP related changes in
503: the network stack.
1.24 sashan 504: <li>Fix handling of multiple <code>-K</code>(<code>-k</code>) options in
1.25 benno 505: <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>, so behavior
506: matches what's described in manual.
507: <li>Make <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> show
508: all tables in all anchors with <code>pfctl -a "*" -sT</code>.
1.26 benno 509: <li>Added check to ensure <a
510: href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> -f won't accept a
511: directory and install an empty ruleset.
1.34 benno 512: <li>Added validation for IPv4 packet options in <a
513: href="https://man.openbsd.org/divert.4">divert(4)</a>.
1.1 benno 514: </ul>
515:
516: <li>Routing daemons and other userland network improvements:
1.30 benno 517: <ul>
1.1 benno 518: <li>IPsec support was improved:
519: <ul>
1.26 benno 520: <li>Made <a href="https://man.openbsd.org/iked.8">iked(8)</a> always
521: prefer group from the initial KE payload as responder if supported.
1.30 benno 522: <li>Corrected renewal of expired certificates in <a
523: href="https://man.openbsd.org/iked.8">iked(8)</a>.
1.34 benno 524: <li>Added an <a href="https://man.openbsd.org/iked.8">iked(8)</a>
525: debug message when no policy is found.
526: <li>Implemented a per connection peerid for <a
527: href="https://man.openbsd.org/iked.8">iked(8)</a> control replies.
528: <li>Made <a href="https://man.openbsd.org/iked.8">iked(8)</a>
529: trigger retransmission only for fragment 1/x to prevent each received
530: fragment triggering retransmission of the full fragment queue.
1.39 jsg 531: <li>Prevent routing loops by dropping already encrypted packets that are going through <a
1.34 benno 532: href="https://man.openbsd.org/sec.4">sec(4)</a> again.
1.1 benno 533: </ul>
534:
535: <li>In <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>,
536: <ul>
1.35 benno 537: <li>Rewrite the internal message passing mechanism to use a new
538: memory-safe API.
539: <li>Rewrite most protocol parsers to use the new memory-safe API.
540: Convert the UPDATE parser, all of RTR, as well as both the MRT dump
541: code in bgpd and the parser in bgpctl.
542: <li>Improve RTR logging, error handling and version negotiation.
1.1 benno 543: </ul>
544:
1.2 benno 545: <li><a href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a> saw these and more changes:
1.1 benno 546: <ul>
1.2 benno 547: <li>Add ability to constrain an RPKI Trust Anchor's effective signing
548: authority to a limited set of Internet numbers. This allows Relying
549: Parties to enjoy the potential benefits of assuming trust, but within
550: a bounded scope.
551: <li>Following a 'failed fetch' (described in RFC 9286), emit a warning and
552: continue with a previously cached Manifest file.
553: <li>Emit a warning when the remote repository presents a Manifest with an
554: unexpected manifestNumber.
555: <li>Improved CRL extension checking.
556: <li>Experimental support for the P-256 signature algorithm.
557: <!-- 8.8. -->
558: <li>A failed manifest fetch could result in a NULL pointer dereference or
559: a use after free.
560: <li>Reject non-conforming RRDP delta elements that contain neither publish
561: nor a withdraw element and fall back to the RRDP snapshot.
562: <li>Refactoring and minor bug fixes in the warning display functions.
563: <!-- 8.9 -->
564: <li>The handling of manifests fetched via rsync or RRDP was reworked to
565: fully conform to RFC 9286.
566: <li>Fix a race condition between closing an idle connection and scheduling a
567: new request on it.
568: <li>The evaluation time specified with -P now also applies to trust anchor
569: certificates.
570: <li>Check that the entire CMS eContent was consumed. Previously, trailing
571: data would be silently discarded on deserialization of products.
572: <li>In file mode do not consider overclaiming intermediate CA certificates
573: as invalid. OAA warning is still issued.
574: <li>Print the revocation time of certificates in file mode.
575: <li>Be more careful when converting OpenSSL numeric identifiers (NIDs)
576: to strings.
577: <!-- 9.0 -->
578: <li>Added support for RPKI Signed Prefix Lists.
579: <li>Added an -x flag to opt into parsing and evaluation of file types that are
580: still considered experimental.
581: <li>Added a metric to track the number of new files that were moved to the
582: validated cache.
583: <li>Ensure that the FileAndHashes list in a Manifest contains no duplicate
584: file names and no duplicate hashes.
1.1 benno 585: </ul>
586:
587: <li>In <a href="https://man.openbsd.org/smtpd.8">smtpd(8)</a>,
588: <ul>
1.5 op 589: <li>Add <code>Message-Id</code> as needed for messages received on
590: the submission port.
591: <li>Added support for RFC 7505 "Null MX" handling and treat
592: an MX of "localhost" as it were a "Null MX".
593: <li>Allow inline tables and filter listings in
594: <a href="https://man.openbsd.org/smtpd.conf.5">smtpd.conf(5)</a>
595: to span over multiple lines.
596: <li>Enabled <abbr title="Delivery Status Notification">DSN</abbr>
597: for the implicit socket too.
598: <li>Added the
599: <a href="https://man.openbsd.org/smtpd.conf.5#no-dsn~2">no-dsn</a>
600: option for <code>listen on socket</code> too.
601: <li>Reject headers that start with a space or a tab.
602: <li>Fixed parsing of the <code>ORCPT</code> parameter.
603: <li>Fixed table lookups of IPv6 addresses.
604: <li>Fixed handling of escape characters in To, From and Cc headers.
605: <li>Run <abbr title="Local Mail Transfer Protocol">LMTP</abbr>
606: deliveries as the recipient user again.
607: <li>Disallow custom commands and file reading in root's
608: <code>.forward</code> file.
609: <li>Do not process other users <code>.forward</code> files when
610: an alternate delivery user is provided in a dispatcher.
611: <li>Unify the <a href="https://man.openbsd.org/table.5">table(5)</a>
612: parser used in
613: <a href="https://man.openbsd.org/smtpd.8">smtpd(8)</a> and
614: <a href="https://man.openbsd.org/makemap.8">makemap(8)</a>.
615: <li>Allow to use <a href="https://man.openbsd.org/table.5">table(5)</a>
616: mappings on various match constraints.
1.1 benno 617: </ul>
1.30 benno 618: <!-- OTHER -->
1.1 benno 619: <li>Many other changes in various network programs and libraries:
620: <ul>
1.30 benno 621: <!-- syslogd -->
1.19 bluhm 622: <li>If a DNS name is configured as remote syslog server,
1.26 benno 623: <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>
624: retries to resolve the loghost name periodically until it succeeds.
625: UDP packets that get lost during that period are counted and
626: logged later.
627: <li>Added counting of dropped UDP packets to <a
628: href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>.
1.30 benno 629: <li>Prevented use after free of TLS context at <a
630: href="https://man.openbsd.org/syslogd.8">syslogd(8)</a> shutdown.
631: <!-- dhcp -->
1.26 benno 632: <li>Introduced <a href="https://man.openbsd.org/dhcpd.8">dhcpd(8)</a>
633: log output to stderr and '-v' option to make this output more verbose.
1.30 benno 634: <li>In <a href="https://man.openbsd.org/dhcpd.8">dhcpd(8)</a>, made <a
635: href="https://man.openbsd.org/dhcp-options.5">dhcp-options(5)</a>
636: recognize option ipv6-only-preferred (RFC8925).
637: <li>Allowed <a
638: href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a> to
639: request "IPv6-only preferred" and deconfigure IPv4 on the interface if
640: the server replies with this option.
641: <!-- more -->
1.26 benno 642: <li>Fixed <a href="https://man.openbsd.org/radiusd.8">radiusd(8)</a>
643: to properly fixup MPPE-{Send,Recv}-Key and Tunnel-Password attributes of the
644: response.
1.34 benno 645: <li>Added nochroot parameter to <a
646: href="https://man.openbsd.org/radiusd.8">radiusd(8)</a>
647: module_drop_privilege() so that modules can use <a
648: href="https://man.openbsd.org/unveil.2">unveil(2)</a> instead of <a
649: href="https://man.openbsd.org/chroot.2">chroot(2)</a> if needed.
1.30 benno 650: <li>Ensured correct denominators when converting NTP fixed point
651: values to double and vice-versa in <a
652: href="https://man.openbsd.org/ntpd.8">ntpd(8)</a>.
1.34 benno 653: <li>In the resolver, do not short-circuit resolution of localhost
654: when AI_NUMERICHOST is set. Ensure that a proper string is returned by <a
655: href="https://man.openbsd.org/getaddrinfo.3">getaddrinfo(3)</a> when
656: AI_CANONNAME or AI_FQDN is set.
1.30 benno 657: <li>Added <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a>
658: support for specifying ports on the src address in tunnel endpoints of
659: <a href="https://man.openbsd.org/gif.4">gif(4)</a>, <a
660: href="https://man.openbsd.org/gre.4">gre(4)</a> and related
661: tunnel interfaces.
662: <li>Added an <a
663: href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a> endpoint
664: command for "bridges" that use addresses as endpoints, usable to add
665: static entries on interfaces like <a
666: href="https://man.openbsd.org/vxlan.4">vxlan(4)</a>.
667: <li>Tightened up <a
1.31 jsg 668: href="https://man.openbsd.org/relayd.8">relayd(8)</a> HTTP header parsing.
1.30 benno 669: <li>Deferred <a href="https://man.openbsd.org/relayd.8">relayd(8)</a>
670: relay_read_http header parsing until after line continuation,
671: preventing potential request smuggling attacks.
672: <li>Improved <a href="https://man.openbsd.org/httpd.8">httpd(8)</a>
673: auto-index, adding human-readable file sizes and allowing per-column
674: sorting.
1.34 benno 675: <li>Switched to using whois.internic.net for <a
676: href="https://man.openbsd.org/whois.1">whois(1)</a> -i.
1.1 benno 677: </ul>
1.30 benno 678: </ul><!-- Routing daemons and other userland network improvements -->
1.1 benno 679:
680: <li><a href="https://man.openbsd.org/tmux.1">tmux(1)</a> improvements and bug fixes:
681: <ul>
1.26 benno 682: <li>Made <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> unzoom
683: a window at the start of destroy so it doesn't happen later after the
684: layout has been freed.
685: <li>Prevented <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> use
686: of combined UTF-8 characters that are too long.
1.30 benno 687: <li>Corrected <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>
688: handling of window ops with no pane.
689: <li>Removed flags from the prefix before comparing with the received
690: key so that <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>
691: modifier keys with flags work correctly.
1.34 benno 692: <li>Increased buffer size to avoid truncating styles in <a
693: href="https://man.openbsd.org/tmux.1">tmux(1)</a>.
694: <li>Added two new values for the <a
695: href="https://man.openbsd.org/tmux.1">tmux(1)</a> destroy-unattached
696: option to destroy sessions only if they are not members of sessions
697: groups.
1.1 benno 698: </ul>
699:
1.3 tb 700: <li>LibreSSL version 3.9.0
1.1 benno 701: <ul>
1.3 tb 702: <li>Portable changes
1.1 benno 703: <ul>
1.3 tb 704: <li>libcrypto no longer exports compat symbols in cmake builds.
705: <li>Most compatibility symbols are prefixed with <code>libressl_</code>
706: to avoid symbol clashes in static links.
707: <li>Fixed various warnings on Windows.
708: <li>Removed assert pop-ups with Windows debug builds.
709: <li>Fixed crashes and hangs in Windows ARM64 builds.
710: <li>Improved control-flow enforcement (CET) support.
1.1 benno 711: </ul>
1.3 tb 712: <li>Internal improvements
1.1 benno 713: <ul>
1.3 tb 714: <li>Converted uses of <code>OBJ_bsearch_()</code> to standard
715: <a href="https://man.openbsd.org/bsearch">bsearch(3)</a>.
716: <li>Greatly simplified <code>by_file_ctrl()</code>.
717: <li>Simplified and cleaned up the OBJ_ API.
718: <li>Cleaned up the <a href="https://man.openbsd.org/EVP_CipherInit">EVP_Cipher{Init,Update,Final}(3)</a> implementations.
719: <li>Removed unused function pointers from X.509 stores and contexts.
720: <li>A lot of cleanup and reorganization in EVP.
721: <li>Removed all remaining <code>ENGINE</code> tentacles.
722: <li>Simplified internals of <code>X509_TRUST</code> handling.
723: <li>Made deletion from a <a href="https://man.openbsd.org/lh_delete">lhash</a>
724: doall callback safe.
725: <li>Rewrote <a href="https://man.openbsd.org/BIO_dump">BIO_dump*(3)</a> internals
726: to be less bad.
1.1 benno 727: </ul>
1.3 tb 728: <li>Documentation improvements
1.1 benno 729: <ul>
1.3 tb 730: <li><code>ENGINE</code> documentation was updated to reflect reality.
731: <li>Made EVP API documentation more accurate and less incoherent.
732: <li>Call out some shortcomings of the <code>EC_KEY_set_*</code> API explicitly.
1.1 benno 733: </ul>
1.3 tb 734: <li>Testing and proactive security
1.1 benno 735: <ul>
1.3 tb 736: <li>Bug fixes and simplifications in the Wycheproof tests.
1.1 benno 737: </ul>
1.3 tb 738: <li>Compatibility changes
1.1 benno 739: <ul>
1.3 tb 740: <li>Added ChaCha20 and chacha20 aliases for ChaCha.
741: <li><a href="https://man.openbsd.org/SSL_library_init">SSL_library_init(3)</a>
742: now has the same effect as OPENSSL_init_ssl().
743: <li><code>EVP_add_{cipher,digest}()</code> were removed. From the <code>OBJ_NAME</code> API,
744: only <a href="https://man.openbsd.org/OBJ_NAME_do_all">OBJ_NAME_do_all*()</a> remain.
745: In particular, it is no longer possible to add aliases for ciphers and digests.
746: <li>The thread unsafe global tables are no longer supported. It is no
747: longer possible to add aliases for ciphers and digests, custom ASN.1
748: strings table entries, ASN.1 methods, PKEY methods, digest methods,
749: CRL methods, purpose and trust identifiers, or X.509 extensions.
750: <li>Removed the _cb() and _fp() versions of
751: <a href="https://man.openbsd.org/BIO_dump">BIO_dump{,_indent}()</a>.
752: <li><code>BIO_set()</code> was removed.
753: <li><code>BIO_{sn,v,vsn}printf()</code> were removed.
754: <li>Turn the long dysfunctional
755: <a href="https://man.openbsd.org/openssl(1)">openssl(1)</a>
756: <code>s_client -pause</code> into a noop.
757: <li><a href="https://man.openbsd.org/openssl(1)">openssl(1)</a> <code>x509</code>
758: now supports <code>-new</code>, <code>-force_pubkey</code>, <code>-multivalue-rdn</code>,
759: <code>-set_issuer</code> <code>-set_subject</code>, and <code>-utf8</code>.
760: <li>Support ECDSA with SHA-3 signature algorithms.
761: <li>Support HMAC with truncated SHA-2 and SHA-3 as PBE PRF.
762: <li>GOST and STREEBOG support was removed.
763: <li><code>CRYPTO_THREADID</code>, <code>_LHASH</code>, <code>_STACK</code> and
764: <code>X509_PURPOSE</code> are now opaque, <code>X509_CERT_AUX</code> and
765: <code>X509_TRUST</code> were removed from the public API.
766: <li><a href="https://man.openbsd.org/ASN1_STRING_TABLE_get()">ASN1_STRING_TABLE_get(3)</a>
767: and <a href="https://man.openbsd.org/X509_PURPOSE_get0">X509_PURPOSE_get0*(3)</a> now
768: return const pointers.
769: <li><code>EVP_{CIPHER,MD}_CTX_init()</code>'s signatures and semantics now match
770: OpenSSL's behavior.
771: <li><code>sk_find_ex()</code> and <code>OBJ_bsearch_()</code> were removed.
772: <li><a href="https://man.openbsd.org/CRYPTO_malloc">CRYPTO_malloc(3)</a> was fixed to use
773: <code>size_t</code> argument. <code>CRYPTO_malloc()</code>
774: and <code>CRYPTO_free()</code> now accept file and line arguments.
775: <li>A lot of decrepit CRYPTO memory API was removed.
1.1 benno 776: </ul>
777: <li>Bug fixes
778: <ul>
1.3 tb 779: <li>Fixed aliasing issues in <code>BN_mod_exp_simple()</code> and <code>BN_mod_exp_recp()</code>.
780: <li>Fixed numerous misuses of
781: <a href="https://man.openbsd.org/X509_ALGOR_set0">X509_ALGOR_set0(3)</a>
782: resulting in leaks and potentially incorrect encodings.
783: <li>Fixed potential double free in
784: <a href="https://man.openbsd.org/X509v3_asid_add_id_or_range">X509v3_asid_add_id_or_range(3)</a>.
785: <li>Stopped using <code>ASN1_time_parse()</code> outside of libcrypto.
786: <li>Prepared <a href="https://man.openbsd.org/OPENSSL_gmtime">OPENSSL_gmtime(3)</a> and
787: <a href="https://man.openbsd.org/OPENSSL_timegm">OPENSSL_timegm(3)</a> as public API
788: wrappers of internal functions compatible with BoringSSL API.
789: <li>Removed <code>print_bin()</code> to avoid overwriting the stack with 5 bytes
790: of <code>" "</code> when ECPK parameters are printed with large
791: indentation.
792: <li>Avoid a <code>NULL</code> dereference after memory allocation failure during TLS
793: version downgrade.
794: <li>Fixed various bugs in CMAC internals.
795: <li>Fixed 4-byte overreads in GHASH assembly on amd64 and i386.
796: <li>Fixed various NULL dereferences in PKCS #12 code due to mishandling
797: of OPTIONAL content in PKCS #7 ContentInfo.
798: <li>Aligned <a href="https://man.openbsd.org/SSL_shutdown">SSL_shutdown(3)</a>
799: behavior in TLSv1.3 with the legacy stack.
800: <li>Fixed the new X.509 verifier to find trust anchors in the trusted
801: stack.
1.1 benno 802: </ul>
803: </ul>
804:
1.16 djm 805: <li>OpenSSH 9.6 and OpenSSH 9.7
1.1 benno 806: <ul>
1.16 djm 807: <li>Security fixes
1.1 benno 808: <ul>
1.16 djm 809: <li><a href='https://man.openbsd.org/ssh.1'>ssh(1)</a>, <a href='https://man.openbsd.org/sshd.8'>sshd(8)</a>: implement protocol extensions to thwart the
810: so-called "Terrapin attack" discovered by Fabian Bäumer, Marcus
811: Brinkmann and Jörg Schwenk. This attack allows a MITM to effect a
812: limited break of the integrity of the early encrypted SSH transport
813: protocol by sending extra messages prior to the commencement of
814: encryption, and deleting an equal number of consecutive messages
815: immediately after encryption starts. A peer SSH client/server
816: would not be able to detect that messages were deleted.
817:
818: <br>While cryptographically novel, the security impact of this attack
819: is fortunately very limited as it only allows deletion of
820: consecutive messages, and deleting most messages at this stage of
1.17 gnezdo 821: the protocol prevents user authentication from proceeding and
1.16 djm 822: results in a stuck connection.
823:
824: <br>The most serious identified impact is that it lets a MITM to
825: delete the SSH2_MSG_EXT_INFO message sent before authentication
826: starts, allowing the attacker to disable a subset of the keystroke
827: timing obfuscation features introduced in OpenSSH 9.5. There is no
828: other discernable impact to session secrecy or session integrity.
829:
830: <li><a href='https://man.openbsd.org/ssh-agent.1'>ssh-agent(1)</a>: when adding PKCS#11-hosted private keys while
831: specifying destination constraints, if the PKCS#11 token returned
832: multiple keys then only the first key had the constraints applied.
833: Use of regular private keys, FIDO tokens and unconstrained keys
834: are unaffected.
835:
836: <li><a href='https://man.openbsd.org/ssh.1'>ssh(1)</a>: if an invalid user or hostname that contained shell
837: metacharacters was passed to <a href='https://man.openbsd.org/ssh.1'>ssh(1)</a>, and a ProxyCommand,
838: LocalCommand directive or "match exec" predicate referenced the
839: user or hostname via %u, %h or similar expansion token, then
840: an attacker who could supply arbitrary user/hostnames to <a href='https://man.openbsd.org/ssh.1'>ssh(1)</a>
841: could potentially perform command injection depending on what
842: quoting was present in the user-supplied <a href='https://man.openbsd.org/ssh_config.5'>ssh_config(5)</a> directive.
843:
844: <br>OpenSSH 9.6 now
845: bans most shell metacharacters from user and hostnames supplied
846: via the command-line. This countermeasure is not guaranteed to be
847: effective in all situations, as it is infeasible for <a href='https://man.openbsd.org/ssh.1'>ssh(1)</a> to
848: universally filter shell metacharacters potentially relevant to
849: user-supplied commands.
850:
851: <br>User/hostnames provided via <a href='https://man.openbsd.org/ssh_config.5'>ssh_config(5)</a> are not subject to these
852: restrictions, allowing configurations that use strange names to
853: continue to be used, under the assumption that the user knows what
854: they are doing in their own configuration files.
1.1 benno 855: </ul>
856: <li>New features
857: <ul>
1.16 djm 858: <li><a href='https://man.openbsd.org/ssh.1'>ssh(1)</a>, <a href='https://man.openbsd.org/sshd.8'>sshd(8)</a>: add a "global" ChannelTimeout type that watches
859: all open channels and will close all open channels if there is no
860: traffic on any of them for the specified interval. This is in
861: addition to the existing per-channel timeouts added recently.
862: <br>This supports situations like having both session and x11
863: forwarding channels open where one may be idle for an extended
864: period but the other is actively used. The global timeout could
865: close both channels when both have been idle for too long.
866:
867: <li>All: make DSA key support compile-time optional, defaulting to on.
1.1 benno 868: </ul>
869: <li>Bugfixes
870: <ul>
1.16 djm 871: <li><a href='https://man.openbsd.org/sshd.8'>sshd(8)</a>: don't append an unnecessary space to the end of subsystem
872: arguments (<a href='https://bugzilla.mindrot.org/show_bug.cgi?id=3667'>bz3667</a>)
873:
874: <li><a href='https://man.openbsd.org/ssh.1'>ssh(1)</a>: fix the multiplexing "channel proxy" mode, broken when
875: keystroke timing obfuscation was added. (<a href='https://github.com/openssh/openssh-portable/pull/463'>GHPR#463</a>)
876:
877: <li><a href='https://man.openbsd.org/ssh.1'>ssh(1)</a>, <a href='https://man.openbsd.org/sshd.8'>sshd(8)</a>: fix spurious configuration parsing errors when
878: options that accept array arguments are overridden (<a href='https://bugzilla.mindrot.org/show_bug.cgi?id=3657'>bz3657</a>).
879:
880: <li><a href='https://man.openbsd.org/ssh-agent.1'>ssh-agent(1)</a>: fix potential spin in signal handler (<a href='https://bugzilla.mindrot.org/show_bug.cgi?id=3670'>bz3670</a>)
881:
882: <li>Many fixes to manual pages and other documentation, including
883: <a href='https://github.com/openssh/openssh-portable/pull/462'>GHPR#462</a>, <a href='https://github.com/openssh/openssh-portable/pull/454'>GHPR#454</a>, <a href='https://github.com/openssh/openssh-portable/pull/442'>GHPR#442</a> and <a href='https://github.com/openssh/openssh-portable/pull/441'>GHPR#441</a>.
884:
885: <li>Greatly improve interop testing against PuTTY.
1.1 benno 886: </ul>
887: </ul>
888:
889: <li>Ports and packages:
890: <p>Many pre-built packages for each architecture:
891: <!-- number of FTP packages minus SHA256, SHA256.sig, index.txt -->
892: <ul style="column-count: 3">
1.7 sthen 893: <li>aarch64: 12145
1.6 naddy 894: <li>amd64: 12309
1.1 benno 895: <li>arm: XXX
1.7 sthen 896: <li>i386: 10830
1.27 visa 897: <li>mips64: 8674
1.44 ! naddy 898: <li>powerpc: 9980
1.10 sthen 899: <li>powerpc64: 8469
1.28 naddy 900: <li>riscv64: 10508
1.8 sthen 901: <li>sparc64: 9432
1.1 benno 902: </ul>
903:
904: <p>Some highlights:
905: <ul style="column-count: 3"><!-- XXX all need to be checked/updated 2024-03-02 -->
1.9 lteo 906: <li>Asterisk 16.30.1, 18.21.0 and 20.6.0
907: <li>Audacity 3.4.2
908: <li>CMake 3.28.3
909: <li>Chromium 122.0.6261.111
910: <li>Emacs 29.2
1.1 benno 911: <li>FFmpeg 4.4.4
912: <li>GCC 8.4.0 and 11.2.0
1.9 lteo 913: <li>GHC 9.6.4
914: <li>GNOME 45
915: <li>Go 1.22.1
916: <li>JDK 8u402, 11.0.22, 17.0.10 and 21.0.2
917: <li>KDE Applications 23.08.4
918: <li>KDE Frameworks 5.115.0
1.13 rsadowsk 919: <li>KDE Plasma 5.27.10
1.9 lteo 920: <li>Krita 5.2.2
921: <li>LLVM/Clang 13.0.0, 16.0.6 and 17.0.6
922: <li>LibreOffice 24.2.1.2
1.1 benno 923: <li>Lua 5.1.5, 5.2.4, 5.3.6 and 5.4.6
1.9 lteo 924: <li>MariaDB 10.9.8
1.1 benno 925: <li>Mono 6.12.0.199
1.9 lteo 926: <li>Mozilla Firefox 123.0.1 and ESR 115.8.0
927: <li>Mozilla Thunderbird 115.8.1
928: <li>Mutt 2.2.13 and NeoMutt 20240201
929: <li>Node.js 18.19.1
930: <li>OCaml 4.14.1
931: <li>OpenLDAP 2.6.7
932: <li>PHP 7.4.33, 8.0.30, 8.1.27, 8.2.16 and 8.3.3
933: <li>Postfix 3.8.6
934: <li>PostgreSQL 16.2
935: <li>Python 2.7.18, 3.9.18, 3.10.13 and 3.11.8
1.13 rsadowsk 936: <li>Qt 5.15.12 (+ kde patches) and 6.6.1
1.1 benno 937: <li>R 4.2.3
1.9 lteo 938: <li>Ruby 3.1.4, 3.2.3 and 3.3.0
939: <li>Rust 1.76.0
940: <li>SQLite 3.44.2
1.1 benno 941: <li>Shotcut 23.07.29
1.9 lteo 942: <li>Sudo 1.9.15.5
943: <li>Suricata 7.0.3
1.1 benno 944: <li>Tcl/Tk 8.5.19 and 8.6.13
1.9 lteo 945: <li>TeX Live 2023
946: <li>Vim 9.1.139 and Neovim 0.9.5
947: <li>Xfce 4.18.1
1.1 benno 948: </ul>
949: <p>
950:
951: <li>As usual, steady improvements in manual pages and other documentation.
952:
953: <li>The system includes the following major components from outside suppliers:
954: <ul><!-- XXX all need to be checked/updated 2024-03-02 -->
1.4 matthieu 955: <li>Xenocara (based on X.Org 7.7 with xserver 21.1.11 + patches,
956: freetype 2.13.0, fontconfig 2.14.2, Mesa 23.1.9, xterm 378,
957: xkeyboard-config 2.20, fonttosfnt 1.2.3 and more)
958: <li>LLVM/Clang 16.0.6 (+ patches)
1.1 benno 959: <li>GCC 4.2.1 (+ patches) and 3.3.6 (+ patches)
1.4 matthieu 960: <li>Perl 5.36.3 (+ patches)
961: <li>NSD 4.8.0
1.1 benno 962: <li>Unbound 1.18.0
1.43 sthen 963: <li>Ncurses 6.4
1.1 benno 964: <li>Binutils 2.17 (+ patches)
965: <li>Gdb 6.3 (+ patches)
1.4 matthieu 966: <li>Awk January 22, 2024
967: <li>Expat 2.6.0
968: <li>zlib 1.3.1 (+ patches)
1.1 benno 969: </ul>
970:
971: </ul>
972: </section>
973:
974: <hr>
975:
976: <section id=install>
977: <h3>How to install</h3>
978: <p>
979: Please refer to the following files on the mirror site for
980: extensive details on how to install OpenBSD 7.5 on your machine:
981:
982: <ul>
983: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.5/alpha/INSTALL.alpha">
984: .../OpenBSD/7.5/alpha/INSTALL.alpha</a>
985: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.5/amd64/INSTALL.amd64">
986: .../OpenBSD/7.5/amd64/INSTALL.amd64</a>
987: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.5/arm64/INSTALL.arm64">
988: .../OpenBSD/7.5/arm64/INSTALL.arm64</a>
989: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.5/armv7/INSTALL.armv7">
990: .../OpenBSD/7.5/armv7/INSTALL.armv7</a>
991: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.5/hppa/INSTALL.hppa">
992: .../OpenBSD/7.5/hppa/INSTALL.hppa</a>
993: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.5/i386/INSTALL.i386">
994: .../OpenBSD/7.5/i386/INSTALL.i386</a>
995: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.5/landisk/INSTALL.landisk">
996: .../OpenBSD/7.5/landisk/INSTALL.landisk</a>
997: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.5/loongson/INSTALL.loongson">
998: .../OpenBSD/7.5/loongson/INSTALL.loongson</a>
999: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.5/luna88k/INSTALL.luna88k">
1000: .../OpenBSD/7.5/luna88k/INSTALL.luna88k</a>
1001: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.5/macppc/INSTALL.macppc">
1002: .../OpenBSD/7.5/macppc/INSTALL.macppc</a>
1003: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.5/octeon/INSTALL.octeon">
1004: .../OpenBSD/7.5/octeon/INSTALL.octeon</a>
1005: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.5/powerpc64/INSTALL.powerpc64">
1006: .../OpenBSD/7.5/powerpc64/INSTALL.powerpc64</a>
1007: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.5/riscv64/INSTALL.riscv64">
1008: .../OpenBSD/7.5/riscv64/INSTALL.riscv64</a>
1009: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.5/sparc64/INSTALL.sparc64">
1010: .../OpenBSD/7.5/sparc64/INSTALL.sparc64</a>
1011: </ul>
1012: </section>
1013:
1014: <hr>
1015:
1016: <section id=quickinstall>
1017: <p>
1018: Quick installer information for people familiar with OpenBSD, and the use of
1019: the "<a href="https://man.openbsd.org/disklabel.8">disklabel</a> -E" command.
1020: If you are at all confused when installing OpenBSD, read the relevant
1021: INSTALL.* file as listed above!
1022:
1023: <h3>OpenBSD/alpha:</h3>
1024:
1025: <p>
1026: If your machine can boot from CD, you can write <i>install75.iso</i> or
1027: <i>cd75.iso</i> to a CD and boot from it.
1028: Refer to INSTALL.alpha for more details.
1029:
1030: <h3>OpenBSD/amd64:</h3>
1031:
1032: <p>
1033: If your machine can boot from CD, you can write <i>install75.iso</i> or
1034: <i>cd75.iso</i> to a CD and boot from it.
1035: You may need to adjust your BIOS options first.
1036:
1037: <p>
1038: If your machine can boot from USB, you can write <i>install75.img</i> or
1039: <i>miniroot75.img</i> to a USB stick and boot from it.
1040:
1041: <p>
1042: If you can't boot from a CD, floppy disk, or USB,
1043: you can install across the network using PXE as described in the included
1044: INSTALL.amd64 document.
1045:
1046: <p>
1047: If you are planning to dual boot OpenBSD with another OS, you will need to
1048: read INSTALL.amd64.
1049:
1050: <h3>OpenBSD/arm64:</h3>
1051:
1052: <p>
1.12 jsg 1053: If your machine can boot from CD, you can write <i>install75.iso</i> or
1054: <i>cd75.iso</i> to a CD and boot from it.
1055:
1056: <p>
1057: To boot from disk, write <i>install75.img</i> or <i>miniroot75.img</i> to a
1058: disk and boot from it after connecting to the serial console. Refer to
1059: INSTALL.arm64 for more details.
1.1 benno 1060:
1061: <h3>OpenBSD/armv7:</h3>
1062:
1063: <p>
1064: Write a system specific miniroot to an SD card and boot from it after connecting
1065: to the serial console. Refer to INSTALL.armv7 for more details.
1066:
1067: <h3>OpenBSD/hppa:</h3>
1068:
1069: <p>
1070: Boot over the network by following the instructions in INSTALL.hppa or the
1071: <a href="hppa.html#install">hppa platform page</a>.
1072:
1073: <h3>OpenBSD/i386:</h3>
1074:
1075: <p>
1076: If your machine can boot from CD, you can write <i>install75.iso</i> or
1077: <i>cd75.iso</i> to a CD and boot from it.
1078: You may need to adjust your BIOS options first.
1079:
1080: <p>
1081: If your machine can boot from USB, you can write <i>install75.img</i> or
1082: <i>miniroot75.img</i> to a USB stick and boot from it.
1083:
1084: <p>
1085: If you can't boot from a CD, floppy disk, or USB,
1086: you can install across the network using PXE as described in
1087: the included INSTALL.i386 document.
1088:
1089: <p>
1090: If you are planning on dual booting OpenBSD with another OS, you will need to
1091: read INSTALL.i386.
1092:
1093: <h3>OpenBSD/landisk:</h3>
1094:
1095: <p>
1096: Write <i>miniroot75.img</i> to the start of the CF
1097: or disk, and boot normally.
1098:
1099: <h3>OpenBSD/loongson:</h3>
1100:
1101: <p>
1102: Write <i>miniroot75.img</i> to a USB stick and boot bsd.rd from it
1103: or boot bsd.rd via tftp.
1104: Refer to the instructions in INSTALL.loongson for more details.
1105:
1106: <h3>OpenBSD/luna88k:</h3>
1107:
1108: <p>
1109: Copy 'boot' and 'bsd.rd' to a Mach or UniOS partition, and boot the bootloader
1110: from the PROM, and then bsd.rd from the bootloader.
1111: Refer to the instructions in INSTALL.luna88k for more details.
1112:
1113: <h3>OpenBSD/macppc:</h3>
1114:
1115: <p>
1116: Burn the image from a mirror site to a CDROM, and power on your machine
1117: while holding down the <i>C</i> key until the display turns on and
1118: shows <i>OpenBSD/macppc boot</i>.
1119:
1120: <p>
1121: Alternatively, at the Open Firmware prompt, enter <i>boot cd:,ofwboot
1122: /7.5/macppc/bsd.rd</i>
1123:
1124: <h3>OpenBSD/octeon:</h3>
1125:
1126: <p>
1127: After connecting a serial port, boot bsd.rd over the network via DHCP/tftp.
1128: Refer to the instructions in INSTALL.octeon for more details.
1129:
1130: <h3>OpenBSD/powerpc64:</h3>
1131:
1132: <p>
1133: To install, write <i>install75.img</i> or <i>miniroot75.img</i> to a
1134: USB stick, plug it into the machine and choose the <i>OpenBSD
1135: install</i> menu item in Petitboot.
1136: Refer to the instructions in INSTALL.powerpc64 for more details.
1137:
1138: <h3>OpenBSD/riscv64:</h3>
1139:
1140: <p>
1141: To install, write <i>install75.img</i> or <i>miniroot75.img</i> to a
1142: USB stick, and boot with that drive plugged in.
1143: Make sure you also have the microSD card plugged in that shipped with the
1144: HiFive Unmatched board.
1145: Refer to the instructions in INSTALL.riscv64 for more details.
1146:
1147: <h3>OpenBSD/sparc64:</h3>
1148:
1149: <p>
1150: Burn the image from a mirror site to a CDROM, boot from it, and type
1151: <i>boot cdrom</i>.
1152:
1153: <p>
1154: If this doesn't work, or if you don't have a CDROM drive, you can write
1155: <i>floppy75.img</i> or <i>floppyB75.img</i>
1156: (depending on your machine) to a floppy and boot it with <i>boot
1157: floppy</i>. Refer to INSTALL.sparc64 for details.
1158:
1159: <p>
1160: Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
1161: will most likely fail.
1162:
1163: <p>
1164: You can also write <i>miniroot75.img</i> to the swap partition on
1165: the disk and boot with <i>boot disk:b</i>.
1166:
1167: <p>
1168: If nothing works, you can boot over the network as described in INSTALL.sparc64.
1169: </section>
1170:
1171: <hr>
1172:
1173: <section id=upgrade>
1174: <h3>How to upgrade</h3>
1175: <p>
1176: If you already have an OpenBSD 7.4 system, and do not want to reinstall,
1177: upgrade instructions and advice can be found in the
1178: <a href="faq/upgrade75.html">Upgrade Guide</a>.
1179: </section>
1180:
1181: <hr>
1182:
1183: <section id=sourcecode>
1184: <h3>Notes about the source code</h3>
1185: <p>
1186: <code>src.tar.gz</code> contains a source archive starting at <code>/usr/src</code>.
1187: This file contains everything you need except for the kernel sources,
1188: which are in a separate archive.
1189: To extract:
1190: <blockquote><pre>
1191: # <kbd>mkdir -p /usr/src</kbd>
1192: # <kbd>cd /usr/src</kbd>
1193: # <kbd>tar xvfz /tmp/src.tar.gz</kbd>
1194: </pre></blockquote>
1195: <p>
1196: <code>sys.tar.gz</code> contains a source archive starting at <code>/usr/src/sys</code>.
1197: This file contains all the kernel sources you need to rebuild kernels.
1198: To extract:
1199: <blockquote><pre>
1200: # <kbd>mkdir -p /usr/src/sys</kbd>
1201: # <kbd>cd /usr/src</kbd>
1202: # <kbd>tar xvfz /tmp/sys.tar.gz</kbd>
1203: </pre></blockquote>
1204: <p>
1205: Both of these trees are a regular CVS checkout. Using these trees it
1206: is possible to get a head-start on using the anoncvs servers as
1207: described <a href="anoncvs.html">here</a>.
1208: Using these files
1209: results in a much faster initial CVS update than you could expect from
1210: a fresh checkout of the full OpenBSD source tree.
1211: </section>
1212:
1213: <hr>
1214:
1215: <section id=ports>
1216: <h3>Ports Tree</h3>
1217: <p>
1218: A ports tree archive is also provided. To extract:
1219: <blockquote><pre>
1220: # <kbd>cd /usr</kbd>
1221: # <kbd>tar xvfz /tmp/ports.tar.gz</kbd>
1222: </pre></blockquote>
1223: <p>
1224: Go read the <a href="faq/ports/index.html">ports</a> page
1225: if you know nothing about ports
1226: at this point. This text is not a manual of how to use ports.
1227: Rather, it is a set of notes meant to kickstart the user on the
1228: OpenBSD ports system.
1229: <p>
1230: The <i>ports/</i> directory represents a CVS checkout of our ports.
1231: As with our complete source tree, our ports tree is available via
1232: <a href="anoncvs.html">AnonCVS</a>.
1233: So, in order to keep up to date with the -stable branch, you must make
1234: the <i>ports/</i> tree available on a read-write medium and update the tree
1235: with a command like:
1236: <blockquote><pre>
1237: # <kbd>cd /usr/ports</kbd>
1238: # <kbd>cvs -d anoncvs@server.openbsd.org:/cvs update -Pd -rOPENBSD_7_5</kbd>
1239: </pre></blockquote>
1240: <p>
1241: [Of course, you must replace the server name here with a nearby anoncvs
1242: server.]
1243: <p>
1244: Note that most ports are available as packages on our mirrors. Updated
1245: ports for the 7.5 release will be made available if problems arise.
1246: <p>
1247: If you're interested in seeing a port added, would like to help out, or just
1248: would like to know more, the mailing list
1249: <a href="mail.html">ports@openbsd.org</a> is a good place to know.
1250: </section>
1251: </body>
1252: </html>