

What's New
This is a partial list of new features and systems included in OpenBSD 4.0. For a comprehensive list, see the changelog leading to 4.0.
New/extended platforms:
- OpenBSD/armish.
Various ARM-based appliances, using the Redboot boot loader, currently only supporting the Thecus N2100 and IOData HDL-G.
- OpenBSD/sparc64.
UltraSPARC III based machines are now supported!
- OpenBSD/zaurus.
Support for the Zaurus SL-C3200.
Improved hardware support, including:
- New msk(4) driver for Marvell/SysKonnect Yukon-2 Gigabit Ethernet.
- New bnx(4) driver for Broadcom NetXtreme II Gigabit Ethernet.
- New xge(4) driver for Neterion Xframe/Xframe II 10Gb Ethernet.
- New rum(4) driver for Ralink Technology 2nd gen USB IEEE 802.11a/b/g wireless.
- New acx(4) driver for Texas Instruments ACX100/ACX111 IEEE 802.11a/b/g wireless.
- New pgt(4) driver for Connexant/Intersil Prism GT Full-MAC IEEE 802.11a/b/g wireless.
- New uath(4) driver for Atheros USB IEEE 802.11a/b/g wireless.
- New binary blob free wpi(4) driver for Intel PRO/Wireless 3945ABG IEEE 802.11a/b/g wireless.
- New arc(4) driver for Areca Technology Corporation SATA RAID; including RAID management via bio(4).
- New mfi(4) driver for LSI Logic & Dell MegaRAID SAS RAID; including RAID management via bio(4).
- New azalia(4) driver for generic High Definition Audio.
- New SD/MMC/SDIO drivers (sdhc(4), sdmmc(4)), currently supporting SD memory cards as fake SCSI sd(4) drives.
- New udcf(4) driver for Gude ADS Expert mouseCLOCK DCF77/HBG time signal station receivers.
- New uslcom(4) driver for Silicon Laboratories CP2101/CP2102 based USB serial adapters.
- New ucycom(4) driver for Cypress microcontroller based USB serial adapters.
- New uark(4) driver for Arkmicro Technologies ARK3116 based USB serial adapters.
- New umsm(4) driver for Qualcomm MSM EVDO based modems.
- New Dallas/Maxim 1-Wire bus support, including:
- New gpioow(4) driver for 1-Wire bus bit-banging through GPIO pin
- New onewire(4) 1-Wire bus driver
- New owid(4) 1-Wire ID family driver
- New owtemp(4) 1-Wire temperature family driver
- New isagpio(4) driver for ISA I/O mapped as GPIO.
- New nmea(4) line discipline for NMEA 0183 (GPS) devices. The new nmeaattach(8) utility can be used to receive NMEA 0183 data and provide the time received as a timedelta sensor to be used by, for example, ntpd(8).
- New VAX framebuffer drivers:
- New lcg(4) driver for VAXstation 4000/60 and VLC color frame buffers
- New lcspx(4) driver for Low-Cost SPX color frame buffers
- New gpx(4) driver for GPX color frame buffers
- smg(4) driver for Small Monochrome Graphics frame buffers heavily updated to be a modern wscons(4) driver
- Support for VAX-based Digital VXT2000 and VXT2000+ terminals.
- The bge(4) driver supporting newer chipsets, such as the Broadcom BCM5754, BCM5755, BCM5786, and BCM5787.
- The em(4) driver supporting newer chipsets, such as the Intel ESB2 and ICH8.
- The nfe(4) driver supporting newer chipsets, such as the NVIDIA MCP61 and MCP65.
- The re(4) driver supporting newer chipsets, such as the Realtek RT8101E, RT8168, and RT8169SC.
- The dc(4) driver supporting newer chipsets, such as the ADMtek ADM9511 and ADM9513.
- The pciide(4) driver supporting newer chipsets, such as:
- ATI IXP300 SATA, IXP600 IDE
- Intel 6321ESB IDE/SATA, 82801G SATA, and 82801H SATA
- IT Express IT8211F IDE
- NVIDIA MCP61 SATA, MCP65 SATA
- Promise PDC205xx SATA
- ServerWorks SATA
- VIA VT8237A SATA
- The mpt(4) driver has been replaced with mpi(4), a more stable driver that
- supports more hardware.
- The com(4) driver now supports pcmcia and cardbus cards on macppc.
- Working interrupt routing on Sun Netra t1 105, Ultra 60 and possibly other sparc64 systems.
- Work around broken VIA and NVIDIA MPBIOSes, fixes interrupt routing with GENERIC.MP on several systems.
- Initial bio(4) support for Compaq/HP ciss(4) Smart ARRAY 5/6 SAS/SCSI RAID controllers.
- Improved speed control on some systems:
- New SpeedStep detection code, also adds support for VIA C7-M, and several newer Pentium M's.
- Support SpeedStep in rudimentary fashion on most unknown CPU's that advertise the feature.
- Zaurus can be moved into slower speeds now too.
- The Pentium 4 Thermal Clock Control driver now supports more CPU's including the Intel Pentium M and Xeon, and provides an estimated performance impact.
- Numerous improvements to PowerNow K7 and K8 support on i386, and support for K8 was added to amd64.
- Support for Intel 945G/GM video chipsets (on i386).
- Support for additional I2C sensors:
- The adt(4) driver now supports the National Semiconductor LM9600, SMSC EMC6D10x and SMSC SCH5017 chips.
- The admtemp(4) driver now supports the Analog Devices ADM1023, Genesys
- Logic GL523SM and Global Mixed-mode Technology G781 chips.
New tools:
- GNU RCS has been replaced with OpenRCS.
New functionality:
- IPsec has been greatly improved:
- ipsecctl(8) has been greatly extended and completely supersedes ipsecadm(8):
- Lots of documentation improvements (man ipsec.conf)
- IPv6 support
- AH support
- Transport mode support
- Dynamic IKE support for roaming users
- USER_FQDN id support
- sasyncd(8) works much better:
- communicates with isakmpd(8), telling it to run active or passive depending on the master/slave state of the carp(4) interfaces. This makes IPsec failover setups much more robust.
- looks at the carp(4) interface group by default to suppress preemption of IPsec traffic during system boot.
- isakmpd(8) can now be safely configured by ipsecctl(8) on startup.
- ftp(1) now supports HTTPS.
- cdio(1) can now perform track-at-once burning and rewritable blanking.
- spppcontrol(8) and wicontrol(8) functionality has been merged into ifconfig(8).
- gcc(1) provides a new warning, -Wstack-larger-than-N, to report functions which are too greedy in stack variables, see gcc-local(1) for details.
- An in-kernel getcwd(3) implementation.
- A new system call adjfreq(2) to allow ntpd(8) to adjust the tick rate of the system clock automatically.
- Support for X11 on VAX has been added
- Virtual Allocation Table (VAT) support for UDF.
- C99 functions round(3), roundf(3), trunc(3), and truncf(3) have been added to libm, the math library.
- pf(4) now supports Unicast Reverse Path Forwarding (uRPF) checks for simplified ingress filtering.
- bpf(4) can now ignore packets based on their direction (inbound/outbound) using the BIOCSDIRFILT ioctl.
- pdisk(8) can now set up slices on HFS(DPME) partitioned disks on mac68k.
- New dissectors have been added to tcpdump(8):
- Cisco's VQP (VLAN Query Protocol)
- IEEE 802.1AB LLDP (Link Layer Discovery Protocol)
- trunk(4) now supports the new loadbalance mode to balance outgoing traffic based on hashed protocol header information.
- bioctl(8) has been extended to provide runtime information on rebuilds, scrubs and initialization.
- New sysctls to check the system vendor, product, version, serial number, and UUID.
- Equal cost multipath routing support. Needs to be enabled by a sysctl.
Prebind, a secure implementation of prelinking, has been added to ldconfig(8), it speeds up launching of shared binaries. Prebind is compatible with address space randomization, unlike prelink.
- vnconfig(8) can now use PKCS #5 PBKDF2 to create a more secure key when using encryption.
Assorted improvements and code cleanup:
- Much better time keeping for multiprocessor OpenBSD/i386 systems.
- Much improved implementation of telldir(3) and friends.
- Replacement of many malloc(3) calls that follow a pattern prone to integer overflow with safer constructs.
- Improved failover handling in carp(4):
- Extend the carp protocol with the demotion counter to act smarter on multiple failures.
- Group failovers now work without carp running preempt mode.
- Demotion can now be controlled via interface groups.
- chio(1) is now a useful tool for controlling tape changers.
- Much improved st(4) device setup, tape handling and error processing.
- Many dhclient(8) fixes, including 'alias' handling and improved interface initialization.
- scsi(4) devices detect the correct SCSI version.
- More umass(4) devices properly detected.
- Improved detection of fibre channel devices and devices in SCSI enclosures.
- The new RSSI header has been added to the ieee80211_radiotap(9) framework as a replacement for ANTSIGNAL headers.
- Many integer type safety cleanups with lint(1).
Install/Upgrade process changes
- Host specific site files add easy customization for individual hosts
- X Window aperture support, where available, now defaults to off
New functionality for hostapd(8), the Host Access Point Daemon:
- IP based roaming to build wireless networks without the requirement of a single broadcast domain.
- New event rules to match optional elements of radiotap headers: signal percentage, transmit rate and channel frequency.
- Various bug fixes and improvements.
OpenSSH 4.4:
- Conditional configuration in sshd_config(5) using the Match directive.
- This allows some configuration options to be selectively overridden if specific criteria (based on user, group, hostname and/or address) are met.
Add support for Diffie-Hellman group exchange key agreement with a final hash of SHA256.
- Added a ForceCommand directive to sshd_config(5), similar to the
- command="..." option in ~/.ssh/authorized_keys.
- Added a PermitOpen directive to sshd_config(5), similar to the permitopen="..." option in authorized_keys, to allow control over the port-forwardings that a user is allowed to establish.
- Added an ExitOnForwardFailure option to cause ssh(1) to exit (with a non-zero exit code) when requested port forwardings could not be established.
- Added optional logging of transactions to sftp-server(8).
- ssh(1) will now record port numbers for hosts stored in ~/.ssh/authorized_keys when a non-standard port has been requested.
- Extended the sshd_config(5) "SubSystem" directive to allow the specification of commandline arguments.
- Many manpage fixes and improvements
OpenBGPD 4.0:
- new nexthop selection logic ignoring bgpd routes, helps in complex setups with ospfd
- add a "detailed" show rib view to bgpctl, including communities
- allow requesting a route refresh from a peer that supports it
- have bgpd always report back the result of an operation to bgpctl, so the
- operator can spot errors quicker
- allow bgpd to manipulate carp demotion counters based on session states,
- gives even greater failover support
- support restarting sessions that reached max-prefix after a given time
- bgpctl can now show all routes received from a neighbor before filters were applied, and routes sent to neighbors
- assorted fixes and improvements, as usual
OpenOSPFD 4.0:
- Track uptime of the daemon itself.
- Track uptime of all ospf enabled interfaces.
- Adjust logging behaviour to prevent unwanted logging.
- Delay LSA updates when removing and adding - prevent flapping.
- Fix plaintext authentication.
- Improve the output of 'ospfctl show interfaces'.
- Support rtlabels when redistributing routes.
OpenNTPD 4.0:
- support timedelta sensors, such as DCF77 receivers supported by udcf(4) and GPS receivers supported by nmea(4).
- Adjust the kernel tick frequency, using adjfreq(2), improving accuracy on many machines.
- allow for weight to be added to sensors or servers, so that one can weight timedelta sensors higher than ntp peers
Over 3700 ports, 3400 pre-built packages, improved package tools.
Full support for pkg_add(1) over ssh(1), using one single connection.
As usual, steady improvements in manual pages and other documentation.
The system includes the following major components from outside suppliers:
- X.Org 6.9.0 (+ patches, and i386 contains XFree86 3.3.6 servers (+ patches) for legacy chipsets not supported by X.Org)
- Gcc 2.95.3 (+ patches) and 3.3.5 (+ patches)
- Perl 5.8.8 (+ patches)
- Apache 1.3.29, mod_ssl 2.8.16, DSO support (+ patches)
- OpenSSL 0.9.7j (+ patches)
- Groff 1.15
- Sendmail 8.13.8, with libmilter
- Bind 9.3.2-P1 (+ patches)
- Lynx 2.8.5rel.4 with HTTPS and IPv6 support (+ patches)
- Sudo 1.6.8p9
- Ncurses 5.2
- Latest KAME IPv6
- Heimdal 0.7.2 (+ patches)
- Arla 0.35.7
- Binutils 2.15 (+ patches)
- Gdb 6.3 (+ patches)
|