OpenBSD -current changelog
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.
Note: Problems for which patches exist are marked in red.
Changes made between OpenBSD 4.8 and -current
- Fixed OpenCVS init command.
- In Xenocara, updated bigreqsproto to version 1.1.1, compositeproto to 0.4.2, damageproto to 1.2.1, fixesproto to 4.1.2, fontsproto to 2.1.1, randrproto to 1.3.2, recordproto to 1.14.1, scrnsaverproto to 1.2.1, xcmiscproto to 1.2.1, libFS to 1.0.3, libXres to 1.0.5, libXScrnSaver to 1.2.1, libXaw to 1.0.8, libXcomposite to 0.4.3, libXcursor to 1.1.11, libXfont 1.4.3, libXinerama to 1.1.1, libXmu to 1.1.0, libXpm to 3.5.9, libXrandr to 1.3.1, libXt to 1.0.9, libXtst to 1.2.0, libXv to 1.0.6, libXxf86dga to 1.1.2, libXxf86vm to 1.1.1, libdmx to 1.1.1, libfontenc to 1.1.0, libxkbfile to 1.0.7, imake to 1.0.4, makedepend to 1.0.3, xorg-macros to 1.11.0, bdftopcf to 1.0.3, beforelight to 1.0.4, bitmap to 1.0.5, editres to 1.0.5, fslsfonts to 1.0.3, fstobdf to 1.0.4, iceauth to 1.0.4, ico to 1.0.3, mkfontscale to 1.0.8, rgb to 1.0.4, showfont to 1.0.3, smproxy to 1.0.4, twm to 1.0.5, viewres to 1.0.3, xconsole to 1.0.4, appres to 1.0.3, xdpyinfo to 1.2.0, xedit to 1.2.0, xev to 1.1.0, xfd to 1.1.0, xfs to 1.1.1, xfsinfo to 1.0.3, xgc to 1.0.3, xhost to 1.0.4, xkbevd to 1.1.1, xkbutils to 1.0.3, xlogo to 1.0.3, xmag to 1.0.4, xman to 1.1.1, xmodmap to 1.0.5, xprop to 1.2.0, xrandr to 1.3.4, xsertroot to 1.1.0, xsm to 1.0.2, font-util to 1.2.0, encodings to 1.0.4 and all fonts packages to latest X.Org versions.
- Make the return of rfork(2) consistent with gethrid(). Fixes an rthread breakage.
- Make netstat(1) print socket structure internals when netstat -P pcbaddr is called with -v.
- Make the installer create a matching group for the user upon user creation.
- Fixed high frequencies being removed on envy(4).
- Fixed a 10 year old bug in the ld.so(1) memory allocator, which affected only sparc.
- Improved run(4) and otus(4).
- Fixed mandoc(1) command list parsing.
- Removed colcrt(1), checknr(1), soelim(1) from base.
- Removed "secrets" map from smtpd(8) and allow creation of user defined maps holding credentials.
- Make stat(1) include the octet of the mode that contains the setuid/setgid/sticky bits in the output format used for the -x option.
- Set bpf(4) alignment to 32 bits instead of sizeof(long).
- Added preliminary support for PCI and SATA to octeon.
- Allow some rules to have longer expiry delay than the default in smtpd(8).
- Fixed a 'bstp still active' panic that happens if a stp enabled interface is destroyed while in the bridge(4).
- Prevent route(4) from sending route messages to userland processes if those messages are rejected by the kernel because of bad encoding.
- Make sure the mbuf data is properly aligned when function is reinjecting packets from low level output functions into high level output functions in Ethernet-inside-IP processing.
- Added m_print() a function to print mbuf(9) headers. Can be called from ddb(4) with an mbuf pointer as argument to see the contents of it.
- Removed libdes, src/ports users have been switched to libcrypto.
- Replaced getdirentries by a new one, renaming the first to ogetdirentries().
- Fixed memory leak in OpenCVS.
- Fixed a possible NULL deref on loading a corrupt ECDH key in ssh(1).
- Prevent mandoc(1) font alternating blocks like .RB from breaking the line between children in literate mode.
- Removed skipjack and cast from libc.
- Added _SC_HOST_NAME_MAX in sysconf(3).
- Make alpha trap report proper pc address in siginfo.
- Fixed a few logic errors in misp64 comparison instruction emulation: make sure the less than relation is correctly computed, and check for both operands being signalizing NaNs, instead of only the first NaN found, to decide whether to raise an invalid exception or not.
- Fixed an off-by-one in a mandoc(1) assertion, crashing the renderer on ".Os \&".
- Prevent various usb network devices from freeing network related resources if they were not allocated.
- Added preliminary support for rc scripts in pkg_add(1).
- Prevent mandoc(1) from throwing errors when .HP .IP .RS .TP have no arguments, as they are optional.
- Merged -k and expand @@ parsing code between OpenCVS and OpenRCS, resulting in a performance gain in OpenCVS in some "cvs update" scenarios.
- Downgraded nearly 20 mandoc(1) ERRORS to WARNINGS.
- Added support for so (low-level roff "switch source file"), needed for Xenocara and various ports.
- Added a simple 'rc' system to base (/etc/rc.subr) in order to start/stop/restart/reload services installed by the ports system.
- Moved the MSIZE, MCLSHIFT, MCLBYTES and the MCLOFSET mbuf constants from hppa machine-dependent param.h to machine-independent param.h.
- Added optional "match" keyword in relayd.conf(5) to allow simpler rdr-to filter rules.
- Implemented the optional label request message ID TLV in ldpd(8).
- As required by the RFC, make sure that a wildcard FEC is the one and only FEC of that message for label release and withdraw messages in ldpd(8).
- Improved ldpd(8) struct mapping_entry.
- Make ldpd(8) lde_check_request(), lde_check_mapping(), lde_send_labelmapping(), lde_send_labelrequest() and lde_nbr_do_mappings() follow the algorithms defined in appendix A of RFC 5036.
- Allow the ldapd(8) userPassword attribute to specify a login class when using simple binds with BSD Authentication, using '#' as the delimiter.
- Enabled vmt(4) in amd64 and i386 GENERIC kernels.
- Make vmt(4) log suspend and resume.
- Big update to vmt(4), vmware tools functionality: initiate shutdown by signalling init with SIGUSR2 when requested by the host; initiate a reboot by signalling init with SIGINT when requested by the host; report the guests hostname, first non-loopback IP address and uptime to the host; update the guests timedelta sensor using the 64bit rpc.
- Added a new CF driver for octeon.
- Added a fullwidth option to pkg.conf(5).
- Make ld.so(1) search loaded libs first and add support for SONAME matching.
- Make a workaround for PR6500 in route(8) before real fix is made in the kernel.
- Improved md5(1) performance.
- Fixed a rare race-based kernel crash by statically initializing TAILQ ifnet/ifg_head in ifmedia(4).
- Make sdmmc(4) use iopool.
- Prevent mandoc(1) from throwing FATAL when there is no need to (nested displays: .Bd containing .Bd, .D1, .D1 or a forgotten block end macro or an unstarted ending block or a failed uname(3)).
- Make OpenBSD::PackingElement(3p) redirection more efficient.
- Improved OpenBSD::State(3p).
- Let .Bsx print just "BSD/OS" in mandoc(1) like in modern groff.
- Make TCP follow SUSv4 namespace rules in includes by hiding everything but the TCP_* options unless __BSD_VISIBLE is defined. Fixes PR 6192.
- Make sftp(1) escape '[' in filename tab-completion.
- Updated xterm to version 264, freetype to 2.4.3.
- Prevent a file descriptor leak in libedit.
- Make OpenCVS use CVSROOT for cvs import and ignore CVS/Root files. Fixes PR6497.
- Make usb(4) check that a timeout(9) has been initialized before deleting it.
- With mandoc(1) .Sm no longer produces a line break when used in .Bd and also avoid an extra space after the opening bracket in .Op in -Thtml
- Fixed boot hangs that are showing up because the kernel use usb tasks to attach/detach usb(4) devices.
- Make dhclient(8) verify that the interface is registered before using it.
- Fixed the bugs that prevented the RT30XX ral(4) devices from working.
- Added a last-pane command in tmux(1).
- Prevent tmux(1) from changing the active pane when removing a pane unless the active pane is actually the one being removed.
- Fixed a crash when mixing fold(1) legacy width option (e.g. fold -70) with getopt()-style options, such as "fold -b70". Mixing the legacy width with another option is no longer permitted.
- Fixed PR6492 in hexdump(1).
- Prevent aucat(1) from running a destroyed stream.
- Start implementing the missing label mapping messages in ldpd(8) LDE.
- Make malloc(3) print the pointer value that caused the error (if available).
- Make ehci(4), ohci(4) and uhci(4) disestablish interrupts if attachment fails.
- Allow X to be build by disabling __thread for alpha on OpenBSD.
- Merged OpenCVS rcs_deltatext_set into OpenRCS, fixing a memory leak.
- Prevent ldpd(8) from printing "route vanished before delete" on shutdown.
- Prevent a null pointer dereference in rcs(1) and OpenCVS if rcsparse_deltatexts is called with a revision not specified as delta in an RCS file.
- Put mandoc(1) by default in man.conf(5).
- Fixed a OpenBSD::PackingElement(3p) split() which was causing problems with the mbox.5 man page in Mutt.
- Add a few more tcpcb and sockbuffer variables that tcpbench(1) can inspect.
- Fixed a segmentation fault in ldapd(8).
- Fixed ldapd(8) rejection of messages when there are multiple requests queued in the input buffer.
- Make access control work for SASL and BSDAUTH binds as it does for simple binds in ldapd(8).
- Make use of OpenSSL cast.h in isakmpd(8) crypto.
- Improved OpenBSD::PackingElement(3p) groff(1) handling. Fixes tcl and the few ports with non-standard man locations that can't rely on mtree fake.
- Improved uvideo(4).
- Allow configuration of 802.11 interfaces in the OpenBSD installer.
- Improved isakmpd(8) interoperability with Fortigates devices.
- Removed sup(1).
- Removed vgrind(1).
- Fixed a memory leak in ncurses(3).
- Removed groff(1) from base, now totally replaced by mandoc(1).
- Make the athn(4) driver more efficient on AR5008 and AR9003 chipsets for architecture with strong alignment constraints like sparc64.
- Added MPLS and mpe(4) in GENERIC kernels.
- Removed miscXX.tar.gz sets.
- Added wpakey/-wpakey options to ifconfig(8).
- Make the shadow password database smaller on install media kernels.
- Removed various usd/psd/ssm files and references in manuals.
- Added Compact Flash support to octeon.
- Make udl(4) attach again.
- Reverted latest smtpd(8) queue code optimizations to facilitate further improvements.
- Make trm(4) work again.
- In uvideo(4): added a structure that represents USB descriptor with variable sized member as in uaudio(4) and reenabled control support for devices where bControlSize is different from 2 in the processing unit descriptor.
- Fixed tcpdump(8) printing of pflog(4).
- Fixed filtering with new pflog(4) headers.
- Fixed glob(3) using programs (notably ftp(1)) to be triggered to hit resource limits.
- Fixed crash with uvideo(4) and Kodak S100 webcam.
- Fixed envy(4) on big endian architectures.
- Allow the ikectl(8) CA to be used with all kinds of other VPN tools in addition to iked(8) and isakmpd(8).
- Improved cmpci(4).
- Allow optional path for ikectl(8) install commands, assume they are relative to /etc if relative paths are specified.
- Make ikectl(8) show certificate details.
- Replaced old acpi(4) suspend/resume gpewalk function by separate functions for enabling wake and runtime GPEs.
- Allow ikectl(8) to specify the export password on the command line.
- Prevent ldpd(8) from adding MPL routes with a incoming MPLS_LABEL_IMPLNULL label.
- Handle IMPLNULL labels directly in the kernel.
- In ikectl(8): added a -q (quiet) command line option that will be use by ike CA to set openssl batch mode, allow to specify the initial CA password on the command line, allow to create certificate for clientAuth or serverAuth only.
- Set saner permissions on ikectl(8) CA directory export, so there is no need to change perms of /etc/iked when extracting.
- Make ikectl(8) create an empty but valid CRL list when a new CA is created.
- Improved envy(4) physical address check.
- Fixed some pms(4) versus wsmoused(8/I386) issues.
- Added OpenSSL fixes: updated local engines for the EVP API change, use hw_cryptodev.c instead of eng_cryptodev.c, make x86_64-xlate.pl always write to the output file and not stdout.
- Removed Skipjack from crypto(9).
- Fixed physical address issue in none i386 envy(4).
- Prevent from waking up at IPL_NONE instead of IPL_HIGH in i386 machine-dependent acpi code.
- Fixed x_wakeup_vector condition in i386 and amd64 machine-dependent acpi code.
- Zero out crypto(9) soft auth hash context before freeing it.
- Prevent spamd(8) from passing GREY entries to pf(4) spamd-white table if already TRAPPED. Fixes PR6467.
- Make ssh(1) kill proxy command on fatal().
- Updated xterm(1) to version 262, libX11 to 1.3.6, oclock(1) to 1.0.2, setxkbmap(1) to 1.2.0, x11perf(1) to 1.5.2, xauth(1) to 1.0.5, xclock(1) to 1.0.5, xcmsdb(1) to 1.0.3.
- Make tmux(1) skip NULL entries in the sessions list when choosing the next session.
- Added acpi_disable_allgpes function to clear acpi(4) GPE status.
- Improved rcs(1) invalid characters check.
- Implicitly protect mbuf(9) m_cldrop() with splnet(9).
- Added support for midi(4) to envy(4) in i386 and amd64.
- Make os fingerprinting work on little endian systems. Updating pf.os(5) is mandatory if using os fingerprinting options, otherwise, the system will be blocked.
- Updated pf.os(5) to match against OpenBSD -current systems. The automatic send and recv buffer scaling changed the OS fingerprint.
- Added iopool to adw(4) and iha(4).
- In Xenocara updated pthreads(3) aliases to version 0.3, pixman to 0.18.4.
- Prevent the Dream Link USB LED Message Board from being attached as an HID device so it can be used in userland.
- Synchronized octeon FPU handling with latest mips64 changes.
- Make openssl(1) DES_LONG be an u_int like all platforms instead of an u_long on i386.
- Turn off lidsuspend if halt -p is in progress.
- Removed support for srandom and urandom.
- Fix for some pms(4) pckbc handling.
- Make macppc install scripts try update the boot blocks.
- Updated OpenSSL to 1.0.0a.
- Added nsd(8) startup logic to the rc(8) scripts.
- Implemented a combus to support the com(4) devices on Octeon without modifying dev/ic/com.
- Added -R option to pfctl(8) to show only a specified rule by numeric ID in combination with "-s rules" or "-s labels".
- Make sure iked(8) gets transforms in the proposal before trying to parse it.
- Prevent bad free() in ssh(1) when overriding AuthorizedKeys in a Match block.
- In iked(8), fix padding issues and warnings from openssl.
- Added ehci(4) DMA sync operations, fixes issues with macppc.
- Added support in OpenCVS for update -C.
- Make sure the TCP will not recalculate the rscale factor after the initial SYN is sent.
- Make sure OpenRCS and OpenCVS parse all deltas before expecting "desc" keyword.
- Do not delay ACKs on connections using loopback interfaces.
- Implemented a per-cpu held mutex counter for all non-x86 platforms to help debugging.
- Added pregenerated unicode files for perl.
- Make -k work in tcpbench(1) client mode.
- Added support for gamma and sharpness/acutance controls in video(1).
- Added support for variable sized processing unit bmControls and for more processing unit controls in uvideo(4).
- Make sftp(1) call ioctl(TIOCWINSZ) to get the window width only once instead of per-filename when performing an "ls" in columned mode.
- Prevent glob(3) from freeing array before freeing members.
- Removed pms(4) and ums(4) from installation media.
- Unified some pool(9) and malloc(9) flag values.
- Added two new options to tmux(1) : server option "exit-unattached", makes the server exit when no clients are attached, even if sessions are present; session option "destroy-unattached" that destroys a session once no clients are attached to it. These are useful for preventing tmux remaining in the background where it is undesirable and when using tmux as a login shell to keep a limit on new sessions.
- Merged pmsi(4) into pms(4).
- Make mandoc(1) report an ERROR if an explicit scope is still open at the end of an input file: it can still render the page by just closing the open scope, but it is likely that information will be missing or document structure mangled.
- Modified tmux(1) server permissions on the socket when adding or removing +x to show attached sessions, rather than replacing them.
- In mandoc(1), make no punctuation after .%* outside .Rs in .Rs, mark full stops after .%* as end of a sentence.
- Make uvm(9) page daemon and uvm(9) swap configuration and io manager appear in ddb(4).
- Allow mod_headers to handle RequestHeader directives known from apache2 in httpd(8).
- Fixed L2TP length field in PIPEX.
- Prevent cwm(1) from warping to clients marked 'ignore'.
- Fixed bug in cwm(1).
- Make ppb(4) respect pci_dopm, like pci(4) does and make it not try to poweroff the bridge if pci_dopm=0. Fixes Gateway LT3103u and Lenovo Thinkpad 100e netbooks, allowing them to suspend again.
- Added gcc4 cross compilation support under OpenBSD.
- Use snprintf(3) not sprintf(3) in a2p(1).
- Make ospfctl(8) print the checksum as a simple fingerprint of the LSDB.
- Make ospfd(8) build the sum of the ls_checksums when counting the lsa. It permits to quickly verify if two LSDBs are in sync.
- Updated Compress::Raw::Bzip2(3p) to version 2.031.
- Make use of new glob(3) GLOB_KEEPSTAT extension in sftp(1) to save extra server round trips to fetch per-file stat(2) information.
- Make video(1) compile on static archs, and enabled it in the build for all archs.
- Deactivate all vscsi(4) childs when it's closed so they don't retry the commands still on the queue when killed.
- Avoid potential infinite loop in bridge(4).
- Added L2TP support to PIPEX in TCP/IP stack and npppd.
- Updated Perl to version 5.12.2 with local patches and fix for CVE-2010-0405.
- Prevent IPv6 from trying to add new addresses by making use of sleeping pools.
- Switched mips-based ports to gcc4.
- Bumped libc major version to 57.
- In fts(3), bumped fts_level from short to int and added a spare short.
- Provide IRIX-compatible get_fpc_csr(3/MIPS64) and set_fpc_csr(3/MIPS64) for mips. This will allow userland to flip the ``flush denormalized to zero'' setting, which is being relied upon by tcl.
- Make it possible to use "dhclient egress" to refresh a lease without remembering which interface dhclient(8) was actually active on.
- Added timingsafe_bcmp(3) to libc and removed it from OpenSSH. timingsafe_bcmp is also in kern(9).
- Added to glob(3) a GLOB_KEEPSTAT option that retains a copy of the struct stat information that is looked up while matching globs.
- Implemented if_freenameindex() in TCP/IP stack as a real function as required by POSIX.
- Added stricter asserts to DIAGNOSTIC kernels to help catch mutex and rwlock issues: i386 and amd64 now count the number of active mutexes so that assertwaitok() can detect attempts to sleep while holding a mutex, i386 and amd64 check that we actually hold mutexes when passed to mtx_leave(), calls to rw_exit*() now call rw_assert_{rd,wr}lock() as appropriate.
- Linked iscsid(8) and iscsictl(8) to the build.
- Added vscsi(4) to GENERIC Kernel build.
- Fixed bus spacing bugs in glxpcib(4/i386) and glxpcib(4/loongson).
- Added iscsictl(8), the control tool for iscsid(8).
- Added iscsid(8), an iSCSI Initiator daemon using vscsi(4). Currently implements the absolute minimum of the protocol to make it work against targets.
- In pfctl(8) , removed the check that enforced rdr-to only inbound and nat-to only outbound.
- Remove dying flags in various usb(4) devices. The flag will be set in activate()/deactivate().
- Fixed before-boot umass hangs on units without media in disk(9) subroutines.
- Added TCP send and recv buffer scaling. It increases download speed.
- Fixed npppd to setup a PIPEX if MPPE is not required by config and CCP failed to be opened because peer doesn't support MPPE.
- Prevent usb(4) from accidentally waking up.
- Fixed overflow in nsd(8).
- Improved mandoc(1) column alignment and handling of .Nm block wider than the column it is in.
- Remove tn3270(1).
- Fixed VOP_LOOKUP(9) calls with a struct proc pointer as it should have been in softraid(4), raid(4), disk(9) subroutines, NNPFS, EXT2FS, UFS.
- Added cvs_mkdir() in OpenCVS for recursive directory creation on import. Fixes PR6398.
- Fixed memory leak in rcs(1).
- Renamed uyurex(4) to utwitch(4) and enabled it by default in all GENERIC kernels.
- Make pf(4) rule counter update consistent between IPv4 and IPv6.
- Make loongson mainbus(4) attach mfokclock(4/loongson) later for cpu scaling.
- Correctly identify mount points when they are specified in fstab(5) using a disklabel UID. Fixes PR6471.
- Included the disklabel UID in sysctl hw.disknames.
- Make disk(9) subroutines provide the kernel with the disklabel which include the disklabel UID.
- automatic reading of disklabel on attach. Applied it in fd(4) and cd(4).
- Introduced a DKF_NOLABELREAD flag in disk(9), which is used by a device to prevent
- Added aes-gcm support in iked(8).
- Improved mclgeti algorithm under load in TCP/IP stack, systat(1), snmpd(8).
- Prevent the usb task thread from going to sleep forever in ehci(4).
- Added usb_rem_wait_task() to usb(4), a wrapper for usb_rem_task() that waits for the task to complete if the task is already running.
- Added two members to usb(4) struct usb_task: ``usbd_device_handle dev'', the device responsible for the task (use this to not run the task if the device's hub is dying) and ``int running'', a flag to be set when the task is running.
- Improved check of dying usb(4) bus.
- Save a little time on boot thanks to a usb(4) improvement.
- Reduced race during normal usb(4) device detach by making detach happen in the same process.
- Added a new IP level socket option IP_PIPEX. This option is used for L2TP support by pipex.
- Added an option per-read/write callback to atomicio, and added a bandwidth limit option to sftp(1).
- In clct(4), use audio(4) quiesce/resume for data i/o, and ac97_resume() for mixer suspend/resume support.
- Added autoconf activate, suspend/resume support in eap(4).
- Added AES-GCM-16 (as aes-gcm) and ENCR_NULL_AUTH_AES_GMAC (as aes-gmac) encryption transformations support in ipsec.conf(5).
- Added Support for AES-GCM-16 and ENCR_NULL_AUTH_AES_GMAC in IPSec ESP as per RFC4106 and 4543.
- Added a new interface: pppx(4), the ppp multiplexer to be used with npppd and pipex. pppx(4) creates an interface whenever a session is created so that altq and pf can work on these.
- Removed msgs(1) from tree.
- Added AES-GCM Transform Identifiers as specified by IANA in RFC4106 and 4543 to PF_KEYv2.
- Added support for the Galois/Counter Mode (GCM) for AES as described in FIPS SP 800-38D to crypto(9).
- Unified npppd(8) MS-CHAP implementation to iked(8).
- Make iked(8) work as an initiator with strongswan/charon without any specific phase 1 configuration.
- Add DIOCGPDINFO to presto(4/sparc), xd(4/sparc), xy(4/sparc), hp(4/vax), vax RA disk device and RX MSCP floppy disk device driver.
- Added new log option "matches" to pfctl(8).
- Added a new pf(4) log option PF_LOG_MATCHES that forces logging on all subsequent matching rules.
- Make disk(9) garbage collect struct disk field dk_label.
- Added a KexAlgorithms knob to ssh_config(5) and sshd_config(5) to allow selection of which key exchange methods are used by ssh(1) and sshd(8)
- Fixed a locking bug in accept(2).
- Make vscsi(4) call config_deactivate() on SCSI links in vsciclose().
- Avoid race with autoconf(9) in vscsi(4).
- Removed physio(9) buf pointer argument.
- Make npppdctl arguments match the format string in usage.
- Fixed a QUIESCE crash on inteldrm(4).
- Fixed null pointer dereference for protocols without port numbers in pflog(4).
- Improved mandoc(1) vertical alignment.
- Make inteldrm(4) always unconditionally set the C3_LP_WRITE_ENABLE bit in ARB_STATE on gen3 hardware. Prevent some 945 chipset from hanging.
- Enable error interrupts on inteldrm(4) ironlake, as we do on all other chips.
- Prevent mips64 based machine from panicking in MipsEmulateBranch() if the instruction is an unspecified OP_BCOND sub function.
- Improved inteldrm(4).
- Replace the mips64 old floating point completion code with a C interface to the machine-independent softfloat code, implementing all MIPS IV specified floating point operations.
- Improved eso(4) suspend/resume.
- Changed audio(4) quiescing to make it not call the audio_hw_if halt method in interrupt context, because drivers like eso(4) or envy(4) might want to sleep with their own halt method.
- Avoid USBD_IOERROR in uhub(4) by determining the size of the buffer for USB hub interrupt pipe with bNbrPorts in hup descriptor.
- Added a real DIOCGPDINFO to cd(4) and sd(4), allowing access to the physical information about the device rather than the contents of whichever disklabel was read.
- Added watchdog suspend/resume logic to glxpcib(4/LOONGSON) and make glxpcib(4/LOONGSON) save and restore it's configuration on suspend/resume.
- Added '-label' option to route(8) to specify you only want to see routes having the given label.
- Make tcpdump(8) show the original addresses/port too when a packet had his addresses and/or ports rewritten.
- Make pflog(4) put the original (before rewriting) addresses into the already existing address fields in the pflog header, same for ports, and add a "rewritten" indicator.
- Make pf(4) apply actions from the last matching pass or block rule and not the last matching rule after ruleset eval is done. Fixed PR6401.
- Make ldapd(8) print a warning if schema file can't be opened.
- Improved axe(4) PHY probing.
- Cleaned memory shortage in PIPEX code.
- In pf(4), make the "match log" rules log on the fly.
- Make the mpi(4) SAS IO unit to use 32 openings when talking to SATA disks if the firmware has it configured lower.
- Make aac(4) compile with gcc4.
- Avoid double unlocking the drm(4) lock in drmclose().
- Adapted tcpdump(8) and pflogd(8) to new pflog(4) longer header.
- Made a pflog(4) overhaul to fix wrong logging of nat/rdr addresses. The pflog header is now longer.
- Removed physio(9) in wdc(4) ioctl(2) handler.
- Added gpio(4) at glxpcib(4/loongson) to loongson GENERIC kernel.
- Added an iopool to umass(4) to prevent the kernel from panicking when multiple commands are issued when umass(4) has multiple LUNs.
- Use audio(4) DVACT_{QUIESCE,RESUME} and ac97(4) ac97_resume() for suspend/resume in auacer(4) and autri(4).
- Added autoconf(9) activate function to auixp(4).
- In auglx(4), use audio(4) DVACT_{QUIESCE,RESUME} to handle I/O stopping/restarting for suspend/resume, and ac97(4) ac97_resume() to reset and restore the codec at resume.
- Added support for newer asus boards that use a different method to poll and enumerate the sensors in aibs(4).
- Added assertwaitok() to declare code paths that assume they can sleep. Updated malloc(9) and pool(9) to use it as appropriate.
- Added mclgeti() support for xl(4).
- Make machine-dependent splassert(IPL_NONE) work on amd64 the same as it does on i386.
- Make ix(4) recompute the list_offset and data_offset when attaching a unknown SFP+ module on the 82598 controller.
- Make mips64 md_printins() get the printf-like function as an extra parameter, and make it visible so that machine-dependents parts of the kernel can use it for debug messages.
- Make mandoc(1) format multiple authors (.%A) in the same way as groff: two authors with "and", but without a comma; three or more with commata, and an "and" before the last one.
- Prevent mandoc(1) from doing fatal errors when .Pp and .br have arguments.
- Fixed length of an eap identity message payload in iked(8).
- Implemented support for ldapd(8) bsdauth authentication via simple binds, not only SASL.
- Added cache operations for the octeon platform.
- Make smtpd(8) use the same buffer for local deliveries to files and commands.
- Make snmpd(8) return error on GET requests without an instance identifier, both for tables and scalar values. Fixes PR6468 by not calling table get functions with an unexpectedly short OID. Also fixes PR6071. Scalar variables without an instance specified now returns a noSuchInstance error. GetNext requests correctly returns the .0 instance but it must be specified explitely: $ snmpget -v2c -c public localhost SNMPv2-MIB::sysDescr.0
- Allow output of null values with a context class. This is used in SNMPv2 to return an error exception value for a varbind result ("noSuchObject[0] IMPLICIT NULL" in RFC1905).
- Fixed a variety of structure packing and byte order bugs in ixgb(4) to try to get BE support working.
- Removed xx_shutdown() hooks in network drivers where possible, since they are taken down already via their xx_stop() routine. Done in bge(4), bnx(4), cas(4), de(4), fpa(4), lmc(4), msk(4), nge(4), pcn(4), sk(4), txp(4), pgt(4), ti(4), DEBNA/DEBNT/DEBNK ethernet cards, fta(4), fea(4).
- Allow the ssh(1) session multiplexing to determine that the server socket is either ready or stale without races. Stale server sockets are now automatically removed.
- Moved getpeereid(2) function declaration in kernel COMPAT_47. In 4.8 and onwards getpeereid(3) is library code using socket options.
- Simplified evcount(9) by removing counters in a tree hierarchy.
- Added octeon platform.
- Fixed security problem in the disabled and unfinished ssh(1) handling of J-PAKE protocol.
- Added a SIGHLD handler to reap ssh(1) expired child process.
- Added firmware some missing firmware to install media: ral(4) RT2860 for i386, amd64 and sparc64; run(4) RT2870 and RT3071 for landisk, macppc, socppc and sparc64.
- Fixed a null pointer dereference in ciss(4).
- Fixed an uninitialized variable access in uhci(4) suspend/resume.
- Prevent cd(4) and st(4) from calling bufq_drain in deactivate.
- Added the start of an activate function in glxsb(4/i386).
- Added an activate function to get sub-devices in glxpcib(4/i386).
- Added DVCAT_QUIESCE to glxpcib(4/LOONGSON).
- Fixed bug in atw(4).
- Initial support for the Octeon platform.
- Added SIGCHLD handler to reap expired children in ssh(1).
- Fixed null pointer dereference in ciss(4).
- Increased rate buffer in atw(4) to prevent overflows.
- Make ddb(4) recognize all MIPS IV instructions, as well as some mips64r2.
- Corrected NCQ depth calculation for atapiscsi(4) devices and controllers.
- Added support for 82583V devices in the em(4) driver.
- Fix for em(4) initialization on ET quad 82575 cards.
- Improved X11 lib handling in the ports(7)-supplied libtool.
- Fixed local DoS when core-dumping elf binaries.
- FPU and ddb(4) updates for mips64 CPUs.
- Fixed crash in iked(8).
- Various scsi detach issues fixed.
- Fixed endless loop when handling punctuations in mandoc(1).
- Make traceroute work through MPLS tunnels, including RFC4950 extension headers.
- Fix PMTU over sppp(4) links.
- Fix leaking scsi_xfers or bufs when hot-unplugging mpi(4) devices.
- Fix mpi(4) event handling to ack more than one outstanding event at a time.
- Fixed a bug in OpenSMTPD "Lookup agent" code.
- Added DVACT_{QUIESCE,RESUME} to cleanly suspend/resume audio(4) and use it in auvia(4), auich(4), clcs(4), cmpci(4), emu(4), azalia(4).
- Make tmux(1) use UTF-8 line drawing characters on UTF-8 terminals.
- Make tmux(1) ignore terminal overrides settings without a value.
- Fix lazy binding issue on mips64 run-time link-editor. Fixes an nm(1) crash that happen when passed multiple object files on the command line.
- Provided a bus_dmamap_sync() implementation for the amd64 IOMMU. It fixes bigmem.
- Added infrastructure to build gcc4 on mips64.
- Prevent azalia(4) from unmuting the speaker muted by plugged headphones when the master volume control in unmuted.
- Allowed hotplug of Fiber Channel devices.
- Prevent sd(4) io handler from being run on a gone device.
- Make gcc4 build on landisk.
- Many improvements in iked(8): allowed ESP proposals without integrity and AH proposals without encryption; added additional nonce length field, use that for the ciphers that require additional keying material; setup right flow direction depending on the mode: fixes up iked(8) working as an initiator against charon.
- Added an ECDH/ECDSA compliance fix to ssh(1).
- Cleaned up i386 apm(4) resume/suspend code.
- In tmux(1), added -n and -p flags to switch-client to move to the next and previous session.
- Prevent tmux(1) from crashing if the screen size is too small for the indicator in copy mode.
- Activated NTFS in i386 and amd64 GENERIC kernels.
- In disk(9), introduced a disk_lookup() function which calls device_lookup(), before verifying that the resulting device is present on the disklist. This avoids a race whereby the disk driver can be accessed as soon as the softc has been allocated, but before the disk has completed initialization and has called disk_attach().
- Improved crypto(4).
- Added support for sender expansion in smtpd.conf: %U for sender localpart, %D for sender domainpart.
- Make smtpd(8) queue and reschedule message when failing to fork a DNS process.
- Make scsi(4) detach everything on the whole bus on request, rather than just a target/lun.
- In the TCP/IP stack, allowed ip_forward() to know the difference between blocked packets (EACCESS) and those that can't be forwarded (EHOSTUNREACH).
- Switch the MPLS blocks for RTM_CHANGE in the routine socket interface.
- Permitted traceroute(8) to work over MPLS.
- Make tcpdump(8) of pflog(4) interfaces work with 'net ' expression.
- Enabled aesni for amd64. While running ipsec on amd64 with 'aes' cpu flag, it provides aes accelerated encryption in cbc and ctr modes for all three key sizes: 128, 192 and 256.
- Removed the powerhook code and use the ca_activate tree traversal code everywhere to suspend/resume devices.
- Fixed a potential race between cd(4) resume and detach.
- Replaced all PWR_{SUSPEND,RESUME} by DVACT_{SUSPEND,RESUME}.
- Prevent compiler unwanted optimization in i386 and amd64 machine-dependent bus_dmamap_sync().
- Make the PCI-CardBus bridges driver save and restore pci config space registers on suspend/resume.
- Fixed freezes occurring by removing CardBus cards with Ralink Technology RT2560, RT2561, RT2561S and RT2661 chipset.
- Improved amd64 pmap(9).
- Enabled wide character support in ncurses(3), lynx(1).
- Switched to using ca_activate calls instead on powerhooks on apm(4/I386).
- Fixed suspend/resume on intel agp(4).
- Improved handle of PCI BAR.
- Prevented ldpd(8) from crashing sometimes when calling nbr_act_session_establish() on slave systems.
- Fixed an off by one in mandoc(1).
- Added an ioctl to figure out the non-sticky bits in pci(4) BARs used for determining the size of those BARs. Make pcidump(8) use this new ioctl to print the size of PCI BARs.
- Make the sparc tree more GCC4 friendly.
- Make the v3 demangler support code compile in libiberty.
- Added support to pcmcia(4) indirect Card Information Structure data. Improved and fixed a bug in pcmcia(4) CIS parts.
- Added support for SiS191 in se(4), fixed bugs, and improved it too.
- Removed macppc default xorg.conf(5).
- In Xenocara, updated glproto to version 1.4.12, renderproto to 0.11.1, videoproto to 2.3.1. Added xextproto 1.7.2. Updated libxcb 1.7, libXi 1.3.2, libX11 1.3.5, libXfont 1.4.2.
- Prevent vr(4) from seeing stale contents because of insane compiler or hardware optimizations.
- Fixed athn(4) Ubiquiti SR71-12 and Winstron DMNA92 adapters.
- Added an EXIT STATUS section to some /sbin, /usr/sbin and /usr/libexec man pages.
- Make ldapd(8) resolve matching rules from superior attribute types at schema load time instead of when each attribute is validated.
- Added an EXIT STATUS section to most /bin and /usr/bin man pages.
- Implemented attribute syntax from RFC4517 in ldapd(8).
- Switched ssh(1) ECDSA default key size to 256 bits, which according to RFC5656 should still be better than our current RSA-2048 default.
- Fixed ControlPersist=yes for ControlMaster=yes in ssh(1).
- Permitted -b 256, 384 or 521 as key size for ECDSA in ssh-keygen.
- Fixed enqueue routing messages on sockets marked SS_CANTRCVMORE.
- Fixed a memory leak in rcs(1) and OpenCVS.
- Fixed bug in st(4).
- Fixed a spurious line insertion in wscons(4).
- Make tmux(1) reset running jobs when the status line is enabled or disabled.
- Updated freetype to version 2.4.2.
- Prevent ldapd(8) from finding syntax error when parsing schema from the subschema.
- Disabled use of SIGIO by default in xserver, it breaks multi-card configuration.
- Improved the consistency of the flexible buffer queue by making struct bufq a member of the softc for devices that use it.
- Removed SIGIO handler from Xenocara DRI.
- Added DVACT_QUIESCE (warn the device about suspend) support to ahci(4), auich(4), azalia(4), alc(4), ale(4), bge(4), em(4), lii(4), msk(4), nfe(4), sis(4), pci(4), pciide(4), ppb(4), sili(4), vga(4), pchb(4), acpi(4), dc(4), fxp(4), xl(4), pcmcia(4), wdc(4), sdhc(4), ehci(4) and pckbc(4).
- Make cd(4), pccbb powerhook code call an activate function.
- Cleaned up activate/deactivate functions in various drivers: pchb(4), ubt(4), sdhc(4), sis(4), nfe(4), bge(4), fxp(4), xl(4), pckbc(4), sd(4), uvisor(4), uhidev(4), usb(4), ohci(4), wd(4).
- In ssh(1), implemented Elliptic Curve Cryptography modes for key exchange (ECDH) and host/user keys (ECDSA) as specified by RFC5656.
- Started work to add suspend/resume for Loongson Lemote.
- In ssh(1), added buffer_get_cstring() and related functions that verify that the string extracted from the buffer contains no embedded \0 characters*. It prevents random (possibly malicious) crap from being appended to strings.
- Make ohci(4), pxaudc(4/ZAURUS), zaudio(4/ZAURUS), zkbd(4/ZAURUS), zssp(4/ZAURUS), zts(4/ZAURUS), lcd(4/ZAURUS), apm(4/ZAURUS), arm mainbus(4) powerhook code call an activate function.
- Prevent processes from entering wi(4) ioctl when another process is tsleep'ing in it.
- Disabled SVR4 compat by default in sparc GENERIC kernel.
- Converted pcmcia(4) powerhook to an activate function for an(4), cnw(4), ep(4), malo(4), ne(4), ray(4), sm(4), wi(4), xe(4), wdc(4).
- Avoided a race in softraid(4).
- Added ddbcpu for sgi.
- Fixed a race that could lead to hanging processes in libevent.
- Avoided possible aliasing-related compiler issues in cd(4), ch(4), ses(4), st(4).
- Makes X autoconfiguration more intuitive on machines with multiple SBus or UPA framebuffers, where wsdisplay0 isn't the console.
- Make atw(4) and rtw(4) powerhook code call an activate function.
- Make sure local arrays of chars are word-aligned on strict alignment architectures with gcc(1), just like what is done for global ones. Though not explicitly allowed by the C standard it have been historically handle correctly by most C compilers.
- Fixed kernel compiling with disabled IPSEC and enabled GIF/MPLS.
- Make 2nd resume work on arm and zaurus.
- Correctly compute loongson memory size if less than 256MB.
- Fixed an uninitialized value leading to bogus KASSERT in uvm_pmr_use_inc().
- Started implementation of activate function in acpiasus(4) to replace powerhooks functions.
- Fixed autoconfiguration for accelerated drivers on sparc/sparc64, currently limited to sunffb(4).
- Provided a way to get < and > symbols on pckbc(4) pc101-key slovenian layouts.
- Make PCI Power Management optional, and only enable it when acpi(4) attaches.
- Make apm(4) runs powerhook with interrupts blocked.
- Big powerhooks clean up to improve suspend/resume: make powerhook code call an activate function in various devices: sdhc(4), wi(4), neo(4), auacer(4), auglx(4), auich(4), autri(4), esa(4), eso(4), yds(4), maestro(4), ath(4), bge(4), dc(4), nfe(4), pgt(4), ipw(4), iwn(4), rl(4).
- Improved sdhc(4) sdhc_activate().
- Added screen blanking code in smfb(4/LOONGSON) for SM502.
- Removed PWR_STANDBY from various drivers: acpiasus(4), ath(4), atw(4), pgt(4), rtw(4), esa(4), sdhc(4), ehci(4), ohci(4), uhci(4), auixp(4), ray(4).
- Added screen burner support for SM712 flavour on loongson Lemote Yeeloong.
- Allowed multiple interfaces to be specified instead of all or one in rarpd(8).
- Fixed a memory leak in ldpd(8).
- Fixed mounting of cdXX.iso and installXX.iso on hppa.
- Make CardBus ral(4) suspend and resume properly on machines that keep the CardBus bridge powered up during suspend.
- Prevent ftp(1) from freeing proxyurl and cookie twice in the location code.
- Make tmux(1) reset any mode before freeing the buffer event when destroying a pane.
- Enabled the pixman library for m68k, fixed it for hp300 and mvme68k.
- Added scsi_iopool_destroy() and scsi_link_shutdown() to scsi(4).
- Use lockmgr(9) instead of rwlock(9) in sdmmc(4).
- Fixed a file descriptor leaks in ccdconfig(8).
- Updated libc time functions to zcode2010k from elsie.nci.nih.gov.
- Check for duplicate variables in the environment when setting a value via setenv(3) and putenv(3).
- Fixed tip(1) .tiprc parsing.
- Implemented bus_space_barrier(9) in sgi.
- Avoided disable bridge interrupts on sgi platform when trying to access an unimplemented ioc3 register.
- Improved azalia(4).
- Worked around a rare race condition that can happen if daily(8) zaps old files from /var/tmp while pkg_add(1) is installing or updating a package and doesn't yet have moved nor even read some of the files in /var/tmp/pkginfo.* (typically +DESCR).
- Fixed two problems in the kernel work queues.
- Added support for the LSISAS2004 chips in mpii(4).
- Improved ospf6d(8).
- Prevent Cisco's OSPF 6 from ignoring ospf6d(8) network-LSAs.
- Enabled nsd(8) to the build.
- Fixed a 16 year old bug in the radix tree sorting routine for non-contiguous netmasks. It can have a huge impact on IPsec performance.
- Make tmux(1) client stop calling fatal() on exit.
- In Xenocara, updated libXvMC to version 1.0.6, xf86-input-vmmouse to 12.6.10, xf86-video-vmware to 11.0.2, xf86-video-mga to 1.4.13, xf86-video-nv to 2.1.18, xterm to 261.
- Updated nsd(8) to version 3.2.6.
- Added a flag to vis(3): VIS_ALL - encode all characters, not just invisible ones, it can be called from vis(1) withe the `-a' option.
- Added Huawei E1820 to umsm(4).
- Added a quirk for the apple clear orb USB speakers.
- Fixed bugs in xf86-video-openchrome.
- In Xenocara, updated xbproto to version 1.0.5, x11proto to 7.0.18, libXau to 1.0.6, xset 1.2.0, utils-macro to 1.10.0.
- Make sysmerge display usage information as well as the error when a path to src/*.tgz isn't specified.
- Fixed an mbuf leak in ATA over Ethernet driver.
- Improved mandoc(1) column padding calculation.
- Changed the UFS DIP macros to be aware of the FFS2 kernel option by not bothering to check the mount type when FFS2 support is omitted.
- Changed hzto(9) and tvtohz(9) arguments to const pointers.
- Implemented user interface for error handling in mandoc(1): -Wlevel selects warning you care about (error or fatal); -Wstop stops after parsing a file with the selected warning level; provide consistent exit status code for the selected warning level; always finish parsing each file unless fatal errors prevent it; removed the -f option and -Werror.
- Prevent wsconsctl(8) from ignoring errors silently if the device could not be open.
- Prevent gcc(1) from optimizing i386/amd64 lidt() function that provide access to i386/amd64 LIDT instruction. It fixes instant reboots with bsd.rd on Pentiums with F00F bug.
- Introduced a machine-independent kern.consdev sysctl(8) that will replace the machine-dependent machdep.console_device.
- Fixed a leak in tmux(1).
- Make tcpdump correctly decode and print GPRS Tunnelling Protocol access point names.
- Updated zoneinfo database to tzdata2010l from elsie.nci.nih.gov.
- Fixed a NULL pointer dereferencement in midicat(1) option parsing when `-' is used as filename.
- Improved uaudio(4).
- Fixed xserver autoconfiguration on sparc and sparc64.
- Removed Linux compatibility code in hppa and hppa64 GENERIC kernel and locore.S.
- Fixed a bug in the Atheros AR9003 family driver.
- Fixed a division by zero in athn(4) AR9003 family chipset.
- Make athn(4) stop receiving beacons from other BSS when associated in STA mode.
- Removed the standard pod2man \*(C+ pre-predefined string ("C++") in mandoc(1).
- Make sure mandoc(1) correctly print .Lk arguments in -Tascii.
- Make sure mandoc(1) throw away non-ASCII characters.
- Added several fixes in pr(1).
- On sparc, make sure fast trap handlers correctly invoke soft interrupts by marking them explicitly pending before triggering the softintr.
- Added missing files (floppies and/or install.iso and/or miniroot...) in the build time SHA256 file for alpha, amd64, hppa, hppa64, landisk, macppc, mvme68k, mvme88k, sgi, socppc, sparc, sparc64, vax.
- Added power management for PCI devices, currently it just put everything in the D3 (deepest sleep) state upon suspend, and restore power upon resume.
- Added support for larger sparc kernels when booting from tape, and avoided stomping on PROM data below 4MB on sun4c.
- Adjusted disktab(5) miniroot disklabel to changes caused by fdisk partition alignment changes.
- Removed support for loading 64bits kernels from cdboot(8/HPPA).
- Fixed a gcc4 mis-alignment in rdate(8).
- Improved IP stack fragmented packets handling.
- Prevented tools that fork and run a captive ssh(1) for communication from failing to exit.
- Enabled periodic (every 4 minutes) power amplifier calibration on athn(4) AR9285 and AR9287.
- Fixed athn(4) AR9280/AR9281 chips in open-loop power control mode.
- Make fsck(8) print the real device name followed by the disklabel UID in parenthesis when it is run against a disklabel UID.
- Fix a one character typo on inteldrm(4) i915 that broke interrupt handling on ironlake.
- Fixed xl(4) memory corruption after resume.
- Corrected a format string in ccdconfig(8).
- Fixed a off by one bug in NTFS.
- Disabled the RTC periodic interrupt on i386 and amd64 to fix problem like Dell Inspirion 4150 waking up immediately.
- Plug several resource leaks in gzsig(1).
- Make the number of vnode(9)s correspond to the number of buffers in buffer cache.
- Fixed a logic problem which could in theory cause pfctl(8) to recursively print anchors with wildcards when not requested via the command line but in practice only applied to automatically generated inline anchors (which don't have wildcards) or when recursion was requested.
- Forbade duplicate tmux(1) session names to be created.
- Added support for terabytes units with disklabel(8) editor 'T' command.
- Make tmux(1) list panes command show which pane is active.
- Fixed two problems in gdt(4), introduced in 4.7: eliminate a use-after-free of xs for xs->flags, avoid calling scsi_done() twice when synchronizing disks during shut down.
- Remove extra `.' from less(1) -m prompt string.
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.1186 2010/11/07 15:21:11 jj Exp $