[BACK]Return to 59.html CVS log [TXT][DIR] Up to [local] / www

File: [local] / www / 59.html (download) (as text)

Revision 1.100, Wed May 6 13:34:47 2020 UTC (4 years ago) by deraadt
Branch: MAIN
CVS Tags: HEAD
Changes since 1.99: +1 -1 lines

be less different from other similar files

<!doctype html>
<html lang=en id=release>
<meta charset=utf-8>

<title>OpenBSD 5.9</title>
<meta name="description" content="OpenBSD 5.9">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="openbsd.css">
<link rel="canonical" href="https://www.openbsd.org/59.html">

<h2 id=OpenBSD>
<a href="index.html">
<i>Open</i><b>BSD</b></a>
5.9
</h2>

<table>
<tr>
<td>
<a href="images/drwxorx.jpg">
<img width="227" height="343" src="images/drwxorx.jpg" alt="Dr W^X"></a>
<td>
Released March 29, 2016<br>
Copyright 1997-2016, Theo de Raadt.<br>
<cite class=isbn>ISBN 978-0-9881561-7-3</cite>
<br>
5.9 Songs: <a href="lyrics.html#59a">"Doctor W^X"</a>,
    <a href="lyrics.html#59b">"Systemagic (Anniversary Edition)"</a>
<br>
<br>
<ul>
<li>See the information on <a href="ftp.html">the FTP page</a> for
    a list of mirror machines.
<li>Go to the <code class=reldir>pub/OpenBSD/5.9/</code> directory on
    one of the mirror sites.
<li>Have a look at <a href="errata59.html">the 5.9 errata page</a> for a list
    of bugs and workarounds.
<li>See a <a href="plus59.html">detailed log of changes</a> between the
    5.8 and 5.9 releases.
<p>
<li><a href="https://man.openbsd.org/signify.1">signify(1)</a>
    pubkeys for this release:

<p>
<table class=signify>
<tr><td>
openbsd-59-base.pub:
<td>
RWQJVNompF3pwfIqbg+5sxfpxmZMa3tTBaW4qbUhWje/H/M7glrA6oVn
<tr><td>
openbsd-59-fw.pub:
<td>
RWSdmaNkytzh6BApmPSNSDLNg26ZaXlY8g/879UvLdo3rjbsby76Eda1
<tr><td>
openbsd-59-pkg.pub:
<td>
RWSLRYDCTJeWLIScncqwGuXK6JVXDcIyRT0q+0m30MXXG4W2xWS4NZBP
</table>
</ul>
<p>
All applicable copyrights and credits are in the src.tar.gz,
sys.tar.gz, xenocara.tar.gz, ports.tar.gz files, or in the
files fetched via <code>ports.tar.gz</code>.
</table>

<hr>

<section id=new>
<h3>What's New</h3>
<p>
This is a partial list of new features and systems included in OpenBSD 5.9.
For a comprehensive list, see the <a href="plus59.html">changelog</a> leading
to 5.9.

<ul>
<li>Processor support, including:
    <ul>
    <li>W^X policy enforced in the i386 kernel address space.
    </ul>
<li>Improved hardware support, including:
    <ul>
    <li>New <a href="https://man.openbsd.org/asmc">asmc(4)</a>
        driver for the Apple System Management Controller.
    <li>New <a href="https://man.openbsd.org/pchtemp">pchtemp(4)</a>
        driver for the thermal sensor found on Intel X99, C610 series, 9 series
        and 100 series PCH.
    <li>New <a href="https://man.openbsd.org/uonerng">uonerng(4)</a>
        driver for the Moonbase Otago OneRNG.
    <li>New <a href="https://man.openbsd.org/dwiic">dwiic(4)</a>
        driver for the Synopsys DesignWare I2C controller.
    <li>New <a href="https://man.openbsd.org/ikbd">ikbd(4)</a>,
        <a href="https://man.openbsd.org/ims">ims(4)</a>, and
        <a href="https://man.openbsd.org/imt">imt(4)</a>
        drivers for HID-over-i2c keyboards, mice and multitouch touchpads.
    <li>New <a href="https://man.openbsd.org/efifb">efifb(4)</a>
        driver for EFI frame buffer.
    <li>New <a href="https://man.openbsd.org/viocon">viocon(4)</a>
        driver for the
        <a href="https://man.openbsd.org/virtio">virtio(4)</a>
	console interface provided by KVM, QEMU, and others.
    <li>New <a href="https://man.openbsd.org/xen">xen(4)</a>
        driver implementing Xen domU initialization and PVHVM device attachment.
    <li>New <a href="https://man.openbsd.org/xspd">xspd(4)</a>
        driver for the XenSource Platform Device providing guests with
        additional capabilities.
    <li>New <a href="https://man.openbsd.org/xnf">xnf(4)</a>
        driver for Xen paravirtualized networking interface.
    <li>amd64 can now boot from 32 bit and 64 bit EFI.
    <li>Initial support for hardware reduced ACPI added to
        <a href="https://man.openbsd.org/acpi">acpi(4)</a>.
    <li>Support for ACPI configured SD host controllers has been added to
        <a href="https://man.openbsd.org/sdhc">sdhc(4)</a>.
    <li>The <a href="https://man.openbsd.org/puc">puc(4)</a>
        driver now supports Moxa CP-168U, Perle Speed8 LE and QEMU PCI serial
        devices.
    <li>Intel 100 Series PCH Ethernet MAC with i219 PHY support has been added
        to the
        <a href="https://man.openbsd.org/em">em(4)</a> driver.
    <li>RTL8168H/RTL8111H support has been added to
        <a href="https://man.openbsd.org/re&amp;sec=4">re(4)</a>.
    <li><a href="https://man.openbsd.org/inteldrm">inteldrm(4)</a>
        has been updated to Linux 3.14.52, adding initial support for Bay Trail
        and Broadwell graphics.
    <li>Support for audio in Thinkpad docks has been added to the
        <a href="https://man.openbsd.org/azalia">azalia(4)</a>
        driver.
    <li>Support for Synaptic touchpads without W mode has been added to the
        <a href="https://man.openbsd.org/pms">pms(4)</a>
        driver.
    <li>Support for tap-and-drag detection with ALPS touchpads in the
        <a href="https://man.openbsd.org/pms">pms(4)</a>
        driver has been improved.
    <li>The <a href="https://man.openbsd.org/sdmmc">sdmmc(4)</a>
        driver now supports sector mode for eMMC devices, such as those found on
        some BeagleBone Black boards.
    <li>The <a href="https://man.openbsd.org/cnmac">cnmac(4)</a>
        driver now supports checksum offloading.
    <li>The <a href="https://man.openbsd.org/ipmi">ipmi(4)</a>
        driver now supports OpenIPMI compatible character device.
    <li>Support for ST-506 disks has been removed.
    </ul>

<li><a href="https://man.openbsd.org/pledge">pledge(2)</a>
    support integrated:
    <ul>
    <li>The tame(2) system call was renamed to pledge(2).
        Behavior and semantics were extended and refined.
    <li>453 out of 707 base system binaries were adapted to use pledge.
    <li>14 ports now use pledge(2): some decompression tools, mutt,
        some pdf tools, chromium/iridium, and the i3 window manager.
    <li>Various bugs exposed by pledge(2) were corrected.
        For example in <a href="https://cvsweb.openbsd.org/src/usr.sbin/bgpd/bgpd.c?rev=1.181&amp;content-type=text/x-cvsweb-markup">
        bgpd(8)</a>, <a href="https://cvsweb.openbsd.org/src/sbin/iked/config.c?rev=1.40&amp;content-type=text/x-cvsweb-markup">
        iked(8)</a>, <a href="https://cvsweb.openbsd.org/src/usr.sbin/ldapd/control.c?rev=1.13&amp;content-type=text/x-cvsweb-markup">
        ldapd(8)</a>, <a href="https://cvsweb.openbsd.org/src/usr.sbin/ntpd/constraint.c?rev=1.25&amp;content-type=text/x-cvsweb-markup">
        ntpd(8)</a>, and <a href="https://cvsweb.openbsd.org/src/usr.sbin/syslogd/syslogd.c?rev=1.200&amp;content-type=text/x-cvsweb-markup">
        syslogd(8)</a>.
    <li>Several misfeatures were removed, such as:
        <ul>
        <li><a href="https://cvsweb.openbsd.org/src/lib/libc/asr/asr.c?rev=1.50&amp;content-type=text/x-cvsweb-markup">
            support for HOSTALIASES</a> in the
            <a href="https://man.openbsd.org/asr_run">
            resolver</a>.
        <li><a href="https://cvsweb.openbsd.org/src/lib/libc/asr/asr.c?rev=1.49&amp;content-type=text/x-cvsweb-markup">
            support for <code>lookup yp</code></a>
            in
            <a href="https://man.openbsd.org/resolv.conf">
            resolv.conf(5)</a>.
        <li><a href="https://cvsweb.openbsd.org/src/gnu/usr.bin/binutils-2.17/binutils/rename.c?rev=1.2&amp;content-type=text/x-cvsweb-markup">
            setuid-preserving code</a>
            in tools from binutils.
        <li>handling of
            <a href="https://cvsweb.openbsd.org/src/usr.bin/patch/ed.c?rev=1.1&amp;content-type=text/x-cvsweb-markup">
            ed-style diffs</a> via proc/exec in
            <a href="https://man.openbsd.org/patch">
            patch(1)</a>.
        </ul>
    <li>Userland programs were audited so that they could be properly annotated
        with pledge(2).
        This resulted in design changes such as:
        <ul>
        <li>
            addition of
            <a href="https://cvsweb.openbsd.org/src/usr.sbin/rdate/rdate.c?rev=1.33&amp;content-type=text/x-cvsweb-markup">
            privilege separation</a> to
            <a href="https://man.openbsd.org/rdate">
            rdate(8)</a>
        <li>
            addition of
            <a href="https://cvsweb.openbsd.org/src/usr.bin/sndiod/sndiod.c?rev=1.18&amp;content-type=text/x-cvsweb-markup">
            privilege separation</a> to
            <a href="https://man.openbsd.org/sndiod">
            sndiod(8)</a>
        <li>the introduction of the <code>SOCK_DNS</code>
            <a href="https://man.openbsd.org/socket">
            socket(2)</a> flag that makes an <code>SS_DNS</code> tagged socket
            conceptually different from a plain socket.
        </ul>
    <li>pledge(2) is also used to constrain programs that handle untrusted data
        to a very limited subset of POSIX.
        For example,
        <a href="https://man.openbsd.org/strings">
        strings(1)</a> or
        <a href="https://man.openbsd.org/objdump">
        objdump(1)</a> from <a href="https://cvsweb.openbsd.org/src/gnu/usr.bin/binutils-2.17/binutils/objdump.c?rev=1.2&amp;content-type=text/x-cvsweb-markup">
        binutils</a> or the <a href="https://cvsweb.openbsd.org/src/usr.sbin/smtpd/ca.c?rev=1.15&amp;content-type=text/x-cvsweb-markup">
        RSA-privsep process</a> in
        <a href="https://man.openbsd.org/smtpd">
        smtpd(8)</a>.
    </ul>

<li>SMP network stack improvements:
    <ul>
    <li>The task processing incoming packets can now run mostly in parallel
        of the rest of the kernel. This includes:
        <ul>
        <li><a href="https://man.openbsd.org/carp">carp(4)</a>,
        <a href="https://man.openbsd.org/trunk">trunk(4)</a>,
        <a href="https://man.openbsd.org/vlan">vlan(4)</a>
        and other pseudo-drivers, with the exception of
        <a href="https://man.openbsd.org/bridge">bridge(4)</a>.
        <li>Ethernet decapsulation, ARP processing and MPLS forwarding path.
        <li><a href="https://man.openbsd.org/bpf">bpf(4)</a>
        filter matching.
        </ul>
    <li>The Rx and Tx rings of the
        <a href="https://man.openbsd.org/ix">ix(4)</a>,
        <a href="https://man.openbsd.org/myx">myx(4)</a>,
        <a href="https://man.openbsd.org/em">em(4)</a>,
        <a href="https://man.openbsd.org/bge">bge(4)</a>,
        <a href="https://man.openbsd.org/bnx">bnx(4)</a>,
        <a href="https://man.openbsd.org/vmx">vmx(4)</a>,
        <a href="https://man.openbsd.org/gem">gem(4)</a>,
        <a href="https://man.openbsd.org/re">re(4)</a> and
        <a href="https://man.openbsd.org/cas">cas(4)</a>
        drivers can now be processed in parallel of the rest of the kernel.
    <li>The Rx ring of the
        <a href="https://man.openbsd.org/cnmac">cnmac(4)</a>
        driver can now be processed in parallel of the rest of the kernel.
    </ul>

<li>Initial IEEE 802.11n wireless support:
    <ul>
    <li>The <a href="https://man.openbsd.org/ieee80211">ieee80211(9)</a>
        subsystem now supports HT data rates up to 65 Mbit/s (802.11n MCS 0-7).
    <li>The input path of
        <a href="https://man.openbsd.org/ieee80211">ieee80211(9)</a>
        now supports receiving A-MPDU and A-MSDU aggregated frames.
    <li>The <a href="https://man.openbsd.org/iwm">iwm(4)</a>
        and <a href="https://man.openbsd.org/iwn">iwn(4)</a>
        drivers make use of the above features.
    <li>802.11n mode is used by default if supported by the OpenBSD wireless
        driver and the access point.
        Operation in 802.11a, 802.11b, and 802.11g modes can be forced with
        the new <a href="https://man.openbsd.org/ifconfig">ifconfig(8)</a>
        <code>mode</code> subcommand.
    </ul>

<li>Generic network stack improvements:
    <ul>
    <li>New <a href="https://man.openbsd.org/etherip">etherip(4)</a>
        pseudo-device for tunneling Ethernet frames across IP[46] networks
        using RFC 3378 EtherIP encapsulation.
    <li>New <a href="https://man.openbsd.org/pair">pair(4)</a>
        pseudo-device for creating paired virtual Ethernet interfaces.
    <li>New <a href="https://man.openbsd.org/tap">tap(4)</a>
        pseudo-device, split up from
        <a href="https://man.openbsd.org/tun">tun(4)</a>,
        providing a layer 3 interface with userland tools.
    <li>Support for obsolete IPv6 socket options has been removed.
    <li>The <a href="https://man.openbsd.org/iwn">iwn(4)</a>
        driver now passes IEEE 802.11 control frames in monitor mode, allowing
        full capture of traffic on a particular wireless channel.
    <li><a href="https://man.openbsd.org/pflow">pflow(4)</a>
        now supports IPv6 for transport.
    </ul>

<li>Installer improvements:
    <ul>
    <li>Inappropriate user choices from a list of options are more reliably rejected.
    <li>Installing to a disk partitioned with a GPT is now supported (amd64 only).
    <li>When initializing a GPT, the required EFI System partition is automatically created.
    <li>When installing to a GPT disk,
        <a href="https://man.openbsd.org/installboot">
        installboot(8)</a>
        now formats the EFI System partition, creates the appropriate directory
        structure and copies the required UEFI boot files into place.
    </ul>

<li>Routing daemons and other userland network improvements:
    <ul>
    <li>New <a href="https://man.openbsd.org/eigrpd">eigrpd(8)</a>
        routing daemon for the Enhanced Interior Gateway Routing Protocol.
    <li><a href="https://man.openbsd.org/dhclient">dhclient(8)</a>
        now supports multiple domain names provided via DHCP option 15 (Domain Name).
    <li><a href="https://man.openbsd.org/dhclient">dhclient(8)</a>
        now supports search domains provided via DHCP option 119 (Domain Search).
    <li><a href="https://man.openbsd.org/dhclient">dhclient(8)</a>
        no longer continually checks for a change to the routing domain of the
        interface it controls. It now relies on the appropriate routing socket
        messages.
    <li><a href="https://man.openbsd.org/dhclient">dhclient(8)</a>
        now issues DHCP DECLINE responses to lease offers found to be inadequate,
        and restarts the DISCOVER/RENEW process rather than waiting indefinitely
        for a better lease to appear.
    <li><a href="https://man.openbsd.org/dhclient">dhclient(8)</a>
        no longer exits if a desired route cannot be added. It now just reports
        the fact.
    <li><a href="https://man.openbsd.org/dhclient">dhclient(8)</a>
        now takes a much more careful approach to received packets to ensure
        only received data is used to process the packet.
        Packets with incorrect length information or lacking appropriate header
        information are now dropped.
    <li><a href="https://man.openbsd.org/dhclient">dhclient(8)</a>
        again disables pending timeouts if the interface link is lost,
        preventing endless retries at obtaining a lease.
    <li><a href="https://man.openbsd.org/dhcpd">dhcpd(8)</a>
        again properly utilizes <code>default-lease-time</code>,
        <code>max-lease-time</code> and <code>bootp-lease-time</code> options.
    <li><a href="https://man.openbsd.org/tcpdump">tcpdump(8)</a>
        now displays more information about IEEE 802.11 frames when run with
        the <code>-y IEEE802_11_RADIO</code> and <code>-v</code> options.
    <li>Several interoperability issues in
        <a href="https://man.openbsd.org/iked">iked(8)</a>
        have been fixed, including EAP auth with OS X El Capitan.
    </ul>

<li>Security improvements:
    <ul>
    <li>Chacha20-Poly1305 authenticated encryption mode has been implemented in the
        IPsec stack for the ESP protocol.
    <li>Support for looking up hosts via YP has been removed from libc.
        The 'yp' lookup method in
        <a href="https://man.openbsd.org/resolv.conf">
        resolv.conf</a>
        is no longer available.
    <li>Support for the HOSTALIASES environment variable has been removed from libc.
    </ul>

<li>Assorted improvements:
    <ul>
    <li><a href="https://man.openbsd.org/doas">doas(1)</a>
        is a little friendlier to use.
    <li>Updated
        <a href="https://man.openbsd.org/flex">flex(1)</a>.
    <li>Forked <a href="https://man.openbsd.org/less">less(1)</a>
        from upstream, then proceeded to clean it up substantially.
    <li><a href="https://man.openbsd.org/pdisk">pdisk(8)</a>
        was largely rewritten and pledged.
    <li>Renaming files in the root directory of a MSDOS filesystem was fixed.
    <li>Many obsolete
        <a href="https://man.openbsd.org/disktab">disktab(5)</a>
        attributes and entries were removed.
    <li><a href="https://man.openbsd.org/softraid">softraid(4)</a>
        volumes now correctly look for the disklabel in the first OpenBSD disk
        partition, not the last.
    <li><a href="https://man.openbsd.org/softraid">softraid(4)</a>
        volumes can now be partitioned with a GPT.
    <li><a href="https://man.openbsd.org/fdisk">fdisk(8)</a>
        now creates a default GPT as well as the protective MBR when the
        <code>-g</code> flag is used.
    <li><a href="https://man.openbsd.org/fdisk">fdisk(8)</a>
        now has a <code>-b</code> flag that specifies the size of the EFI System
        partition to create.
    <li><a href="https://man.openbsd.org/fdisk">fdisk(8)</a>
        now has a <code>-v</code> flag that causes a verbose display of both MBR
        and GPT information.
    <li><a href="https://man.openbsd.org/fdisk">fdisk(8)</a>
        now provides full interactive GPT editing.
    <li><a href="https://man.openbsd.org/fdisk">fdisk(8)</a>
        was pledged.
    <li>Disks with sector sizes other than 512 bytes can now be partitioned with
        a GPT.
    <li>The GPT kernel option was removed and GPT support is part of all GENERIC
        and GENERIC derived kernels.
    <li>Many improvements were made to the GPT kernel support to ensure safe and
        reliable operation of GPT and MBR processing.
    <li><a href="https://man.openbsd.org/disklabel">disklabel(8)</a>
        no longer supports boot code installation, with the <code>-B</code> and
        <code>-b</code> flags being removed.
        The associated fields in the disklabel were also removed.
        These functions are now all performed by
        <a href="https://man.openbsd.org/installboot">
        installboot(8)</a>.
    <li>PowerPC converted to secure-PLT ABI variant.
    <li>Perform lazy binding updates in
        <a href="https://man.openbsd.org/ld.so">ld.so(1)</a>
        using
        <a href="https://man.openbsd.org/kbind">kbind(2)</a>
        to improve security and reduce overhead in threaded processes.
    <li>Over 100 internal or obsolete interfaces have been deleted or are no
        longer exported by libc, reducing symbol conflicts and process size.
    <li>libc now uses local references for most of its own functions to avoid
        symbol overriding, improve standards compliance, increase speed,
        and reduce dynamic linking overhead.
    <li>Handle intra-thread kills via new
        <a href="https://man.openbsd.org/thrkill">thrkill(2)</a>
        system call to tighten
        <a href="https://man.openbsd.org/pledge">pledge(2)</a>
        restrictions and improve
        <a href="https://man.openbsd.org/pthread_kill">pthread_kill(3)</a>
        and
        <a href="https://man.openbsd.org/pthread_cancel">pthread_cancel(3)</a>
        compliance.
    <li>Added <a href="https://man.openbsd.org/getpwnam_shadow">
        getpwnam_shadow(3)</a>
        and <a href="https://man.openbsd.org/getpwuid_shadow">
        getpwuid_shadow(3)</a>
        to permit tighter
        <a href="https://man.openbsd.org/pledge">pledge(2)</a>
        restrictions.
    <li>Added support to
        <a href="https://man.openbsd.org/ktrace">ktrace(1)</a>
        the arguments to
        <a href="https://man.openbsd.org/execve">execve(2)</a>
        and
        <a href="https://man.openbsd.org/pledge">pledge(2)</a>.
        Removed support for tracing context switch points.
        <code>kevent</code> structures are now dumped.
    <li>Disabled support for loading locales other than UTF-8.
    <li>UTF-8 character locale data has been updated to Unicode 7.0.0.
    <li>Added UTF-8 support to several utilities, including
        <a href="https://man.openbsd.org/calendar">calendar(1)</a>,
        <a href="https://man.openbsd.org/colrm">colrm(1)</a>,
        <a href="https://man.openbsd.org/cut">cut(1)</a>,
        <a href="https://man.openbsd.org/fmt">fmt(1)</a>,
        <a href="https://man.openbsd.org/ls">ls(1)</a>,
        <a href="https://man.openbsd.org/ps">ps(1)</a>,
        <a href="https://man.openbsd.org/rs">rs(1)</a>,
        <a href="https://man.openbsd.org/ul">ul(1)</a>,
        <a href="https://man.openbsd.org/uniq">uniq(1)</a>
        and <a href="https://man.openbsd.org/wc">wc(1)</a>.
    <li>Partial support for inserting and deleting UTF-8 characters in
        <a href="https://man.openbsd.org/ksh">ksh(1)</a>
        emacs command line editing mode.
    <li>Native language support (NLS) has been removed from libc.
    <li><a href="https://man.openbsd.org/ddb">ddb(4)</a>
        now automatically shows a stack trace upon panic.
    </ul>

<li>OpenSMTPD 5.9.1
  <ul>
    <li>Security:
      <ul>
      <li>Both
        <a href="https://man.openbsd.org/smtpd">smtpd(8)</a>
	and
	<a href="https://man.openbsd.org/smtpctl">smtpctl(8)</a>
	have been pledged.
      <li>The offline enqueue mode of
	<a href="https://man.openbsd.org/smtpctl">smtpctl(8)</a>
	has been redesigned to remove the need for a publicly writable directory
        which was a vector of multiple attacks in the Qualys Security audit.
      </ul>
    <li>The following improvements were brought in this release:
      <ul>
	<li>Experimental support for filters API is now available with several
            filters available in ports.
	<li>Add Message-Id header if necessary.
	<li>Removed the kick mechanism which was misbehaving.
	<li>Increased the length of acceptable headers lines.
	<li>Assume messages are 8-bit bytes by default.
      </ul>
    </ul>

<li>OpenSSH 7.2
    <ul>
    <li>Security:
      <ul>
      <li>Qualys Security identified vulnerabilities in the
        <a href="https://man.openbsd.org/ssh">ssh(1)</a>
        client experimental support for resuming SSH-connections (roaming).
        In the default configuration, this could potentially leak client keys
        to a hostile server.  The authentication of the server host key
        prevents exploitation by a man-in-the-middle, so this information leak
        is restricted to connections to malicious or compromised servers.
        This feature has been disabled in the
        <a href="https://man.openbsd.org/ssh">ssh(1)</a>
        client, and it has been removed from the source tree.  The matching
        server code has never been shipped.
      <li><a href="https://man.openbsd.org/sshd">sshd(8)</a>:
        OpenSSH 7.0 contained a logic error in
        <code>PermitRootLogin=prohibit-password/without-password</code> that could,
        depending on compile-time configuration, permit password authentication
        to root while preventing other forms of authentication.
      <li>Fix an out of-bound read access in the packet handling code.
      <li>Further use of
        <a href="https://man.openbsd.org/bzero">explicit_bzero(3)</a>
        has been added in various buffer handling code paths to guard against
        compilers aggressively doing dead-store removal.
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>,
        <a href="https://man.openbsd.org/sshd">sshd(8)</a>:
        remove unfinished and unused roaming code.
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>:
        eliminate fallback from untrusted X11 forwarding to trusted forwarding
        when the X server disables the <code>SECURITY</code> extension.
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>,
        <a href="https://man.openbsd.org/sshd">sshd(8)</a>:
        increase the minimum modulus size supported for
        <code>diffie-hellman-group-exchange</code> to 2048 bits.
      </ul>
    <li>Potentially-incompatible changes:
      <ul>
      <li>This release disables a number of legacy cryptographic algorithms
        by default in
        <a href="https://man.openbsd.org/ssh">ssh(1)</a>:
        <ul>
        <li>Several ciphers: <code>blowfish-cbc</code>, <code>cast128-cbc</code>,
          all <code>arcfour</code> variants and the <code>rijndael-cbc</code> aliases
          for AES.
        <li>MD5-based and truncated HMAC algorithms.
        </ul>
      </ul>
    <li>New/changed features:
      <ul>
      <li>all: add support for RSA signatures using SHA-256/512 hash algorithms
        based on <code>draft-rsa-dsa-sha2-256-03.txt</code> and
        <code>draft-ssh-ext-info-04.txt</code>.
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>:
        add an <code>AddKeysToAgent</code> client option which can be set to
        <code>yes</code>, <code>no</code>, <code>ask</code>, or <code>confirm</code>, and
        defaults to <code>no</code>.  When enabled, a private key that is used
        during authentication will be added to
        <a href="https://man.openbsd.org/ssh-agent">ssh-agent(1)</a>
        if it is running (with confirmation enabled if set to <code>confirm</code>).
      <li><a href="https://man.openbsd.org/sshd">sshd(8)</a>:
        add a new <code>authorized_keys</code> option <code>restrict</code> that
        includes all current and future key restrictions
        (<code>no-*-forwarding</code>, etc.).
        Also add permissive versions of the existing restrictions, e.g.
        <code>no-pty</code> -> <code>pty</code>. This simplifies the task of setting up
        restricted keys and ensures they are maximally-restricted,
        regardless of any permissions we might implement in the future.
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>:
        add
        <a href="https://man.openbsd.org/ssh_config">ssh_config(5)</a>
        CertificateFile option to explicitly list certificates.  (bz#2436)
      <li><a href="https://man.openbsd.org/ssh-keygen">ssh-keygen(1)</a>:
        allow
        <a href="https://man.openbsd.org/ssh-keygen">ssh-keygen(1)</a>
        to change the key comment for all supported formats.
      <li><a href="https://man.openbsd.org/ssh-keygen">ssh-keygen(1)</a>:
        allow fingerprinting from standard input, e.g. "ssh-keygen -lf -".
      <li><a href="https://man.openbsd.org/ssh-keygen">ssh-keygen(1)</a>:
        allow fingerprinting multiple public keys in a file, e.g.
        <code>ssh-keygen -lf ~/.ssh/authorized_keys</code>.  (bz#1319)
      <li><a href="https://man.openbsd.org/sshd">sshd(8)</a>:
        support <code>none</code> as an argument for
        <a href="https://man.openbsd.org/sshd_config">sshd_config(5)</a>
        <code>Foreground</code> and <code>ChrootDirectory</code>.  Useful inside
        <code>Match</code> blocks to override a global default.  (bz#2486)
      <li><a href="https://man.openbsd.org/ssh-keygen">ssh-keygen(1)</a>:
        support multiple certificates (one per line) and reading from standard
        input (using "<code>-f -</code>") for <code>ssh-keygen -L</code>.
      <li><a href="https://man.openbsd.org/ssh-keyscan">ssh-keyscan(1)</a>:
        add <code>ssh-keyscan -c ...</code> flag to allow fetching certificates
        instead of plain keys.
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>:
        better handle anchored FQDNs (e.g. <code>cvs.openbsd.org.</code>) in
        hostname canonicalisation - treat them as already canonical and
        trailing '<code>.</code>' before matching
        <a href="https://man.openbsd.org/ssh_config">ssh_config(5)</a>.
      </ul>
    <li>The following significant bugs have been fixed in this release:
      <ul>
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>,
        <a href="https://man.openbsd.org/sshd">sshd(8)</a>:
        add compatibility workarounds for FuTTY.
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>,
        <a href="https://man.openbsd.org/sshd">sshd(8)</a>:
        refine compatibility workarounds for WinSCP.
      <li>Fix a number of memory faults (double-free, free of uninitialised
        memory, etc.) in
        <a href="https://man.openbsd.org/ssh">ssh(1)</a>
        and
        <a href="https://man.openbsd.org/ssh-keygen">ssh-keygen(1)</a>.
      <li>Correctly interpret the <code>first_kex_follows</code> option during the
        initial key exchange.
      <li><a href="https://man.openbsd.org/sftp">sftp(1)</a>:
        existing destination directories should not terminate recursive uploads
        (regression in openssh 6.8).  (bz#2528)
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>,
        <a href="https://man.openbsd.org/sshd">sshd(8)</a>:
        correctly send back <code>SSH2_MSG_UNIMPLEMENTED</code> replies to
        unexpected messages during key exchange.  (bz#2949)
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>:
        refuse attempts to set <code>ConnectionAttempts=0</code>, which does not
        make sense and would cause ssh to print an uninitialised stack
        variable.  (bz#2500)
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>:
        fix errors when attempting to connect to scoped IPv6 addresses with
        hostname canonicalisation enabled.
      <li><a href="https://man.openbsd.org/sshd_config">sshd_config(5)</a>:
        list a couple more options usable in <code>Match</code> blocks.  (bz#2489)
      <li><a href="https://man.openbsd.org/sshd">sshd(8)</a>:
        fix <code>PubkeyAcceptedKeyTypes +...</code> inside a <code>Match</code> block.
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>:
        expand tilde characters in filenames passed to <code>-i</code> options
        before checking whether or not the identity file exists.  Avoids
        confusion for cases where shell doesn't expand (e.g.
        <code>-i ~/file</code> vs. <code>-i~/file</code>).  (bz#2481)
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>:
        do not prepend "exec" to the shell command run by <code>Match exec</code>
        in a config file, which could cause some commands to fail in certain
        environments.  (bz#2471)
      <li><a href="https://man.openbsd.org/ssh-keyscan">ssh-keyscan(1)</a>:
        fix output for multiple hosts/addrs on one line when host hashing or
        a non standard port is in use.  (bz#2479)
      <li><a href="https://man.openbsd.org/sshd">sshd(8)</a>:
        skip "Could not chdir to home directory" message when
        <code>ChrootDirectory</code> is active.  (bz#2485)
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>:
        include <code>PubkeyAcceptedKeyTypes</code> in <code>ssh -G</code> config dump.
      <li><a href="https://man.openbsd.org/sshd">sshd(8)</a>:
        avoid changing <code>TunnelForwarding</code> device flags if they are
        already what is needed; makes it possible to use
        <a href="https://man.openbsd.org/tun">tun(4)</a>/
        <a href="https://man.openbsd.org/tap">tap(4)</a>
        networking as non-root user if device permissions and interface flags
        are pre-established.
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>,
        <a href="https://man.openbsd.org/sshd">sshd(8)</a>:
        <code>RekeyLimits</code> could be exceeded by one packet.  (bz#2521)
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>:
        fix multiplexing master failure to notice client exit.
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>,
        <a href="https://man.openbsd.org/ssh-agent">ssh-agent(1)</a>:
        avoid <code>fatal()</code> for PKCS11 tokens that present empty key IDs.
        (bz#1773)
      <li><a href="https://man.openbsd.org/sshd">sshd(8)</a>:
        avoid
        <a href="https://man.openbsd.org/printf&amp;sec=3">printf(3)</a>
        of NULL argument.  (bz#2535)
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>,
        <a href="https://man.openbsd.org/sshd">sshd(8)</a>:
        allow <code>RekeyLimits</code> larger than 4GB.  (bz#2521)
      <li><a href="https://man.openbsd.org/ssh-agent">ssh-agent(1)</a>,
        <a href="https://man.openbsd.org/sshd">sshd(8)</a>:
        fix several bugs in (unused) KRL signature support.
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>,
        <a href="https://man.openbsd.org/sshd">sshd(8)</a>:
        fix connections with peers that use the key exchange guess feature of
        the protocol.  (bz#2515)
      <li><a href="https://man.openbsd.org/sshd">sshd(8)</a>:
        include remote port number in log messages.  (bz#2503)
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>:
        don't try to load SSHv1 private key when compiled without SSHv1
        support.  (bz#2505)
      <li><a href="https://man.openbsd.org/ssh-agent">ssh-agent(1)</a>,
        <a href="https://man.openbsd.org/ssh">ssh(1)</a>:
        fix incorrect error messages during key loading and signing errors.
        (bz#2507)
      <li><a href="https://man.openbsd.org/ssh-keygen">ssh-keygen(1)</a>:
        don't leave empty temporary files when performing <code>known_hosts</code>
        file edits when <code>known_hosts</code> doesn't exist.
      <li><a href="https://man.openbsd.org/sshd">sshd(8)</a>:
        correct packet format for tcpip-forward replies for requests that
        don't allocate a port.  (bz#2509)
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>,
        <a href="https://man.openbsd.org/sshd">sshd(8)</a>:
        fix possible hang on closed output.  (bz#2469)
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>:
        expand <code>%i</code> in <code>ControlPath</code> to UID.  (bz#2449)
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>,
        <a href="https://man.openbsd.org/sshd">sshd(8)</a>:
        fix return type of <code>openssh_RSA_verify</code>.  (bz#2460)
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>,
        <a href="https://man.openbsd.org/sshd">sshd(8)</a>:
        fix some option parsing memory leaks.  (bz#2182)
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>:
        add some debug output before DNS resolution; it's a place where
        ssh could previously silently stall in cases of unresponsive DNS
        servers.  (bz#2433)
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>:
        remove spurious newline in visual hostkey.  (bz#2686)
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>:
        fix printing (<code>ssh -G ...</code>) of <code>HostKeyAlgorithms=+...</code>
      <li><a href="https://man.openbsd.org/ssh">ssh(1)</a>:
        fix expansion of <code>HostkeyAlgorithms=+...</code>
      </ul>
    </ul>

<li>LibreSSL 2.3.2
    <ul>
    <li>User-visible features:
      <ul>
      <li>This release corrects the handling of <code>ClientHello</code> messages
        that do not include TLS extensions, resulting in such handshakes being
        aborted.
      <li>When loading a DSA key from a raw (without DH parameters) ASN.1
        serialization, perform some consistency checks on its 'p' and 'q'
        values, and return an error if the checks failed.
      <li>Fixed a bug in <code>ECDH_compute_key</code> that can lead to silent
        truncation of the result key without error. A coding error could cause
        software to use much shorter keys than intended.
      <li>Removed support for <code>DTLS_BAD_VER</code>. Pre-DTLSv1 implementations
        are no longer supported.
      <li>The <code>engine</code> command and parameters are removed from
        <a href="https://man.openbsd.org/openssl">
        openssl(1)</a>.
        Previous releases removed dynamic and built-in engine support already.
      <li>SHA-0 is removed, which was withdrawn shortly after publication
        twenty years ago.
      <li>Added <code>Certplus CA</code> root certificate to the default
        <code>cert.pem</code> file.
      <li>Fixed a leak in
        <a href="https://man.openbsd.org/SSL_new">
        SSL_new(3)</a>
        in the error path.
      <li>Fixed a memory leak and out-of-bounds access in
        <a href="https://man.openbsd.org/OBJ_nid2obj">
        OBJ_obj2txt(3)</a>.
      <li>Fixed an up-to 7 byte overflow in RC4 when len is not a multiple of
        <code>sizeof(RC4_CHUNK)</code>.
      <li>Added
        <a href="https://man.openbsd.org/EVP_AEAD_CTX_init">
        EVP_aead_chacha20_poly1305_ietf(3)</a>
        which matches the
        <code>AEAD</code> construction introduced in RFC 7539, which is different
        than that already used in TLS with
        <a href="https://man.openbsd.org/EVP_AEAD_CTX_init">
        EVP_aead_chacha20_poly1305(3)</a>.
      <li>More man pages converted from pod to
        <a href="https://man.openbsd.org/mdoc">mdoc(7)</a>
        format.
      <li>Added <code>COMODO RSA Certification Authority</code> and
        <code>QuoVadis</code> root certificates to <code>cert.pem</code>.
      <li>Removed "<code>C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority</code>"
        (serial 3c:91:31:cb:1f:f6:d0:1b:0e:9a:b8:d0:44:bf:12:be)
        root certificate from <code>cert.pem</code>.
      <li>Fixed incorrect TLS certificate loading by
        <a href="https://man.openbsd.org/nc">nc(1)</a>.
      <li>The
        <a href="https://man.openbsd.org/openssl">
        openssl(1)</a>
        <code>s_time</code> command now performs a proper shutdown which allows a
        full TLS connection to be benchmarked more accurately. A new
        <code>-no_shutdown</code> flag
        makes <code>s_time</code> adopt the previous behavior so that comparisons
        can still be made with OpenSSL's version.
      <li>Removed support for the <code>SSLEAY_CONF</code> backwards compatibility
        environment variable in
        <a href="https://man.openbsd.org/openssl">
        openssl(1)</a>.
      <li>The following CVEs had been fixed:
        <ul>
        <li><code>CVE-2015-3194</code>&#8212;NULL pointer dereference in client
          side certificate validation.
        <li><code>CVE-2015-3195</code>&#8212;memory leak in PKCS7, not reachable
          from TLS/SSL.
        </ul>
      <li>Note: The following OpenSSL CVEs did not apply to LibreSSL:
        <ul>
        <li><code>CVE-2015-3193</code>&#8212;carry propagating bug in the x86_64
          Montgomery squaring procedure.
        <li><code>CVE-2015-3196</code>&#8212;double free race condition of the
          identify hint data.
        </ul>
      </ul>
    <li>Code improvements:
      <ul>
      <li>Added install target for <code>cmake</code> builds.
      <li>Updated <code>pkgconfig</code> files to correctly report the release
        version number, not the individual library ABI version numbers.
      <li>SSLv3 is now permanently removed from the tree.
      <li>The <code>libtls</code> API is changed from the 2.2.x series:
        <ul>
        <li>The
          <a href="https://man.openbsd.org/tls_init">
          tls_read(3)</a>
          and
          <a href="https://man.openbsd.org/tls_init">
          tls_write(3)</a>
          functions now work better with external event libraries.
        <li>Client-side verification is now supported, with the client
          supplying the certificate to the server.
        <li>Also, when using
          <a href="https://man.openbsd.org/tls_init">
          tls_connect_fds(3)</a>,
          <a href="https://man.openbsd.org/tls_init">
          tls_connect_socket(3)</a> or
          <a href="https://man.openbsd.org/tls_init">
          tls_accept_fds(3)</a>,
          <code>libtls</code> no longer implicitly closes the passed in sockets.
          The caller is responsible for closing them in this case.
        </ul>
      <li>New interface <code>OPENSSL_cpu_caps</code> is provided that does not
        allow software to inadvertently modify cpu capability flags.
        <code>OPENSSL_ia32cap</code> and <code>OPENSSL_ia32cap_loc</code> are removed.
      <li>The <code>out_len</code> argument of <code>AEAD</code> changed from
        <code>ssize_t</code> to <code>size_t</code>.
      <li>Deduplicated DTLS code, sharing bugfixes and improvements with TLS.
      <li>Converted
        <a href="https://man.openbsd.org/nc">nc(1)</a>
        to use <code>libtls</code> for client and server operations; it is
        included in the libressl-portable distribution as an example of how
        to use the <code>libtls</code> library.  This is intended to be a simpler
        and more robust replacement for <code>openssl s_client</code> and
        <code>openssl s_server</code> for day-to-day operations.
      <li>ASN.1 cleanups and RFC5280 compliance fixes.
      <li>Time representations switched from <code>unsigned long</code> to
        <code>time_t</code>.  LibreSSL now checks if the host OS supports 64-bit
        <code>time_t</code>.
      <li>Support always extracting the peer cipher and version with
        <code>libtls</code>.
      <li>Added ability to check certificate validity times with
        <code>libtls</code>,
        <a href="https://man.openbsd.org/tls_init">
        tls_peer_cert_notbefore(3)</a>
        and
        <a href="https://man.openbsd.org/tls_init">
        tls_peer_cert_notafter(3)</a>.
      <li>Changed
        <a href="https://man.openbsd.org/tls_init">
        tls_connect_servername(3)</a>
        to use the first address that resolves with
        <a href="https://man.openbsd.org/getaddrinfo">
        getaddrinfo(3)</a>.
      <li>Remove broken conditional <code>EVP_CHECK_DES_KEY</code> code
        (non-functional since initial commit in 2004).
      <li>Reject too small bits value in
        <a href="https://man.openbsd.org/BN_generate_prime">
        BN_generate_prime(3)</a>,
        so that it does not risk becoming negative in
        <code>probable_prime_dh_safe()</code>.
      <li>Changed format of <code>LIBRESSL_VERSION_NUMBER</code> to match that of
        <code>OPENSSL_VERSION_NUMBER</code>.
      <li>Avoid a potential undefined C99+ behavior due to shift overflow in
        <code>AES_decrypt</code>.
      <li>Deprecated the <code>SSL_OP_SINGLE_DH_USE</code> flag.
      </ul>
    </ul>

<li>Ports and packages:
    <p>Many pre-built packages for each architecture:
    <!-- number of FTP packages minus SHA256, SHA256.sig, index.txt -->
    <ul style="column-count: 4">
      <li>alpha:      7450
      <li>amd64:      9295
      <li>hppa:       6304
      <li>i386:       9290
      <li>mips64:     7094
      <li>mips64el:   7846
      <li>powerpc:    8383
      <li>sh:         111
      <li>sparc:      1105
      <li>sparc64:    8528
    </ul>

    <p>Some highlights:
    <ul style="column-count: 2">
	<li>Chromium 48.0.2564.116
	<li>Emacs 21.4 and 24.5
	<li>GCC 4.9.3
	<li>GHC 7.10.3
	<li>GNOME 3.18.2
	<li>Go 1.5.3
	<li>Groff 1.22.3
	<li>JDK 7u80 and 8u72
	<li>KDE 3.5.10 and 4.14.3 (plus KDE4 core updates)
	<li>LLVM/Clang 3.5 (20140228)
	<li>LibreOffice 5.0.4.2
	<li>MariaDB 10.0.23
	<li>Mono 4.2.1.102
	<li>Mozilla Firefox 38.6.1esr and 44.0.2
	<li>Mozilla Thunderbird 38.6.0
	<li>Node.js 4.3.0
	<li>OpenLDAP 2.3.43 and 2.4.43
	<li>PHP 5.4.45, 5.5.32 and 5.6.18
	<li>Postfix 3.0.3
	<li>PostgreSQL 9.4.6
	<li>Python 2.7.11, 3.4.4 and 3.5.1
	<li>R 3.2.3
	<li>Ruby 1.8.7.374, 2.0.0.648, 2.1.8, 2.2.4 and 2.3.0
	<li>Rust 1.6.0
	<li>Sendmail 8.15.2
	<li>Sudo 1.8.15
	<li>Tcl/Tk 8.5.18 and 8.6.4
	<li>TeX Live 2014
	<li>Vim 7.4.900
	<li>Xfce 4.12
    </ul>

<li>As usual, steady improvements in manual pages and other documentation.

<li>The system includes the following major components from outside suppliers:
    <ul>
    <li>Xenocara (based on X.Org 7.7 with xserver 1.17.4 + patches,
      freetype 2.6.2, fontconfig 2.11.1, Mesa 11.0.9, xterm 322,
      xkeyboard-config 2.17 and more)
    <li>GCC 4.2.1 (+ patches) and 3.3.6 (+ patches)
    <li>Perl 5.20.2 (+ patches)
    <li>SQLite 3.9.2 (+ patches)
    <li>NSD 4.1.7
    <li>Unbound 1.5.7
    <li>Ncurses 5.7
    <li>Binutils 2.17 (+ patches)
    <li>Gdb 6.3 (+ patches)
    <li>Awk Aug 10, 2011 version
    </ul>
</ul>
</section>

<hr>

<section id=install>
<h3>How to install</h3>
<p>
Following this are the instructions which you would have on a piece of
paper if you had purchased a CDROM set instead of doing an alternate
form of install.  The instructions for doing an HTTP (or other style
of) install are very similar; the CDROM instructions are left intact
so that you can see how much easier it would have been if you had
purchased a CDROM instead.

<hr>
<p>
Please refer to the following files on the three CDROMs or mirror site for
extensive details on how to install OpenBSD 5.9 on your machine:

<ul>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/5.9/alpha/INSTALL.alpha">
	.../OpenBSD/5.9/alpha/INSTALL.alpha (on CD1)</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/5.9/i386/INSTALL.i386">
	.../OpenBSD/5.9/i386/INSTALL.i386 (on CD1)</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/5.9/hppa/INSTALL.hppa">
	.../OpenBSD/5.9/hppa/INSTALL.hppa (on CD1)</a>
<p>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/5.9/amd64/INSTALL.amd64">
	.../OpenBSD/5.9/amd64/INSTALL.amd64 (on CD2)</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/5.9/macppc/INSTALL.macppc">
	.../OpenBSD/5.9/macppc/INSTALL.macppc (on CD2)</a>
<p>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/5.9/sparc64/INSTALL.sparc64">
	.../OpenBSD/5.9/sparc64/INSTALL.sparc64 (on CD3)</a>
<p>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/5.9/alpha/INSTALL.alpha">
	.../OpenBSD/5.9/alpha/INSTALL.alpha</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/5.9/hppa/INSTALL.hppa">
	.../OpenBSD/5.9/hppa/INSTALL.hppa</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/5.9/landisk/INSTALL.landisk">
	.../OpenBSD/5.9/landisk/INSTALL.landisk</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/5.9/loongson/INSTALL.loongson">
	.../OpenBSD/5.9/loongson/INSTALL.loongson</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/5.9/luna88k/INSTALL.luna88k">
	.../OpenBSD/5.9/luna88k/INSTALL.luna88k</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/5.9/macppc/INSTALL.macppc">
	.../OpenBSD/5.9/macppc/INSTALL.macppc</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/5.9/octeon/INSTALL.octeon">
	.../OpenBSD/5.9/octeon/INSTALL.octeon</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/5.9/sgi/INSTALL.sgi">
	.../OpenBSD/5.9/sgi/INSTALL.sgi</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/5.9/socppc/INSTALL.socppc">
	.../OpenBSD/5.9/socppc/INSTALL.socppc</a>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/5.9/zaurus/INSTALL.zaurus">
	.../OpenBSD/5.9/zaurus/INSTALL.zaurus</a>
</ul>
</section>

<hr>

<section id=quickinstall>
<p>
Quick installer information for people familiar with OpenBSD, and the
use of the "disklabel -E" command.  If you are at all confused when
installing OpenBSD, read the relevant INSTALL.* file as listed above!

<h3>OpenBSD/i386:</h3>

<ul style="list-style-type: none">
<li>
The OpenBSD/i386 release is on CD1.
Boot from the CD to begin the install - you may need to adjust
your BIOS options first.
<p>
<li>
If your machine can boot from USB, you can write <i>install59.fs</i> or
<i>miniroot59.fs</i> to a USB stick and boot from it.
<p>
<li>
If you can't boot from a CD, floppy disk, or USB,
you can install across the network using PXE as described in
the included INSTALL.i386 document.
<p>
<li>
If you are planning on dual booting OpenBSD with another OS, you will need to
read INSTALL.i386.
</ul>

<h3>OpenBSD/amd64:</h3>

<ul style="list-style-type: none">
<li>
The OpenBSD/amd64 release is on CD2.
Boot from the CD to begin the install - you may need to adjust
your BIOS options first.
<p>
<li>
If your machine can boot from USB, you can write <i>install59.fs</i> or
<i>miniroot59.fs</i> to a USB stick and boot from it.
<p>
<li>
If you can't boot from a CD, floppy disk, or USB,
you can install across the network using PXE as described in the included
INSTALL.amd64 document.
<p>
<li>
If you are planning to dual boot OpenBSD with another OS, you will need to
read INSTALL.amd64.
</ul>

<h3>OpenBSD/macppc:</h3>

<ul style="list-style-type: none">
<li>
Burn the image from a mirror site to a CDROM, and power on your machine
while holding down the <i>C</i> key until the display turns on and
shows <i>OpenBSD/macppc boot</i>.
<p>
<li>
Alternatively, at the Open Firmware prompt, enter <i>boot cd:,ofwboot
/5.9/macppc/bsd.rd</i>
</ul>

<h3>OpenBSD/sparc64:</h3>

<ul style="list-style-type: none">
<li>
Put CD3 in your CDROM drive and type <i>boot cdrom</i>.
<p>
<li>
If this doesn't work, or if you don't have a CDROM drive, you can write
<i>CD3:5.9/sparc64/floppy59.fs</i> or <i>CD3:5.9/sparc64/floppyB59.fs</i>
(depending on your machine) to a floppy and boot it with <i>boot
floppy</i>. Refer to INSTALL.sparc64 for details.
<p>
<li>
Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
will most likely fail.
<p>
<li>
You can also write <i>CD3:5.9/sparc64/miniroot59.fs</i> to the swap partition on
the disk and boot with <i>boot disk:b</i>.
<p>
<li>
If nothing works, you can boot over the network as described in INSTALL.sparc64.
</ul>

<h3>OpenBSD/alpha:</h3>

<ul style="list-style-type: none">
<li>
Write <i>5.9/alpha/floppy59.fs</i> or
<i>5.9/alpha/floppyB59.fs</i> (depending on your machine) to a diskette and
enter <i>boot dva0</i>. Refer to INSTALL.alpha for more details.
<p>
<li>
Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
will most likely fail.
</ul>

<h3>OpenBSD/hppa:</h3>

<ul style="list-style-type: none">
<li>
Boot over the network by following the instructions in INSTALL.hppa or the
<a href="hppa.html#install">hppa platform page</a>.
</ul>

<h3>OpenBSD/landisk:</h3>

<ul style="list-style-type: none">
<li>
Write <i>miniroot59.fs</i> to the start of the CF
or disk, and boot normally.
</ul>

<h3>OpenBSD/loongson:</h3>

<ul style="list-style-type: none">
<li>
Write <i>miniroot59.fs</i> to a USB stick and boot bsd.rd from it
or boot bsd.rd via tftp.
Refer to the instructions in INSTALL.loongson for more details.
</ul>

<h3>OpenBSD/luna88k:</h3>

<ul style="list-style-type: none">
<li>
Copy 'boot' and 'bsd.rd' to a Mach or UniOS partition, and boot the bootloader
from the PROM, and then bsd.rd from the bootloader.
Refer to the instructions in INSTALL.luna88k for more details.
</ul>

<h3>OpenBSD/octeon:</h3>

<ul style="list-style-type: none">
<li>
After connecting a serial port, boot bsd.rd over the network via DHCP/tftp.
Refer to the instructions in INSTALL.octeon for more details.
</ul>

<h3>OpenBSD/sgi:</h3>

<ul style="list-style-type: none">
<li>
To install, burn cd59.iso on a CD-R, put it in the CD drive of your
machine and select <i>Install System Software</i> from the System Maintenance
menu. Indigo/Indy/Indigo2 (R4000) systems will not boot automatically from
CD-ROM, and need a proper invocation from the PROM prompt.
Refer to the instructions in INSTALL.sgi for more details.

<p>
<li>
If your machine doesn't have a CD drive, you can setup a DHCP/tftp network
server, and boot using "bootp()/bsd.rd.IP##" using the kernel matching your
system type. Refer to the instructions in INSTALL.sgi for more details.
</ul>

<h3>OpenBSD/socppc:</h3>

<ul style="list-style-type: none">
<li>
After connecting a serial port, boot over the network via DHCP/tftp.
Refer to the instructions in INSTALL.socppc for more details.
</ul>

<h3>OpenBSD/zaurus:</h3>

<ul style="list-style-type: none">
<li>
Using the Linux built-in graphical ipkg installer, install the
openbsd59_arm.ipk package.  Reboot, then run it.  Read INSTALL.zaurus
for a few important details.
</ul>
</section>

<hr>

<section id=upgrade>
<h3>How to upgrade</h3>
<p>
If you already have an OpenBSD 5.8 system, and do not want to reinstall,
upgrade instructions and advice can be found in the
<a href="faq/upgrade59.html">Upgrade Guide</a>.
</section>

<hr>

<section id=sourcecode>
<h3>Notes about the source code</h3>
<p>
<code>src.tar.gz</code> contains a source archive starting at <code>/usr/src</code>.
This file contains everything you need except for the kernel sources, which are
in a separate archive.  To extract:
<blockquote><pre>
# <kbd>mkdir -p /usr/src</kbd>
# <kbd>cd /usr/src</kbd>
# <kbd>tar xvfz /tmp/src.tar.gz</kbd>
</pre></blockquote>
<p>
<code>sys.tar.gz</code> contains a source archive starting at <code>/usr/src/sys</code>.
This file contains all the kernel sources you need to rebuild kernels.
To extract:
<blockquote><pre>
# <kbd>mkdir -p /usr/src/sys</kbd>
# <kbd>cd /usr/src</kbd>
# <kbd>tar xvfz /tmp/sys.tar.gz</kbd>
</pre></blockquote>
<p>
Both of these trees are a regular CVS checkout.  Using these trees it
is possible to get a head-start on using the anoncvs servers as
described <a href="anoncvs.html">here</a>.
Using these files
results in a much faster initial CVS update than you could expect from
a fresh checkout of the full OpenBSD source tree.
</section>

<hr>

<section id=ports>
<h3>Ports Tree</h3>
<p>
A ports tree archive is also provided.  To extract:
<blockquote><pre>
# <kbd>cd /usr</kbd>
# <kbd>tar xvfz /tmp/ports.tar.gz</kbd>
</pre></blockquote>
<p>
Go read the <a href="faq/ports/index.html">ports</a> page
if you know nothing about ports
at this point.  This text is not a manual of how to use ports.
Rather, it is a set of notes meant to kickstart the user on the
OpenBSD ports system.
<p>
The <i>ports/</i> directory represents a CVS (see the manpage for
<a href="https://man.openbsd.org/cvs">cvs(1)</a> if
you aren't familiar with CVS) checkout of our ports.  As with our complete
source tree, our ports tree is available via
<a href="anoncvs.html">AnonCVS</a>.
So, in order to keep up to date with the -stable branch, you must make
the <i>ports/</i> tree available on a read-write medium and update the tree
with a command like:
<blockquote><pre>
# <kbd>cd /usr/ports</kbd>
# <kbd>cvs -d anoncvs@server.openbsd.org:/cvs update -Pd -rOPENBSD_5_9</kbd>
</pre></blockquote>
<p>
[Of course, you must replace the server name here with a nearby anoncvs
server.]
<p>
Note that most ports are available as packages on our mirrors. Updated
ports for the 5.9 release will be made available if problems arise.
<p>
If you're interested in seeing a port added, would like to help out, or just
would like to know more, the mailing list
<a href="mail.html">ports@openbsd.org</a> is a good place to know.
</section>