This selection is intended to include all important
and all user-visible changes.
For a complete record of all changes, please see the "source-changes"
mailing list, called "OpenBSD CVS"
in the archives,
or use CVS.
Machine specific changes are sometimes mentioned
in the pages for the specific platforms.
Note: Problems for which patches exist are marked in red.
The sgi port can now run multiuser on IP28 systems.
Better support for split input/output setups in zs(4/sgi).
mg(1) stops earlier when paging down a buffer (C-v), so page does not circle back to top. Emulates emacs.
Support for the POWER Indigo2 R10000 systems (IP28) added to sgi port.
Simplify tmux(1) logging and just fprintf(stderr, ...) for early errors.
Allow mg(1) searching (C-s or C-r) to wrap around ends of a buffer.
Prepare mg(1) buffers before startup file parsed so multiple files can be opened via startup file. Find-file, insert-file, etc in startup file will now work as expected.
compat_linux(8) KERN_FILE_BYPID and KERN_FILE_BYUID modes of KERN_FILE2 sysctl() now per-process not per-thread. Removes duplication in fstat(1) output.
Imported a number of core functions from libpcap-1.2.0 while preserving local changes.
Support -Ios='OpenBSD 5.1' to override uname(3) as source of the default value for the mdoc(7) .Os macro, to fix man.cgi on the OpenBSD website.
If _MIN > _MAX consider a acpi(4) WordBus resource to be invalid. Fixes panic on IBM x3550-M4.
Don't increment the next expected message id when sending an iked(8) response. Fixes eap negotiation.
On resume, run forward the monotonic and realtime clocks instead of jumping just the realtime clock, triggering and adjusting timeouts to reflect that.
Fixed build of sqlite3(1) lemon parser generator on non-C99 compilers.
If compat_linux(8) LINUX_CLONE_SETTLS isn't set, clone()d child inherits the Thread Control Block value from the parent instead of having it zeroed.
smtpd(8)inet6(4) support fixup so "inet_net_pton: Address family not supported" log messages banished.
Fixed aucat(1) channel mapping, which caused crashes if all played/recorded channels didn't exist.
Fixup of from/to specification in /etc/iked.conf(5).
Removed hardcoded values for esp, and automatically decide which proposals to include if protocol is not specified. Allows iked(8) to successfully negotiate ah.
Add support for statfs64 and NTFS, AFS, and UDF filesystem types to compat_linux(8).
Increase the number of io and memory extent regions for amd64 to 16, to match i386.
Changed how mg(1) handles files beginning with a '~'. Brings behaviour more into line with emacs.
Support for RFC6594 SSHFP DNS records for ECDSA key types added to ssh(1).
bgpd(8) will now flush the right networks (the dynamic ones, not the static ones).
Synced log strings with the possible values of IMSG_CTL_RESULT in bgpd(8).
Fix a bgpd(8) warning message to print correct information for unknown peers.
Strip trailing slashes from directory in diff(1) splice() before appending the file portion.
Switched all of the various tmux(1) choose- and list- commands over to the format infrastructure.
Fix to sqlite3(1) lemon parser generator: checks the whole file for changes.
RFC 2461 Router Solicitation flushing will remove all IPv6 routes on a specified gateway, not only CONNECTED ones; clear routes when RA with RouterLifetime of 0 is sent; and use correct priorities when installing routes acquired via redirects.
The tmux(1) configuration syntax now lets a backslash escape itself at the EOL.
On mips64 the virtual aliasing mask computation is corrected.
less(1) will exit if it can't write to the terminal.
pstat(8) shows internal file-descriptor status bits: "d" and "m" are related to garbage collection and "l" means that the descriptor is in a transition state.
security(8) will now also check permissions of ".ssh/id_ecdsa".
Intel I350 PCI Express Ethernet adapters become supported by em(4).
sudo(8) addresses CVE 2012-2337 by adding a missing break between AF_INET and AF_INET6 in addr_matches_if_netmask().
pcidump(8) recognizes 8.0 GT/s link speeds of PCI Express 3.0.
The IPv6 stack tests that the target link local address is included with a neighbour advertisment sent to a multicast address, as mandated by RFC 4861.
unbound(8) now handles out-of-filedescriptor situations by temporarily pausing further accept(2)s.
In Xenocara, xf86-video-openchrome is updated to version 0.2.905.
The puc(4) driver starts supporting serial consoles.
patch(1) no longer outputs a confusing error message upon failure which occurs with -C.
usb(4) controller units are used as a bus numbers (rather than the host adapter) to fix possible conflict with identical bus numbers (i.e., ehci0 and uhci0).
The package tools have been reworked to test "LIB*VERSION" definitions more exactly.
The OpenBSD specific nginx(8)chroot(2) code is updated to find aliases (eg for user directories).
In Xenocara xlsfonts is updated to version 1.0.4, xmodmap to 1.0.7, xkbcomp to 1.2.4, font-util to 1.3.0; the xf86-video-mach64 reaches version 6.9.1.
In Xenocara the xf86-video-i128 driver is updated to version 1.3.5 and xf86-video-mga to 1.5.0. Updated applications: fslsfonts reaches 1.0.4, fstobdf 1.0.5 and xinput is updated to version 1.5.4.
The bnx(4) driver takes care not to print an unset interrupt name.
To prevent lockup situations with full send queues when further interrupts fail to appear, the em(4) driver's start routine is triggered after the link status has been updated.
Bugfix for snmpd(8) PF status report MIB, which previously did not zero out all unused fields in the structure.
Update to: xf86-video-apm 1.2.4, xf86-video-i740 1.3.3, xf86-video-s3virge 1.10.5, xf86-video-s3 0.6.4, xf86-video-siliconmotion 1.7.6, and xf86-input-vmmouse 12.8.0
Simplified InstallManPageAliasesBase rule for xenocara to avoid race condition that prevented release from being "make -j clean".
Backport to nginx(8): when EMFILE/ENFILE returned from accept(), moderate/disable accept events. Logging level for this changed to "crit".
Remove sizes entry from smtpctl(8) so it doesn't appear in "smtpctl show".
Use errx(3) rather than err(3) for unknown message error.
Use -t for tmux(1) move-window with -r rather than dying.
Support "Match LocalAddress" and "Match LocalPort" to sshd_config(5); adjusted tests to match.
smtpd(8) allows checking a partial key in a key set (eg comparing address to netmask).
Fixed twin-channel ahc(4) device support. Only affects ahc at eisa(4) since no ahc at pci(4) are twin-channel.
Changed smtpd.conf(5) syntax for makemap(8) virtual domains configuration: "accept for virtual vmap [...]" becomes "accept for virtual map vmap [...]" to keep syntax consistent with to-be-implemented relay rules through maps.
smtpd.conf(5) map declarations extended to allow the following to work: map "foobar" source plain "/etc/mail/foobar".
Print the impact(4/sgi) frame buffer name obtained from ARCS, to match other gio(4/sgi) frame buffer drivers.
Reworked zs(4/sgi) for Indigo, as CTR/DCD/DTR/RTS wiring is inverted on these machines.
smtpd(8) will log_warn() admin if a map that's needed by an envelope is no longer in config file.
"Secret" renamed "credentials" in some smtpd(8) logs.
Don't fatal smtpd(8) if credentials map is gone, instead make the auth fail with a lookup failure. Mail kept in queue until admin fixes smtpd.conf(5), removes mail, or lets it expire.
pf(4) now ignores/preserves the lower 2 bits of the tos-header (used for Explicit Congestion Notification).
iked(8) synced to RFC 5996: Payload Type "Encrypted" (E) changed to "Encrypted and Authenticated" (SK).
In the kernel, a new copyaddrout() function encapsulates the copying out of socket addresses to userspace.
In Xenocara, xf86-video-vesa is updated to version 2.3.1, xf86-video-ark to 0.7.4, xf86-video-cirrus to 1.4.0, xf86-video-neomagic to 1.2.6, xf86-video-savage to 2.3.4, xf86-video-sis to 0.10.4, xf86-video-tdfx to 1.4.4, xf86-video-trident to 1.3.5 and xf86-video-vmware to 12.0.2.
After a dependency update IP30 kernels can be build with -j2.
The grtwo(4/sgi) driver tweaks reading of board version information (stored as 8- not 32-bit locations).
An -s option is added to ftp(1) and can be used to specify the source IP address of the connection.
In ypldap(8) the new option groupdn specifies a separate base DN for group searches (see ypldap.conf(5)).
The relayd(8) treats HTTP_METHOD_TRACE requests with a Content-Length header as malformed requests (errcode 400); and the message-body is forwarded for GET, HEAD and OPTIONS requests.
The emacs keybinding option of ksh(1) no longer imposes limits on the size and the content of bindings.
Added -r flag to tmux(1) move-window to renumber windows, and renumber-windows option to do this automatically.
zs(4/sgi) will now recognize 85230 chips, and use their FIFOs to reduce TX interrupts.
Added device flags to zs(4/sgi) to override carrier line wiring issues.
Use int not u_char so as to correctly record tmux(1) colours.
Align label_t to an 8 byte boundary on sparc. Makes ddb(4) usable again.
relayd(8) fixed so message-body will be forwarded for HTTP DELETE method payloads.
pkg_add(1) switched to OpenBSD::MkTemp. Safer, more accurate and less dependencies.
bgpd.conf(5) now filters 100.64.0.0/10, reserved by RFC 6598 for Shared Address Space.
pmap(9) code fixed to allow sparc64 to build with DEBUG.
Removed unnecessary cache flushes. 1+% speed increase on sgi IP27 and loongson kernels.
Add a tmux(1) buffer with all input from last ground state, to be used for control mode.
Before writing to disk, fdisk(8) warns the user if their new MBR contains more than one OpenBSD partition.
Kernel crypto(3) code now uses explicit_bzero() for clearing key material.
SGI GIO bus device code can now identify ID-less framebuffers correctly.
Optimised mips64 R5k/RM7k cache routines.
For interprocess communication control, fix socket size calculation. Fixes: sendmsg() delivery of fd sets, failing to wait, and potential file leakage.
OpenBSD snapshots now support the IP20, IP22 and IP24 SGI systems. See: undeadly.org
Added -a flag to tmux(1) kill-window, and window-status-separator option.
ftp(1) can now handle HTTP Content-Length headers that have trailing whitespace.
No longer leak mbufs when bind() on a PF_UNIX socket fails.
sqlite3(1) 3.7.11 library and shell enabled in default builds.
A code cleanup is seen in the pciide(4) driver that also fixes incorrect assumptions for VIA VT6410 and VT6415 controllers.
Directories which occur in pkg_locate results will now be printed with an appended slash so as to make it easier to identify them as such. (Introduces package OpenBSD::PackingElement::DirBase.)
Added (yet unused dummy) struct proc* arguments to the FRELE() and FILE_SET_MATURE() kernel macros in anticipation of upcoming changes.
In tmux(1) handling of partial input keys is tweaked by also taking the state of the input timer (configurable by escape-time>) into account.
The tty(4) driver learns that its initial column is 0.
The crypto(3) library fix for "CVE-2012-2110: libcrypto ASN.1 parsing heap overflow" is backported from -current to the OPENBSD_5_0 and OPENBSD_5_1 patch branch.
All occurrences of gcc series 3 are removed from the gcc(1) manpage.
The smtpd(8) alias-handling fix is overhauled and will now also materialize aliases for virtual domains.
On the sgi port sporadic userland misbehaviour (read: SIGSGEV) is fixed on RM7000 O2 systems after further progress on the cache handling.
The installation process will no longer ask "Do you want to do any manual network configuration?" - you have to escape to the shell.
On the sgi platform the HW_CPUSPEED sysctl(3) becomes functional.
No longer print warnings or try to stop data transfer to midi(4) UART ports when the transfer is already complete.
Drivers for the Indy and Indigo 2 PS/2 keyboard ports and the newport(4/sgi) (NG1, XL, XGE) framebuffer is added to the sgi port.
Framebuffer and console machinery improvements on the sgi platform.
OpenGL related defines have been moved from gbe(4/sgi) and xbow(4/sgi) to a shared OpenGL-specific header file.
The runtime linker ld(1) no longer mmaps 0 byte .BSS sections.
If missing, pkg_add(1) now installs pkglocatedb (after user confirmation), and uses it to search the file system.
On sgi: EISAVERBOSE option is added to the configuration of IP22 kernels; controller-dependent functions are encapsulated in platform-dependent ones; bus_space(9) related imc(4/sgi) prototypes are moved to a public header; and the hpc(4/sgi) child device attachment is overhauled.
top(1) no longer complains about display size after a resize.
smtpd(8) alias bugfix, associate real names with aliases so filters/filenames from /etc/mail/aliases will work correctly.
yacc(1) now uses NULL instead of 0, and calls of memcpy(3) instead of unrolling code inline.
mandoc(1) will no longer bail out if the -width argument is missing.
In mandoc(1) the -width and -offset macro arguments will no longer swallow the next option.
Code simplified for parsing of results in apropos(1).
Mandocdb, the upcoming whatis(1), can now handle multiline NAME sections in man(7).
New mutex type PTHREAD_MUTEX_STRICT_NP added to rthreads and becomes the temporary default.
In sasyncd(8), the CDIAGFLAGS infrastructure is added to the make procedure; also using two -c options will now show usage information instead of causing a silent exit.
bpf(4), bpf_mtap_af() will now perform htonl(3) to reorder big/little endian addresses internally.
An asynchronous DNS resolver is imported into the C library, not enabled by default yet.
Memory leak fixed in interprocess communication code sys/kern/uipc_usrreq.c.
xterm(1) updated to version 278, freetype library to version 2.4.9 (see CVE-2012-1126 to CVE-2012-1144, and SA48320).
The libf2c library is removed from OpenBSD base (moved to ports in 2010).
tcpbench(1) now closes accept(2) file descriptors more cleanly after a kill(1), and when no socket connections are present.
pthread_kill(3) signal sent by PT_KILL is now directed to the thread that made us stop.
mbuf(9) data now copied into a temp buffer before being copied to a new cluster. Stops data from becoming scrambled.
No longer clamp file descriptors to buffer size for interprocess communiction, as this can lead to losing them.
Fixed namespace pollution of machine/signal.h to fix build of groff(1) on landisk.
Added support for gdb(1) live debugging of threaded code (enabled on i386 and amd64).
Begin making ptrace(2) usable for debugging multi-threaded programs.
locate(1) will no longer try to mmap a 0-length file.
Provide _atomic_lock() and __cerror() for hppa64. Makes hppa64 build again.
Turn tmux(1) automatic-rename off properly if turned off by renaming a window.
Stopped accepting new tmux(1) clients for 1 second on EMFILE/ENFILE.
kdump(1) will now refuse to operate on trace data without the start record, and will only print PID, unless -H flag is specified.
No longer pick the network number as ifconfig(8) alias on entries with no alias defined.
KERN_NPROCS and KERN_MAXPROC sysctl(8)s and RLIMIT_NPROC getrlimit(2) now count processes instead of threads. New sysctl(8)s KERN_NTHREADS and KERN_MAXTHREAD count/limit threads.
Posix rules that a 0-byte mmap must return EINVAL. uvm(9) now does this.
vfs(9) locks now track the process's pid and not the thread's id.
More errata bandaid for the R4000SC in the mips64 and sgi tlb handlers.
wdsc(4/sgi) now rejects commands the 33C93 chip does not support. Raised timeouts when it sends stop commands (eg to sd(4) devices).
Make ef(4) cope with strict alignment platforms, and unbreak the RX logic.
Minimal threads support added for mips64.
On the sgi platform R4600 CPU (IP22/IP24) support is now by default enabled in the GENERIC-IP22 kernel configuration (the secondary cache is not supported yet).
Fix of DMA for ethernet operations of the sq(4/sgi) driver of Indigo2 and R5000SC machines.
Minimal threads support for gdb(1) is enabled on the powerpc platform.
The lint(1) program is removed from OpenBSD base.
In Xenocara xtrans is updated to version 1.2.7, libXaw to 1.0.10, xf86-input-joystick to 1.6.1 and xf86-video-r128 to 6.8.2.
Updates to Xenocara: xcmiscproto to 1.2.2, xextproto to 7.2.1, scrnsaverproto to 1.2.2, recordproto to 1.14.2, fontsproto to 2.1.2, bigreqsproto to 1.1.2 and kbproto to 1.0.6. All extended with docbook.am automake files.
tmux(1) will now honour it's automatic-rename option.
snmpd(8) introduces a short-period sleep event(3) to handle out-of-file-descriptor situations.
tcpbench(1) introduces a short-period sleep event(3) to handle out-of-file-descriptor situations.
The Route Distinguishers of bgpd(8) will no longer be used to control distribution; also see bgpd.conf(5).
No longer try FAT detection if we have found an OpenBSD MBR partition, no longer try to read one from a "bare" one. Recognize FAT even if no valid 0x55AA signature has been found. Don't allow the writing of a disklabel on "bare" FAT media.
In the kernels network stack the rtable setsockopt(2) code is brought in line with the setrtable(2) implementation.
Minimal threads support for gdb(1) is added to the sparc64 platform.
Additional datatype overflow checks are added to getusershell(3).
Work is being done to enable threads support for gdb(1).
The serial console is repaired on Octane and O2 systems (sgi port). More low-level kernel tweaking on sgi, including lots of cache coherency work.
The raidctl(8) utility and the raid(4) RAIDframe driver are removed from the system and go to the attic. OpenBSD has it's own softraid(4).
Cross compilation of nginx(8) is disabled, as it doesn't work.
For reliability of the systrace(1) utility a minor argument-offset fix is backported from -current to the OPENBSD_5_1 patch branch.
The getrusage(2) systemcall fixes the report of total time again.
On the sgi platform low-level kernel tweaking results in compatibility improvements with IRIX timekeeping.
The iked(8) and ftp-proxy(8) daemons introduce short-period sleep event(3)s to handle out-of-file-descriptor situations.
The MS-DOS FAT filesystem implementation gains a significant write speedup for large files (up to twice as fast).
In Xenocara's libpciaccess, memory handling of struct pci_io_handle is simplified. This fixes vgaHWSaveFonts() in the 1.12 xserver on OpenBSD (other sub-systems relaying on pci_io could be affected, too).
In ospfd(8) the two LSA types LSA_TYPE_AREA_OPAQ and LSA_TYPE_AS_OPAQ will no longer trigger a fatal program exit when found during SPF calculation.
The kernel ensures that on amd64 identifycpu() is called once only, which fixes occasional hangs on resume.
The old socket credential approach using struct sockcred and SCM_CREDS is outdated and removed from the tree.
The ps(1) program gains the tid formatting keyword. In conjunction with the -H option, thread ID is now included.
Small fixes of the path-handling of the OpenBSD-specific chroot(2) codebase of nginx(8) are seen. In the nginx build, compiler optimization flags will now be inherited from the build.
fdisk(8) is now capable of handling pathological geometry cases like SCSI attached floppies which have a "geometry" of 1/1/2888.
More IATA airport codes added to share/misc/airport.
sndiod(1) will first check if limits allow creation of a new device and then bail out if allocating memory for it fails, not vice versa.
In the PIPEX (PPPAC IP Extension) code of the network stack a bug was fixed that caused LCP keepalive failures on some clients.
The fxp(4) driver will reload the firmware after suspend/resume, but skip firmware updates entirely for FXP_REV_82550_C with server extensions since this version can't handle such efforts.
On the sgi platform the eisa0 attachment is now by default enabled in the GENERIC-IP22 and RAMDISK-IP22 kernel configuration files.
On the sgi platform the DMA-reachable address space is extended, now limited only when hpc(4/sgi) devices are present.
A long-standing bug in the kernels assumption on USB keyboard layouts is fixed.
Progress in integrating unbound(8) into base is seen, like calling setusercontext(3) before chroot(2)ing.
Kernel compilation with pf but without the pfsync pseudo-device is again possible.
Optimization for icmp6(4): rejections of redirections will occur faster since the is-multicast check is performed before other expensive checks.
The sgi platform gains an EISA bus attachment glue for Indigo 2 systems.
In sasyncd(8) the code flow in the error path is significantly simplified. Fixes possible memory leaks.
The zoneinfo database is updated to tzdata2012c (no code updates).
In gcc(1), correct the effects of the -fident and -fno-ident options, which were inverted.
In chrooted operation mode, nginx(8) fixes its root path by stripping the PREFIX.
Make fsck_msdos(8) work with non-512-byte sector devices; added many tests and error messages; ignore invalid signatures; and now always use character device to read disks.
Expand the panic in kern_malloc.c to show the malloc type and size.
Increased smtpd(8) timeout to 5 minutes when connecting to remote mail server, required by RFC 5321.
In bgplg(8), print the AS number by using the -A option to traceroute6(8); increase display width for long IPv6 addresses.
Properly store the result of the pmtu-route lookup. Fixes PMTU-discovery for TCP over ipsec(4).
If the MIDI UART is not ready for output, don't spin at IPL_CLOCK, make midi(4) driver retry later.
Close an opendir() in mg(1), and make sure delete key deletes the character to the right of the cursor.
Bugfix to correctly fill kinfo_file2 structure's f_wbytes member with the written (not read) byte count.
Make the msk(4) PHY on EC Ultra/8056 ethernet adaptor work correctly.
Fixed documentation that the sysctl(8) is net.inet.ip.encdebug, not net.ipsec.encap.encdebug.
In ssh(1) PROTOCOL.certkeys, explain certificate extensions/crit split rationale.
Update to xcb-proto 1.7, libxcb 1.8.1, xproto 7.0.23, and libX11 1.5rc1.
Introduce selected to bgpctl(8) as show rib attribute to only show selected routes.
Do not try smtpd(8) STARTTLS if server does not advertise support for it. Check we are not using AUTH over a clear channel.
With Intel SpeedStep, only attempt to calculate i386/amd64 bus_clock if we can't get tables from acpi(4).
Make i386 bus_clock calculations happen later in the boot process. Brings i386 SpeedStep code closer to amd64.
Implemented AMD workaround for 10h & 12h CPUs cpu(4/amd64) errata 721 "Processor May Incorrectly Update Stack Pointer".
Run amd64 identifycpu() on its own cpu.
Added a function in bgpctl(8) to extract an address. Allow the dump attr of struct mrt_parser to be NULL.
Simplified conditionals in acpi_sleep_state().
Added hibernate request support (ZZZ binary). Documented ZZZ, tweaked FILES and HISTORY in apm(8).
Increased size of message queues in sparc64/dev/hvctl.c to handle the default "MTU" of 4096 bytes. Make writes block if message queues are full.
Added DLT_PPP_SERIAL and DLT_C_HDLC to bpf(4). Helps porting apps that assume they are on all systems.
Document how to use gre(4) keepalives with pf(4) enabled.
Added support for the Polaris2 USB dock, which is an udl(4).
Adjust the default "ignore" list for cvs(1); don't ignore "core", ignore "*.core", ignore ".git".
Fixed cz(4) so it can compile (is not enabled by default).
Fix an integer math error in hibernation code; add hooks for a HIBERNATE enabling option in GENERIC.
kevent(2) now releases the file reference on the kqueue, so that closing the descriptor doesn't result in a deadlock (reported in NetBSD PR 46248). Fixes some threaded ports.
In string.h, some prototype conditionals are adjusted to match POSIX: strsignal(3) is in POSIX-2008; strerror_r(3) is in the base of POSIX-2001, without an XSI qualifier.
Mips64 cache handling routines were moved out of cpu.h to cache.h. Common CACHE_ prefixes introduced; integer types used to represent addresses changed from vaddr_t to uint64_t.
On mips64 a regression caused by the recently changed behaviour of calculating CpuCacheAliasMask is fixed.
The smtpd(8) MTA no longer panics if a connection fails, but instead continues trying with the next relay.
The scandir(3) manual documents the argument change to struct dirent** from void*, and clarifies HISTORY.
In aucat(1), a MIDI-controlled master volume knob is introduced that may be used to adjust the mix of all playback streams.
usbhidaction(1) now ignores SIGCHLD as it doesn't care what happened to the forked processes.
In the thread library some (unimplemented) non-portable functions and their manual pages are removed.
A code cleanup in make(1) introduces a Location structure to combine filename and line number information.
The tmux(1) show-environment command can now accept an argument to show just one variable.
To reflect __tfork_thread moving from rthread to libc, and other changes to libc, bump the former to 15.0 and the latter to 63.0.
The DIR type is now opaque.
scandir(3) and alphasort(3) will take struct dirent** arguments instead of void*, as per POSIX. For __POSIX_VISIBLE < 200809 code, the old prototypes are still provided (if __BSD_VISIBLE).
Libc's dirfd(3) is no longer available as a preprocessor macro.
The manpage of pthread_testcancel(3) is updated to reflect the current list of functions which are cancellation points. closefrom(2) is now a cancellation point.
Calls to vrele(9) in NFS are protected against being called with a NULL argument.
A bug is fixed in the random(3) implementation: in the past, if srandom(3) had been seeded with 0, random(3) would have always returned 0.
A self-sufficient directory descriptor structure is introduced to ld.so(1)
The sparc64 port introduces the HVIOCREAD and HVIOCWRITE ioctl(2)s for hypervisor memory access.
A series of updates for tmux(1): the options c0-change-trigger and c0-change-interval can be used to control the newly implemented output rate limiting (boosts responsivity under very fast output, like running yes(1)); adds -C, -N and -T flags to find-window to find in content, name, or title.
New OIDs for snmpd(8): hrSystemUptime, hrSystemDate, hrSystemProcesses and hrSystemMaxProcesses.
Problems fixed which may have been observed with rthreads in conjunction with the dynamic link interface.
In smtpd(8), no newly created bounce message is inserted into the scheduler if it is already present therein.
The sgi port will now only restrict the page size to 4096 bytes on R5000 and RM7000 processor families, but otherwise default to 16384. Subsequent tweaks in the VM code of the kernel.
On the sgi port it becomes possible to boot over the network (bootp).
Only change the default boot device to a bootable softraid(4) volume, if we are able to handle the given discipline. boot(8/amd64) currently restricted to RAID 1; not available on other architectures.
More search paths for pkg-config(1): /usr/local/share/pkgconfig and /usr/X11R6/share/pkgconfig will also be searched by default.
kdump(1) tracing and dumping of "pointer to struct" syscall arguments is added for structs timespec, timeval, sigaction, and rlimit.
i386 and amd64 can now identify Xeon MP 7400, Atom Z6xx, Atom [DN]2xxx, Xeon 6500/7500, Xeon E7, and Core i3/i5/i7 3rd Generation when querying the bus clock. Avoids "unknown models" messages (real information still read through acpi(4)).
Fix check for xf86Modes.h. Fixes radeonold(4) driver build issues caused by caching of the (previously wrong) result.
Don't call wdcintr() for pciide(4) channels that aren't properly initialized or don't have any drives on them. Fixes a panic seen on sparc64 machines with Acer Labs chipset.
The PCI database gains knowledge of HP Smart Array P220i/P222/P420/P420i/P421/P721m/P822.
Xenocara's bsd.xorg.mk switched from Python 2.6 to 2.7.
The acpi(4) aml_evalexpr() function is fixed to use 64 bit unsigned integers, and a check is made the _REG method is available before calling.
Xenocara libXcursor is updated to 1.1.13, libXdmcp to 1.1.1, libXext to 1.3.1, libXft to 2.3.0, libXinerama to 1.1.2, libXmu to 1.1.1, libXpm to 3.5.10, libXrender to 0.9.7, libXt to 1.1.2, libXtst to 1.2.1, libXv to 1.0.7, libXvMC to 1.0.7, libXxf86dga to 1.1.3, libXxf86vm to 1.1.2, libdmx to 1.1.2, libxkbfile to 1.0.8, and glproto to 1.4.15.
On the landisk platform the pixman library had to be disabled, because it triggers an internal gcc(1) error.
In smtpd(8) the fsqueue will no longer panic for a missing queue directory (ENOENT), but simply continue with the next entry. And more reliability improvements take place.
For glxpcib(4/i386) support for an I2C-bus SMB controller found on a AMD CS5536 companion device is added.
Check added to network stack to see if a route is still valid when getting the cached route entry of a pcb (protocol control block), and that correct routing table is used.
Add the _POSIX_MONOTONIC_CLOCK symbol and the _SC_MONOTONIC_CLOCK sysconf(3) variable.
tftp-proxy(8) now fills in default values for rtableid/onrdomain/prio when creating PF rules.
Disable the use of unsafe builtin gcc(1) functions (strcat, strcpy, stpcpy) making them easier to spot in the object files. Add stpcpy(3) to the list of unsafe functions.
The detection of the RFC 6396 encoding of the MP_REACH_NLRI attribute is improved for bgpctl(8).
In pms(4) support for a special ALPS protocol (using interleaved PS/2 packets) is added, as is used on touchpads for Dell laptops E6xxx and E5500, possibly others.
rc.d(8) bits are added for the new standalone tftpd(8) daemon.
An old but still current paper on encrypting virtual memory is now available on the papers website.
In Xenocara the xf86-video-ati driver is updated to version 6.14.3.
New threads now inherit their TCB (thread control block) address from their parent thread.
The tmux(1) commands new-window and split-window now support the option -F to specify a format when printing the window location with the -P flag.
The tmux(1) commands send-keys and bind-key now accept hex values for the key argument.
Add A and I keys for tmux(1) vi-like status line editing.
In preparation for getline and getdelim additions to libc, getline() occurrences are renamed to get_line().
Fix the logic deciding whether to return PCI_COMMAND_MASTER_ENABLE in the Loongson emulated pci functions #2 and #3.
Don't print the device name twice in yds(4) attach error messages.
Added many regression tests for rthreads.
The tmux(1) command paste-buffer now offers a -p option to enable "bracketed paste" mode.
The tmux(1) wlmouse offset is now corrected to be part of the client, not the server.
Add tmux(1) move-pane command (like join-pane but allows the same window). Also -b flag to join-pane and move-pane to place the pane to the left or above.
Fix handling of "offend" (OFFset from the END of the arg list) arguments in systrace(1).
Add printf attribute to a couple of tmux(1) functions.
Don't include ou=People in the ypldap.conf(5) basedn, as ypldap(8) has netid support, and groups are usually stored outside of People.
Added the new standalone tftpd(8) to base, a persistent event driven tftp daemon.
Sync gcc3 and gcc4 knowledge of the kernel printf capabilities with reality.
Use UE_GET_ADDR to get endpoint address (remove direction bit) in uaudio(4). Fixes devices using sych endpoints.
zaudio(4/zaurus) is play only, so return ENXIO on any attempt to open the device for recording. Fixes full-duplex apps (including sndiod) unable to fall back to play-only mode.
Support the ASIX AX88772B axe(4) USB ethernet controller.
Allow ssh-keygen(1) conversion of RSA1 keys to public PEM and PKCS8.
Let malloc(3) test for the retrieved page address not being NULL. This turns free((void*)1) into an bogus pointer error instead of a segfault.
Luna88k multi-processor support, step 3. GENERIC.MP configuration file based on mvme88k.
Add mos(4) support for the MosChip MCS7832, a low pin count version of the MCS7830.
Updated the list of supported four digit models in intro(4/hppa).
Mention in se(4) some additional phys (physical layer interfaces) that may be able to attach.
Copy p_tcb (user-space thread-control-block address) on fork, for non-__HAVE_MD_TCB archs.
Added sys/dev/pci/pcidevs codes for Realtek RTL8192CE, Nvidia nForce 780a SLI and nForce 200 chipsets.
Always try to reclaim jme(4) transmitted frames to prevent watchdog timeouts when there is no link present.
Add checks to rthreads when trying to unlock an uninitialized mutex to make sure it returns EPERM.
The mandoc(1) program now replaces bogus characters with ? instead of just dropping them.
In man(7), support the .OP macro (for compatibility only).
On the mips64 and sh platforms the per-thread errno should be fixed.
The ix(4) interrupt routine uses a shorter path to reenable interrupts and gains other tweaks which result in a doubled performance on 82599.
In the gus(4/i386) driver MIDI registers will only be used if they are actually available. This fixes an issue which caused the driver to be disabled on 1999-08-22, but the happy-end can finally be seen in i386 GENERIC.
For the elroy(4/hppa) driver an integer truncation error is fixed which caused systems to freeze hard.
The process tracing facilities will work again on processors without floating-point registers/state. (Had been broken by the large extension of the 20th.)
In tmux(1) the show-options and window-show-options commands can now be used to show just a single specified option.
Minor tweaks and cleanups in the amd64 code of the kernel have been observed.
pthread_yield(3) is renamed to sched_yield(3).
Manual pages are created for the pthread_condattr_t type.
The tmux(1) display-message command is extended by a -F option which can be used to specify a format string to control output formatting.
New functions are added to the thread library: pthread_mutex_timedlock(3), pthread_condattr_getclock(3) and pthread_condattr_setclock(3); also, PTHREAD_MUTEX_NORMAL mutexes learn about self-deadlocks.
snmpd(8) gains the MIB module for gathering information from OpenBSD's packet filter.
In chroot(2) mode nginx(8) first chdir(2)s to the PREFIX directory before it starts to create it's temporary directories.
The pthread_suspend_np(3) and pthread_resume_np(3) function are no longer functional and become ENOTSUP stubs.
A lot of work is being done for making process tracing work with rthreads.
In Xenocara, update xf86-video-geode 2.11.13 and xf86-video-dummy to 0.3.5.
kdump(1) fixes an integer flip which could have happened for a kernel trace record with ktr_len of SIZE_MAX and would have caused a zero byte data allocation. It also learns more system calls and refactors output routines as well as the output produced by the latter.
A lot of work is being done on regression tests for threads.
Bugfix in tcpdump(8) to correctly check BGP prefix lengths in withdrawn routes.
Fix return value documentation errors in usbhid(3).
Allow for more vars in ksh(1) hash table, improve hash function, increase hash table size sooner.
Initialize the scope, policy, and inherit members in pthread_attr_init() so that their pthread_attr_get* don't return bogus values.
Update nginx in base to 1.0.12 and sync its pcre(3) with the version in ports.
Add DIAGNOSTICS to bsd.port.mk(5), for easy grepping through logs, and no longer label "warning messages" as "errors".
pkill(1) will now exit usage() with STATUS_BADUSAGE rather than STATUS_ERROR, in agreement with the man page.
Set __isthreaded in pthread_create(3), i.e. even if a forked child creates a new thread. Fixes an rthread bug to properly represents whether a process is multi-threaded or not.
Do an explicit "sync" instruction before returning from cache routines on mips64 (nop on R5k/RM52xx, but required on RM7k).
Add kevent(2) support for msdosfs to make applications monitoring fs mounts happy.
Enable rthreads by default (threads now in kernel not userspace), and add additional pthreads regression tests.
Hold struct filedesc's fd_lock in more places. Fixes hangs in rthreaded processes calling fork(2).
No longer attempt to enable MSI on 82571/82572 em(4) Gigabit ethernet controllers (to workaround "Byte Enables 2 and 3 Are Not Set" hardware bug).
pkg_create(1) now warns when @option no-default-conflict has been set without explicit @conflict.