Annotation of www/61.html, Revision 1.94
1.1 deraadt 1: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2: <html>
3: <head>
4: <title>OpenBSD 6.1</title>
5: <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6: <meta name="description" content="OpenBSD 6.1">
7: <meta name="copyright" content="This document copyright 2016 by OpenBSD.">
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/61.html">
11: </head>
12:
13: <body bgcolor="#ffffff" text="#000000" link="#24248E">
14:
15: <h2>
16: <a href="index.html">
17: <i><font color="#0000ff">Open</font></i><font color="#000084">BSD</font></a>
18: <font color="#e00000">6.1</font>
19: </h2>
20:
1.90 deraadt 21: <a href="images/Fugu.gif">
22: <img align="left" width="227" height="343" hspace="24" src="images/Fugu.gif"></a>
23: Released April 11, 2017<br>
1.1 deraadt 24: Copyright 1997-2017, Theo de Raadt.<br>
25: <br>
26: 6.1 Song:
1.90 deraadt 27: <a href="lyrics.html#61">"Winter of 95"</a>.
1.94 ! deraadt 28: <br>
1.1 deraadt 29: <br>
30: <ul>
31: <li>See the information on <a href="ftp.html">the FTP page</a> for
32: a list of mirror machines.
33: <li>Go to the <font color="#e00000">pub/OpenBSD/6.1/</font> directory on
34: one of the mirror sites.
35: <li>Have a look at <a href="errata61.html">the 6.1 errata page</a> for a list
36: of bugs and workarounds.
37: <li>See a <a href="plus61.html">detailed log of changes</a> between the
38: 6.0 and 6.1 releases.
39: <p>
1.91 tb 40: <li><a href="https://man.openbsd.org/signify.1">signify(1)</a>
1.93 deraadt 41: pubkeys for this release:<p>
42:
43: <table cellspacing=0 style='font-family:monospace'><tr>
44: <td>
45: openbsd-61-base.pub:
46: </td><td>
47: RWQEQa33SgQSEsMwwVV1+GjzdcQfRNV2Bgo48Ztd2KiZ9bAodz9c+Maa
48: </td></tr><tr><td>
49: openbsd-61-fw.pub:
50: </td><td>
51: RWS91POk0QZXfsqi4aI7MotYz8CPzoHjYg4a1IDi56cftacjsq+ZL/KY
52: </td></tr><tr><td>
53: openbsd-61-pkg.pub:
54: </td><td>
55: RWQbTjGFHEvnOckqY7u9iABhXAkEpF/6TQ3Mr6bMrWbT1wOM/HnbV9ov
56: </td></tr>
57: </table>
58:
1.1 deraadt 59: <p>
60: All applicable copyrights and credits are in the src.tar.gz,
61: sys.tar.gz, xenocara.tar.gz, ports.tar.gz files, or in the
62: files fetched via ports.tar.gz.
63: </ul>
64: <br clear=all>
65:
66: <hr>
67:
68: <h3 id="new"><font color="#0000e0">What's New</font></h3>
69:
70: This is a partial list of new features and systems included in OpenBSD 6.1.
71: For a comprehensive list, see the <a href="plus61.html">changelog</a> leading
72: to 6.1.
73:
74: <ul>
75: <li>New/extended platforms:
76: <ul>
1.21 schwarze 77: <li>New <a href="https://www.openbsd.org/arm64.html">arm64</a> platform,
1.91 tb 78: using <a href="https://man.openbsd.org/clang-local.1">clang(1)</a>
1.21 schwarze 79: as the base system compiler.
1.88 kettenis 80: <li>The <a href="https://www.openbsd.org/armv7.html">armv7</a> platform
81: has seen some major improvements, including a switch to EABI and
82: support for a lot more hardware.
1.52 visa 83: <li>The <a href="https://www.openbsd.org/loongson.html">loongson</a>
84: platform now supports systems with Loongson 3A CPU and RS780E chipset.
1.14 schwarze 85: <li>The following platforms were retired:
1.21 schwarze 86: <a href="https://www.openbsd.org/armish.html">armish</a>,
1.14 schwarze 87: <a href="https://www.openbsd.org/sparc.html">sparc</a>,
1.71 tb 88: <a href="https://www.openbsd.org/zaurus.html">zaurus</a>.
1.1 deraadt 89: </ul>
90: <p>
91:
92: <li>Improved hardware support, including:
93: <ul>
1.91 tb 94: <li>New <a href="https://man.openbsd.org/acpials.4">acpials(4)</a>
1.21 schwarze 95: driver for ACPI ambient light sensor devices.
1.91 tb 96: <li>New <a href="https://man.openbsd.org/acpihve.4">acpihve(4)</a>
1.21 schwarze 97: driver for feeding Hyper-V entropy into the kernel pool.
1.91 tb 98: <li>New <a href="https://man.openbsd.org/acpisbs.4">acpisbs(4)</a>
1.62 jcs 99: driver for ACPI Smart Battery devices.
1.91 tb 100: <li>New <a href="https://man.openbsd.org/dwge.4">dwge(4)</a>
1.23 jsg 101: driver for Designware GMAC 10/100/Gigabit Ethernet devices.
1.91 tb 102: <li>New <a href="https://man.openbsd.org/loongson/htb.4">htb(4)</a>
1.21 schwarze 103: driver for Loongson 3A PCI host bridges.
1.91 tb 104: <li>New <a href="https://man.openbsd.org/hvn.4">hvn(4)</a>
1.21 schwarze 105: driver for Hyper-V networking interfaces.
1.91 tb 106: <li>New <a href="https://man.openbsd.org/hyperv.4">hyperv(4)</a>
1.21 schwarze 107: driver for the Hyper-V guest nexus device.
1.91 tb 108: <li>New <a href="https://man.openbsd.org/iatp.4">iatp(4)</a>
1.21 schwarze 109: driver for the Atmel maXTouch touchpad and touchscreen.
1.91 tb 110: <li>New <a href="https://man.openbsd.org/armv7/imxtemp.4">imxtemp(4)</a>
1.21 schwarze 111: driver for Freescale i.MX6 temperature sensors.
1.91 tb 112: <li>New <a href="https://man.openbsd.org/loongson/leioc.4">leioc(4)</a>
1.21 schwarze 113: driver for the Loongson 3A low-end IO controller.
1.91 tb 114: <li>New <a href="https://man.openbsd.org/octeon/octmmc.4">octmmc(4)</a>
1.4 visa 115: driver for the OCTEON MMC host controller.
1.91 tb 116: <li>New <a href="https://man.openbsd.org/armv7/ompinmux.4">ompinmux(4)</a>
1.21 schwarze 117: driver for OMAP pin multiplexing.
1.91 tb 118: <li>New <a href="https://man.openbsd.org/armv7/omwugen.4">omwugen(4)</a>
1.21 schwarze 119: driver for OMAP wake-up generators.
1.91 tb 120: <li>New <a href="https://man.openbsd.org/armv7/psci.4">psci(4)</a>
1.21 schwarze 121: driver for the ARM Power State Coordination Interface.
1.91 tb 122: <li>New <a href="https://man.openbsd.org/simplefb.4">simplefb(4)</a>
1.21 schwarze 123: driver for the simple frame buffer on systems
1.23 jsg 124: using a device tree.
1.91 tb 125: <li>New <a href="https://man.openbsd.org/armv7/sximmc.4">sximmc(4)</a>
1.23 jsg 126: driver for Allwinner A1X/A20 MMC/SD/SDIO controllers.
1.91 tb 127: <li>New <a href="https://man.openbsd.org/tpm.4">tpm(4)</a>
1.23 jsg 128: driver for Trusted Platform Module devices.
1.91 tb 129: <li>New <a href="https://man.openbsd.org/uwacom.4">uwacom(4)</a>
1.21 schwarze 130: driver for Wacom USB tablets.
1.91 tb 131: <li>New <a href="https://man.openbsd.org/vmmci.4">vmmci(4)</a>
1.21 schwarze 132: VMM control interface.
1.91 tb 133: <li>New <a href="https://man.openbsd.org/xbf.4">xbf(4)</a>
1.21 schwarze 134: driver for Xen Blkfront virtual disks.
1.91 tb 135: <li>New <a href="https://man.openbsd.org/luna88k/xp.4">xp(4)</a>
1.21 schwarze 136: driver for the LUNA-88K HD647180X I/O processor.
1.58 jsg 137: <li>Support for Kaby Lake and Lewisburg PCH Ethernet MACs with I219 PHYs
138: has been added to the
1.91 tb 139: <a href="https://man.openbsd.org/?query=em">em(4)</a> driver.
1.58 jsg 140: <li>Support for RTL8153 USB 3.0 Gigabit Ethernet based devices
141: has been added to the
1.91 tb 142: <a href="https://man.openbsd.org/?query=ure">ure(4)</a> driver.
1.62 jcs 143: <li>Improved ACPI support for modern Apple hardware, including S3 suspend
144: and resume.
1.69 mikeb 145: <li>Support for X550 family of 10 Gigabit Ethernet based devices
146: has been added to the
1.91 tb 147: <a href="https://man.openbsd.org/?query=ix">ix(4)</a> driver.
1.1 deraadt 148: </ul>
1.71 tb 149:
150: <p>
1.91 tb 151: <li>New <a href="https://man.openbsd.org/amd64/vmm.4">vmm(4)</a>/
152: <a href="https://man.openbsd.org/amd64/vmd.8">vmd(8)</a>:
1.71 tb 153: <ul>
1.81 deraadt 154: <li>Support was partially integrated in 6.0, but disabled.
1.71 tb 155: <li>Support for amd64 and i386 hosts.
156: <li>BIOS payload provided via vmm-firmware, delivered via
1.91 tb 157: <a href="https://man.openbsd.org/fw_update.1">fw_update(1)</a>.
1.71 tb 158: <li>Support for Linux guest VMs.
1.76 tb 159: <li>Better interrupt handling and legacy device emulation.
1.91 tb 160: <li><a href="https://man.openbsd.org/amd64/vmm.4">vmm(4)</a> no longer
1.71 tb 161: requires VMX unrestricted guest capability (Nehalem and later CPUs
162: are sufficient).
163: <li>Removed bounce buffers previously used by
1.91 tb 164: <a href="https://man.openbsd.org/amd64/vmd.8">vmd(8)</a> for
165: <a href="https://man.openbsd.org/vio.4">vio(4)</a> and
166: <a href="https://man.openbsd.org/vioblk.4">vioblk(4)</a> devices.
1.71 tb 167: <li>Support VMs with > 2GB RAM.
1.91 tb 168: <li><a href="https://man.openbsd.org/amd64/vmd.8">vmd(8)</a> uses
169: <a href="https://man.openbsd.org/pledge.2">pledge(2)</a> and the
1.71 tb 170: fork+exec model.
1.91 tb 171: <li><a href="https://man.openbsd.org/amd64/vm.conf.5">vm.conf(5)</a>
1.71 tb 172: expanded to include VM ownership rules (uid/gid).
1.91 tb 173: <li><a href="https://man.openbsd.org/amd64/vmd.8">vmd(8)</a>/
174: <a href="https://man.openbsd.org/amd64/vm.conf.5">vm.conf(5)</a>
1.71 tb 175: supports automatic
1.91 tb 176: <a href="https://man.openbsd.org/bridge.4">bridge(4)</a> and
177: <a href="https://man.openbsd.org/switch.4">switch(4)</a> configuration
1.71 tb 178: for VM network interfaces.
1.91 tb 179: <li><a href="https://man.openbsd.org/amd64/vmctl.8">vmctl(8)</a> supports
1.71 tb 180: graceful VM shutdown via
1.91 tb 181: <a href="https://man.openbsd.org/amd64/vmmci.4">vmmci(4)</a>.
1.71 tb 182: </ul>
1.1 deraadt 183: <p>
184:
185: <li>IEEE 802.11 wireless stack improvements:
186: <ul>
1.91 tb 187: <li>The <a href="https://man.openbsd.org/ral.4">ral(4)</a> driver
1.28 stsp 188: now supports Ralink RT3900E (RT5390, RT3292) devices.
1.91 tb 189: <li>The <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> and
190: <a href="https://man.openbsd.org/iwn.4">iwn(4)</a> drivers
1.28 stsp 191: now support the short guard interval (SGI) in 11n mode.
192: <li>Added a new implementation of MiRa, a rate adapation algorithm
193: designed for 802.11n.
1.91 tb 194: <li>The <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> driver
1.28 stsp 195: now supports 802.11n MIMO (MCS 0-15).
1.91 tb 196: <li>The <a href="https://man.openbsd.org/athn.4">athn(4)</a> driver
1.28 stsp 197: now supports 802.11n, featuring MIMO (MCS 0-15) and hostap mode.
1.91 tb 198: <li>The <a href="https://man.openbsd.org/iwn.4">iwn(4)</a> driver
1.28 stsp 199: now receives MIMO frames in monitor mode.
1.91 tb 200: <li>The <a href="https://man.openbsd.org/rtwn.4">rtwn(4)</a> and
201: <a href="https://man.openbsd.org/urtwn.4">urtwn(4)</a> drivers
1.28 stsp 202: now use AMRR rate adaptation (8188EU and 8188CE devices only).
203: <li>TKIP/WPA1 was disabled by default because of inherent weaknesses
204: in this protocol.
1.1 deraadt 205: </ul>
206: <p>
207:
208: <li>Generic network stack improvements:
209: <ul>
1.91 tb 210: <li>New <a href="https://man.openbsd.org/switch.4">switch(4)</a>
1.14 schwarze 211: pseudo-device together with new
1.91 tb 212: <a href="https://man.openbsd.org/switchd.8">switchd(8)</a> and
213: <a href="https://man.openbsd.org/switchctl.8">switchctl(8)</a>
1.14 schwarze 214: programs.
1.91 tb 215: <li>New <a href="https://man.openbsd.org/mobileip.4">mobileip(4)</a>
1.21 schwarze 216: operation mode for the
1.91 tb 217: <a href="https://man.openbsd.org/gre.4">gre(4)</a>
1.21 schwarze 218: pseudo-device.
219: <li>Multipoint-to-multipoint mode in
1.91 tb 220: <a href="https://man.openbsd.org/vxlan.4">vxlan(4)</a>.
221: <li><a href="https://man.openbsd.org/route.8">route(8)</a>
1.18 bluhm 222: and netstat -r display all routing flags correctly and they
223: are completely documented in the
1.91 tb 224: <a href="https://man.openbsd.org/netstat.1">netstat(1)</a>
1.18 bluhm 225: man page.
226: <li>When sending TCP streams they are locally stored in large
227: mbuf clusters to improve memory management.
228: The maximum TCP send and receive buffer size has been
1.67 claudio 229: increased from 256KB to 2MB.
1.18 bluhm 230: Note that this results in a different
1.91 tb 231: <a href="https://man.openbsd.org/pf.4">pf(4)</a>
1.18 bluhm 232: OS fingerprint for OpenBSD.
233: The default limit for mbuf clusters has been increased.
234: You can check the values with
1.91 tb 235: <a href="https://man.openbsd.org/netstat.1">netstat(1)</a>
1.18 bluhm 236: -m and adjust them with
1.91 tb 237: <a href="https://man.openbsd.org/sysctl.8">sysctl(8)</a>
1.18 bluhm 238: kern.maxclusters.
239: <li>Make the TCP_NOPUSH flag work for
1.91 tb 240: <a href="https://man.openbsd.org/listen.2">listen(2)</a>
1.18 bluhm 241: sockets.
242: It is inherited by the socket returned from
1.91 tb 243: <a href="https://man.openbsd.org/accept.2">accept(2)</a>.
1.18 bluhm 244: <li>A lot of code has been removed or simplified to make the
245: transition to multi-processor easier.
246: Redesign the interrupt and multi-processor locks in the
247: network stack.
248: <li>When passing packets from the network stack to the
249: interface layer, make sure that they have no pointers to
1.91 tb 250: <a href="https://man.openbsd.org/pf.4">pf(4)</a>
1.18 bluhm 251: which could result in a memory free operation at the wrong
252: protection level.
253: <li>Fix checksum calculation in
1.91 tb 254: <a href="https://man.openbsd.org/pf.4">pf(4)</a>
1.18 bluhm 255: af-to ICMP packet conversions.
256: Simplify af-to processing in and fix path MTU discovery in
257: some corner cases.
258: <li>Improve IPv6 fragment processing.
259: Drop empty atomic fragments early.
260: Be more paranoid when IPv6 hop-by-hop headers appear after
261: fragment headers.
262: Follow RFC 5722 "Handling of Overlapping IPv6 Fragments"
263: more strictly in
1.91 tb 264: <a href="https://man.openbsd.org/pf.4">pf(4)</a>.
1.18 bluhm 265: RFC 8021 "IPv6 Atomic Fragments Considered Harmful" deprecates
266: generating atomic fragments, so do not send them anymore.
267: <li>Depending on the addresses,
1.91 tb 268: <a href="https://man.openbsd.org/ipsecctl.8">ipsecctl(8)</a>
1.18 bluhm 269: may automatically group SA bundles together.
270: To make clear what is going on, the kernel provides this
271: information and ipsecctl -s sa prints IPsec SA bundles.
1.51 krw 272: <li>A new routing socket message type, RTM_PROPOSAL, was added to
273: facilitate future improvements to the network configuration process.
1.1 deraadt 274: </ul>
275: <p>
276:
277: <li>Installer improvements:
278: <ul>
1.45 tj 279: <li>The installer now uses privilege separation for fetching and
280: verifying the install sets.
281: <li>Install sets are now fetched over an HTTPS connection by default
282: when using a <a href="ftp.html">mirror</a> that supports it.
1.50 krw 283: <li>The installer now considers all of the DHCP information in filename,
284: bootfile-name, server-name, tftp-server-name, and next-server when
285: attempting to do automatic installs or upgrades.
286: <li>The installer no longer adds a route to an alias IP via 127.0.0.1, due
287: to improvements in the kernel routing components.
1.1 deraadt 288: </ul>
289: <p>
290:
291: <li>Routing daemons and other userland network improvements:
292: <ul>
1.91 tb 293: <li><a href="https://man.openbsd.org/ping.8">ping(8)</a> and
294: <a href="https://man.openbsd.org/ping6.8">ping6(8)</a> are now the same
1.10 florian 295: binary and share the engine.
1.91 tb 296: <li><a href="https://man.openbsd.org/ripd.8">ripd(8)</a> now supports
1.15 jca 297: p2p links with addresses in different subnets.
1.17 jca 298: <li>UDP speakers can specify an IPv4 source address using
299: <tt>IP_SENDSRCADDR</tt>.
1.91 tb 300: <a href="https://man.openbsd.org/iked.8">iked(8)</a>
301: and <a href="https://man.openbsd.org/snmpd.8">snmpd(8)</a> now
1.17 jca 302: use the proper source address when sending replies.
1.91 tb 303: <li><a href="https://man.openbsd.org/iked.8">iked(8)</a> now
1.74 reyk 304: supports ECDSA and RFC 7427 signatures for authentication.
1.91 tb 305: <li><a href="https://man.openbsd.org/iked.8">iked(8)</a> now
1.74 reyk 306: supports replying to IKEv2 responder cookies.
307: <li>Many fixes and improvements for
1.91 tb 308: <a href="https://man.openbsd.org/iked.8">iked(8)</a> and
309: <a href="https://man.openbsd.org/ikectl.8">ikectl(8)</a>, including
1.74 reyk 310: various fixes for rekeying.
1.91 tb 311: <li><a href="https://man.openbsd.org/ospfd.8">ospfd(8)</a> and
312: <a href="https://man.openbsd.org/ospf6d.8">ospf6d(8)</a> now cope
1.15 jca 313: with interface MTU change at runtime.
1.91 tb 314: <li><a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> now supports
1.44 sthen 315: BGP Large Communities
316: (<a href="https://www.rfc-editor.org/rfc/rfc8092.txt">RFC 8092</a>).
1.91 tb 317: <li><a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> now supports
1.44 sthen 318: BGP Administrative Shutdown Communication
319: (<a href="https://www.ietf.org/id/draft-ietf-idr-shutdown.txt">draft-ietf-idr-shutdown</a>).
1.1 deraadt 320: </ul>
321: <p>
322:
323: <li>Security improvements:
324: <ul>
1.3 visa 325: <li>Enforcement of userland W^X on OCTEON Plus and later.
1.32 guenther 326: <li>All shared libraries, all dynamic and static-PIE executables, and
1.91 tb 327: <a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a> itself use
1.29 guenther 328: the RELRO ("read-only after relocation") design such that
1.32 guenther 329: more of the initial data is protected as read-only.
1.3 visa 330: <li>The size of user virtual address space has been increased
331: from 2GB to 1TB on mips64.
1.73 tj 332: <li>PIE and -static -pie on arm.
1.91 tb 333: <li><a href="https://man.openbsd.org/route6d.8">route6d(8)</a> now
1.17 jca 334: runs with fewer privileges.
1.18 bluhm 335: <li>For incoming TLS connections
1.91 tb 336: <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>
1.18 bluhm 337: can validate client certificates with a given CA file.
1.24 tb 338: <li>The privileged parent process of
1.91 tb 339: <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>
1.18 bluhm 340: calls
1.91 tb 341: <a href="https://man.openbsd.org/execve.2">exec(2)</a>
1.18 bluhm 342: to reshuffle its random memory layout.
1.21 schwarze 343: <li>New function
1.91 tb 344: <a href="https://man.openbsd.org/recallocarray.3">recallocarray(3)</a>
1.21 schwarze 345: to reduce the risk of incorrect clearing of memory before and after
1.91 tb 346: <a href="https://man.openbsd.org/reallocarray.3">reallocarray(3)</a>.
347: <li><a href="https://man.openbsd.org/sha2.3">SHA512_256</a> family
1.30 guenther 348: of functions added to libc.
1.34 guenther 349: <li>arm added to the list of archs where the
1.91 tb 350: <a href="https://man.openbsd.org/setjmp.3">setjmp(3)</a>
1.30 guenther 351: family of functions apply XOR cookies to stack and return-address
1.34 guenther 352: values in the jmpbuf.
1.91 tb 353: <li><a href="https://man.openbsd.org/printf.3">printf(3)</a> family
1.30 guenther 354: of formatting functions now report to syslog when the %s
355: format is used with a NULL pointer.
1.36 otto 356: <li>Heap buffer overflow detection has been improved when the C
1.91 tb 357: <a href="https://man.openbsd.org/malloc.3">malloc(3)</a> option is used.
1.37 otto 358: The existing S option now includes C.
1.33 guenther 359: <li>Support for permitting non-root users to
1.91 tb 360: <a href="https://man.openbsd.org/mount.8">mount(8)</a> filesystems
1.33 guenther 361: has been removed.
1.91 tb 362: <li><a href="https://man.openbsd.org/bioctl.8">bioctl(8)</a> now uses
363: <a href="https://man.openbsd.org/bcrypt_pbkdf.3">bcrypt PBKDF</a> to
1.86 jsing 364: derive keys for
1.91 tb 365: <a href="https://man.openbsd.org/softraid.4">softraid(4)</a> crypto
1.85 jsing 366: volumes.
1.1 deraadt 367: </ul>
368: <p>
369:
1.91 tb 370: <li><a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a>/
371: <a href="https://man.openbsd.org/dhcpd.8">dhcpd(8)</a>/
372: <a href="https://man.openbsd.org/dhcrelay.8">dhcrelay(8)</a> improvements:
1.49 krw 373: <ul>
374: <li>Add DHO_BOOTFILE_NAME and DHO_TFTP_SERVER to the options requested by default.
375: <li>Add support for RFC 6842 (Client Identifier Option in DHCP Server Replies).
376: <li>Stop leaking option data received on the udp socket.
377: <li>Stop pretending we use RFC 3046/Option 82/Relay Agent Information.
378: <li>Stop recording ignored DHO_ROUTERS and DHO_STATIC_ROUTES options in the effective lease.
379: <li>Use only leases from no SSID or the current SSID when restarting.
380: <li>Reduce default values for various timeouts to something more
381: appropriate to modern networks.
382: <li>Fix issues with redundant dhcpd servers and CARP'd interfaces.
383: <li>Switch to standard logging functions
1.59 krw 384: <li>Fix vis/unvis of strings in
1.91 tb 385: <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a> leases files.
1.49 krw 386: </ul>
1.80 deraadt 387: <p>
1.44 sthen 388:
1.1 deraadt 389: <li>Assorted improvements:
390: <ul>
1.91 tb 391: <li>New <a href="https://man.openbsd.org/syspatch.8">syspatch(8)</a>
1.46 tj 392: utility for security and reliability binary updates to the base
393: system.
1.91 tb 394: <li><a href="https://man.openbsd.org/acme-client.1">acme-client(1)</a>, a
1.24 tb 395: privilege separated Automatic Certificate Management Environment
1.9 florian 396: (ACME) client written by Kristaps Dzonsons has been imported.
1.14 schwarze 397: <li>New, simplified
1.91 tb 398: <a href="https://man.openbsd.org/xenodm.1">xenodm(1)</a>
1.14 schwarze 399: X11 display manager forked from
1.91 tb 400: <a href="https://man.openbsd.org/OpenBSD-6.0/xdm.1">xdm(1)</a>.
1.13 schwarze 401: <li>Unicode version 8 character properties in the C library.
402: <li>Partial UTF-8 line editing support for
1.91 tb 403: <a href="https://man.openbsd.org/ksh.1">ksh(1)</a> Vi input mode.
1.13 schwarze 404: <li>UTF-8 support in
1.91 tb 405: <a href="https://man.openbsd.org/column.1">column(1)</a>.
1.35 otto 406: <li>The performance and concurrency of the
1.91 tb 407: <a href="https://man.openbsd.org/malloc.3">malloc(3)</a> family
1.35 otto 408: in multi-threaded processes has been improved.
1.17 jca 409: <li>Estonian keyboard support.
1.91 tb 410: <li><a href="https://man.openbsd.org/read.2">read(2)</a> on
1.17 jca 411: directories now fails instead of returning 0.
412: <li>Support for the <tt>RES_USE_EDNS0</tt> and <tt>RES_USE_DNSSEC</tt>
413: flags has been added to the
1.91 tb 414: <a href="https://man.openbsd.org/resolver.3">resolver(3)</a>
1.17 jca 415: implementation.
1.91 tb 416: <li><a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>
1.76 tb 417: limits the socket buffer for TCP and TLS connections to 64K
1.18 bluhm 418: to avoid wasting kernel memory.
1.91 tb 419: <li><a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>
1.18 bluhm 420: supports the option -Z to print the timestamp in RFC 5424
421: ISO format.
422: This logs everything in UTC including the year, timezone
423: and fractions of seconds.
424: The default is still RFC 3164 BSD syslog time format.
1.72 bluhm 425: <li>When log files are rotated,
1.91 tb 426: <a href="https://man.openbsd.org/newsyslog.8">newsyslog(8)</a>
1.72 bluhm 427: writes the creation time in UTC ISO format into the first line.
1.18 bluhm 428: <li>The
1.91 tb 429: <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>
1.18 bluhm 430: options -a, -T, and -U can be given more than once to specify
431: multiple input sources.
432: <li>Improve the
1.91 tb 433: <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>
1.18 bluhm 434: output and diagnostics in case the klog buffer
435: overflows.
436: <li>Make SIGHUP handling in
1.91 tb 437: <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>
1.18 bluhm 438: more reliable.
1.91 tb 439: <li>Let <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>
1.72 bluhm 440: tolerate most errors on startup.
441: Keep running and receive messages from all working subsystems,
442: but do not die.
1.91 tb 443: <li>The <a href="https://man.openbsd.org/syslog.3">syslog(3)</a>
1.72 bluhm 444: priority of fatal and warning messages of various daemons
445: has been adjusted.
1.18 bluhm 446: <li>An NMI sends the amd64 kernel into
1.91 tb 447: <a href="https://man.openbsd.org/ddb.4">ddb(4)</a>
1.18 bluhm 448: more reliably.
1.91 tb 449: <li><a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a> now
1.32 guenther 450: supports the DT_PREINITARRAY, DT_INITARRAY, DT_FINIARRAY, DT_FLAGS,
451: and DT_RUNPATH dynamic tags.
1.91 tb 452: <li><a href="https://man.openbsd.org/kdump.1">kdump(1)</a>
1.44 sthen 453: now dumps the fds returned by
1.91 tb 454: <a href="https://man.openbsd.org/pipe.2">pipe(2)</a> and
455: <a href="https://man.openbsd.org/socketpair.2">socketpair(2)</a>.
456: <li>Added support to <a href="https://man.openbsd.org/doas.1">doas(1)</a>
1.33 guenther 457: for session-locked persistent authentication.
1.34 guenther 458: <li>Use a hardware register for the thread pointer on arm for improved
459: performance in multi-threaded processes.
1.43 visa 460: <li>SGI boot blocks now consult the OpenBSD
1.91 tb 461: <a href="https://man.openbsd.org/disklabel.5">disklabel(5)</a>
1.43 visa 462: to locate the root filesystem.
463: This reduces constraints on disk partitioning.
1.91 tb 464: <li><a href="https://man.openbsd.org/iec.4">iec(4)</a>
1.43 visa 465: no longer hangs when its transmit ring gets full.
1.91 tb 466: <li><a href="https://man.openbsd.org/sq.4">sq(4)</a>
1.43 visa 467: has been fixed to accept broadcast frames in non-promiscuous mode
468: when no IP address is configured.
469: This lets the interface work with DHCP.
470: <li>Multiprocessor-safe PCI interrupt handlers are run
471: without the kernel lock on OpenBSD/sgi.
1.91 tb 472: <li><a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> now unconditionally
1.50 krw 473: sets the size of the protective MBR's EFI GPT partition to UINT32_MAX.
1.91 tb 474: <li><a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> now respects the
1.50 krw 475: current MBR or GPT format when initializing a disk.
1.91 tb 476: <li><a href="https://man.openbsd.org/softraid.4">softraid(4)</a> now uses
1.50 krw 477: sufficient parallel i/o's to efficiently rebuild RAID5 volumes.
1.91 tb 478: <li><a href="https://man.openbsd.org/asr_run.3">asr</a> now accepts UDP
1.50 krw 479: packets of up to 4096 bytes to account for broken DNS servers.
1.91 tb 480: <li><a href="https://man.openbsd.org/umass.4">umass(4)</a> no longer assumes
1.50 krw 481: that ATAPI or UFI devices have only 1 LUN.
1.91 tb 482: <li><a href="https://man.openbsd.org/scsi.4">scsi(4)</a> now correctly
1.50 krw 483: detects end of tape on LTO5 devices.
1.91 tb 484: <li><a href="https://man.openbsd.org/httpd.8">httpd(8)</a> supports
1.63 beck 485: SNI
1.91 tb 486: via <a href="https://man.openbsd.org/tls_config_add_keypair_ocsp_mem.3">libtls</a>
1.63 beck 487: to allow for multiple https sites on a single IP address.
1.91 tb 488: <li><a href="https://man.openbsd.org/ocspcheck.8">ocspcheck(8)</a>
1.63 beck 489: has been added, and can be used to check the OCSP status of
1.64 beck 490: certificates. The corresponding responses can be saved for later use in OCSP stapling.
1.91 tb 491: <li><a href="https://man.openbsd.org/httpd.8">httpd(8)</a> supports
1.63 beck 492: OCSP stapling
1.91 tb 493: via <a href="https://man.openbsd.org/tls_config_add_keypair_ocsp_mem.3">libtls</a>
1.63 beck 494: to permit OCSP responses to be stapled to the tls handshake
1.91 tb 495: <li><a href="https://man.openbsd.org/nc.1">nc(1)</a> now also
1.63 beck 496: supports OCSP stapling server side, and will show the stapling information
1.80 deraadt 497: client side.
1.91 tb 498: <li>Both <a href="https://man.openbsd.org/relayd.8">relayd(8)</a> and
499: <a href="https://man.openbsd.org/httpd.8">httpd(8)</a> support now
1.68 claudio 500: TLS session resumption using TLS session tickets.
501: See the respective configuration man page for more information.
1.72 bluhm 502: <li>With the -f option
1.91 tb 503: <a href="https://man.openbsd.org/sensorsd.8">sensorsd(8)</a>
1.72 bluhm 504: can use an alternative config file.
1.1 deraadt 505: </ul>
506: <p>
507:
508: <li>OpenSMTPD 6.0.0
509: <ul>
1.78 gilles 510: <li>Added support for providing an alternate subaddressing delimiter
511: <li>Made the daemon less verbose in logs when exiting
512: <li>Improved the io layer to simplify code accross the daemon
513: <li>Added support for matching authenticated sessions in the ruleset
514: <li>Assorted code and documentation cleanups
1.1 deraadt 515: </ul>
516: <p>
517:
1.12 matthieu 518: <li>OpenSSH 7.4
1.1 deraadt 519: <ul>
1.79 deraadt 520: <li>Security:
521: <ul>
522: <li>ssh-agent(1): Will now refuse to load PKCS#11 modules from paths
523: outside a trusted whitelist (run-time configurable). Requests to
524: load modules could be passed via agent forwarding and an attacker
525: could attempt to load a hostile PKCS#11 module across the forwarded
526: agent channel: PKCS#11 modules are shared libraries, so this would
527: result in code execution on the system running the ssh-agent if the
528: attacker has control of the forwarded agent-socket (on the host
529: running the sshd server) and the ability to write to the filesystem
530: of the host running ssh-agent (usually the host running the ssh
531: client).
532: <li>sshd(8): When privilege separation is disabled, forwarded Unix-
533: domain sockets would be created by sshd(8) with the privileges of
534: 'root' instead of the authenticated user. This release refuses
535: Unix-domain socket forwarding when privilege separation is disabled
536: (Privilege separation has been enabled by default for 14 years).
537: <li>sshd(8): Avoid theoretical leak of host private key material to
538: privilege-separated child processes via realloc() when reading
539: keys. No such leak was observed in practice for normal-sized keys,
540: nor does a leak to the child processes directly expose key material
541: to unprivileged users.
542: <li>sshd(8): The shared memory manager used by pre-authentication
543: compression support had a bounds checks that could be elided by
544: some optimising compilers. Additionally, this memory manager was
545: incorrectly accessible when pre-authentication compression was
546: disabled. This could potentially allow attacks against the
547: privileged monitor process from the sandboxed privilege-separation
548: process (a compromise of the latter would be required first).
549: This release removes support for pre-authentication compression
550: from sshd(8).
551: <li>sshd(8): Fix denial-of-service condition where an attacker who
552: sends multiple KEXINIT messages may consume up to 128MB per
553: connection.
554: <li>sshd(8): Validate address ranges for AllowUser and DenyUsers
555: directives at configuration load time and refuse to accept invalid
556: ones. It was previously possible to specify invalid CIDR address
557: ranges (e.g. user@127.1.2.3/55) and these would always match,
558: possibly resulting in granting access where it was not intended.
559: <li>ssh(1), sshd(8): Fix weakness in CBC padding oracle countermeasures
560: that allowed a variant of the attack fixed in OpenSSH 7.3 to proceed.
561: </ul>
562: <li>New/changed features:
563: <ul>
564: <li>Server support for the SSH v.1 protocol has been removed.
565: <li>ssh(1): Remove 3des-cbc from the client's default proposal. 64-bit
566: block ciphers are not safe in 2016 and we don't want to wait until
567: attacks like SWEET32 are extended to SSH. As 3des-cbc was the
568: only mandatory cipher in the SSH RFCs, this may cause problems
569: connecting to older devices using the default configuration,
570: but it's highly likely that such devices already need explicit
571: configuration for key exchange and hostkey algorithms already
572: anyway.
573: <li>sshd(8): Remove support for pre-authentication compression.
574: Doing compression early in the protocol probably seemed reasonable
575: in the 1990s, but today it's clearly a bad idea in terms of both
576: cryptography (cf. multiple compression oracle attacks in TLS) and
577: attack surface. Pre-auth compression support has been disabled by
578: default for >10 years. Support remains in the client.
579: <li>ssh-agent will refuse to load PKCS#11 modules outside a whitelist
580: of trusted paths by default. The path whitelist may be specified
581: at run-time.
582: <li>sshd(8): When a forced-command appears in both a certificate and
583: an authorized keys/principals command= restriction, sshd will now
584: refuse to accept the certificate unless they are identical.
585: The previous (documented) behaviour of having the certificate
586: forced-command override the other could be a bit confusing and
587: error-prone.
588: <li>sshd(8): Remove the UseLogin configuration directive and support
589: for having /bin/login manage login sessions.
590: <li>ssh(1): Add a proxy multiplexing mode to ssh(1) inspired by the
591: version in PuTTY by Simon Tatham. This allows a multiplexing
592: client to communicate with the master process using a subset of
593: the SSH packet and channels protocol over a Unix-domain socket,
594: with the main process acting as a proxy that translates channel
595: IDs, etc. This allows multiplexing mode to run on systems that
596: lack file- descriptor passing (used by current multiplexing
597: code) and potentially, in conjunction with Unix-domain socket
598: forwarding, with the client and multiplexing master process on
599: different machines. Multiplexing proxy mode may be invoked using
600: "ssh -O proxy ..."
601: <li>sshd(8): Add a sshd_config DisableForwarding option that disables
602: X11, agent, TCP, tunnel and Unix domain socket forwarding, as well
603: as anything else we might implement in the future. Like the
604: 'restrict' authorized_keys flag, this is intended to be a simple
605: and future-proof way of restricting an account.
606: <li>sshd(8), ssh(1): Support the "curve25519-sha256" key exchange
607: method. This is identical to the currently-supported method named
608: "curve25519-sha256@libssh.org".
609: <li>sshd(8): Improve handling of SIGHUP by checking to see if sshd is
610: already daemonised at startup and skipping the call to daemon(3)
611: if it is. This ensures that a SIGHUP restart of sshd(8) will
612: retain the same process-ID as the initial execution. sshd(8) will
613: also now unlink the PidFile prior to SIGHUP restart and re-create
614: it after a successful restart, rather than leaving a stale file in
615: the case of a configuration error.
616: <li>sshd(8): Allow ClientAliveInterval and ClientAliveCountMax
617: directives to appear in sshd_config Match blocks.
618: <li>sshd(8): Add %-escapes to AuthorizedPrincipalsCommand to match
619: those supported by AuthorizedKeysCommand (key, key type,
620: fingerprint, etc.) and a few more to provide access to the
621: contents of the certificate being offered.
622: <li>Added regression tests for string matching, address matching and
623: string sanitisation functions.
624: <li>Improved the key exchange fuzzer harness.
625: <li>Deprecate the sshd_config UsePrivilegeSeparation
626: option, thereby making privilege separation mandatory. Privilege
627: separation has been on by default for almost 15 years and
628: sandboxing has been on by default for almost the last five.
629: <li>ssh(1), sshd(8): Support "=-" syntax to easily remove methods from
630: algorithm lists, e.g. Ciphers=-*cbc.
631: </ul>
632: <li>The following significant bugs have been fixed in this release:
633: <ul>
634: <li>ssh(1): Allow IdentityFile to successfully load and use
635: certificates that have no corresponding bare public key.
636: certificate id_rsa-cert.pub (and no id_rsa.pub).
637: <li>ssh(1): Fix public key authentication when multiple
638: authentication is in use and publickey is not just the first
639: method attempted.
640: <li>ssh-agent(1), ssh(1): improve reporting when attempting to load
641: keys from PKCS#11 tokens with fewer useless log messages and more
642: detail in debug messages.
643: <li>ssh(1): When tearing down ControlMaster connections, don't
644: pollute stderr when LogLevel=quiet.
645: <li>sftp(1): On ^Z wait for underlying ssh(1) to suspend before
646: suspending sftp(1) to ensure that ssh(1) restores the terminal mode
647: correctly if suspended during a password prompt.
648: <li>ssh(1): Avoid busy-wait when ssh(1) is suspended during a password
649: prompt.
650: <li>ssh(1), sshd(8): Correctly report errors during sending of ext-
651: info messages.
652: <li>sshd(8): fix NULL-deref crash if sshd(8) received an out-of-
653: sequence NEWKEYS message.
654: <li>sshd(8): Correct list of supported signature algorithms sent in
655: the server-sig-algs extension.
656: <li>sshd(8): Fix sending ext_info message if privsep is disabled.
657: <li>sshd(8): more strictly enforce the expected ordering of privilege
658: separation monitor calls used for authentication and allow them
659: only when their respective authentication methods are enabled
660: in the configuration
661: <li>sshd(8): Fix uninitialised optlen in getsockopt() call; harmless
662: on Unix/BSD but potentially crashy on Cygwin.
663: <li>Fix false positive reports caused by explicit_bzero(3) not being
664: recognised as a memory initialiser when compiled with
665: -fsanitize-memory.
666: <li>sshd_config(5): Use 2001:db8::/32, the official IPv6 subnet for
667: configuration examples.
668: <li>sshd(1): Fix NULL dereference crash when key exchange start
669: messages are sent out of sequence.
670: <li>ssh(1), sshd(8): Allow form-feed characters to appear in
671: configuration files.
672: <li>sshd(8): Fix regression in OpenSSH 7.4 support for the
673: server-sig-algs extension, where SHA2 RSA signature methods were
674: not being correctly advertised.
675: <li>ssh(1), ssh-keygen(1): Fix a number of case-sensitivity bugs in
676: known_hosts processing.
677: <li>ssh(1): Allow ssh to use certificates accompanied by a private key
678: file but no corresponding plain *.pub public key.
679: <li>ssh(1): When updating hostkeys using the UpdateHostKeys option,
680: accept RSA keys if HostkeyAlgorithms contains any RSA keytype.
681: Previously, ssh could ignore RSA keys when only the ssh-rsa-sha2-*
682: methods were enabled in HostkeyAlgorithms and not the old ssh-rsa
683: method.
684: <li>ssh(1): Detect and report excessively long configuration file
685: lines.
686: <li>Merge a number of fixes found by Coverity and reported via Redhat
687: and FreeBSD. Includes fixes for some memory and file descriptor
688: leaks in error paths.
689: <li>ssh-keyscan(1): Correctly hash hosts with a port number.
690: <li>ssh(1), sshd(8): When logging long messages to stderr, don't truncate
691: "\r\n" if the length of the message exceeds the buffer.
692: <li>ssh(1): Fully quote [host]:port in generated ProxyJump/-J command-
693: line; avoid confusion over IPv6 addresses and shells that treat
694: square bracket characters specially.
695: <li>ssh-keygen(1): Fix corruption of known_hosts when running
696: "ssh-keygen -H" on a known_hosts containing already-hashed entries.
697: <li>Fix various fallout and sharp edges caused by removing SSH protocol
698: 1 support from the server, including the server banner string being
699: incorrectly terminated with only \n (instead of \r\n), confusing
700: error messages from ssh-keyscan a segfault in sshd
701: if protocol v.1 was enabled for the client and sshd_config
702: contained references to legacy keys.
703: <li>ssh(1), sshd(8): Free fd_set on connection timeout.
704: <li>sshd(8): Fix Unix domain socket forwarding for root (regression in
705: OpenSSH 7.4).
706: <li>sftp(1): Fix division by zero crash in "df" output when server
707: returns zero total filesystem blocks/inodes.
708: <li>ssh(1), ssh-add(1), ssh-keygen(1), sshd(8): Translate OpenSSL errors
709: encountered during key loading to more meaningful error codes.
710: <li>ssh-keygen(1): Sanitise escape sequences in key comments sent to
711: printf but preserve valid UTF-8 when the locale supports it.
712: <li>ssh(1), sshd(8): Return reason for port forwarding failures where
713: feasible rather than always "administratively prohibited".
714: <li>sshd(8): Fix deadlock when AuthorizedKeysCommand or
715: AuthorizedPrincipalsCommand produces a lot of output and a key is
716: matched early.
717: <li>ssh(1): Fix typo in ~C error message for bad port forward
718: cancellation.
719: <li>ssh(1): Show a useful error message when included config files
720: can't be opened.
721: <li>sshd(8): Make sshd set GSSAPIStrictAcceptorCheck=yes as the manual page
722: (previously incorrectly) advertised.
723: <li>sshd_config(5): Repair accidentally-deleted mention of %k token
724: in AuthorizedKeysCommand.
725: <li>sshd(8): Remove vestiges of previously removed LOGIN_PROGRAM;
726: <li>ssh-agent(1): Relax PKCS#11 whitelist to include libexec and
727: common 32-bit compatibility library directories.
728: <li>sftp-client(1): Fix non-exploitable integer overflow in SSH2_FXP_NAME
729: response handling.
730: <li>ssh-agent(1): Fix regression in 7.4 of deleting PKCS#11-hosted
731: keys. It was not possible to delete them except by specifying
732: their full physical path.
733: </ul>
1.1 deraadt 734: </ul>
735: <p>
736:
1.61 beck 737: <li>LibreSSL 2.5.3
1.80 deraadt 738: <ul>
739: <li>libtls now supports ALPN and SNI
740: <li>libtls adds a new callback interface for integrating custom IO
741: functions. Thanks to Tobias Pape.
742: <li>libtls now handles 4 cipher suite groups:
743: <ul>
744: <li>"secure" (TLSv1.2+AEAD+PFS)
745: <li>"compat" (HIGH:!aNULL)
746: <li>"legacy" (HIGH:MEDIUM:!aNULL)
747: <li>"insecure" (ALL:!aNULL:!eNULL)
748: </ul>
749: This allows for flexibility and finer grained control, rather than
750: having two extremes (an issue raised by Marko Kreen some time ago).
751: <li>Tightened error handling for tls_config_set_ciphers().
752: <li>libtls now always loads CA, key and certificate files at the time the
753: configuration function is called. This simplifies code and results in
754: a single memory based code path being used to provide data to libssl.
1.84 jsing 755: <li>Added support for OCSP intermediate certificates.
756: <li>Added X509_check_host(), X509_check_email(), X509_check_ip(), and
757: X509_check_ip_asc() functions, via BoringSSL.
1.80 deraadt 758: <li>Added initial support for iOS, thanks to Jacob Berkman.
759: <li>Improved behavior of arc4random on Windows when using memory leak
760: analysis software.
761: <li>Correctly handle an EOF that occurs prior to the TLS handshake
762: completing. Reported by Vasily Kolobkov, based on a diff from Marko
763: Kreen.
1.84 jsing 764: <li>Limit the support of the "backward compatible" SSLv2 handshake to
1.80 deraadt 765: only be used if TLS 1.0 is enabled.
766: <li>Fix incorrect results in certain cases on 64-bit systems when
767: BN_mod_word() can return incorrect results. BN_mod_word() now can
768: return an error condition. Thanks to Brian Smith.
1.84 jsing 769: <li>Added constant-time updates to address CVE-2016-0702.
770: <li>Fixed undefined behavior in BN_GF2m_mod_arr().
771: <li>Removed unused Cryptographic Message Support (CMS).
772: <li>More conversions of long long idioms to time_t.
1.80 deraadt 773: <li>Improved compatibility by avoiding printing NULL strings with
774: printf.
775: <li>Reverted change that cleans up the EVP cipher context in
1.84 jsing 776: EVP_EncryptFinal() and EVP_DecryptFinal(). Some software relies on the
777: previous behaviour.
1.80 deraadt 778: <li>Avoid unbounded memory growth in libssl, which can be triggered
779: by a TLS client repeatedly renegotiating and sending OCSP Status
780: Request TLS extensions.
781: <li>Avoid falling back to a weak digest for (EC)DH when using SNI
782: with libssl.
783: <li>X509_cmp_time() now passes a malformed GeneralizedTime field as
784: an error. Reported by Theofilos Petsios.
785: <li>Check for and handle failure of HMAC_{Update,Final} or
786: EVP_DecryptUpdate().
787: <li>Massive update and normalization of manpages, conversion to
788: mandoc format. Many pages were rewritten for clarity and accuracy.
789: Portable doc links are up-to-date with a new conversion tool.
1.82 jsing 790: <li>Curve25519 and TLS X25519 Key Exchange support.
1.80 deraadt 791: <li>Support for alternate chains for certificate verification.
792: <li>Code cleanups, CBB conversions, further unification of DTLS/SSL
793: handshake code, further ASN1 macro expansion and removal.
794: <li>Private symbols are now hidden in libssl and libcrypto.
795: <li>Friendly certificate verification error messages in libtls, peer
796: verification is now always enabled.
797: <li>Added OCSP stapling support to libtls and nc.
798: <li>Added ocspcheck utility to validate a certificate against its OCSP
799: responder and save the reply for stapling
800: <li>Enhanced regression tests and error handling for libtls.
801: <li>Added explicit constant and non-constant time BN functions,
802: defaulting to constant time wherever possible.
803: <li>Moved many leaked implementation details in public structs behind
804: opaque pointers.
805: <li>Added ticket support to libtls.
806: <li>Added support for setting the supported EC curves via
807: SSL{_CTX}_set1_groups{_list}() - also provide defines for the
808: previous SSL{_CTX}_set1_curves{_list} names. This also changes
809: the default list of curves to be X25519, P-256 and P-384. All
810: other curves must be manually enabled.
811: <li>Added -groups option to openssl(1) s_client for specifying the
812: curves to be used in a colon-separated list.
813: <li>Merged client/server version negotiation code paths into one,
814: reducing much duplicate code.
815: <li>Removed error function codes from libssl and libcrypto.
816: <li>Fixed an issue where a truncated packet could crash via an OOB
817: read.
818: <li>Added SSL_OP_NO_CLIENT_RENEGOTIATION option that disallows
819: client-initiated renegotiation. This is the default for libtls
820: servers.
821: <li>Avoid a side-channel cache-timing attack that can leak the ECDSA
822: private keys when signing. This is due to BN_mod_inverse() being
823: used without the constant time flag being set. Reported by Cesar
824: Pereida Garcia and Billy Brumley (Tampere University of
825: Technology). The fix was developed by Cesar Pereida Garcia.
826: <li>iOS and MacOS compatibility updates from Simone Basso and Jacob
827: Berkman.
828: <li>Added the recallocarray(3) memory allocation function, and
829: converted various places in the library to use it, such as CBB
830: and BUF_MEM_grow. recallocarray(3) is similar to
831: reallocarray. Newly allocated memory is cleared similar to
832: calloc(3). Memory that becomes unallocated while shrinking or
833: moving existing allocations is explicitly discarded by unmapping
834: or clearing to 0.
835: <li>Added new root CAs from SECOM Trust Systems / Security
836: Communication of Japan.
837: <li>Added EVP interface for MD5+SHA1 hashes.
838: <li>Improved nc(1) TLS handshake CPU usage and server-side error
839: reporting.
1.84 jsing 840: <li>Added a constant time version of BN_gcd and use it default for
1.80 deraadt 841: BN_gcd to avoid the possibility of sidechannel timing attacks
842: against RSA private key generation - Thanks to Alejandro
843: Cabrera <aldaya@gmail.com>
844: </ul>
1.1 deraadt 845: <p>
846:
1.13 schwarze 847: <li>mandoc 1.14.1
848: <ul>
1.91 tb 849: <li>New <a href="https://man.openbsd.org/mandoc.db.5">mandoc.db(5)</a>
850: file format: <a href="https://man.openbsd.org/man.1">man(1)</a>,
851: <a href="https://man.openbsd.org/apropos.1">apropos(1)</a>, and
852: <a href="https://man.openbsd.org/makewhatis.8">makewhatis(8)</a>
1.80 deraadt 853: no longer need SQLite3.
1.13 schwarze 854: <li>Much improved HTML output and CSS.
1.91 tb 855: <li>In <a href="https://man.openbsd.org/man.1">man(1)</a>, internal
856: searching with <a href="https://man.openbsd.org/less.1">less(1)</a>
1.80 deraadt 857: <code>:t</code> has been improved.
1.91 tb 858: <li>New <a href="https://man.openbsd.org/mandoc.1">mandoc(1)</a>
1.80 deraadt 859: <code>-mdoc -T markdown</code> output mode
860: (already a post-1.14.1 feature).
1.13 schwarze 861: </ul>
862: <p>
863:
1.1 deraadt 864: <li>Ports and packages:
865: <dl>
866: <dt>Many pre-built packages for each architecture:
867: </dl>
868: <!-- number of FTP packages minus SHA256, SHA256.sig, index.txt -->
869: <table border=0 cellspacing=0 cellpadding=2 width="95%">
870: <tr>
871: <td valign="top" width="25%">
872: <ul>
1.77 deraadt 873: <li>alpha: 7413
874: <li>amd64: 9714
1.87 deraadt 875: <li>arm: 7501
1.1 deraadt 876: </ul></td><td valign=top width="25%"><ul>
1.87 deraadt 877: <li>hppa: 6422
1.77 deraadt 878: <li>i386: 9697
879: <li>mips64: 8072
1.1 deraadt 880: </ul></td><td valign=top width="25%"><ul>
1.77 deraadt 881: <li>mips64el: 6880
882: <li>powerpc: 7703
883: <li>sparc64: 8606
1.1 deraadt 884: </ul></td></tr></table>
885: <p>
886:
887: <dl>
888: <dt>Some highlights:
889: </dl>
890: <table border=0 cellspacing=0 cellpadding=2 width="95%">
891: <tr>
892: <td valign="top" width="50%"><ul>
1.39 jsg 893: <li>AFL 2.39b
1.55 jsg 894: <li>Chromium 57.0.2987.133
1.26 lteo 895: <li>Emacs 21.4 and 25.1
896: <li>GCC 4.9.4
1.1 deraadt 897: <li>GHC 7.10.3
1.12 matthieu 898: <li>Gimp 2.8.18
1.26 lteo 899: <li>GNOME 3.22.2
1.12 matthieu 900: <li>Go 1.8
1.1 deraadt 901: <li>Groff 1.22.3
1.12 matthieu 902: <li>JDK 7u80 and 8u121
1.1 deraadt 903: <li>KDE 3.5.10 and 4.14.3 (plus KDE4 core updates)
1.39 jsg 904: <li>LLVM/Clang 4.0.0
1.12 matthieu 905: <li>LibreOffice 5.2.4.2
906: <li>Lua 5.1.5, 5.2.4, and 5.3.4
1.40 sthen 907: <li>MariaDB 10.0.30
1.12 matthieu 908: <li>Mono 4.6.2.6
1.55 jsg 909: <li>Mozilla Firefox 52.0.2esr and 52.0.2
1.26 lteo 910: <li>Mozilla Thunderbird 45.8.0
1.1 deraadt 911: </ul></td><td valign=top width="50%"><ul>
1.12 matthieu 912: <li>Mutt 1.8.0
1.57 lteo 913: <li>Node.js 6.10.1
1.26 lteo 914: <li>Ocaml 4.03.0
1.1 deraadt 915: <li>OpenLDAP 2.3.43 and 2.4.44
1.12 matthieu 916: <li>PHP 5.5.38, 5.6.30, and 7.0.16
917: <li>Postfix 3.2.0 and 3.3-20170218
918: <li>PostgreSQL 9.6.2
919: <li>Python 2.7.13, 3.4.5, 3.5.2 and 3.6.0
1.42 tb 920: <li>R 3.3.3
1.57 lteo 921: <li>Ruby 1.8.7.374, 2.1.9, 2.2.6, 2.3.3 and 2.4.1
1.48 danj 922: <li>Rust 1.16.0
1.1 deraadt 923: <li>Sendmail 8.15.2
1.13 schwarze 924: <li>SQLite3 3.17.0
1.12 matthieu 925: <li>Sudo 1.8.19.2
1.1 deraadt 926: <li>Tcl/Tk 8.5.18 and 8.6.4
927: <li>TeX Live 2015
1.12 matthieu 928: <li>Vim 8.0.0388
1.1 deraadt 929: <li>Xfce 4.12
930: </ul></td></tr></table>
931: <p>
932:
933: <li>As usual, steady improvements in manual pages and other documentation.
934: <p>
935:
936: <li>The system includes the following major components from outside suppliers:
937: <ul>
938: <li>Xenocara (based on X.Org 7.7 with xserver 1.18.3 + patches,
1.47 jsg 939: freetype 2.7.1, fontconfig 2.12.1, Mesa 13.0.6, xterm 327,
1.12 matthieu 940: xkeyboard-config 2.20 and more)
1.55 jsg 941: <li>LLVM/Clang 4.0.0 (+ patches)
1.1 deraadt 942: <li>GCC 4.2.1 (+ patches) and 3.3.6 (+ patches)
1.8 florian 943: <li>Perl 5.24.1 (+ patches)
1.6 florian 944: <li>NSD 4.1.15
945: <li>Unbound 1.6.1
1.1 deraadt 946: <li>Ncurses 5.7
947: <li>Binutils 2.17 (+ patches)
948: <li>Gdb 6.3 (+ patches)
949: <li>Awk Aug 10, 2011 version
950: <li>Expat 2.1.1
951: </ul>
952: </ul>
953:
954: <hr>
955:
956: <h3 id="install"><font color="#0000e0">How to install</font></h3>
957:
1.20 tj 958: Please refer to the following files on the mirror site for
1.1 deraadt 959: extensive details on how to install OpenBSD 6.1 on your machine:
960:
961: <ul>
962: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.1/alpha/INSTALL.alpha">
1.20 tj 963: .../OpenBSD/6.1/alpha/INSTALL.alpha</a>
1.1 deraadt 964: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.1/amd64/INSTALL.amd64">
1.20 tj 965: .../OpenBSD/6.1/amd64/INSTALL.amd64</a>
1.54 jsg 966: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.1/arm64/INSTALL.arm64">
1.56 jsg 967: .../OpenBSD/6.1/arm64/INSTALL.arm64</a>
1.1 deraadt 968: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.1/armv7/INSTALL.armv7">
969: .../OpenBSD/6.1/armv7/INSTALL.armv7</a>
970: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.1/hppa/INSTALL.hppa">
971: .../OpenBSD/6.1/hppa/INSTALL.hppa</a>
1.41 tb 972: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.1/i386/INSTALL.i386">
973: .../OpenBSD/6.1/i386/INSTALL.i386</a>
1.1 deraadt 974: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.1/landisk/INSTALL.landisk">
975: .../OpenBSD/6.1/landisk/INSTALL.landisk</a>
976: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.1/loongson/INSTALL.loongson">
977: .../OpenBSD/6.1/loongson/INSTALL.loongson</a>
978: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.1/luna88k/INSTALL.luna88k">
979: .../OpenBSD/6.1/luna88k/INSTALL.luna88k</a>
1.41 tb 980: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.1/macppc/INSTALL.macppc">
981: .../OpenBSD/6.1/macppc/INSTALL.macppc</a>
1.1 deraadt 982: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.1/octeon/INSTALL.octeon">
983: .../OpenBSD/6.1/octeon/INSTALL.octeon</a>
984: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.1/sgi/INSTALL.sgi">
985: .../OpenBSD/6.1/sgi/INSTALL.sgi</a>
1.41 tb 986: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.1/sparc64/INSTALL.sparc64">
987: .../OpenBSD/6.1/sparc64/INSTALL.sparc64</a>
1.1 deraadt 988: </ul>
989:
990: <hr>
991:
992: <p>
993: Quick installer information for people familiar with OpenBSD, and the use of
1.91 tb 994: the "<a href="https://man.openbsd.org/disklabel.8">disklabel</a> -E" command.
1.1 deraadt 995: If you are at all confused when installing OpenBSD, read the relevant
996: INSTALL.* file as listed above!
997:
1.41 tb 998: <h3><font color="#e00000">OpenBSD/alpha:</font></h3>
1.1 deraadt 999:
1000: <ul style="list-style-type: none">
1001: <li>
1.41 tb 1002: Write <i>floppy61.fs</i> or <i>floppyB61.fs</i> (depending on your machine)
1003: to a diskette and enter <i>boot dva0</i>.
1004: Refer to INSTALL.alpha for more details.
1.1 deraadt 1005: <p>
1006: <li>
1.41 tb 1007: Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
1008: will most likely fail.
1.1 deraadt 1009: </ul>
1010:
1011: <h3><font color="#e00000">OpenBSD/amd64:</font></h3>
1012:
1013: <ul style="list-style-type: none">
1014: <li>
1.20 tj 1015: If your machine can boot from CD, you can write <i>install61.iso</i> or
1016: <i>cd61.iso</i> to a CD and boot from it.
1017: You may need to adjust your BIOS options first.
1.1 deraadt 1018: <p>
1019: <li>
1.11 tb 1020: If your machine can boot from USB, you can write <i>install61.fs</i> or
1021: <i>miniroot61.fs</i> to a USB stick and boot from it.
1.1 deraadt 1022: <p>
1023: <li>
1024: If you can't boot from a CD, floppy disk, or USB,
1025: you can install across the network using PXE as described in the included
1026: INSTALL.amd64 document.
1027: <p>
1028: <li>
1029: If you are planning to dual boot OpenBSD with another OS, you will need to
1030: read INSTALL.amd64.
1.54 jsg 1031: </ul>
1032:
1033: <h3><font color="#e00000">OpenBSD/arm64:</font></h3>
1034:
1035: <ul style="list-style-type: none">
1036: <li>
1037: Write <i>miniroot61.fs</i> to a disk and boot from it after connecting
1038: to the serial console. Refer to INSTALL.arm64 for more details.
1039: <p>
1.1 deraadt 1040: </ul>
1041:
1.41 tb 1042: <h3><font color="#e00000">OpenBSD/armv7:</font></h3>
1.1 deraadt 1043:
1044: <ul style="list-style-type: none">
1045: <li>
1.41 tb 1046: Write a system specific miniroot to an SD card and boot from it after connecting
1047: to the serial console. Refer to INSTALL.armv7 for more details.
1.1 deraadt 1048: <p>
1049: </ul>
1050:
1.41 tb 1051: <h3><font color="#e00000">OpenBSD/hppa:</font></h3>
1.1 deraadt 1052:
1053: <ul style="list-style-type: none">
1054: <li>
1.41 tb 1055: Boot over the network by following the instructions in INSTALL.hppa or the
1056: <a href="hppa.html#install">hppa platform page</a>.
1.1 deraadt 1057: </ul>
1058:
1.41 tb 1059: <h3><font color="#e00000">OpenBSD/i386:</font></h3>
1.1 deraadt 1060:
1061: <ul style="list-style-type: none">
1062: <li>
1.41 tb 1063: If your machine can boot from CD, you can write <i>install61.iso</i> or
1064: <i>cd61.iso</i> to a CD and boot from it.
1065: You may need to adjust your BIOS options first.
1.1 deraadt 1066: <p>
1067: <li>
1.41 tb 1068: If your machine can boot from USB, you can write <i>install61.fs</i> or
1069: <i>miniroot61.fs</i> to a USB stick and boot from it.
1070: <p>
1.1 deraadt 1071: <li>
1.41 tb 1072: If you can't boot from a CD, floppy disk, or USB,
1073: you can install across the network using PXE as described in
1074: the included INSTALL.i386 document.
1.1 deraadt 1075: <p>
1076: <li>
1.41 tb 1077: If you are planning on dual booting OpenBSD with another OS, you will need to
1078: read INSTALL.i386.
1.1 deraadt 1079: </ul>
1080:
1081: <h3><font color="#e00000">OpenBSD/landisk:</font></h3>
1082:
1083: <ul style="list-style-type: none">
1084: <li>
1.11 tb 1085: Write <i>miniroot61.fs</i> to the start of the CF
1.1 deraadt 1086: or disk, and boot normally.
1087: </ul>
1088:
1089: <h3><font color="#e00000">OpenBSD/loongson:</font></h3>
1090:
1091: <ul style="list-style-type: none">
1092: <li>
1.11 tb 1093: Write <i>miniroot61.fs</i> to a USB stick and boot bsd.rd from it
1.1 deraadt 1094: or boot bsd.rd via tftp.
1095: Refer to the instructions in INSTALL.loongson for more details.
1096: </ul>
1097:
1098: <h3><font color="#e00000">OpenBSD/luna88k:</font></h3>
1099:
1100: <ul style="list-style-type: none">
1101: <li>
1102: Copy `boot' and `bsd.rd' to a Mach or UniOS partition, and boot the bootloader
1103: from the PROM, and then bsd.rd from the bootloader.
1104: Refer to the instructions in INSTALL.luna88k for more details.
1105: </ul>
1106:
1.41 tb 1107: <h3><font color="#e00000">OpenBSD/macppc:</font></h3>
1108:
1109: <ul style="list-style-type: none">
1110: <li>
1111: Burn the image from a mirror site to a CDROM, and power on your machine
1112: while holding down the <i>C</i> key until the display turns on and
1113: shows <i>OpenBSD/macppc boot</i>.
1114: <p>
1115: <li>
1116: Alternatively, at the Open Firmware prompt, enter <i>boot cd:,ofwboot
1117: /6.1/macppc/bsd.rd</i>
1118: </ul>
1119:
1.1 deraadt 1120: <h3><font color="#e00000">OpenBSD/octeon:</font></h3>
1121:
1122: <ul style="list-style-type: none">
1123: <li>
1124: After connecting a serial port, boot bsd.rd over the network via DHCP/tftp.
1125: Refer to the instructions in INSTALL.octeon for more details.
1126: </ul>
1127:
1128: <h3><font color="#e00000">OpenBSD/sgi:</font></h3>
1129:
1130: <ul style="list-style-type: none">
1131: <li>
1.11 tb 1132: To install, burn cd61.iso on a CD-R, put it in the CD drive of your
1.1 deraadt 1133: machine and select <i>Install System Software</i> from the System Maintenance
1134: menu. Indigo/Indy/Indigo2 (R4000) systems will not boot automatically from
1135: CD-ROM, and need a proper invocation from the PROM prompt.
1136: Refer to the instructions in INSTALL.sgi for more details.
1137:
1138: <p>
1139: <li>
1140: If your machine doesn't have a CD drive, you can setup a DHCP/tftp network
1141: server, and boot using "bootp()/bsd.rd.IP##" using the kernel matching your
1142: system type. Refer to the instructions in INSTALL.sgi for more details.
1.41 tb 1143: </ul>
1144:
1145: <h3><font color="#e00000">OpenBSD/sparc64:</font></h3>
1146:
1147: <ul style="list-style-type: none">
1148: <li>
1149: Burn the image from a mirror site to a CDROM, boot from it, and type
1150: <i>boot cdrom</i>.
1151: <p>
1152: <li>
1153: If this doesn't work, or if you don't have a CDROM drive, you can write
1154: <i>floppy61.fs</i> or <i>floppyB61.fs</i>
1155: (depending on your machine) to a floppy and boot it with <i>boot
1156: floppy</i>. Refer to INSTALL.sparc64 for details.
1157: <p>
1158: <li>
1159: Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
1160: will most likely fail.
1161: <p>
1162: <li>
1163: You can also write <i>miniroot61.fs</i> to the swap partition on
1164: the disk and boot with <i>boot disk:b</i>.
1165: <p>
1166: <li>
1167: If nothing works, you can boot over the network as described in INSTALL.sparc64.
1.1 deraadt 1168: </ul>
1169:
1170: <hr>
1171:
1172: <h3 id="upgrade"><font color="#0000e0">How to upgrade</font></h3>
1173:
1.11 tb 1174: If you already have an OpenBSD 6.0 system, and do not want to reinstall,
1.1 deraadt 1175: upgrade instructions and advice can be found in the
1.11 tb 1176: <a href="faq/upgrade61.html">Upgrade Guide</a>.
1.1 deraadt 1177: <p>
1178:
1179: <hr>
1180:
1181: <h3 id="sourcecode"><font color="#0000e0">Notes about the source code</font></h3>
1182:
1183: <tt>src.tar.gz</tt> contains a source archive starting at <tt>/usr/src</tt>.
1184: This file contains everything you need except for the kernel sources,
1185: which are in a separate archive.
1186: To extract:
1187:
1188: <blockquote><pre>
1189: # <b>mkdir -p /usr/src</b>
1190: # <b>cd /usr/src</b>
1191: # <b>tar xvfz /tmp/src.tar.gz</b>
1192: </pre></blockquote>
1193:
1194: <tt>sys.tar.gz</tt> contains a source archive starting at <tt>/usr/src/sys</tt>.
1195: This file contains all the kernel sources you need to rebuild kernels.
1196: To extract:
1197:
1198: <blockquote><pre>
1199: # <b>mkdir -p /usr/src/sys</b>
1200: # <b>cd /usr/src</b>
1201: # <b>tar xvfz /tmp/sys.tar.gz</b>
1202: </pre></blockquote>
1203:
1204: Both of these trees are a regular CVS checkout. Using these trees it
1205: is possible to get a head-start on using the anoncvs servers as
1206: described <a href="anoncvs.html">here</a>.
1207: Using these files
1208: results in a much faster initial CVS update than you could expect from
1209: a fresh checkout of the full OpenBSD source tree.
1210: <p>
1211:
1212: <hr>
1213:
1214: <h3 id="ports"><font color="#0000e0">Ports Tree</font></h3>
1215:
1216: A ports tree archive is also provided. To extract:
1217:
1218: <blockquote><pre>
1219: # <b>cd /usr</b>
1220: # <b>tar xvfz /tmp/ports.tar.gz</b>
1221: </pre></blockquote>
1222:
1223: Go read the <a href="faq/ports/index.html">ports</a> page
1224: if you know nothing about ports
1225: at this point. This text is not a manual of how to use ports.
1226: Rather, it is a set of notes meant to kickstart the user on the
1227: OpenBSD ports system.
1228: <p>
1229: The <i>ports/</i> directory represents a CVS checkout of our ports.
1230: As with our complete source tree, our ports tree is available via
1231: <a href="anoncvs.html">AnonCVS</a>.
1.92 tj 1232: So, in order to keep up to date with the -stable branch, you must make
1.1 deraadt 1233: the <i>ports/</i> tree available on a read-write medium and update the tree
1234: with a command like:
1235:
1236: <blockquote><pre>
1237: # <b>cd /usr/ports</b>
1238: # <b>cvs -d anoncvs@server.openbsd.org:/cvs update -Pd -rOPENBSD_6_1</b>
1239: </pre></blockquote>
1240:
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 6.1 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: <p>
1251: </body>
1252: </html>