OpenBSD 3.9 released (May 1, 2006)
This is a partial list of the major machine-independent changes
(i.e., these are the changes people ask about most often). Machine
specific changes have also been made, and are sometimes mentioned
in the pages for the specific platforms.
There is a separate list of Changes to the ports collection.
Note: Problems for which patches exist are marked in red.
For changes in other releases, click below:
Changes made between OpenBSD 3.8 and 3.9
- Fixes for nfe(4), makes nfs+icsphy work again.
- Like i386, prioritise low 16M for isabus_dmable memory allocations on amd64. nvidia ethernet was robbing isadma of bounce buffers.
- On macppc, add smu(4) so we can read the clock off G5 machines.
- In nfe(4), make a special case for ciphy to ask for RGMII interfaces at 2.5V. Makes Cicada/Vitesse PHYs attached to nfe work.
- Switch atw(4) to software WEP. Fixes WEP on ADM8211A.
- Fix logout recording in ssh(1) when privilege separation is disabled.
- Fixes for ktrace when running emulated binaries.
- Create the xsession error file with correct permissions instead of chmod afterwards.
- Fix for tcp window update in the tcp input code.
- Handle soft interrupt frames in gdb(1) for i386.
- Fixes for link state in the ixgb(4) 10GE driver.
- Add initial version of vic(4), the VMWare vmxnet interface.
- Fix an error in mg(1) when a terminal is resized while it is suspended.
- In ospfd(8), keep track of the individual uptimes of the entries in the RIB. "ospfctl show rib" will display them now.
- Fix for sppp(4) on non-i386 arches. Fixes panic on alpha and makes cisco HLDC work again.
- Add TTTech MC322 to the rl(4) driver.
- Fix for the nfe(4) interrupt mitigation code.
- Allow child resource limits to be set in httpd(8).
- In the em(4) driver for 82544 and newer chips, increase the number of TX descriptors to 512.
- Add optional 3rd choice [y/N/a] for "always" in pkg_add(1).
- New default algoritm is AES, not 3DES in main mode. Document it in ipsec.conf(5).
- Overhaul of the bge(4) link handling so CARP will see link state on fibre cards.
- Add rm6 support for X11, a driver for Radeon Mobility M6 chipset.
- Performance improvements in ospfd(8) while receiving packets, and improvements in the way the LS list is traversed.
- Enable interrupt mitigation and fix h/w VLAN tagging in nfe(4).
- Add the TTTech MC322 to known pcidevs.
- Update time zone data to tzdata2006a with US DST changes disabled for now.
- In ral(4) fix a a problem could happen in HostAP mode where net80211 could free nodes when the driver was not expecting it.
- Fix a use after free in vi(1).
- Fix problems with processing large files that have large snaplens on 64 bit architectures in tcpdump(8).
- Allow the root path for an NFS server to be set via bootparamd(8) when netbooting Alpha machines.
- In pchb(4) find additional noncoherent HyperTransport links by looking at the HyperTransport configuration. Fixes the detection of missing PCI busses on various Opteron systems.
- In pcppi(4) do not bell if keyboard.bell.volume=0.
- Add support for IC Plus IP101 PHYs to rlphy(4).
- Add support for i915 devices to the kernel i810 AGP code.
- Fix a bug in uplcom(4) which effectively swapped the RTS and DTR lines.
- The NVIDIA nForce Ethernet driver (nfe(4)) now works for most people.
- Support another 5714 family chipset in bge(4).
- Add USB quirk required to make the CMOTech CM5100P EVDO card work with umodem(4).
- Fix LBA48 access for ServerWorks SATA in pciide(4).
- Add pcfadc(4) driver for Philips PCF8591 I2C Analogue to Digital Converters.
- Add configuration file options to bgpd.conf(5) for removing communities from the path attributes.
- Prevent neighbouring nodes in ospfd(8) from getting stuck in one FSM state.
- Fix a possible crash in vlan(4) that could occur if the parent interface of the vlan had been destroyed before destroying the vlan interface.
- In iic(9) allow controllers to pass a cookie to the device such as an OpenFirmware node.
- Add support for Panasonic 50" touch panel in uplcom(4).
- Fix a memory leak in grep(1).
- Improve support for TV tuning in radio(4).
- OpenSSH 4.3 is released.
- In X's mouse driver, check buffer size before reading next char, which fixes a long standing mouse bug.
- Add pcfiic(4), a driver for the Phillips PCF8584 i2c controller.
- Add support for VIA VT6410, Intel 82451NX (PIIX4) and 82801DBL (ICH4-L) to pciide(4).
- Fix local arbitrary command execution vulnerability on local/local and remote/remote copies in scp(1)/sftp(1).
- In pf(4), the TCP SACK option needs sequence number modulation.
- Add basic radiotap support to an(4).
- Disable iic(4) when ipmi(4) is enabled - fixes machines that freak out when more than one driver touches the i2c devices.
- Fix HMAC calculation in carp(4).
- Implement HTTP proxy authentication support in nc(1).
- In ossaudio(3), fix a problem leading to unintentional changes of the audio settings with certain applications.
- Support Path MTU Discovery for link2 ipsec bridges (see bridge(4)).
- Add evbuffer_add_vprintf(3) interface to libevent.
- Support more models (and MII) in sm(4).
- Fix UDMA on the IDE function integrated on the VIA VT8237 south bridge.
- Fix a cross-site scripting vulnerability in httpd(8)'s mod_imap.
- apmd(8) performance modes tweaks; show CPU speed in apm output.
- Active development on acpi(4).
- In pf(4) traffic normalization (scrub) code, fix a bug leading to kernel panics due to double-insertion in the fragment cache.
- In ipsecctl(8), add support for pre-shared keys with "ike esp" using the new keyword "psk".
- Add wbenv(4), a driver for the Winbond W83L784R/W83L785R/W83L785TS-L hardware monitor.
- Add gpioiic(4), a driver for I2C bus bit-banging through GPIO pins.
- In macppc wdc(4), allow proper detaching so that detaching a mediabay device works as expected.
- Add lldiv(3), imaxabs(3), imaxdiv(3), strtoimax(3) and strtoumax(3) to libc/stdlib.
- Add Path MTU discovery for NAT-Traversal (see isakmpd(8)).
- Move to using GDT only (no more LDT in the general case) with a variable limit selector, to allow the W^X line to float much more dynamically.
- Fix checksumming on little endian systems in hme(4).
- Fix a crash in less(1) that occurred with files with very long lines.
- Fix a tun(4)/bridge(4) crash that could occur in certain circumstances.
- Fix the axe(4) driver on the big endian architectures.
- Rework the an(4) driver for net80211 support and support for newer hardware, as well as remove the need for ancontrol.
- In ral(4), add preliminary support for Ralink Technology RT2561, RT2561S and RT2661 chipsets.
- In signal.h, expose structs sigcontext/sigstat/sigaltstack for XPG4.2 compliance.
- In vfscanf(3), fix the handling of negative hexadecimal numbers in integer formats.
- Add real C99 stdint.h and inttypes.h headers.
- Make it possible to set a default vlan priority to a vlan(4) interface.
- Many rtw(4) (Realtek RTL8180L) improvements.
- On mac68k, switch to real keyboard and mouse drivers and wscons(4) as console. Also XF4 server support added for mac68k for the wsfb driver.
- Add nviic(4), a driver for the NVIDIA nForce2/3/4 SMBus controllers.
- bgpd(8) and ospfd(8) improvements.
- In ip_input(), fix a case where pf(4)-modified packets could send icmp errors with corrupted payload.
- Fix for a perl sprintf buffer overflow.
- A fix in pxeboot(8) to help older PXE clients.
- In uaudio(4), fix a potential crash when changing parameters with audioctl(1).
- For macppc, switch from the maciic(4) driver to the general iic(4) infrastructure, simplifying the future.
- Add amdiic(4), an AMD-8111 SMBus controller driver.
- Add asbtm(4) driver for the Asus ASB100 sensors.
- Merge with X.Org 6.9.
- W^X support for macppc G5's.
- Enable ichiic(4) on amd64 GENERIC too.
- Add VMWare virtual NIC device id to pcidevs list.
- In ospfd(8), use a timewheel instead of a simple timer per neighbor for the LS retransmission list. Makes it possible to cluster multiple LSA updates into one OSPF packet, giving massive speedups when large databases need to be synced.
- Add 'include' support to hostapd.conf(5).
- Fix the last pieces for hppa rthreads support.
- Import tftp-proxy, a PF proxy for the TFTP protocol.
- Split the <errno.h> from <sys/errno.h> which now only contains errno values.
- Let gdb(1) skip the ld.so resolver on sparc and sparc64, making stepping into functions in shared libraries work.
- Fix single stepping over system calls in gdb(1) for sparc and sparc64.
- Updates to the adaptec scsi driver timeout code.
- Add lots of i2c bus drivers to alpha, amd64 and i386.
- On mvme88k, keep an array of command blocks instead of using malloc/free for every scsi command. Also remove the 1:1 association between scsi targets and work queues.
- Fix a possible crash in lynx(1), backported from 2.8.6dev16.
- Fix possible overflow in the tabstops array in expand(1).
- Add a public domain sdiff(1) to the tree.
- i2c sensor code now works on sparc64 v120 too.
- Add sparc, sparc64 and mips64 support to rthreads, and add fixes for alpha, powerpc, amd64 and i386.
- Added a basic ipsec.conf for ipsecctl(8).
- Add m68k, m88k, vax support to rthreads.
- Added support for Nintendo Wi-Fi USB driver in ral(4).
- Lots and lots of i2c drivers added and workarounds for quirks in various chipsets.
- Add emu(4) and missing midi attachment on macppc eap(4).
- Enable ichiic(4) on i386 GENERIC.
- Fully implemented microtime() on arm/xscale cpus.
- Rework PHY setup, media handling and dualport detection on sk(4).
- Teach gdb(1) about i386 interrupt frames.
- Disable Zaurus lcd dma when screen is closed. May give performance improvements.
- Make sure MMX/SSE includefiles are installed on amd64.
- Teach gdb(1) how to unwind i386 and amd64 kernel trap frames.
- On hp300 and hppa, postpone hil console detection to the first detection of a keyboard.
- On Zaurus, allow sysctl machdep.lidsuspend=1 to cause suspend on screen closure. Opening does not yet wake it up though.
- Make sure userland programs include <errno.h> and not <sys/errno.h>.
- Reworked signal handling in isakmpd(8) and make sure it removes it's pid/fifo on exit.
- Add machdep.maxspeed sysctl(8) for Zaurus to change the meaning of hw.setperf=100.
- Various fixes in mg(1).
- Make ssh(1) uses exitcode 255 on errors to match documentation.
- Make sure zaurus returns to the speed it was at before, when doing wakeup.
- Switch zaurus to use clock4 instead of clock0 so we get clocks when running at 91MHz.
- kqueue(2) fix in libevent.
- Make "cksum -c" understand checklists made with cksum, sum and sysvsum.
- Add tpms(4),
an Apple touchpad driver for the newer PowerBooks and iBooks.
- Add %hhd format to *printf(3)/*scanf(3) and %z to *scanf(3).
- Add ichiic(4),
Intel ICH SMBus driver to be used with the
- libresolv has been removed.
- Fix ipmi(4)
bugs which had caused instabilities and crashes during boot on some machines.
- Initial support for an NVIDIA nForce Ethernet driver (nfe), not yet
- Prevent recursive interrupts with an i386 MP kernel which lead to
kernel stack overflow under heavy network interrupt load.
- Add M-x lint
mode to mg(1).
- Fix a huge delay attaching
on some macppc machines.
- In hostapd(8),
add an option to increase the multicast TTL so one can use inter-network
multicast forwarding of hostapd messages.
- Compile all system libraries with
to aid in the debugging usefulness of a default system.
- Do not allow setuid/setgid processes to open /dev/fd/# (see
as documented in
- Fix ISC nslookup(1)
to print the ">" prompt to stdout as historically done, as scripts depend on this
- Add support for tun(4)
forwarding over ssh(1) -
a simple way to use OpenSSH for ad hoc virtual private network connections, like secure
- Remove fdescfs (file-descriptor file system).
- Add IPIP support to
to tunnel IP traffic over IP without setting up gif(4) interfaces.
- Add support to bktr(4)
to tune the channel via
the corresponding features to
- In top(1),
add support for toggling thread viewing (-T option).
- Beginning support for kernel threads (rthreads), non-default for now.
The implementation uses
to create threads, and there are several new syscalls added to facilitate
a userland thread library.
- Add threads support to gdb(1).
- More lint(1)
hacking, recognise gcc __attribute__(x) and other noise-reducing improvements.
- Fix signal races in event(3).
- Tweaks to apmd(8)'s
automatic performance adjustment change (raise when needed) and new -C option
to have the old behaviour.
- Add initial SB Audigy support to
- More forward leaps for OpenCVS.
- In axe(4),
add support for ASIX AX88772 10/100 ethernet adapters that are similar
to the gigabit AX88178.
- Add -j option to date(1)
to suppress setting the clock, but parse the given argument (for format conversion or to test).
- In ssh-keygen(1),
enforce DSA key length to exactly 1024 bits and increase minimum RSA key size
to 768 bits.
- Many lint(1)
improvements, avoid various false positives.
- Make lynx(1)
instead of other random functions; fix a possible crash.
- A lot of mvme88k/luna88k improvements and fixes.
- In carp(4),
fix a bug where lower prioritized hosts would invalidly switch to
MASTER for a short time at boot-up.
- Make a trunk(4) interface's link state depend on the link states of the trunkports and fix a possible crash.
- Initial support for ASF in the bge(4) driver.
- Fix interrupt moderation timer frequences for Yukon/Yukon-II cards in sk(4).
- Re-introduce debugging aid for queue macros to sys/queue.h, disabled by default.
- Update xterm(1)
to version 207.
- Remove kernfs.
- In ipsecctl(8),
remove old-style keyed sha1/md5 - only hmac-sha1/md5 are supported.
- Various lint(1)
modernizations and infrastructure changes to facilitate its use.
- Make iwi(4)
work on big endian architectures.
- In ral(4),
implement the Adaptive Multi Rate Retry Algorithm (AMRR) for BSS mode and
other miscellaneous driver improvements.
- Permit apmd(8)
to run on systems without APM support and let it handle hw.setperf
manually or dynamically.
- In dhcpd(8),
fix problem of server looping with "already acking lease" when busy
With short lease times.
- In tcpdump(8),
add a printer for IAPP and hostapd(8) messages.
- Many improvements and added features to mg(1).
- In ipmi(4),
do extra checks to prevent crashes on machines with a buggy BIOS.
- Move contents of sys/select.h into sys/selinfo.h in preparation for a
userland-visible sys/select.h in consistence with other systems.
- Add esm(4),
a driver for Embedded Server Management for Dell PowerEdge servers.
- Perform Kerberos calls even for invalid users to prevent leaking information
about account validity in ssh(1).
- In siop(4),
fix microcode and driver to solve problems with interaction
with some problematic drives.
- Add hostapd(8)
support for multiple hostap (wireless) interfaces.
- In rtw(4),
add support for GCT GRF5101 based hardware.
- In bge(4),
correct a performance bug that remained from the original driver and
eliminate an unneeded and expensive PCI register write.
- In wi(4) usb,
add support for ViewSonic Airsync Prism 2.5 USB adapters.
- Remove lockmgr(9) kernel mechanism and access curproc directly
which is simpler and will avoid many bugs in the interface.
- In pcap(3),
avoid a memory error that could lead to a crash after a complex bpf filter was specified.
- Add support for onyx(4) audio device driver.
- A fix in macppc's i2s audio framework that makes iMac G5 sound work.
- Update pcap(3)
to libpcap-0.9.4's API and update tcpdump accordingly.
- Major improvements to the aac(4) device driver.
- In sd(4),
use sectors as the partition size unit. Fixes disklabel error messages for devices that have no OpenBSD disklabel and sectorsize larger than 512.
- Introduce new C99 math functions, lrint(3)/lround(3) families.
- In rup(1),
sort hosts when specified on the command line as well.
- Fix a buffer overflow in ftp-proxy(8).
- In tun(4),
fix automatic device creation so new devices get added to the proper
interface class group.
- Add zrc(4) driver on zaurus for the Sharp CE-RH2 remote control.
- Fix awacs(4)
mixer control names.
- Add support for pi2c(4),
the macppc I2C controller on via-pmu.
- Add maxds(4),
a driver for the maxim ds1631 temperature sensor.
- Add pcagpio(4),
a driver for the philips pca9554 i2c gpio device.
- In disklabel(8),
fix conversion of K units to handle case of sector size greater than 1024.
- In hostapd(8),
work towards multiple daemons running on one machine.
- Add admtmp(4),
a driver for the adm1030 temperature and fan controller.
- Add tsl(4),
a driver for the TAOS TSL2560/61 light sensors.
- In brgphy(4),
add DSP init code for more models (BCM5703 copper) and other revision-specific changes.
- Fix i386's exp(3)
implementation for arguments Inf/-Inf.
- Add adc(4),
a driver for the Analog Devices AD7417/7418 temperature sensor.
- Add maxtmp(4),
a driver for the Maxim6690 i2c dual temperature sensor.
- Make bktr(4)
work on alpha.
- In cron(8),
make sure changes made within a single second get taken into account (due
to the granularity of st_mtime this could misbehave).
- Add ixgb(4),
a driver for the LR/SR and CX4 Intel 10Gb Ethernet cards.
- Add lmenv(4),
a System Hardware Monitor device attaching to the i2c bus on macppc (so far).
- In sendmail's makemap(8),
do not hardwire Tab as delimiter as -t may specify it.
- In ifconfig(8),
add -descr/-description flags to clear interface description.
- Start at kgdb(7)
support for amd64.
- In scsi(4),
use 6 byte MODE SENSE commands for ATAPI Tape drives - the specification for them
is different from other ATAPI devices.
- Copy buffer in mg(1) before handing it to basename(), and improve error checking of snprintfs.
- Add more stat counters to em(4).
- Rework the scsi delay code so attached umass(4) devices don't freeze the system shortly and also speeds up the scsi probing at boot.
- Add lock code to both ses(4) and safte(4) to prevent concurrent writes.
- Handle asprintf() failure in krb5 login handler.
- For m68k platforms, compute rough estimate of how much mem uvm_init() will allocate to prevent problems with early pmap inits.
- Provide useful information if the hp300 frodo(4) driver panics due to looping interrupts.
- Print hp300 HP-IB disk geometry the same way as scsi disk geometries.
- Add support for interface names as host specifications in ipsecctl(8).
- Fix filedescriptor leak and missing fclose() in ccdconfig(8).
- No longer require Alpha bootflags to be set to "a" so that "s" can be used to go single-user. Default is multiuser now.
- Add i2cbus to smu and i2c to maciic on the macpcc platform.
- Move ac(8) from monthly to weekly in /etc.
- Fix even more memleaks in sysctl(8).
- Make ipsecctl(8) handle transport/tunnel mode.
- Add support for VIA Rhine ethernet on macppc GENERIC and RAMDISK kernels.
- Move the ses(4) code to use sensor kthreads instead of its own.
- Make sure vax disksystem only touch associated processes of physical buffers.
- Fixed memory leak in sysctl(8).
- Several rounds of asprintf() replacing malloc()+snprintf().
- For macppc, print available memory at boot the same way as i386/amd64.
- Enable common editing keybindings in mg minibuffer mode.
- Make the Zaurus scan the keyboard more often, from 8 to 20 scans a second.
- in /etc/security, make sure not to scan afs/xfs directories.
- Tweak the timing on Zaurus power button for sleep and safe-shutdown.
- Code added to enable and disable keyclick on attach for sparc/sparc64.
- In exec_elf, let unusual linux binaries run even if all sections are marked writeable.
- Add maciic(4), an OpenFirmware aware version of iic(4) for macppc.
- Disable TRACE method for httpd, potential security risk and not that useful for debugging.
- Use more verbose error messages for the "bogus xmit rate" problem on ath.
- Disable ahc0 on ISA buses until bugs are found, causes too much problems for everyone else.
- getent(1) added to OpenBSD.
- Make sure libwrap uses correct size when zeroing fd sets.
- Split bios memory map into 4G segments on i386, and ignore parts beyond 4G.
- Move safte(4) over to the new kernel sensors framework.
- Handle unreadable dirs better in cp(1).
- Fix for checksum on 64bit arches in pax(1) when checking sv4cpio archives.
- In the IDE driver, don't fall back to fake geometry if other methods fail.
- dlopen() fixes in ld.so and support for RTLD_NOW added.
- Major splimp to splnet overhaul on various network drivers.
- Missing cast fixed in ISO9660 code, fixes PR 4480.
- Fix single stepping in gdb(1) for sparc64.
- Allow any PPC instructions in macppc kernels, since we need 64-bit and altivec instructions anyhow.
- bus_dma(9) support in san(4), makes it work on amd64.
- Lots of 'register' cleaning in vfs filesystem code.
- Add PCI ids for Intel Pro/10GbE CX4 adapters.
- Sync Intel Gigabit em(4) driver to v3.2.18.
- Better debug messages for scsi attach messages when size is unavailable.
- Allow ctrl-key patterns in mg(1) keybind function.
- Fixes to amd64 for upcoming kdgb support.
- spl fixes and graceful error handling for sf(4), sk(4), ste(4), tl(4), vge(4),vr(4) and wb(4).
- Add bus_dma support to de(4).
- Add LMC cPCI HSSI card support.to the lmc(4) driver.
- Steal code from pfctl(8) to improve address & mask handling in ipsecctl(8).
- Add keyboard bell support to dnkbd(4) on hp300.
- Add bus DMA and big endian support to lmc(4). Enable it on alpha, amd64, macppc, and sparc64 now.
- Add init code for BCM5421 to brgphy(4).
- Fix some resource leaks in error paths in ssh(1).
- Fix interrupt handling in trm(4) to avoid "overlapping command attempted" error.
- Fix lots of little issues in ospfd(8) so it handles time jumps gracefully and correctly keeps the candidate list sorted in cost order.
- Bump pf(4) state, byte, and packet counters to u_int64_t.
- Remove hardcoded key lengths in ssh(1) key exchange code, allowing implementation of KEX methods with different hashes (e.g. SHA-256).
- Add the required pieces to bgpd(8) to support the "filter drop" option.
- TCP sockets now inherit sack_enable from listening socket. This should allow connections with both SACK and md5 options in SYN.
- In ld.so(1), also allow shared libs with paths to use version matching rules, rather than requiring an exact match.
- Teach bgpd(8) how to parse IPv6 addresses.
- Simplify SCSI delay code so that we can support different delay lengths for different devices in some cases.
- In gem(4), handle TX underrun by resetting the chip.
- Support soft reconfig in bgpd(8). On config reload, filter changes in outgoing rules propagate to peers automatically.
- Add basic support for hw.setperf and hw.cpuspeed to change CPU MHz on zaurus.
- Add tumbler(4) audio driver for macppc.
- Add aoa(4) audio driver for macppc.
- Add daca(4) audio driver for macppc.
- Add ipcomp(4) support to ipsecctl(8).
- Make ftp(1) reget of partially downloaded files > 2GB work.
- Audit entire tree for misuse of QUEUE(3) macros, and put lots of thought into man pages so we show the exactly correct way to use them.
- Add preliminary powernow support on K8, and improve support on K7.
- Allow Sierra AC710 and AC750 pcmcia(4) wireless devices to attach.
- Allow pfsync(4) to attach states to their rules, as long as rulesets are the same. This makes altq(9) and per-rule settings to play nice with pfsync.
- Make em(4) more stable on hppa.
- Add very basic handling code for MCE and MCA on i386. This lets the system tell us when something has gone horribly wrong. amd64 should get this next.
- Fix a race condition in isakmpd(8) between DPD timeouts and exchange timeouts.
- Add support for I2S sound bus on macppc, this will allow us to write audio drivers for new Macs. snapper(4) can use it right now.
- Sync art(4) link state handling with sppp(4) and get blinkenlights for free.
- Sync pf(4)'s state modulation code with rest of the TCP stack.
- In netstart(8), do not process mygate if using dhcp for ipv4 or rtsol for ipv6.
- Allow nc(1) to set ToS bits.
- Revamp interrupt handling in em(4) for better performance.
- Rework multicast group deletion code for vlan(4)
and trunk(4) so it doesn't molest groups
on parent interface.
- OpenCVS rcsmerge(1) is working.
- Improve error reporting and progress meter display in pkg_add(1).
- Don't treat the processor in elansc(4)
as a Pentium when it's a 486.
- Fix RID handling in USB wi(4)
driver that should avoid some wicontrol(8) errors.
- Enable ipmi(4) on amd64.
- Add support for VT8237 to viaenv(4).
- In pciide(4),
don't try to match VIA IDE chips as ISA bridges.
- Add ability for ipmi(4)
to read power state, chassis intrusion, etc.
- Allow wi(4) channel to
be changed from ifconfig(8).
- Teach gcc(1)
how to unwind StackGhost when generating DWARF2 info.
- Add smu(4)
driver for fan speed control and real time clock on iMac G5's and some PowerMac G5's.
- In pf(4),
allow dynamic interface group expansion (e.g. "pass to group").
- In sis(4),
do not reset timer while packets are queued for transmission,
fixes device stalls in certain scenarios.
- In wi(4) usb,
fix command/write rid handling which makes scanning work to some
extent, and improves error reporting.
- In wc(1),
add -h option to display human-readable numbers.
- Some safety checks added to queue.h, to avoid accidents on certain
operations (eg. double list removal) being undetected.
- Make pf(4)
use one mbuf tag instead of 6 distinct ones and optimize the
lookup code, thus helping performance.
- In pciide(4),
fixup cache line on sii3114 controllers (as on sii3112). Also add VT8251 support.
- Sync with heimdal 0.7.
- Add v6 support to
- More rcs(1)
improvements toward GNU compatibility as well as OpenCVS progress.
- Many fixes and
improvements in ospfd(8).
- In ftp(1),
fix mget directory traversal vulnerability, CAN-2002-1345.
- In usb(4),
make all usb1 controllers sleep until all the usb2 controllers have probed
and handed over any usb1 devices to the companion. For example
this enables usb keyboards to be used before the root is mounted,
eg. to enter the root device.
- In adjtime(2),
fix arithmetic overflows which fixes adjusting in the wrong
direction for large offsets.
- macppc sysctl added to determine whether altivec is available
on the running CPU, with useful possibilities for applications.
- Beginning of macppc crashdump support added, as well
as much more macppc SMP progress.
- Various lge(4)
driver fixes, which turned it from a completely useless to a working driver,
now in GENERIC.
- In tcpdump(8),
add a "best effort" MPLS decoder - since the protocol info is not always available
in the tag, a "guess" is done.
- In vfs(9),
undo a very old change which was never quite finished, and could
cause severe corruption in the buffer lists by removing a buffer
from the hash twice.
- Fix msdos filesystem corruption when moving a directory under
a new parent.
- Sync to Intel's latest
driver, which adds support for the 82571 and 82572 PCI Express chips.
- Add Spanning Tree Protocol support to
- In iwi(4),
use firmware extended scan command (which doesn't crash) and enable
802.11a scanning for 2915ABG adapters.
- In ext2fs, use part of the reserved space on the disk inode to scatter
16 more bits for the UID/GID, making them 32-bit.
- Make mg(1)
undo much more emacs-like and correct.
- In ksh(1),
introduce mknod as a built-in, which has significant speed gains in MAKEDEV.
- Add cardbus(4)/
support for AMD64.
- Add multicast routing to GENERIC, now it can be enabled/disabled
using the sysctl(8)
- In vfs(9),
make the syncer grab a reference for the vnode it uses, to avoid it from
being reclaimed while in this sensitive time frame. This fixes the
sched_sync: fsync failed panic often seen on MP machines.
- Add ipmi(4),
a driver for the Intelligent Platform Management Interface, an
autonomous monitoring and recovery mechanism implemented directly in
platform management hardware and firmware.
- Bump max array size in
needed for MAKEDEV speed-ups.
- In lndir(1),
ignore the "special" .#* files left over by cvs/emacs.
- In ami(4),
eliminate possible I/O failures caused by ioctl/raw commands.
- In trunk(4),
add a simple active "failover" trunk mode.
- In hardclock(9),
fix a race condition in process exit, which caused freed
memory to be left referenced in the master kernel timeout worklist,
leading to a possible uvm_fault crash.
- In ral(4)
fix a problem in packet enqueue function which prevented dhcpd to work
in standalone AP mode (without bridging).
- OpenCVS: work keeps going, now with the help of cloudy weather
in the Caribbean!
- In hostapd(8),
implement a way to match IEEE 802.11 flooding, which helps detect known
- Beginning stages for macppc G5 support!
- In vfs(9),
sync dirty data when going from read-write to read-only, fixes crashes.
- In uvm_map(9),
grab a fresh page using the uvm_km_page allocator instead of calling panic()
when running out of static kernel map entries.
- In umodem(4),
add support for nokia 6680 with a ca-42 cable.
- In axe(4),
enable support for gigabit adapters; only works reliably with USB1 for now.
- More ld.so(1)
fixes: fully unload dependant libraries, fixes bug exhibited with gphoto2.
- In ehci(4),
force takeover of host ports after hibernate/resume, otherwise devices
will incorrectly attach to the companion controller.
- In atw(4),
handle needed operations specially to make ADM8211B devices work.
- Only allow root to run tcpdump(8),
it's needed for the chroot security.
- In art(4),
notify sppp about link state changes, which fixes PPP encoding.
- In ath(4),
remove the very basic rate control implementation and use
- In ftp(1),
add the ability to disable EPSV/EPRT from the command line.
- In cd(4),
add missing parenthesis which can problems with devices
not supporting TEST UNIT READY.
- Improve bgpd(8)
- In iwi(4),
add initial bits for IBSS support and fix association with
APs not broadcasting their SSIDs.
- Make ppp(8)
RFC 2472 compliant and fix various IPv6 problems as well as improve
- In ath(4),
don't attach unsupported radio chipsets.
- Fix initialisation of net.inet.udp.baddynamic.
- Add amd64 fdc(4)
- Correctly close raid(4)
devices which fixes crashes.
- More OpenCVS improvements, RCS keyword expansion now works for
all keywords except $Log$.
- Change rpc.rstatd(8),
to use poll() instead of select().
- In ld.so(1),
rework symbol lookup to more closely match sun's documentation and treat
dlopens as load groups. Also cleanly handle the case where a dynamic object
is opened, but one of it's dependent libraries is missing. Do not promote
DT_NEEDED libs to RTLD_GLOBAL when being dlopen'ed. A few other
simplifications and behaviour improvements and regression tests to match.
- Make ospfd(8)
correctly handle loopback interfaces and other fixes.
- Allow ptrace(2)
to follow fork(2)
- Support ATI IXP 200/300/400 pciide(4) controllers.
- In ieee80211_input(9) and family,
replace node hash table with red-black tree. Fixes some bugs in the node table,
hash collisions are no longer a possibility, and it simplifies things.
- In mountd(8),
fix a NFS race when mounting filesystems on nfs servers.
- X.Org fix for a buffer overrun observed as a crash by eclipse users,
also fix a possible integer overflow in pixmap creation code.
- In sd(4),
fake geometry for all UMASS devices since it's almost always fictitious,
reported to fix various devices.
- In sasyncd(8),
fix transfers of very large SA/SPD snapshots.
- Make xargs(1)
POSIX compliant, make it run programs even when zero arguments are specified.
- In trunk(4),
add multicast, VLAN support and various improvements.
- In gem(4),
program the MAC address correctly into the card after it has been
changed, e.g. by
- In shutdown(2),
return ENOTCONN if a socket is unconnected.
- Change hostapd(8)
to use red-black trees for the node tables instead of hash tables.
- In ath(4),
fix a possible division by zero.
- In ath(4)@pci,
allocate memory for the right structure, which fixes possible page faults.
- In bgpd(8),
reload sessions every time the capabilities change.
- An sd(4)
fix for a case where free(NULL, ...) was possible and lead to a crash.
- In umidi(4),
fix corruption to multi-byte MIDI messages when a single real time byte is inserted.
- Fix two hppa hardware erratas.
- Teach file(1)
about the flac audio format.
- Many mvme88k improvements.
- Make m4(1)
SusV3-compliant and add various regression tests.
- OpenCVS: add support for the CVS/Tag file writing/parsing, fix
corrupt Entry files, various other improvements.
- In pf(4),
fix the DIOCCHANGERULE ioctl to properly initialize the NAT table, only
affects custom programs using this ioctl.
- In pciide(4),
change matching code to only look at the PCI ID and ignoring the PCI class,
enabling some mass storage devices to work.
- Many pkg_add(1)
improvements including -u option enabled now which automatically will update
all installed packages.