3.2

MrPond Released November 1, 2002
Copyright 1997-2002, Theo de Raadt.
ISBN 0-9731791-0-4
3.2 Song: "Goldflipper"

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 ports.tar.gz.


What's New

This is a partial list of new features and systems included in OpenBSD 3.2. For a comprehensive list, see the changelog leading to 3.2.

  • OpenSSH (supporting both the SSH1 and SSH2 protocols) is now at version 3.5. Privilege separation is now enabled by default for greater robustness.

  • Non-executable stack on i386, sparc, sparc64, alpha, powerpc. No-exec data and bss on sparc, sparc64, and alpha. This makes some classes of future potential buffer overflows unexploitable.

  • Apache runs chroot'd by default. To disable this, see the new -u option.

  • A very significant reduction in setuid binaries. Many of those binaries which still retain setuid have been modified so the operations needing root are done early on, and then privilege is revoked immediately after that.

  • Asymmetric and symmetric hardware encryption support is now enabled by default, if you have such devices in your machine.

  • As usual, improvements to the documentation, notably the man pages and the Web FAQ. A larger part of the website is now available in several languages.

  • More complete collection and better tested set of "ports". setuid/setgid ports have been significantly reduced as well. Many of the ones that remain setuid have been modified to revoke privileges as early as possible.

  • Over 1800 pre-built and tested packages.

  • Better video and X11 support for the OpenBSD/sparc, OpenBSD/sparc64 and OpenBSD/alpha ports.

  • A lot of enhancements and stability improvements to our packet filter, pf, including:
    • new "antispoof" keyword: spoofing protection made easy
    • much simplified rule file language
    • extended filtering capabilities
    • control state table entries on a per-rule granularity
    • support dynamic interface expansion. No more need to reload the ruleset on IP changes.

  • A new tool, systrace, for controlling in detail applications behaviour and rights at the system call level.

  • The system includes the following major components from outside suppliers:

    • XFree86 4.2.1 (and i386 contains 3.3.X servers also, thus providing support for all chipsets)
    • gcc 2.95.3 (+ patches)
    • perl 5.6.1 (+ patches)
    • Apache 1.3.26, mod_ssl 2.8.10, DSO support
    • OpenSSL 0.9.7beta3 (+ patches)
    • groff 1.15
    • sendmail 8.12.6
    • lynx 2.8.2rel.1 with HTTPS support added
    • sudo 1.6.6
    • ncurses 5.2
    • Latest KAME IPv6
    • KTH Kerberos 1.0.8
    • Heimdal 0.4e (+ patches)
    • OpenSSH 3.5

  • Many improvements for security and reliability (look for the red print in the complete changelog).


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 ftp (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 for extensive details on how to install OpenBSD 3.2 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:

Play with your BIOS options to enable booting from a CD. The OpenBSD/i386 release is on CD1. If your BIOS does not support booting from CD, you will need to create a boot floppy to install from. To create a boot floppy write CD1:3.2/i386/floppy32.fs to a floppy and boot via the floppy drive.

Use CD1:3.2/i386/floppyB32.fs instead for greater scsi controller support, or CD1:3.2/i386/floppyC32.fs for better laptop support.

If you are planning on dual booting OpenBSD with another OS, you will need to read the included INSTALL.i386 document.

To make a boot floppy under MS-DOS, use the "rawrite" utility located at CD:/3.2/tools/rawrite.exe. To make the boot floppy under a Unix OS, use the dd(1) utility. The following is an example usage of dd(1), where the device could be "floppy", "rfd0c", or "rfd0a".

# dd if=<file> of=/dev/<device> bs=32k

Make sure you use properly formatted perfect floppies with NO BAD BLOCKS or your install will most likely fail. For more information on creating a boot floppy and installing OpenBSD/i386 please refer to this page.

OpenBSD/alpha:

At the SRM prompt, enter boot -fi 3.2/alpha/bsd.rd dka6 where dka6 is the short name for the CDROM drive (you can check with show dev).

If you can't boot from CDROM, write CD1:3.2/alpha/floppy32.fs or CD1:3.2/alpha/floppyB32.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/macppc:

Put the CD2 in your CDROM drive and poweron 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 /3.2/macppc/bsd.rd

OpenBSD/vax:

Boot over the network via mopbooting as described in INSTALL.vax.

OpenBSD/sparc:

The 3.2 release of OpenBSD/sparc is located on CD3. To boot off of this CD you can use one of the two commands listed below, depending on the version of your ROM.

> boot cdrom 3.2/sparc/bsd.rd
or
> b sd(0,6,0)3.2/sparc/bsd.rd

If your sparc does not have a CD drive, you can alternatively boot from floppy. To do so you need to write "CD3:3.2/sparc/floppy32.fs" to a floppy. For more information see this page. To boot from the floppy use one of the two commands listed below, depending on the version of your ROM.

> boot floppy
or
> boot fd()

Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install will most likely fail.

If your sparc doesn't have a floppy drive nor a CD drive, you can either setup a bootable tape, or install via network, as told in the INSTALL.sparc file.

OpenBSD/sparc64:

Put the 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:3.2/sparc64/floppy32.fs to a floppy and boot it with boot floppy.
Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install will most likely fail.

You can also write CD3:3.2/sparc64/miniroot32.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


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/srcsys.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

The ports/ subdirectory is a checkout of the OpenBSD ports tree. Go read https://www.OpenBSD.org/faq/faq15.html 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.

Certainly, the OpenBSD ports system is not complete. It is doubtful it will ever be. However, it is growing very fast and getting more stable. Almost all ports provided with this release should build without problems on most architectures (over 2000 packages build on i386, for instance).

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 current with it, you must make the ports/ tree available on a read-write medium and update the tree with a command like:

# cd [portsdir]/; cvs -d anoncvs@server.openbsd.org:/cvs update -Pd -rOPENBSD_3_2

[Of course, you must replace the local directory and server name here with the location of your ports collection and a nearby anoncvs server.]

Note that most ports are available as packages on our mirrors. Updated packages for the 3.2 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.