[BACK]Return to plus34.html CVS log [TXT][DIR] Up to [local] / www

File: [local] / www / plus34.html (download) (as text)

Revision 1.72, Sun Mar 10 18:46:16 2024 UTC (2 months ago) by tj
Branch: MAIN
CVS Tags: HEAD
Changes since 1.71: +1 -0 lines

reroll plus pages for 7.5

<!doctype html>
<html lang=en id=plus>
<meta charset=utf-8>
<title>OpenBSD 3.4 Changelog</title>
<meta name="description" content="OpenBSD 3.4 changes">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="openbsd.css">
<link rel="canonical" href="https://www.openbsd.org/plus34.html">
<style>
a[href="stable.html"] {
	color: var(--green);
}

strong {
	color: var(--red);
}

h3 {
	color: var(--blue);
}

p strong {
	font-weight: normal;
}
</style>

<h2 id=OpenBSD>
<a href="index.html">
<i>Open</i><b>BSD</b></a>
3.4 Changelog
</h2>
<hr>

<p>
This is a partial list of the major machine-independent changes
(i.e., these are the changes people ask about most often).  Machine
specific changes have also been made, and are sometimes mentioned
in the pages for the specific <a href="plat.html">platforms</a>.

<p>
Note: <strong>Problems for which patches exist are marked in red</strong>.

<p>
For changes in other releases, click below:<br>
<a href="plus20.html">2.0</a>,
<a href="plus21.html">2.1</a>,
<a href="plus22.html">2.2</a>,
<a href="plus23.html">2.3</a>,
<a href="plus24.html">2.4</a>,
<a href="plus25.html">2.5</a>,
<a href="plus26.html">2.6</a>,
<a href="plus27.html">2.7</a>,
<a href="plus28.html">2.8</a>,
<a href="plus29.html">2.9</a>,
<a href="plus30.html">3.0</a>,
<a href="plus31.html">3.1</a>,
<a href="plus32.html">3.2</a>,
<a href="plus33.html">3.3</a>,
<a href="plus35.html">3.5</a>,
<a href="plus36.html">3.6</a>,
<a href="plus37.html">3.7</a>,
<br>
<a href="plus38.html">3.8</a>,
<a href="plus39.html">3.9</a>,
<a href="plus40.html">4.0</a>,
<a href="plus41.html">4.1</a>,
<a href="plus42.html">4.2</a>,
<a href="plus43.html">4.3</a>,
<a href="plus44.html">4.4</a>,
<a href="plus45.html">4.5</a>,
<a href="plus46.html">4.6</a>,
<a href="plus47.html">4.7</a>,
<a href="plus48.html">4.8</a>,
<a href="plus49.html">4.9</a>,
<a href="plus50.html">5.0</a>,
<a href="plus51.html">5.1</a>,
<a href="plus52.html">5.2</a>,
<a href="plus53.html">5.3</a>,
<a href="plus54.html">5.4</a>,
<br>
<a href="plus55.html">5.5</a>,
<a href="plus56.html">5.6</a>,
<a href="plus57.html">5.7</a>,
<a href="plus58.html">5.8</a>,
<a href="plus59.html">5.9</a>,
<a href="plus60.html">6.0</a>,
<a href="plus61.html">6.1</a>,
<a href="plus62.html">6.2</a>,
<a href="plus63.html">6.3</a>,
<a href="plus64.html">6.4</a>,
<a href="plus65.html">6.5</a>,
<a href="plus66.html">6.6</a>,
<a href="plus67.html">6.7</a>,
<a href="plus68.html">6.8</a>,
<a href="plus69.html">6.9</a>,
<a href="plus70.html">7.0</a>,
<a href="plus71.html">7.1</a>,
<br>
<a href="plus72.html">7.2</a>,
<a href="plus73.html">7.3</a>,
<a href="plus74.html">7.4</a>,
<a href="plus75.html">7.5</a>,
<a href="plus.html">current</a>.
<br>

<p>
<h3>Changes made between OpenBSD 3.3 and 3.4</h3>
<p>

<ul>
<li><strong>SECURITY FIX: A buffer overflow in the address parsing in <a href="https://man.openbsd.org/sendmail.8">sendmail(8)</a> may allow an attacker to gain root privileges.</strong><br>
    <a href="errata33.html#sendmail">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<!-- ^ 20030917 -->
<li>Bump OpenSSH version to 3.7.1 after the buffer management fixes.
<li><strong>SECURITY FIX: All versions of OpenSSH's sshd prior to 3.7 contain a buffer management error.</strong> It is unclear whether or not this bug is exploitable.<br>
    <a href="errata33.html#sshbuffer">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<!-- ^ 20030916 -->
<!-- ^ 20030915 -->
<!-- ^ 20030914 -->
<!-- ^ 20030913 -->
<!-- ^ 20030912 -->
<li>On i386, don't try to enable EDD support if the BIOS doesn't support extended disk access.
<li>Add support for the AES instruction on new VIA C3 CPUs.
<!-- ^ 20030911 -->
<!-- ^ 20030910 -->
<li><strong>SECURITY FIX: Root may be able to reduce the security level by taking advantage of an integer overflow when the semaphore limits are made very large.</strong><br>
    <a href="errata33.html#sysvsem">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Pass -a to <a href="https://man.openbsd.org/fgrep.1">fgrep(1)</a> in Texinfo to make sure info files don't get treated as binary.
<li>Have <a href="https://man.openbsd.org/grep.1">grep(1)</a> check for the correct error value from <a href="https://man.openbsd.org/mmap.2">mmap(2)</a>, fixing a crash.
<!-- ^ 20030909 -->
<li>Allocate enough space for <a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a> in <a href="https://man.openbsd.org/pstat.8">pstat(8)</a>.
<li>Fix the endianness of <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a>'s icmp echo output.
<li>Match up kernel and userland ioctls for AFS, allowing <a href="https://man.openbsd.org/afsd.8">afsd(8)</a> to turn on kernel debugging (PR#3442).
<li>Mirror the <a href="https://man.openbsd.org/crypto.9">crypto(9)</a> sha2 context fix in libc <a href="https://man.openbsd.org/sha2.3">sha2(3)</a>.
<!-- ^ 20030908 -->
<li>Make an invalid '-&lt;num&gt;' option to <a href="https://man.openbsd.org/diff.1">diff(1)</a> give an error.
<li>Fix <a href="https://man.openbsd.org/grep.1">grep(1)</a>'s parsing of the '-&lt;num&gt;' option where num has more than one digit.
<li>Resurrect the -u&lt;num&gt; unified context length syntax for <a href="https://man.openbsd.org/diff.1">diff(1)</a>.
<li>Use more bytes of the file when testing for binary  in <a href="https://man.openbsd.org/grep.1">grep(1)</a>.
<li>Test more than just the first character of the input file for ASCIIness in <a href="https://man.openbsd.org/diff.1">diff(1)</a>.
<li>Stop <a href="https://man.openbsd.org/pppctl.8">pppctl(8)</a> coredumping (PR#3454).
<li>Fix i386 hang on 'boot -a' (PR#2122, PR#3437).
<!-- ^20030907 -->
<li>Have the upgrader script perform the ssl -&gt; openssl includes dir change, both in /usr/include and /usr/libdata/perl5/site_perl/*-openbsd.
<li>Make <a href="https://man.openbsd.org/strxfrm.3">strxfrm(3)</a> standards-compliant.
<li>Machine-dependent installation notes added or updated. Note especially upgrade instructions for i386.
<li>Add a wi_detach() function for, uh, <a href="https://man.openbsd.org/wi.4">wi(4)</a> and use it to shut down PC cards properly.
<li>Sync <a href="https://man.openbsd.org/pf.os.5">pf.os(5)</a> database with <a href="http://lcamtuf.coredump.cx/p0f.shtml">p0f</a> 2.0 release.
<!-- ^ 20030906 -->
<li>Allow <a href="https://man.openbsd.org/compress.1">compress(1)</a> to read from a symlink when writing to stdout (PR#3409).
<li>Only trigger the <a href="https://man.openbsd.org/gcc.1">gcc(1)</a> bounds checker warning if the bounds length is less than zero, since some legal code uses the zero case.
<li>Fix some bugs in the pkg_* tools (PR#3414).
<li>Don't leak a socket in the <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> setsockopt error path.
<li>Add a SMALL define in <a href="https://man.openbsd.org/compress.1">compress(1)</a> that leaves out bits not needed by the installer.
<li>Add a null compressor to <a href="https://man.openbsd.org/compress.1">compress(1)</a> so gzcat and friends can work on uncompressed files.
<li>Fix a FILE* leak in <a href="https://man.openbsd.org/sup.1">sup(1)</a>.
<!-- ^ 20030805 -->
<li>Fix a crasher in <a href="https://man.openbsd.org/netstat.1">netstat(1)</a> by adding descriptions for icmp types up to ICMP_MAXTYPE (PR#3439).
<li>Correct some <a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a> logic so that the GOT and PLT always get W^X applied.
<li>Add a GOT symbol lookup cache to <a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a>.
<li>A few more bzero(sizeof pointer) fixes.
<li>Temp file security fixes for <a href="https://man.openbsd.org/sup.1">sup(1)</a>.
<li>Add dummy syscalls under Linux emulation for *xattr(), all returning ENOATTR.
<!-- ^ 20030804 -->
<li>Make the small window size feature of <a href="https://man.openbsd.org/spamd.8">spamd(8)</a> optional (see PR#3435).
<li>Plug memory leaks in <a href="https://man.openbsd.org/lpd.8">lpd(8)</a> and <a href="https://man.openbsd.org/lpq.1">lpq(1)</a> (PR#3425).
<li>Fix sizeof(pointer) <a href="https://man.openbsd.org/bzero.3">bzero(3)</a> args in <a href="https://man.openbsd.org/crypto.9">crypto(9)</a> sha2 code.
<li>Add Broadcom BC5823 crypto accelerator support to <a href="https://man.openbsd.org/ubsec.4">ubsec(4)</a>.
<!-- ^ 20030903 -->
<li>OpenBSD 3.4 images for <a href="https://man.openbsd.org/xdm.1">xdm(1)</a>.
<li>Make <a href="https://man.openbsd.org/xdm.1">xdm(1)</a>'s error file directory (when under /tmp or /var/tmp) have a more random name.
<li>Fix a missing initialisation in <a href="https://man.openbsd.org/faithd.8">faithd(8)</a>, and specifically request a TCP socket just in case <a href="https://man.openbsd.org/getaddrinfo.3">getaddrinfo(3)</a> is SCTP-aware. From KAME.
<li>Use <a href="https://man.openbsd.org/poll.2">poll(2)</a> instead of <a href="https://man.openbsd.org/select.2">select(2)</a> in <a href="https://man.openbsd.org/faithd.8">faithd(8)</a>.
<li>Bump <a href="https://man.openbsd.org/eephy.4">eephy(4)</a>'s mode autonegotiation timeout to 5s so slow copper switches can do their work. Fixes <a href="https://man.openbsd.org/sk.4">sk(4)</a> boottime problems.
<li>Change <a href="https://man.openbsd.org/vi.1">vi(1)</a> to use a dynamic <a href="https://man.openbsd.org/select.2">select(2)</a> fd_set for curses mode, and <a href="https://man.openbsd.org/poll.2">poll(2)</a> in <a href="https://man.openbsd.org/ex.1">ex(1)</a> mode.
<li>More conservative settings and an additional error check for <a href="https://man.openbsd.org/aac.4">aac(4)</a> to improve reliability.
<li>3.4-beta -&gt; 3.4.
<li>Disable the patented TrueType bytecode interpreter code in freetype.
<li>Sync up the X fontconfig int overflow fixes with those in the XFree86.org repository.
<li>Add '?' and '!' as punctuation characters in <a href="https://man.openbsd.org/mdoc.7">mdoc(7)</a>. Lots of manual pages updated to reflect this.
<li>Require encryption for all <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> Phase 2 messages.
<li>Add a random offset in the range 0-256MB to the address returned to <a href="https://man.openbsd.org/uvm_map.9">uvm_map(9)</a> by uvm_map_hint(), scattering libraries and mmaps about the place.
<li>Fix old-style suser() calls in <a href="https://man.openbsd.org/atalk.4">atalk(4)</a>.
<li>Fix a use-after-free in libutil <a href="https://man.openbsd.org/check_expire.3">check_expire(3)</a>.
<li>Bump OpenSSH version to 3.7.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Fix symbol lookup in objects opened with <a href="https://man.openbsd.org/dlopen.3">dlopen(3)</a> (PR#3371).
<li>Add Solaris-compatible RTLD_* defines in &lt;dlfch.h&gt;.
<!-- ^ 20030902 -->
<li>Fix a memory leak in <a href="https://man.openbsd.org/sshd.8">sshd(8)</a> GSSAPI authentication.
<li>New 'emacs-usemeta' +o option for <a href="https://man.openbsd.org/ksh.1">ksh(1)</a> that allows 8-bit characters to be input in emacs mode.
<li>Add fadvise64() dummy syscall under Linux emulation, for compatibility with recent glibc.
<li>Make <a href="https://man.openbsd.org/pf.4">pf(4)</a> translation rules update the table counters, since that's the only place it could occur for a 'nat pass' rule.
<!-- ^ 20030901 -->
<li>In the Alpha X server config, disable the segfault-prone freetype module for now.
<li>Since the freetype renderer can also render Type 1 fonts, remove the obsolete type1 module from default X server configurations.
<li>A few GSSAPI fixes in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
<li>Fix truncation of filenames by <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>'s progress meter.
<li>Unbreak <a href="https://man.openbsd.org/mopd.8">mopd(8)</a>'s -a flag interface detection.
<!-- ^ 20030831 -->
<li>Apply the X font library fixes to the XFree 3.3.6 servers.
<li>Pull in fixes from XFree 4.3 for a number of potential int overflows in the font libraries.
<!-- ^ 20030830 -->
<li>Remove three potential use-after-frees in <a href="https://man.openbsd.org/pf.4">pf(4)</a> scrub code. <!-- Uh-oh. -->
<!-- ^ 20030829 -->
<li>Remove some recent <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> binary operator sanity checks that were broken on big-endian architectures.
<li><a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> now supports AES for phase 1 also.
<li>Remove Kerberos support from SSHv1 code in favour of GSSAPI, but keep Kerberos password authentication in SSHv1 and SSHv2.
<li>Fix a bad size argument to <a href="https://man.openbsd.org/bzero.3">bzero(3)</a> in <a href="https://man.openbsd.org/dc.4">dc(4)</a>.
<li>Correct <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> -vvsr output for tables inside anchors.
<li>Fix a missing initialisation in the <a href="https://man.openbsd.org/aic.4">aic(4)</a> microcode. From NetBSD.
<!-- ^ 20030828 -->
<li>Fix some memory leaks in <a href="https://man.openbsd.org/sup.1">sup(1)</a>.
<li>Updates to the <a href="https://man.openbsd.org/pf.os.5">pf.os(5)</a> database.
<li>Remove a dangling else in OS fingerprint code, fixing the M and W tcp options.
<li>Add some X key bindings missed in the XFree86 4.3.0 merge.
<li>Make the <a href="https://man.openbsd.org/pf.4">pf(4)</a> OS fingerprint allow for 'smart' DSL and NAT routers that tweak the tcp mss.
<li>Escape out any special characters in the output of the <a href="https://man.openbsd.org/ksh.1">ksh(1)</a> emacs mode function 'expand-file.'
<li>Remove a whole bunch of <a href="https://man.openbsd.org/httpd.8">httpd(8)</a> modules not used by OpenBSD.
<li>Don't set the hostname from /etc/myname unless that file exists. Netbooted systems don't need it.
<li>Install <a href="https://man.openbsd.org/sed.1">sed(1)</a> USD docs.
<li>Fix <a href="https://man.openbsd.org/pkg_create.1">pkg_create(1)</a>'s handling of the @cwd directive.
<li>Remove the RNF_IGNORE <a href="https://man.openbsd.org/route.4">route(4)</a> flag.
<!-- ^ 20030827 -->
<li>Make <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> choke on port range binary operators (&lt;&gt;, &gt;&lt;) unless the first port given is less than the second.
<li>Put back <a href="https://man.openbsd.org/spamd.8">spamd(8)</a> logging of blacklist matches.
<li>Unbreak <a href="https://man.openbsd.org/ksh.1">ksh(1)</a> emacs-mode forward- and backwards-delete.
<li>Fix <a href="https://man.openbsd.org/afsd.8">afsd(8)</a> crashes on alignment-sensitive architectures.
<li>Do a dummy password calculation for nonexistent usernames in <a href="https://man.openbsd.org/sshd.8">sshd(8)</a>, to prevent username discovery by timing.
<li>Add new <a href="https://man.openbsd.org/route.4">route(4)</a> flag RTF_CLONED (displayed with a 'c' in <a href="https://man.openbsd.org/netstat.1">netstat(1)</a>,) set for cloned routes and used to delete such routes when the parent goes away.
<li>Don't insert the full <a href="https://man.openbsd.org/gcc.1">gcc(1)</a> string into objects by default (see -findent in <a href="https://man.openbsd.org/gcc-local.1">gcc-local(1)</a>).
<!-- ^ 20030826 -->
<li>Have <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> disallow return-rst ttl values greater than 255.
<li>Add an interface init routine to struct ifnet, required for 802.11 support.
<li>Correct a divide-by-zero in <a href="https://man.openbsd.org/sftp.1">sftp(1)</a>'s ls implementation.
<!-- ^ 20030825 -->
<li>Fix static <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> builds.
<li>Some 64-bit cleanup in the new <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> GSSAPI code.
<li>Stop <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> rejecting perfectly legitimate nat-with-tables rules.
<li>When tables are used in <a href="https://man.openbsd.org/pf.4">pf(4)</a> routing rules with address pools, only allow round-robin mode.
<li>Structure and defines for generic IEEE 802.11 framework.
<li>'Implement' <a href="https://man.openbsd.org/pread.2">pread(2)</a> and <a href="https://man.openbsd.org/pwrite.2">pwrite(2)</a> under FreeBSD emulation (they're identical to the native calls).
<!-- ^ 20030824 -->
<li>In the installer, if an interface is configured using DHCP then assume that the default route is via DHCP also.
<li>Improvements to <a href="https://man.openbsd.org/spamd.8">spamd(8)</a>:<ul>
	  <li>New -s option to specify the delay in seconds between each character sent.
	  <li>Shrink the TCP receive window to one byte, hurting the sender's stack.<!-- Mwuahahahaha -->
	  <li>Keep the connection open until ten lines of mail body have been received.
	  <li>Better logging via syslog.
</ul>
<li>Use the correct format for printing time values in <a href="https://man.openbsd.org/spamd.8">spamd(8)</a>.
<li>Check the maximum size of an exec header after <a href="https://man.openbsd.org/lkm.4">lkm(4)</a> load or unload, since the module may just change it.
<li>Allow <a href="https://man.openbsd.org/sysctl.8">sysctl(8)</a>-toggled emulations to be switched off after being switched on.
<li>Fix a bug in <a href="https://man.openbsd.org/ksh.1">ksh(1)</a> emacs-mode filename completion.
<!-- ^ 20030823 -->
<li>Fix 64-bit breakage in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> counters output.
<li>Build <a href="https://man.openbsd.org/sendmail.8">sendmail(8)</a> with support for DSN-specific timeouts, so bounces can be timed out more quickly.
<li>Fix <a href="https://man.openbsd.org/ksh.1">ksh(1)</a>'s end-of-word detection.
<li>Remove <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> and <a href="https://man.openbsd.org/sshd.8">sshd(8)</a> support for the kerberos-2@ssh.com authentication method, now obsoleted by GSSAPI.
<li>Add GSSAPI authentication support to <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> and <a href="https://man.openbsd.org/sshd.8">sshd(8)</a>.
<li>Don't age IPv6 non-gateway host routes. (NetBSD PR bin/22568.)
<!-- ^ 20030822 -->
<li>New keywords @extra and @extraunexec for <a href="https://man.openbsd.org/pkg_create.1">pkg_create(1)</a>, to specify 'extra' package files that are only undeleted with pkg_delete -c.
<li><a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> can now show the operating system of TCP SYN packets with the -o option.
<li>Add passive OS fingerprinting capability to <a href="https://man.openbsd.org/pf.4">pf(4)</a>, via the 'os' keyword.
<li>Add <a href="https://man.openbsd.org/pf.os.5">pf.os(5)</a> passive OS fingerprint database.
<li>Add kern.emul.* <a href="https://man.openbsd.org/sysctl.8">sysctl(8)</a> toggles for the various OS emulations instead of compile-time options.
<li>Fix Apache bug <a href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21737">#21737</a> (zombie suexec processes) by reverting to 1.3.27 behaviour.
<li>Merge in Apache 1.3.28 and mod_ssl 2.8.15.
<li>By default, use spamhaus instead of spews for <a href="https://man.openbsd.org/spamd.8">spamd(8)</a>.
<li>In libcrypto, add bignum zero to bignum zero without corrupting the result.
<li>Backport a fix for an obscure <a href="https://man.openbsd.org/gcc.1">g++(1)</a> <a href="http://gcc.gnu.org/ml/gcc-bugs/1999-08n/msg00621.html">bug</a> which propolice trips.
<!-- ^ 20030821 -->
<li><strong>RELIABILITY FIX: An improper bounds check in the <a href="https://man.openbsd.org/semget.2">semget(2)</a> system call can allow a local user to cause a kernel panic.</strong><br>
    <a href="errata33.html#semget">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Queues that list themselves as a child queue are now disallowed by <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<li>Have <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> print a more helpful error messages for bad queue definitions and invalid CBQ priorities.
<li>Convert <a href="https://man.openbsd.org/bootpd.8">bootpd(8)</a> from <a href="https://man.openbsd.org/select.2">select(2)</a> to <a href="https://man.openbsd.org/poll.2">poll(2)</a>.
<!-- ^ 20030820 -->
<li>Increase the default FD_SETSIZE from 256 to 1024.
<li>Set the <a href="https://man.openbsd.org/select.2">select(2)</a> timeout properly for active mode FTP under <a href="https://man.openbsd.org/faithd.8">faithd(8)</a>.
<li>Change ioctl(...SIOCFIGCONF...) to <a href="https://man.openbsd.org/getifaddrs.3">getifaddrs(3)</a> in lots of places.
<li>Add dynamic <a href="https://man.openbsd.org/select.2">select(2)</a> fd_set handling to <a href="https://man.openbsd.org/ypbind.8">ypbind(8)</a>.
<li>Convert <a href="https://man.openbsd.org/map-mbone.8">map-mbone(8)</a>, <a href="https://man.openbsd.org/mrinfo.8">mrinfo(8)</a>, <a href="https://man.openbsd.org/mtrace.8">mtrace(8)</a>, <a href="https://man.openbsd.org/pppctl.8">pppctl(8)</a>  and <a href="https://man.openbsd.org/timed.8">timed(8)</a> from <a href="https://man.openbsd.org/select.2">select(2)</a> to <a href="https://man.openbsd.org/poll.2">poll(2)</a>.
<li>Fix accidental fallthrough from SIOCSIFADDR to SIOCIFFLAGS for <a href="https://man.openbsd.org/tl.4">tl(4)</a>, <a href="https://man.openbsd.org/tx.4">tx(4)</a> and <a href="https://man.openbsd.org/wb.4">wb(4)</a>.
<li>As well as recommending <a href="https://man.openbsd.org/su.1">su(1)</a> instead root logins, clearly and distinctly suggest the user read <a href="https://man.openbsd.org/afterboot.8">afterboot(8)</a>. If that doesn't work, <a href="https://man.openbsd.org/banner.1">banner(1)</a> is available...
<li>Change /etc/mtree/4.4BSD.dist to reflect the move from /usr/include/ssl to /usr/include/openssl.
<li>New <a href="https://man.openbsd.org/mtd.4">mtd(4)</a> driver for Myson Technologies 3-in-1 Fast Ethernet boards. From NetBSD.
<!-- ^ 20030819 -->
<li>New NOFONTS define for XF4, stops fonts being built. Oh yes.
<li>Handle target lookup using the shell PATH nicely in <a href="https://man.openbsd.org/pmdb.1">pmdb(1)</a>.
<li>Do a <a href="https://man.openbsd.org/tzset.3">tzset(3)</a> in <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a> before doing the chroot.
<li>Don't treat PKG_PATH-built URL paths to <a href="https://man.openbsd.org/pkg_info.1">pkg_info(1)</a> as if they refer to local files.
<li>Make <a href="https://man.openbsd.org/pkg_info.1">pkg_info(1)</a>'s -a option look only at installed packages.
<li>Have <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> detect nonsensical max-mss &gt; 65535 in scrub rules.
<li>Don't loop back a copy of a broadcast or multicast packet to a simplex interface if <a href="https://man.openbsd.org/pf.4">pf(4)</a> routing is involved, preventing lockups.
<li>Enable the --initial-tab long option to <a href="https://man.openbsd.org/diff.1">diff(1)</a> by spelling it correctly.
<!-- ^ 20030817 -->
<li>Use only <a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a> to stir <a href="https://man.openbsd.org/arc4random.3">arc4random(3)</a> using kernel arc4random(). No more messing with /dev/arandom.
<!-- ^ 20030816 -->
<li>Add a bunch of emacs commands to <a href="https://man.openbsd.org/mg.1">mg(1)</a> dired mode.
<li>Unbreak <a href="https://man.openbsd.org/mg.1">mg(1)</a> dired mode directory listings.
<li>In the kernel, change arguments to suser(), and add new suser_ucred() for instances where caller doesn't have a process.
<li>New -S option to <a href="https://man.openbsd.org/pkg_create.1">pkg_create(1)</a>, like -s only better.
<!-- ^ 20030815-->
<li>Zero out unused directory entry fields on FAT12 and FAT16 filesystems, to avoid breakage on Win2k and WinXP (PR#3400).
<li>Add a bunch more syscall stubs and implement exit_group() under Linux emulation. Needed for newer glibc binaries.
<li>Fix wrongness, memory leakage and a panic on directory reads in other-OS emulation mode on some filesystems.
<li>Have <a href="https://man.openbsd.org/ssh-keygen.1">ssh-keygen(1)</a> exit nicely after screening candidate primes (-T option).
<li>Much cleanup in the new <a href="https://man.openbsd.org/safe.4">safe(4)</a> driver.
<li>Add the POSIX-mandated struct itimerspec to sys/time.h .
<!-- ^ 20030814 -->
<li>Install the <a href="https://man.openbsd.org/sendmail.8">sendmail(8)</a> TUNING guide.
<li>Better memory-use optimization for <a href="https://man.openbsd.org/diff.1">diff(1)</a>.
<li>Remove the very deprecated RhostsAuthentication feature from <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
<li>Use <a href="https://man.openbsd.org/tcsendbreak.3">tcsendbreak(3)</a> in <a href="https://man.openbsd.org/sshd.8">sshd(8)</a> instead of ioctl(...TIOCSBRK...), for portability.
<!-- ^ 20030813 -->
<li>Convert <a href="https://man.openbsd.org/rshd.8">rshd(8)</a> to use <a href="https://man.openbsd.org/poll.2">poll(2)</a> instead of <a href="https://man.openbsd.org/select.2">select(2)</a>.
<li>Don't blindly pass FD_SETSIZE as the first argument to <a href="https://man.openbsd.org/select.2">select(2)</a>, that's bad mmmkay?
<li>New driver, <a href="https://man.openbsd.org/safe.4">safe(4)</a>, for the SafeNet crypto accelerator. From FreeBSD.
<li>Remove a bunch of AFS stuff that isn't used by OpenBSD.
<li>Merge in xfs from the ARLA-current as of 20030805.
<li>Stop <a href="https://man.openbsd.org/pkg_create.1">pkg_create(1)</a> erasing the last checksum from CONTENTS.
<!-- ^ 20030812 -->
<li>Kill a panic when creating a block device on a full filesystem (NetBSD <a href="http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=22419">PR#22419</a>).<br>
    <a href="stable.html">[Applied to stable]</a>
<li><a href="https://man.openbsd.org/ftp.1">ftp(1)</a>, <a href="https://man.openbsd.org/rsh.1">rsh(1)</a> and <a href="https://man.openbsd.org/talk.1">talk(1)</a> now use <a href="https://man.openbsd.org/poll.2">poll(2)</a> instead of <a href="https://man.openbsd.org/select.2">select(2)</a>.
<li>Unbreak <a href="https://man.openbsd.org/pf.4">pf(4)</a> DIOCCHANGEADDR.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Some nice robustness-in-the-face-of-spam tweaks to the example <a href="https://man.openbsd.org/sendmail.8">sendmail(8)</a> config in cf/courtesan.mc.
<li>Do dynamic <a href="https://man.openbsd.org/select.2">select(2)</a> fd_set allocation in <a href="https://man.openbsd.org/nfsd.8">nfsd(8)</a>.
<li>Handle <a href="https://man.openbsd.org/realloc.3">realloc(3)</a> failure nicely in the libedit tokenizer.
<li>3.3-current -&gt; 3.4-beta.
<li>Implement CLOCK_MONOTONIC for <a href="https://man.openbsd.org/clock_gettime.2">clock_gettime(2)</a>. From NetBSD.
<li>Don't attach a <a href="https://man.openbsd.org/le.4">le(4)</a> device if the interrupt for it can't be established.
<!-- ^ 20030811 -->
<li>Stop <a href="https://man.openbsd.org/patch.1">patch(1)</a> adding an extraneous newline at the end of its output.
<li>Have <a href="https://man.openbsd.org/patch.1">patch(1)</a> warn if a context or unified diff comes without a context, since this makes detection of a previously applied patch impossible.
<li>Remove uvm_useracc() from <a href="https://man.openbsd.org/uvm.9">uvm(9)</a>.
<!-- ^ 20030810 -->
<li>Fix an off-by-one in <a href="https://man.openbsd.org/vacation.1">vacation(1)</a>.
<li>Allow tables to be used in <a href="https://man.openbsd.org/pf.4">pf(4)</a> translation and routing rules.
<!-- ^ 20030809 -->
<li>In <a href="https://man.openbsd.org/diff.1">diff(1)</a>, do the initial memory allocation using a guesstimate based on the file size.
<li>Fix a bunch of potential null derefs in <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>.
<li>Stop <a href="https://man.openbsd.org/patch.1">patch(1)</a> scanning the input file twice.
<li>Disable a <a href="https://man.openbsd.org/gcc.1">gcc(1)</a> optimization, enabled by -fexpensive-optimizations and hence by -O2, on platforms where it was generating incorrect code.
<!-- ^ 20030808 -->
<li>Fix some memory leaks in <a href="https://man.openbsd.org/ed.1">ed(1)</a>.
<li>Allow 192- and 256-bit AES in <a href="https://man.openbsd.org/crypto.4">crypto(4)</a>.
<li>Use <a href="https://man.openbsd.org/setusercontext.3">setusercontext(3)</a> instead of roll-your-own in <a href="https://man.openbsd.org/httpd.8">httpd(8)</a>, so that <a href="https://man.openbsd.org/login.conf.5">login.conf(5)</a> values apply.
<li>Make <a href="https://man.openbsd.org/pf.4">pf(4)</a> matching code handle 32-bit uid and gid values properly.
<li>Make the <a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a> toggle net.inet6.ip6.redirect work as expected.
<li>Fix a potential use-after-free in icmp6 redirect code.
<!-- ^ 20030807 -->
<li>Fix the abnormal exit code in <a href="https://man.openbsd.org/ohci.4">ohci(4)</a>.
<li>Plug memory leaks in <a href="https://man.openbsd.org/modload.8">modload(8)</a>, <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a> and <a href="https://man.openbsd.org/usb.4">usb(4)</a>.
<li>Add -h option to <a href="https://man.openbsd.org/ls.1">ls(1)</a> for human-readable sizes.
<li>The <a href="https://man.openbsd.org/gcc.1">gcc(1)</a> -Wbounded checker can't handle variable-length arrays yet, so don't try.
<li>Stop <a href="https://man.openbsd.org/gdb.1">gdb(1)</a> crashing on 'set enum' without an argument.
<!-- ^ 20030806 -->
<li>Now the information is actually copied into place, make <a href="https://man.openbsd.org/mount.8">mount(8)</a> show procfs info.
<li>Have procfs copy its mount options into statfs.mount_info.
<li>Add a debugging lever that forces <a href="https://man.openbsd.org/patch.1">patch(1)</a> to use plan B.
<li>In <a href="https://man.openbsd.org/patch.1">patch(1)</a> plan A, use <a href="https://man.openbsd.org/mmap.2">mmap(2)</a> instead of <a href="https://man.openbsd.org/read.2">read(2)</a>/<a href="https://man.openbsd.org/malloc.3">malloc(3)</a>.
<li>strlcpy() -&gt; strncpy() in <a href="https://man.openbsd.org/bos.8">bos(8)</a>, un-busting the AFS wire protocol.
<li>Merge in ARLA -current, set version to 'arla-20030805'.
<!-- ^ 20030805 -->
<li><a href="https://man.openbsd.org/systrace.1">systrace(1)</a> updates from NetBSD and monkey.org.
<li>Add a missing close() in libsa's exec().
<li>Use <a href="https://man.openbsd.org/strlcpy.3">strlcpy(3)</a> to guarantee null termination of the coredump process name.
<!-- ^ 20030804 -->
<li>Implement the WCONTINUED flag in <a href="https://man.openbsd.org/wait.2">wait*(2)</a>, as per POSIX. Adapted from FreeBSD.
<li>Fix Linux truncate64() emulation as well.
<li>Remove GNU gzip from the tree.
<!-- ^ 20030803 -->
<li>New, BSD-licensed <a href="https://man.openbsd.org/znew.1">znew(1)</a> script.
<li>Properly check the result of attempts to read from and write to processes in <a href="https://man.openbsd.org/pmdb.1">pmdb(1)</a>.
<li>Stop <a href="https://man.openbsd.org/ksh.1">ksh(1)</a>'s Emacs mode yank-pop command dumping core when run twice (PR#3384).
<li>Correct emulation of Linux ftruncate64().
<!-- ^ 20030802 -->
<li><strong>SECURITY FIX: An off-by-one error exists in the C library function <a href="https://man.openbsd.org/realpath.3">realpath(3)</a>.</strong> Since this same bug resulted in a root compromise in the wu-ftpd ftp server it is possible that this bug may allow an attacker to gain escalated privileges on OpenBSD.<br>
    <a href="errata33.html#realpath">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Back out the pthread itimer change (except when profiling) for compatibility reasons.
<li>Add __bounded__ attribute definitions (see <a href="https://man.openbsd.org/gcc-local.1">gcc-local(1)</a>) for many library functions.
<li>Don't print a pointless read-only warning message when running <a href="https://man.openbsd.org/vi.1">vi(1)</a> in read-only mode.
<li>New -q flag for <a href="https://man.openbsd.org/pkg_delete.1">pkg_delete(1)</a> that doesn't do a checksum before removing package files.
<li>Support for Marvell-based devices in <a href="https://man.openbsd.org/sk.4">sk(4)</a>.
<!-- ^ 20030801 -->
<li>Make <a href="https://man.openbsd.org/pf.4">pf(4)</a> table tickets per-ruleset instead of global.
<li>Remove undocumented '-p' == '-p0' behaviour from <a href="https://man.openbsd.org/patch.1">patch(1)</a>, like GNU patch and in accordance with POSIX.
<li>Repair <a href="https://man.openbsd.org/patch.1">patch(1)</a>'s relative path handling by not nuking a parameter needed later in the function.
<li>Change the hash function used in the internals of <a href="https://man.openbsd.org/diff.1">diff(1)</a> so it generates fewer collisions.
<li>Privilege separation for <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>. Note new HUP behaviour.
<li>Have <a href="https://man.openbsd.org/patch.1">patch(1)</a> complain about non-existent lines at most once per patch.
<li>Make sure <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> doesn't attempt to display no-longer-existent queues.
<li>In <a href="https://man.openbsd.org/sshd.8">sshd(8)</a>, check that password authentication is enabled before trying to authenticate users using the 'none' method (i.e. a blank password).
<li>Add a new, BSD-licensed <a href="https://man.openbsd.org/gzexe.1">gzexe(1)</a>.
<li>Fix <a href="https://man.openbsd.org/diff.1">diff(1)</a> exit codes when comparing against stdin.
<!-- ^ 20030731 -->
<li>Remove GNU diff from the tree.
<li>Add basic support for ftp:// package paths via the PKG_PATH environment variable.
<li>Make <a href="https://man.openbsd.org/patch.1">patch(1)</a> prompting more POSIX, and add the POSIX -i option.
<li>Make <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a> die (instead of just complaining) when addition or deletion of an interface address fails.
<!-- ^ 20030730 -->
<li>Use a sockaddr_storage instead of a sockaddr to avoid a stack smash in <a href="https://man.openbsd.org/bpf.4">bpf(4)</a>.
<li>Remove a stray backslash and unbreak 'make release' for XF4.
<li>Save the interface associated with a <a href="https://man.openbsd.org/pf.4">pf(4)</a> state table entry when the entry is first created, not when another packet matches the entry.
<li>When running <a href="https://man.openbsd.org/fsck.8">fsck(8)</a> as root, bump the data size resource limit up to unlimited (instead of up to the hard limit) to avoid problems with large filesystems.
<li>Better TMPDIR environment variable handling in <a href="https://man.openbsd.org/patch.1">patch(1)</a>.
<li>Improved test for output on stdout in <a href="https://man.openbsd.org/compress.1">compress(1)</a>.
<li>New <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> progress meter implementation, with better licensing.
<li>Add 'pass on lo' to the temporary boottime <a href="https://man.openbsd.org/pf.conf.5">pf.conf(5)</a> (PR#3376).
<li>Fix <a href="https://man.openbsd.org/ftp-proxy.8">ftp-proxy(8)</a>'s handling of multiline server responses (PR#3378).
<li>Add a new, BSD-licensed <a href="https://man.openbsd.org/zforce.1">zforce(1)</a> script.
<li>Make <a href="https://man.openbsd.org/compress.1">compress(1)</a> do the right thing when confronted with (e.g). 'gzip -lN &lt; foo.gz'.
<li>Another missing netinet byte-order fixup, this time in fragment reassembly code.
<li>Fix a printf(%s) off-by-one in <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>.
<li>Improvements to <a href="https://man.openbsd.org/pf.4">pf(4)</a> skip-step calculation.
<li>More propolice fixes.
<!-- ^ 20030729 -->
<li>Add <a href="https://man.openbsd.org/growfs.8">growfs(8)</a> from FreeBSD.
<li>Remove unlicensed MATH_EMULATE code (written by some guy named Torvalds) from the kernel, leaving only the GNU emulation code for the moment.
<li>Don't treat consecutive slashes as path components in <a href="https://man.openbsd.org/patch.1">patch(1)</a>, for POSIX reasons.
<li>Make <a href="https://man.openbsd.org/patch.1">patch(1)</a>'s exit value consistent with POSIX and with <a href="https://man.openbsd.org/diff.1">diff(1)</a>.
<li>Add <a href="https://man.openbsd.org/mbuf.9">mbuf(9)</a> markup (M_TUNNEL) for tunnel-mode IPsec connections so that <a href="https://man.openbsd.org/gif.4">gif(4)</a> over IPsec can be detected and unencapsulated consistently (PR#3023).
<li><a href="https://man.openbsd.org/ssh-keygen.1">ssh-keygen(1)</a> can now generate the Diffie-Hellman groups as needed by <a href="https://man.openbsd.org/moduli.5">moduli(5)</a>.
<!-- ^ 20030728 -->
<li>If <a href="https://man.openbsd.org/compress.1">compress(1)</a> detects that compressed output would be larger than the input, fail so that the .gz file gets removed.
<li>Fix a missing initialisation and cure a hang that could occur when <a href="https://man.openbsd.org/diff.1">diff(1)</a>ing a directory.
<li>Try to bound memory and CPU usage of <a href="https://man.openbsd.org/diff.1">diff(1)</a>, old (unbounded) behaviour available with -d.
<!-- ^ 20030727 -->
<li>Install <a href="https://man.openbsd.org/ed.1">ed(1)</a> tutorial papers.
<li>Stop <a href="https://man.openbsd.org/mtree.8">mtree(8)</a>'s -s option enabling -t by mistake.
<!-- ^ 20030726 -->
<li>More tweaks to <a href="https://man.openbsd.org/compress.1">compress(1)</a>.
<li>Fix an x86 DoS (<a href="http://www.securityfocus.com/archive/1/330399/2003-07-21/2003-07-27/0">reported</a> by Michal Zalewski) by zeroing the SYSENTER registers at kernel boot time.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Remove some in-place IP header byte order changes in <a href="https://man.openbsd.org/bridge.4">bridge(4)</a>, missed out before.
<li>Print the right error line number in <a href="https://man.openbsd.org/newsyslog.8">newsyslog(8)</a>.
<li>Change references to the now non-existent <a href="https://man.openbsd.org/kerberos.1">kerberos(1)</a> manpage to point at 'info heimdal.'
<li>Add sha2 support to <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>.
<li>A few *printf cleanups in sys/net/.
<li>New __kprintf__ format attribute for <a href="https://man.openbsd.org/gcc.1">gcc(1)</a> that groks kernel *<a href="https://man.openbsd.org/printf.9">printf(9)</a> format arguments. See <a href="https://man.openbsd.org/gcc-local.1">gcc-local(1)</a> for details.
<li>Change <a href="https://man.openbsd.org/patch.1">patch(1)</a>'s -b option to be POSIX ('save a backup') and give the old functionality (specify backup filename suffix) to the -z option like GNU patch. For now, -b is on by default.
<!-- ^ 20030725 -->
<li>Fix IP packet length setting for IPsec tunnels, lost in recent byte order changes.
<li>Add sha2 support for IPsec.
<li>Add _syslogd user for, um, <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>, soon to get the privsep treatment.
<li>Allow the kernel to build with inet enabled but ether disabled (PR#3356).
<li>New APIWARN libc/Makefile define, disabled by default, which makes the linker complain whenever unsafe string functions are used.
<!-- ^ 20030724 -->
<li>Move nasty SCSI utility code out of libutil and into <a href="https://man.openbsd.org/scsi.8">scsi(8)</a>, the only place it's used.
<li>When detaching an interface, remove from software interrupt queues any packets pointing to that interface.
<li>Enable DMA on all but really old Promise <a href="https://man.openbsd.org/pciide.4">pciide(4)</a> controllers.
<li>Add some fixups for LBA48 support on old Promise <a href="https://man.openbsd.org/pciide.4">pciide(4)</a> controllers. From NetBSD, fixes from FreeBSD.
<li>In Linux emulation mode, don't pass (as yet) unimplemented vfat ioctls through.
<li>Remove unused scanner stuff in src/usr.sbin/ssio.
<li>Implement the sysinfo() system call under Linux emulation.
<li>Remove AFS code from <a href="https://man.openbsd.org/sshd.8">sshd(8)</a>.
<li>Redo the 'invalid line number' fix for <a href="https://man.openbsd.org/patch.1">patch(1)</a>.
<li>Update <a href="https://man.openbsd.org/CGI.3p">CGI(3p)</a> to version 2.98 to fix a cross-site scripting bug.<br>
    <a href="stable.html">[Applied to stable]</a>
<!-- ^ 20030723 -->
<li>Use libc <a href="https://man.openbsd.org/getopt_long.3">getopt_long(3)</a> in <a href="https://man.openbsd.org/patch.1">patch(1)</a> instead of a local version.
<li>POSIX tweaks to <a href="https://man.openbsd.org/patch.1">patch(1)</a>.
<li>Switch over to the new <a href="https://man.openbsd.org/diff.1">diff(1)</a> and <a href="https://man.openbsd.org/diff3.1">diff3(1)</a> code, disabling GNU diff. sdiff is no more.
<li>Remove obsolete KerberosIV and AFS code from <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> and re-enable the -k option.
<li>Implement <a href="https://man.openbsd.org/diff.1">diff(1)</a> options -L and -T for GNU diff compatibility.
<!-- ^ 20030722 -->
<li><a href="https://man.openbsd.org/getaddrinfo.3">getaddrinfo(3)</a> and <a href="https://man.openbsd.org/getaddrinfo.3">getaddrinfo(3)</a> now share a mutex.
<li>Check for invalid flags to <a href="https://man.openbsd.org/mmap.2">mmap(2)</a> and <a href="https://man.openbsd.org/mprotect.2">mprotect(2)</a> and bomb out on errors.
<li>A number of compatibility and POSIX compliance tweaks to <a href="https://man.openbsd.org/diff.1">diff(1)</a>'s output.
<li>Back out the <a href="https://man.openbsd.org/patch.1">patch(1)</a> line number fix, it coredumped sometimes.
<li>Add <a href="https://man.openbsd.org/llabs.3">llabs(3)</a> function for C99 compliance.
<li>Add <a href="https://man.openbsd.org/ftw.3">ftw(3)</a> and <a href="https://man.openbsd.org/nftw.3">nftw(3)</a> functions, implemented using <a href="https://man.openbsd.org/fts.3">fts(3)</a>, for XPG compliance.
<li>Dynamically grow <a href="https://man.openbsd.org/diff.1">diff(1)</a>'s array of changes as required.
<li>Fix a redraw bug in <a href="https://man.openbsd.org/vi.1">vi(1)</a> that could cause endless recursion.
<li>Compile <a href="https://man.openbsd.org/modload.8">modload(8)</a> with the -Z option to <a href="https://man.openbsd.org/ld.1">ld(1)</a> (disabling W^X).
<li>Fix a typo in <a href="https://man.openbsd.org/md5.1">md5(1)</a> that created an array of ints instead of chars.
<!-- ^ 20030721 -->
<li>Allow <a href="https://man.openbsd.org/uhid.4">uhid(4)</a> devices to be used as 'mice' for the X server.
<li>In <a href="https://man.openbsd.org/wd.4">wd(4)</a> only use LBA48 when absolutely necessary, to cut down on register-writing overhead.
<li>Have <a href="https://man.openbsd.org/ac.8">ac(8)</a> ignore entries that go back in time.
<li>Fix a bug causing a segfault in <a href="https://man.openbsd.org/grep.1">grep(1)</a> (PR#3358).
<!-- ^ 20030720 -->
<li>With MALLOC_EXTRA_SANITY defined, have <a href="https://man.openbsd.org/malloc.3">malloc(3)</a> just warn instead of dying on <a href="https://man.openbsd.org/mmap.2">mmap(2)</a>/<a href="https://man.openbsd.org/brk.2">brk(2)</a> errors.
<li>Updates to <a href="https://man.openbsd.org/systrace.1">systrace(1)</a>: Bug fixes and new 'ask' action.
<li>Fix sftp filename parsing for arguments with escaped quotes (OpenSSH bug <a href="http://bugzilla.mindrot.org/show_bug.cgi?id=517">#517</a>).
<!-- ^ 20030719 -->
<li>Don't flip <a href="https://man.openbsd.org/compress.1">compress(1)</a> into 'zcat' mode if the -o option is given.
<li>Check that the mountpoint of the descriptor passed to <a href="https://man.openbsd.org/fstatfs.2">fstatfs(2)</a> is non-NULL.
<li>Un-swap <a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a>'s display of (requested, available) library revisions when the available library is less than that requested.
<!-- ^ 20030718 -->
<li>GNU diff compatibility and many other fixes and cleanups to <a href="https://man.openbsd.org/diff.1">diff(1)</a>.
<li>Fix <a href="https://man.openbsd.org/pf.4">pf(4)</a> scrub rule fragment reassembly after the netinet byte order changes.
<li>Add ESP decryption support to <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> (-E option).
<!-- ^ 20030717 -->
<li>Make <a href="https://man.openbsd.org/diff.1">diff(1)</a>'s no-newline-at-end-of-file handling consistent with GNU diff, now that <a href="https://man.openbsd.org/patch.1">patch(1)</a> is expecting this.
<li>Fix a sizeof(wrongthing) bug in <a href="https://man.openbsd.org/grep.1">grep(1)</a>.
<li>Teach <a href="https://man.openbsd.org/patch.1">patch(1)</a> how to deal with "\ No newline at end of file" as produced by GNU diff (and soon OpenBSD <a href="https://man.openbsd.org/diff.1">diff(1)</a> as well). From NetBSD.
<li>In <a href="https://man.openbsd.org/newfs.8">newfs(8)</a>, remove the ffs default limit of 16 cylinders per group, and simply set to match other parameters. Change the default frag size to 2048, which bumps the block size to 16k. (From FreeBSD newfs.c late 2001.)
<li>React rationally to bogus line numbers in input to <a href="https://man.openbsd.org/patch.1">patch(1)</a>.
<li>Don't store Kerberos credentials in the privileged <a href="https://man.openbsd.org/sshd.8">sshd(8)</a> process.
<li>Clear IUCLC flag (uppercase-to-lowercase translation) when setting raw tty mode in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
<li>Allow as many -d (<a href="https://man.openbsd.org/sshd.8">sshd(8)</a>) or -v (<a href="https://man.openbsd.org/ssh.1">ssh(1)</a>) options as the user cares to give. Max debug/verbose level is still 3.
<li>Have <a href="https://man.openbsd.org/mkdep.1">mkdep(1)</a> correctly handle '-o &lt;file&gt;' on the compiler command line.
<!-- ^ 20030716 -->
<li>In <a href="https://man.openbsd.org/xargs.1">xargs(1)</a>, don't call <a href="https://man.openbsd.org/err.3">err(3)</a> (which uses <a href="https://man.openbsd.org/exit.3">exit(3)</a>) after doing <a href="https://man.openbsd.org/vfork.2">vfork(2)</a>.
<li>Fix line ranges for unified <a href="https://man.openbsd.org/diff.1">diff(1)</a> output.
<li>Unbreak <a href="https://man.openbsd.org/pflog.4">pflog(4)</a> after the recent netinet byte ordering changes.
<li>Stop <a href="https://man.openbsd.org/compress.1">compress(1)</a> from re-compressing a file with a suffix indicating it's already compressed. <!-- Synonym failure -->
<li>Fix memory management in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>'s table parsing code.
<!-- ^ 20030715 -->
<li>Range-check numeric arguments to <a href="https://man.openbsd.org/grep.1">grep(1)</a> against INT_MAX.
<li>Un-swap the sec and usec uptime stats in <a href="https://man.openbsd.org/an.4">an(4)</a>.
<li>Fix file suffix handling code in <a href="https://man.openbsd.org/compress.1">compress(1)</a>.
<li>Allow <a href="https://man.openbsd.org/compress.1">compress(1)</a> to accept -t and an implied -c when we're taking piped input (normally -t and -c are mutually exclusive).
<li>Enable build of KerberosV libraries under lib/.
<li>More manpage cleanup.
<li>Remove undocumented <a href="https://man.openbsd.org/sshd.8">sshd(8)</a> option '-V'.
<li>Remove <a href="https://man.openbsd.org/error.1">error(1)</a>.
<!-- ^ 20030714 -->
<li>Fix a couple of cases where <a href="https://man.openbsd.org/malloc.3">malloc(3)</a> fails due to lack of memory, but doesn't set ENOMEM.
<li>Make fwohci (IEEE1394) cardbus code compile on big-endian systems.
<!-- ^ 20030713 -->
<li>Add <a href="https://man.openbsd.org/zdiff.1">zdiff(1)</a> script using our new improved <a href="https://man.openbsd.org/compress.1">compress(1)</a>.
<li>Remove a couple of unnecessary htons() calls in the <a href="https://man.openbsd.org/pf.4">pf(4)</a> routing code.
<!-- ^ 20030712 -->
<li>Parsing improvements and better debugging/regression test support for tables in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<li>Make <a href="https://man.openbsd.org/compress.1">compress(1)</a> magic number checking work when decompressing on a pipe.
<!-- ^ 20030711 -->
<li>Make sure an unlock message gets sent when handing NFS receive errors.
<li>Add a cast to 64 bits to prevent a <a href="https://man.openbsd.org/statfs.2">statfs(2)</a> overflow on large disks.
<li>Fix <a href="https://man.openbsd.org/grep.1">grep(1)</a>'s -v semantics (print if no match of any pattern).
<li>LBA48 support and compatibility tweaks for <a href="https://man.openbsd.org/atactl.8">atactl(8)</a>.
<li>Set the correct return code when <a href="https://man.openbsd.org/grep.1">grep(1)</a> dies due to an error.
<li>Fix parsing of -&lt;num&gt; (context) option to <a href="https://man.openbsd.org/grep.1">grep(1)</a>.
<li>Bring in a diff3 from 32V UNIX, and start hacking it into shape.
<li>Tweak the installer's ftp client operation so that sets are always fetched from the exact same place as the set list.
<li>Prevent excessive rekeying in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> for ciphers with block size &lt;= 128 bits by enforcing a fixed 1GB rekey limit for these ciphers.
<li>Set all ulimit values to 'unlimited' in the installer, unbreaking <a href="https://man.openbsd.org/fsck.8">fsck(8)</a> for large filesystems.
<li>Fix a couple of broken IPv6 packet length tests.
<li>Unbreak merging of host lists in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<li>Stop <a href="https://man.openbsd.org/spell.1">spell(1)</a> misinterpreting '+X' as option '-X'.
<li>Tidy up a bunch of missing include files all over the place.
<!-- ^ 20030710 -->
<li>Have the IPv6 normalizer detect short packets, since the 'exact length' match was just removed.
<li>When normalizing IPv6 packets, don't check against length fields that are only set after filter processing.
<li>In the netinet stack, don't cheat by NTOHS()'ing ip_len and ip_off (modifying the packet buffer directly). Instead, call ntohs() every time.
<li>Make <a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a> compatible with newer binutils.
<li>Stop <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a> dumping core when the package contains an invalid package name.
<li>Fix a double free in <a href="https://man.openbsd.org/ex.1">ex(1)</a>.
<li>Give <a href="https://man.openbsd.org/gem.4">gem(4)</a> a performance boost on sparc64 and macppc.
<li>Merge in libevent 0.7a.
<li>New 'remove manpage' option -u to <a href="https://man.openbsd.org/makewhatis.8">makewhatis(8)</a>.
<li>Fix a dangling pointer when deleting multicast router virtual interfaces (option MROUTING required).
<li>Fix some PHY problems in <a href="https://man.openbsd.org/sis.4">sis(4)</a>.
<li>Better temp file handling in <a href="https://man.openbsd.org/diff.1">diff(1)</a>.
<li><a href="https://man.openbsd.org/diff.1">diff(1)</a>'s -l (paginate) option works again.
<!-- ^ 20030709 -->
<li>Sync USB code with NetBSD, in preparation for USB 2.0 support.
<li>Don't kill other users' states when logging in to <a href="https://man.openbsd.org/authpf.8">authpf(8)</a>. When killing (the correct user's) states, make sure they're all zapped.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>When using IPsec, fix a panic by not trying to forward truncated IP-in-IP encap packets.
<li>Clear down multicast forwarding on IPv6 interface detach.
<li>Make <a href="https://man.openbsd.org/httpd.8">httpd(8)</a>'s (normally not compiled) DBM SSL cache code build again.
<li>Fix a double free in <a href="https://man.openbsd.org/diff.1">diff(1)</a>.
<li>Try to avoid using an unnecessary temp file when <a href="https://man.openbsd.org/diff.1">diff(1)</a>'ing against a regular file redirected to stdin.
<li>If <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a> is given (via -p) a UNIX socket name that's too long, fail instead of silently truncating the name.
<li>Make sure <a href="https://man.openbsd.org/compress.1">compress(1)</a> closes its open files properly.
<!-- ^ 20030708 -->
<li>Fare thee well, <a href="https://man.openbsd.org/rpc.pcnfsd.8">rpc.pcnfsd(8)</a>.
<li>Fix <a href="https://man.openbsd.org/security.8">security(8)</a>'s password expiry check.
<li>Pass the right length to <a href="https://man.openbsd.org/readlink.2">readlink(2)</a> in <a href="https://man.openbsd.org/rdist.1">rdistd(1)</a>.
<li>When given a unix domain socket name that's too long, <a href="https://man.openbsd.org/nc.1">nc(1)</a> gives a helpful error instead of silently truncating the name.
<li>Implement the cpuid() function for generic i386, not just for longrun.
<li>Print <a href="https://man.openbsd.org/dump.8">dump(8)</a> times correctly (PR#3296).
<!-- ^ 20030707 -->
<li><a href="https://man.openbsd.org/raidctl.8">raidctl(8)</a> dies noisily instead of silently truncating overlong command line options.
<li><a href="https://man.openbsd.org/mount_nfs.8">mount_nfs(8)</a> now gives a helpful message when the hostname is too long.
<li>Major updates to BSD diff, implementing many more 'standard' options and tidying up somewhat.
<li>Properly reset all fields of a deleted ext2fs inode, fixing a panic. From NetBSD.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Fix an off-by-one in kernel ext2fs filesystem code, the first ext2 inode is numbered one not zero.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Further strn*() -&gt; strl*() fixes.
<!-- ^ 20030706 -->
<li>Back out routing socket exact match fix after reports of problems.
<!-- ^ 20030705 -->
<li>Remove -h functionality from BSD diff, but allow the option for compatibility like GNU diff.
<li>Various cleanup in <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a> et al.
<li>Add 'pass' <a href="https://man.openbsd.org/pf.4">pf(4)</a> modifier for nat rules, allowing a translation rule to bypass the filter ruleset altogether.
<li>Remove a redundant (and wrong) copy in <a href="https://man.openbsd.org/pf.4">pf(4)</a> tcp test code.
<!-- ^ 20030704 -->
<li>Better umask setting detection in <a href="https://man.openbsd.org/security.8">security(8)</a>.
<li>Use <a href="https://man.openbsd.org/realpath.3">realpath(3)</a> instead of roll-your-own code in mount_*(8) helpers. Fixes PR#1662.
<li>String function cleanup in <a href="https://man.openbsd.org/getNAME.8">getNAME(8)</a>.
<li>Table code and exit handling cleanup in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<li>Fix config file parsing of the <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> AddressFamily option.
<li>Make <a href="https://man.openbsd.org/sendmail.8">sendmail(8)</a> use the system <a href="https://man.openbsd.org/setreuid.2">setreuid(2)</a> instead of its own.
<li>Add a 'real' mmap2() system call under Linux emulation, using the new MAP_TRYFIXED <a href="https://man.openbsd.org/mmap.2">mmap(2)</a> option so it works the way Linux does.
<!-- ^ 20030703 -->
<li>In <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> force the host key alias to lowercase before matching.
<li>Add SOCKSv5 support to <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> with the -D option, as well as SOCKSv4.
<li>Better <a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a> versioned library search algorithm.
<li>Bump <a href="https://man.openbsd.org/mktemp.3">mktemp(3)</a> randomness in lots of places from 6 to 10 'X's.
<!-- ^ 20030702 -->
<li>Allow <a href="https://man.openbsd.org/newsyslog.8">newsyslog(8)</a>'s -a option to archive across filesystems.
<li>Add MAP_TRYFIXED option to <a href="https://man.openbsd.org/mmap.2">mmap(2)</a> to turn off heap address avoidance, which helps when emulating other OSes.
<li>Remove the sys_omquery() compatibility system call.
<li>Better umask safety check in <a href="https://man.openbsd.org/security.8">security(8)</a>.
<li>Stability fixes to <a href="https://man.openbsd.org/siop.4">siop(4)</a>.
<li>Stop using <a href="https://man.openbsd.org/mmap.2">mmap(2)</a> in <a href="https://man.openbsd.org/tail.1">tail(1)</a>, fixes a variety of bugs and performance issues.
<li>Fix a bad bounds check in the grep-without-regex part of <a href="https://man.openbsd.org/grep.1">grep(1)</a>.
<!-- ^ 20030701 -->
<li>Under-the-hood improvements to speed up <a href="https://man.openbsd.org/m4.1">m4(1)</a>.
<li>Add some buffer management functions for <a href="https://man.openbsd.org/pf.4">pf(4)</a> tables.
<li><a href="https://man.openbsd.org/unifdef.1">unifdef(1)</a> fixes from FreeBSD.
<li>Reset <a href="https://man.openbsd.org/pf.4">pf(4)</a> interface statistics when the loginterface is changed (PR#3332).
<li>Properly purge <a href="https://man.openbsd.org/pf.4">pf(4)</a> tags when flushing <a href="https://man.openbsd.org/bridge.4">bridge(4)</a> filter rules.
<li>Don't generate an icmp6 redirect if <a href="https://man.openbsd.org/pf.4">pf(4)</a> rewrote the destination address.
<li>Improve <a href="https://man.openbsd.org/compress.1">compress(1)</a>'s gzip compatibility with silly configure scripts that expect 'gzip -h' to return success.
<!-- ^ 20030630 -->
<li>First pass at <a href="https://man.openbsd.org/pf.4">pf(4)</a> normalisation of IPv6 packets. No fragment reassembly yet.
<li>Improvements to the <a href="https://man.openbsd.org/lm.4">lm(4)</a> hardware sensor driver.
<li>Make <a href="https://man.openbsd.org/compress.1">compress(1)</a> respond more usefully to gzip CRC errors.
<li>Many manual page fixes and cleanups.
<!-- ^ 20030629 -->
<li>Fix some target probe problems in <a href="https://man.openbsd.org/siop.4">siop(4)</a>.
<li>Unbreak string printing in <a href="https://man.openbsd.org/locate.1">locate(1)</a>.
<li>Fix mdoc bug that put random blank lines into manpages. From NetBSD.
<li>Better type checking for <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> atomic I/O.
<li>Don't give <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> interfaces an IPv6 link-local address.
<li><a href="https://man.openbsd.org/sshd.8">sshd(8)</a> now logs pidfile creation errors.
<li>Allow <a href="https://man.openbsd.org/ddb.4">ddb(4)</a> to log output via syslog. Controlled via sysctl ddb.log.
<!-- ^ 20030628 -->
<li>Handle IPv6 neighbor discovery timers more quickly and with greater accuracy.
<li>Make the installer mount all possible swap before creating devices, in an attempt to stop MAKEDEV bombing through lack of memory.
<li>Make sure getanswer() (called by <a href="https://man.openbsd.org/gethostbyname.3">gethostbyname(3)</a> etc.) doesn't stray past the end of its reply packet.
<li>Remove a memory leak in <a href="https://man.openbsd.org/arp.8">arp(8)</a>.
<li>Fix string cleanup breakage in <a href="https://man.openbsd.org/siop.4">siop(4)</a>.
<li>Unbreak <a href="https://man.openbsd.org/compress.1">compress(1)</a> gzip code on big-endian architectures.
<li>Some more agressive string fixes in <a href="https://man.openbsd.org/named.8">named(8)</a>.
<li>Fix <a href="https://man.openbsd.org/compress.1">compress(1)</a>' -t option.
<li>Add kqueue support for <a href="https://man.openbsd.org/ugen.4">ugen(4)</a>, <a href="https://man.openbsd.org/uhid.4">uhid(4)</a>, <a href="https://man.openbsd.org/usb.4">usb(4)</a> and <a href="https://man.openbsd.org/uscanner.4">uscanner(4)</a>. From NetBSD.
<li>Fix <a href="https://man.openbsd.org/pf.4">pf(4)</a> tag lookup for DIOCCHANGERULE.
<li>Fix a subtle tag reference count bug in kernel <a href="https://man.openbsd.org/pf.4">pf(4)</a>.
<li>Add alaw &lt;-&gt; ulaw conversion to the kernel ( alaw_to_mulaw(), mulaw_to_alaw() )
<!-- ^ 20030627 -->
<li>Check that the argument to "-o ProxyCommand" exists on the <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> command line, instead of dumping core.
<!-- XXX held back <li>Mark up many common libc and other functions for the new <a href="https://man.openbsd.org/gcc.1">gcc(1)</a> bounds checker. -->
<li>Add a simple static bounds checker to <a href="https://man.openbsd.org/gcc.1">gcc(1)</a>. (See <a href="https://man.openbsd.org/gcc-local.1">gcc-local(1)</a>.)
<li>Switch <a href="https://man.openbsd.org/diff3.1">diff3(1)</a> and <a href="https://man.openbsd.org/sdiff.1">sdiff(1)</a> to use libc <a href="https://man.openbsd.org/getopt_long.3">getopt_long(3)</a>.
<li>Add USD Beginners Guide document, and some historical papers.
<li>Add USD docs for <a href="https://man.openbsd.org/awk.1">awk(1)</a>, <a href="https://man.openbsd.org/ed.1">ed(1)</a> and <a href="https://man.openbsd.org/sed.1">sed(1)</a>, and PSD docs for <a href="https://man.openbsd.org/m4.1">m4(1)</a>, <a href="https://man.openbsd.org/lint.1">lint(1)</a> (as xlint) and the ms macros.
<li>Fix temp file handling and an off-by-one in BSD diff.
<li>Fix <a href="https://man.openbsd.org/isp.4">isp(4)</a>'s PCI probe.
<li>Pad the <a href="https://man.openbsd.org/osiop.4">osiop(4)</a> script data scructure to 256 bytes to avoid cache problems.
<!-- ^ 20030626 -->
<li>Fix an endianness bug in <a href="https://man.openbsd.org/an.4">an(4)</a>.
<li>Add unified diff support to the BSD diff.
<li>Have asn1_compile use <a href="https://man.openbsd.org/arc4random.3">arc4random(3)</a>.
<li>Function prototype cleanup all over the tree.
<li>New extensible bufq mechanism for manipulating buf queues, only in <a href="https://man.openbsd.org/wd.4">wd(4)</a> for now.
<li>Add -C option support (number of lines of context) to the BSD diff.
<li>Fix some suspect type conversions in <a href="https://man.openbsd.org/grep.1">grep(1)</a>.
<li>Allow <a href="https://man.openbsd.org/bridge.4">bridge(4)</a> to tag packets for later use in <a href="https://man.openbsd.org/pf.4">pf(4)</a> rules. Oh yes.
<li>Fix backwards arguments when seeking within gzipped files in <a href="https://man.openbsd.org/grep.1">grep(1)</a>.
<li>Major cleanup (safe string functions, signal race avoidance) in the recently imported BSD diff.
<li>Fix division-by-zeros in <a href="https://man.openbsd.org/atapiscsi.4">atapiscsi(4)</a> that could occur when the system is unable to determine even the unit's blocksize.
<li>Add diff program from 4.3BSD Reno. Much work to be done.
<!-- ^ 20030625 -->
<li>Add i386 a.out emulation for dynamic binaries.
<li>Fix <a href="https://man.openbsd.org/grep.1">grep(1)</a>'s -w option.
<li>Make <a href="https://man.openbsd.org/grep.1">grep(1)</a>'s -E, -F and -G options override the program name, and mutually exclusive.
<li>Make fgrep functionality of <a href="https://man.openbsd.org/grep.1">grep(1)</a> work.
<li>Unbreak POSIX:: functions under Perl 5.8.0.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Make <a href="https://man.openbsd.org/pf.4">pf(4)</a>'s route-to option work for IPv6 link-local addresses.
<li>Reintroduce some routing socket code (lost in a previous update) that could cause less-specific routes to be updated by mistake.
<li>Lots of int -&gt; u_int in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
<li>IPv6 neighbour discovery updates from KAME.
<!-- ^ 20030624 -->
<li>Avoid using regexes completely for simple string searches in <a href="https://man.openbsd.org/grep.1">grep(1)</a>.
<li>Improve the <a href="https://man.openbsd.org/compress.1">compress(1)</a>-based <a href="https://man.openbsd.org/zmore.1">zmore(1)</a> script and install instead of the GNU gzip version.
<li>Teach <a href="https://man.openbsd.org/kdump.1">kdump(1)</a> about many more dev/, net*/ and crypto/ ioctls.
<li>Remove the unnecessary (and broken) printf builtin from <a href="https://man.openbsd.org/csh.1">csh(1)</a>.
<li>Don't use <a href="https://man.openbsd.org/getopt.3">getopt(3)</a> in <a href="https://man.openbsd.org/printf.1">printf(1)</a> since this causes formats beginning with a hyphen to be interpreted as flags.
<li>Add a simple <a href="https://man.openbsd.org/zmore.1">zmore(1)</a> script using <a href="https://man.openbsd.org/compress.1">compress(1)</a>.
<li>Add <a href="https://man.openbsd.org/pcmcia.4">pcmcia(4)</a> and <a href="https://man.openbsd.org/wi.4">wi(4)</a> support for sparc.
<li>Install a host route for a point-to-point interface even if a connected net route via a broadcast interface exists (NetBSD PR 21903).
<li>Check for nfds&lt;0 in <a href="https://man.openbsd.org/poll.2">poll(2)</a>. <!-- Uh-oh. -->
<li>Better temp file handling in XFree's <a href="https://man.openbsd.org/gccmakedep.1">gccmakedep(1)</a>.
<li>Temporarily work around a tables-related use-after-free in <a href="https://man.openbsd.org/pf.4">pf(4)</a>.
<li>Improve <a href="https://man.openbsd.org/grep.1">grep(1)</a>'s detection of binary files, and add/fix a number of compatibility options.
<li>Improvements to the installer's handling of network settings when upgrading.
<!-- ^ 20030623 -->
<li>Remove <a href="https://man.openbsd.org/ypserv.8">ypserv(8)</a> files without copyright information.
<li>Install freegrep as {e,f,z,ze,zf}grep as well as <a href="https://man.openbsd.org/grep.1">grep(1)</a>.
<li>Upgrade (non-GNU) <a href="https://man.openbsd.org/grep.1">grep(1)</a> to freegrep 0.16.
<li>Remove GNU grep and (most of) GNU gzip from the tree. BSD-licensed alternatives do the same jobs.
<li>Reenable the <a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a> library load order randomiser, with fixes.
<!-- ^ 20030622 -->
<li>Make user filename selection in the installer more robust.
<li><a href="https://man.openbsd.org/fflush.3">fflush(3)</a> stdout when doing continuous queue monitoring with <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<li>Add fine-grained counters for <a href="https://man.openbsd.org/pf.4">pf(4)</a> state entries, allowing for traffic reporting via <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a>.
<li>Add per-process exec/fork/exit hooks, use them the fix up <a href="https://man.openbsd.org/brk.2">brk(2)</a> under Linux emulation, and so fix Java.
<!-- ^ 20030621 -->
<li>Add MSS support to <a href="https://man.openbsd.org/pf.4">pf(4)</a>'s synproxy.
<li>Initialise properly before calling <a href="https://man.openbsd.org/getusershell.3">getusershell(3)</a> in <a href="https://man.openbsd.org/su.1">su(1)</a>.
<li>More helpful <a href="https://man.openbsd.org/pf.4">pf(4)</a> BAD ICMP debug message.
<li>Make <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> print some log messages when giving up on a response to the last message.
<!-- XXX frame pointer canonicalisation fix for propolice gnu/egcs/gcc/combine.c r1.3-1.4 -->
<!-- ^ 20030620 -->
<li>Use _PW_NAME_LEN instead of a hard-coded 8 char username limit in <a href="https://man.openbsd.org/top.1">top(1)</a>.
<li>Remove roll-your-own string functions from <a href="https://man.openbsd.org/top.1">top(1)</a>.
<li>Have <a href="https://man.openbsd.org/comsat.8">comsat(8)</a> use <a href="https://man.openbsd.org/fseeko.3">fseeko(3)</a> instead of fseek().
<li><a href="https://man.openbsd.org/rpcgen.1">rpcgen(1)</a> now generates much prettier ANSI C code.
<li>Back out the recent <a href="https://man.openbsd.org/xdm.1">xdm(1)</a> '-nolisten tcp' change.
<li>Plug some memory leaks in <a href="https://man.openbsd.org/popa3d.8">popa3d(8)</a> and <a href="https://man.openbsd.org/systrace.1">systrace(1)</a>.
<li>Strip the newline from user input when requesting a continuation filename in <a href="https://man.openbsd.org/restore.8">restore(8)</a> (PR#3324).
<!-- ^ 20030619 -->
<li>Fix a bug that condemned <a href="https://man.openbsd.org/fortune.6">fortune(6)</a> to be always inoffensive.
<li>Have <a href="https://man.openbsd.org/bpf.4">bpf(4)</a> return ENOBUFS on <a href="https://man.openbsd.org/malloc.9">malloc(9)</a> failure instead of causing a panic (PR#2235,PR#2236,PR#2640).
<li>Make <a href="https://man.openbsd.org/m4.1">m4(1)</a>'s handling of builtin and user macros more consistent, and allow pushdef to work for builtins.
<li><a href="https://man.openbsd.org/xdm.1">xdm(1)</a> now passes '-nolisten tcp' to <a href="https://man.openbsd.org/Xserver.1">Xserver(1)</a> by default for local display :0.
<li>Re-enable UDMA mode 5 for HPT370A <a href="https://man.openbsd.org/pciide.4">pciide(4)</a> devices, now that timing and interrupt problems are fixed.
<li>Fix a sizeof oops that broke <a href="https://man.openbsd.org/less.1">less(1)</a>'s -N option.
<li><a href="https://man.openbsd.org/hme.4">hme(4)</a> now advertises its VLAN capability.
<li>Properly display no-route addresses when expanding label macros in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<li>Back out the recent <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> smartcard key fix, it violates PKCS#1.
<li>When the expansion of the $srcaddr or $dstaddr label macro is a table, have <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> print the table name instead of garbage.
<li>Unbreak <a href="https://man.openbsd.org/vmstat.8">vmstat(8)</a> on diskless machines (PR#3322).
<li>Relax <a href="https://man.openbsd.org/rtadvd.conf.5">rtadvd.conf(5)</a> syntax, removing the need for the addrs option.
<!-- ^ 20030618 -->
<li>Use <a href="https://man.openbsd.org/getifaddrs.3">getifaddrs(3)</a> in <a href="https://man.openbsd.org/amd.8">amd(8)</a>, fixing the 'wire' location selector.
<li>Return the correct error message if the user tries to kill a non-existent process from <a href="https://man.openbsd.org/top.1">top(1)</a>.
<!-- ^ 20030617 -->
<li>Add a few missing dead-key composition entries (PR#3295, with an entry for cedilla as well as for double-quote).
<li>Avoid a null deref in cnkqfilter() (/dev/console <a href="https://man.openbsd.org/kqueue.2">kqueue(2)</a> crash, PR#3317).
<li>Fix a logic bug in <a href="https://man.openbsd.org/mtree.8">mtree(8)</a> that was making -U return an error just like -u.
<li>Make <a href="https://man.openbsd.org/ssh-add.1">ssh-add(1)</a> redisplay the key comment when prompting after a bad passphrase.
<li>Fix "bad decrypted len" errors in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> when using smartcard-stored public keys (OpenSSH bug <a href="http://bugzilla.mindrot.org/show_bug.cgi?id=592">592</a>).
<li>Updates for <a href="https://man.openbsd.org/systrace.1">systrace(1)</a>, support freeing of old policies and escaping of special characters.
<li>Better byte-swapping behaviour in <a href="https://man.openbsd.org/dc.4">dc(4)</a>, fixing mac address reads on big-endian architectures.
<li>Make <a href="https://man.openbsd.org/dhclient-script.8">dhclient-script(8)</a> fix up <a href="https://man.openbsd.org/resolv.conf.5">resolv.conf(5)</a>'s permissions.
<!-- ^ 20030616 -->
<li>Stop <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> losing ID information when rekeying.
<!-- ^ 20030615 -->
<li>Add new '-c class' option to <a href="https://man.openbsd.org/encrypt.1">encrypt(1)</a>, which will use the login class to select the password cipher.
<li>Fix <a href="https://man.openbsd.org/kqueue.2">kqueue(2)</a> on ptys (PR#3209).
<li>In <a href="https://man.openbsd.org/user.8">user(8)</a>, only check login class validity when the login class is set.
<li>Fix some sizeof oopses in <a href="https://man.openbsd.org/top.1">top(1)</a>.
<li>Allocate cleared memory for <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> payload buffers.
<li>Fix <a href="https://man.openbsd.org/pf.4">pf(4)</a> TCP state checks when using a combination of asymmetric window scaling and SACK.<br>
    <a href="stable.html">[Applied to stable]</a>
<!-- ^ 20030614 -->
<li>Add __LP64__ and _LP64 <a href="https://man.openbsd.org/cpp.1">cpp(1)</a> predefined macros for alpha and sparc.
<li>Sync <a href="https://man.openbsd.org/em.4">em(4)</a> with FreeBSD updates and enable on sparc64.
<li>Add -0 (zero) flag to <a href="https://man.openbsd.org/pax.1">pax(1)</a> allowing the filename separator to be a NUL instead of a newline (PR#3310).
<li>In <a href="https://man.openbsd.org/xargs.1">xargs(1)</a>, don't close the descriptor we just created with <a href="https://man.openbsd.org/dup2.2">dup2(2)</a>.
<li><a href="https://man.openbsd.org/security.8">security(8)</a> allows dots in usernames consistent with <a href="https://man.openbsd.org/user.8">user(8)</a> changes.
<li><a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>'s show anchor command now respects the 'quiet' flag.
<li>Make <a href="https://man.openbsd.org/dhclient-script.8">dhclient-script(8)</a> respect symlinks.
<li>Remove obsolete Rijndael code from libcrypto.
<li>Support more Intel Fast Ethernet and Gigabit Ethernet cards.
<li>Use real varargs in <a href="https://man.openbsd.org/top.1">top(1)</a> instead of hacking it.
<!-- ^ 20030613 -->
<li><a href="https://man.openbsd.org/ssh.1">ssh(1)</a> and <a href="https://man.openbsd.org/ssh-agent.1">ssh-agent(1)</a> now use the key label from a PKCS#12 cert if one is available, instead of just showing 'smartcard key.'
<li>Stop <a href="https://man.openbsd.org/security.8">security(8)</a> complaining about usernames ending in '$'.
<li>Speed up <a href="https://man.openbsd.org/m4.1">m4(1)</a> traced macros, helps with recent GNU autoconf.
<li>Make queues work on <a href="https://man.openbsd.org/tun.4">tun(4)</a> interfaces. Not recommended (should assign to tun, then queue on physical interface) but sometimes necessary, e.g. for <a href="https://man.openbsd.org/pppoe.8">pppoe(8)</a>.
<li>In <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> don't apply a netmask to an interface name.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Allow the kernel to compile with NFS but without FIFO.
<li>POSIXify <a href="https://man.openbsd.org/xargs.1">xargs(1)</a>, mostly from FreeBSD.
<!-- ^ 20030612 -->
<li>Much ansification and de-registering.
<li>Add NAT-T dump support to <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a>.
<li>Make <a href="https://man.openbsd.org/ssh-agent.1">ssh-agent(1)</a> lifetime and confirmation features work with smartcard keys.
<li>Build <a href="https://man.openbsd.org/bs.6">bs(6)</a> and <a href="https://man.openbsd.org/hunt.6">hunt(6)</a> again now that they have good licenses.
<li>Add option MFS to the kernel on several architectures, to fix upgrade breakage.
<li>Some RFC3542 Advanced Sockets API for IPv6 updates.
<li>Add an ARM target for <a href="https://man.openbsd.org/gcc.1">gcc(1)</a>.
<!-- ^ 20030611 -->
<li>De-uglify <a href="https://man.openbsd.org/dhclient-script.8">dhclient-script(8)</a>, and (mostly) fix <a href="https://man.openbsd.org/resolv.conf.5">resolv.conf(5)</a> update problems.
<li>Allow zero intervals in <a href="https://man.openbsd.org/newsyslog.8">newsyslog(8)</a> config files.
<li>Fix a missing initialisation in pf_test() and avoid random state table additions.
<li>Add login class support (-class option) to <a href="https://man.openbsd.org/adduser.8">adduser(8)</a>.
<li><a href="https://man.openbsd.org/rmail.8">rmail(8)</a> now tells sendmail to deliver in the foreground.
<li>Make <a href="https://man.openbsd.org/rmail.8">rmail(8)</a> pass the -G flag to <a href="https://man.openbsd.org/sendmail.8">sendmail(8)</a> as expected.
<li>Install <a href="https://man.openbsd.org/rcs2log.1">rcs2log(1)</a> properly (PR#3298).
<li>In <a href="https://man.openbsd.org/user.8">user(8)</a> check that a login class exists before using it (PR#2699).
<li><a href="https://man.openbsd.org/user.8">user(8)</a> changes from NetBSD:<br>
	<ul>
	  <li><a href="https://man.openbsd.org/useradd.8">useradd(8)</a> and <a href="https://man.openbsd.org/usermod.8">usermod(8)</a> now check that the encrypted password length is correct.
	  <li>Log user and group modifications via syslog.
	  <li>Pickier command line option checks.
	  <li>When deleting a user including the profile, remove all references to that user from /etc/group.
	  <li>Checks that a group is in the local files (not from YP) before attempting to modify it.
	</ul>
<li>Don't allow /dev/crypto to be opened at all if the kernel is compiled without the CRYPTO option.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Make <a href="https://man.openbsd.org/mount.2">mount(2)</a> return EROFS instead of EPERM when trying to mount a dirty filesystem.
<li>Make <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> more robust when faced with unknown ID types.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Change the timer pthread uses, allowing threaded apps to be profiled.
<!-- ^ 20030610 -->
<li>Allow <a href="https://man.openbsd.org/newsyslog.8">newsyslog(8)</a> to detect negative numbers in pid files.
<li>Stop <a href="https://man.openbsd.org/sudo.8">sudo(8)</a> busy-waiting when waiting for <a href="https://man.openbsd.org/sendmail.8">sendmail(8)</a> to do its work.
<li>Better CDDB input checking for <a href="https://man.openbsd.org/cdio.1">cdio(1)</a>.
<li>Make the byte order more uniform in the <a href="https://man.openbsd.org/pf.4">pf(4)</a> nat code.
<li>Back out tcp_trace IPv6 changes and fix PR#3283.
<li>Stability fixes for <a href="https://man.openbsd.org/siop.4">siop(4)</a> when under heavy load.<br>
    <a href="stable.html">[Applied to stable]</a> <!-- XXX 3.3-stable -->
<!-- ^ 20030609 -->
<li>Allow <a href="https://man.openbsd.org/user.8">user(8)</a>'s -e and -f to accept both month-day-year and seconds-since-epoch times. From NetBSD.
<li>Detect oversized usernames in <a href="https://man.openbsd.org/pwd_mkdb.8">pwd_mkdb(8)</a>.
<li>Check for oversize group names to <a href="https://man.openbsd.org/user.8">user(8)</a> and fail the command.
<li>Fix an off-by-one in <a href="https://man.openbsd.org/user.8">user(8)</a>.
<li><a href="https://man.openbsd.org/m4.1">m4(1)</a>'s patsubst command now accepts null patterns. This appears to fix GNU Autoconf 2.57.
<li>A <a href="https://man.openbsd.org/pf.4">pf(4)</a> table on an anchor rule creates a real anchor, so <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> works the way one expects.
<!-- ^ 20030608 -->
<li>Stop <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> (with the -ss option) printing IPv4 address/netmask pairs as a.b.c.d/128.
<li>Have <a href="https://man.openbsd.org/identd.8">identd(8)</a> run by default as user _identd if possible, and fall back to user nobody if that fails.
<li>Replace setjmp/longjmp in <a href="https://man.openbsd.org/less.1">less(1)</a> with interruptible system calls.
<!-- ^ 20030607 -->
<li>Avoid a null deref in <a href="https://man.openbsd.org/fontconfig.3">fontconfig(3)</a> when $HOME is not set.
<li>Fix the addition of /usr/local/lib/X11/fonts to /etc/fonts.conf.
<li>Don't use M_WAIT in <a href="https://man.openbsd.org/atalk.4">atalk(4)</a>.
<li>Don't forward IPv6 multicasts to an interface that's no longer around to receive them.
<!-- ^ 20030606 -->
<li>Add large file support to distrib/special/more.
<!-- ^ 20030605 -->
<li>Teach distrib/special/more how to handle arbitrarily long lines and \r\n line endings.
<li>Set <a href="https://man.openbsd.org/rusers.1">rusers(1)</a>' column width to 80 if stdout isn't a tty.
<!-- ^ 20030604 -->
<li>Add generic '-fno-builtin-&lt;function&gt;' option to <a href="https://man.openbsd.org/gcc.1">gcc(1)</a> (see <a href="https://man.openbsd.org/gcc-local.1">gcc-local(1)</a>).
<li>Kill the parent <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> process when <a href="https://man.openbsd.org/scp.1">scp(1)</a> or <a href="https://man.openbsd.org/sftp.1">sftp(1)</a> receive a signal (OpenSSH bug <a href="http://bugzilla.mindrot.org/show_bug.cgi?id=241">241</a>).
<li>Only drop setgid privileges the once in <a href="https://man.openbsd.org/sshd.8">sshd(8)</a>.
<li>Disable <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> challenge/response and keyboard-interactive authentication methods if there's a host key mismatch, to reduce the likelihood of MiTM attacks catching out ignorant users (OpenSSH bug <a href="http://bugzilla.mindrot.org/show_bug.cgi?id=580">580</a>).
<li>Make <a href="https://man.openbsd.org/less.1">less(1)</a>'s --More-- prompt more --less--, less More, and more POSIX.
<li>Fix distrib/special/more on machines with unsigned chars.
<li>Simply and fix tty handing in /distrib/special/more.
<!-- ^ 20030603 -->
<li>Stop <a href="https://man.openbsd.org/event.3">event(3)</a> honouring EVENT_NOKQUEUE when running set[ug]id.
<li>Disable the <a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a> library load order randomiser, it seems to be exposing bugs elsewhere.
<li>Provide a fast path for userland <a href="https://man.openbsd.org/crypto.9">crypto(9)</a> requests, bypassing the kernel queues where possible.
<li>Add some tag-related utility functions in kernel <a href="https://man.openbsd.org/pf.4">pf(4)</a>.
<!-- ^ 20030602 -->
<li>In <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> process 'show' options before options that change the rulebase.
<li>Huge license cleanup all over the tree.
<li>Fix random lockups of <a href="https://man.openbsd.org/cac.4">cac(4)</a> devices.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Deprecate the dangerous VerifyReverseMapping <a href="https://man.openbsd.org/sshd.8">sshd(8)</a> option, and replace with new UseDNS option (enabled by default).
<li>Install OpenSSL include files in /usr/include/openssl instead of ../ssl.
<li>Remove the advertising clause from many license statements.
<li>Use <a href="https://man.openbsd.org/getopt_long.3">getopt_long(3)</a> for <a href="https://man.openbsd.org/getopt.3">getopt(3)</a>, instead of the old implementation.
<li>Remove a potential double-free from <a href="https://man.openbsd.org/systrace.1">systrace(1)</a>.
<!-- ^ 20030602 -->
<li>Fix a bad string bounds check in libedit.
<li>String cleaning bootblocks for all architectures. Now only bind and src/gnu use unsafe string functions.
<li>Fix a few long-missing initialisations, so we don't end up using random stack noise as a hint to <a href="https://man.openbsd.org/uvm_map.9">uvm_map(9)</a> via uvm_km_suballoc().
<li>Improve <a href="https://man.openbsd.org/ddb.4">ddb(4)</a>'s symbol table lookup algorithm.
<!-- ^ 20030601 -->
<li>Properly mask off all but the last 8 bits of status in WSTOPSIG and WEXITSTATUS.
<li>Add preliminary LBA support to the i386 bootloader.
<!-- ^ 20030531 -->
<li>Build a dynamic <a href="https://man.openbsd.org/com_err.3">com_err(3)</a> library.
<li>Add <a href="https://man.openbsd.org/pmdb.1">pmdb(1)</a> to the default build.
<li>Fix timeout signedness bugs in <a href="https://man.openbsd.org/brconfig.8">brconfig(8)</a> and <a href="https://man.openbsd.org/bridge.4">bridge(4)</a>.
<li>Some deeper string cleaning in bind9.
<li>Stop <a href="https://man.openbsd.org/pmdb.1">pmdb(1)</a> dumping core when the program to be run doesn't exist.
<li>Add LD_NORANDOM to the list of environment variables that get zapped when running setuid/setgid.
<li>Load dynamic libraries in random order, to reduce the probability of an attacker guessing the address of the loaded code. Define LD_NORANDOM to disable.
<!-- ^ 20030530 -->
<li>Make <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a> more robust by accept non-DHCPNAK messages with yiaddr=0.0.0.0, as sent by some common DHCP servers that ignore the RFC.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Reorder the sections in many manpages.
<li>Use <a href="https://man.openbsd.org/seteuid.2">sete[ug]id(2)</a> as well as set[ug]id() in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> when doing privsep and when permanently setting the [ug]id.
<li>When setting the tcp6 mss, fetch the link mtu using IN6_LINKMTU() (which takes neighbour discovery mtu settings into account) instead of always using the interface mtu.
<li>Allow numeric uid and gid in systrace, and '&lt;' and '&gt;' operators for ids.
<li>Add support for IPv6 jumbograms.
<li>Fix some bugs IPv6-related bugs in tcp_trace().
<!-- ^ 20030529 -->
<li>Incorporate distrib/special/more's helpfile into the program itself.
<li>Fix the endianness of <a href="https://man.openbsd.org/fxp.4">fxp(4)</a>'s statistics for netstat -i.
<li>Fix tab expansion, handle EDITOR not being a full pathname, and much cleanup in distrib/special/more,
<!-- ^ 20030528 -->
<li>Add pthread support for vax.
<li>Don't risk an M_WAIT deadlock when processing raw IP output.
<li>Make libwrap check for <a href="http://www.kame.net/newsletter/20030527/">bogus PTR records</a> containing numeric IP address in string form.
<!-- ^ 20030527 -->
<li>Make <a href="https://man.openbsd.org/df.1">df(1)</a> use the new <a href="https://man.openbsd.org/fmt_scaled.3">fmt_scaled(3)</a> stuff in libutil.
<!-- XXX query src/sys/arch/i386/include/pmap.h#rev1.33 -->
<li>Fix a few bad *printf format strings in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
<li>Install the mod_ssl headers under /usr/lib/apache/include/
<li>Add IPv6 support to <a href="https://man.openbsd.org/trpt.8">trpt(8)</a>.
<!-- ^ 20030526 -->
<li>Fix <a href="https://man.openbsd.org/xdm.1">xdm(1)</a>'s XDMCP queries (XFree86 bug <a href="http://bugs.xfree86.org/cgi-bin/bugzilla/show_bug.cgi?id=277">#277</a>).
<li>Unbreak <a href="https://man.openbsd.org/pf.4">pf(4)</a> binat rules after recent netmask check changes.
<!-- ^ 20030525 -->
<li>Improve <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>'s netmask validity check.
<li>Have <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> properly free buffers and initialise pointers when working on tables.
<li>Push <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> syslog output through <a href="https://man.openbsd.org/strnvis.3">strnvis(3)</a> first.
<!-- ^ 20030524 -->
<li>Fix an fdset leak in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
<!-- ^ 20030523 -->
<li>Remove unsafe <a href="https://man.openbsd.org/sprintf.9">sprintf(9)</a> and vsprintf() functions from the kernel.
<!-- ^ 20030522 -->
<li>Ignore media changes for the first command issued to an <a href="https://man.openbsd.org/sd.4">sd(4)</a> device. See the <a href="https://cvsweb.openbsd.org/src/sys/scsi/sd.c#rev1.61">checkin comment</a> for details.
<li>Match kernel <a href="https://man.openbsd.org/vprintf.9">vprintf(9)</a> prototype to that of userland.
<li>Have <a href="https://man.openbsd.org/getconf.1">getconf(1)</a> return _POSIX_PATH_MAX instead of _POSIX_PIPE_MAX when asked for the former.
<!-- ^ 20030521 -->
<li>Now that kernels are built with propolice, build modules with it too.
<li>New hardware monitoring sensors driver <a href="https://man.openbsd.org/it.4">it(4)</a>.
<li>Fix endianness problems in <a href="https://man.openbsd.org/dc.4">dc(4)</a> that caused multicast reception to fail when using Centaur chips.
<li>Add a missing initialisation in altq HFSC.
<li>Add read-only NTFS support, ported from NetBSD. Not enabled in GENERIC.
<li>Add a flag to reverse the stereo on <a href="https://man.openbsd.org/auich.4">auich(4)</a>.
<!-- ^ 20030520 -->
<li>Limit the return value of <a href="https://man.openbsd.org/nice.3">nice(3)</a> to -NZERO &le; nice &le; NZERO, where NZERO=20.
<li>Make <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> fail hard when fed invalid hostnames and netmasks.
<li>Many games fixes from NetBSD.
<li>Allow the i386 and hppa bootloaders to skip the interactive portion altogether.
<li>Fix a badly broken switch statement affecting SO_DEBUG in tcp_input.c.
<li>Stop <a href="https://man.openbsd.org/lpr.1">lpr(1)</a> from checking if the printed file is an executable. Leave this to <a href="https://man.openbsd.org/lpd.8">lpd(8)</a> filters.
<li>Use a decay filter to get better altq throughput statistics out of <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<!-- ^ 20030519 -->
<li>In <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>'s do_log(), use <a href="https://man.openbsd.org/syslog_r.3">syslog_r(3)</a> in code that can be called from a signal handler.
<li>Severely restrict the paths that privsep <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> can read from and write to.
<li>Use sockaddr_storage instead of sockaddr in <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> to fix interface rescanning.
<li>Keep X.509 private keys only in the privileged part of privsep <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>.
<li>When using the <a href="https://man.openbsd.org/pf.4">pf(4)</a> SYN proxy, make sure ACKs are sent with the correct window size.
<li>Wait longer for slow USB devices to be ready for attachment.
<!-- ^ 20030518 -->
<li>Don't build libperl in the libraries pass of 'make build', as we want Perl's configure to pick up details of the libraries that the build may be changing. Another leapfrog-in-waiting.
<li>Add regen target in libkrb5 to remove (again) the dependency on an up-to-date asn1_compile.
<li>Complain more consistently about a missing 80-wire IDE cable (for UDMA mode &gt; 2).
<li>In <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a> don't use <a href="https://man.openbsd.org/strlcpy.3">strlcpy(3)</a> when printing strings out of struct utmp, since those strings aren't null terminated.
<li>Don't ARP for our IP address aliases, treat them as local.
<li>Merge in a number of USB SCSI device updates from NetBSD.
<li>Add experimental support for aes-ctr <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> ciphers.
<li>Apply some of the USB SCSI improvements to the FireWire code as well.
<li>Add string length bounds to an <a href="https://man.openbsd.org/sscanf.3">sscanf(3)</a> in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>'s rhosts auth code.
<li>Pull in a fix for directory creation under <a href="https://man.openbsd.org/systrace.1">systrace(1)</a>.
<li>Fix <a href="https://man.openbsd.org/pf.4">pf(4)</a> rdr rules with address pools using bitmask and source-hash address selection.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Allow inverse matching of <a href="https://man.openbsd.org/pf.4">pf(4)</a> tags.
<li>Fix media handling for Intel <a href="https://man.openbsd.org/dc.4">dc(4)</a> devices.
<!-- ^ 20030517 -->
<li>Use the right buffer in <a href="https://man.openbsd.org/spamd.8">spamd(8)</a>'s connection handler.
<li>Use <a href="https://man.openbsd.org/mmap.2">mmap(2)</a> instead of <a href="https://man.openbsd.org/malloc.3">malloc(3)</a> in <a href="https://man.openbsd.org/vfprintf.3">vfprintf(3)</a> when more memory is needed to store arguments. See the <a href="https://cvsweb.openbsd.org/src/lib/libc/stdio/vfprintf.c#rev1.19">checkin comment</a> for why.
<li>New Renegotiate-on-HUP option for the [general] section of <a href="https://man.openbsd.org/isakmpd.conf.5">isakmpd.conf(5)</a> will cause all Phase 2 SAs to be renegotiated.
<li>Fix a couple of signedness nits in <a href="https://man.openbsd.org/ksh.1">ksh(1)</a>.
<li>Improvements to USB SCSI support.
<li>Fix <a href="https://man.openbsd.org/mg.1">mg(1)</a>'s up and down cursor movement.
<li>Have <a href="https://man.openbsd.org/ksh.1">ksh(1)</a> use the libc <a href="https://man.openbsd.org/dup2.2">dup2(2)</a> instead of its own.
<li>Fare thee well, Kerberos IV.
<li>Another big-bucks firewall feature performed by <a href="https://man.openbsd.org/pf.4">pf(4)</a>: TCP SYN proxy, enabled with 'synproxy state' (this implies modulate state).
<li>New AddressFamily option for <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> that works like the -4 and -6 command line options (portable OpenSSH <a href="http://bugzilla.mindrot.org/show_bug.cgi?id=534">bug 534</a>).
<li>Allow address comparison in <a href="https://man.openbsd.org/wi.4">wi(4)</a> to work on sparc64.
<li>Prevent a <a href="https://man.openbsd.org/spamd-setup.8">spamd-setup(8)</a> crash with a config file consisting of only invalid input.
<!-- ^ 20030516 -->
<li>Don't assume that rt-&gt;rt_ifp is valid in IPv6 neighbour discovery.
<li>Add new ConnectTimeout option to <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
<li>Disable Kerberos options to <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> programs if Kerberos isn't compiled in, and warn if they're used.
<li>Have 'ssh -V' print the OpenSSL version properly, instead of trying to %s on a long.
<li>Repair IPsec forwarding for IPv6, fixing PR#3231.
<li>Fix a hang in libwrap when the <a href="https://man.openbsd.org/hosts_access.5">hosts_access(5)</a> file has a line containing &gt; 2048 characters. (NetBSD pr#15025.)
<li>Add multi-column output to the ls command of <a href="https://man.openbsd.org/sftp.1">sftp(1)</a>.
<li>Wash untrusted input to <a href="https://man.openbsd.org/mail.1">mail(1)</a> through <a href="https://man.openbsd.org/vis.3">vis(3)</a> before display.
<li>In <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>, don't store the private key in data structures we pass around a lot.
<li>Fix a missing <a href="https://man.openbsd.org/freerrset.3">freerrset(3)</a> in new <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> dnsfp code.
<li>New <a href="https://man.openbsd.org/fmt_scaled.3">fmt_scaled(3)</a> and <a href="https://man.openbsd.org/scan_scaled.3">scan_scaled(3)</a> functions in libutil, for writing and reading numbers with human-readable scales.
<li>Like for <a href="https://man.openbsd.org/sysctl.8">sysctl(8)</a>, add a -q option to shut <a href="https://man.openbsd.org/mixerctl.1">mixerctl(1)</a>'s -w option up.
<li>Preliminary privilege separation support for <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>, not enabled by default for now.
<li>Fix deregistration of per-authentication method handlers in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
<li>In <a href="https://man.openbsd.org/faithd.8">faithd(8)</a> specify IPPROTO_TCP explicitly in anticipation of a day when <a href="https://man.openbsd.org/getaddrinfo.3">getaddrinfo(3)</a> supports sctp.
<!-- ^ 20030515 -->
<li>Prepare to move all KerberosV libraries to /usr/lib.
<li>More TCP scrubbing: Modulate TCP timestamps to frustrate NAT detection and prevent remote uptime guesses. New scrub option 'reassemble tcp'.
<li>Kill more unwanted <a href="https://man.openbsd.org/i386/le.4">le(4)</a> 'lost carrier' moans.
<li>Remove the rather short-lived kernel option LONGRUN, it's now standard except SMALL_KERNEL is defined.
<li>Enable <a href="https://man.openbsd.org/pf.4">pf(4)</a> tagging support for rdr and binat rules.
<li>Add _isakmpd user and group for <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> privsep.
<li>Allow <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> clients to send a BREAK to the remote server if it supports it (SSHv2 only).
<li>Add _kdc and _kadmin users and groups for the respective KerberosV <a href="https://man.openbsd.org/kdc.8">kdc(8)</a> and <a href="https://man.openbsd.org/kadmind.8">kadmind(8)</a> daemons.
<li>On i386, support Transmeta LongRun power management (kernel option LONGRUN, enabled by default).
<li>Add a <a href="https://man.openbsd.org/pf.4">pf(4)</a> tag for each rule that matches, not just the last one.
<li>Remove gated stuff from /etc/rc and /etc/rc.conf.
<li>Add experimental support for <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> host key fingerprint verification using DNS records (dnsfp). Not built by default. See src/usr.bin/ssh/README.dns for details and build instructions.
<li>Unbreak <a href="https://man.openbsd.org/malloc.3">malloc(3)</a> map_pages() failure test on 64-bit architectures.
<li>Back out many recent <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> changes until they're working right.
<li>Disable KerberosIV support in XFree.
<li>Make sure <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> privsep children die when the monitor parent goes away (OpenSSH <a href="http://bugzilla.mindrot.org/show_bug.cgi?id=560">bug 560</a>).
<li>Upgrade <a href="https://man.openbsd.org/pflogd.8">pflogd(8)</a> to use the new <a href="https://man.openbsd.org/bpf.4">bpf(4)</a> link type too.
<li>Teach <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> and libpcap about the new <a href="https://man.openbsd.org/pflog.4">pflog(4)</a> link type in <a href="https://man.openbsd.org/bpf.4">bpf(4)</a>.
<li>Upgrade <a href="https://man.openbsd.org/bpf.4">bpf(4)</a> support for the <a href="https://man.openbsd.org/pflog.4">pflog(4)</a> link type to the 'official' and more extensible version from the <a href="http://www.tcpdump.org/">libpcap</a> people.
<li>Start stripping out KerberosIV support from programs.
<li>When handling a numeric nodename in <a href="https://man.openbsd.org/getaddrinfo.3">getaddrinfo(3)</a>, set the canonical hostname to the numeric address as per <a href="https://www.ietf.org/rfc/rfc3493.txt">RFC3493</a>.
<li>Make <a href="https://man.openbsd.org/vis.3">vis(3)</a>'s VIS_SAFE behaviour match the manpage w.r.t <a href="https://man.openbsd.org/isgraph.3">isgraph(3)</a>.
<li>Allow tags to be specified for <a href="https://man.openbsd.org/pf.4">pf(4)</a> block rules (which aren't allowed to keep state).
<li>Allow the <a href="https://man.openbsd.org/pf.conf.5">pf.conf(5)</a> scrub keyword to take a protocol specifier again.
<li>Remove KerberosIV support from KerberosV code.
<li>Add packet tag support for <a href="https://man.openbsd.org/pf.4">pf(4)</a> nat rules.
<li>Correct a string length problem and a missing null init in libreadline.
<li>Add kerberos-over-ssh2 support to <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
<li>Reapply the move of Ethernet definitions to &lt;net/ethertypes.h&gt;, but this time have &lt;netinet/if_ether.h&gt; read them in for compatibility reasons.
<li>New -q flag for <a href="https://man.openbsd.org/sysctl.8">sysctl(8)</a> to suppress output from the -w option.
<li>Fix a circular dependency by removing libtelnet, instead compile the code directly into <a href="https://man.openbsd.org/telnet.1">telnet(1)</a>, <a href="https://man.openbsd.org/telnetd.8">telnetd(8)</a> and <a href="https://man.openbsd.org/tn3270.1">tn3270(1)</a> from files in libexec/telnetd.
<li>Move contents of libkafs into libkrb5, leave libkafs as an empty dummy library.
<li>Fix a use-after-free in the new <a href="https://man.openbsd.org/pf.4">pf(4)</a> tagging code in the kernel.
<li>Enable the increasingly popular <a href="https://man.openbsd.org/em.4">em(4)</a> driver by default on i386 RAMDISK* kernels.
<li>Sync <a href="https://man.openbsd.org/rdist.1">rdist(1)</a> with freerdist version 0.92, minus the compress option.
<li>Don't build KerberosIV programs. Libraries still built for the moment.
<li>Move blktochr() and chrtoblk() into kernel MI code.
<li>Add [bc]devsw_lookup() kernel convenience functions.
<!-- ^ 20030514 -->
<li>In <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> make sure packet tagging is only used on stateful filter rules.
<li>Add NO_PROPOLICE kernel <a href="https://man.openbsd.org/config.8">config(8)</a> option to build the kernel without the stack protector. Handy for install media.
<li>Fix a string length off-by-one in libreadline.
<li>Add userland portion of <a href="https://man.openbsd.org/pf.4">pf(4)</a> packet tagging support.
<li>Disable afs until it can be made to work sans KerberosIV.
<li>Force global 'time' structure to be quad_t aligned, unbreaking sparc <a href="https://man.openbsd.org/microtime.9">microtime(9)</a> and possibly other things too.
<li>Add support in kernel <a href="https://man.openbsd.org/pf.4">pf(4)</a> for tagging packets, and filtering based on those tags.
<li>New <a href="https://man.openbsd.org/mbuf.9">mbuf(9)</a> tag PACKET_TAG_PF_TAG.
<li>Make sure <a href="https://man.openbsd.org/lndir.1">lndir(1)</a> doesn't try to use -1 as an array index when reading a directory.
<li>On ELF architectures, support the blocking of thread switches during non-thread-safe dynamic loader operations.
<li>Sync ELF identification indexes with the <a href="http://www.caldera.com/developers/gabi/2000-07-17/ch4.eheader.html">System V ABI</a> specs.
<li>Stop AM7990 (<a href="https://man.openbsd.org/i386/le.4">le(4)</a>) devices emitting 'lost carrier' messages.
<li>Back out &lt;netinet/if_ether.h&gt; changes after they caused userland meltdown.
<li>Add propolice stack-smash protector support to the kernel, and build the kernel using it on architectures that support propolice.
<li>Re-enable NULLFS, UMAPFS and UNION in the GENERIC kernel.
<li>Move Ethernet definitions from &lt;netinet/if_ether.h&gt; to new &lt;net/ethertypes.h&gt;, like NetBSD.
<li>Disable Kerberos V-to-IV conversion in <a href="https://man.openbsd.org/login_krb5.8">login_krb5(8)</a> and <a href="https://man.openbsd.org/login_krb5-or-pwd.8">login_krb5-or-pwd(8)</a>
<li>Stop building <a href="https://man.openbsd.org/login_krb4.8">login_krb4(8)</a> and <a href="https://man.openbsd.org/login_krb4-or-pwd.8">login_krb4-or-pwd(8)</a>.
<li>Remove references to krb4 from <a href="https://man.openbsd.org/login.conf.5">login.conf(5)</a>.
<li>Changes to the way protection fault traps are handled on i386, see the <a href="https://cvsweb.openbsd.org/src/sys/arch/i386/i386/machdep.c#rev1.229">checkin comment</a> for details and Intel abuse.
<li>Merge in <a href="http://www.pdc.kth.se/heimdal/">Heimdal</a> KerberosV 0.6.
<li>Stop <a href="https://man.openbsd.org/user.8">user(8)</a> from accepting usernames beginning with a slash.
<li>Don't report unsupported <a href="https://man.openbsd.org/scsi.4">scsi(4)</a> devices as offline.
<!-- ^ 20030513 -->
<li>When testing TCP window sizes in <a href="https://man.openbsd.org/pf.4">pf(4)</a>, don't apply the window scaling factor for SYN packets. Do, however, apply the scaling factor when testing ACKs.
<li>Fix a bug in <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a> that was causing recursive dependency searches to fail.
<li>More <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> definitions for NAT-T, IKEv2 and EAP.
<li>Locking and other fixes to unionfs.
<li>Add BLOCK_SIZE attribute to <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>, and rename AES ESP transform to AES_128_CBC.
<li>Add UDP encapsulation type definitions (not code) to <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> with an eye to future NAT-T support.
<li>Adapt nullfs and umapfs to use common code from genfs.
<li>New genfs code for layered filesystem support.
<li>Wash print queue names through <a href="https://man.openbsd.org/vis.3">vis(3)</a> before output.
<li>Teach <a href="https://man.openbsd.org/ctags.1">ctags(1)</a> to understand '//' comments, ignore declarations of function types, and accept __attribute__. From NetBSD.
<li>Correctly check for empty output from an <a href="https://man.openbsd.org/at.1">at(1)</a> command (PR#3252).
<li>New <a href="https://man.openbsd.org/ddb.4">ddb(4)</a> command 'show proc' which, er, shows process information.
<li>Sync <a href="https://man.openbsd.org/popa3d.8">popa3d(8)</a> to version 0.6.2.
<li>Improvements and bugfixes to the installer's handing of ftp and http downloads.
<li>Reorder <a href="https://man.openbsd.org/pf.4">pf(4)</a> IPv6 address comparison to check the least-significant bits first, since these are more likely to differ.
<li>Make sure the state search trees are properly in initialised when attaching <a href="https://man.openbsd.org/pf.4">pf(4)</a>.
<li>Remove a number of KerberosV files that are not used by OpenBSD.
<li>When doing pubkey authentication in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>, prefer agent-stored keys that are referred to in the config file. This can reduce the likelihood of the server disconnecting before it gets to a valid key when the agent is storing many keys.
<li>Start preparations to remove KerberosIV.
<li>Remove a number of redundant declarations in games/. From NetBSD.
<li><a href="https://man.openbsd.org/file.1">file(1)</a> now recognises Ogg Vorbis audio files.
<li>Use the asn1_compile in src/usr.bin instead of that in src/kerberosV.
<li>More string fixes to libreadline, this time with no ABI changes.
<li>Fix a sign overflow in <a href="https://man.openbsd.org/csh.1">csh(1)</a>.
<li>Merge in OpenSSL 0.9.7b (without IDEA, MDC2 and RC5).
<li>Implement adaptive state table timeouts in <a href="https://man.openbsd.org/pf.4">pf(4)</a>, reducing the state timeout value inversely with the number of states present.
<!-- ^ 20030512 -->
<li>Break asn1_compile out from KerberosV into src/usr.bin.
<li>First phase of <a href="https://man.openbsd.org/pf.4">pf(4)</a> stateful TCP scrubbing: Frustrate TTL-based NIDS evasion by determining on the fly the highest TTL, and enforcing it as the minimim TTL for all subsequent packets.
<li>In <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>, Do the xstrdup() of the remote_name inside channel_new() instead of making the caller do it.
<li>Start to fix the annoying asn1_compile leapfrog problem when upgrading KerberosV by putting the generated files into the tree.
<li>Make sure a hole at the end of a sparse file created by <a href="https://man.openbsd.org/install.1">install(1)</a> actually gets written on all filesystems.
<li>The installer now accepts absolutely absolute paths (relative to the installer's root directory, not the virtual mountpoint) for local sets.
<li>Make <a href="https://man.openbsd.org/ssh-keygen.1">ssh-keygen(1)</a>'s -e option fail gracefully if the user specifies an SSH1 key. (NetBSD pr#20550.)
<li>Avoid offence to Klingons by spelling 'Kang' correctly. <!-- No, really. -->
<li>Merge in <a href="http://www.pdc.kth.se/heimdal/">Heimdal</a> KerberosV 0.6rc1.
<li>Since mfs doesn't try to force an unmount on receipt of a signal, there's no need to try to fix up processes' working dirs - the <a href="https://man.openbsd.org/unmount.2">unmount(2)</a> will fail.
<li>Fix <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>'s handling of the IPV6_ADDR ID-type.
<li>Remove an unnecessary <a href="https://man.openbsd.org/ntohs.3">ntohs(3)</a> in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>, unbreaking 'nat ... -&gt; $if port n' rules.
<!-- ^ 20030511 -->
<li>The <a href="https://man.openbsd.org/pf.4">pf(4)</a> return keyword now generates an ICMP unreachable message for all protocols other than TCP (rather than just UDP and ICMP).
<li>Have the compiler generate warnings if unsafe string functions are used in the kernel.
<li>Back out libreadline string fixes until static build works.
<li>Consign <a href="https://man.openbsd.org/swapon.2">swapon(2)</a> to COMPAT_25 in favour of <a href="https://man.openbsd.org/swapctl.2">swapctl(2)</a>.
<li>Clear unused and/or invalid globals in <a href="https://man.openbsd.org/authpf.8">authpf(8)</a> to prevent confusion.
<li>Update <a href="https://man.openbsd.org/authpf.8">authpf(8)</a> to spot (and reject) the new 'load...from' syntax.
<li>Support loading of anchors from the main <a href="https://man.openbsd.org/pf.4">pf(4)</a> ruleset with new syntax 'load anchorname:rulesetname from filename'.
<!-- ^ 20030510 -->
<li>Allow for the null-terminator when calling <a href="https://man.openbsd.org/strlcpy.3">strlcpy(3)</a> in <a href="https://man.openbsd.org/gcvt.3">gcvt(3)</a>.
<li>Remove a number of unnecessary executable mappings in the kernel, e.g. framebuffers and page tables don't really need to be x.
<!-- ^ 20030509 -->
<li>Add <a href="https://man.openbsd.org/sha2.3">sha2(3)</a> digest support to libc.
<li>Clear libc digest buffers allocated on the stack with <a href="https://man.openbsd.org/memset.3">memset(3)</a> before returning.
<li>Move <a href="https://man.openbsd.org/setrgid.3">setrgid(3)</a> and <a href="https://man.openbsd.org/setruid.3">setruid(3)</a> from libc to libcompat.
<li>Move <a href="https://man.openbsd.org/insque.3">insque(3)</a> and <a href="https://man.openbsd.org/lsearch.3">lsearch(3)</a> and <a href="https://man.openbsd.org/remque.3">remque(3)</a> from libcompat to libc, since they are now POSIX functions.
<li>Don't leak socket fds in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> queue code, otherwise we can hit the file limit if many queues are defined.
<li>Fix a number of <a href="https://man.openbsd.org/readlink.2">readlink(2)</a> calls that forgot to leave space for the null-terminator that needs to be added manually.
<li>Update <a href="https://man.openbsd.org/sudo.8">sudo(8)</a> to 1.6.7p5.
<li>Add support for the userland portions of XFree86 <a href="http://dri.sourceforge.net/">DRI</a>. Not yet enabled by default.
<li>In <a href="https://man.openbsd.org/csh.1">csh(1)</a>, null-terminate the string returned by <a href="https://man.openbsd.org/readlink.2">readlink(2)</a> before passing it on.
<li>Fix <a href="https://man.openbsd.org/mmap.2">mmap(2)</a>'ing of the dynamic linker hints file when the file size exceeds one page.<br>
    <a href="stable.html">[Applied to stable]</a> <!-- XXX 3.3-stable -->
<li>Stop <a href="https://man.openbsd.org/gcc.1">gcc(1)</a> from inlining <a href="https://man.openbsd.org/strcpy.3">strcpy(3)</a> so it can be more easily spotted in object files.
<!-- ^ 20030508 -->
<li>Add missing device name parameter when printing a <a href="https://man.openbsd.org/nofn.4">nofn(4)</a> RNG underflow error.
<li>Fix a bad sizeof() in <a href="https://man.openbsd.org/xedit.1">xedit(1)</a>.
<li>Fix some <a href="https://man.openbsd.org/sscanf.3">sscanf(3)</a> off-by-ones in <a href="https://man.openbsd.org/makepsres.1">makepsres(1)</a>.
<li>Remove a string memory leak in <a href="https://man.openbsd.org/ld.1">ld(1)</a>.
<li>Change <a href="https://man.openbsd.org/xclock.1">xclock(1)</a>'s default behaviour back to -norender.
<li>Fix a few instances of sizeof(pointer instead of object) in <a href="https://man.openbsd.org/expand.1">expand(1)</a>, <a href="https://man.openbsd.org/lbxproxy.1">lbxproxy(1)</a>, <a href="https://man.openbsd.org/skeyinit.1">skeyinit(1)</a> and in the Kerberos IV and BIND libraries.
<li>Plug a memory leak in the kernel ELF loader.
<li>In the installer, give the -h option to <a href="https://man.openbsd.org/tar.1">tar(1)</a> so symlinks on the existing system are honoured.
<li>Make <a href="https://man.openbsd.org/lynx.1">lynx(1)</a> try active FTP if passive mode fails. This was missed out in the recent upgrade.
<!-- ^ 20030507 -->
<li>Have <a href="https://man.openbsd.org/rdist.1">rdist(1)</a> use POSIX <a href="https://man.openbsd.org/regex.3">regex(3)</a>.
<li>Update <a href="https://man.openbsd.org/rdist.1">rdist(1)</a> to cope with <a href="https://man.openbsd.org/rcmdsh.3">rcmdsh(3)</a>'s new ability to handle command line options.
<li>Make <a href="https://man.openbsd.org/pf.4">pf(4)</a> rdr and binat rules work again on protocols other than TCP, UDP and ICMP.<br>
    <a href="stable.html">[Applied to stable]</a> <!-- XXX 3.3-stable -->
<li>After a forced unmount, try to change process back into real directories now that namei() won't do lookups under the old mountpoint.
<li>Stop namei() doing lookups on unmounted volumes, prevents crashes with forced unmounts. From NetBSD.
<li>Don't use M_WAITOK to sleep on failures when allocating hashtables for IP protocols (in_pcbinit()). Fail and panic.
<li>Pretty up <a href="https://man.openbsd.org/sysctl.8">sysctl(8)</a> display units for hw.sensors.
<li>Only do <a href="https://man.openbsd.org/setusercontext.3">setusercontext(3)</a> in <a href="https://man.openbsd.org/skeyaudit.1">skeyaudit(1)</a> when running as root.
<li>Don't use string functions on non-strings in <a href="https://man.openbsd.org/sd.4">sd(4)</a>.
<li>Kill a small <a href="https://man.openbsd.org/asprintf.3">asprintf(3)</a> memory leak in <a href="https://man.openbsd.org/mg.1">mg(1)</a>.
<li>In <a href="https://man.openbsd.org/skeyinfo.1">skeyinfo(1)</a>, convert the username to seven-bit before doing the <a href="https://man.openbsd.org/skeylookup.3">skeylookup(3)</a>.
<li>Make the <a href="https://man.openbsd.org/fsirand.8">fsirand(8)</a> functionality built into <a href="https://man.openbsd.org/newfs.8">newfs(8)</a> non-optional.
<!-- ^ 20030506 -->
<li>Allow command-line arguments in rshprog passed to <a href="https://man.openbsd.org/rcmdsh.3">rcmdsh(3)</a>.
<li>Add backquote to the list of characters escaped in <a href="https://man.openbsd.org/ksh.1">ksh(1)</a>'s vi-{esc,tab}complete mode.
<li>Fix a couple of <a href="https://man.openbsd.org/sscanf.3">sscanf(3)</a> off-by-ones in afs and <a href="https://man.openbsd.org/makeinfo.1">makeinfo(1)</a>.
<li>Write the correct amount of data when disconnecting <a href="https://man.openbsd.org/tip.1">tip(1)</a> on biz22.
<li>Another memory layout change on i386 to allow a larger MAXDSIZ (see the tech@ <a href="https://marc.info/?l=openbsd-tech&m=105216246825100&w=2">archive</a> for details).
<li>Add a mail mode to <a href="https://man.openbsd.org/mg.1">mg(1)</a> that does proper line wrapping, and add the '-f' command line option to set the mode.
<li>Properly restore the syncer vnode if <a href="https://man.openbsd.org/unmount.2">unmount(2)</a> fails.
<!-- ^ 20030505 -->
<li>Use the right buffer size for <a href="https://man.openbsd.org/getcwd.3">getcwd(3)</a> to avoid unnecessary truncation in <a href="https://man.openbsd.org/at.1">at(1)</a>.
<li>Replace local (and wrong) basename logic in <a href="https://man.openbsd.org/ln.1">ln(1)</a> with a call to the real <a href="https://man.openbsd.org/basename.3">basename(3)</a>.
<li>Don't leak an mbuf when dropping non-ARPHRD_ETHER arp packets.<br>
    <a href="stable.html">[Applied to stable]</a> <!-- XXX 3.3-stable -->
<!-- ^ 20030504 -->
<li>Compatibility improvements to <a href="https://man.openbsd.org/ossaudio.3">ossaudio(3)</a>, mostly from NetBSD.
<li>Ditch <a href="https://man.openbsd.org/newfs.8">newfs(8)</a>/<a href="https://man.openbsd.org/mount_mfs.8">mount_mfs(8)</a>'s homespun malloc() in favour of <a href="https://man.openbsd.org/mmap.2">mmap(2)</a>.
<li>Prevent a couple of use-after-frees in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<li>Defensively zero the m_flags field in <a href="https://man.openbsd.org/mbuf.9">mbuf(9)</a> structures allocated on the stack.
<!-- ^ 20030503 -->
<li>Make <a href="https://man.openbsd.org/what.1">what(1)</a> more POSIX-compliant.
<li>Stop <a href="https://man.openbsd.org/skeyaudit.1">skeyaudit(1)</a> leaking file descriptors in -a mode, and be more paranoid about stdin, stdout and stderr.
<li>Add Doug Gwyn's portable <a href="https://man.openbsd.org/alloca.3">alloca(3)</a> on platforms for which no assembler version yet exists, and use instead of <a href="https://man.openbsd.org/gcc.1">gcc(1)</a>'s alloca().
<li>Greatly improved SIS chipset support in <a href="https://man.openbsd.org/pciide.4">pciide(4)</a>.
<!-- ^ 20030502 -->
<li>Make <a href="https://man.openbsd.org/eso.4">eso(4)</a> work on sparc64 and (probably) macppc.
<li>A number of <a href="https://man.openbsd.org/vnode.9">vnode(9)</a> fixes and additions. See the <a href="https://cvsweb.openbsd.org/src/sys/kern/vfs_subr.c#rev1.90">checkin comment</a> for details.
<li>Update <a href="https://man.openbsd.org/lynx.1">lynx(1)</a> to 2.8.4release, patchset 1d, including IPv6 support.
<li>Allow <a href="https://man.openbsd.org/pf.4">pf(4)</a> antispoof rules to have labels.
<!-- ^ 20030501 -->
<li>Keep trying to unbreak <a href="https://man.openbsd.org/apachectl.8">apachectl(8)</a> restarts for shared modules when running under the chroot.
<li>Improve forward compatibility of <a href="https://man.openbsd.org/fsck_ffs.8">fsck_ffs(8)</a> by comparing only what we understand instead of trying to ignore what we don't.
<li>Make the newly deprecated omsync() work under NetBSD emulation.
<li>Several <a href="https://man.openbsd.org/strvis.3">strvis(3)</a> -&gt; <a href="https://man.openbsd.org/strnvis.3">strnvis(3)</a> changes, all part of the continuing Battle for Safe String Functions.
<li>Fix some pthreads signal bugs that were causing MySQL to crash (PR#3179, PR#3238).<br>
    <a href="stable.html">[Applied to stable]</a> <!-- XXX 3.3-stable -->
<li>Allow <a href="https://man.openbsd.org/pf.4">pf(4)</a> tables to be loaded into anchors. <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> table options except show and flush now honour -a.
<!-- ^ 20030430 -->
<li>Have the dynamic linker stub functions in libc return -1 if called from a statically linked program.
<li>Only build shared libXv if the target arch supports shared libraries.
<li>Consign the omsync() system call to COMPAT_25 obscurity.
<li>Fix parsing of the noac option to <a href="https://man.openbsd.org/mount_nfs.8">mount_nfs(8)</a>.
<li>In netinet/tcp_input.c, correct a long-standing typo made when applying a deadlock-avoidance bug fix (TCP/IP Illustrated volume 2 fig. 28.30).
<li>Fix a crasher in <a href="https://man.openbsd.org/lkm.4">lkm(4)</a>, tripped when loading a module twice.
<!-- ^ 20030429 -->
<li>Make ELF <a href="https://man.openbsd.org/dlfcn.3">dlfcn(3)</a> calls thread-safe.
<li>Add /usr/local/lib/X11/fonts to <a href="https://man.openbsd.org/fontconfig.3">fontconfig(3)</a>'s search list, to help ports.
<li>Add some missing X server key definitions.
<li>Re-introduce the <a href="https://man.openbsd.org/mquery.2">mquery(2)</a>-has-<a href="https://man.openbsd.org/mmap.2">mmap(2)</a>'s-signature change, once again renaming the old syscall to omquery().
<li>Only close the keyfile once in <a href="https://man.openbsd.org/skeyaudit.1">skeyaudit(1)</a> -a mode.
<li>Do a return from main() instead of an <a href="https://man.openbsd.org/exit.3">exit(3)</a> in <a href="https://man.openbsd.org/md5.1">md5(1)</a> and <a href="https://man.openbsd.org/spamd-setup.8">spamd-setup(8)</a>,
<li>Fix some more unbounded <a href="https://man.openbsd.org/sscanf.3">sscanf(3)</a> calls in KerberosIV, still more to come.
<li>Lock earlier when doing vnode ops in procfs to avoid a possible race condition.
<!-- ^ 20030428 -->
<li>Remove a potential double-free in the XFree wsfb driver.
<li>Prepare <a href="https://man.openbsd.org/pf.4">pf(4)</a> table structures for anchor support.
<li>Much string cleanup in sys/dev.
<li>Fix the <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> fifo 'C set' command (PR#3148).
<!-- ^ 20030427 -->
<li>Use <a href="https://man.openbsd.org/strdup.3">strdup(3)</a> and <a href="https://man.openbsd.org/asprintf.3">asprintf(3)</a> to eliminate some string length guesswork in <a href="https://man.openbsd.org/rpcgen.1">rpcgen(1)</a>.
<li>Allocate enough space for a *printf() %u in <a href="https://man.openbsd.org/rpc.yppasswdd.8">rpc.yppasswdd(8)</a>.
<li>Correct libXp's shared library dependencies
<li>Fix fat32 filesystem corruption when renaming directories.
<!-- ^ 20030426 -->
<li>New <a href="https://man.openbsd.org/lm.4">lm(4)</a> (National Semiconductor LM78, LM79 and compatible) and <a href="https://man.openbsd.org/viaenv.4">viaenv(4)</a> (VT82C686A South Bridge) hardware monitor drivers, adapted from NetBSD to use the new sysctl hw.sensor interface.
<li>Make <a href="https://man.openbsd.org/funopen.3">funopen(3)</a>'s declaration match its prototype (PR#3236).
<li>Back out the recent <a href="https://man.openbsd.org/mquery.2">mquery(2)</a>-uses-mmap() API change.
<li>Add new <a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a> node hw.sensors for, er, hardware monitoring sensors.
<li>Don't assume that <a href="https://man.openbsd.org/asprintf.3">asprintf(3)</a> failures won't clobber the tempfile name in <a href="https://man.openbsd.org/mktemp.1">mktemp(1)</a>.
<li>In the IPv4 case of <a href="https://man.openbsd.org/inet_net_pton.3">inet_net_pton(3)</a>, infer the netmask the same way for all address classes (i.e. don't assume multicast networks are always */4).
<li>Be more portable and check the <a href="https://man.openbsd.org/asprintf.3">asprintf(3)</a> return value against -1 in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<li>Add size bounds to <a href="https://man.openbsd.org/sscanf.3">sscanf(3)</a> strings in <a href="https://man.openbsd.org/edquota.8">edquota(8)</a> and <a href="https://man.openbsd.org/tn3270.1">tn3270(1)</a>.
<li>Match <a href="https://man.openbsd.org/mquery.2">mquery(2)</a>'s function signature to that of <a href="https://man.openbsd.org/mmap.2">mmap(2)</a>.
<li>Fix <a href="https://man.openbsd.org/pf.4">pf(4)</a> nat proxy port allocation for manually specified ranges.<br>
    <a href="stable.html">[Applied to stable]</a> <!-- XXX 3.3-stable -->
<li>If one is given, properly copy the second port of a nat proxy spec in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<!-- ^ 20030425 -->
<li>Fix a bad <a href="https://man.openbsd.org/strlcpy.3">strlcpy(3)</a> bound in the AFS library (PR#3228).
<li>Use <a href="https://man.openbsd.org/asprintf.3">asprintf(3)</a> to fix some buffer length problems in <a href="https://man.openbsd.org/mac68k/pdisk.8">pdisk(8/MAC68K)</a>
<li>When handling the packet size option in <a href="https://man.openbsd.org/traceroute.8">traceroute(8)</a>, bounds check the right variable.
<li>Properly detect EOF when generating policy interactively.
<!-- ^ 20030424 -->
<li>Stop <a href="https://man.openbsd.org/pflogd.8">pflogd(8)</a> generating syslog messages on startup.
<li>Swap a <a href="https://man.openbsd.org/strchr.3">strchr(3)</a> for a <a href="https://man.openbsd.org/strrchr.3">strrchr(3)</a> in <a href="https://man.openbsd.org/md5.1">md5(1)</a>.
<li>When upgrading, treat the /altroot filesystem like a 'noauto' filesystem and omit it from the upgrade fstab.
<!-- ^ 20030423 -->
<li>Do a proper bounds check when reading in the <a href="https://man.openbsd.org/lynx.1">lynx(1)</a> news server name from a file.
<li><a href="https://man.openbsd.org/less.1">less(1)</a>'s glob now does tilde and brace expansion as well.
<!-- ^ 20030422 -->
<li>On <a href="https://man.openbsd.org/gre.4">gre(4)</a> IP input, use <a href="https://man.openbsd.org/m_pullup.9">m_pullup(9)</a> instead of assuming the header is in the first mbuf's data region.
<li>Have <a href="https://man.openbsd.org/make.1">make(1)</a> stop parsing command line arguments after a '--'.
<li>Better bounds checks when expanding curly braces in <a href="https://man.openbsd.org/make.1">make(1)</a>.
<li>In <a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a>, don't set the object load_size field to a negative value because this is likely to be wrong.
<!-- ^ 20030421 -->
<li>Copy the null at the end of the name when adding a realm in Kerberos V.
<!-- ^ 20030420 -->
<li>Make <a href="https://man.openbsd.org/authpf.8">authpf(8)</a> die the way it should when authpf.conf is missing (PR#3217).
<li>Fix <a href="https://man.openbsd.org/ubsec.4">ubsec(4)</a> output statistics.
<li>Sync <a href="https://man.openbsd.org/sudo.8">sudo(8)</a> with its CVS and bump the version to 1.6.7p4.
<li>Some typedef perfectionism in libwrap.
<li>String cleanup and extra paranoia in <a href="https://man.openbsd.org/rd.4">rd(4)</a> and <a href="https://man.openbsd.org/vnd.4">vnd(4)</a>.
<li>The string cleanup drive continues.
<li>Add support for the Davicom DM9009 chip to <a href="https://man.openbsd.org/dc.4">dc(4)</a>.
<!-- ^ 20030419 -->
<li>Help <a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a> further by making <a href="https://man.openbsd.org/mquery.2">mquery(2)</a> return EINVAL (instead of ENOMEM) if MAP_FIXED was requested but is unavailable.
<li>New -x option for <a href="https://man.openbsd.org/mount_msdos.8">mount_msdos(8)</a> to automagically make directories executable if they're readable.
<li>Unbreak Emacs 21 by fixing a problem with the new <a href="https://man.openbsd.org/mquery.2">mquery(2)</a> part of <a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a>.
<!-- ^ 20030418 -->
<li>Make <a href="https://man.openbsd.org/tun.4">tun(4)</a> work when only IPv6 endpoints are specified.
<li>Add 4.3BSD's more command for use on some floppies instead of <a href="https://man.openbsd.org/less.1">less(1)</a>. More is less.
<li>Change some return values in <a href="https://man.openbsd.org/config.8">config(8)</a> and <a href="https://man.openbsd.org/cron.8">cron(8)</a> from char to int.
<!-- ^ 20030417 -->
<li>Changes to support the new <a href="https://marc.info/?l=openbsd-misc&m=105056000801065&w=2">i386 W^X</a> scheme.
<li><a href="https://marc.info/?l=openbsd-misc&m=105055555830978&w=2">Move</a> i386 to ELF, a binary upgrade is required for now.
<li>Use the new <a href="https://man.openbsd.org/mquery.2">mquery(2)</a> syscall in <a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a>, i386 only for now.
<li>Avoid teeth-gnashing delays by making the installer use 'route -n show' instead of 'route show'.
<li>In the kernel ELF loader, use the <a href="https://man.openbsd.org/uvm.9">uvm(9)</a> to make sure that <a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a> doesn't overwrite an area that's already in use.
<li>Fix a buffer overflow that was causing a crash in <a href="https://man.openbsd.org/mg.1">mg(1)</a> (PR#3090).
<li><a href="https://man.openbsd.org/apachectl.8">apachectl(8)</a> now honours $httpd_flags from <a href="https://man.openbsd.org/rc.conf.8">rc.conf(8)</a>.
<li>Remove a race condition in <a href="https://man.openbsd.org/mount_mfs.8">mount_mfs(8)</a>.
<!-- ^ 20030416 -->
<li>Fix some allocation bugs in <a href="https://man.openbsd.org/mg.1">mg(1)</a>.
<li>In the kernel's standalone ISO9660 driver, collapse extra slashes in the pathname. This allows files to be loaded from the root of a cd.
<li>Uncomment the line that unloads <a href="https://man.openbsd.org/httpd.8">httpd(8)</a> shared modules on a server shutdown or restart.
<li>Many string fixes to <a href="https://man.openbsd.org/named.8">named(8)</a>, more to come.
<li><a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> can now display basic HFSC stats.
<li>Much cleanup in elf2ecoff(1) (not installed by default).
<li>Allocate the right <a href="https://man.openbsd.org/getaddrinfo.3">getaddrinfo(3)</a> buffer size in <a href="https://man.openbsd.org/rip6query.8">rip6query(8)</a> and <a href="https://man.openbsd.org/route6d.8">route6d(8)</a>.
<li>In <a href="https://man.openbsd.org/audioctl.1">audioctl(1)</a>, <a href="https://man.openbsd.org/size.1">size(1)</a> and <a href="https://man.openbsd.org/spamd.8">spamd(8)</a>, don't use <a href="https://man.openbsd.org/snprintf.3">snprintf(3)</a>'s return value for pointer arithmetic.
<!-- ^ 20030415 -->
<li>Back out the 'long ATAPI detection delay' fix due to problems with some devices.
<li>Add a missing <a href="https://man.openbsd.org/globfree.3">globfree(3)</a> in <a href="https://man.openbsd.org/sftp.1">sftp(1)</a>.
<li>Correct a number of short space allocations for *printf() integer-to-string conversions.
<li>Fix some problems with the <a href="https://man.openbsd.org/xdm.1">xdm(1)</a> OpenBSD logo, caused by the XFree86 4.3.0 merge.
<li>Don't increment the <a href="https://man.openbsd.org/ping.8">ping(8)</a> sequence number until we know the packet has been successfully queued for sending.
<li>Include the <a href="https://man.openbsd.org/at.1">at(1)</a> job number in the process title.
<li>Put <a href="https://man.openbsd.org/less.1">less(1)</a>'s help text back into a separate file, and allow a reduced-size build for the boot floppies.
<li>Stop using hardcoded SOCK_* types when creating sockets in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>, to facilitate ssh-over-<a href="http://www.sctp.de/sctp.html">sctp</a>.
<li>Have <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> unlink its fifo and pid file on a clean shutdown (PR#3199).
<li>Allow <a href="https://man.openbsd.org/ping.8">ping(8)</a> to send zero-length packets with the -s0 option.
<li>Some <a href="https://man.openbsd.org/snprintf.3">snprintf(3)</a> buffer length fixes in <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>.
<!-- ^ 20030414 -->
<li>Add new <a href="https://man.openbsd.org/mquery.2">mquery(2)</a> system call, to provide hints (especially to <a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a>) on where to put memory mappings.
<li>Make sure <a href="https://man.openbsd.org/systrace.1">systrace(1)</a> leaves space for the trailing null when displaying <a href="https://man.openbsd.org/open.2">open(2)</a> flags.
<li>Fix bad format strings in <a href="https://man.openbsd.org/extattrctl.8">extattrctl(8)</a> and <a href="https://man.openbsd.org/mopd.8">mopd(8)</a>.
<li>Prevent <a href="https://man.openbsd.org/timeout_add.9">timeout_add(9)</a> from wrapping around on machines with a long uptime.
<li>Fix some bogus size_t values in <a href="https://man.openbsd.org/grops.1">grops(1)</a> and <a href="https://man.openbsd.org/mg.1">mg(1)</a>.
<li>Update <a href="https://man.openbsd.org/less.1">less(1)</a> to version 381.
<!-- ^ 20030413 -->
<li>Have <a href="https://man.openbsd.org/spamd.8">spamd(8)</a> set file descriptor limits with <a href="https://man.openbsd.org/setrlimit.2">setrlimit(2)</a>.
<li>Relax the license on <a href="https://man.openbsd.org/strlcat.3">strlcat(3)</a> and <a href="https://man.openbsd.org/strlcpy.3">strlcpy(3)</a> to encourage their bundling with other programs.
<li>Initial support for HFSC queueing, <a href="https://man.openbsd.org/pf.4">pf(4)</a>-style.
<li>Back out recent 'X looks like a package' stuff.
<li>Merge in expat-1.95.4 from XFree86-current.
<li>Fix long delays when detecting ATAPI devices.
<!-- ^ 20030412 -->
<li><a href="https://man.openbsd.org/sudo.8">sudo(8)</a>'s Makefile now honours the LDSTATIC flag.
<li>Move queue ID assignment into the kernel and away from <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>, solving a bunch of problems.
<!-- ^ 20030411 -->
<li>Back out the earlier fix for PR#2230, which is a no-op since zombies aren't on the allproc list being scanned.
<li>De-allocate bus space on <a href="https://man.openbsd.org/wi.4">wi(4)</a> device failures.
<li>Only print the <a href="https://man.openbsd.org/less.1">less(1)</a> -d prompt if there's enough space left on the status line (PR#3189).
<!-- ^ 20030410 -->
<li>When fixing up process root and working directories after a filesystem mount, leave zombies well alone. (PR#2230.) <!-- Yes, #2230, not #2030 as the committer said. Grr. -->
<li>Fix an off-by-one in kernel <a href="https://man.openbsd.org/malloc.9">malloc(9)</a> diagnostic code.
<li>Correctly initialise xkb memory in the X server.
<li>Plug some file descriptor leaks in <a href="https://man.openbsd.org/xman.1">xman(1)</a> (PR#3186).
<li>Fix a broken sizeof() in <a href="https://man.openbsd.org/gcc.1">gcc(1)</a> when allocating a new sentinel_info.
<li>Demote the <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> 'missing CRL dir' moan to a debug message. <!-- Someone must really hate that warning. -->
<li>The kernel pf_state structure now points to both a rule and an anchor, so states created on anchors can use rule options properly.
<li>Create the /etc/isakmpd/crls directory from 4.4BSD.dist to stop <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> complaining about its absence.
<li>Strip trailing whitespace before parsing <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> options (OpenSSH bug <a href="http://bugzilla.mindrot.org/show_bug.cgi?id=528">528</a>).
<li>Disable <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>'s Kerberos IV support.
<!-- ^ 20030409 -->
<li>Fix <a href="https://man.openbsd.org/spamd.8">spamd(8)</a>'s <a href="https://man.openbsd.org/select.2">select(2)</a> error handling.
<li><a href="https://man.openbsd.org/mg.1">mg(1)</a> now remembers the previous 'M-x compile' command.
<li>Add a missing free() in <a href="https://man.openbsd.org/httpd.8">httpd(8)</a>'s dbm processing.
<li>More fixes to <a href="https://man.openbsd.org/osiop.4">osiop(4)</a>.
<!-- ^ 20030408 -->
<li>Change some old-style <a href="https://man.openbsd.org/chown.8">chown(8)</a>s (user.group) to POSIX user:group style.
<li>Fix a null deref in <a href="https://man.openbsd.org/savecore.8">savecore(8)</a>.
<li>Add some missing NetBSD copyright information to <a href="https://man.openbsd.org/ftp.1">ftp(1)</a>.
<li>Make <a href="https://man.openbsd.org/ktutil.8">ktutil(8)</a> work properly over the network.
<li>Improvements to string handling (not str[ln]* for once) in <a href="https://man.openbsd.org/adventure.6">adventure(6)</a>.
<li>Add fake package information so ports can check for XF4 installation.
<li>Use <a href="https://man.openbsd.org/ksh.1">ksh(1)</a> instead of <a href="https://man.openbsd.org/csh.1">csh(1)</a> for XFree distrib scripts.
<li>Make <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> reject invalid ICMP types (&gt;40) and codes (&gt;255).
<li>Fix a typo in the new <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> rekeying code that was causing the wrong packet state counter to be fetched.
<!-- ^ 20030407 -->
<li>Update <a href="https://man.openbsd.org/sudo.8">sudo(8)</a> to 1.6.7p3.
<li>Handle buffer length for <a href="https://man.openbsd.org/strlcpy.3">strlcpy(3)</a> properly in <a href="https://man.openbsd.org/kvm_mkdb.8">kvm_mkdb(8)</a>.
<li>Many fixes to <a href="https://man.openbsd.org/osiop.4">osiop(4)</a>.
<li>Improve (as part of string function fixes) <a href="https://man.openbsd.org/sort.1">sort(1)</a>'s handling of old-style + and - format specifiers.
<!-- ^ 20030406 -->
<li>Don't treat disklabel fields d_packname and d_typename as null-terminated fields when they're not.
<li>Fix a bounds-check off-by-one in <a href="https://man.openbsd.org/lam.1">lam(1)</a>.
<li>Simplify <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>'s parsing of CIDR masks.
<li>Add 'queue foo on $i_bar' syntax to allow <a href="https://man.openbsd.org/pf.4">pf(4)</a> queue specs to apply only to specified interfaces.
<li>Add 230400 to the list of speeds supported by termios under <a href="https://man.openbsd.org/compat_linux.8">compat_linux(8)</a>.
<li>Use the default rule when a packet passes due to the implicit 'pass all' at the top of the rulebase, eliminating many NULL tests.
<li>Add a 'default' <a href="https://man.openbsd.org/pf.4">pf(4)</a> rule and use it to store the default timeouts.
<li>Add some shared library version updates missed in the XFree86 4.3.0 merge.
<!-- ^ 20030405 -->
<li>Many string function fixes all over the tree.
<li>Fix a bad bounds check in OpenSSL's ASN.1 parser.
<!-- ^ 20030404 -->
<li>Back out the earlier realloc() change to <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a>.
<li>Update <a href="https://man.openbsd.org/sectok_fmt_fid.3">sectok_fmt_fid(3)</a> to take a string length parameter, and crank libsectok's major version for the new API.
<li>With the XFree86 4.3.0 merge, add an additional definition so that ports libs end up in /usr/local/lib/X11.
<li>Update <a href="https://man.openbsd.org/sudo.8">sudo(8)</a> to 1.6.7p2.
<li>Fix <a href="https://man.openbsd.org/user.8">user(8)</a>'s empty group test (PR#3178).
<li>Improve PRIQ queue id assignment, so same-priority queues on different interfaces work properly.
<!-- ^ 20030403 -->
<li>Use <a href="https://man.openbsd.org/realloc.3">realloc(3)</a> instead of leaking memory in <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a>.
<li>Some cleanup in <a href="https://man.openbsd.org/ipcomp.4">ipcomp(4)</a> and <a href="https://man.openbsd.org/ipsec.4">ipsec(4)</a>.
<li>Add a missing initialisation in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> (OpenSSH bug <a href="http://bugzilla.mindrot.org/show_bug.cgi?id=526">#526</a>).
<li>When an interface doesn't support <a href="https://man.openbsd.org/altq.9">altq(9)</a>, have <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> print the interface name in the error message.
<li>Add automatic <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> rekeying in accordance with the current secsh newmodes draft, and fix some rekeying bugs.
<!-- ^ 20030402 -->
<li>Fix <a href="https://man.openbsd.org/kqueue.2">kqueue(2)</a> notification of immediate-mode <a href="https://man.openbsd.org/bpf.4">bpf(4)</a> events (PR#3175).
<li>Merge in XFree86 4.3.0.
<li>Update <a href="https://man.openbsd.org/sudo.8">sudo(8)</a> to version 1.6.7p1, to fix some overzealous paranoia.
<li>Bump OpenSSH version to 3.6.1.<br>
    <a href="stable.html">[Applied to stable]</a>
<!-- ^ 20030401 -->
<li>Fix an mbuf leak in icmp6.
<li>Have <a href="https://man.openbsd.org/ftp.1">ftp(1)</a> treat empty environment variables as if they were unset.
<li>Fix some use-after-FREE when handling crypto errors in <a href="https://man.openbsd.org/ipcomp.4">ipcomp(4)</a> and <a href="https://man.openbsd.org/ipsec.4">ipsec(4)</a>.
<li>Add a missing splx() in <a href="https://man.openbsd.org/ipcomp.4">ipcomp(4)</a>.
<li>Clean up and additional paranoia in <a href="https://man.openbsd.org/setusercontext.3">setusercontext(3)</a>.
<li>Only remove a kernel <a href="https://man.openbsd.org/pf.4">pf(4)</a> rule structure when no states refer to it.
<!-- ^ 20030331 -->
<li>Helpfully, allow netinet/tcp_debug.c to compile when TCP_DEBUG is defined.
<li>Fix <a href="https://man.openbsd.org/ahc.4">ahc(4)</a>'s probe of dual-channel 7899 cards.
<li>Use snprintf to construct device names in the kernel, instead of hand-rolling.
<li>Give a more consistent message when <a href="https://man.openbsd.org/passwd.1">passwd(1)</a> is aborted one way or another by the user.
<li>Begin the process of <a href="https://marc.info/?l=openbsd-misc&m=104958817430379&w=2">eradicating</a> the remaining strcpy, sprintf, and strcat calls from the tree.
<!-- ^ 20030330 -->
<li>Fix logging bustage in <a href="https://man.openbsd.org/spamd.8">spamd(8)</a>.
<li>Update <a href="https://man.openbsd.org/sendmail.8">sendmail(8)</a> to 8.12.9 to fix a buffer overflow in address parsing. Note that this fix went onto the OpenBSD 3.3 CDs and so is not a 3.3 erratum.
<li>More fixes to <a href="https://man.openbsd.org/iha.4">iha(4)</a>.
<!-- ^ 20030329 -->
<li>Stop pmdb dumping core on stripped executables.
<li>Show in log output the list against which <a href="https://man.openbsd.org/spamd.8">spamd(8)</a> matched.
<li>Have <a href="https://man.openbsd.org/spamd.8">spamd(8)</a> report exactly how much of the filthy spammer's time was wasted.
<li>Add a missing <a href="https://man.openbsd.org/strdup.3">strdup(3)</a> error check in <a href="https://man.openbsd.org/pwd_mkdb.8">pwd_mkdb(8)</a>.
<li>Change <a href="https://man.openbsd.org/login_passwd.8">login_passwd(8)</a> from setuid(root) to setuid(_shadow).
<li>Remove OCHIO* binary compatibility hacks from <a href="https://man.openbsd.org/ch.4">ch(4)</a>. <!-- Warned about in the checkin on 17 Oct 2002 -->
<!-- ^ 20030328 -->
<li>When retrieving the size of a <a href="https://man.openbsd.org/ccd.4">ccd(4)</a> device, check the device is initialised before attempting to open it.
<li>Add USER_LDT to the list of kernel <a href="https://man.openbsd.org/options.4">options(4)</a> controllable via <a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a>.
<li>Sync the SMP branch to 3.3.
<li>Improve <a href="https://man.openbsd.org/iha.4">iha(4)</a>'s REQUEST_SENSE handling based on hard-won experience with <a href="https://man.openbsd.org/osiop.4">osiop(4)</a>.
<li>Actually look for the <a href="https://man.openbsd.org/lpr.1">lpr(1)</a> -q option when calling <a href="https://man.openbsd.org/getopt.3">getopt(3)</a>.
<li>Fix handling of -f and -h options to <a href="https://man.openbsd.org/lpr.1">lpr(1)</a>.
<li>Improve error handling for invalid <a href="https://man.openbsd.org/pf.4">pf(4)</a> cbq and priq flags.
<li>3.3 -&gt; 3.3-current.
<!-- ^ 20030327 -->
</ul>