OpenBSD -current changelog
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.
Changes made between OpenBSD 5.1 and -current
-
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 ipsecctl(8) two memory leaks are fixed.
- More USB devices based upon Ralink RT3070 chipset are now recognized and run(4).
- relayd(8) can now use a separate SSL certificate for each port
(/etc/ssl/host:port.crt, /etc/ssl/private/host:port.key)
, also see relayd.conf(5).
- urndis(4) now supports the ZTE HSUSB device.
- In iked(8) six memory leaks are fixed.
- getrusage(2) totals, itimers, and profile settings now return information per-process rather than per-rthread.
- sym(4) now recognizes NetBSD iSCSI.
- 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.
- getdelim(3) and getline(3) are added to libc.
- execvpe(3) and the posix_spawn(3) family are added to libc.
- 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)).
- Clarification the nwkey text in ifconfig(8).
- Update to libXt 1.1.3 (fixes some broken bold fonts).
- Add a
wrap-search
option to turn off wrapping of searches in tmux(1) copy mode.
- Some terminals (eg mintty) have cursor styles 5 and 6, now allow them to be set in tmux(1).
- Bugfix to call recalculate_sizes() when changing tmux(1) window with the mouse.
- Add tmux(1)
-q
option to set-option
for turning off info message.
- Add vldc(4) and hvctl(4), allows sparc64 control domain to talk to the sun4v hypervisor.
- Do not clear to end of line if the line is full. Fixes missing last character in rightmost tmux(1) pane.
- Use the tmux(1) region lower rather than the pane size to work out where the bottom line is.
- Redirect libevent logging to tmux(1)'s log.
- Bugfix to tmux(1) so after wrapping a line in a pane, the cursor will move to the next line.
- Some updates to rc.conf(8) manpage to reflect reality.
- No longer leak ypldap(8) ypldap_addr structures when doing dns lookups.
- Display L3 cache information on amd64 architecture for AMD CPUs.
- Take cd9660 support off the "obviously a floppy" i386 and amd64 install media, to make more space.
- Improve ipsec(4)/ENC interaction to avoid unnecessarily dropping some packets.
- Add AMD Hudson-2 chipset to azalia(4).
- Let nviic(4) match the NVIDIA MCP89 chipset.
- Direct IPv6 packets with Ethernet encapsulation into the appropriate input routine, so two IPv4 networks can bridge over an IPv6 link with gif(4).
- When using xterm(1) with tmux(1), parse terminfo when starting up to work out the xterm(1) version.
- Use the correct dir for php in the default nginx(8) config.
- Accept empty/nonexistant ldap attributes when we want a ypldap(8) list, allowing empty groups to show up.
- Fix regression in ssh(1) so root is always excluded from the test for /etc/nologin.
- Fix leak in ypldap(8) ue_netid_line when freeing the old user tree.
- Store context before moving the cursor when wrapping, to fix tmux(1) bug causing drawing over the status line.
- Fix booting on the Thecus N1200.
- Close a race in uipc_socket.c that could corrupt a socket(2) sockbuf. Bugfix for "receive 1" panic.
- Remove inline version of m_copym2 in ubsec(4). Workaround to stop ubsec(4) gets stuck after receiving a packet of a particular length.
- Update to util-macros 1.17.
- Remove the NO_HELP conditional directives, as mg(1) will not compile if they are defined.
- Repair function in bc(1) when used with different scales.
- Correctly move back smtpd(8) envelope from offload tree to msg tree. Fixes crash seen on mailservers under load.
- Fix some rotation issues in the intel(4) driver.
- 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.
- Added manpages for __thrsigdivert(2), __thrsleep(2), and __thrwakeup(2).
- Rough regression tests of the bc(1) math library added.
- Teach pgrep(1) and pkill(1) to only match processes, not threads.
- Update to makedepend(1) 1.0.4 and imake(1) 1.0.5.
- Allow radeonold(4) to build on macppc and sparc64.
- Add
-P/-F
flags to tmux(1) break-pane.
- In tmux(1) a cursor positioning bug is fixed.
- mfi(4) documents support for Dell PERC H310.
- 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.
- TCP initial window increased to 14600 bytes as in http://tools.ietf.org/html/draft-ietf-tcpm-initcwnd-02; sysctl(3)
net.inet.tcp.rfc3390
now defaults to 2 to reflect that.
- In Xenocara, update bitmap to 1.0.6, libXres to 1.0.6, util-macros to 1.16.12, libXScrnSaver to 1.2.2 and libXau to 1.0.7.
- In /etc/rc (see rc(8)) ypbind(8) is now started after ypldap(8), because it needs to talk to ypserv(8) (which in turn is ypldap(8)).
PS_EXITING
flag introduced to better differentiate between the process and the main thread exiting.
- Signal dispatching has (at least temporarily) been changed to give sigwait(3) priority over ptrace(2).
- ypldap(8) won't stumble over nonexistent users when creating groups, but simply leave that one out and continue with the next user entry.
- In Xenocara, update libpciaccess to 0.13.
- When creating PF rules the relayd(8) daemon takes care to set
onrdomain
and prio
to ensure proper functioning.
- A new, simplified vmmap (memory allocator) added to the kernel.
- tmux(1) server start now serialized via lockfile. Bugfix for window name not reflecting what is currently happening.
- dc(1) calculator
length(0.000)
will now behave exactly as GNU dc(1).
- bc(1) now initializes the editline(3) library even in
-c
mode.
- 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.
- Support for AMD Hudson-2 is added to piixpm(4).
- An example in queue(3) manpages is fixed to compile without warnings.
- The xtsscale Xenocara program uses
__progname
from crt0.o instead of argv[0]
for messages.
- nginx(8) is updated to 1.0.13.
- 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.
- Clarification of :*: in passwd(5) manpage.
- 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.
- 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().
- Document sem_timedwait() in sem_wait(3).
- 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.
- Update nsd(8) to version 3.2.10.
- 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.
- Support the Roland UM-ONE umidi(4) device.
- Update to pixman 0.22.4, xev(1) 1.2.0, xwd(1) 1.0.5, and xwininfo(1) 1.1.2.
- 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.
- Update to mkfontdir(1) 1.0.7, mkfontscale(1) 1.1.0, oclock(1) 1.0.3, xclipboard(1) 1.1.2, xclock(1) 1.0.6, xcmsdb(1) 1.0.4, xcompmgr(1) 1.1.6, xfd(1) to 1.1.1 and util-macros to 1.16.1.
- 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
.
www@openbsd.org
$OpenBSD: plus.html,v 1.1218 2012/04/02 03:08:30 brett Exp $