OpenBSD Journal

OpenBSD 4.8 Released!

Contributed by sean on from the dept.

Theo de Raadt announces the official release of OpenBSD 4.8!

This release adds better suspend and resume as well as new IKE and LDAP daemons, a bunch of network and SCSI stack improvements and much more! See after the jump for an excerpt the full release announcement.

Place an order worldwide or order it from the shop closest to you, or if you only download from FTP then make a donation. If you do FTP your release (keep in mind it will take some time for mirrors to sync up), be sure to use a local mirror and not the main ftp server:
o  Europe (Sweden)
o  Oldenburg, Germany       o  Vienna, Austria
o  Brisbane, Australia       o  Colorado, USA
o  California, USA      
o  Michigan, USA      

  • 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 800x480 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 uscanner(4) drivers have been removed.
    • Improved robustness of several SCSI/SAS/RAID HBA drivers, including mpi(4), mpii(4) and ciss(4).
  • 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 mpe(4), ldpd(8), and bgpd(8).
    • bgpd(8) supports multiple FIBs and it is possible to assign them to RIBs for redistribution.
    • 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 bgpd(8).
    • Added support for ping6 and traceroute6 in bgplg(8) and bgplgsh(8)
    • 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 ldpd(8) including correct penultimate hop popping, better session handling, and a imporved config file parser.
  • Generic network stack improvements:
    • ifconfig(8) and route(8) get better Multiprotocol Label Switching support.
    • traceroute(8) now supports extended ICMP headers which allows printing of MPLS labels.
    • Support for RFC 4941 privacy extensions for stateless address autoconfiguration has been added to inet6(4) and can be enabled via ifconfig(8).
    • 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 gre(4).
    • Added MPLS support to gif(4).
    • 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. ospfd(8) 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 setlocale(3) now supports the en_US.UTF-8 locale.
    • posix_madvise(2), posix_memalign(3), strndup(3), and strnlen(3) 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 aucat(1), including seeking within .wav files
    • A new record-what-you-hear feature was added to aucat(1).
    • The minimum extra latency of the aucat(1) 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.
    • wsconsctl(8) now handles more than one keyboard, mouse and display.
    • Many memory leaks have been fixed in various userland utilities.
    • amd64, i386, hppa, sparc64, socppc and macppc 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 relays.
    • 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 /etc/pkg.conf `installfrom' entry to the public mirror used while installing or upgrading.
    • sysmerge(8) now automatically installs missing users and groups.
  • OpenSSH 5.5:
    • New features:
      • Added a ControlPersist option to ssh_config(5).
      • 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 certificates. sshd(8) 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 scp(1) 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) and sshd(8): 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 (bz#1746).
      • 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 man(7) sources.
    • 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 pod2man(1).
    • Many parser improvements, in particular mdoc(7) 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 5,800 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) o Gcc 2.95.3 (+ patches), 3.3.5 (+ patches) and 4.2.1 (+patches) (depends on the architecture)
    • 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)

(Comments are closed)

  1. By Denis (Denis) on

    Many thanks to all the developers and testers :)

  2. By Alexander (sasha) on

    Good news!
    Thanks to the developers for their hard work!

  3. By Medina Clavijo (ventejuy) on

    Making a donation, and downloading ISO.
    Thanks for the hard work.


Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]