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