OpenBSD 5.9
To be released May 1, 2016
Copyright 1997-2016, Theo de Raadt.
ISBN 978-0-9881561-7-3
5.9 Songs: "xxx",
"xxx"
All applicable copyrights and credits can be found in the applicable
file sources found in the files src.tar.gz, sys.tar.gz,
xenocara.tar.gz, or in the files fetched via ports.tar.gz. The
distribution files used to build packages from the ports.tar.gz file
are not included on the CDROM because of lack of space.
What's New
This is a partial list of new features and systems included in OpenBSD 5.9.
For a comprehensive list, see the changelog leading
to 5.9.
- Improved hardware support, including:
- Removed hardware support:
- Generic network stack improvements:
- Remove support for obsolete IPv6 socket options
- ...
- Installer improvements:
- Routing daemons and other userland network improvements:
- Security improvements:
- ...
- Support for looking up hosts via YP has been removed from libc.
The 'yp' lookup method in
resolv.conf
is no longer available.
- Support for the HOSTALIASES environment variable has been removed from libc.
- Assorted improvements:
- doas is a little friendlier to use
- Updated flex
- Updated and improved less
- ...
- OpenBSD httpd(8):
- OpenSMTPD
- OpenSSH 7.1
- Security:
- Qualys Security identified vulnerabilities in the
ssh(1)
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
ssh(1)
client, and it has been removed from the source tree. The matching
server code has never been shipped.
- sshd(8):
OpenSSH 7.0 contained a logic error in
PermitRootLogin=prohibit-password/without-password that could,
depending on compile-time configuration, permit password authentication
to root while preventing other forms of authentication.
- Eliminate the fallback from untrusted X11-forwarding to trusted
forwarding for cases when the X server disables the SECURITY
extension.
- Fix an out of-bound read access in the packet handling code.
- Further use of
explicit_bzero(3)
has been added in various buffer handling code paths to guard against
compilers aggressively doing dead-store removal.
- The following significant bugs have been fixed in this release:
- ssh(1),
sshd(8):
add compatibility workarounds for FuTTY.
- ssh(1),
sshd(8):
refine compatibility workarounds for WinSCP.
- Fix a number of memory faults (double-free, free of uninitialised
memory, etc) in
ssh(1)
and
ssh-keygen(1).
- Correctly interpret the first_kex_follows option during the
initial key exchange.
- LibreSSL 2.3.2
- User-visible features:
- This release corrects the handling of ClientHello messages
that do not include TLS extensions, resulting in such handshakes being
aborted.
- When loading a DSA key from an 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.
- Fixed a bug in ECDH_compute_key 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.
- Removed support for DTLS_BAD_VER. Pre-DTLSv1 implementations
are no longer supported.
- The engine command and parameters are removed from
openssl(1).
Previous releases removed dynamic and builtin engine support already.
- SHA-0 is removed, which was withdrawn shortly after publication
twenty years ago.
- Added Certplus CA root certificate to the default
cert.pem file.
- Fixed a leak in
SSL_new(3)
in the error path.
- Fixed a memory leak and out-of-bounds access in OBJ_obj2txt.
- Fixed an up-to 7 byte overflow in RC4 when len is not a multiple of
sizeof(RC4_CHUNK).
- Added
EVP_aead_chacha20_poly1305(3)
which matches the
AEAD construction introduced in RFC 7539, which is different
than that already used in TLS with
EVP_aead_chacha20_poly1305(3).
- More man pages converted from pod to
mdoc(7)
format.
- Added COMODO RSA Certification Authority and
QuoVadis root certificates to cert.pem.
- Removed Remhve "C=US, O=VeriSign, Inc., OU=Class 3 Public Primary
Certification Authority"
(serial 3c:91:31:cb:1f:f6:d0:1b:0e:9a:b8:d0:44:bf:12:be)
root certificate from cert.pem.
- Fixed incorrect TLS certificate loading by
nc(1).
- The following CVEs had been fixed:
- CVE-2015-3194—NULL pointer dereference in client
side certificate validation.
- CVE-2015-3195—memory leak in PKCS7, not reachable
from TLS/SSL.
- Note: The following OpenSSL CVEs did not apply to LibreSSL:
- CVE-2015-3193—carry propagating bug in the x86_64
Montgomery squaring procedure.
- CVE-2015-3196—double free race condition of the
identify hint data.
- Code improvements:
- Added install target for cmake builds.
- Updated pkgconfig files to correctly report the release
version number, not the individual library ABI version numbers.
- SSLv3 is now permanently removed from the tree.
- The libtls API is changed from the 2.2.x series:
- New interface OPENSSL_cpu_caps is provided that does not
allow software to inadvertently modify cpu capability flags.
OPENSSL_ia32cap and OPENSSL_ia32cap_loc are removed.
- The out_len argument of AEAD changed from
ssize_t to size_t.
- Deduplicated DTLS code, sharing bugfixes and improvements with TLS.
- Converted
nc(1)
to use libtls for client and server operations; it is
included in the libressl-portable distribution as an example of how
to use the libtls library. This is intended to be a simpler
and more robust replacement for openssl s_client and
openssl s_server for day-to-day operations.
- ASN.1 cleanups and RFC5280 compliance fixes.
- Time representations switched from unsigned long to
time_t. LibreSSL now checks if the host OS supports 64-bit
time_t.
- Support always extracting the peer cipher and version with
libtls.
- Added ability to check certificate validity times with
libtls,
tls_peer_cert_notbefore(3)
and
tls_peer_cert_notafter(3).
- Changed
tls_connect_servername(3)
to use the first address that resolves with
getaddrinfo(3).
- Remove broken conditional EVP_CHECK_DES_KEY code
(non-functional since initial commit in 2004).
- Reject too small bits value in
BN_generate_prime_ex(3),
so that it does not risk becoming negative in
probable_prime_dh_safe().
- Changed format of LIBRESSL_VERSION_NUMBER to match that of
OPENSSL_VERSION_NUMBER.
- Avoid a potential undefined C99+ behavior due to shift overflow in
AES_decrypt.
- Deprecated the SSL_OP_SINGLE_DH_USE flag.
- Syslogd:
- Ports and packages:
- Many pre-built packages for each architecture:
- alpha: xxxx
- amd64: xxxx
- hppa: xxxx
|
- i386: xxxx
- mips64: xxxx
- mips64el: xxxx
|
- powerpc: xxxx
- sh: xxxx
- sparc64: xxxx
| |
- Some highlights:
- Chromium 48.0.2564.97
- Emacs 21.4 and 24.5
- GCC 4.9.3
- GHC 7.10.3
- GNOME 3.18.2
- Go 1.5.3
- Groff 1.22.3
- JDK 1.7.0.80 and 1.8.0.45
- KDE 3.5.10 and 4.14.3 (plus KDE4 core updates)
- LLVM/Clang 3.5 (20140228)
- LibreOffice 5.0.4.2
- MariaDB 10.0.23
- Mono 4.2.1.102
- Mozilla Firefox 38.6.0esr and 44.0
- Mozilla Thunderbird 38.5.1
|
- Node.js 4.2.6
- OpenLDAP 2.3.43 and 2.4.43
- PHP 5.4.45, 5.5.31 and 5.6.17
- Postfix 3.0.3
- PostgreSQL 9.4.5
- Python 2.7.11, 3.4.4 and 3.5.1
- R 3.2.3
- Ruby 1.8.7.374, 2.0.0.648, 2.1.8, 2.2.4 and 2.3.0
- Rust 1.6.0
- Sendmail 8.15.2
- Sudo 1.8.15
- Tcl/Tk 8.5.18 and 8.6.4
- TeX Live 2014
- Vim 7.4.900
- Xfce 4.12
|
|
- As usual, steady improvements in manual pages and other documentation.
- The system includes the following major components from outside suppliers:
- 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)
- Gcc 4.2.1 (+ patches) and 3.3.6 (+ patches)
- Perl 5.20.2 (+ patches)
- SQLite 3.9.2 (+ patches)
- NSD 4.1.7
- Unbound 1.5.7
- Ncurses 5.7
- Binutils 2.17 (+ patches)
- Gdb 6.3 (+ patches)
- Less 458 (+ patches)
- Awk Aug 10, 2011 version
How to install
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.
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:
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!
OpenBSD/i386:
The OpenBSD/i386 release is on CD1.
Boot from the CD to begin the install - you may need to adjust
your BIOS options first.
If your machine can boot from USB, you can write install59.fs or
miniroot59.fs to a USB stick and boot from it.
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.
If you are planning on dual booting OpenBSD with another OS, you will need to
read INSTALL.i386.
OpenBSD/amd64:
The OpenBSD/amd64 release is on CD2.
Boot from the CD to begin the install - you may need to adjust
your BIOS options first.
If your machine can boot from USB, you can write install59.fs or
miniroot59.fs to a USB stick and boot from it.
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.
If you are planning to dual boot OpenBSD with another OS, you will need to
read INSTALL.amd64.
OpenBSD/macppc:
Burn the image from a mirror site to a CDROM, and power on your machine
while holding down the C key until the display turns on and
shows OpenBSD/macppc boot.
Alternatively, at the Open Firmware prompt, enter boot cd:,ofwboot
/5.9/macppc/bsd.rd
OpenBSD/sparc64:
Put CD3 in your CDROM drive and type boot cdrom.
If this doesn't work, or if you don't have a CDROM drive, you can write
CD3:5.9/sparc64/floppy59.fs or CD3:5.9/sparc64/floppyB59.fs
(depending on your machine) to a floppy and boot it with boot
floppy. Refer to INSTALL.sparc64 for details.
Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
will most likely fail.
You can also write CD3:5.9/sparc64/miniroot59.fs to the swap partition on
the disk and boot with boot disk:b.
If nothing works, you can boot over the network as described in INSTALL.sparc64.
OpenBSD/alpha:
Write FTP:5.9/alpha/floppy59.fs or
FTP:5.9/alpha/floppyB59.fs (depending on your machine) to a diskette and
enter boot dva0. Refer to INSTALL.alpha for more details.
Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
will most likely fail.
OpenBSD/hppa:
OpenBSD/landisk:
Write miniroot59.fs to the start of the CF
or disk, and boot normally.
OpenBSD/loongson:
Write miniroot59.fs 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.
OpenBSD/luna88k:
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.
OpenBSD/octeon:
After connecting a serial port, boot bsd.rd over the network via DHCP/tftp.
Refer to the instructions in INSTALL.octeon for more details.
OpenBSD/sgi:
To install, burn cd59.iso on a CD-R, put it in the CD drive of your
machine and select Install System Software 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.
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.
OpenBSD/socppc:
After connecting a serial port, boot over the network via DHCP/tftp.
Refer to the instructions in INSTALL.socppc for more details.
OpenBSD/vax:
Boot over the network via mopbooting as described in INSTALL.vax.
OpenBSD/zaurus:
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.
How to upgrade
If you already have an OpenBSD 5.8 system, and do not want to reinstall,
upgrade instructions and advice can be found in the
Upgrade Guide.
Notes about the source code
src.tar.gz contains a source archive starting at /usr/src. This file
contains everything you need except for the kernel sources, which are
in a separate archive. To extract:
# mkdir -p /usr/src
# cd /usr/src
# tar xvfz /tmp/src.tar.gz
sys.tar.gz contains a source archive starting at /usr/src/sys.
This file contains all the kernel sources you need to rebuild kernels.
To extract:
# mkdir -p /usr/src/sys
# cd /usr/src
# tar xvfz /tmp/sys.tar.gz
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 here.
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.
Ports Tree
A ports tree archive is also provided. To extract:
# cd /usr
# tar xvfz /tmp/ports.tar.gz
Go read the ports 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.
The ports/ directory represents a CVS (see the manpage for
cvs(1) if
you aren't familiar with CVS) checkout of our ports. As with our complete
source tree, our ports tree is available via
AnonCVS.
So, in order to keep up to date with the -stable branch, you must make
the ports/ tree available on a read-write medium and update the tree
with a command like:
# cd /usr/ports
# cvs -d anoncvs@server.openbsd.org:/cvs update -Pd -rOPENBSD_5_9
[Of course, you must replace the server name here with a nearby anoncvs
server.]
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.
If you're interested in seeing a port added, would like to help out, or just
would like to know more, the mailing list
ports@openbsd.org is a good place to know.