Changes made between OpenBSD 3.9 and OpenBSD-current
This is a partial list of the major machine-independent changes
(i.e., these are the changes people ask about most often). Port
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.
We are working on OpenBSD-current.
- Added a driver for the Silicon Laboratories CP2101/CP2102 usb serial adapters.
- On macppc, allow the nv X driver to mmap() as on i386 when running in mapped mode and allowaperture is non-zero.
- Added support for the National Instruments PCI-GPIB card.
- Cleanup of pdisk(8) for mac68k.
- Implemented separate pmap for PAE i386 machines, allows for support for machines with more than 4G RAM. Not enabled by default.
- Support for HBG and DCF77 time sources in the udcf(4) device.
- Added support for the ICH7-M DH controller in RAID mode.
- Fixed NULL pointer access in error path for kernel routing code.
- Initial framework for the azalia(4) audio driver added.
- Added support for ATI IXP 600 IDE/SATA controllers.
- Rewrite setjmp()/alarm() code in tftpd(8) with poll() to avoid signal races.
- Remove virtual tunnel support from the mrouting code. It breaks multicast on gif(4) interfaces and a real gif(4)-tunnel is more manageable than a multicast tunnel.
- Make sure ssh(1) tries only once to open private keys, and not ask for passphrases if the keys cant be opened later anyhow.
- Fix endian issue in netatalk code.
- Fixes in libc regarding malloc() when allocation of the region succeeds but the allocation of a required page dir fail. Could leave holes in the directory list.
- Enable asm profiling for i386 if either PROF or GPROF is enabled.
- Add pci ID for 82801GBM SATA in AHCI mode, found on X60/T60 Thinkpads.
- Endian-safe codepath for AMDtek variants, fixes dc(4) on macppc.
- Add support for Dell Bluetoot 350 USB module.
- Allow Intel SATA to map compatibility interrupts, makes a lot of ICH6M/ICH7M systems work.
- Add support for puc(4) and com on macppc.
- Rework the signal handler code in the privsep part of tcpdump(8).
- Repair MVME147.
- Add support for Adaptec 2130S and 2230SLP raid adapters.
- Make udcf(4) devices work as a SENSOR_TIMEDELTA type sensor.
- Implement outgoing interrupt pipes in uhci USB, makes Creative Voip Blaster work.
- Add support for Encore ENL832-TX-ICNT device in the ste(4) driver.
- Add support for BCM5752 A2 devices in the bge(4) driver.
- Switch ssh(1) pipe usage to socketpairs. Saves a file descriptor and makes userland ppp over ssh work.
- Add a few more integrated devices on nForce4 amd64s.
- Add support for Belkin F5D6020 802.11b Wlan card.
- Fix off-by-one read in yacc(1).
- Fix some signal races in fsck_ext2fs(8) too.
- Initial driver to decode DCF77 time codes.
- Add hostname resolving and support for interface groups to ipsec.conf(5) parser.
- Make sure we dont leak other processes execution history when restoring fpu state on the i386 and amd64 platforms.
- Backport a gcc(1) bug fix for code generation which appeared when compiling htons() with -march=686 -O2 flags.
- Added some more Intel GigE pci IDs.
- In the kernel watchdog, make sure the parameters are reset to defaults when it is shut down.
- Move bignum functions in ssh(1) to a file of its own, now sftp(1) and the sftp server don't have to link with libcrypto.
- Display logical disk status in sysctl for ami(4). Now you can use sensorsd to monitor disks on ami.
- Better detection between K7 powernow and Cool-n-Quiet for amd cpus.
- Several signal race issues in fsck_ffs(8).
- Fix two NULL dereferences in the sk(4) driver.
- Support for ICH7R SATA in pciide(4).
- Preliminary support for Colorgraphic VoyagerVGA pcmcia frame buffer.
- Add support for Asus MyPal A730 PocketPC.
- Make sure awk(1) handles / inside []'s correctly.
- Fix problem in ssh(1) when input buffers becomes too large.
- Produce missing caps lock key event on hp300.
- Add support for the VT8363 PCI-PCI bridge found in Sony Vaio FS201s.
- Fix for Kerberos5 code on static arches.
- On i386 and amd64, enable 3DNow! and SSE support in X11, and enable the via driver for amd64.
- Added another nForce4 ISA bridge PCI device ID to amd64.
- Various fixes for AMD K7-powernow code on i386.
- Add support for non-RAID part of the ITExpress IT8212F.
- Remove all of the i386 DUMMY_NOPS code for good.
- Initial support for HP98705 "Tigershark" framebuffer for hp300. Text console and X11 are supported.
- Update Heimdal Kerberos 5 to release 0.7.2.
- Show cpu time spent in interrupts on the vmstat page in systat(1).
- File descriptor leak in httpd/mod_ssl code fixed.
- Various fixes and updates for both OpenCVS and OpenRCS.
- Free up memory in axe(4) if attach fails.
- In ipsecctl(8), add support for "local" to ike rules for multihomed machines.
- Fix signal races in ping(8) and ping6(8).
- Rewrite attribute changing code to remove+add instead. Fixes "equal attributes encountered" errors in bgpd(8).
- Make rthreads code compile again after header change.
- Fixes for spl and interrupt counting in em(4) when dealing with half-completed work queues.
- Fix some memory leaks in ldconfig(8).
- In the vlan interface code, make sure we copy the baudrate (link speed) on link state changes from the parent device.
- Switch to OpenRCS, even though some features are still lacking.
- Add Intrepid 2 GMAC support to the gem(4) driver.
- Added some wi(4) reset code since some cards freeze up sometimes.
- On macppc and sparc64, if allowaperture=0 only allow mmap()-ing of
the framebuffer memory in WSDISPLAYIO_MODE_DUMBFB mode.
- Do not honor the address split scheme on MVME188 systems with more than two CMMUs per CPU when operating on caches, since it doesn't work.
- Fix for sparc64 bus attachment code to better detect which driver to attach. Allows gem(4) netbooted machines to detect their root device.
- Don't panic in apic code for i386 if an interrupt isn't shareable and is already taken.
- Plug simple memory leaks in pfctl(8) and lpr(1) too.
- Fix memory leak on fork failure in mount(8).
- Improvements for the umidi(4) USB MIDI interface.
- Add workaround for nfe(4) mbuf leak.
- Superblock sanity checking code added to ffs vfsops.
- Update xterm(1) to version 211.
- Revert pci access method for xfree code on amd64 since the /dev/pci could cause problems on some machines.
- Allow lists inside lists in pf.conf(5).
- When running emulated binaries, release kernel lock after the exit hook to protect possible free()s.
- Fix a process datasize leak in UVM when doing mmap with MAP_FIXED.
- Add skeleton driver for mfi(4) MegaRAID SAS cards.
- Fixes for floating point state saving in threads code for i386.
- Fix for bgpctl(8) where it would show only the first announced prefix when doing "show rib det source-as #nr".
- Fix a bug in mg(1) when writing buffers sharing the same basename.
- Update to BIND 9.3.2
- Endian fix for an(4), now also enabled on hppa, hppa64 and macppc.
- Reap child processes asynchronously in hotplugd(8).
- Add power hook to bge(4).
- Enable tqphy(4) for macppc found on xl(4) cards.
- Add "set nexthop self" support to bgpd(8).
- DMA fixes for xscale ARM when changing DMA completion handler.
- Remove bundled dbm and regex lib from httpd, it picks up our dbm anyhow.
- Installation fixes for Zaurus C3200, avoids a known problem in zbsdmod.
- When parsing file urls in ftp(1), ignore http_proxy.
- Don't nul-terminate GSSAPI buffers in ssh(1).
- Fix interactivity issues in ami(4) and remove a busywait.
- Prevent panic in iwi(4) if pre-3.0 firmware is being loaded.
- Fix for timestamp setting problem over nfs.
- Fix for ctrl-W in mg(1).
- Lots of small non-invasive changes in preparation for FFS2.
- Allow 32-bit session-ids in ssh(1) now that sha256 kex is used.
- Make som channels in ICH IDE/SATA controllers native to be able to use the maximum number of disks.
- Fix for sensorsd(8), it will now probe all sensors even if gaps are found in the list.
- Plug huge memleak in libc regarding how the semantics around telldir() works.
- Fix memory leak in sasyncd(8).
- Add sysctl to retrieve routing table statistics.
- Small steps taken in preparation for FFS2.
- Add support for GSM modem SIEMENS ES75 on usb.
- Add iop(4) to amd64 GENERIC.
- In ssh(1), make sure we handle truncated files while converting keys, and also prevent duplicate log messages when privsep=yes.
- Add percent escape chars to the IdentityFile option in ssh_config(5).
- When fsck(8) asks y/n, it will now also accept "F" to force yes to all further questions.
- In ftp(1), allow fetching zero-length files, and also fix progress-meter for >2G files.
- Fix it(4) detection on newer ASUS boards for i386 and amd64.
- Fix ami(4) sync_cache command so it can run asynchronously.
- Enable MPI-401 MIDI UART on amd64 GENERIC.
- Imported Perl 5.8.8
- Add simple printer for IEEE 802.1AB LLDP to tcpdump(8).
- Add Intel 82801GB SATA support to pciide(4).
- Add more space to memory columns in the vm page for systat(1).
- Sync em(4) with Intels FreeBSD em (5.1.5) driver, adds support for 82563 PCI Express chipsets and a few fixes.
- Added some HiFn, Safenet and Bluesteel crypto cards to GENERIC on alpha.
- Rework of iwi(4), enabling s/w antenna diversity, upgrade firmware to v3.0 layout and reworked rings allocation.
- Sync ixgb(4) with Intels FreeBSD ixgb (5.0.1) driver.
- Add support for Realtek RT8111B PCI Express Gbit MAC.
- In pstat(8), check for syncer vnodes before calling fs specific routines, so NFS and ext2fs gets correctly handled.
- Split serial on macppc so zs devices are ttya and tty00 supports com(4) devices.
- Sync libpcap with tcpdump.org's 0.9 APIs.
- Added support for accessing 8-bit ISA I/O through the gpio(4) framework. Makes Acrosser AR-B1662 boards work.
- Added support for Falcom Samba GPRS modem in the uftdi(4) driver.
- Don't allow gpio ping change if /dev/gpio was opened in read-only mode.
- Per-file I/O accounting is now possible to show in fstat(1).
- Allow bpf(4) to ignore packets based on their direction.
- Fixup IP checksum when modifying IP header fields in pf(4).
- Fixes for the receive filter in sis(4) when enabling/disabling promiscous mode.
- On dc(1), show error message if the argument is a directory.
- Added support for umsm(4) serial interface for Qualcomm MSM EVDO modems. Enabled on amd64, hppa, hppa64, i386 and macppc.
- Turn on PCI parity checking on sparc64, and set the PCI latency timer for bus master devices.
- Fix for adb keyboard caps key problem, if remapped to a dead key.
- Fix for broken amd64 mpbios'es on VT8237 and nForce4 chipsets. Fixes interrupt routing for SATA on those when running GENERIC.MP.
- Various fixes from the NetBSD coverity runs.
- Add support for macros in ipsec.conf(5).
- Change the way bgpd(8) selects nexthops. Required for complex setups e.g. where an additional IGP is running.
- Add a new SHOW imsg to send optional attributes in bgpd(8) - used to show communities in bgpctl output.
- Rework signal handling in ftp-proxy(8).
- Add a helper pci_find_device() function to pci(4) to enumerate the PCI bus.
- Plug a memory leak and fix a possible crash in usbhid(3).
- In the /etc/security script, deal with the fact that some shell scripts may contain binary characters.
- In pkg_add(1), fix an infinite loop in case of an error in the archive header.
- Implement the Michael MIC as defined in IEEE 802.11i for TKIP. This generates a weak 64-bit digest protected by an additional key - required for future IEEE 802.11i/WPA support.
- Better error checking in ifconfig(8).
- Make ural(4) read and show real MAC/BBP rev as determined, instead of the hardcoded RT2570.
- Fix panic on iMac G5 (iSight) in smu(4) due to a missing kernel unlock.
- Fix an out-of-bounds memory access in ksh(1).
- In m4(1), add limited support for format builtin in gnu-m4 mode. This is used by some autoconf scripts.
- Allow the wscons(4) wsfb X server to run without the need for xf86(4) aperture to be set.
- In the X server, use /dev/pci to access the PCI configuration space on i386 and amd64, instead of directly accessing the addresses from userland.
- A large amount of memory leak plugging in various system utilities inspired by Coverity reports, as well as ruling out of hypothetical NULL dereferences.
- Many changes in ssh(1) to be more careful with types.
- In isakmpd(8), make sure the command fifo is ready before returning - fixes a startup race when interacting with ipsecctl(8).
- Improve lint(1) to reduce more false positives and thus make the output more useful.
- Fix some memory leaks in ssh's gssapi(3) code.
- Change powerpc's BLKDEV_IOSIZE down to 2KB like on all other platforms.
- Recognize more Intel pci(4) devices as found on the Acer Travelmate 3012WTMi laptop.
- Plug memory leak and potential NULL dereference in hash(3).
- Make asa(1) use getopt(3).
- In init(8), plug potential memory leaks in error path.
- Teach pcn(4) to recognize Am79c976 and Am79c978.
- On sparc64, use OFW nodes to enumerate the PCI bus. This makes detection of devices hiding behind bridges more reliable.
- Extend PCI bus enumeration to allow architecture-specific hooks.
- Plug potential memory and descriptor leaks in ssh(1) and sftp(1).
- Provide new amd64-specific implementation of exp(3).
- Plug memory leak in revnetgroup(8).
- Teach it(4) to probe IT8712F-a and SiS950 devices.
- Rework tty handling in bc(1) so that things get cleaned up reliably on abort.
- Place reasonable bounds on memory usage of bufferevents in libevent.
- Provide implementations of the C99 math functions trunc(3) and truncf(3).
- Plug memory leaks and a possible NULL dereference in systrace(1).
- Make isadma happier on alpha by honoring the 'high' parameter in _bus_dmamem_alloc_range.
- Change implementation of delay(9) on alpha to use rpcc instruction.
- Plug memory leak in usbhid(3).
- Clean up fts(3) leak in cp(1).
- Clean up file descriptor leak in authpf(8).
- Make ptrace(2) single-stepping work on alpha.
- Fix an off-by-one error in csh(1) error handling.
- Simplify descriptor cleanup in ksh(1), helping us to avoid any descriptor leaks that may have existed.
- Fix an off-by-one error in ping6(8).
- Drastically simplify handling of SCSI vs. AMI commands in the ami(4) driver. This is the first step to supporting more RAID features.
- Correctly deal with -I (interactive) option in rcs(1) co command.
- Improve clarity of messages in SGI installer.
- Fix some off-by-one errors in talkd(8).
- Delint various size_t/ssize_t/int mismatches in cvs(1) and rcs(1).
- In rcs(1), set exit code when checking out a specific revisions fails.
- Fix value of hw.cpuspeed sysctl on certain Pentium III models (early stepping 1 Coppermines). (PR 4966).
- Turn EXTENT_ALIGN into an inline function, shaves 100 bytes from RISC kernels.
- Remove unused code from siop(4), shaves half a KB from kernel.
- Fix mincore(2) to pass byte count to UVM functions, rather than page count.
- In lmc(4) driver, consolidate error message array to shrink kernel by about 1KB.
- Clean up and ANSIfy tip(1) code and fix some latent bugs.
- Make rcs(1) co command honor the -q option.
- In scp(1), display error messages even when remote stdout is not initialized.
- Optimize tun(4) by using mbuf clusters instead of mbuf chains for large packets.
- Fix some "reload" bugs in ifstated(8).
- Make AMD PowerNow speed control stuff print nice dmesg lines.
- Fix a quirk of ^C in vi(1).
- Add sysctl_int_lower() API, consequence of which is that root can now lower the machdep.allowaperture variable without rebooting.
- Some i386 laptops need more physmem segments (consequence of the kernel moving up by 1MB).
- A few small fixes to bgpd(8).
- If poll(2) is interrupted, remember to clear the pollfds array.
- The zaurus no longer needs to use the xf86(4) aperture.
- Fix %A printing in spamd(8).
- Move parsing of wsconctl.conf(5) to earlier in the /etc/rc sequence, so that people can use their remapped control key earlier.
- Install apm(4) utilities on amd64 so that the hw.setperf sysctl for CPU speed can be conveniently manipulated through them.
- Fix BN_is_prime(3) to realize that 2 is prime. It took the OpenSSL people what... 8 years to fix this?
- Fix amd64's exp(3) implementation which was broken in certain cases by switching to the C version.
- Repair anonymous logins without passwords in ftpd(8).
- Some churn in ami(4), heading towards improvements...
- In pf(4), implement Unicast Reverse Path Forwarding (uRPF) which optionally verifies that a packet is received on the interface that holds the route back to the packet's source address. This makes it an automatic ingress filter, but only when routing is fully symmetric.
- Add support for Sony CLIE PEG-T625 (and other new) devices in uvisor(4).
- Move the i386 kernel up 1MB in virtual address space to provide more space for isadma(4).
- Fix pkg_add(1) to work with stdin input (pkg_add -).
- On alpha, protect sgmap extents with splvm().
- On i386, use pause instructions during IPI lock spinning.
- Slightly improve the situation with multi-function pcmcia(4) cards.
- Make compress(1)/gzip(1) work without /dev/stdin and /dev/stdout.
- In ssh(1), allow configuration directives to contain spaces, if wrapped in double quotes.
- In ssh(1), set TCP_NODELAY flag for all connections not just interactive ones - fixes poor network performance and protocol stalls under some network conditions.
- On the i386, fix userldt handling (consequence of recent i386 W^X changes) which causes a crash if a LDT-using process does an execve().
- In mount(8), add -s flag which skips a mount if the file system is already mounted, handy for MFS partitions.
- Switch from using PCI le(4) driver to pcn(4).
- Handle emc6d100 and emc6w201 in the i2c adt(4) driver.
- Fix local arbitrary command execution vulnerability on local/local and remote/remote copies in rcp(1).
- Change the install script question 'Do you expect to run the X Window System?' to have 'no' as a default answer, to prevent people accidentially hitting return on the prompt on machines that don't need it.
- Fix a few subtle bugs in vi(1).
- Support IAPP pre-standard port 2313 in hostapd(8).
- A output formatting bug (missing space in command line printing) was recently introduced into ps(1).
- Grok %z in the format string warning code for the older gcc we have in the tree.
- Foil potential timing attacks in login by using bcrypt(3) on non-existent users as well, instead of DES.
- On amd64, properly route ISA interrupts through ioapics.
- Some obscure fixes to ospfd(8).
- Support the iic(4) controller found in the amdpm(4).
- Now AMD PowerNow K8 support works on i386 and amd64, so that hw.setperf can adjust the processor speed.
- Serial port support on the Zaurus was busted by the recent clock changes because of an interrupt mask mistake.
- Improve the iic(4) scanning for ADM1030 and ADM1031 devices (supported by admtemp(4)).
- In grep(1) do proper handling for patterns which include newlines.
- Using pcibios(4) information, properly initialize the VIA VT8233, and support SiS 962.
- Fix the long delay probe for adb(4) on some machines (in particular, the powerpc Mac Mini).
- In bgpd(8), group block parameters were reset to default (duh, that is wrong).
- Repair a really stupid (and old) bug in spanning-tree bridge(4) support.
- Make pkg_add(1) work with scp (see PKG_PATH).
- In ssh(1), implement diffie-hellman-group-exchange-sha256 key exchange method (which is now default when client/server support it).
- In the com(4) driver, add support for the cardbus(4) Sony Ericsson GC89 UMTS/GPRS/GSM modem.
- For all you Road Warriors in need of more dynamic IPSEC, in ipsecctl(8), add dynamic option ("ike dynamic esp") which uses the system hostname as source identifier instead of the IP address. See ipsec.conf(5).
- Repair UDMA for the Via VT8237 in the pciide(4) driver.
- Fix a mmap(2) related panic.
- Fit mt(1) and eject(1) onto all the install media.
- Add some acpi(4) debugging support to ddb(4).
- Move remaining bits of the network stack to use splnet instead of splimp, see spl(9).
- OpenCVS development continues with new energy.
- Stop trying to allocate rotationally optimal blocks in FFS, since modern disks don't care.
- Repair stdin handling in sdiff(1).
- tun(4) is not a point-to-point interface, but a tunnel.
- Fix a buffer cache race in vnd(4).
- Fix a memory leak in cap_mkdb(1).
- Fix a bug in tar(1) that cut short our filename lengths by one miserable character.
- Initial 1-Wire onewire(4) bus support, including drivers for gpioow(4), owid(4), owtemp(4).
- More churn in pkg_add(1).
- In X11, support 10-bit color DAC video cards on Alpha TGA2 cards.
- Do underlining in the zx(4) sparc/sparc64 video driver.
- Fix an old bug on ARM-based machines, that would very rarely and very randomly deliver a SIGBUS that was not expected or wanted by anyone.
- Display cpu states right away (not delayed) in top(1).
- art(4) now works on sparc64 as well.
- In ami(4), support a few more re-licensed parts by ACER, FSC, Intel and NEC.
- Support Compaq Flash Socket CF 10/100 card in ne(4).
- Support National Semiconductor DP83847 DsPHYTER PHY in nsphyter(4).
- Some repair to vic(4) so that it might soon work for VMWARE.
- Handle National Semicondutor lm96000 in the i2c adt(4) driver.
This list mentions mostly platform-independent changes. For a list of changes
made in a particular platform, please check the page for that platform. If you
find them not listed there, the changes are either (1) not being documented or
(2) are documented here.
www@openbsd.org
$OpenBSD: plus.html,v 1.1013 2006/06/17 01:19:22 pvalchev Exp $