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.
Note: Problems for which patches exist are marked in red.
Changes made between OpenBSD 5.3 and -current
- Implemented identd(8) -h, used to hide usernames/uids (as in libexec/identd).
- Preliminary modifications for Xorg 1bpp server for luna88k, including enabling wsmux(4) on GENERIC kernel.
- Reverted fix for binutils linker errors (breaks the xenocara build on macppc; fixed in binutils 2.17 anyway).
- Updated libX11 to 1.6RC.
- Updated xproto to 7.0.24
- Improved dealing of ARMv7 faults. Added ARMv7 fault descriptions.
- Use strptime(3) for parse_date() and date writing logic for dhclient(8) (to match dhcpd(8)).
- time_t 64bit fixes for relayd(8) and relayctl(8).
- Convert softraid(4) RAID 4/5/6 to new work unit completion routines.
- Fixed binutils linker errors when using llvm/clang (see http://lists.gnu.org/archive/html/bug-binutils/2004-07/msg00000.html).
- Added the ability to change ARM frequency and added match functions on beagle.
- Added GPIO support for the pandaboard.
- Added a terminator to the device list, to avoid unexpected behaviour when a device isn't found by beagle.
- Correctly enable ARM's Generic Interrupt Controller on beagle.
- Fixed range for assigned ports managed by the IANA (see RFC 1700) in pf.conf(5).
- Added tstohz(9) as the timespec analog to tvtohz(9).
- When a ucom(4) is removed, walk the knotes in ttyfree(). Fixes crash when unplugging a ucom(4) which cu(1) is running.
- When attaching disks, feed the disklabel(8) checksum to the random(4) pool as unique-esque-but-not-secret data.
- Use the manufacturer-supplied bios serial/uuid as a source of uniqueness to seed the random(4) pool on i386/amd64.
- Disabled sendmail(1) ident queries since ident(1) does not run by default anymore.
- Increase ip_ttl on packets from 16 to 128, so people living many hops from their dhcp(8) server can still get leases.
- Support src/libexec/identd's -e option in src/usr.sbin/identd(8).
- Speed up ffs disk access a little and fsck_ffs(8) substantially (see: www.mckusick.com/publications/faster_fsck.pdf)
- Reworked tee(1) to simplify, check errors against -1, remove casts, etc.
- Removed TIMESTAMP abstraction layer in make(1); adapt to time_t being 32 bits OR 64 bits.
- Convert softraid(4) RAID 4/5/6 to new ccb handling.
- Removed rarely-used identd(8) option for specifying which port you want to run on.
- Added identd(8) support for returning uids instead of usernames via -n, like libexec identd.
- Added identd(8) -N to let users put .noident in their homedir, to return HIDDEN-USER instead of their username.
- When using choose-tree -u, start with the current tmux(1) window highlighted.
- Get tmux(1) session of -t window rather than client's window.
- When dhcpd(8) is sync'ing, look for lease by hwaddr and then ipaddr. Fixes loops while sync'ing.
- Call recalculate_sizes() after killing a tmux(1) window, in case it is in a grouped session.
- Do not die when identd(8) parent process has a backlog of requests for the child process.
- Handle large time_t correctly in ray(4) debug code.
- Check for underflow before using ffs2 blockcount, as it is unsigned.
- Corrected tv_sec handling in scsi(4) mass storage debug code.
- Avoid truncating a pfctl(8) time_t division into days.
- Use arc4random_uniform(3) in mrouted(8).
- Don't let tmux(1) server_client_check_focus use a dead bufferevent.
- Let rtsold(8) handle exceedingly long uptimes; reset IPv6 timers upon reaching 2038.
- gio(4/sgi) now allows smaller-than-32-bit accesses to the ID register (on boards with 32-bit ID register) for better device detection.
- Unify the zs(4/macppc) tty driver across macppc, sgi, solbourne, sparc and sparc64 architectures.
- Convert softraid(4) RAID1 to the new work unit completion functions and generic interrupt handler.
- Unbreak edquota(8) by fixing the temporary file name template.
- Made umount(8) via DUID possible.
- When mount(8) is run in verbose mode, display f_mntfromspec if it differs from f_mntfromname.
- Disabled inetd(8) by default.
- On getty(8), use poll/nanosleep instead of select with a fixed size fd_set.
- Reverted rev 1.45 of usr.sbin/procmap/procmap.c.
- Stopped using unsafe random(3) in npppd(8), use arc4random(9) instead.
- Made i2c bit-banging code work with slow slave device (eg SDVO chips and DDC eeproms) found on some inteldrm(4) hardware.
- Cranked C_MAXFILE static limit of files to serve in rbootd(8). Existing limit of 10 is too small for some networks.
- Disabled time service (RFC 868) by default in inetd(8).
- Enabled active PS/2 multiplexing if available. Supported for i386 and amd64 except SMALL_KERNEL.
- Fixed npppd(8)'s PPPoE server, which was broken since last configuration rework.
- Added -o option to getopt string and usage in rdate(8).
- Use time_t instead of long for binutils archive timestamps, and print them as a long long.
- Disabled cpu migration code when on single processor systems.
- Log (at LOG_INFO) which interfaces dhcpd(8) listens to, and their addresses.
- Made rdate(8) -n the default; added -o flag for the old RFC 868 time protocol (which uses a 32-bit value for its wire protocol).
- For datagrams, inetd(8) now assumes other protocols should fail.
- ksh(1) now handles long long time_t.
- Added ksh(1) support for printing long long (%lld).
- find(1) now handles large numbers. Fixes time_t beyond 2038, constrains the range of i_num correctly, and now handles files > 4GB in size on 32-bit machines.
- Matched vacation(1) behaviour to current sendmail-based vacation.
- Make sure the fs blocksize doesn't get too big when using disklabel(8).
- Made rtsold(8), rpc.lockd(8) and rtadvd(8) print tv_sec properly.
- Added the ability to query supported ciphers, MACs, key type and KEX algorithms to ssh(1).
- Fatal() ssh(1) when ChrootDirectory specified without root privileges (reintroduced without previous connection-killing bug).
- Fixed some ssh(1) memory leaks; bz#2088.
- Improved netstat(1) time_t handling and printing.
- Made ssh(1) "sftp -q" behave as documented and hush everything but errors.
- Accelerated scrolling backwards for intel(4) i915.
- Made ar(1) and ranlib(1) handle greater time_t, so that .a files will work after 2038.
- Added intel(4) i915 support for 16bpp mode to code that interfaces with the rasops(9) code.
- Print "UTC" at the end of dates in the dhcpd(8) leases file.
- Replaced hand-rolled date printing/parsing code in dhcpd(8) with strftime(3)/strptime(3).
- Resolver now checks return value of strdup(3) and take into account that asr_use_resolver() can return NULL; fixed mem leak in error path.
- Don't set the frequency of the statclock if we don't have one on amd64 and i386. Prevents strange hangs during reboot.
- Don't permanently avoid BRKSIZ gap for mmap(2). Allows some platforms, notably i386, to fully utilise their address space.
- Check memory pool we are about to init isn't already on the list, in order to detect double init and double destroy mistakes.
- Unbreak and cleanup nfsd(8) diskless swap automount.
- Adapted cron(8) and at(1) for future large time_t and tv_sec types.
- Variety of fixes to correct large time_t code in file(1).
- Long long and %lld for time_t output added to tmux(1).
- Add new ioctl command USB_DEVICE_GET_DDESC to usb(4) to retrieve the device descriptor.
- Reverted usr.bin/ssh/session.c rev 1.262 (it fails because the uid is already set there).
- Handle large time_t for kdump(1), sysctl(8), rtsold(8), csh(1), time(1) and mtree(8).
- Added secondary cache flushes to armv7's pmap(9).
- Correctly allocate a buffer for a uhci(4) transfer; do not pre-allocate TDs to put them in the free list.
- Pass state correctly so pkg_add(1) can do error messages.
- Fixed some AVPs of SCCRP to comply RFC 2661 in npppd(8): firmware revision and vendor name AVP are not mandatory; hostname AVP must have 1 octet at least.
- Fixed panic when pipex(4) session is terminated by idle timer.
- Stopped existing authentication being removed when the npppd.conf(5) configuration is reloaded.
- Fixed npppd(8) configuration options "max-session", "user-max-session", "strip-nt-domain" and "strip-atmark-realm".
- Fixed npppd(8)'s pppoed, broken since the last configuration parser change.
- Use the dd(1) and ed(1) that are on the install media, instead of the one post-install.
- Removed CTL_USER hierarchy from sysctl(3) and sysctl(8) (use sysconf(3) or confstr(3) instead).
- Implemented fdatasync(2) as a wrapper around fsync(2).
- Added SHA-224 to cksum(1). SHA-224 is to SHA-256 as SHA-384 is to SHA-512, and was in a later revision of FIPS-180.
- Backed out rev 1.17 of lib/libc/rpc/svc_tcp.c and its conversion to poll (to avoid endless loop).
- Reverted pckbc(4) sys/dev/pckbc/pms.c r1.37, now that we stop after the first matching protocol.
- Moved pckbc(4) IntelliMouse protocol definition after Elantech ones (some touchpads support both, we want to pick the latter).
- Stopped pckbc(4) probing for all supported protocols. It confused some touchpads and made it harder to pick the right protocol if a device answers to more than one magic sequence.
- Added escape codes for F21 to F24 to wscons(4).
- Support added for F13-F24 keys found on IBM 122-key pckbc(4) keyboards.
- Unbreak tape boot blocks on mvme68k (broken since the switch to the MI libsa loadfile code).
- To speed scrolling, framebuffer acceleration now uses the registers to determine first visible pixel; works even while X is running, and safely scroll when printing panic messages or if we've entered ddb(4).
- Added new option to xenocara to automatically build the Gallium3D software rasteriser as part of the libGL.
- Make sure drm(4) turns hsync/vsync back on at crt enable (v2) for intel i915 chipsets.
- Perform a warm reset instead of putting hardware into full sleep mode to avoid system hangs upon "ifconfig down up" with some AR5212 hardware.
- Fix cnmac(4/octeon) log messages displayed to the user.
- Remove some Korean characters from the tmux(1) utf8 zero-width list that shouldn't be there.
- Copy the tmux(1) client into the new cmdq in source-file so commands that work on it (such as new-session) can work.
- Enable the fallback method of getting the crt EDID on drm(4) if normal gmbus access fails for the intel i915 chipsets.
- Unbreak dhcpd(8) lease synchronisation by making the sync header contain the correct packet length even when padding is present.
- Call setlocale(LC_TIME) at tmux(1) startup.
- In the resolver, avoid a mem leak and reinit of context for each resolver call for single threaded programs.
- Send an SGR0 after turning on modifyOtherKeys, to fix tmux(1) Terminal.app which treats \033[>4;1m and \033[4;1m (bold+underline).
- Copy out a blank string if no wmesg, so userland can rely on reading sysctl(3) p_wmesg[0] and not find junk leftover from before.
- Quieten disconnect notifications on the ssh(1) server from error() back to logit() if it is a normal client closure; bz#2057.
- Fixed bug introduced in last commit, which led to pax(1) checking the typeflag after already overwriting it.
- Correctly handle data memory protection ID traps on hppa.
- compat_linux(8) fixes: assert that refcount is larger than 0 when doing futex_put; prevent multiple futex pool initialisations.
- Set EV_WRITE for jobs so tmux(1) run/if-shell jobs don't hang.
- Fixed tmux(1) bug where end guard in control mode was not printed after session destroyed.
- Get the standard path for which(1) and whereis(1) from _PATH_STDPATH instead of sysctl({CTL_USER,USER_CS_PATH}).
- Added a magic number to the head of the signature block to prevent accidental unhibernates and endless unhibernate/reboot cycles.
- newvers.sh uses "basename" for directory name to stamp the kernel version ID with. Permit paths with spaces in the name.
- Added extended header support for ustar in pax(1). Currently only path and linkpath are handled.
- Retry ftp(1) when SSL_read fails with SSL_ERROR_WANT_READ. Fixes the case where a https server attempts renegotiation.
- Show what was parsed in resolver debug output.
- Resolver will not fail anymore if the user buffer is too short to hold the packet: fill it to the given size, return the packet length.
- Plugged cmw(1) memleak: always need to menuq_clear even when a selection is made.
- Recalculate IP/protocol checksums of packets (re)injected via divert(4) sockets.
- Add new ioctl's USB_DEVICE_GET_CDESC and USB_DEVICE_GET_FDESC to usb(4).
- Allow octeon to find it's root device, based on the flags passed by U-Boot. Temporary fix until there are proper bootblocks.
- Made the resolver comply with RFC2553. Fixes hostname resolution for OpenVPN 2.3.1.
- Make the netinet6 SO_BINDANY socket option also work for raw IPv6 sockets.
- Check BGE_SGDIG_STS when the bge(4) chip is NOT a 5717 A0.
- Added an -E option to ssh(1) and sshd(8) to append debugging logs to a specified file instead of stderr or syslog.
- Turn a npppd(8) error into a warning to be able to start l2tp tunnels even if gre(4) is not allowed.
- Removed the rthreads sysctl(8), as they are always enabled.
- The new resolver will now not fail on EINTR.
- Extend com(4) to enable com3 on both i386 and amd64 (com4 config is added, but disabled).
- Cleanup ssh(1) mux-created channels that are in SSH_CHANNEL_OPENING state too (in addition to ones already in OPEN); bz#2079.
- Use the existing _PATH_SSH_USER_RC define to construct the other ssh(1) pathnames; bz#2077.
- Added gcc(1) support for "d" floating-point suffix, as defined by draft N1312 of TR 24732.
- Do not allow the listen(2) syscall for an already connected socket, as this would create a weird set of states in TCP.
- Fixed ufs bug where clear_remove() and clear_inodedeps() would not iterate over the entire pagedep and inodedep hash tables.
- Snapshots for the octeon platform are available now.
- Show only available actions in rc.d(8) script usage messages. Also, clean up the display of actions list.
- Make the resolver properly follow the CNAME chain in reverse lookups.
- Use MSG_NOSIGNAL when writing DNS queries over TCP sockets to ensure resolver doesn't trigger SIGPIPE.
- Honour PATH search order for cwm(1)'s exec.
- Other window managers grab the Xserver(1) during the whole client setup process, so make cwm(1) match. Avoids race conditions.
- Make it possible for ldomctl(8/sparc64) to explicitly specify the number of vcpus and the amount of memory for the primary domain. Also prevents people mistakenly creating two domains named "primary".
- Fixed drm(4) EDID detailed timing vsync parsing and frame rate.
- Backout drm(4) commit, which introduced a bogus check that could lead to an infinite loop in some eDP setups.
- Reverted rev 1.21, to fix a race condition where multiple mkdir(1) -p's trying to create overlapping paths in parallel could error out.
- Re-implemented tcp_read() in the resolver, so it can get the packet length in multiple reads.
- Have tht(4) set IFF_ALLMULTI when in promisc mode.
- Set the nxe(4) IFF_ALLMULTI flag as appropriate.
- Removed Evergreen IDs incorrectly added to radeon(4) radeondrm in the past.
- Changed smtpd(8) log format to fix a warning.
- A large number of subsystems and utilities adjusted to use large time_t.
- acpithinkpad(4) now ignores power change event from the newer thinkpads groups.
- Allow raw IPv6 sockets for ipsec(4) protocols, to match IPv4.
- If more than one lookup line is found in resolv.conf(5), the latest one takes precedence.
- The resolver will now properly check for domain name truncation at various places and fail if that happens.
- Build mips kernels with -G 0 so it will link.
- Updated ldomctl(8/sparc64) for some UltraSPARC T2 firmware which need "rngs" and "rng" nodes in the Hypervisor machine description.
- Avoid sdiff(1) memory leak while parsing diff's output.
- Enable the use of getaddrinfo() in libxcb, to allow X11 clients to talk to a remote server over IPv6 again.
- Added octeon as a supported hardware platform.
- Fix so the hp300 boot blocks compile again.
- Validate the softraid(4) crypto I/O request when it is first received, rather than waiting until disk I/O is performed.
- Make setrlimit(2) return EINVAL if rlim_cur > rlim_max, per POSIX.
- Added a default .cvsrc for cvs(1) to /etc/skel.
- Implement nameserver retry/backoff as in the old resolver(3).
- getaddrinfo(3) is now thread-safe.
- Use i2c bit-banging on the SDVO port for intel(4) i915, rather than using buggy GMBUS. Makes more digital video ports (DVI, HDMI) work.
- Unbreak the build on amd64 by making sure that inteldrm pulls in the generic i2c bit-banging code.
- Put back a space that got lost in fstat(1) state output.
- Do not transfer diverted packets into ipsec(4) processing, let them reach the socket the user has specified in pf.conf(5).
- Revert alpha and ppc to the binutils 2.15 state, to let a binutils 2.17 toolchain produce working binaries.
- Allow "0" as service name for raw sockets in getaddrinfo(3).
- Stopped async_resolver(3) assuming a local nameserver if resolv.conf(5) doesn't exist, and just use /etc/hosts.
- Unbreak drm(4) EDID fetching over displayport.
- Two fixes to drm(4) intel_sdvo_write_cmd(): allocate a large enough buffer to store messages; make sure we return true if we successfully transferred the command. Makes it possible to talk to the SDVO chip on the other end.
- In getent(1), use getaddrinfo() to display multiple addresses including IPv6.
- Prevent some undesirable interactions between using the brightness keys and wsconsctl(8) on the Dell XPS M1330.
- Restrict protocol numbers for raw sockets to the range from 0 to 255.
- Have smtpd(8) temporarily refuse new messages if file system holding the queue has less than 10% of disk space or inodes left.
- Fixed a ftp(1) memory leak during HTTP header parsing.
- Revert to the old method of intel(4) execbuffer pinning for i915.
- Provide a default softraid(4) discipline interrupt handling function and migrate all of the disciplines that now have the same interrupt code.
- Added function to read the MPCore base address on arm. Allows dynamically determining where e.g. the interrupt controller is.
- Correctly show the scope for IPv6 addresses in getnameinfo(3).
- Stopped the resolver failing in gethostbyname_async() when there are multiple addresses in a DNS packet.
- Prevent race conditions in smtpd(8) db file handling.
- Allow snmpd(8) to be put into read-only mode so that all "set" requests will be rejected.
- Fixed some missing sd_sync check/wakeup after scsi_io_put() calls in softraid(4).
- Fixed building urtwn(4) on the RAMDISK media.
- Prevent panic during rtsx(4) attachment if a card is inserted while booting and the interrupt handler triggered before sdmmc(4) is attached.
- Let mii_attach() know where the bnx(4) PHY is located (instead of scanning for it) since we know where it will be anyway.
- Switch to the new resolver implementation.
- Enable fmemopen(3), open_memstream(3) and open_wmemstream(3).
- If tmux(1) -s to swap-pane is not given, use the current pane.
- Make tmux(1) copy-mode -u still scroll up if already in copy mode, handy for people who bind it with -n.
- Let the new resolver accept and use any protocol specified by the caller.
- expr(1), csh(1) and ksh(1) will no longer die with SIGFPE on INT_MIN / -1 or % -1. Instead, INT_MIN / -1 == INT_MIN and % -1 == 0.
- Enable pax(1) support for write_opt=nodir for ustar archives. For tar archive readers that rely on appended "/".
- Added an open_wmemstream(3) implementation and fixed various issues for fmemopen(3) and open_memstream(3).
- Rewritten work unit handling code in the softraid(4) RAID 1/4/5/6 interrupt handlers. Ensures that work units are always removed from the pending queue and that colliders are started, even in the event of an I/O failure.
- Move the tmux(1) cursor back into the last column on CUU/CUD, to match xterm(1) behaviour.
- Make sure the new resolver only uses the search domains for DNS lookups, as the previous resolver did.
- Short-circuit screen switching on intel(4) i915 if we're switching to the screen that's currently active.
- Stop pci(4) rePOSTing devices supported by inteldrm(4), as the driver now properly restores the graphics mode.
- Added AES-XTS support to aesni crypto(4) driver on amd64. Allows softraid(4) to benefit from the AES-NI instructions on newer Intel CPUs.
- Only accept partial keys if the timer has not expired. Fixes infinite tmux(1) loop when escape is pressed the wrong number of times.
- During upgrade network setup, print friendlier error message if dhclient(8) is required but missing.
- Avoid null dereference affecting mod_perl, perl(1) RT bug 116441.
- Imported perl(1) 5.16.3 from CPAN.
- Added basic support for multiple screens to rasops(9), use this to provide proper virtual terminals to intel(4) i915.
- Fixed libkvm build on m68k.
- tmux(1) will try to establish client for run-shell and if-shell if no -t.
- Reverted the tmux(1) command-prefix change, which broke sequences of commands.
- Reseed the random(4) pool with the dmesg(8) when more devices are attached.
- Sync ospf6d(8) with ospfd(8): allow two minutes until neighbour adjacencies are formed; for point-to-point interfaces, send lsupdates to the interface address (since there is no DR and multicast messages to the DR will be ignored); improve snapshot handling.
- Create a new context when copying instead of using the (possibly nonexistent) input context. Fixes tmux(1) crash.
- Display the window's column number in the mg(1) mode line, not the column number of the active window.
- Write escaped tmux(1) output in control mode rather than hex.
- Allow tmux(1) to handle empty pending output (and not fail), and add \n.
- When only two panes are in a tmux(1) window, only draw half the separating line as active.
- Don't let tmux(1) display-message crash if no client.
- tmux(1) will now only send end guard if begin was sent.
- Process "^[" as meta when a partial key is found by tmux(1).
- Record when the buffer was saved in the mg(1) undo history.
- Handle "no client" better in tmux(1) display-message.
- Don't zoom windows with one tmux(1) pane.
- Correct line numbers for mg(1) undo-list.
- Added home and end (as modified by xterm) in tmux(1) keypad mode.
- Don't add prefix to tmux(1) %output pane id.
- Fixed tmux(1) if-shell and run-shell if there are no sessions.
- Added time and a command count to tmux(1) control mode guards.
- Fixed handling of short (< 4 character) checksums and a bug with parsing old-style custom tmux(1) layouts.
- Do not redraw tmux(1) panes if invisible.
- Add tmux(1) wait-for -L and -U for lock and unlock.
- Added tmux(1) wait-for command which blocks a client on a named channel until it is woken up again (with wait-for -S).
- Allow lastgc to be NULL in grid_string_cells so tmux(1) find-window doesn't crash.
- Preserve trailing spaces with tmux(1) capture-pane -J.
- Add tmux(1) -q flag to silence errors to capture-pane and show-options.
- Add -a to tmux(1) capture-pane, to capture alternate screen.
- Updated drm(4) libdrm to 2.4.42.
- Do not let pstat(8) or fstat(1) leak kernel pointers, unless operating as root.
- Added tmux(1) -A flag to new-session, to make it behave like attach-session if the session exists.
- Added resize-pane -Z to temporarily zoom/unzoom the active tmux(1) pane.
- Added a -o option to set-option, to prevent tmux(1) setting an option already set.
- Add a tmux(1) command queue to standardise and simplify commands that call other commands.
- Allow tmux(1) to handle focus events from the terminal.
- Expand format variables in the tmux(1) run-shell and if-shell shell commands.
- Added option command-prefix which is automatically prepended to any tmux(1) command (apart from a naked default-shell).
- Added support for focus notifications when tmux(1) pane changes.
- Reverted revision 1.138 of bsd.own.mk and switch amd64, i386, arm, sh and sparc64 back to binutils 2.15.
- Fixed bug in ld(1) --gc-sections to stop it stripping out .note sections. Unbreaks building chromium with binutils-2.17.
- dhclient(8) will now ignore client-identifier option sent by the server and instead record the local client-identifier used to obtain the lease, or construct one. Stops confusing servers when renewing a previous lease from a different MAC.
- Stop dhcpd(8) including the client-identifier option in OFFER or ACK messages, as per RFC 2131 4.3.1.
- Add tmux(1) -C and -J to capture pane to escape control sequences and to join wrapped line.
- Clear last attributes after reset in tmux(1) string_cells.
- Fixed tmux(1) so capture-pane/save-buffer can work in control clients.
- Add tmux(1) copy-pipe mode command to copy selection and also pipe to a command.
- Add -e flag to tmux(1) capture-pane to include embedded ANSI SGR escape sequences.
- Allow ospf6ctl(8) and ospf6d(8) use of an alternative control socket, ported from ospfd(8).
- Added resize-pane -x and -y to specify an absolute tmux(1) pane size.
- tmux(1) can now correctly handle UTF8 mouse option being toggled.
- In terminals with XT, tmux(1) activates/handles modifyOtherKeys=1 with the escape sequence, pass them through if xterm-keys is on.
- Reinstate ospfd(8) code to announce routes to backup carp interfaces, so that a specific route is maintained during failover.
- Stopped sysmerge(8) outputting a warning when the target of the link does not yes exist on the system.
- Backported fix to permit "xrandr(1) --output LVDS1 --mode 1280x800 --panning 1380x1024 --scale 1.8x1.8" to behave properly.
- Fixed tmux(1) non-prefixed bindings.
- Include the \033 in the tmux(1) key tree and adjust key matching for this change.
- Support tmux(1) capture-pane -p, to send to stdout.
- Detect on-die temp sensor for Atom E6xx on amd64.
- Add tmux(1) -c to refresh-client, to set client size in control mode.
- tmux(1) will no longer crash when calling choose-tree with a command that changes the mode.
- Add tmux(1) user options, prefixed with @. May be set to any arbitrary string.
- Add tmux(1) -v to set; and "setw" to show only option value.
- Allow formats in tmux(1) status options.
- Show alias in tmux(1) lscm output.
- Allow choose commands to be used outside tmux(1), so long as at least one client is attached.
- Fixed detection of the MAC address on cnmac(4/octeon) by reading it from the correct address.
- Use boot_info->config_flags to determine if the host has PCI capabilities. Fixes a hang on the EdgeRouter Lite.
- Enable drm(4) opregion code. Makes the brightness keys on x230 work.
- Correctly issue WSKBDIO_GETDEFAULTKEYREPEAT ioctl when wsconsctl(8) is getting the default repeat settings.
- 5.2 RELIABILITY FIX: Allow tftpd(8) to OACK and stop a segfault occurring.
A source code patch is available.
- Switched amd64, arm, i386, sh and sparc64 to binutils 2.17.
- Previous commit to i386/amd64 acpi_machdep.c broke suspend, now fixed by using the IPI that halts the CPU to save state.
- As non-root, whenever netstat(1) is about to print out a kernel pointer, print 0x0 instead.
- Only root can look at the kernel address space with procmap(1) now.
- Don't shutdown nc(1)'s network socket when stdin closes. Matches both GNU and Hobbit's netcats; -N reverts to old behaviour.
- Do not allow netstat(1) to expose a kernel address.
- Fixed return value of i2c_algo_dp_aux_exec, so getting the Extended Display Identification Data on displayport now works.
- When non-root asks sysctl(3) for kinfo proc or file requests, do not fill in any kernel addresses information.
- Do not touch the jumbo replenish threshold register on bge(4) chips that do not have jumbo support.
- Added a ruby20 FLAVOR to ruby-module(5).
- Don't advertise brightness control if it isn't supported by intel(4) i915 hardware.
- Added an OpenBSD-specific implementation of xf86-video-intel backlight control that uses the appropriate wscons(4) ioctls.
- Fixed race condition in socket splicing timeout which caused a uvm fault in sounsplice().
- Fix sudo(8) use_loginclass, backport from upstream.
- Updated to xf86-video-intel 2.20.19.
- Stop probing once touchpad detected. Stops pms(4) driver "not in sync yet" messages after attaching to elantech v2 hardware.
- Update intel(4) and the device-independent drm(4) code. Includes support for kernel modesetting and enables use of the rings on gen6+ Intel hardware.
- Updated sqlite(1) to 3.7.15.2.
- Provide a way for *drm(4) to prevent VGA text console wsdisplay(4) instance from attaching after it has control of the VGA hardware.
- Backout radeon(4) xf86-video-ati workaround for broken accelerated solid pictures with XAA on big endian architectures, and apply the correct fix (working at depth 16 and 24).
- Limit the identd(8) client to 256 bytes of input. If they send too much, just close the connection.
- Timeout based on the whole identd(8) session, not after every read/write. Stops clients from consuming fds on the server.
- Handle EMFILE/ENFILE from accept by disabling handling of events on the identd(8) listeners for a second.
- New identd(8) daemon, to replace the libexec one often run from inetd(8). An event driven non-blocking implemention.
- Added an interface to rebind agp(4) DMA mappings. For KMS to reload bindings after suspend/resume.
- Set glxpcib(4/loongson) "Power Immediate" bit upon attaching, so Fuloong can auto restart upon power failure.
- Updated nginx(8) to 1.2.7.
- Correct the clock speeds used to calculate int moderation values provided by the SK_IM_USECS() macro on msk(4) and sk(4).
- Added workaround for HW bug in bge(4) BCM5717/BCM5718/BCM5719-A0/BCM5720-A0 chipsets: don't include interface input drop counter in input errors.
- Apply the "AcceptPerfectMatch" workaround for sis(4) DP83815 chipsets to the 15D revision as well.
- Fixed size of unicast rx filter table on vio(4), to stop unicast address overwriting part of the multicast rx filter table.
- Updated fonts-conf(5).
- 5.2 and 5.3 RELIABILITY FIX: Stop bgpd(8) replacing an active during session startup.
A source code patch is available for 5.2 and 5.3.
- Allow tftpd(8) option ACK to negotiate 2 byte transfers with extra options.
- Fixed double free which occurred if a tftpd(8) option ACK failed.
- Don't unconditionally try to attach octcf(4) to a CF bus on octeon. Stops endless faults on the EdgeRouter Lite.
- Removed the unused sequencer(4) driver.
- Re-enabled build of Xserver(1) on hp300.
- Enable vge(4) flow control support.
- Fixed mii(4) flow control support; workaround for the IP1001 PHY where downshift support was not functioning properly.
- Install npppd.conf(5) with permissions of 0640, as there could be the radius config in this file.
- Disabled pie for lkm(4).
- Removed faithd(8) and faith(4).
- Make sure dhclient(8) doesn't delete IPv6 routes.
- Allow octeon to reboot by poking the right address for a soft cpu reset.
- In aucat(1) debug mode, log successful connections.
- Stopped sndiod(1) and aucat(1) displaying warnings if accept() returns ECONNABORTED or EWOULDBLOCK, as we do in other daemons.
- Fake "SMBIOS detection" for quirky Soekris boxes, to make it easier to attach device drivers.
- Require that the mktemp(1) template include at least 6 trailing Xs to match POSIX mkstemp/mkdtemp. Improved error messages.
- Fixed kernel profiling on MP systems by using per-CPU buffers and teaching kgmon(8) to deal with them.
- Allow snmpd(8) report new PF "translation" counter.
- Add pf(4) "translation" counter, use this (not "memory") when address translation fails due to no free ports in the configured range.
- Turn identd(8) off by default.
- Allow systrace(1), identd(8), uucpd(8), iked(8), nfsd(8), talk(1), tcpbench(1), bgpd(8), dvmrpd(8), ftp-proxy(8), inetd(8), iscsid(8), ldpd(8), ospf6d(8), ospfd(8), ppp(8), relayd(8), ripd(8), sasyncd(8), smtpd(8), snmpd(8) and syslogd(8) to handle ECONNABORTED errors from accept(2).
- When binding a lease, check for and clear out any "zombie" routes left behind by a dead dhclient(8).
- As per RFC 2131, stop dhcpd(8) ACK'ing any REQUEST containing a server-identifier option that specifies a different dhcp server.
- Removed the -I option from ndp(8).
- Do not start npppd(8) if a pptp tunnel is configured but the gre(4) protocol is not enabled.
- Flush writes to BGE_MI_COMM to avoid "APE lock request failed!" errors with HP 331T (5719) and 332T (5720) bge(4) cards.
- Changed relayd(8) to use the monotonic clock instead of gettimeofday() and call fatal() on error-that-should-not-happen.
- Removed obsolete sudo(8) code that used to change the mode of sudoers from the old (pre-1.6) default.
- Reserve a file descriptor on accept() for subsequent connect() call by ftp-proxy(8), as done in relayd(8).
- Put tip(1) back, but without the hardlink to cu(1) for now.
- Make it possible to override already attached wsdisplay(4) console later in the boot process. Needed for upcoming KMS changes.
- Workaround for some PowerBooks without an adb(4/macppc) bus, to prevent their PMU from shutting down the machine.
- Prevent gzsig(1) going into an endless loop on input error.
- Prevent gzsig(1) race condition by using already opened file descriptors. Properly presume owner/mode of gzip(1) file.
- Add new cu(1), a libevent-based implementation of the old tip(1)/cu(1) with a few new things (eg basic xmodem support). Disable tip(1).
- Always use the internal PHY on Apple variants. This unbreaks gem(4) on some PowerMac G5.
- Disabled re(4) IP checksum offloading for Realtek 8168 (broken if the packet has IP options).
- Updated to: xterm(1) 291, bdftopcf(1) 1.0.4, beforelight(1) 1.0.5, ico(1) 1.0.4, xcalc(1) 1.0.5, xfsinfo(1) 1.0.4, xkbutils 1.0.4, xsetroot(1) 1.1.1, xstdcmap(1) 1.0.3, xvidtune(1) 1.0.3, xvinfo(1) 1.1.2, xsm(1) 1.0.3, libXrandr 1.4.0, and xrandr(1) 1.4.0.
- Enable TCP socket splicing for HTTP persistent connection and chunked transfer encoding. Speeds up relayd(8).
- Updated to fontconfig 2.10.91 + a few local fixes: replaced ugly bitmapped Lucida fonts with Luxi or DejaVu TrueType fonts; moved the target of fontconfig recipes to the "pattern" from the "font" to add the default values properly.
- Rewrite the ste(4) receive filter handling code and cleanup the ioctl bits.
- First steps towards alphabook1 support.
- Allow ssh(1) "-f none ..."
- Implement a bgpctl(8) nei foo destroy that will remove the specified cloned neighbour.
- Better bgpd(8) templates support: on config reload adjust the cloned neighbours so that they get the config changes as well; clean up sessions that are 1h idle but in state active (instead of down); allow bgpctl(8) to destroy cloned neighbours.
- Added submethod support to sshd_config(5) AuthenticationMethods.
- Fixed return value of wcrtomb(3) in single-byte locales if the "s" argument is NULL.
- Allow a "+" in the cron(8) MAILTO email address.
- Per POSIX, if getconf(1) confstr() returns zero without setting errno ("no defined value") then print "undefined\n".
- Correct the delay when programming the sis(4) short cable fix to 100us, not 100ms.
- Fixed and simplified determining whether we're using an rl(4) 8129 or 8139 chipset. Allows D-Link DFE-520TX to work.
- Fixed ssh(1) public key and hostbased authentication when the client has specified a style (e.g. "root:skey").
- Fatal() ssh(1) session when ChrootDirectory is specified while running without root privileges.
- Account for the size of the allocation when defending the uvm(9) pagedaemon reserve.
- Sync yyerror() in ospfd(8), ospf6d(8), snmpd(8), dvmrpd(8), ifstated(8), ldpd(8), ripd(8), smtpd(8) and ypldap(8) with version in bgpd(8), so that it logs to syslog when daemonised.
- Patch for CVE-2013-1667 in perl(1): DoS in rehashing code (see http://code.activestate.com/lists/perl5-porters/191311/).
- When dumping ospfd(8) config, just print "passive" for passive interfaces rather than showing the "hello" timers and keys.
- Fixed a bad comparison when calculating the size of the hibernate code's signature block.
- Updated: rgb to 1.0.5, xev(1) to 1.2.1, and sessreg(1) to 1.0.8.
- Reset ssh(1) pubkey order on partial success.
- Let whois(1) -P do a query against https://www.peeringdb.com/.
- softraid(4) disciplines are now shutdown in reverse attach order, making manually stacked volumes more practical.
- Reorder pci(4) code such that wsdisplay(4) attaches after drm(4). Preparation for framebuffer console support on amd64/i386.
- When deleting an IPv6 interface address, also remove the prefix and the cloning route.
- Added HG20F9 usb ethernet to axe(4).
- Check ldomctl(8/sparc64) parser's return value and exit if parsing failed. Report syntax error with duplicated domain name.
- Use vlog() to log relayd(8) parser errors so they will show up in logs if they occur when reloading.
- When user(8) is locking/unlocking an account, never touch passwords that are "*" or 13*. Also make sure to never end up with an empty password.
- Fixed format string issue when printing an error out on bge(4) with APE and more than 4 pci(4) functions.
- Fixed ksh(1) quoting in word part of ${var+word} (and similar) when entire thing is quoted or in a here-doc.
- Disabled duplicate address detection on carp(4) interfaces, as the peer may have the same addresses.
- Make sure that IPv6 source address selection only chooses a carp(4) address if the interface is in master state.
- Fixed the combination of "j" format flag and the XPG "$" modifier in vfprintf(3).
- Unbreak softraid(4) compilation with debug enabled.
- Fixed pf(4) so when a pf.conf(5) containing "set tos" is followed by a scrub option, the tos will not be changed to 0x00.
- Properly conditionalise adding wscons(4) to the list of consoles on amd64 NWSDISPLAY.
- Always compare aliases(5) at the end of the sysmerge(8). Prevents newaliases(8) from failing due to smtpd.conf(5) syntax change.
- When passwd(1) is using an external password quality check program, don't run (potentially contradictory) internal pattern checks.
- Bring getconf(1) substantially up to spec with POSIX 1003.1-2008: 155 new names; support for the -v option. Added support for non-standard -L and -l options for listing the known names.
www@openbsd.org
$OpenBSD: plus.html,v 1.1285 2013/05/11 12:17:16 sthen Exp $