OpenBSD 4.9 released (May 1, 2011)
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.
For changes in other releases, click below:
2.0,
2.1,
2.2,
2.3,
2.4,
2.5,
2.6,
2.7,
2.8,
2.9,
3.0,
3.1,
3.2,
3.3,
3.4,
3.5,
3.6,
3.7,
3.8,
3.9,
4.0,
4.1,
4.2,
4.3,
4.4,
4.5,
4.6,
4.7,
4.8,
5.0,
5.1,
5.2,
5.3,
5.4,
5.5,
current.
Changes made between OpenBSD 4.8 and 4.9
- Introduced a dummy function in ifconfig(8) if SMALL is defined to digest arguments like "rdomain", "description", etc. so that the ifconfig(8) on RAMDISK is able to parse hostname.if(5) files on updates.
- Make Xorg properly restore xf86-video-r128 video mode upon exit on macppc.
- Prevent a possible 5 seconds delay in socket splicing.
- Fixed a buffer overflow in the pppoe receive packet handling.
- Make dumpfs(8) disklabel(8) UID aware.
- If relayd(8) "check script" doesn't exit(), treat the service as "down" rather than "unknown". Fixes a problem where the script is killed due to expiry of the interval timer.
- Force the disklabel(8) UID cache used to generate hw.disknames to be updated after every disklabel read or write. Prevent the DUID cache from de-syncing.
- Make mpii(4) look up the device attached to a raid volume by its address on the bus, not which bioctl volume id it is.
- Removed daemon_shell and force the use of /bin/sh for the su(1) call in rc.d(8).
- Prevent PIPEX from using address and control field on PPPoE, they must not be used as the protocol.
- In IPv6, prevent the nd6_addr_add() work queue task from adding multiple addresses for the same prefix.
- Fixed pf(4) source address rewriting for the icmp errors with rdr-to setup (PR6564).
- Fixed PR6557 with RT2560 and RT2661.
- Mark descriptors as invalid before unmapping the associated mbuf. Might prevent the unrecoverable DMA error mentioned in PR 6557.
- Disabled PCIe Active State Power Management (ASPM) to avoid bge(4) randomly detaching from the bus on some machines.
- Improved drm(4).
- Improved ami(4).
- Make makewhatis(8) quieter unless launched with -v option.
- Fixed USB drives that spin themselves down due to inactivity in sd(4).
- Make nsd(8) call setusercontext(3) before chroot(2).
- Fixed stats about node allocation failures in ieee80211_proto(9).
- Improved ieee80211_input(9).
- Make mos(4) set IFF_BROADCAST in if_flags.
- Make Xorg properly restore xf86-video-ati video mode upon exit on macppc and sparc64.
- Fixed infinite loop in fdisk(8).
- Prevent fdisk(8) from parsing blocks it did not successfully read.
- Implemented the DIOCGCACHE and DIOCSCACHE ioctls in mpii(4) for raid volumes. Allows sd(4) to enable the write cache on such a volume on attach, like it is done in mpi(4).
- Make radeonfb(4/SPARC64) re-initialize acceleration engine after leaving X.
- Make pgs(4/MACPPC) only attach if the "device_type" properly is "programmer-button".
- Improved disklabel(8) cleaning of badly formed partition.
- Disable Xorg on alpha because Xrender is broken.
- Improved alc(4).
- Prevent carp(4) from stopping on a vlan(4) after it has been manually changed.
- Disabled sbt(4) and ubt(4) on all kernels.
- Fixed speaker auto-mute in azalia(4) for some IDT codecs.
- Make umodem(4) allow interfaces other than slaves of the union interface to be the data interface.
- Make azalia(4) check its widgets connection list.
- Fixed off by one bug in lynx(1) page display.
- Disable sysctl(8) kern.usercrypto (userland access to crypto(4)) by default.
- Allow users to enable access to crypto(4) with sysctl(8) , but keep it turned off by default.
- Make ssh(1) host based auth with ECDSA keys work correctly. Fixes bz#1858.
- Fixed crash in viaenv(4).
- Fixed suspend issues in vnd(4).
- Added workaround for BCM5906 A0/1/2 controller silicon bug in bge(4).
- Reduced i386 RAMDISK size by not compiling statistics counters code in em(4) if SMALL_KERNEL is defined.
- RELIABILITY FIX: the sis(4) driver may hand over stale ring descriptors to the hardware if the compiler decides to re-order stores or if the hardware does store-reordering.
A source code patch is available.
[Applied to stable]
- Make bgpd(8) nicely print 4-byte AS.
- Make routing socket free mbuf in failure case. Fixes PR6562.
- SECURITY FIX: PF rules specifying address ranges (e.g. "10.1.1.1 - 10.1.1.5") were not correctly handled on little-endian systems (alpha, amd64, arm, i386, mips64el, vax). Other address types (bare addresses "10.1.1.1" and prefixes "10.1.1.1/30") are not affected.
A source code patch is available.
[Applied to stable]
- Fixed a bug with the pointer location in cwm(1).
- Fixed a crash in cwm(1).
- Allow relayd(8) debug logging before daemonization to help identify configuration issues. Fixes PR6314.
- Clear bpf(4) filter memory before using it. Prevents leaking previous kernel stack contents through a malicious bpf(4) filter.
- Fixed nc(1) PR6207.
- Added the rc_scripts variable for rc.d(8).
- Added linux_mprotect() syscall to compat_linux(8).
- Avoid dereferencing a NULL pointer during VT switches when composite is active in xf86-video-intel. Fixes a crash.
- Fixes the heavy rendering errors and crashes that could make inteldrm(4) unusable on a 865G since 4.8. Fixes PR6517.
- Make crontab -l not crash on crontab(5) files that don't have the expected three lines of comments.
- SECURITY FIX: An incorrectly formatted ClientHello handshake message could cause OpenSSL to parse past the end of the message. An attacker could use this flaw to trigger an invalid memory access, causing a crash of an application linked to OpenSSL. As well, certain applications may expose the contents of parsed OCSP extensions, specifically the OCSP nonce extension.
Applications are only affected if they act as a server and call SSL_CTX_set_tlsext_status_cb on the server's SSL_CTX. It is believed that nothing in the base OS uses this. Apache httpd started using this in v2.3.3; this is newer than the version in ports.
A source code patch is available.
[Applied to stable]
- Put a limit on fnmatch(3) recursion during matching, and reject input of size greater or equal PATH_MAX.
- Fixed tmux(1) split-window argument usage.
- Added time related syscalls clock_gettime() and clock_getres() to compat_linux(8).
- Set SO_KEEPALIVE on ftpd(8) sockets.
- Fixed a crash with xf86-video-ati in zaphod mode if one screen is not present.
- Make relayd(8) log the time taken for all types of check, not just tcp checks.
- Make Xenocara build use mandoc(1).
- Make the installation script use an absolute path to the temporary hosts file. Fixes hosts(5) creation upon install.
- Updated zoneinfo database to tzdata2011b from elsie.nci.nih.gov.
- Removed .NS from mandoc(1).
- Put the max size of em(4) EEPROM to 16k. Fixed use of at least Intel PRO/1000 (82576) rev 0x01.
- In pf(4), make sure that IPv4-ICMP6 and IPv6-ICMP packets are not rewritten in case they are dropped and logged.
- Prevent mandoc(1) from breaking line between the arguments of .Bsx .Dx .Fx .Nx .Ox .Ux.
- Fixed .Bk being ineffective in mandoc(1).
- Make sgi platforms correctly pick the MP kernel on install if applicable.
- In nm(1), fixed omission of symbol list for first object file in an archive with nm -s. Fixed PR6385.
- Fixed NULL dereference with sudo -g group when the sudoers(5) rule has no runas, user or group listed.
- Prevent a useless check already done in pf(4) pf_test_rule(): pf_test() and pf_test6() already drop IPv4-ICMP6 and IPv6-ICMP packets.
- Multiple improvements in otus(4), rsu(4), run(4), urtwn(4): use usb_ref_{incr,decr,wait}() to avoid detaching the driver while a process is still using the hardware; don't add timeout(9)s if the device is detached; added checks to see if the device has been detached before running ioctls, timeouts, and tasks; use usb_wait_task() to wait for tasks to complete.
- Make pf(4) reinitialize header length of unusual protocol number getting rewritten. Prevent a panic in m_clget().
- Multiple improvements in usb(4): merged 'onqueue' and 'running' members of struct usb_task into a new member, 'state'; added new function usb_wait_task() which waits for queued or running usb_tasks to complete; in the USB_DEVICEINFO ioctl, fill struct usb_device_info in a usb_task, thereby avoiding races against driver attach/detach.
- OpenSSH 5.8 released.
- Fixed uninitialized nonce variable in ssh(1) key_certify().
- Clear struct scsi_inquiry_data in atascsi_pmp_inq() from SCSI to ATA translation layer.
- Prevent tmux(1) from requiring -d with -x or -y since it could be in the config file.
- Make isakmpd(8) ignore any IP address not in the current routing domain when binding to addresses.
- Merged in Xenocara fix for EXA bug #32803.
- In the kernel semaphore handling, for SETVAL and SETALL operations make sure the specified value(s) are within the system limits. Fixes PR6547.
- Fixed pf(4) check for invalid IPv6 fragment.
- Merged in Xenocara fix for EXA bug #24703. Prevent crash.
- Make tmux(1) redraw pane borders when switching to last pane.
- Make crontab -e honour TMPDIR.
- In the OpenBSD upgrade process, don't run fsck(8) for fstab(5) entries with zero or empty fs_passno and make it ask for permission to continue upgrade if one or more mounts failed.
- Prevent mandoc -Thtml from printing out the <BR> before lines that have leading white space.
- Make mandoc(1) .Bx accept no more than two arguments.
- Make mandoc(1) quote .%T if .%B is specified, as in groff.
- Make wscons(4) report the compose key on sun keyboards in raw mode as a different keycode from right alt.
- Disambiguated return values of m_tag_copy_chain() in mbuf_tags(9).
- Fixed tmux(1) problems with fatal() if the terminal disappear while locked.
- Fixed logic errors in alc(4).
- Make tmux(1) use input_clear to reset the APC, DCS, OSC state or it could be reused improperly by a later state.
- Prevent an X server crash in Xenocara privilege separation.
- Make Xenocara effectively close the AGP device fd in xf86GARTCloseScreen() if it's different from the consoleFd. Fixes crashes at server reset.
- Improved iked(8) behaviour of drop_sa.
- Fixed an mbuf leak in mpe(4) by replacing m_free() with m_freem() in mpe_input().
- Fixed a memory leak by replacing m_free() with m_freem() in trunk(4) broadcast mode.
- In generic Ethernet functions, changed an m_free() to m_freem() to free the whole mbuf chain and to prevent a possible memory leak with bpf(4) BIOCSFILDROP option which is currently used by dhcpd(8) and dhclient(8).
- Prevent midi(4) from sleeping with the PCATCH flag while closing itself, otherwise a signal may cause the output buffer to not be drained and cause stale notes.
- Upgraded to nsd(8) 3.2.7.
- Added port multiplier support in sili(4) and ahci(4).
- Prevent iked from initiating connections in passive move, even for ACQUIRE messages from the PFKEY socket in order to suit sasyncd(8).
- Removed acquire flows from iked(8) to prevent it from passing traffic when there's no SA established.
- Enabled child SAS in iked(8) and make it do SA and flow transfer after succeeding with all the preparation steps.
- Improved tmux(1) jobs.
- When clearing tmux(1) entire screen, clear lines that are used into the history like xterm does.
- Make the pthreads(3) scheduler block signals while restoring a newly selected thread state.
- Make tmux(1) check if the index is in use and fail before creating the child process, rather than leaving a stray child on failure.
- Put -I${includedir} back into OpenSSL Cflags so configure script tests like test -n "`pkg-config --cflags openssl`" work.
- Removed usb events from usb(4) devices.
- Make mandoc(1) avoid double blank line before a table preceded by .PP.
- Prevent tbl(7) from skipping data after horizontal lines in the layout. This avoids data loss in cpu(4/hppa).
- Corrected tbl(7) horizontal spacing of data cells, alignment of centred cells and adjusted horizontal rule width to the new spacing.
- Make pkg_add(1) prepend pkgname to ask-update prompt, so that user knows for sure which package is asking.
- Fixed child SA deletion in iked(8) drop_sa.
- Make mandoc(1) ignore .ns (no-space mode), .ps (change point size), .ta (tab control) for now.
- Make mandoc(1) skip carriage return before newline, if any.
- Fixed Intel Wifi Link 6200 support in iwn(4) by forcing Tx/Rx chains masks since ROM contains broken data.
- Updated zoneinfo database to tzdata2011a.
- Changed nsd(8) default paths.
- Added support to installboot(8/i386) and installboot(8/amd64) for installing biosboot(8/i386), biosboot(8/amd64), boot(8/i386) and boot(8/amd64) on softraid volumes.
- Make softraid(4) correctly handle I/Os that exceed MAXPHYS in size.
- Make pfctl -x none equivalent to pfctl -x crit.
- Allow tmux(1) top-bit-set characters to be used for key bindings.
- Make tmux(1) set $TMUX without the session when background jobs are run.
- Improved lcd(4/hppa) with SMP kernel.
- Make pkg_add(1) display messages for new installed rc scripts and new material in the READMES directory.
- Wrapped mg(1) basename, dirname with xbasename, xdirname functions.
- Ensure that boot storage area exists and is large enough, before making softraid(4) install boot code.
- Updated xfwp to version 1.0.2, x11perf to 1.5.3.
- Make mandoc(1) check argument count validation for all in_line() macros.
- Prevent pf(4) from scrubbing packets that will be dropped anyway.
- OpenSSH 5.7.
- Upgraded pixman to version 0.20.2.
- Improved mg(1) filename completion.
- Repaired iked(8) rekeying by sending appropriate traffic selector.
- Make mpe(4) compile without errors when inet6 is not defined.
- Make iked(8) use IKED_ADDR_EQ instead of memcmp on comparing two iked_addrs.
- Fixed iked(8) traffic selector configuration so that it is always "from $localnet to $peernet" and not depending on the initiator/responder mode.
- Prevent iked from creating child sas from empty proposals.
- Make iked(8) handle empty encrypted payloads.
- Reimplemented the iked(8) policy evaluation for incoming connections to use the last matching semantics of PF.
- Split iked(8) pfkey initialization into a privileged and unprivileged part to prevent a possible crash.
- Added Atheros F1 and F2 PHYS ton atphy(4).
- Removed gotos in vte(4) vte_iff function.
- Make clear mandoc(1) can't format pages with roff .it request.
- Added support for ITE IT8721 to it(4).
- Improved pf(4) packet reassembler.
- Improved mg(1).
- Gave pf(4) pf_normalize_ip() the same 3 way semantics as pf_test(): PF_DROP, the packet is bad, the mbuf still exists and must be freed; PF_PASS and *m0 is NULL, the packet has been processed, not an error; PF_PASS and *m0 is not NULL, continue with packet processing. Fixes a potential mbuf use after free.
- When ospfd(8) is fixing conflicts make sure the right vertex is passed to lsa_merge() so that the correct sequence number is used for the LSA.
- Fixed a kernel crash due to ifmedia(4) broadcast address changes.
- Merged a change from ncurses(3) upstream to correctly recalculate a form field size on set.
- Added join-line (M-^) to mg(1).
- Removed handling of SIGUSR1 from crontab(1).
- Improved iked(8).
- Added initial acquire mode support in iked(8) and use it whenever Windows peers decide to drop Child SA based on the inactivity timer.
- Fixed redistribution of overlapping routes in bgpd(8) rde.
- Added back-to-indentation (M-m) to mg(1).
- Make mandoc(1) skip .TH with excessive arguments instead of throwing a fatal error.
- Make mandoc(1) skip .br .sp .nf .fi .na with arguments, using empty strings like groff instead of throwing a fatal errors.
- Make random(4) be more careful with nanotime() calls in early entropy storage, since at least sparc may not have the clock mapped.
- Continue to load acpiec(4) even if _REG fails.
- Improved IPV6 forward.
- Make hppa and hppa64 check in resettodr() if inittodr() has been called, otherwise it ends up resetting the clock when it doesn't need to.
- Make netstat -w default to the first egress interface, which is usually the most interesting.
- Fixed a double free in xwininfo(1).
- Make iwn(4) trust the Tx/Rx chains masks in ROM except for the 4965 and 5100 chipsets which are known to have broken ROMs.
- Improved iwn(4).
- Sync tbl(7) handling with upstream version 1.10.9: .T} can be followed by a delimiter, then more data; do not limit table column widths (improves terminfo(5)); let numerical cells respect explicitly specified minimum cell widths; let terminal output survive missing data cells; parse and ignore arguments in parentheses on layout cell specifications; move tbl_calc() into out.c such that it can be used by all frontends; give tables an HTML class; some cleanup in tbl -Thtml code.
- Make sure coding errors cannot make mandoc(1) miss fatal parsing errors by assert(3)ing valid parser state in the main parsing functions.
- Added another check to pkg_create(1).
- Make i386 and amd64 only use memory mapped extended PCIe config space access for the bus advertised in the MCFG table, and fall back on the traditional method for other busses.
- Make authentication to ldapd(8) from pGina work.
- Renamed imask[] to cpu_imask[] on powerpc architectures.
- Fixed athn(4) LED handling.
- Fixed a counter in ldpd(8) hello.
- Enable athn(4) at uhub(4) on amd64, armish, landisk, loongson, macppc, socppc, sparc64.
- Make ssh(1) client loop use variable host and not options.hostname, as the latter may have unescaped substitution characters.
- Improved athn(4).
- Make tmux(1) accept colours of the hex form #ffffff and translate to the nearest from the xterm(1) 256-colour set.
- Support unix domain sockets in nc(1) with -Uu.
- Minor improvements to random(4): only support pool words equal to 2048, define the amount of used key, define the amount of skipped rc4, use arc4random_buf instead of reimplementing in line, bzero some more "secrets".
- Added socket option SO_SPLICE to splice together two TCP sockets. Allows to write relay daemons with zero data copy.
- Updated Test::Simple(3p) to version 0.96.
- Substantially rewrite random(4): put a very thin mutex at the entropy-collection side, place a 2nd very thin mutex at the call-down path as well, move the pool->MD5->RC4init sequence into a workq driven from a timeout.
- Added a yield() in random(4) randomwrite() to prevent problems when root accidentally cat /dev/random.
- Increased i386 MAXDSIZ to 2GB.
- Permit to get all luns on a target probed in iscsid(8) with a single ioctl(2).
- Make vdsp(4/sparc64) detect whether a disk image is an ISO image and set the media type to VD_MEDIA_TYPE_CD to vDisk 1.1 clients. Makes installing from a Solaris 11 Express bootable install CD work.
- Fixed a malloc(9) call in vdsp(4/sparc64).
- Added support for the vDisk1.1 protocol in vdsp(4/sparc64). Improved Solaris vtoc/disklabel support and implement VD_OP_SET_VTOC. Makes Solaris actually run on top of an OpenBSD control domain.
- Reset ssh(1) SIGCHLD handler to SIG_DFL when executing LocalCommand.
- For very large operations in random(4) randomread(), use a local rc4 instance much like arc4random_buf_large does, but without re-initializing it every 8K.
- Fixed %n expansion in ssh(1) LocalCommand.
- When ssh(1) exits because of a ServerAliveTimeout, mention the hostname that caused it.
- Update CGI(3p) to 3.51. Includes a better fix for SA42443.
- Implemented fast channel change in athn(4).
- Align vdsp(4/sparc64) with Solaris expected behaviour.
- Make athn(4) create an STA entry for the BSS upon association.
- Make vnd(4) init and destroy the bufq in the ioctl handler to prevent problems when configuring a second one.
- Make install fsck question default to 'no'.
- Make all /dev/*random nodes supply data from the same source.
- Prevent iscsid(8) task scheduler from locking up.
- Make iscsid(8) pass the magic LUN -1 to VSCSI_REQPROBE so that all LU are probed by the midlayer.
- Added minimal LUN handling to iscsid(8).
- RELIABILITY FIX: sp_protocol in RTM_DELETE messages could contain garbage values leading to routing socket users that restrict the AF (such as ospfd) not seeing any of the RTM_DELETE messages.
A source code patch is available.
[Applied to stable]
- Put htons(3) around ip_randomid() for pf(4) scrub random-id to make it consistent with the network stack.
- Fixed bug in sl(4).
- Added preliminary support for the Atheros AR9271 chipset and probably the AR9280+AR7010 and AR9287+AR7010 to athn(4).
- Make acpi(4) MCFG ignore tables with an empty bus range.
- Pass pmap_bootstrap() the memory range used by the PROM/BUG/firmware/... in aviion, luna88k and mvme88k.
- Added minor optimizations to m88k pmap(9).
- Make copypage() and zeropage() per-cpu function pointers on mvme88k.
- Changed the count parameter to cmmu_tlb_inv(), and introduce cmmu_tlb_inv_all() to drop all user tlb entries on mvme88k.
- Put su -c ... command into an rcexec variable so that it can be easily used it in rc scripts.
- Reintroduced use of bufq in vnd(4).
- Properly fixed PR6009.
- Make mandoc(1) parse and ignore minimal column width specification.
- Make apm(4/i386) support machdep.lidsuspend, at least on Thinkpads which have aps(4).
- Added a cleaner integration of tbl(7) in mandoc(1).
- Added support for Memory Mapped Configuration space access. Gives access to PCIe extended configuration space access on modern i386 and amd64 machines.
- Use pmap_uncache_page() to alter cacheability of pages in bus_dmamem_map(). Makes the zaurus text mode console memory cached again after exiting from X.
- Introduced pmap_uncache_page() in arm pmap(9) to make a page uncached and maintain this both at the pte and pv list level.
- Prevent vcons(4/sparc64) from assuming it is always the console since it's possible to run CoolThreads servers with a graphics console.
- Updated xproto to version 7.0.20.
- Make random(4) arc4_stir() only grab 64 bytes from the MD5 output.
- Added support for XVR-300 in radeonfb(4/sparc64).
- Make rc.subr(8) check for a login class that matches the rc script name and use it if it is found, otherwise use daemon.
- In bpf(4) bpf_movein(), range-check mbuf size against MCLBYTES before size_t to int truncation.
- Implemented NOP-IN -> NOP-OUT handling in iscsid(8).
- Make iscsid(8) cleanup tasks with a NULL callback after queuing the PDU to be sent out. Allows immediate responses to be issued with a task instead of very special code.
- Make iscsid(8) truncate the scsi sense data to 18 bytes if more data was supplied. Improves connection.
- Fixes parsing of login responses with additional padding in iscsid(8).
- Make iscsid(8) log the PDU which failed because no task was found.
- Added a missing session parameter in iscsid(8).
- Fixes multiple man(7) .IP and .TP bugs for -Tascii and -Thtml.
- Cleaned up and simplified tmux(1) command argument parsing.
- Cleaned up argument count validation in mdoc(7): prevent segfault on empty .Db, .Rs, .Sm, and .St; let check_count() really throw the requested level, not always ERROR and downgrade most bad argument counts from ERROR to WARNING.
- Added support for UTF-8 mouse input (\033[1005h) in tmux(1).
- Make unprovided mandoc(1) macro arguments defaults to empty string and not NULL.
- Removed the old COMPAT_23 SysV IPC structures from the kernel.
- Fixed bugs in mandoc(1) macro argument parser with blank, backslashes and quotes escaping.
- Make mandoc(1) use one common macro argument parser for roff and man macros.
- Added to pkg_info(1) a -r <pkgspec> option to to check for a pkgspec by name, without looking at installed packages.
- Reworked OpenBSD::Ustar(3p) object creation.
- Plugged a memory leak in fortune(6).
- Make ac97(4) use host_flags directly as they're initialized during attach time.
- Allow to change vlan options of existing vlan(4)/svlan(4) devices at runtime instead of forcing the user to-recreate the interface with the changed options.
- Make ac97(4) check the optional flags method is not NULL before using it.
- Adjusted krb5 directories in OpenSSL pkg-config generator.
- Reworked m88k systems backtrace code.
- Reduced use of cd in the install script by using sub-shells or absolute paths when possible.
- Improved vdsp(4/sparc64) with OpenSolaris virtual disk client.
- Make hppa need_resched() call cpu_unidle() such that a process running on another CPU is woken up.
- Make pkg_create(1) create formatted man pages as temporary files.
- Improved OpenBSD::Ustar(3p) error printing.
- Enabled Xorg on hppa.
- Enabled udl(4) in Xenocara.
- Prevent some NULL pointer dereferences in osiop(4).
- Make elroy(4/hppa) store bus/dev/func numbers only when the corresponding pointer argument isn't NULL.
- Improved vdsp(4/sparc64) with OpenSolaris virtual disk client and enabled to boot from a bootable automatic installer cdrom.
- Added code for acpi(4) taskqueue. Eliminates need for state vars in acpi softc serialize processing ACPI tasks for sleep/powerdown/GPE event.
- Make vdsp(4/sparc64) go past the version negotiation against an OpenSolaris virtual disk client.
- Improved mvme88k cache handling.
- Implemented READ CAPACITY in vdsk(4/sparc64).
- Prevent random(4) from folding the MD5 in half.
- Moved hppa setting cpu_hzticks to the clock initialization function, like other ports.
- Improved softintr_establish() linked list management in hppa intr.c.
- Make elroy(4/hppa), dino(4/hppa) store bus/dev/func numbers only when the corresponding pointer argument isn't NULL.
- Prevent a buffer overflow in sort(1). Fixes PR6294.
- Added support for OTPROM reading on athn(4) AR9485.
- Added a -P option to new-window and split-window to print the new window or pane index in target form.
- Reset tmux(1) session timer of an unattached session when it is attached.
- Make wd(4) put the drive into standby in shutdown, but only if the machine will be powered down.
- Rewrite the random(4) randomattach function.
- Removed kq and poll code from random(4).
- Adapt the m88k systems pmap(9) to aviion, mvme88k, luna88k.
- Prevent athn(4) from exceeding power requirements in Atheros AR9380, AR9485, AR9380, AR9003 chipsets.
- Better handle of writethrough mappings in m88k systems pmap(9).
- Reworked the cache flushing routines in m88k systems.
- Introduced a new cmmu routine in m88k systems.
- Updated dirent.h for standard compliance: expose dirfd with XPG7 and scandir and alphasort with POSIX 2008.
- Improved isp(4).
- Added a new firmware package for iwn(4).
- Reduced the chances of false pulse detect in AR9271 and AR9485 Atheros chipset and improved carrier leak calibration/correction.
- Make athn(4) more bus independent.
- Make pfctl(8) check pf.conf(5) scrub don't use no-df, random-id, set-tos options for IPv6 rules.
- Make amd64 machine-dependent pthreads(3) compile with llvm-clang.
- Make sigsetops(3) compile with llvm-clang.
- Changed tmux(1) from a per-session stack of buffers to one global stack.
- Improved random(4).
- Fixed addressing block bug with wd(4) and 2010 Apple 13" MacbookPro.
- Added hppa GENERIC.MP to the release build and ship bsd.mp for hppa.
- Make sure hppa restore the right interrupt mask when switching CPUs.
- Improved the loading of FPU context with multiple CPUs in hppa.
- Turn hppa machine-dependent signotify() into a function that also calls cpu_unidle().
- Implemented cpu_unidle() for hppa multiprocessor kernels.
- Make mfi(4) use iopools.
- Prevent run(4), rum(4), urtw(4) and ral(4) from adding timeouts if the driver is dying and improved detaching.
- Add a process reference counting variable to struct usbd_device in usb(4).
- Fixed some PCI power management issues that prevented acpi(4) (and perhaps apm) suspend on some machines.
- Added support for all the four xterm mouse modes.
- Allow tmux(1) config file parser and source-file to return "don't exit" to the client to let attach work from configuration files.
- Prevent i386 and amd64 kernels from printing the "can't get bus clock" message with Xeon 3600/5600 and Xeon 6500/7500.
- Removed non-essential, unused parts of random(4).
- Removed fc_conf from rc.subr.
- Removed more direct uses of print in pkg_add(1).
- Fixed swapctl -A with DUIDs in fstab(5) and plugged a memory leak.
- Implemented timeouts of scsi commands in mpii(4).
- Make mpii(4) properly detach devices.
- In mandoc(1) libmdoc, replace the union of pointers to structs of macro-specific data by a pointer to a union of structs, which makes the code simpler and more robust at the expense of a small memory overhead.
- Fixed a bug in mandoc(1).
- Corrected x86_atomic_*_ul() to operate on 64bit integers, removed x86_atomic_*_l(), and updated the callers of all of those to use the underlying x86_atomic_*_u32() functions they were expecting.
- Removed unused and broken x86_multicast_ipi() from i386 and amd64.
- Prevent issuing a m88k cache maintenance operation until the last one is completed.
- Make rc.subr call rc_conf itself right after reading in rc.conf(8).
- Properly initialize i386 MXCSR and XMM registers when writing only in the x87 FPU state and the process has not used the FPU yet.
- Added cfattach activate functions and call usbd_deactivate() in the DVACT_DEACTIVATE case for cdcef(4), otus(4), rsu(4), urtwn(4), uberry(4), udfu(4), udl(4), uow(4), uyap(4). Make those which don't have dying flag call usbd_deactivate() in the DVACT_DEACTIVATE case.
- Added some groff behaviour to mandoc(1): Specifying both .%T and .%J in an .Rs block causes the title to be quoted instead of underlined, such that journal title and article title appear visually different.
- Removed pmap_phys_address(), and force every driver's mmap() routine to return a physical address in all platforms. Allows machine-independent drivers to implement mmap(2) routines without having to know about the pmap_phys_address() implementation.
- Polished mandoc(1) HTML output: use <SMALL> for .SM and <CODE> for .Dl, <B> for bold and <I> for italic.
- Added a param to uvm_map_hint to not skip over the heap, and use it as a last resort if mmap otherwise fails to enable more complete address space utilization.
- Prevent linker failure with sparc crtbeginS.o.
- Prevent pms(4) from crashing when doing an ioctl(2) (eg wsconsctl -a) before first activation (wsmoused or X).
- Prevent rc.subr from overwriting local_rcconf by flags from the rc(8) script.
- Make pkg_create(1) create more bogus packages to get errors out of pkg_add(1).
- Prevent g++(1) from warning about undefined __throw_exception_again().
- Make pkg_add(1) handle failures from ports tree with more care.
- Have sd(4) devices check for and respect read-only information the way st(4) does. Have both decline to open read-only devices for anything but read-only access.
- Fixed a tmux(1) crash due to side effects of server_kill_window with RB_FOREACH.
- Prevent m88k systems from sharing their exception page with the one used by the firmware at address 0. Make it possible to catch NULL pointer dereference.
- Add a common interface for various devices in pms(4).
- Make m88k systems check for pcb_onfault being set for genuine kernel data faults.
- Make the pte created by pmap_map() wired, and count them in pmap_kernel() statistics on m88k systems.
- Improved pmap(9) mmap interface.
- Increased the DATA limit to the maximum value in bgpd(8) RDE, do the same with NOFILE in the session engine.
- Fixed dhcpd(8) when asked to log on stderr.
- Make iked(8) use netmask instead of address when it is asked to.
- Fixed iked(8) SA rekeying for responders.
- Added more standard HTML tag to mandoc(1) -tHTML.
- Allow drm(4) to work in -keepPriv situations.
- Prevent removing of xf86drm device entry if open fails.
- Make the installation script use the chrooted arandom(4) and add to it more commands of output of random junk.
- Make rc(8) and the installation script use arandom(4) for feeding entropy to the kernel.
- Prevent opendev(3) from prepending /dev/ to path if it already contains a slash.
- Reworked iked(8) child SA rekeying and added a new per-policy "lifetime" in iked.conf(5).
- Fixed some bugs in iked(8).
- Make it easier to spot errors in pkg_add(1).
- Make vnd(4) populate the disk name based on the mode in which it was configured (svndX if safe vnd disk, vndX if standard).
- Add support for Dynex DX-SC51 envy(4).
- Prevent an infinite loop in pkg_add(1).
- Improved mandoc(1) vertical spacing, -Thtml.
- Make tmux(1) store its sessions in a red-black tree by name rather than a list.
- Updated xorg-server to version 1.9.3.
- Prevent ipsec(4) input from leaking short packets.
- Prevent opendev(3) from casting to non-const.
- Converted netisr to a normal soft interrupt instead of having machine-dependent code for it.
- Prevent a mbuf leak in ipsec(4).
- Fixed iked(8) netmask from sockaddr conversion.
- Fixed PR6524.
- Fixed iked(8) log_warn and log_debug arguments.
- Improved pkg_add(1) dependencies finder.
- Improved mandoc(1) buffers. Fixes some segfaults.
- Work around panic(9) due to 'invalid opcode' in mvme88k kernel trap.
- Fixed panics when applying newfs(8) to the 'c' partition of a softraid(4) volume, though one shouldn't do that.
- Improved pkg_create(1) solving of dependencies by making it ask the ports tree for the plist.
- Make relayd(8) only set SO_REUSEPORT for listening ports. Fixes 'Address already in use' errors seen on high load.
- Added a check in pkg_create(1): walk the dependency tree for @wantlib. Prevents packages that won't install.
- Split solver class into a base that can be reused from pkg_create(1) in pkg_add(1) OpenBSD::Dependencies.
- Make a real method out of find_candidate in pkg_add(1) OpenBSD::Dependencies.
- Allow registration of library objects in pkg_add(1).
- Make pkg_add(1) pass state to SharedLibs for direct printing.
- Removed SESSION_DEAD flag from tmux(1).
- Make tmux(1) use pointer rather than index for the client's last session.
- Unified the way tmux(1) sessions are used by callbacks.
- Added a -xxx option to pcidump(8) to print PCIe extended configuration space.
- Prevent tmux(1) from destroying the index counter when a session comes up.
- Make ucycom(4), utrh(4) and utwitch(4) the last drivers using their own macros instead of usb_lookup().
- Fixed an alignment trap triggered by vnconfig(8) on sparc for kernels compiled with gcc4 in the kernel generic ioctl(2).
- Added other-pane-height and other-pane-width options to tmux(1). Allows the width or height of the smaller panes in the main-horizontal and main-vertical layouts to be set.
- Updated freetype to version 2.4.4.
- Make mandoc(1) handle .Bk with HTML output format the same way it is for ASCII.
- Make mandoc(1) handle .Bk the same way as groff 1.20.1: .Bk without arguments defaults to -words, .Bk with invalid arguments (including -lines) has no effect.
- Fixed regression in smtpd(8): if MX look up fails, fallback to using the host itself.
- Improved mandoc(1) HTML output: use less <DIV> and more <H1>, <H2>, <P>, <BR>, <PRE>, <UL>, <OL>, <DL> etc.
- Removed `i' and `r' macro handlers in mandoc(1).
- Added support for the Sweex LW154 to rsu(4).
- Improved pkg_add(1) with uses of OpenBSD::State(3p).
- Prevent usb(4) usbd_{bulk,intr}_transfer from catching signals if a timeout is set.
- Fixed simple passwords with SHA in ldapd(8).
- Avoid pointer arithmetic on void * in malloc(3).
- Fixed length of the array containing VIA ciphers in crypto(9) and crypto(3).
- RELIABILITY FIX: Bring CBC oracle attack countermeasures to hardware crypto accelerator land. This fixes aes-ni, via xcrypt and various drivers: glxsb(4), hifn(4), safe(4) and ubsec(4).
A source code patch is available.
[Applied to stable]
- SECURITY FIX: Insufficient initialization of the pf rule structure in the ioctl handler may allow userland to modify kernel memory. By default root privileges are needed to add or modify pf rules.
A source code patch is available.
[Applied to stable]
- Fixed getopt() bug in dhcpd(8).
- Prevent uticom(4) from panicking when being attached. Enable it in i386 and amd64.
- Added security fix in OpenSSL for CVE-2010-4180.
- Prevent delays in usb(4) if the device dying.
- Make cron(8) treat a missing spool dir like an empty one.
- Disabled access to crypto(4) from userland.
- Implemented fast path TLB miss handling on the landisk platform. Improves speed by 44-50%.
- Make voyager(4/LOONGSON) use the dying flag in struct usbd_usb instead of a private dying flag.
- Make ohci(4), uhci(4), ehci(4) use the dying flag in struct usbd_usb instead of a private dying flag.
- Make math(3) HUGE_VAL, HUGE_VALF, HUGE_VALL, INFINITY, NAN expand to the constant expressions with the help of GCC version posterior to 3.3.
- Fixed bug in cwm(1).
- Make tmux(1) read ${X} environment variables in strings and $HOME from the global environment rather than getenv, this allows them to be updated during the configuration file parsing.
- Fixed a race condition in ldconfig(8).
- Simulate a full login with su(8) in rc.subr.
- Make su(1) call setusercontext() with the LOGIN_SETENV flag for su -l to pick up environment variables specified in login.conf.
- Prevent ospfd(8) and ospfd6(8) from using a carp address as ospf router.
- Improved pkg_delete(1).
- Prevent smtpd(8) resolver from reading past the end of a buffer.
- Make sure GCC configuration file for sparc OpenBSD is consistent with <sys/types.h>.
- Fixed segmentation faults with GCC4 by allocating a full C compiler-style stack frame that includes space for 6 extended word arguments slots required by the sparc ABI in sparc ld.so(1).
- Make rsu(4) match the Planex GW-USNano.
- Added support for the ZTE MF112 from MERIGHI Marcus to umsm(4).
- Make urtwn(4) drop Rx'd frames larger than MCLBYTES.
- Added rsu(4), a driver for Realtek RTL8188SU, RTL8191SU and RTL8192SU 802.11n USB devices. Enabled it in i386 and amd64 GENERIC kernels.
- Allow tmux(1) to track the last session for a client and add a flag to switch-client a key binding (L) to move a client back to its last session.
- Fixed tmux(1) rectangle copy to behave like Emacs.
- Make tmux(1) prompt history global for all clients.
- Make mandoc(1) SYNOPSIS sections and code having .nr nS enabled behave as if the whole code were wrapped in .Bk/.Ek.
- Fixed bug in urtwn(4).
- Allow the rc.d system to mark an rc action as unsupported by setting the corresponding variable to NO.
- Prevent the rc.d system from overwriting settings in the rc scripts.
- Added support for setting _user _class and _shell for a specific daemon launched with rc.d, and use su(1) to start the daemons.
- Fixed bug in su(1).
- Fixed a file descriptor leak in rcs(1).
- Make mandoc(1) abort endless loops during roff macro and string expansion.
- Allow mandoc(1) quote macros (`Op', `Aq', `Bq', `Dq', `Pq', `Ql', `Qq', `Sq', and `Brq') to have zero arguments without warning.
- Added support for -s login-shell to su(1).
- Fixed an infinite loop in bgpd(8).
- Prevent isakmpd(8) from deleting SAs from the same IP on an INITIAL-CONTACT message. Fixes PR5562.
- Added a -3 option to scp(1) to transfer copy between two remote paths through the local host.
- Make xinput use ASCII art when the environment is not UTF-8 capable.
- Distribute the panes more evenly in tmux(1) built-in layouts and set the default value of main-pane-width to 80 rather than 81.
- Fixed bug in amd64 {rdmsr,wrmsr}_locked functions.
- Updated xf86-video-geode to 2.11.10.
- Improved i386 and amd64 checksumming of disks that need to be matched to BIOS disks. Prevent a wrong disk from being attached as boot disk.
- Make mandoc(1) ignore .ft when used with -Thtml.
- Prevent mandoc(1) from reporting the same problem more than one time.
- Added an option in tmux(1) for silence (lack of activity) in a window.
- Prevent mandoc(1) from printing .P, .PP and .LP header content.
- Prevent mandoc(1) from following .D1 and .Dl inside .Bd with a blank line.
- Avoid calling xf86DPMSInit() twice in xf86-video-sunffb. Fixes X server crashes that appeared with the xserver 1.9.2 import.
- Allow better compiler optimization of PMAP_PREFER on arm, hppa, hppa64, m68k, mips64, solbourne, sparc and sparc64.
- Updated CGI(3p) to version 3.50 (includes a fix for SA42443).
- Added a -D flag to specify the display to start xtsscale(1) on.
- Make ehci(4), ohci(4), uhci(4) set the dying flag when having an unrecoverable error. Check the dying flag in timeout and interrupt handlers.
- Make uhci(4) delete the interrupt timeout in the detach routine as in ehci(4) and ohci(4).
- Make use of usbd_deactivate and usbd_is_dying instead of own dying routines in atu(4), aue(4), axe(4), cue(4), mos(4), ral(4), rum(4), uath(4), udav(4), upgt(4), url(4), urtw(4), zyd(4), udcf(4), ueagle(4), umbg(4).
- Make usb(4) call config_deactivate() before config_detach() when detaching devices.
- Make usb(4) use usbd_is_dying() instead of directly checking the device's bus dying flag.
- Make usb(4) check that the root hub has been configured before trying to free it's resources.
- Added dying flag to usb(4) struct usbd_device. Added usbd_deactivate() to set it. Added usbd_is_dying() to check if the flag has been set and use it before issuing transfers or requests.
- Improved xf86-video-glint for sparc64. Make mplayer play video without weird colors.
- Upgraded xorg-xserver to version 1.9.2, xf86-video-savage to 2.3.2.
- Make pyro(4/sparc64) and vpci(4/sparc64) return the appropriate size for the extended PCIe configuration space.
- Make sure nfsrv_descrpt_pl pool is initialised only once in nfs_syscalls to prevent infinite loops.
- Make pkg_add(1) framework easier to reuse.
- Make pci(4) check the register offset against the device's configuration space size in PCIOCREAD and PCIOCWRITE ioctls.
- Introduced a new pci routine, pci_conf_size(), in all platforms machine-dependent code. It returns the size of a given pcitag_t configuration address space.
- Added a simple bus_space_barrier implementation in octeon.
- Fixed a file descriptor leak in ssh(1).
- Fixed iockbc(4/sgi) compilation.
- Updated amd64 locore.S for handling the new size of pm_cpus, member of pmap(9).
- Added support for DUIDs in swapctl(2).
- Added a protocol extension to sftp(1) to support a hard link operation.
- Make ssh(1) key authentication check for revoked keys earlier.
- Fixed a file descriptor leak in smtpd(8).
- Make mandoc(1) properly initialize the manual section to a default when .Dt is missing. Prevent it from dying on an assertion.
- Added quirks to usb(4) to prevent it from attaching the hid interface of the Texas Instrument MSP430.
- Prevent savecore(8) from reading lapic area by not linking vers.o last.
- Make the hotplug(4) queue dynamic. Allow it to increase size without waste.
- Introduced a -N option in tar(1) to make it use only the numeric UID and GID values when creating or extracting an archive.
- Prevent umodem(4) from matching, attaching devices without a data endpoint since umodem(4) can't use them.
- Prevent mandoc(1) from assuming autodetected file format are all the same.
- Disable default maintainer mode in makedepend(1). Suppress extra attempts to re-run autoheader that fails.
- Added a -s option in bioctl(8) to allow passphrase read from stdin.
- Prevent find(1) from throwing an error if it can't opendir() while -empty is used.
- Make perl(1) work with THREADED_PERL=true, though not enabled by default.
- Increase the maximum number of monitored hosts and concurrent health checks in relayd(8). Fixes issues when having around 100 hosts or more.
- Replaced a large stack buffer with a malloc call in localtime(3).
- Avoid ssh(1) hostkey warnings when connecting to servers with new ECDSA keys that are preferred by default.
- Improved iked(8) and isakmpd key exchange speed.
- Updated xterm to 267, xf86-video-apm to 1.2.3.
- Make tmux(1) configure mode-keys and status-keys to vi if $VISUAL or $EDITOR are set to "vi".
- Let ifmedia(4) ifa_print_rb() build on kernels not implementing inet6. Fixes some RAMDISK builds.
- Make ssh(1) correctly load comment for encrypted rsa1 keys.
- Make fsck -p respect fs_passno > 2 as implied by fsck(8) manual.
- Make bgpd(8) deny prefixes that have F_ATTR_PARSE_ERR set by default. Prevent them from leaking into the Loc-RIB or other RIBs but act as withdraws.
- Introduced a new asynchronous resolver in smtpd(8).
- Added rss mime type to httpd(8).
- Removed .Sp, .Vb, and .Ve workarounds from mandoc(1) now it has a proper .de support.
- Implemented the roof .ft (change font) request for man(7).
- Bumped the number of supported CPUs from 32 to 64 on i386 and amd64.
- Fixed hangs seen with MCLGETI and put it back in re(4).
- Removed machdep.root_device sysctl(3) in alpha platform.
- Added boot descriptor support to octeon.
- Removed machdep.debug, machdep.booted_device and machedep.booted_kernel sysctl(3) in arm, armish, beagle, gumstix, palm and zaurus architecture.
- Enabled __HAVE_PMAP_DIRECT on mips64, unless the kernel is configured to run on R5000 family processors.
- Fixed a carp(4) panic.
- Improved mandoc(1) handling of error message when parsing unimplemented macros.
- Make mandoc(1) parse and ignore .ad, .hy, .nh and .ne roff requests to reduce ERROR messages from mandoc -Tlint.
- Prevent mandoc(1) from printing bogus ERROR messages about undefined macros.
- Improved the way saved registers are displayed in arm backtraces.
- Removed the global pmap list and related debug code in arm machine-dependent code.
- Removed the vm_map field of ddb(4) breakpoints and watchpoints, and do not pretend these could work on userland addresses.
- Removed ddb(4) single-step load and store counters.
- Updated xf86-input-keyboard to 1.5.0.
- Make sure i386 and amd64 kernels don't attach more CPUs they can handle and allow OpenBSD to boot on machines with more than 32 CPUs/cores.
- Make pkg_add(1) keeps track of all manpages directories.
- Increase uvideo(4) UVIDEO_MAX_FRAME to 32 to support 28 possible frame types.
- Improved gfxp(4/sparc64).
- Disabled uscanner(4) by default on all kernels which configure it.
- Fixed ldapd(8) re-indexing by checking if an index entry already exists.
- Make rc.shutdown(8) print the daemon name before rc_stop.
- Remove sunmouse protocol decoder from Xenocara.
- Make scp(1) pass through ssh command-line flags and options when doing remote-remote transfers.
- Make mandoc(1) support quoting of arguments passed to user-defined macros and make .del a synonym for .de.
- Implement the .de (define macro) roff instruction in mandoc(1).
- Updated xcalc to 1.0.4, xeyes to 1.1.1, xf86-video-ast to 0.91.10.
- Updated xlsatoms to 1.1.0, xlsclients to 1.1.0, xwininfo to 1.1.1, all rewritten to use XCB.
- Added floating-point emulation code for systems mips64 systems lacking proper FPU like octeon.
- Allow machine-dependent code to setup machine-dependent specific mappings in sys_execve(), if machine-dependent defines __HAVE_EXEC_MD_MAP.
- Improved ptrace(2) usage on mips64.
- Implemented a real pmap_proc_iflush() in mips64 chipsets.
- Fixed uvideo(4) controls that use two-bytes signed data on sparc64.
- Make sure that hw.disknames gets updated whenever a disklabel is set.
- Make relayd(8) set the number of hosts that are up to zero when disabling and enabling tables.
- Fixed bug in smtpd(8) aliases.
- Avoid NULL dereference in ssh(1) when receiving a channel request on an unknown or invalid channel.
- Improved octeon interrupt handling.
- Prevent RAMDISK sysctl(8) from printing terminating null character after strings.
- Make mii(4) recognize the Marvell PHYG65G Gigabit PHY.
- Removed WINDOW_HIDDEN flag from tmux(1).
- Make zs(4/macppc) use cons_decl() to get console routine prototypes.
- Make installation script create devices for fstab entries that are using disklabel(8) UID.
- Improved cd(4).
- Removed timer randomness in random(4) ioctl.
- In Xenocara, updated xf86-input-mouse to version 1.6.0.
- Refactor ssh(1) internals of private key loading and saving to work on memory buffers rather than directly on files.
- Make uhci(4) handle uhci_alloc_sqh() properly when it fails to allocate memory in uhci_device_setintr().
- Make ssh-agent(1) use "$TMPDIR/ssh-XXXXXXXXXXXX/agent." instead of hardcoded "/tmp/ssh-XXXXXXXXXXXX/agent." for its socket.
- Added wsdisplay_rawkbdinput() for raw mode input in wskbd(4).
- Start work to get rid of avail_start and avail_end in the kernel.
- Prevent mac68k machine-dependent code to overrun memory ranges array.
- Fixed panic on bridge(4) destroy.
- Added urio(4), uscanner(4) and pseudo-device hotplug(4) to sgi GENERIC-IP27, GENERIC-IP30, GENERIC-IP32 kernels.
- Added urio(4) and uscanner(4) to loongson GENERIC kernel.
- Added pseudo-devices hotplug(4) and wsmux(4) to hp300, landisk and sparc GENERIC kernels.
- Make install/upgrade drop dhcp group from interfaces which did not go UP and got an IP address.
- Do not allow malloc() to wait in uhci(4) uhci_device_setintr(), instead check for failure and return USBD_NOMEM: callers will do the right thing.
- Make KERN_CPTIME return an average number of ticks across all CPUs in sysctl(3).
- Prevent installboot(8/sparc64) from crashing if the bootblock is zero-sized. Apply similar fixes to installboot(8/mvme68k), installboot(8/mvme88k) and installboot(8/sparc).
- Prevent dhcpd(8) from trying to listen on interfaces that don't have a valid broadcast.
- Fixed lynx(1) SSL error when going to sites using wildcard certificates.
- Prevent MAKEDEV from running for a UID in install.
- Make sure NTFS and ext2 readdir cookies are actually allocated with the correct size.
- Added NVIDIA MCP89 SATA controllers in the PCI IDE controller driver.
- Make bgpd(8) log notification messages.
- Make bgpd(8) accept but ignore updates with AS_CONFED_* path segments, treating them as withdraw.
- Added ifa_print_rb() to ifmedia(4) to allow dump of the ifaddrs red-black tree to the console in ddb(4).
- Make ifmedia(4) maintain a red-black tree of ifaddrs structures and make ifa_ifwithaddr use it for lookups.
- Applied security fix for OpenSSL CVE-2010-3864.
- Introduced ifa_update_broadaddr in ifmedia(4) to update an ifaddr's broadcast address,
- Allow iked(8) -D command line flag to actually define macros.
- Make mount_msdos(8) handle disklabel(8) UID.
- Make fsck(4) try to determine file system type using readlabelfs(3) when given a disklabel UID.
- Added support for Marvell 88E8059 in msk(4).
- Fixed a null pointer dereference in route(4) that was causing kernel crashes.
- Make urtwn(4) attach FeiXun products.
- Fixed error message when ld.so(1) ends up loading a different than expected library, but other library needs the one loaded.
- Periodically measure temperature in urtwn(4) and redo LC calibration if temperature changes significantly since last LC calibration.
- Added support in relayd(8) for enable/disable table when using relays instead of redirects.
- Fixed a pointer bug in cardbus(4) com(4).
- Make ipw(4) and iwi(4) ${if}_stop reset ic_scan_lock as in wpi(4) and iwn(4)
- Added urtwn(4) to armish, landisk, macppc, socppc and loongson GENERIC kernel.
- Make readlabelfs(3) handle disklabel(8) UID.
- Make isduid(3) easily usable.
- Prevent smtpd(8) from exiting if smtpctl schedule is run with a valid but non-existent message ID.
- Improved amd64 AESNI driver.
- Prevent who(1) from producing lines longer than 80 columns.
- Make tmux(1) show more window and pane flags in list-* output, and put layout on the same line.
- Improved aucat(1) midi.
- In Xenocara, updated Pixmap to version 0.20.0.
- Prevent tmux(1) last and active window from becoming the same.
- Allow ssh and sshd to set arbitrary TOS/DSCP/QoS values instead of hardcoding lowdelay/throughput.
- Removed bdwrite to bawrite conversion in vfs(9).
- Switched from TSS-per-process to TSS-per-CPU in amd64.
- Reverted MCLGETI for re(4) as it is causing hangs.
- Push all potential system MI .h files not utilized by the bootblocks into the ctags run as well to bring #define's and structs and such into scope.
- Make pfctl(8) and tcpdump(8) show the rdomain correctly.
- Make the installer properly quote the wireless config into hostname.if(5).
- Added XAUTHORITY to tmux(1) update-environment.
- Added a -a flag to tmux(1) unbind-key to flush all key bindings.
- Make tcasic(4/alpha) and esp(4/mac68k) compute synchronous transfer periods (involving the bus clock) with a better accuracy.
- In Xenocara, updated libXdmcp to version 1.1.0, libXext to 1.4.0, libXft to 2.2.0, xtrans to 1.2.6, libXi 1.4.0, bh-ttf to 1.0.3, mkfontdir 1.0.6, xdriinfo 1.0.4, xgamma to 1.0.4, xinput to 1.5.3, xkill to 1.0.3, xrdb to 1.0.7, xrefresh 1.0.7, xset 1.2.1, xwd 1.0.4, xwud 1.0.3.
- Prevent acpibat(4) from recursing infinitely on the notify function.
- Updated athn(4) AR9380: added the different ROM templates for the different chips, fixed AR_PHY_65NM_CH0_TOP_XPABIASLVL definition, applied attenuation settings from the ROM.
- Pass aesni_ctr_enc an initial counter block instead of an initialization vector in amd64 aesni.
- Enable low latency interrupt modulation on ix(4) and set the LL interval to the maximum value to reduce the number of low latency interrupts hitting the card when the ring is getting full.
- Fixed an issue in bgpd(8) where the RDE would start up as route-collector because uninitialized memory made the RDE switch to that mode.
- Make ldapd(8) -dvv flags produce debug traces of decoded BER messages on stderr. Also shows a hexdump of the input buffer if BER decoding fails.
- Make ldapd(8) prefix debug logging on stderr with time and pid, like syslog.
- Use only libcrypto APIs that are retained with OPENSSL_NO_DEPRECATED in ssh(1).
- Set rdomain maximum route-id to RT_TABLEID_MAX in ifconfig(8), as it is for the kernel.
- Improved drm(4).
- Prevent rc(8) from printing 'Null message body; hope that's ok' in the rc output if the call to rc.firstime doesn't output anything to mail(1).
- Added %F, %g, %G, %u, %z (extended) and %Z conversion specifications to strptime(3) format string.
- Use scandir(3) instead of getdirentries(2) in diff(1). Call to getdirentries(2) should be avoided outside of libc.
- Clear ERL register on octeon locore.S.
- Added sched_get_priority_{min,max} to libpthread.
- Moved softraid(4) raid1 and crypto to a workq.
- Make sio_onvol(3) return a integer exposing whether a volume knob is available for the stream.
- Added a temporary workaround for imake(1) buff with variable substitutions.
- Prevent revision 0xc4 and earlier of the Acer Labs M5229 UDMA IDE from doing DMA for LBA48 commands. It makes large disks slower but work properly.
- Make ATA wdc(4) work around some bugs in certain pciide(4) controllers.
- Added security fix for the TrueType FX font variation loader of FreeType in Xenocara (CVE-2010-3855).
- Added a security fix for the TrueType bytecode interpreter of FreeType in Xenocara (CVE-2010-3814).
- Added urtwn(4) to sparc64 GENERIC kernel.
- Added urtwn(4), a driver for Realtek RTL8188CU/RTL8192CU 802.11n USB devices.
- Added experimental support for full dynamic range of 24-bit hardware use for i386, amd64 and sparc64 only. It is disabled by default since most hardware and audio programs use 16-bit precision.
- Added moscom(4), ucom(4), uts(4), uhts(4), uberry(4), uath(4), otus(4), upgt(4), urtw(4), urtwn(4), utrh(4) to macppc GENERIC kernel.
- Implement ddb(4) command "show mbuf addr".
- In Xenocara update xf86-video-geode to 2.11.9.
- Fixed a possible use of uninitialized variable in mrouted(8) IGMP.
- Make systat(1) print relative number of mbuf(9) livelock that happened between two systat updates instead of showing absolute figures.
- Make ldapd(8) return earlier when the base DN in a search request doesn't exist.
- Make ldapd(8) truncate additional incomplete requests when the input buffer already received two complete requests. Fixes the number of bytes consumed from the input buffer.
- Make bridge(4) filter out reserved destination MAC addresses (01:80:C2:00:00:0x) as per the 802.1D-2004 spec.
- Synchronized tcpdump(8) with tcpdump.org to fix multicast DNS support.
- Make ldapd(8) publish matching rules in the cn=schema subentry as the matchingRules attribute as required by RFC4517.
- Make ldpd(8) rewrite all packet parsers to be more careful about alignment.
- Make ldpd(8) only consider paths with highest priority when replying to label requests.
- Make sure sysmerge won't end up using /usr/src/etc when the correct option isn't passed.
- Fixed a bug in pkg_add(1) when used with: -nz bsr.
- Make ntpd(8) use all the IPs written during install by default in ntpd.conf(5).
- Make sftp-server(8) parse umask as octal.
- Make ctags(1) -t flag do nothing for backward compatibility as tags creation for typedefs, structs, unions and enums are the default by POSIX.
- Make pool_sethardlimit(9) not imply pool_sethiwat(9).
- Make ldapd(8) recognize all matching rules from RFC4517 except the optional wordMatch and keywordMatch.
- Use caseExactMatch instead of caseExactIA5Match in ldapd(8) core.schema.
- Make ldapd(8) evaluate filters according to the three-valued logic of X.511, as required by RFC4511.
- Make vmt(4) attach only if mainbus(4) is specifically asking for it after vmt_probe succeeds. Prevents mainbus(4) from hanging.
- Make trm(4) reduce useless retry of commands getting sense errors.
- Make make -q exit with 1 and not -1. Fixes PR6494.
- Make <sys/ressource.h> usable on its own by including <sys/time.h> as required by POSIX.
- Make the network livelock counter available from sysctl(8) and systat(1).
- Make sysctl(3) export the network livelock counter.
- Replaced a boot(RB_HALT) to a panic in amd64 machine-dependent trap.c to make it in line with the other architectures.
- In Xenocara updated xf86dga to version 1.0.3, xinit to 1.3.0,
- Added support for hex keys in the ifconfig(8) wpakey code (full length only).
- 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 signaled 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 Fortigate's 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 used 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 allows quick verification that 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) children when it is 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.
- Introduced a DKF_NOLABELREAD flag in disk(9), which is used by a device to prevent automatic reading of disklabel on attach. Applied it in fd(4) and cd(4).
- Added aes-gcm support in iked(8).
- Improved MCLGETI algorithm under load in TCP/IP stack.
- 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. Prevents 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 hub 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 its 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 commas, 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 explicitly: $ 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 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 happens 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 is 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), as is done for global ones. Though not explicitly allowed by the C standard it has been historically handled 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 leak in ccdconfig(8).
- Updated libc time functions to tzcode2010k 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 hasn't yet moved or 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 opened.
- 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 dereference 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 prints .Lk arguments in -Tascii.
- Make sure mandoc(1) throws 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 64 bit 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 from being 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.