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