The OpenBSD 4.8 Release

Valic —  November 2, 2010 — Leave a comment

What’s New

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

  • New/extended platforms:
    • i386 and amd64:
      • ACPI-based suspend/resume works on most machines with Intel/ATI video.
        Machines using NVidia graphics will not resume the graphics. cardbus(4) and
        pcmcia(4) will still have some problems, too.
  • Improved hardware support, including:
    • New acpisony(4)
      driver for Sony ACPI control.

    • New itherm(4)
      driver for Intel 3400 temperature sensor.

    • New se(4)
      driver for SiS 190 10/100/Gigabit Ethernet devices.

    • New uguru(4)

      driver for ABIT temperature, voltage and fan sensors.

    • New owctr(4)
      driver for 1-Wire counter devices.

    • New pgs(4)
      driver for Programmers Switch found on some macppc machines.

    • Support for 82576 fiber and 82577/82578 (PCH) based devices
      has been added to em(4).

    • Support for 24-bit encodings and USB 2.0 playback
      has been added to uaudio(4).

    • Support for Winbond/Nuvoton W83627DHG-P
      has been added to wbsio(4).

    • Support for RTL8168E
      has been added to re(4).

    • Support for 800×480
      has been added to udl(4).

    • Support for M-audio Audiophile 192k
      has been added to envy(4).

    • Support for Intel Core i3/i5 internal graphics (Ironlake)
      has been added to inteldrm(4)

      and agp(4).

    • The ss(4) and
      drivers have been removed.

    • Improved robustness of several SCSI/SAS/RAID HBA drivers, including
      mpii(4) and

  • New tools:
    • iked(8),
      an Internet Key Exchange version 2 (IKEv2) daemon.

    • ldapd(8),
      a Lightweight Directory Access Protocol (LDAP) daemon.
  • Filesystem midlayer improvements:
    • fix internal locking in (still experimental!) NTFS.
  • OpenBGPD, OpenOSPFD and other routing daemon improvements:
    • bgpd(8) control sockets are now specified in the config file. This removes the -s and -r arguments to bgpd.
    • Extended the BGP MPLS VPN support to allow Layer-3 MPLS VPNs to be
      terminated on OpenBSD with the help of
      ldpd(8), and

    • bgpd(8)

      supports multiple FIBs and it is possible to assign them to RIBs for

    • bgpd now supports to use neighbor-as in AS filter statements and added
      two new filters — max-as-seq and max-as-len — to limit the length of
      a sequence of a single AS or the total length of an AS path.

    • Added softreconfig support in bgpd for peers changing the RIB.
    • Fixed multiprotocol MRT dumps and added 4-byte AS-Number support in

    • Added support for ping6 and traceroute6 in

    • ospfd(8)

      has better LSA pruning and config reload support.

    • ospf6d(8)
      now supports LSAs larger than the link MTU, has improved interoperability
      with other OSPFv3 implementations, can redistribute the default route,
      and will correctly handle IPv6 prefixes advertised by neighbours on
      the same link but not configured on the router itself.

    • Various improvements in
      including correct penultimate hop popping, better session handling,
      and a improved config file parser.
  • Generic network stack improvements:
    • ifconfig(8) and

      get better Multiprotocol Label Switching support.

    • traceroute(8)
      now supports extended ICMP headers which allows printing of MPLS

    • Support for RFC 4941 privacy extensions for stateless address
      autoconfiguration has been added to inet6(4) and can be enabled via

    • ifconfig(8)
      now supports random selection of MAC addresses.

    • tcpdump(8)

      now decodes Multicast Listener Discovery version 2 and
      Internet Key Exchange version 2 traffic.

    • enc(4) and
      ipsec(4) are now
      aware of routing domains.

    • dhcpd(8) and
      dhclient(8) and
      are now capable of running in different routing domains.

    • Added MPLS support and a simple keepalive mechanism to

    • Added MPLS support to

    • Support for 802.1ad-style QinQ nested VLANs with the addition of
      svlan(4) (service VLAN) interfaces.

    • Added a RTM_DESYNC routing message as indicator that route messages
      got dropped because of insufficent buffer space.

      uses this message to keep the internal view of the routing table in sync.

  • SCSI improvements:
    • better cd(4) detaching.
    • better st(4) sense data and buf handling.
    • eliminate excessive delays when starting DVD playing.
    • ask only for minimal (i.e. 18 bytes) sense data, fixing usb devices.
    • migrate to using bufq.
    • always try READ CAPACITY 16 on devices claiming to be SCSI-3.
    • many performance and reliability improvements as a result of new SCSI midlayer:
      • introduce round-robin scheduling of resources for outstanding device commands to prevent a single device from monopolising the bus.
      • significant reduction in memory consumption used for tracking devices attached to buses.
      • eliminate many unnecessary splbio/splx calls in SCSI drivers.
      • eliminate many use after free’s exposed by new SCSI midlayer.
      • eliminate scsi_scsi_cmd(), simplifying calling inside SCSI midlayer.
      • eliminate struct scsi_device.
      • eliminate many uninitialized data references and invalid scsi_done() calls exposed by new SCSI midlayer.
      • eliminate use of EAGAIN.
      • eliminate almost all uses of NO_CCB and XS_NO_CCB.
  • Assorted improvements:
    • mbtowc(3) multi-byte/wide-character conversion functions
      have been added to the C library, and

      now supports the en_US.UTF-8 locale.

    • posix_madvise(2),
      strndup(3), and
      have been added to the C library.

    • The event(3) library
      was updated to version 1.4.14b.

    • The pthreads(3) library
      now implements the pthread_rwlock_timed{rd,wr}lock interfaces.

    • AES-NI support has been integrated into the OpenSSL
      crypto(3) library.

    • MIDI control in non-server mode was added to
      including seeking within .wav files

    • A new record-what-you-hear feature was added to

    • The minimum extra latency of the

      server was lowered to a single block, improving
      usability of low-latency programs without stability compromise.

    • disklabel(8)
      now supports unique disk identifiers.

    • ftp(1)
      now handles redirection to relative URLs in the Location: header
      of HTTP responses.

    • lint(1)
      now recognizes the C99 data types _Bool and _Complex
      and some related gcc extensions.

    • make(1)
      now allows variables in SysV modifiers,
      and implements the :QL (quote list) modifier.

    • man(1) now allows to combine the -s option with -m or -M.
    • Improved directory editing in mg(1).
    • newfs(8) has been tweaked to better support large file systems.
    • od(1)

      now supports the POSIX -A option to select an input address base.

    • sendbug(1)
      now includes the output of usbdevs -v into the template.

    • smtpd(8)
      now supports the SIZE and ENHANCEDSTATUSCODES extensions
      and the “plain” backend for maps, and performance was improved when handling large amounts of mail.

    • snmpd(8)
      now supports the IP-FORWARD-MIB.

    • wsconsctl(8) now handles more than one keyboard, mouse and display.
    • Many memory leaks have been fixed in various userland utilities.
    • amd64,
      socppc and

      platforms were switched over to gcc4.

    • newfs(8) now makes FFS2 the default for partitions larger than INT_MAX blocks.
    • dhcpd(8) now includes the server id in NAK messages, as required by some

    • disklabel(8) now aligns the start and end of FFS partitions on bsize boundaries where it can, to improve performance on 4096-byte block devices.
    • by default, read and write caching is now turned on for non-USB scsi disks.
    • getdirentries(2) now checks to ensure that it doesn’t wrap or truncate directory information on architectures where LONG is a different size from LONG LONG.
    • disklabel(8) now ensures correct physical bounds and disk size are used when building a disklabel from saved ascii disklabel.
    • it is again possible to build a bsd.rd that has DDB.
    • pms(4) now works much better with various trackpads and over suspend/resume cycles.
    • fdisk(8) now aligns the OpenBSD partition on a power of 2 block boundary to improve performance on 4096-byte block devices.
    • nfsd(8) now logs start up errors to the system log as well as the console.
    • nfsd(8) now errors out if given an invalid number of servers to run.
  • Install/Upgrade process changes:
    • If the system time is off by more than 120 seconds, ask if the user
      wants to set it accordingly.

    • disklabel(8)
      now allows to customize auto allocated labels using the -R option.

    • Default network install method changed from FTP to HTTP.
    • Automatically set
      `installfrom’ entry to the public mirror used while installing or upgrading.

    • sysmerge(8) now automatically installs missing users and groups.
    • Eliminate more excessively chatty remarks during install.
    • Handle disk UID partitions better.
  • OpenSSH 5.6:
    • New features:
      • Added a ControlPersist option to

      • Hostbased authentication may now use certificate host keys.
      • ssh-keygen(1)

        now supports signing certificate using a CA key that has been stored
        in a PKCS#11 token.

      • ssh(1)
        will now log the hostname and address that we connected to at
        LogLevel=verbose after authentication is successful to mitigate
        “phishing” attacks.

      • Expand %h to the hostname in ssh_config Hostname options.
      • Allow ssh-keygen(1)
        to import and export of PEM and PKCS#8 keys.

      • sshd(8)
        will now queue debug messages for bad ownership or permissions on
        the user’s keyfiles encountered during authentication.

      • ssh(1)

        connection multiplexing now supports remote forwarding with
        dynamic port allocation and can report the allocated port back to
        the user.

      • sshd(8)
        now supports indirection in matching of principal names listed in
        now has a new AuthorizedPrincipalsFile option.

      • Additional sshd_config(5)
        options are now valid inside Match blocks:

        • AuthorizedKeysFile
        • AuthorizedPrincipalsFile
        • HostbasedUsesNameFromPacketOnly
        • PermitTunnel
    • The following significant bugs have been fixed in this release:
      • The PKCS#11 code now retries a lookup for a private key if there is
        no matching key with CKA_SIGN attribute enabled (bz#1736).

      • Unbreak strdelim() skipping past quoted strings.
      • sftp(1):
        fix swapped args in upload_dir_internal() (bz#1797).

      • Fix a longstanding problem where if you suspend
        at the password/passphrase prompt the terminal mode is not restored.

      • Fix a PKCS#11 crash on some smartcards by validating the length
        returned for C_GetAttributValue (bz#1773).

      • sftp(1):
        fix ls in working directories that contain globbing
        characters in their pathnames (bz#1655).

      • Print warning for missing home directory when
        ChrootDirectory=none. (bz#1564).

      • sftp(1):
        fix a memory leak in do_realpath() error path (bz#1771).

      • ssh-keygen(1):
        Standardise error messages when attempting to open
        private key files to include “progname: filename: error reason” (bz#1783).

      • Replace verbose and overflow-prone Linebuf code with
        read_keyfile_line() (bz#1565).

      • Include the user name on “subsystem request for …” log messages.
      • ssh(1)

        remove hardcoded limit of 100 permitopen clauses and port forwards
        per direction (bz#1327).

      • sshd(8):
        ignore stderr output from subsystems to avoid hangs if a subsystem
        or shell initialisation writes to stderr (bz#1750).

      • Skip the initial check for access with an empty password when
        PermitEmptyPasswords=no (bz#1638).

      • sshd(8):
        fix logspam when key options (from=”…” especially) deny
        non-matching keys (bz#1765).

      • ssh-keygen(1):
        display a more helpful error message when $HOME is
        inaccessible while trying to create .ssh directory (bz#1740).

      • ssh(1):
        fix hang when terminating a mux slave using ~ (bz#1758).

      • ssh-keygen(1):
        refuse to generate keys longer than
        OPENSSL_[RD]SA_MAX_MODULUS_BITS (bz#1516).

      • Suppress spurious tty warning when using -O and stdin is not a tty

      • Kill channel when pty allocation requests fail (bz#1698).
  • Mandoc 1.10.5:
    • The mandoc(1)
      utility is now used to build all manuals in the base system
      and in Xenocara from
      mdoc(7) and


    • New integrated roff preprocessor with minimal support for conditional
      requests, nested roff requests, string definitions, roff registers,
      also parsing and ignoring macro definitions.

    • Improved support for manual pages generated by

    • Many parser improvements, in particular
      support for word keeps, synopsis mode in arbitrary sections,
      graceful handling of badly nested blocks, and improved parsing
      of column displays.

    • New PostScript and PDF output frontends.
    • Many ASCII and HTML output formatting improvements, for example
      proper synopsis indentation and improved end-of-sentence detection.

    • Considerably improved syntax checking and error reporting.
  • Over 6,400 ports, major robustness and speed improvements in package tools.
  • Many pre-built packages for each architecture:
    • i386: 6218
    • sparc64: 5950
    • alpha: 5827
    • sh: 1100
    • amd64: 6166
    • powerpc: 5996
    • sparc: 4130
    • arm: 5628
    • hppa: 5632
    • vax: 1528
    • mips64: 3632
    • mips64el: 4486

    Some highlights:

    • Gnome 2.30.2.
    • KDE 3.5.10.
    • Xfce 4.6.2.
    • MySQL 5.1.48.
    • PostgreSQL 8.4.4.
    • Postfix 2.7.1.
    • OpenLDAP 2.3.43.
    • Mozilla Firefox 3.6.8 and 3.5.11.
    • Mozilla Thunderbird 3.1.1.
    • 3.2.1.
    • Emacs 21.4 and 22.3
    • Vim 7.2.444.
    • PHP 5.2.13.
    • Python 2.4.6, 2.5.4 and 2.6.5.
    • Ruby
    • Mono 2.6.4.
  • 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.5 with xserver 1.8 + patches,
      freetype 2.3.12,
      fontconfig 2.8.0, Mesa 7.8.2, xterm 258 and more)

    • Gcc 2.95.3 (+ patches), 3.3.5 (+ patches) and 4.2.1 (+patches)
    • Perl 5.10.1 (+ patches)
    • Our improved and secured version of Apache 1.3, with SSL/TLS
      and DSO support

    • OpenSSL 0.9.8k (+ patches)
    • Groff 1.15
    • Sendmail 8.14.3, with libmilter
    • Bind 9.4.2-P2 (+ patches)
    • Lynx 2.8.6rel.5 with HTTPS and IPv6 support (+ patches)
    • Sudo 1.7.2
    • Ncurses 5.7
    • Latest KAME IPv6
    • Heimdal 0.7.2 (+ patches)
    • Arla 0.35.7
    • Binutils 2.15 (+ patches)
    • Gdb 6.3 (+ patches)


Posts Twitter Facebook

Editor in Chief at Debian-Tutorials, Linux enthusiast.

No Comments

Be the first to start the conversation.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.