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.
For changes in other releases, click below:
2.0,
2.1,
2.2,
2.3,
2.4,
2.5,
2.6,
2.7,
2.8,
2.9,
3.0,
3.1,
3.2,
3.3,
3.4,
3.5,
3.6,
3.7,
3.8,
3.9,
4.0,
4.1,
4.2,
4.3,
4.4,
4.5,
4.6,
4.7,
4.8,
4.9,
5.0,
5.1,
5.3,
5.4,
5.5,
5.6,
5.7,
5.8,
5.9,
6.0,
6.1,
6.2,
6.3,
6.4,
6.5,
6.6,
6.7,
6.8,
6.9,
7.0,
7.1,
7.2,
7.3,
7.4,
current.
Changes made between OpenBSD 5.1 and 5.2
- Accommodate newer i386/amd64 CPUs with physical address size greater than 36 bit. Fixes major performance hit seen on newer servers where an incorrectly programmed memory region length affects PCI device mappings.
- Make dhclient(8) interface_status() assume that a link is up when IFM_AVALID is not set. Allows drivers to get dhcp leases even when they cannot tell what the link state is.
- Fix for VU#624931 CVE-2012-2978: nsd(8) denial of service vulnerability from non-standard DNS packet from any host on the internet.
- Make the smtpd(8) scheduler less verbose by default.
- Further simplify cwm(1) Xinerama init, and re-init on XRR events.
- On gio, correctly recognise boards with a 8-bit only ID register, which are not frame buffers.
- The 8254 timer does not interrupt on Indy; no longer try it. R4000 and R4400 based Indy may experience the lost clock interrupt processor errata again, until better fix is found.
- Drop .sp and .br right after .SH and .SS.; and drop empty .IP so they do not cause additional vertical spacing with mandoc(1).
- Let a trailing .Ns macro take effect, even on an input line containing a partial implicit macro. Fixes some mandoc(1) horizontal spacing.
- Print messages about ifconfig(8) ieee80211 nodes purged from the node cache if hostap/ibss modes are compiled in and the interface is in debug mode.
- Fix handling of mandoc(1) paragraph macros inside lists: when they are trailing the last item, move them outside the list; when they are trailing any other none-compact item, drop them.
- mandoc(1) will now never use "\*(Ba" and just use "|". Stops breaking of enclosing font changes.
- Put p_prof_ticks and p_prof_addr back in a "copy-on-fork" area, to correct process accounting.
- Add recognition of the Huawei Mobile E303 to umsm(4).
- Use ipsec(4) flowinfo on pipex to select the ipsec(4) tunnel for sending L2TP packets.
- In flush-left mode mandoc(1), when an output line is broken at the position of a literal tab, the tab now indents the following line.
- Added IP_IPSECFLOWINFO option to sendmsg(2) and recvmsg(2), so npppd(4) can use this to select the ipsec(4) tunnel for L2TP packets. Fixes Windows (always binding to 1701) and Android clients (negotiating wildcard flows).
- Fixed two possible node leaks in ieee80211_input().
- Make sure we have a swap partition before trying to read or write hibernate info to it.
- mandoc(1) -Tman .sp fixes: keep height argument on the same line (it got printed to the output); for .El .sp, avoid the .sp -1v .PP .sp output sequence.
- mandoc(1) -mdoc parser improvements related to vertical spacing: remove .br before paragraph type blocks; treat .Lp as a paragraph like .Pp (so remove .Pp, .Lp, .br before it); do not treat .sp as a paragraph (don't remove anything before it); after .Sh, .Ss, .Pp, and .Lp, remove .Pp, .Lp, .sp, .br, and blank lines; after .sp and .br, remove .br.
- Unify cwm(1) max routines, to match client placement and some menu ones when calculating screen dimensions.
- Don't panic in hibernate resume if no swap partition exists on the root disk.
- Add cu(1) command ~D to drop the DTR line for a second (similar to using ~# for a BREAK). This makes some microcontroller boards reset.
- Fixed mandoc(1) vertical spacing for blank lines after .PP, and for .sp after .PP; adjust -Tman SYNOPSIS .Nm indentation using .HP; do not pass font escapes and such through print_word(), to correctly count characters.
- In mandoc(1) -Tman .Bl -compact, skip blank line only before first item of first list in a section, not before every item of the first list.
- Label node allocation failures as such in netstat(1) -W output.
- Changed ipsec.conf(5) configuration format fed to the isakmpd FIFO to be able to specify extended options (eg SA Lifetime).
- Added sysctl.conf(5) file for beagleboard architecture (required by the cross compiler).
- Refined bgpd(8) knexthop calculations. Fixes massive memory consumption crashes when used with ospfd(8).
- Support additional MODP DH groups in the isakmpd.policy(5) Phase 1 and Phase 2, to match ipsecctl(8).
- Stopped npppd(4) using wrong Attribute Value Pairs as a "calling number".
- tcpdump(8) now recognises additional Internet Key Exchange DH groups.
- mandoc(1) changes: in -man -Tascii, support .sp with negative argument; in -mdoc -Tman, improve the framework to control vertical spacing. Use both to support .Bl -compact.
- Add a notify queue to tmux(1) and a way to turn them on and off, to prevent notify while running some commands.
- Import swrastg, the Gallium3D software rasterizer. Uses the softpipe driver by default, can also use the llvmpipe driver that use LLVM for code generation if available. Not yet linked to the build.
- Avoid using the same wscons(4) wchan name twice.
- Disable acpivideo(4) on ASUS laptops, as some models panic whenever an event is received.
- Fix wireless scanning on slow systems with high RX rate and interface in debug mode. Allows association points to recover from ifconfig(8) "ral0 debug down up" in noisy RF environments. Also fixed some association failures.
- Allow route(8) destination/prefixlen syntax for ipv6 routes.
- After connect() returns EINPROGRESS the connection can still fail, relayd(8) will now check with getsockopt if the socket is still open.
- Use S_ISFIFO and S_ISSOCK instead of lseek() to determine whether a fd is a socket, pipe or named pipe.
- Fix .Nm validation crash in mandoc(1).
- Be more careful when accessing a possibly cached route, since it may already be gone. Fixes panic seen when unplugging a USB interface in use.
- Added -B option to ktrace(1) to reduce ld.so(1) chatter.
- Better handling of long comments in ssh_config(5).
- Fix installer script issue where ksh would not properly separate arguments correctly in "$@" if IFS is an empty string.
- Enabled hibernate on i386. Currently only working on pciide(4) and wd(4) disks.
- Improved i386 gdb to display stack traces of kernel core dumps correctly.
- Fix crash in mandoc(1) on .Fn with one argument and .Bl without a width. Now can build all 3776 base manuals.
- Added support in smtpd(8) for maildir tagging/folders.
- Added support for NetMos NM9820 cardbus serial cards.
- Added JMC251/JMC261 chips which include card readers to the list of supported jme(4) devices.
- Make smtpd(8) not respect RFC5322 and refuse strange characters in the local part of an email address.
- Implemented res_mkquery(3) in the libc async resolver.
- When cp(1) copies a file using sparse mode, truncate the file based on current seek offset instead of the reported original length.
- USB HID parser now supports multiple report IDs. Added hid_get_report_id(3) to get an id of a descriptor.
- New event-driven tftp-proxy(8) replaces the old one run out of inetd(8).
- Disabled SSLv2 in the OpenSSL code base.
- Better fdisk(8) bounds checks and less unuseful help texts.
- In bgpd(8), limit the setsockopt(2) while loops to prevent them from running away if the call fails when a peer bounces at the wrong time.
- Fix libtool(1) handling of ldconfig library directory searches.
- Make tmux(1) command exec functions return an enum rather than -1/0/1 values and add new value to mean "leave client running but don't attach". Fixes problems with using some commands in a command sequence.
- Make sure processes don't get scheduled on CPUs which have been taken out of the scheduler.
- Fix packet length issue in pf(4) address translation for icmp error packets.
- Reduce the number of unnecessary IPIs sent on amd64 smp machines by calling need_resched() only if the priority is lower than the current running process.
- Make smtpd(8) accept address literals for the recipient domain.
- Better regexps in the sendmail(8) and nfsd(8) rc.d startup scripts.
- Various mandoc(1) fixes and improvements.
- Renamed "life" option to "lifetime" in ipsec.conf(5) to match iked.conf(5).
- Disable the ability to lidsuspend if shutdown is in progress already.
- Make pkill(1) -l print the proper processes when the -v flag is used.
- Removed all digests from package checksums except SHA-256.
- The in-development version of cu(1) now has builtin support for Xmodem transfers.
- Simplify the smtpd(8) scheduler. It is now possible to handle SIGTERM/SIGINT.
- In pf.conf(5), implicit address family is now allowed for af-to rules. If the address family can be determined by the "from" or "to" parameters, it is no longer necessary to specify "inet" or "inet6".
- Better handling of the servname in the libc async resolver for getaddrinfo_async.
- Initial version of a new cu(1) added to the source tree. Not linked to builds yet.
- Fix in tftpd(8) when receiving an ACK for the previous block.
- Fixed mg(1) bug related to tilde expansions.
- Make sshd_config(5) default to UsePrivilegeSeparation sandbox for new installations.
- Updated nsd(8) to 3.2.11.
- In mandoc(1), fix -Tman font handling for ".Ad .Ar .Cd .Cm .Dv .Em .Er .Ev .Fa .Fl .Fn .Fo .Ft .Ic .In .Lk .Li .Ms .Mt .Nm .Pa .Sx .Sy .Tn .Va .Vt"
- Teach kdump(1) how to print fd_sets used by select(2).
- Fixed rounding errors in fdisk(8) to better handle NTFS partitions.
- After resume on i386 and amd64, re-initialize the MTRR registers on the AP processors too.
- Add support in pf(4) for the 'weight' keyword in the least-states load balancing case.
- Moved the pf(4) prio and tos options to "match set {}" block instead of set-tos.
- Moved smtpd(8) to the new asynch resolver.
- Fix handling of the message read buf in bgpd(8), now EOR record handling is lots faster.
- Make the installer able to show more information about disks when asked which disk to install on.
- Make relayd(8) able to handle transactions larger than 2GB in size.
- Implement -Tman .No and .Mt in mandoc(1).
- Make sure we do not reinitialize ci_randseed on the primary CPU.
- First step of simplifying the smtpd(8) fsqueue. Reduced the buckets from 0xfff to 0xff for performance reasons.
- mandoc(1) fixes: .Lk for -Tascii (implemented it for -Tman); fixed vertical spacing for -Tman SYNOPSIS .Fn .Fo .Ft .In .Nm .Va .Vt.
- To more reliably detect altered system files, security(8) switched from MD5 to SHA-256, using mtree(8).
- Added mtree(8) support for the "sha256digest" keyword to create/compare SHA-256 digests of files.
- Pass @ (array) information along to auto-make simpler accessors in libtool(1); first use of permuted options.
- Incoming smtpd(8) messages are now always stored in /incoming, whatever the queue_backend is; check return value of generated paths before calling rmtree().
- Disallow manual security associations that use AES-CTR, AES-GCM, or AES-GMAC (all unsafe with static keys) in ipsec.conf(5). Also, forbidden by RFCs 3686, 4106, and 4543.
- pfctl(8) and tcpdump(8) tweaked to make -P flag work with -ss (print port names and states).
- Implemented res_querydomain(), required by sendmail(8).
- Implemented -Tman .An in mandoc(1); reset -[no]split mode at .Sh AUTHORS in -Tascii.
- Added tmux(1) choose-tree command to show windows and sessions in the same list.
- Switched diff(1) binary file detection. Stops some character encodings being wrongly treated as binary.
- smtpd(8) supports relay URLs (users need to update smtpd.conf(5) if using "relay via" rules).
- smtpd(8) replaced starttls:// schema with tls://.
- Added mandoc(1) flags to insert a .sp or .br request before the next output, for better SYNOPSIS spacing.
- Better error messages from mount(8).
- Make hibernate_free() safe to be called even if the hibernate areas allocation failed.
- Implemented -Tman .Va; fix -Tman .Vt for the non-SYNOPSIS case in mandoc(1).
- radeon(4) 6.14.4 code reviewed, to fix accumulated CVS merge errors.
- Increase maximum number of npppd tun(4) interfaces to 8.
- Implemented mandoc(1) -Tman .Vt.
- Don't hold the fd-table lock across vn_open(), as opening a FIFO may block. Avoids possible race.
- Added support to rtadvd(8) and rtadvd.conf(5) for advertising dns servers and search paths in router advertisements (RFC 6106).
- Start using our options parser for main libtool(1) options; put link related stuff into their own module; shortdie for cases where it is known libtool(1) is not at fault.
- Handle O_ACCMODE bits correctly, so O_RDONLY is displayed by kdump(1) even when other flag bits are set.
- Basic implementation of -Tman .Fo and .Fa added to mandoc(1) (some blank lines still missing from output).
- Specialised/simplified libtool(1) option handler.
- Add noifprefix, an option to send an RA with no prefix information, to rtadvd(8).
- Remove the hardcoded limit of 16 on the number of pflog(4) interfaces.
- Clear flags across all tmux(1) sessions.
- Fixed cwm(1) atom for retrieving WM_STATE between re-exec's, and for setting WM_STATE.
- Fix two races in socket(2) splicing.
- Removed incorrect check in pfctl(8) preventing set-tos for IPv6.
- mandoc(1) now supports the .cc request.
- libtool(1) changes: added LT::OSConfig for config values, and walk the object to print the config (instead of printing the values manually); made $mode into an actual object; added a dump method (simplifying the --config call).
- Added the Chicony x200 camera to usbdevs.
- Fixed a mandoc(1) assert() raised by "RS" when following "TP" without a tag.
- Allow httpd(8) to build even if sslv2 is disabled.
- Updated to freetype-2.4.10.
- Updated nginx(8) to 1.2.2; start using /var/www/cache instead of /var/www/tmp.
- mandoc(1) basic support for "-Tman .In" and "-Tman .Ft and .Fn"; implemented "-Tman .Bd" -offset and -compact, "-Tman .Sm", "-Tman .Bk"; after .Lb in library section, break the line in the final output.
- Check for valid partition when fdisk(8) "select"ing a partition.
- Replaced atoi(3) with strtonum(3) in fdisk(8) code, and made related error messages consistent.
- Allow nc(1) UDP server to receive datagrams from multiple socket pairs with -k flag.
- Restored pf(4) DIOCKILLSTATE semantics. Should fix "authpf(8) doesn't remove NAT states" issue.
- mandoc(1) "-mdoc -Tman" fixes: right after .Ns, avoid breaking the line in man code; after .Fl without arguments, do not insert a blank into man code; before each .Nm in .Sh SYNOPSIS, insert a .br into man code; skip .Pp arguments, don't copy them to man code.
- Fixed an ehci(4) abort loop problem when aborting a transfer.
- Fixed file descriptor leak in authpf(8).
- Unbreak Mesa GLX1.3 constructors with software dri. Makes clutter/cogl works with software acceleration.
- Don't enable Mesa INTEL_swap_event unconditionally. Unbreaks clutter/cogl and other toolkits.
- Report incoming connections when -l is specified with -v in nc(1).
- Restore default argument to use "/tftpboot" in rc.d(8) script. Makes tftpd(8) work out of the box.
- Support for gaming-style USB keyboards (that use a variable for each separate key in the HID report).
- cwm(1) querying for Xinerama now done per display, not per screen.
- pkg_add(1) sets -i on automatically for ttys; uses -i/-I to force interactive/non interactive mode.
- ssh(1) setting of tty_flag moved to after config parsing, so RequestTTY options are correctly picked up (bz#1995).
- Fixed ssh(1) memory leak of passed-in environment variables and connection context when new session message is malformed (bz#2003).
- Added ssh-keygen(1) options to specify starting line number and number of lines to process when screening moduli candidates. Allows processing of different parts of a candidate moduli file in parallel.
- Correct the jumbo setup code within brgphy(4) so it is not disabled on the physical layer interface.
- Set the prefetch threshold for ix(4). Provides some performance improvement.
- ix(4) now forces a cleanup if number of tx descriptors is below threshold.
- Added flow control to bnx(4). Tested on 5706, 5708, 5709, 5716 chipsets.
- NVIDIA GeForce 320M (found on the 2010 version of the Apple Mac mini) added to pcidevs.
- Decode ipsecctl(8) sa flags to enable realtime observation of changes with monitor mode.
- Don't output ipsecctl(8) "esn" string in rule section (can't use the keyword to create a esn-enabled rule anyway).
- when rekeying ike sa, copy more info from the old one; fixes last known iked(8) inter-op problem with windows 7.
- Adjust the bgpd(8) route decision code to cover checks needed due to route reflection.
- Fixed cwm(1) atom (WM_PROTOCOLS) style handing; closing a window will no longer close entire application if the client supports CLIENT_PROTO_DELETE.
- libtool(1) changes: cleanup options handling; simplify LT::Trace syntax; implement --tag checks; added libtool comp support, as per libtool2 (implicit modes still as per libtool1); prevent shell code in nm execution.
- Set 10_100_ONLY flag for bge(4) BCM57791/BCM57795 chipsets.
- Re-implement atom handing for more consistent separation of cwm(1) and Extended Window Manager Hints.
- sigpending(2) fixed to work on the sh architecture.
- Improved iked(8) key derivation function when rekeying IKE SA, as specified in s2.18 of RFC5996.
- Simplified cvs(1) rcsnum parsing by using a fixed array, avoiding realloc(3).
- Lookup smtpd(8) queue and scheduler backends by name, rather than enum. Added command-line option to specify the backend to use.
- Only check state flags when processing an iked(8) response (an unnecessary check otherwise).
- iked(8) will now augment every sa_free call with a debugging log message.
- Hibernate i/o implementation for ahci(4). Works with ATI SBx00 controller (not yet with jmicron or intel).
- iked(8) no longer closes IKE SA immediately when rekeying; closes on timeout if no SA delete received.
- Use a randomising counter to generate unique ids, so smtpd(8) does not usleep(3) in the wrong places.
- Set ssh(1) interactive ToS flag for forwarded X(7) X11 sessions.
- Increased sparc's default and maximum text, data and stack size limits (required to build X at -O2, and by many ports).
- Fix the use of ALPS touchpads with recent (>1.6) xf86-input-synaptics drivers.
- Do not define XDC_DIAG if option SMALL_KERNEL; allows sparc floppies to fit again.
- Added support for the Winbond W83627UHG chip to lm(4).
- Further limits.h fixes, for POSIX and XPG standards compliance.
- Enable use of AES-{192,256}-CTR, and explicitly of AES-128-CTR, for ipsec(4) ESP.
- Fixed a race during the load of ssh(1) sandbox systrace(1) policies.
- Updated xf86-input-synaptics to 1.6.2.
- Strip trailing \r from irrfilter RSPL route lines (the \r breaks bgpctl(8) parsing).
- pfsync(4) now demotes by 32 on the first bulk update (prevents failovers w/o having a full state table).
- Fixed a panic on resume with ahci(4) AHCI_DEBUG enabled.
- ipsecctl(8) can now print esn flag when dumping SAs with esn enabled.
- Added support (using software crypto(9)) for the Extended (64-bit) Sequence Number defined in RFCs 4302 and 4303.
- Added many intel 7 series id's to pcidevs, for devices found in the thinkpad x230.
- Restrict sgi ip30 physical memory usage to 1.5GB, to stop memory regions being overwritten.
- On sgi, correctly register ip30 contiguous memory regions (e.g. some > 1GB DIMMs).
- Prevent bioctl(8) salt_len overflows.
- To prevent a race condition, pfsync(4) no longer does demotion adjustments on "link up" event then undemotes when bulk update finishes or times out.
- Fixed AMD chipset ahci(4) attach functions for Hudson-2 and SB700 product families.
- Removed ssh(1) hmac-sha2-256-96 and hmac-sha2-512-96 MACs (bz#2023). They will not be in the RFC.
- Changed sparc64 "fp" boot device path's parameter probing to not use the scsibus(4) field, to future-proof for dual-port fibre-channel adapters.
- Prevent an endless iked(8) loop; also stop re-enqueuing the same item on the list multiple times.
- Tweaked iostat(8) column spacing to allow for larger numbers.
- Use MAP_FIXED for malloc(3) mquery(2) to avoid scanning for free space if hint isn't available.
- Created new (namespace clean) machine/_float.h; sys/limits.h now defines values it needs itself.
- Use nl_langinfo(RADIXCHAR) instead of localeconv()->decimal_point in printf(3), no longer call it unless we have a floating point value to print.
- dhclient(8) will now reject the lease if no length field is present.
- Check dhclient(8) "required length" field for an option is present before trying to use it.
- Delete (all) trailing NUL's when parsing dhclient(8) NVT ASCII options. Fixes appending info to such options via dhclient.conf(5); conforms to RFC 2132.
- Improved iked(8) ikev2_msg_retransmit_timeout.
- Close iked(8) SA when IKE_SA_INIT or IKE_AUTH exchanges fail; don't cache response to IKE_SA_INIT.
- Added mquery(2) to allowed syscalls for ssh(1) "UsePrivilegeSeparation sandbox" (needed by malloc(3)).
- Compare iked(8) exchange types when looking up a message; proceed with response only when the appropriate request is found.
- compat_linux(8) no longer ignores SOCK_CLOEXEC and SOCK_NONBLOCK.
- Use /var/www/tmp/ for the nginx(8) temp directories, even if not chrooted.
- Improved POSIX compliance for arpa/inet.h and netinet/in.h.
- Workaround for libtool(1) race condition with make -j4.
- Support added for external L2 cache controller on Indy/Indigo2 R4600SC and Indy R5000SC processor modules.
- Get mips64 L2 line size from configuration register instead of hardcoding smallest possible size; and on kernels with 16KB pages, SyncDCachePage on physical (not virtual) addresses where possible.
- Change arc4random(3) arc4random_uniform() calculations to simplify code and make slightly faster.
- Replace mips64 R5000 and R10000 family assembly cache routines with C equivalents (rm cache_r*.d in kernel compile directories after updating).
- adb(4/macppc) improvements brought back that were lost in reversion: fixed backspace key under X11; use the command key (58) as modifier in console for all European keyboards; don't use small enter key (52) as modifier in console for the fr, sg, and sv_nodead layouts; don't redefine keys that are inherited from the default layout (de, uk).
- Improved config(8) error messages when removing/recreating symlinks in the build dir.
- Added support for AF_INET6 to inet_net_pton(3) and inet_net_ntop(3).
- Updated sqlite3(1) to 3.7.13.
- realloc(3) zapcacheregion fixed to clear out entire requested memory area; uses mquery(2) to check potential memory region is large enough, prior to allocating.
- Simplified macppc console attachment logic.
- Unbreak the nv(4) driver on macppc after update to Xserver(1) 1.12.
- Add dumping of struct __tfork done by the revised __tfork syscall to kdump(1).
- __tfork_thread(3) __tfork now sets stack address of the new thread in the kernel, so it can't get a signal while still running on parent thread's stack.
- ssh(1) strlcpy(3) truncation check corrected.
- Cancel timeouts in dhclient(8) state_reboot() to stop sending (corrupted) discover packets after binding.
- Fixed the smtpd(8) runner spinning on message loop.
- Now that many daemons can cope with file descriptor starvation, raised default limits in login.conf(5).
- RIP mac68k support. Machines too slow to support present day crypto(3).
- Fixed some hibernate issues on i386 machines with > 3.5GB phys mem
- gcc(1) fixed to check _POSIX_PRIORITY_SCHEDULING and_POSIX_THREAD_PRIORITY_SCHEDULING are supported (not just defined), to conform with POSIX 2001.
- With hppa MP rthread setups, don't remove the X permission from the GOT entry momentarily, because another thread might attempt lazy resolve.
- malloc(3) switched to using two nibbles of random, to span the the entire cache; and on free(3), reuses offset instead of always starting at zero.
- Copy compat_linux(8) set_tls_base flag when forking. Fixes segfault when processes with this flag active tried to access the TLS area.
- urndis(4) now uses interface descriptor after the control interface as the data interface; supports multiple interface descriptors.
- kdump(1) can now handle PT_GET_THREAD_*.
- Initialise ssh(1) accept() backoff timer to avoid EINVAL from select(2) when rekeying.
- In sshd_config(5), extend Match to allow AcceptEnv and {Allow,Deny}{Users,Groups}.
- Moved libtool(1) to base.
- Changes to compat_linux(8): pool_get() flags changed from WAITOK to NOWAIT to avoid a potential lost-wakeup; linux_futex.c now sleeps on the actual data address (not on the stack address of the pointer to the data); implemented linux_sys_tgkill and added extra argument validation.
- Added more pathconf(2) variables from POSIX.
- Don't unload sub-modules with Xserver(1) 1.12
- Support larger-than-page-alignment requests in posix_memalign(3).
- Corrected uvideo(4) parsing of video format.
- Added "control mode" that lets tmux(1) commands be sent and output received on stdout(4).
- When using mg(1) M->, place cursor near bottom of window like emacs, instead of middle of page.
- Do not crash when the current tmux(1) session has no window.
- Fixed mg(1) spin that occurred when splitting window after directory opened via command line and by other windows.
- Add -a flag for tmux(1) detach-client, will kill-session for all but the specified session.
- Checking that the opened file is the expected one fixes a potential symlink race when using the -P flag in rm(1).
- In the smtpd(8) code a "struct scheduler_info" abstraction is introduced and used as a value carrier instead of "struct envelope".
- IP30.MP kernels will store the CURCPU pointer in a slower way but which works in memory areas above 2 GB (physical); the mips64 port no longer restricts continuous-page allocations to memory in the low 4 GB.
- On the octeon port the TLB size is now dynamically calculated.
- In tcpbench(1) an integer division by zero is fixed.
- The ldapd(8) now proactively protects itself against, and thus handles, filedescriptor exhaustion.
- Regression test for the DF_1_NOOPEN flag enters the tree.
- The mg(1) editor will gracefully open filenames longer than LOGIN_NAME_MAX which are prefixed with a tilde (and don't refer to an account).
- ld.so(1) henceforth honours the DF_1_NOOPEN flag (dlopen(3) not allowed, to be set via "-Wl,-znodlopen" linker flags).
- snmpd(8) learns the D-DISKIO-MIB.
- The new mg(1) option "backup-to-home-directory" will save backup copies in "~/.mg.d" instead of CWD; the new "leave-tmpdir-backups" option can modify this behaviour further.
- Output of "pkg_info(1) -S" changes since signatures now separate pkgnames with "@", libraries with nothing.
- nginx(8) is updated to version 1.2.1.
- In ld.so(1), some logical reorganization and cleanup occurs.
- Xenocara xf86-input-synaptics is updated to version 1.6.1.
- A fix of the puc(4) driver prevents integer overflows and thus ensures that a ports' bus_space_subregion(9) doesn't excess the mapped area.
- "ButtonMapping" support is added to the Xenocara driver ws(4), which also gets a major overhauling.
- In Xenocara libXaw is updated to version 1.0.11, libX11 to 1.5.0, libXft to 2.3.1, libXi to 1.6.1, xinput to 1.6.0 and xf86-video-openchrome to 0.2.906.
- The PkgConfig.pm module now belongs to pkg-config(1) instead of pkg_add(1).
- FFS and sd(4) fixed to no longer mount readonly filesystems readwrite. Fixes crashes seen when using some USB devices with RW/RO switches.
- The OpenBSD::MkTemp(3p) module will now die instead of returning an empty list upon error.
- The athn(4) driver improves programming of the Serializer/Deserializer. While AR9380 chips will still not work, the kernel shouldn't crash anymore when one is seen.
- On amd64 and i386 serial consoles become accessable even if the BIOS doesn't report the presence of any serial ports (makes add-on card additions possible).
- The Xenocara Xserver is updated to version 1.12.2 and xkeyboard-config to 2.6.
- Support for RFC 6608 BGP Finite State Machine Error subcode error strings is added to bgpd(8).
- The emacs editing mode of ksh(1) is fixed.
- In Xenocara, xf86-input-vmmouse is updated to version 12.9.0.
- mg(1) no longer looses track of where the correct place for its cursor is.
- In pkg_add(1) the new pkg_create magic is activated ("note that, in most cases, PFRAG.shared are probably no longer needed...").
- compat_linux(8) adds support for gettid(2).
- top(1) is extended so that a command line like "$ top -U -username -U username" will behave the same as interactive mode.
- In Xenocara, xterm(1) is updated to version 279, xf86-video-ati to 6.14.4; the radeonold driver is fixed to work with xserver 1.12.
- Added cscope support to mg(1) (see README for differences to emacs behaviour); also the line number counter is fixed when scrolling up in tiny windows.
- Support for the mbsnrtowcs(3) and wcsnrtombs(3) character conversion functions is added to libc.
- A fix for CVE-2012-1667, that primarily affects recursive servers, is backported from ISC BIND.
- The new randomized UVM allocator will truly randomize addresses again.
- rthread fix: EVFILT_SIGNAL and EVFILT_PROC events track the process they're attached not a (possibly temporary) thread.
- The new optional hypen in the "[-]u user" command of top(1) allows hiding of individual users' processes.
- hppa64 gets a real mutex implementation; unneccesary alignment restrictions on the atomic lock removed.
- The ahci(4) driver henceforth just fails the command if error recovery fails (doing recursive recovery caused panics).
- mg(1) theo mode will ensure that only one window is open.
- tcpcib(4/amd64) / tcpcib(4/i386) gain support for the HPET timer.
- bsd.port.arch.mk(5) learns to distinguish in between big and little endian machines via BE_ARCHS and LE_ARCHS (to be tested against NOT_FOR_ARCHS and ONLY_FOR_ARCHS).
- On amd64 and i386, MBR code serial port output is fixed and register globbering prevented.
- Xenocara libGL builds with "XENOCARA_BUILD_DRI=No" are fixed.
- In iked(8) an incorrect conversion of the EC point to the binary representation when rounding up bignums is fixed.
- The sqlite3(1) shell and library are updated to version 3.7.12.1.
- On amd64 and i386 the new "machine comaddr" can be used to configure the I/O port used to access the serial console.
- Due to bug-compatibility issues mandoc(1) no longer allows redefinition of macros before the first ".Dd" (mdoc(7)) or ".TH" (man(7)) request has been seen; it fixes handling of implicit/explicit block issues, like empty paragraphs.
- imsg_read(3) will fail with EAGAIN if it's clear that recvmsg(2) will fail due to shortage of file descriptors; API changed so retriable errors will be retried automatically.
- mandoc(1) gains some more GNU manual compatibility for some ports' pleasure.
- In Xenocara xf86-video-glint is updated to version 1.2.7; also, if building against Xserver 1.12, video drivers that have not yet been updated to the video ABI changes are conditionalized away.
- Priviledge separation becomes available for the OpenBSD Xserver 1.12.
- In the kernel, DDB diagnostic code that reported timeout adjustments on resume was removed to reduce verbosity.
- New smtpd(8) command line option "-P", which can be used to start subsystems in a paused state.
- The mg(1) editor will now beep as either buffer end is reached during scrolling.
- The mlock(2) and munlock(2) systemcalls no longer cause hard failures when the effective region is of zero length.
- In login.conf(5) the new option "krb5-noverify" causes failures to verify credentials against a local key to not result in fatal errors.
- The stdlib.h header file availability macro tests are updated to be more POSIX conformant: The ecvt(3), fcvt(3), gcvt(3), mktemp(3), ttyslot(3) and valloc(3) functions are no longer part of POSIX, whereas posix_memalign(3), mkstemp(3) and mkdtemp(3) are; also, setstate(3) has lost a "const" modifier.
- In ssh(1) memory leaks in case of MUX socket creation failures (bz#2002) are fixed.
- Now quotacheck(8) works with duid based fstab(5), too.
- mg(1) fixes cursor jumps when scrolling upwards.
- mandoc(1) fixes the handling of blank lines in ".if" conditionals.
- The sysconf(3) _SC_* and _CS_* variables have been moved from sys/unistd.h to unistd.h.
- The kernels VFS buffer pressure logic is improved, which fixes reproducable hangs seen during heavy I/O on feeble machines.
- Computation of the IOC3 device mask is fixed on MENET boards for ioc(4/sgi).
- tmux(1) now exclusively uses log files for logging purposes and no longer falls back to STDERR as a default.
- The iked(8) daemon simplifies it's internal message passing, fixes an issue with changing the peer address of security associations, and continues timer overhauling.
- In "-d" mode rc.subr(8) will print an error message before exiting if a daemon is not active.
- In relayd(8) an issue is fixed that caused per-table timeouts to be overwritten by global timeouts.
- The mount(8) utility will work again for NFS remote paths.
- The smtpd(8) steps toward supporting relay options as URLs of the form "[schema://]host[:port]" (see undeadly.org SMTPD article).
- The gbe(4/sgi) driver will disable Sync-on-Green if it finds the string "nosog" in the ARCBios environment variable OSLoadOptions.
- iked(8) overhauls its internal timer framework.
- mg(1) no longer creates an initial buffer if we update already open files to default modes.
- snmpd(8) now panics right away if some of the necessary sockets can't be created.
- To unbreak dhcp on the Indigo (IP20) and E++ GIO installer, sq(4/sgi) will always report the interface "up".
- mandoc(1) now produces cleaner output with the ROFF "\z" (output next character, don't advance cursor) escape sequence; and no longer makes distinction between numeric/non-numeric escape sequences. Makes recursive parsing of roff(7) escapes actually work.
- tmux(1) uses the set "default-shell" not _PATH_BSHELL to spawn commands.
- Network code now allows attributes to be passed with prefixes (eg MRT dumps with prefixes for bgpctl(8)).
- Replaced Loongson2F assembly cache routines with C code (remove cache_loongson2.d in your kernel build directories).
- Proper support for the so-called "fast mode" of the Indigo2 ECC memory controller on sgi.
- Add tcpcib(4) to support the Intel Atom E600 watchdog.
- Teach rain(6) to calculate terminal delays like worms(6), avoids network saturation if run over ssh.
- Fix mandoc(1) vertical spacing around tbl(7) instances in man(7).
- mandoc(1) horizontal span width corrected for: centred/right flushed text, boxes, and when more columns follow the span.
- mandoc(1) no longer handles vertical lines as additional tbl(7) columns. Simplifies layout parsing.
- Plugged some snmpd(8) memory leaks.
- 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.
- Add compat_linux(8) emulation support for fstatfs64.
- Made the aucat(1) "default" string a valid device name, to simplify ports where user passes the device string.
- Fixed duplicate aucat(1) mixer knob device names.
- 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.
- Import sqlite3(1) 3.7.12.
- ftell(3) will return EOVERFLOW if the file offset is greater than LONG_MAX.
- When idling intel(4) i915 drm(4), flush pending operations and unlock all. Fixes kernel panic and X restarts on Sandy Bridge.
- Handle tmux(1) stdin/stdout/stderr file descriptors in client, not server. Bumps protocol version: new clients and old servers are incompatible.
- Fixed binutils-2.17 configure script, so it will build on amd64.
- Fixed put usage in tftp(1).
- xbridge(4/sgi) can now use the generic bus DMA routines.
- Bugs in the suspend/resume of intel(4) drm(4) driver eliminated; code reordered to allow easier diff against Linux.
- The ftp(1) usage string will henceforth (a) match the manual and (b) no longer cause linewraps.
- The NetBSD GIO@PCI bus driver for fast Ethernet expansion boards is ported to OpenBSD (Only the bridge yet, drivers need to be adapted).
- pkg_mklocatedb(1) no longer fails if files from the *etc sets are missing, warns instead to run sysmerge(8).
- 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.
- cwm(1) better integrated into the freedesktop.org Window Manager Specification Project.
- 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.
- Large update of pathconf(2) and sysconf(3) variable reporting occurs.
- 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.
- Update to nginx(8)-1.2.0 in base.
- 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).
- Fixed tcpdump(8) for etherip packets.
- Applied upstream patches to fix freetype-2.4.9 regression that caused ghostscript "Font Renderer Plugin" errors.
- Enable PCI snoop on the azalia(4) AMD Hudson 2.
- On sgi, correctly recognise gio(4) Impact boards so they can work as a console device.
- Improved sgi console detection logic to match graphics console address, and point to wsdisplay correctly.
- On mips64 IP32 kernels on R5000, R10000 and R12000 O2, added extra cache flushing made necessary by the new uvm_map().
- Conditionally provide types/prototypes for strptime(3), clock_gettime(2) and asctime_r(3) to make time.h more standards compliant.
- Allow mg(1) throwaway buffers to be saved via "C-c s".
- Only set a process's start time when starting the main thread; remove unnecessary scheduler locks.
- Flags set to indicate re(4) 8401E/8402/8105E/8105E_SPIN1 do not support jumbo frames.
- re(4) 8168D chipset now has PHY wake PM flag set to ensure the PHY is woken upon attachment.
- Fix a relayd(8) desynchronisation on host change during a running check. Closes PR system/6627.
- Backout revision 1.134 in sys/net/route.c, which introduced a use-after-free for routing entries.
- Bugfix for iked(8) that prevented initialising if NAT-T not disabled and local address not specified.
- Bug fixed in mg(1) writeout() where stats of the wrong file were passed to buffer being written.
- Fixed relayd(8) "label string" in http protocol.
- Additional Intel E5 pci(4) devices recognised, as found on Supermicro X9DRT-HIBFF.
- Refuse to load elf(5) objects that contain a PT_TLS program header. Avoids memory corruption.
- Fixed a null pointer dereference on terminating the npppd process.
- npppd now ignores NAK of authentication option on LCP (Link Control Protocol) when it was not requested.
- Fixed double free bug in npppd Password Authentication Protocol with radius authentication.
- npppd now ignores the Link Control Protocol's ACCM option, as it is required by proxied LCP.
- Fixed and re-enabled smtpd(8) connect notification to the mfa. Filtering now occurs before setting up ssl(8) connections.
- pkg_mklocatedb(1) added an extra check to avoid possibly being out-of-synch.
- Fixed double-free in tcpbench(1) when -n is used with -b.
- New header sys/_time.h, included from time.h for userland and sys/time.h for kernel access to clock_gettime(2).
- Added support for Intel 6 Series KT puc(4) (Serial-over-LAN, part of Intel AMT).
- pkg_add(1) fixed when install location is not the default /usr/local.
- Fixed printing of wildcard anchors in pfctl(8).
- 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.
- Reverse video support is added to sti(4).
- The pipe(2) systemcall locks the file descriptor table after pipe buffers and structures have been created, not beforehand.
- On amd64, the "int $0x80" systemcall interrupt is garbage collected in favour of the syscall instruction.
- For the tmux(1) command unbind-key the -a and -t combination will now work; plus further code-cleanup.
- pipex_ip6_input() of the kernels PPPAC IP extension is fixed and now calls IF_DROP() with the correct queue.
- On the hppa platform multithreaded debugging becomes available in gdb(1).
- The systems thread library henceforth supports a spinlock type (see pthread_spin_init(3)).
- tcpdump(8) corrects display of the ipsec(4) ESP/AH sequence number.
- In Xenocara, inputproto is updated to version 2.2.
- On sgi, the RAMDISK_IP22 kernel configuration works again after device dependencies have been fixed.
- To avoid accessing a possibly non-existent interface in -n mode, pfctl(8) simply assumes a MTU of 1500.
- IPv6 support is added to tftp(1).
- kvm(3) is updated to reflect the kernel's changed file reference-counting via the FREF()/FRELE() mechanism.
- The execve(2) system call corrects its error path when there's a race to single thread the process.
- ypldap(8) boosts its performance by demanding multiple results at a time instead of singly from servers which support this mode of operation.
- ifmedia(4) support is added to sq(4/sgi).
- 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.
- pkg_mklocatedb(1) src/xsrc handling repaired.
- 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.
- make(1) is tweaked to fix the
make -j2
problem by introducing a new SuffLinkParent() algorithm.
- Progress in kvm(3) lets
fstat -p
and fstat -u
work on kernel crash dumps again.
- nsd-zonec(8) will no longer be verbose by default after an unwanted slipped-in patch hunk is removed again.
- On sparc bioctl(8), bioctl(4) and ch(4) are removed from RAMDISK due to size constraints.
- impact(4/sgi) performance optimization became possible by using a 4:8:4 colormap.
- The alloca(3) of libc goes to the attic - in the future we rely on the compiler to give it to us.
- In the bioctl(8) program a missing data initialization is fixed.
- The spamd(8) daemon introduces short-period sleeps to handle out-of-file-descriptor situations.
- On mips64 the ddb(4) command
machine tlb
gains the capability to print the address space ID (ASID).
- The kernels vmmap handling is further optimized.
- On powerpc multi-threaded debugging becomes available in gdb(1).
- Update of intro(4/sgi) to reflect recent work.
- If you are building IP27 or IP30 kernels, be sure to
rm impact.d
before building a new kernel.
- Support added for all Indigo 2 graphics options.
- The audit to replace occurrences of plain unsigned to named integer types continues.
- The sgi port adds support for the GR2 family of framebuffers (for at least console devices), properly parsing grtwo(4/sgi) to prevent matching it as an unknown gio(4/sgi) device.
- The new sysctl(3) flag KERN_PROC_SHOW_THREADS is mandatory to include threads in, e.g., kvm(3) interface output.
- From now on SGI Indigo serial keyboard and mouse (not PS/2) devices will be supported.
- On sparc64 multi-threaded debugging becomes available in gdb(1).
- The amd64 %fs register is no longer cached, since userland changes can globber it's value.
- On IP22 and IP24 sgi machines the powerbutton becomes functional via the new
panel
device which is enabled by default.
- The sh platform can now be compiled with stack protection.
- Improved error message for inconsistent operators in make(1).
- 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).
- ifconfig(8), relayd(8) and sasyncd(8) memory leaks fixed.
- nginx(8) updated to version 1.0.15.
- Fix to a possible kernel deadlock when sending SIGKILL to an orphaned process.
- Sqlite 3.7.11 library and shell is imported into base, but not yet hooked to the build.
- kvm_getprocs(3) becomes thread-aware. kvm_getfile2(3) gains "a fighting chance to work correctly on crash dumps".
- 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.
- perl(1) now uses base mkstemp(3) and mkdtemp(3) directly.
- Allow unlocking an unlocked mutex. All other behaviors undefined by POSIX will result in abort().
- spamd(8) no longer assumes that file descriptors it receives are not recycled.
- Fix waiting problem at boot on AMD Hudson's ahci(4).
- Clean-up release(8) dependency tree, so that release is "MI parallel-make clean" (MD parts not yet).
- Use a shared stripping function for nginx(8) chroot(8). Make sure the path starts with the chroot(8) prefix before using.
- Use accept_pause() and accept_unpause() calls to manage open file descriptors in ldpd(8).
- bgpd(8) aspath_neighbor() now returns the local AS number for empty AS paths.
- New m4(1) "expression" and "include" features added to -g flag (GNU-m4 compatibility mode).
- Add per thread accounting to ps(1), top(1), sysctl(3), sysctl(8), pkill(1) and kvm_getprocs(3). ps(1) and top(1) now display per-thread times with -H.
- Bugfix in hibernation code to correctly unlock the free pageqs, not the in-use pageqs.
- Fixed kernel panic when the "main" thread exits but threading code expects it to still exist.
- Provide TID and ignore PID in bfd (Binary File Descriptor library). This is more useful for gdb(1).
- Removed the rfork(2) system call.
- uvm(9) will now properly keep track of the maxrss of the faulting process.
- Portable C Compiler moved from base to ports(7).
- The fpu control symbol on sh (__fpscr_values) became local in gcc(1)4. Bugs fixed by making it global again.
- Backout gcc(1) revision 112331 "optimized integer divide for SH4", so we can use the existing sh libkern functions.
- New system call: getdtablecount(2) returns the number of file descriptors the process currently has open.
- Bugfix in file descriptor management code to stop dup() calling fd_used() twice.
- Documentation for getdelim() and getline() added to stdio(3) manpage.
- VersionAddendum option to allow appending some text to the ssh(1) banner.
- In the aucat(1) "reply" code path: lock the socket; check if socket was destroyed. Fixes rare crashes.
- Flush the log and abort() aucat(1) if we try to destroy a NULL aproc (audio processing unit).
- Mark outermost __tfork(2) frame such that backtraces in thread terminate at __tfork_thread().
- Added .CHEAP/.EXPENSIVE to explicitly tell make(1) when to avoid parallel make recursion.
- Added to mg(1): C-x h to mark whole buffer, and M-| to pipe current region to external command.
- Fixed suser calls in san(4), pflow(4), pfsync(4), pppoe(4) and carp(4), which previously passed incorrect p_acflag argument.
- Add maxrss keyword to ps(1).
- When mg(1) is writing a file via C-x C-w, confirm overwrite of existing files, to match emacs.
- In sendmsg(2), permit at most 10% of maxfiles to be in-flight during CMSG_DATA SCM_RIGHTS fd transfers.
- Now that sshd(8) defaults to offering ECDSA keys, ssh-keyscan(1) also looks for them by default (bz#1971).
- Support "none" as an argument for ssh(1) AuthorizedPrincipalsFile to indicate no file should be read.
- ssh(1) and sshd(8) will no longer spin in accept() when out of fds (EMFILE/ENFILE).
- Added -H to kdump(1), to print PID/TID pairs.
- Speed up uvm(9) vmmap allocations: reduces O(n log n) allocations to O(log n).
- Add librthread pthreads(3) barrier support (eg see pthread_barrier_init(3)).
- Fixed xinstall to cope with 0-sized mmap now returning EINVAL.
- Minimal gdb(1) threads support for i386.
- Do rate limiting of accept() when under pressure in relayd(8), ldapd(8) and iscsid(8).
- 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.
- Handle file descriptor exhaustion in the accept() case for ospf6d(8), ospfd(8), ripd(8) and dvmrpd(8).
- Updated libpciaccess to 0.13.1.
- 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.
- urtwn(4) can now recogize BELKIN F7D2102.
- 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.
- In Xenocara setxkbmap(1) is updated to version 1.3.0, xauth(1) to 1.0.7, xfontsel(1) to 1.0.4, xgamma(1) to 1.0.5, xhost(1) to 1.0.5, xload(1) to 1.1.1, xlogo(1) to 1.0.4, xlsatoms(1) to 1.1.1, xmodmap(1) to 1.0.6, xpr(1) to 1.0.4, xwud(1) to 1.0.4 and xkbevd(1) to 1.1.3.
- 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.
- Several privilege-separated daemons (ftpd(8), pflogd(8), syslogd(8), tcpdump(8) and the X server) will bail out earlier if some file-descriptor passing recvmsg(2) fails.
- 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(8) 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.
- Simplified tmux(1) mouse input function.
- Updated libexpat to 2.1.0, and use arc4random(3) instead of rand/srand in generate_hash_secret_salt().
- Increased delay between zs(4/sgi) chip register accesses. Fixes the console freeze during install seen on IP22 and IP24.
- Manpage for accept(2) now reminds people to consider EMFILE/ENFILE behaviour when we are nearing file(9) descriptor exhaustion.
- Added tmux(1) layout history. Can be stepped through with select-layout -u and -U commands (bound to 'u' and 'U' by default).
- Initial support for an st(4) audio attachment to tape drives. Currently limited to reel drives (eg QIC-150).
- Updated xf86-input-mouse to 1.7.2 and xf86-input-synaptics to 1.5.2.
- Updated termtypes.master to terminfo.src from ncurses-5.9-20120331.
- Added tmux(1) pane_current_path format.
- Only exit mouse mode on scroll wheel when actually reaching the end of the tmux(1) history.
- In tmux(1) find-window, only find each window once no matter how many panes there are.
- With nc(1), error out if accept() fails.
- 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.
- Add sshd_config(5) PermitOpen none option (bz #1949).
- Clarified in the tsort(1) manual that there must be an even number of node names, not pairs.
- Allow ELF kernels to be booted on ELF-unaware PROM on SGI architectures.
- aucat(1) no longer spins when accept() fails due to file descriptor limit being reached.
- In acpi(4), prevent hibernation attempts on machines with unsupported disk controllers.
- On mips architectures, default gcc(1) to -mfix-r4000 -mfix-r4400 when building in big endian mode.
- Work in progress support for the SGI Indigo, Indigo 2 and Indy systems (IP20, IP22, IP24) in 64-bit mode.
- Use process pid not thread pid in networking code, so userland can compare value against getpid().
- Rewritten yelp section in port-modules(5).
- 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 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.
- 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().
- 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.