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

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

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

reroll plus pages for 7.5

<!doctype html>
<html lang=en id=plus>
<meta charset=utf-8>
<title>OpenBSD 3.3 Changelog</title>
<meta name="description" content="OpenBSD 3.3 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/plus33.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.3 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="plus34.html">3.4</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.2 and 3.3</h3>
<p>

<ul>
<li>3.3 release branch created.
<!-- ^ 20030326 -->
<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="errata32.html#sendmail2">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Fix the <a href="https://man.openbsd.org/sftp-server.8">sftp-server(8)</a> race fix so that renames of symlinks and directories work again.
<!-- ^ 20030325 -->
<li>Have <a href="https://man.openbsd.org/lpr.1">lpr(1)</a> and <a href="https://man.openbsd.org/lprm.1">lprm(1)</a> do a better fake setuid(daemon), so that files to be printed no longer need to be world-readable.
<li>Some robustness fixes to <a href="https://man.openbsd.org/vlan.4">vlan(4)</a>.
<li>Set splimp() before resetting <a href="https://man.openbsd.org/xl.4">xl(4)</a> to prevent interrupts before we're ready to handle them.
<li>Recognise (and ignore) the --soname argument to <a href="https://man.openbsd.org/ld.1">ld(1)</a>.
<li>Add a missing return statement when dumping the state table in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<li>When adding hfsc queues in the kernel, return the correct value when unable to allocate memory, and add some missing error cleanup.
<!-- ^ 20030324 -->
<li>Fix <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> rekeying when running in privsep mode.
<li>Add some extra quoting paranoia to /etc/rc.
<!-- ^ 20030323 -->
<li>Don't close stdin in <a href="https://man.openbsd.org/md5.1">md5(1)</a>.
<!-- ^ 20030322 -->
<li>Stop <a href="https://man.openbsd.org/sendbug.1">sendbug(1)</a> reporting spurious errors.
<li>Restore <a href="https://man.openbsd.org/ac97.4">ac97(4)</a> state after an <a href="https://man.openbsd.org/apm.4">apm(4)</a> resume.
<li>Make the <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a> default facility LOG_USER instead of (due to a bug) LOG_UUCP.
<li>Make <a href="https://man.openbsd.org/netstat.1">netstat(1)</a> -m output of mbuf cluster stats much more useful.
<li>Fix memory use percentage output of <a href="https://man.openbsd.org/ps.1">ps(1)</a>.
<li>Some endianness fixes to <a href="https://man.openbsd.org/ahc.4">ahc(4)</a>, making it works on macppc.
<li>Fix some problems with <a href="https://man.openbsd.org/pf.4">pf(4)</a> table statistics.
<li>Disable by default (and add a switch to enable) cross-realm authentication from Kerberos IV realms in Kerberos V <a href="https://man.openbsd.org/kdc.8">kdc(8)</a>. This addresses a recently found <a href="http://web.mit.edu/kerberos/www/advisories/MITKRB5-SA-2003-004-krb4.txt">vulnerability</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Disable the Kerberos IV <a href="https://man.openbsd.org/kdc.8">kdc(8)</a>, since all its functionality is available in the Kerberos V kdc.
<!-- ^ 20030321 -->
<li>Enquote $lpd_flags in /etc/rc.
<!-- ^ 20030320 -->
<li>Fix a logic error in <a href="https://man.openbsd.org/sudo.8">sudo(8)</a>'s SIGCHLD handler.
<li><strong>SECURITY FIX: OpenSSL is vulnerable to an extension of the 'Bleichenbacher' attack designed by Czech researchers Klima, Pokorny and Rosa.</strong><br>
    <a href="errata32.html#kpr">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Tweak <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> host address parsing to catch exceptional cases.
<li>Fix parsing of the <a href="https://man.openbsd.org/dhcpd.8">dhcpd(8)</a> leases file.
<!-- ^ 20030319 -->
<li>Add a missing return statement in <a href="https://man.openbsd.org/mkhybrid.8">mkhybrid(8)</a>.
<!-- ^ 20030318 -->
<li>Restore bootable tape functionality for sparc.
<li>Longword-align struct sockaddrs passed to the kernel by <a href="https://man.openbsd.org/arp.8">arp(8)</a>.
<li>An RFC 2553 compliance tweak to <a href="https://man.openbsd.org/getaddrinfo.3">getaddrinfo(3)</a>.
<li>Change <a href="https://man.openbsd.org/perl.1">perl(1)</a>'s config hints file to reflect the promotion of <a href="https://man.openbsd.org/setreuid.2">setre[ug]id(2)</a> to real system calls.
<li>Some (v)sprintf -&gt; (v)snprintf in libcurses and libcurses++.
<li>Bump <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> version to 3.6.<br>
    <a href="stable.html">[Applied to stable]</a>
<!-- ^ 20030317 -->
<li>Fix a bad string length when checking options to <a href="https://man.openbsd.org/login_passwd.8">login_passwd(8)</a>.
<li>Add a nicely free license to <a href="https://man.openbsd.org/hack.6">hack(6)</a>.
<li>Fix a bogus string initialisation when printing IPv6 addresses that was causing a segfault in <a href="https://man.openbsd.org/netstat.1">netstat(1)</a>.
<!-- ^ 20030316 -->
<li>More string function sanity in the 4.3BSD compat library, <a href="https://man.openbsd.org/crypto.3">crypto(3)</a><!-- 20030316 --> and <a href="https://man.openbsd.org/sudo.8">sudo(8)</a>.
<li>Fix a string under-allocation in <a href="https://man.openbsd.org/mountd.8">mountd(8)</a>.
<li>Update to <a href="https://man.openbsd.org/sudo.8">sudo(8)</a> 1.6.7.
<li><strong>SECURITY FIX: Various SSL and TLS operations in OpenSSL are vulnerable to timing attacks.</strong><br>
    <a href="errata32.html#blinding">An 'RSA blinding' source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Add a missing chroot path correction when creating the SSL mutex file in <a href="https://man.openbsd.org/httpd.8">httpd(8)</a>.
<!-- ^ 20030315 -->
<li>Another fix in the <a href="https://man.openbsd.org/gcc.1">gcc(1)</a> stack protector.
<li>More strcpy -&gt; strlcpy, in <a href="https://man.openbsd.org/cron.8">cron(8)</a> this time.
<li>After all the hard work making the X server run as a non-root user, stop the scheduler lowering non-root processes' priority if they've had more than ten minutes of CPU time.
<li>Check the length of all fixed-length IPv6 neighbor discovery options.
<li>Enable RSA blinding in <a href="https://man.openbsd.org/keynote.3">keynote(3)</a>.
<li>Remove the redundant -t option from <a href="https://man.openbsd.org/mt.1">mt(1)</a>.
<li>Fix a bug in <a href="https://man.openbsd.org/pf.4">pf(4)</a> tables that could cause table-based filtering of packets with a source or destination address of 0.0.0.0 (e.g. DHCP) to corrupt the kernel.
<li>Enable RSA blinding for mod_ssl private key operations.
<!-- ^ 20030314 -->
<li>Fix a bug that caused all jobs displayed by <a href="https://man.openbsd.org/atq.1">atq(1)</a> to appear to be owned by the owner of the last job in the queue.<br>
    <a href="stable.html">[Applied to stable]</a> <!-- XXX 3.2-stable -->
<li>Require <a href="https://man.openbsd.org/spamd.8">spamd(8)</a> control connections to originate from a reserved port.
<li>Plug a <a href="https://man.openbsd.org/pf.4">pf(4)</a> tables memory leak.
<li>Scale the <a href="https://man.openbsd.org/altq.9">altq(9)</a> RED thresholds to 10% (min) and 30% (max) of the queue limit.
<li>Fix a one-byte underflow in <a href="https://man.openbsd.org/raidctl.8">raidctl(8)</a>.
<li>Switch <a href="http://crypto.stanford.edu/~dabo/papers/ssl-timing.pdf">RSA blinding</a> on for <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>, <a href="https://man.openbsd.org/ssh-agent.1">ssh-agent(1)</a> and <a href="https://man.openbsd.org/ssh-keysign.8">ssh-keysign(8)</a>.
<li>Still more sprintf -&gt; snprintf and strcpy -&gt; strlcpy in many, many places.
<!-- ^ 20030313 -->
<li>More strcpy -&gt; strlcpy, this time in <a href="https://man.openbsd.org/badsect.8">badsect(8)</a>, <a href="https://man.openbsd.org/restore.8">restore(8)</a> and <a href="https://man.openbsd.org/scsi.8">scsi(8)</a>.
<li>Fix a missing initialisation in <a href="https://man.openbsd.org/pckbc.4">pckbc(4)</a> when the ps/2 keyboard is not the system console. Avoids a panic on alpha.
<li>Remove sbin/photurisd from the tree.
<li>(v)sprintf -&gt; (v)snprintf in <a href="https://man.openbsd.org/mrouted.8">mrouted(8)</a>.
<li>Add -c option to <a href="https://man.openbsd.org/md5.1">md5(1)</a>, for compatibility with GNU md5sum.
<li>Set IFCAP_VLAN_MTU for <a href="https://man.openbsd.org/sk.4">sk(4)</a>.
<!-- ^ 20030312 -->
<li>Add a missing endianness fixup to <a href="https://man.openbsd.org/bktr.4">bktr(4)</a>.
<li>Hack <a href="https://man.openbsd.org/compat_freebsd.8">compat_freebsd(8)</a> to pick up recent FreeBSD binaries such as Opera.
<li>Make <a href="https://man.openbsd.org/cron.8">cron(8)</a>'s parser detect many more syntax errors.
<li>Allow <a href="https://man.openbsd.org/bridge.4">bridge(4)</a> to send unfragmented full-length 802.1q packets on interfaces with IFCAP_VLAN_MTU set.
<li>Make sure that <a href="https://man.openbsd.org/pf.4">pf(4)</a> queues have a queue ID that is unique across all interfaces.
<li>When acting on an anchor, make <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>'s -F option traverse all subrulesets in the anchor.
<li>Remove <a href="https://man.openbsd.org/OpenBSD-3.2/larn.6">larn(6)</a> until some license issues are resolved.
<!-- ^ 20030311 -->
<li>Yet more <a href="https://man.openbsd.org/gcc.1">gcc(1)</a> stack-smash protector fixes.
<li>Many spelling and double-word fixes.
<li>Install <a href="https://man.openbsd.org/lpr.1">lpr(1)</a> and <a href="https://man.openbsd.org/lprm.1">lprm(1)</a> setuid root instead of setuid daemon (the latter is more risky) and setuid to daemon early on.
<li>Add a missing <a href="https://man.openbsd.org/getnameinfo.3">getnameinfo(3)</a> error check to <a href="https://man.openbsd.org/ftp.1">ftp(1)</a>.
<li>Always set a <a href="https://man.openbsd.org/bpf.4">bpf(4)</a> filter in <a href="https://man.openbsd.org/pflogd.8">pflogd(8)</a>, since bpf will otherwise grab full-length packets.
<li>strcpy->strlcpy in <a href="https://man.openbsd.org/mount_portal.8">mount_portal(8)</a>, <a href="https://man.openbsd.org/quotacheck.8">quotacheck(8)</a>, <a href="https://man.openbsd.org/route.8">route(8)</a> and <a href="https://man.openbsd.org/routed.8">routed(8)</a>.
<li>Make <a href="https://man.openbsd.org/pf.4">pf(4)</a> queue code drop illegal non-PKTHDR mbufs, and whine loudly so any problem will get noticed and fixed.
<li>Allow <a href="https://man.openbsd.org/st.4">st(4)</a> tape density codes up to 0xff (the old limit was 0x45). <!-- Disallow negative density since antimatter tapes are not supported. -->
<li>Continued assault on manpage errors, omissions and bad English.
<li>Fix a typo from pre-3.1 days that was stopping inode quotas from working.
<li>Stop <a href="https://man.openbsd.org/spamd-setup.8">spamd-setup(8)</a> always returning an error code.
<li>Log that <a href="https://man.openbsd.org/cron.8">cron(8)</a> has started after detaching from the controlling terminal, rather than before.
<li>Make <a href="https://man.openbsd.org/cron.8">cron(8)</a> show the correct error line number when the command is missing.
<li>Make <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> give a helpful error message when multiple same-named queues are added to an interface.
<li>Fix a problem in <a href="https://man.openbsd.org/sis.4">sis(4)</a>, found with a few DP83815 devices, where a cable length of less than 30m caused excessive receive errors.
<!-- ^ 20030310 -->
<li>Tighten <a href="https://man.openbsd.org/pf.4">pf(4)</a> tcp state code in relation to a FIN received before any server response.
<li>Add spamd and spamd-cfg tcp ports to <a href="https://man.openbsd.org/services.5">services(5)</a>, and have <a href="https://man.openbsd.org/spamd.8">spamd(8)</a> obtain the port numbers from there.
<li>Fix some problems adding <a href="https://man.openbsd.org/pf.4">pf(4)</a> child queues.
<li>Prise the correct line number for errors out of <a href="https://man.openbsd.org/cron.8">cron(8)</a>.
<li>Warn about garbage lines before the EOF in <a href="https://man.openbsd.org/crontab.1">crontab(1)</a>.
<li>Fix a panic in <a href="https://man.openbsd.org/ppp.4">ppp(4)</a> by making sure the first mbuf in a chain contains a packet header.
<!-- ^ 20030309 -->
<li>Disable <a href="https://man.openbsd.org/ptrace.2">ptrace(2)</a> for P_SUGIDEXEC as well as P_SUGID.
<li>Make the kernel's P_SUGIDEXEC flag semantics match those for <a href="https://man.openbsd.org/issetugid.2">issetugid(2)</a>.
<li>Make clear that <a href="https://man.openbsd.org/mailwrapper.8">mailwrapper(8)</a> error and warning messages are not from the wrapped program but from the wrapper itself.
<li>In <a href="https://man.openbsd.org/mountd.8">mountd(8)</a> only write to the pidfile if we've opened it.
<li>Honour the :sh: <a href="https://man.openbsd.org/printcap.5">printcap(5)</a> flag for remote printers, instead of requiring -h to be given to <a href="https://man.openbsd.org/lpr.1">lpr(1)</a>.
<li>Add <a href="https://man.openbsd.org/spamd.conf.5">spamd.conf(5)</a>, configuration for <a href="https://man.openbsd.org/spamd-setup.8">spamd-setup(8)</a>.
<li>Since <a href="https://man.openbsd.org/spamd-setup.8">spamd-setup(8)</a> is no longer a Perl script, remove the Net::Netmask module.
<li>Re-re-implement <a href="https://man.openbsd.org/spamd-setup.8">spamd-setup(8)</a>, this time in C.
<li>Tweak queue rule expansion to fix problems when a queue spans multiple interfaces.
<li>Base <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>'s 'bandwidth too small' whine on interface-specific calculations rather than always using '6Kb'.
<!-- ^ 20030308 -->
<li>Have a separate flag (-g) for <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> debugging output, instead of overloading -vv.
<li>Fix a signedness bug (KAME PR 469) in the libc resolver.
<!-- ^ 20030307 -->
<li>Set some missing flags and fix <a href="https://man.openbsd.org/ti.4">ti(4)</a>'s vlan tagging support.
<li>Stability fixes to <a href="https://man.openbsd.org/cac.4">cac(4)</a>.
<li>A huge number of manpage cross-reference fixes.
<li>In kernel main(), configure devices later when process 0 is more fully initialised.
<li>Avoid a null derefence in <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> when converting text addresses to a sockaddr.
<li>Fix <a href="https://man.openbsd.org/pf.4">pf(4)</a> queue assignments when an interface is not specified.
<li>For IPv6 etherip packets, set the next protocol field in the header.
<li>Pass IP proto 97 (Ethernet-in-IP) packets up to <a href="https://man.openbsd.org/bpf.4">bpf(4)</a>.
<!-- ^ 20030306 -->
<li>In the installer, delete the FTP password when no sets are found, so it doesn't get displayed in the URL.
<li>Add a boot image ISO for alpha.
<li>New images; the last X update before the release.
<li>Fix a number of memory leaks in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> and its related programs.
<li>Add a monolithic <a href="https://man.openbsd.org/openssl.1">openssl(1)</a> manpage, covering all the tool commands.
<li>Media handling fixes to <a href="https://man.openbsd.org/hme.4">hme(4)</a>.
<li>Set the right address family for IPv6 addresses in a <a href="https://man.openbsd.org/pf.4">pf(4)</a> table.
<li>Update <a href="https://man.openbsd.org/named.8">named(8)</a> to BIND 9.2.2-release.
<!-- ^ 20030305 -->
<li>Only have /etc/rc generate the <a href="https://man.openbsd.org/rndc.8">rndc(8)</a> key if <a href="https://man.openbsd.org/named.8">named(8)</a> is to be started.
<li><a href="https://man.openbsd.org/named.8">named(8)</a> always does setuid(named) and chroots to /var/named, so remove the variables for those actions from /etc/rc.
<li>Turn off the stack protector when building <a href="https://man.openbsd.org/lkm.4">lkm(4)</a>s.
<li>Don't install <a href="https://man.openbsd.org/mrinfo.8">mrinfo(8)</a> and <a href="https://man.openbsd.org/mtrace.8">mtrace(8)</a> setuid root.
<li>Recreate the <a href="https://man.openbsd.org/rndc.8">rndc(8)</a> key if /etc/rndc.key and /var/named/etc/rndc.key are not identical, or if either is absent.
<li>3.3-beta -&gt; 3.3
<li>Fix user and group keywords with IPv6 <a href="https://man.openbsd.org/pf.4">pf(4)</a> rules.
<li>Create a baby ISO for i386, with just the CD boot image on it.
<!-- ^ 20030304 -->
<li>Move the <a href="https://man.openbsd.org/spamd.8">spamd(8)</a> configuration channel from the spamd listener port the next port up.
<li>Add to <a href="https://man.openbsd.org/file.1">file(1)</a> support for additional image formats and a first pass at reading jpeg size.
<li>strncpy->strlcpy in libc resolver code.
<li>Upgrade <a href="https://man.openbsd.org/file.1">file(1)</a> to 3.41, to fix a buffer overflow. Get improved 64-bit ELF support as well.<br>
    <a href="stable.html">[Applied to stable]</a> <!-- XXX 3.2-stable -->
<li>In the libc stack smash handler, straight away block all signal handlers from running.
<li>More fixes and improvements to <a href="https://man.openbsd.org/isp.4">isp(4)</a>.
<li>Sendmail updated to 8.12.8.
<li><strong>SECURITY FIX: A buffer overflow in the envelope comments processing in <a href="https://man.openbsd.org/sendmail.8">sendmail(8)</a> may allow an attacker to gain root privileges.</strong><br>
    <a href="errata32.html#sendmail">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Fix some nits in <a href="https://man.openbsd.org/m_pulldown.9">m_pulldown(9)</a>.
<li>Return a meaningful partition size from <a href="https://man.openbsd.org/rd.4">rd(4)</a>.
<!-- ^ 20030303 -->
<li>Fix <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> display of altq bandwidth figures.
<li>Fix a missing configuration message validity check in <a href="https://man.openbsd.org/spamd.8">spamd(8)</a>.
<li>Remove spamd-setup.sh script.
<li>Add a configuration channel in <a href="https://man.openbsd.org/spamd.8">spamd(8)</a> so spamd-setup.pl can talk to it.
<li>New spamd-setup.pl script to set up <a href="https://man.openbsd.org/spamd.8">spamd(8)</a>, with support for multiple blacklists configured via <a href="https://man.openbsd.org/spamd.conf.5">spamd.conf(5)</a>.
<li>Add perl module Net::Netmask for new <a href="https://man.openbsd.org/spamd.8">spamd(8)</a> setup perl script.
<li>Remove the redundant 'control' keyword from altq CBQ.
<li>Tag no-payload tcp ACK packets for priority queuing, see /usr/share/pf/ackpri for more information and an example.
<li>Guarantee that two <a href="https://man.openbsd.org/pf.4">pf(4)</a> queues with the same name on different interfaces have the same internal queue id.
<!-- ^ 20030302 -->
<li>Prevent <a href="https://man.openbsd.org/gem.4">gem(4)</a> removing DMA mappings that are still in use, which causes faults on sparc64.
<li>Stop the installer mistakenly deleting a default route that an FTP install may need to use.
<!-- ^ 20030301 -->
<li>Add a bootable CD iso image for sparc64.
<li>Fix a few bad printf format specifiers in <a href="https://man.openbsd.org/pflogd.8">pflogd(8)</a>.
<li>Disable GNU mmalloc on all architectures.
<li>Update all <a href="https://man.openbsd.org/disktab.5">disktab(5)</a> files to show support for 16 partitions, and fix a few other glitches.
<li>Finally, <a href="https://man.openbsd.org/mrouted.8">mrouted(8)</a> and fellows have proper licensing and are now built by default.
<li>Make sure the error value is set properly on SA expiry for AH and ESP.
<li>Fix a Kerberos (IV and V) resolver overflow found by propolice.
<li>Make libc <a href="https://man.openbsd.org/random.3">random(3)</a> and related functions use u_int32_t internally instead of long.
<li>Update the <a href="https://man.openbsd.org/isp.4">isp(4)</a> firmware images.
<li>Increase the ata IDENTIFY command timeout from one to three seconds.
<li>Use a bss copy of basename(argv[0]) for __progname, so even when there is real stack carnage a propolice stack-smash report has the right program name.
<li>Add a missing splsoftnet() in <a href="https://man.openbsd.org/pf.4">pf(4)</a> tables code.
<!-- ^ 20030228 -->
<li>Add WANT_LIBMILTER, WANT_SASL and WANT_LDAP mk.conf hooks for <a href="https://man.openbsd.org/sendmail.8">sendmail(8)</a>.
<li>Add -trace-ctors-dtors option to <a href="https://man.openbsd.org/gcc.1">gcc(1)</a>'s collect2. See <a href="https://man.openbsd.org/gcc-local.1">gcc-local(1)</a>.
<li>Make <a href="https://man.openbsd.org/rndc.8">rndc(8)</a> die properly on errors.
<li>In libz, check <a href="https://man.openbsd.org/snprintf.3">snprintf(3)</a> return value to detect truncation.<br>
    <a href="stable.html">[Applied to stable]</a> <!-- XXX 3.2-stable -->
<li>Stop <a href="https://man.openbsd.org/syslog.3">syslog(3)</a> always logging to the console when LOG_CONS is enabled.
<li>Have <a href="https://man.openbsd.org/updatedb.8">updatedb(8)</a> use /var/tmp instead of /tmp, and include ext2fs volumes in the database.
<li>Handle invalid step sizes properly in <a href="https://man.openbsd.org/cron.8">cron(8)</a>.
<li>Add IPv6 packet classification support for <a href="https://man.openbsd.org/pf.4">pf(4)</a> queues.
<li>Fix <a href="https://man.openbsd.org/pf.4">pf(4)</a> tables' IPv6 support.
<!-- ^ 20030227 -->
<li>Correctly set the priority queue when expanding <a href="https://man.openbsd.org/pf.4">pf(4)</a> rules.
<li>Some cleanup in <a href="https://man.openbsd.org/ti.4">ti(4)</a>.
<li>Make libz use <a href="https://man.openbsd.org/snprintf.3">snprintf(3)</a> instead of sprintf(), since we're at it.<br>
    <a href="stable.html">[Applied to stable]</a> <!-- XXX 3.2-stable -->
<li>Fix a bug in bind's isc_print_vsnprintf(), even though it's not used in OpenBSD.
<li>Have <a href="https://man.openbsd.org/named.8">named(8)</a> listen on IPv6 interfaces by default.
<li>More <a href="https://man.openbsd.org/gcc.1">gcc(1)</a> stack protector fixes.
<!-- ^ 20030226 -->
<li>Add 'show' and 'monitor' commands to <a href="https://man.openbsd.org/ipsecadm.8">ipsecadm(8)</a>.
<li>Update <a href="https://man.openbsd.org/xterm.1">xterm(1)</a> to fix <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2003-0063">CAN-2003-0063</a> and <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2003-0071">CAN-2003-0071</a>.
<li>Fix <a href="https://man.openbsd.org/pf.4">pf(4)</a> binat rule matching.
<li>Clean up <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> binat rule parsing.
<li>More bounds check fixes, in Linux compat and <a href="https://man.openbsd.org/gdt.4">gdt(4)</a>.
<!-- ^ 20030225 -->
<li>Correct two off-by-ones in <a href="https://man.openbsd.org/ami.4">ami(4)</a>.
<li>Fix a bad bounds check in <a href="https://man.openbsd.org/midi.4">midi(4)</a>.
<li>Revert to the old <a href="https://man.openbsd.org/pf.4">pf(4)</a> macro redefinition code, to stop a bad next pointer causing an endless loop.
<li>Fix a crasher in the pfkeyv2 debugging code.
<li>Add LZS compression support to <a href="https://man.openbsd.org/hifn.4">hifn(4)</a>. Only usable by IPComp for now.
<!-- ^ 20030224 -->
<li>Set the portal filesystem file change time properly.
<li>Remove tcfs due to licensing problems.
<li>Fix a bogus <a href="https://man.openbsd.org/vmstat.8">vmstat(8)</a> warning message.
<li>Make libz use <a href="https://man.openbsd.org/vsnprintf.3">vsnprintf(3)</a> instead of vsprintf().<br>
    <a href="stable.html">[Applied to stable]</a> <!-- XXX 3.2-stable -->
<!-- ^ 20030223 -->
<li>Add privilege separation to the old X servers too.
<!-- ^ 20030222 -->
<li>In the X server, open the keyboard and framebuffer drivers using privsep.
<li>Plug a couple of mbuf leaks on errors in <a href="https://man.openbsd.org/bridge.4">bridge(4)</a>.
<li>Pull in from FreeBSD a better environment variable parser for <a href="https://man.openbsd.org/cron.8">cron(8)</a>.
<li>Repair <a href="https://man.openbsd.org/httpd.8">httpd(8)</a> restarts, broken by the ETag inode leak fix. (The etags-state file wasn't readable after dropping privileges.)
<li>Don't try to allocate &lt; 0 bytes of memory in libcrypto.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Re-enable 'set loginterface none' option in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<li>Fix a bad sizeof in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> auth_krb4.
<li>Send BIND 4 to the attic. <a href="https://man.openbsd.org/named.8">named(8)</a> is now BIND 9.
<li>Still more fixes to the <a href="https://man.openbsd.org/gcc.1">gcc(1)</a> stack protector.
<!-- ^ 20030221 -->
<li>Have <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> check AH and ESP packets are of valid length before dumping their contents.
<li>Teach <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> to print IPComp packets.
<li>Fix a crasher in <a href="https://man.openbsd.org/systrace.1">systrace(1)</a> by reparing some locking code in the kernel, and removing a null deref in userland.
<li>Sync <a href="https://man.openbsd.org/cron.8">cron(8)</a> with ISC cron -current, keeping the OpenBSD-specific <a href="https://man.openbsd.org/at.1">at(1)</a> integration.
<li>Make <a href="https://man.openbsd.org/xconsole.1">xconsole(1)</a> run as user _x11 instead of root (like the X server,) and use privilege separation for the parts that need root.
<li>Add an empty cron.deny file, since POSIX requires that in the absence of cron.allow and cron.deny files, only root may run <a href="https://man.openbsd.org/crontab.1">crontab(1)</a>.
<li>Fix a null deref triggered by <a href="https://man.openbsd.org/ipcomp.4">ipcomp(4)</a>.
<!-- ^ 20030220 -->
<li><a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> rejects non-existent interfaces in rules using dynamic interface syntax.
<li>Move /var/at files into /var/cron since <a href="https://man.openbsd.org/at.1">at(1)</a> is now a part of <a href="https://man.openbsd.org/cron.8">cron(8)</a>.
<li>Fix support for <a href="https://man.openbsd.org/pf.4">pf(4)</a> syntax (if)/24 (dynamic interface name translation with a network prefix).
<li><strong>SECURITY FIX: In <a href="https://man.openbsd.org/ssl.8">ssl(8)</a> an information leak can occur via timing by performing a MAC computation even if incorrect block cipher padding has been found, this is a countermeasure. Also, check for negative sizes in memory allocation routines.</strong><br>
    <a href="errata32.html#ssl">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Add a counter for <a href="https://man.openbsd.org/netstat.1">netstat(1)</a> showing how often <a href="https://man.openbsd.org/ipcomp.4">ipcomp(4)</a>  was skipped because the packet size was below the compression threshold.
<li>Fix a buffer overflow in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> on 64-bit platforms.
<li>Stability updates to <a href="https://man.openbsd.org/vr.4">vr(4)</a>.
<li>LFS is not supported, so remove support for it from <a href="https://man.openbsd.org/df.1">df(1)</a>.
<!-- ^ 20030219 -->
<li>More niggly fixes to newly-added LZS support.
<li>Don't load <a href="https://man.openbsd.org/pf.conf.5">pf.conf(5)</a> options when one of <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>'s load switches (-A, -N, -R) is in force.
<li>Write the stack to core files properly for upward-growing stack architectures.
<li>Enable LZS support in <a href="https://man.openbsd.org/ipcomp.4">ipcomp(4)</a>, missed when LZS was added earlier.
<li>Turn of BIND 9's logging of lame servers; some people never learn, and we don't want to know about them.
<li>Make min-ttl and random-id operate on inbound as well as outbound <a href="https://man.openbsd.org/pf.4">pf(4)</a> scrub rules.
<li>Many missing copyright notices added to manpages.
<!-- ^ 200300218 -->
<li>Add privilege separation support to the X server. Fixes a lot of problems.
<li>Fix a double-free in <a href="https://man.openbsd.org/ftp.1">ftp(1)</a>.
<li>Add -n 'no daemon' option to <a href="https://man.openbsd.org/cron.8">cron(8)</a>.
<li>Enqueue the copy and not the original mbuf that's free four lines later, and so stop <a href="https://man.openbsd.org/bridge.4">bridge(4)</a> crashing the kernel.
<!-- ^ 20030217 -->
<li>Improve default route setup in the installer.
<li>Fix <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> forced commands with 'PermitRootLogin forced-commands-only' set.
<li>Some RFC-compliance fixes to the <a href="https://man.openbsd.org/httpd.8">httpd(8)</a> multipart MIME pid leak fix.
<li>Clean up <a href="https://man.openbsd.org/pf.4">pf(4)</a> macro parsing.
<!-- ^ 20030216 -->
<li>Fix format string bugs in <a href="https://man.openbsd.org/grep.1">grep(1)</a> and <a href="https://man.openbsd.org/nohup.1">nohup(1)</a>.
<li>strcpy -&gt; strlcpy in <a href="https://man.openbsd.org/rpc.pcnfsd.8">rpc.pcnfsd(8)</a>.
<li>Add support framework for LZS compression to <a href="https://man.openbsd.org/crypto.9">crypto(9)</a> and <a href="https://man.openbsd.org/ipsec.4">ipsec(4)</a>.
<li>More write protection paranoia in <a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a>.
<li>Make bsd.rd an install/upgrade target.
<li><strong>SECURITY FIX: <a href="https://man.openbsd.org/httpd.8">httpd(8)</a> leaks file inode numbers via ETag header as well as child PIDs in multipart MIME boundary generation. This could lead, for example, to NFS exploitation because it uses inode numbers as part of the file handle.</strong><br>
    <a href="errata32.html#httpd">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Increase the size of the rates buffer in <a href="https://man.openbsd.org/wi.4">wi(4)</a> hostap so 802.11g stations can associate.
<li>When outputting raw IP and generating the header manually, make sure the packet is large enough for a full IP header.<br>
    <a href="stable.html">[Applied to stable]</a> <!-- XXX 3.2-stable -->
<!-- ^ 20030215 -->
<li>Fix an mbuf leak in IPv6 TCP.
    <a href="stable.html">[Applied to stable]</a>
<li>Now that <a href="https://man.openbsd.org/pf.4">pf(4)</a> tables spring into existence on demand, remove the unnecessary '-T create' option.
<li>Have <a href="https://man.openbsd.org/arc4random.3">arc4random(3)</a> stir the pool when the caller's pid changes.
<li>Add 'scrub in all no-df' to the initial <a href="https://man.openbsd.org/pf.conf.5">pf.conf(5)</a> installed by /etc/rc. This helps diskless booters using Linux NFS servers.
<li>Allow <a href="https://man.openbsd.org/pf.4">pf(4)</a> redirect to loopback interfaces again, now that looping can't occur.
<!-- ^ 20030214 -->
<li>Fix an fd locking bug in libpthread.
<li>Have <a href="https://man.openbsd.org/spamd.8">spamd(8)</a> use tables instead of regular rules on an anchor.
<li>Improvements to ATAPI PIO mode selection.
<li>Fix an mbuf leak in <a href="https://man.openbsd.org/wi.4">wi(4)</a>.
<li><strong>SECURITY FIX: A fix for an <a href="https://man.openbsd.org/lprm.1">lprm(1)</a> bug made in 1996 contains an error that could lead to privilege escalation. For OpenBSD 3.2 the impact is limited since lprm(1) is setuid daemon, not setuid root.</strong><br>
    <a href="errata32.html#httpd">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Finish nForce support in <a href="https://man.openbsd.org/pciide.4">pciide(4)</a>.
<li>When <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> complains about an illegal netmask, have it show the offending article.
<!-- ^ 20030213 -->
<li>Fix busted <a href="https://man.openbsd.org/ypxfr.8">ypxfr(8)</a>, the key and values are no longer swapped around. Which is nice.
<li>Add libedit line editing support to <a href="https://man.openbsd.org/cdio.1">cdio(1)</a>.
<li>Teach <a href="https://man.openbsd.org/disklabel.8">disklabel(8)</a> to use units other than sectors on the command line.
<li>3.2-current -&gt; 3.3-beta.
<li>Replace <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>'s and <a href="https://man.openbsd.org/wi.4">wi(4)</a>'s crc32 code with BSD-licensed versions.
<li>Change <a href="https://man.openbsd.org/pf.4">pf(4)</a> scrub option 'no-df' to better handle fragments with DF set, such as those sent by Linux NFS.
<li>When in async mode, signal the process group instead of the process from WSEVENT_WAKEUP in <a href="https://man.openbsd.org/wscons.4">wscons(4)</a>.
<li>In <a href="https://man.openbsd.org/newsyslog.conf.5">newsyslog.conf(5)</a>, users can separated from groups now with ':' as well as '.'.
<li><a href="https://man.openbsd.org/newsyslog.8">newsyslog(8)</a> can now rotate files at a specific time.
<li>Better <a href="https://man.openbsd.org/bind.2">bind(2)</a> error checking in <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>.
<li>Be consistent with ntohs() in <a href="https://man.openbsd.org/pf.4">pf(4)</a> translation code.
<li>Some consolidation and tidyup in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>'s rule parsing code.
<!-- ^ 20030212 -->
<li>More fixes to <a href="https://man.openbsd.org/pf.4">pf(4)</a> routing.
<li>Don't ever send ICMP redirects for <a href="https://man.openbsd.org/pf.4">pf(4)</a>-redirected packets .
<li>Allow definition of <a href="https://man.openbsd.org/pf.4">pf(4)</a> macros on the command line. Oh yes.
<li>Remove sinful abbreviation of the unit of frequency as 'hz' (it's 'Hz', don't you know).
<li><a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> now displays the DF flag for IP fragments.
<!-- ^ 20030211 -->
<li>Have <a href="https://man.openbsd.org/spamd.8">spamd(8)</a> pass sensible parameters to memset().
<li>Allow IPv6 addresses in <a href="https://man.openbsd.org/yp.8">yp(8)</a> host maps.
<!-- ^ 20030210 -->
<li>More <a href="https://man.openbsd.org/pf.4">pf(4)</a> rule compression: 'from' and 'to' keywords are optional if 'any' is one of the addresses, and 'any' itself is optional when a port is specified.
<!-- ^ 20030209 -->
<li>Change <a href="https://man.openbsd.org/chroot.8">chroot(8)</a>'s -u and -g options' semantics (-u is now what -U used to be, unless -g overrides it,) and remove -U and -G.
<li>Sync up the <a href="https://man.openbsd.org/spell.1">spell(1)</a> dictionaries with FreeBSD and NetBSD changes.
<li>Add new 'random-id' option for <a href="https://man.openbsd.org/pf.4">pf(4)</a> scrub rules. This randomises outbound IP IDs and defeats <a href="http://www.research.att.com/~smb/papers/fnat.pdf">NAT detection and OS fingerprinting</a>.
<li>Stop a number of scripts that use <a href="https://man.openbsd.org/mktemp.1">mktemp(1)</a> from leaving dead tempfiles around in failure cases.
<!-- ^ 20030208 -->
<li>A little extra paranoia in <a href="https://man.openbsd.org/chpass.1">chpass(1)</a>, check that the temp file is owned by our real uid.
<li>Don't burp <a href="https://man.openbsd.org/syslog.3">syslog(3)</a> output to the console unless <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a> was not contactable.
<!-- ^ 20030207 -->
<li>Stop <a href="https://man.openbsd.org/sshd.8">sshd(8)</a> leaking information when PermitRootLogin is set to 'no'.
<li>Install <a href="https://man.openbsd.org/pf.conf.5">pf.conf(5)</a> mode 0600 by default.
<li>Fix races in the rename and symlink commands of <a href="https://man.openbsd.org/sftp-server.8">sftp-server(8)</a>.
<li>Allow 'ProxyCommand none' in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
<!-- ^ 20030206 -->
<li>Hack around a tools bug in <a href="https://man.openbsd.org/disklabel.8">disklabel(8)</a>.
<li>Improve handling of invalid <a href="https://man.openbsd.org/pf.4">pf(4)</a> redirections.
<li>Tidy up <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> ProxyCommand option parsing.
<!-- ^ 20030205 -->
<li>Last part of the threaded fd improvements, fixing some bugs from stage one on the way.
<li>Set an all-ones mask when doing <a href="https://man.openbsd.org/pf.4">pf(4)</a> routing, since round-robin on the whole address space is unlikely to be the desired result.
<li>First installment of improvements to threaded file descriptor handling (see the <a href="https://cvsweb.openbsd.org/src/lib/libpthread/uthread/uthread_fd.c.diff?r1=1.16&amp;r2=1.17&amp;cvsroot=openbsd&amp;f=h">checkin comment</a> for details).
<li><a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> now sets the Default-Phase-1-Configuration transform to 3DES-SHA-RSA_SIG, the same as OpenBSD 3.2.
<li>Don't load a signed int into the <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> buffer when doing BSD auth; the buffer type only supports unsigned ints.
<!-- ^ 20030204 -->
<li>Note in the documentation that <a href="https://man.openbsd.org/snprintf.3">snprintf(3)</a> and <a href="https://man.openbsd.org/syslog_r.3">syslog_r(3)</a> are safe (with caveats) for use in signal handlers.
<li>Stop <a href="https://man.openbsd.org/pf.4">pf(4)</a> {dup,reply,route}-to rules using a loopback interface as the target - currently this can create loops.
<li>Don't have <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> expand altq rules (and so check for parent queues etc.) unless altq rules are actually being loaded.
<li>More <a href="https://man.openbsd.org/gcc.1">gcc(1)</a> stack protector fixes and tweaks.
<!-- ^ 20030203 -->
<li>Stop <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> closing a file it hasn't opened.
<li>Make <a href="https://man.openbsd.org/chpass.1">chpass(1)</a> more paranoid when opening its temp file.
<li>Make <a href="https://man.openbsd.org/iostat.8">iostat(8)</a>'s disk throughput bar smarter.
<li>Implement key exchange guesses as per the secsh standard in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
<li>Relax parsing of usernames in <a href="https://man.openbsd.org/scp.1">scp(1)</a>.
<!-- ^ 20030202 -->
<li>Make <a href="https://man.openbsd.org/pf.4">pf(4)</a> build without IPv6.
<li>Fix an mbuf leak in the ESP code.
<li>Correct a bad array index in <a href="https://man.openbsd.org/netstat.1">netstat(1)</a>.
<!-- ^ 20030201 -->
<li>Fix multicast problems with <a href="https://man.openbsd.org/vlan.4">vlan(4)</a>, and also remove some unnecessary Ethernet-specificity from the driver.
<li>Really fix combination of <a href="https://man.openbsd.org/pf.4">pf(4)</a> translation and route-to/reply-to.
<li>Check TCP, UDP, ICMP and ICMP6 checksums in <a href="https://man.openbsd.org/pf.4">pf(4)</a>, and make the sum isn't recalculated when the packet hits layer 4 in the kernel. Packets with invalid checksums are silently dropped, to avoid <a href="http://www.phrack.org/phrack/60/p60-0x0c.txt">firewall detection</a> by use of filter responses to bad packets.
<li>Make <a href="https://man.openbsd.org/pf.4">pf(4)</a>'s TCP state inspection RFC 763 compliant, and send a reset when presented with SYN-cookie schemes that send out-of-window ACKs during the TCP handshake.
<li>Now that <a href="https://man.openbsd.org/route.8">route(8)</a> is no longer setuid root, check the effective uid instead of the real uid.
<li>Fix a number of filesystem locking issues, for details see the <a href="https://cvsweb.openbsd.org/src/sys/kern/vfs_cache.c?rev=1.9&amp;content-type=text/x-cvsweb-markup">checkin comment</a>.
<li>Fix an ICMP mbuf leak.<br>
    <a href="stable.html">[Applied to stable]</a> <!-- XXX 3.2 -->
<!-- ^ 20030131 -->
<li>Create a fake siginfo_t for <a href="https://man.openbsd.org/pthread_kill.3">pthread_kill(3)</a>.
<li>Stop <a href="https://man.openbsd.org/dhcpd.8">dhcpd(8)</a> and <a href="https://man.openbsd.org/dhcrelay.8">dhcrelay(8)</a> trying to use dead interfaces.
<li>For ELF images, put .rodata in a separate section to the program text, so the read-only data is no longer executable.
<li>New <a href="https://man.openbsd.org/pf.conf.5">pf.conf(5)</a> interface modifiers:  &lt;if&gt;:network for the interface's connected network(s) and &lt;if&gt;:broadcast for the interface's broadcast address(es).
<li>Have <a href="https://man.openbsd.org/spamd.8">spamd(8)</a> revoke privileges earlier so it can bind to a priviliged port if desired.
<!-- ^ 20030130 -->
<li>Mirror the a.out initialise-dependent-libraries-first change for ELF.
<li>For POSIX reasons, make <a href="https://man.openbsd.org/setreuid.2">setre[ug]id(2)</a> real system calls again (albeit still implemented using setres[ug]id()) instead of 4.3BSD compatibility library calls.
<li><a href="https://man.openbsd.org/authpf.8">authpf(8)</a> sets the process title to '&lt;user&gt;@&lt;ip&gt;'.
<!-- ^ 20030129 -->
<li>Add a missing ntohs in <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> so that <a href="https://man.openbsd.org/pf.4">pf(4)</a> actions get printed correctly.
<!-- ^ 20030128 -->
<li>Make the resolver code in libc more thread-safe.
<li>Fix an fd_set overflow in <a href="https://man.openbsd.org/telnetd.8">telnetd(8)</a>.
<li>Improvements to pthreads signal handling. See the <a href="https://cvsweb.openbsd.org/src/lib/libpthread/uthread/uthread_sig.c?rev=1.18&amp;content-type=text/x-cvsweb-markup">checkin comment</a> for details.
<li>For <a href="https://man.openbsd.org/eg.4">eg(4)</a>, <a href="https://man.openbsd.org/el.4">el(4)</a>, <a href="https://man.openbsd.org/hppa/ie.4">ie(4/HPPA)</a> and <a href="https://man.openbsd.org/url.4">url(4)</a> zero-pad frames smaller than the minimum frame length.
<li>Update the termcap entry colours for wsvt25 to match reality.
<li>If the -a option is given to <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> to specify an anchor, don't allow operations that have a global effect.
<li>Make sure <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> correctly exits from the loop that prints IPv6 option headers.
<!-- ^ 20030127 -->
<li>Use record instead of play parameters to calculate the record high watermark in <a href="https://man.openbsd.org/audio.4">audio(4)</a>.
<li>Don't have <a href="https://man.openbsd.org/ftp-proxy.8">ftp-proxy(8)</a> remove leading spaces, this can break multiline commands.
<li>Further cleanups and shrinkage of the installer scripts.
<!-- ^ 20030126 -->
<li>Correct operation of <a href="https://man.openbsd.org/pf.4">pf(4)</a> rdr rules involving port ranges. Now the from- and to-range sizes can differ.
<li>Stop bogus packet drops during <a href="https://man.openbsd.org/pf.4">pf(4)</a> normalisation when an offset went negative.
<li>Fix <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> -n option operation with table statements.
<li>Allow <a href="https://man.openbsd.org/pf.4">pf(4)</a> tables to be initialised from a file listed in <a href="https://man.openbsd.org/pf.conf.5">pf.conf(5)</a>.
<li>Better checking and error reporting for illegal table-related constructs in <a href="https://man.openbsd.org/pf.4">pf(4)</a> rules.
<li>Improve TCP performance by sending segments of no more than half the send buffer space limit. This means that (if enough data is available to be sent) there will always be at least two segments sent. A BSD receiver-TCP will turn off delayed ACKs with more than one un-ACK'd packet on a socket.
<!-- ^ 20030125 -->
<li>Improvements to <a href="https://man.openbsd.org/newsyslog.8">newsyslog(8)</a> monitor mode.
<li>Plug a potential memory leak in <a href="https://man.openbsd.org/spamd.8">spamd(8)</a>.
<li>Make sure <a href="https://man.openbsd.org/xinit.1">xinit(1)</a> never leaks the MIT_MAGIC_COOKIE via the command line.
<li>Fix <a href="https://man.openbsd.org/vipw.8">vipw(8)</a>'s use of timestamps to detect changes to the temp file.
<li>Make sure a thread's signal handlers aren't run until the thread is made current.
<li>Save the fpu state when switching threads on i386 and sparc64, floating-point preemption regression tests now pass on these architectures.
<li>Fix <a href="https://man.openbsd.org/ndc.8">ndc(8)</a>'s reading of the <a href="https://man.openbsd.org/rc.conf.8">rc.conf(8)</a> variable NAMED_FLAGS.
<li>Fixes to <a href="https://man.openbsd.org/pf.4">pf(4)</a>'s TCP window scaling support.
<li>pfctl -vvsq display (altq stats) gets more useful, showing bandwidth and packet rate stats for CBQ and PRIQ.
<li>Install <a href="https://man.openbsd.org/nslookup.8">nslookup(8)</a> along with BIND 9, and don't print the irritating deprecation warning.
<!-- ^ 20030124 -->
<li><a href="https://man.openbsd.org/ftp-proxy.8">ftp-proxy(8)</a> now honours the TCP_WRAPPERS setting in mk.conf.
<li>Allow <a href="https://man.openbsd.org/cvs.1">cvs(1)</a> Checkin-Prog and Update-prog to be disabled with the new CVSROOT/config option "DisableXProg"
<li>Always use <a href="https://man.openbsd.org/splimp.9">splimp(9)</a> in <a href="https://man.openbsd.org/wi.4">wi(4)</a>, fixing some transmission failures.
<li>Add -1 and -2 options to <a href="https://man.openbsd.org/scp.1">scp(1)</a> to force SSH protocol 1 or 2 respectively.
<li>New -l bandwidth-limiter option for <a href="https://man.openbsd.org/scp.1">scp(1)</a>.
<li>New -c option to <a href="https://man.openbsd.org/ssh-add.1">ssh-add(1)</a>, that forces <a href="https://man.openbsd.org/ssh-agent.1">ssh-agent(1)</a> to pop up a dialog requesting confirmation of the use of a stored key.
<li>Don't have <a href="https://man.openbsd.org/pf.4">pf(4)</a> crash the kernel when translating icmp6 packets.
<!-- ^ 20030123 -->
<li>More updates to <a href="https://man.openbsd.org/unifdef.1">unifdef(1)</a>.
<!-- ^ 20030122 -->
<li>strcpy -&gt; strlcpy in <a href="https://man.openbsd.org/ftp.1">ftp(1)</a> macro expansion.
<li><a href="https://man.openbsd.org/pf.4">pf(4)</a> tables automatically spring into existence when referred to by <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> add or replace commands.
<li>Add <a href="https://www.ietf.org/rfc/rfc1323.txt">RFC 1323</a> TCP window scaling support to <a href="https://man.openbsd.org/pf.4">pf(4)</a>.
<li>Improvements to <a href="https://man.openbsd.org/wi.4">wi(4)</a> hostap timeouts.
<li>Add new <a href="https://man.openbsd.org/ssh-agent.1">ssh-agent(1)</a> -t option to set the default key lifetime.
<li>Add a generic watchdog interface and <a href="https://man.openbsd.org/sysctl.8">sysctl(8)</a> kern.watchdog.
<li>Shrink <a href="https://man.openbsd.org/wi.4">wi(4)</a> and save some space on the install floppies by removing hostap code when compiled with -DSMALL_KERNEL.
<li>Use the right variable type when <a href="https://man.openbsd.org/traceroute6.8">traceroute6(8)</a> fetches the default hop limit via <a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a>.
<li>Tweak <a href="https://man.openbsd.org/compat_linux.8">compat_linux(8)</a> socket syscall emulation. Improves emulation of programs using UDP.
<li>Fix an incorrect argument length passed to <a href="https://man.openbsd.org/setsockopt.2">setsockopt(2)</a> by <a href="https://man.openbsd.org/traceroute6.8">traceroute6(8)</a>.
<!-- ^ 20030121 -->
<li>bzero() after <a href="https://man.openbsd.org/malloc.9">malloc(9)</a> in <a href="https://man.openbsd.org/siop.4">siop(4)</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Have /etc/rc generate the BIND 9 <a href="https://man.openbsd.org/rndc.8">rndc(8)</a> shared secret if it doesn't exist.
<li>Add BIND 9 configuration files.
<li>Skip DNSSEC programs in BIND 9.
<li>Begin import of BIND 9.2.2rc1. (Local changes documented in <a href="https://cvsweb.openbsd.org/src/usr.sbin/bind/README.OpenBSD?rev=1.1&amp;content-type=text/x-cvsweb-markup">README.OpenBSD</a>.)
<li>Fix some silly pastos in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> table code.
<li>Create /var/empty/dev/log for programs that <a href="https://man.openbsd.org/chroot.2">chroot(2)</a> to /var/empty.
<li>Fix a typo in <a href="https://man.openbsd.org/pf.4">pf(4)</a> DIOCRSETTFLAGS implmentation, so it doesn't look like changing a table flag created a table when in fact it deleted one.
<li>Stop <a href="https://man.openbsd.org/syslog.3">syslog(3)</a> from reconnecting to /dev/log on an ENOBUFS as this doesn't help, and it hurts <a href="https://man.openbsd.org/chroot.2">chroot(2)</a>'ed processes.<br>
    <a href="stable.html">[Applied to stable]</a> <!-- XXX 3.2-stable -->
<li>Change <a href="https://man.openbsd.org/chroot.2">chroot(2)</a>'ed daemons <a href="https://man.openbsd.org/portmap.8">portmap(8)</a>, <a href="https://man.openbsd.org/rstatd.8">rstatd(8)</a> and <a href="https://man.openbsd.org/rusersd.8">rusersd(8)</a> to use <a href="https://man.openbsd.org/openlog.3">openlog(3)</a> with LOG_NDELAY.
<li>Implement <a href="https://man.openbsd.org/sigaltstack.2">sigaltstack(2)</a> under pthreads.
<li>Copy the thread sources (including CVS history) from  lib/libc_r to lib/pthread, and move libc_r into the Attic.
<li>Make <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> show more information with -vvs[rn] for rules containing tables.
<!-- ^ 20030120 -->
<li><strong>SECURITY FIX: A double free in <a href="https://man.openbsd.org/cvs.1">cvs(1)</a> could allow an attacker to execute code with the privileges of the user running cvs. This is only an issue when the cvs command is being run on a user's behalf as a different user. This means that, in most cases, the issue only exists for cvs configurations that use the pserver client/server connection method.</strong><br>
    <a href="errata32.html#cvs">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Add an invalid ioctl sanity check to <a href="https://man.openbsd.org/gif.4">gif(4)</a>.
<li>Bring <a href="https://man.openbsd.org/perl.1">perl(1)</a>'s build into line with the libc_r -&gt; pthread move.
<li>Big improvements to a.out library dependency handling.
<li>Make <a href="https://man.openbsd.org/select.2">select(2)</a> a thread cancellation point as per the standard.
<li>Fix some locking-related <a href="https://man.openbsd.org/raidctl.8">raidctl(8)</a> panics.
<!-- ^ 20030119 -->
<li>Updates to <a href="https://man.openbsd.org/unifdef.1">unifdef(1)</a>.
<li>Fix a null deref in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> when processing the -k option.
<li>Big cleanup of host() in the <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> parser.
<li>When running <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> with insufficient privileges to open /dev/pf, make the -n option work as a syntax checker for table commands.
<!-- ^ 20030118 -->
<li>Unbreak <a href="https://man.openbsd.org/pf.4">pf(4)</a> nat random source port assignment. Now a rule has to actually ask for static-port in order to get it.
<li>Enable the <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> 'static-port' keyword.
<li>Extensive <a href="https://man.openbsd.org/ld.1">ld(1)</a> changes to better protect ELF executables from tampering (see the <a href="https://cvsweb.openbsd.org/src/gnu/usr.bin/binutils/bfd/elf.c?rev=1.13&amp;content-type=text/x-cvsweb-markup">checkin comment</a> for details).
<li>Add new output format option '-f' to <a href="https://man.openbsd.org/ncheck_ffs.8">ncheck_ffs(8)</a>.
<li><a href="https://man.openbsd.org/ncheck_ffs.8">ncheck_ffs(8)</a> no longer reports when the set[ug]id bits are set on directories, since these are meaningless in OpenBSD.
<li>Fix a missing YYERROR in the <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> parser.
<!-- ^ 20030117 -->
<li>Deal with <a href="https://man.openbsd.org/cd.4">cd(4)</a> drives that are picky about being asked to play the leadout track.
<li><a href="https://cvsweb.openbsd.org/src/sys/dev/pci/pcidevs.diff?r1=1.586&amp;r2=1.587&amp;f=h">Note with regret and sadness</a> that the <a href="http://www.yourvote.com/pci/">freely available PCI vendor and device list</a> is no longer available.
<li>Bring <a href="https://man.openbsd.org/protocols.5">protocols(5)</a> more into line with current reality.
<li>More improvements and device additions to <a href="https://man.openbsd.org/pciide.4">pciide(4)</a>.
<!-- ^ 20030116 -->
<li>Explicity use the first path found by <a href="https://man.openbsd.org/glob.3">glob(3)</a> instead of indexing with an uninitialised variable in <a href="https://man.openbsd.org/sftp.1">sftp(1)</a>.
<li>Small fixes to <a href="https://man.openbsd.org/whois.1">whois(1)</a>.
<li>Create PIC archives for a number of X libs, useful for ports that create shared libraries.
<li>Stop <a href="https://man.openbsd.org/nfsstat.1">nfsstat(1)</a> displaying info for the no-longer-supported <a href="http://docs.freebsd.org/44doc/papers/nqnfs.html">NQNFS</a> protocol.
<li>Fix <a href="https://man.openbsd.org/nfsstat.1">nfsstat(1)</a>'s filesystem id lookup, and a minor buffer overrun.
<li>Fix some minor bugs in <a href="https://man.openbsd.org/pf.4">pf(4)</a> table creation.
<li>Have <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> recognise the '-T load' option like it used to.
<li>Plug a memory leak in the <a href="https://man.openbsd.org/pf.4">pf(4)</a> table code when using PFR_FLAG_DUMMY.
<li>For the benefit of <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a>, allow outbound pings from the initial <a href="https://man.openbsd.org/pf.4">pf(4)</a> rulebase installed by <a href="https://man.openbsd.org/rc.8">rc(8)</a>.
<!-- ^ 20030115 -->
<li>Pull all the IP address parsing code of <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> into one place.
<li>Goodbye libc_r and libnpthread, hello libpthread.
<li>Check for and report read errors in <a href="https://man.openbsd.org/md5.1">md5(1)</a>.
<li>Stop <a href="https://man.openbsd.org/sftp.1">sftp(1)</a> uploading or downloading non-regular files.
<li>/etc/weekly is now built (by default) in /var/tmp rather than /tmp.
<!-- ^ 20030114 -->
<li>Add an extra sanity check in <a href="https://man.openbsd.org/malloc.3">malloc(3)</a> to prevent size_t overflows.
<li>Better input checking and error handling in the <a href="https://man.openbsd.org/pf.4">pf(4)</a> table code.
<!-- ^ 20030113 -->
<li>Begin converting <a href="https://man.openbsd.org/vmstat.8">vmstat(8)</a> with the -i option to use <a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a> instead of kvm.
<li>Start work on NVIDIA nForce support.
<!-- ^ 20030112 -->
<li><a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> now supports CIDR-notation IPv4 addresses when manipulating tables.
<li>Some command-line fixes and tweaks to <a href="https://man.openbsd.org/rusers.1">rusers(1)</a>.
<li>Stop <a href="https://man.openbsd.org/rm.1">rm(1)</a> with the -P option from overwriting files with multiple links.
<!-- ^ 20030111 -->
<li>Fix handling of addition and subtraction of negated addresses to tables in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<li>In <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> only show the <a href="https://man.openbsd.org/socket.2">socket(2)</a> error for the last address to which one tries to connect.
<li>Don't fill files full of holes with <a href="https://man.openbsd.org/ftruncate.2">ftruncate(2)</a> after a write error in <a href="https://man.openbsd.org/rcp.1">rcp(1)</a> and <a href="https://man.openbsd.org/scp.1">scp(1)</a>.
<li>Add a progress meter to the <a href="https://man.openbsd.org/sftp.1">sftp(1)</a> client.
<!-- ^ 20030110 -->
<li>Remove <a href="https://man.openbsd.org/OpenBSD-3.2/fetch.9">fetch(9)</a> and <a href="https://man.openbsd.org/OpenBSD-3.2/store.9">store(9)</a> from the kernel, and replace calls to them with their <a href="https://man.openbsd.org/copy.9">copy(9)</a> descendants.
<li>Various strl* return value checks in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<li>Initial support for queue statistics display for <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> (-vsq option).
<li>'Default-Phase-1-Configuration' -&gt; 'Default-phase-1-configuration', 'Default-Phase-2-Suites' -&gt; 'Default-phase-2-suites' in <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>.
<li>New table manipulation syntax for <a href="https://man.openbsd.org/pf.conf.5">pf.conf(5)</a>, and a corresponding new -Tl option for <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<li>Add support for active/inactive <a href="https://man.openbsd.org/pf.4">pf(4)</a> tablesets in the kernel
<!-- ^ 20030109 -->
<li>Enable SET/ACK in <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> when acting as an ike-mode-cfg responder.<br>
    <a href="stable.html">[Applied to stable]</a> <!-- XXX 3.2-stable -->
<li>Improvements and fixes to batch mode <a href="https://man.openbsd.org/sftp.1">sftp(1)</a>.
<!-- ^ 20020108 -->
<li>Big <a href="https://man.openbsd.org/strlcpy.3">strlcpy/strlcat(3)</a> makeover for <a href="https://man.openbsd.org/csh.1">csh(1)</a>.
<li>Stop <a href="https://man.openbsd.org/compress.1">compress(1)</a> from clobbering an existing output file if the input can't be opened.
<li><a href="https://man.openbsd.org/gcc.1">gcc(1)</a> attribute(sentinel) improvements.
<li>Improvements to <a href="https://man.openbsd.org/whois.1">whois(1)</a>: Can specify port with -p; recursive IP lookup; INICHOST (-i) is now netsol.
<!-- ^ <li>In the <a href="https://man.openbsd.org/gcc.1">gcc(1)</a> stack protector code, avoid using long integer addition on processors that don't support it. --> <!-- reverted anyway 20030112 - phew -->
<li>Remove old altq packet-classifier code from the kernel now that <a href="https://man.openbsd.org/pf.4">pf(4)</a> does its job instead.
<!-- ^ 20030107 -->
<li><a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>'s string parser can handle strings beginning with an underscore, useful for all those new daemon usernames.
<li>Have <a href="https://man.openbsd.org/authpf.8">authpf(8)</a> clean up after failed previous incarnations of itself.
<li>Don't allow s[eh]mmni to be set (via the newish <a href="https://man.openbsd.org/sysctl.8">sysctl(8)</a> interface) greater than 0xffff, to prevent id collisions due to wraparound.
<li><a href="https://man.openbsd.org/pf.4">pf(4)</a> tables now spring into and out of existence on demand.
<li>Fix the <a href="https://man.openbsd.org/sudoers.5">sudoers(5)</a> parser's handling of EOF not preceded by newline.
<li>Stop <a href="https://man.openbsd.org/sftp.1">sftp(1)</a> from always adding u+w permissions to files pulled by get -p.
<li>Values set in <a href="https://man.openbsd.org/sysctl.conf.5">sysctl.conf(5)</a> can contain spaces when quoted as for sh.
<li><a href="https://man.openbsd.org/shmctl.2">shmctl(2)</a> can now operate on segments marked for removal.
<li>In <a href="https://man.openbsd.org/compress.1">compress(1)</a>, don't trip the 'may not mix -o, -c or -t' warning by mistake, and don't choke on stdin when compressing.
<li>Add <a href="https://man.openbsd.org/mg.1">mg(1)</a> the +number option, which moves the point to the given line of each file.
<li>Correct a couple of {dup,reply,route}-to problems related to nat pools.
<!-- ^ 20030106 -->
<li>Create a new group, _lkm, and install <a href="https://man.openbsd.org/modstat.8">modstat(8)</a> setgid to it instead of to kmem.
<li><a href="https://man.openbsd.org/pstat.8">pstat(8)</a> now only does <a href="https://man.openbsd.org/kvm_openfiles.3">kvm_openfiles(3)</a> for the -v option, the rest is obtained using <a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a>.
<li><a href="https://man.openbsd.org/cp.1">cp(1)</a> sets permissions later, so -R works when copying directories with no write access.
<li>Fix a null deref in <a href="https://man.openbsd.org/dlsym.3">dlsym(3)</a>.
<!-- ^ 20030105 -->
<li>Avoid a rare division-by-zero in <a href="https://man.openbsd.org/ps.1">ps(1)</a> that could occur on non-IEEE systems like the vax.
<li>Remove the endianness from <a href="https://man.openbsd.org/bktr.4">bktr(4)</a>. Enable on macppc.
<li>Make sure we don't try to free a null pointer in <a href="https://man.openbsd.org/whois.1">whois(1)</a>.
<li>Change 'no-route' implementation from a flag in the <a href="https://man.openbsd.org/pf.4">pf(4)</a> rule address to an address type.
<li>Make <a href="https://man.openbsd.org/pf.4">pf(4)</a> skip-step calculation honour the 'no-route' keyword.
<li>Remove code in <a href="https://man.openbsd.org/ld.1">ld(1)</a> to force linking against a specific library version.<br>
    <a href="stable.html">[Applied to stable]</a> <!-- XXX 3.2-stable -->
<li>Add console support for Polish and Turkish keyboard layouts.
<!-- ^ 20030104 -->
<li>Add the userland support for <a href="https://man.openbsd.org/pf.4">pf(4)</a> tables to <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> and <a href="https://man.openbsd.org/authpf.8">authpf(8)</a>.
<li>Remove reference to the now obsolete <a href="https://man.openbsd.org/sparc/screenblank.0">screenblank</a> from /etc/rc.
<li>Fix <a href="https://man.openbsd.org/dig.1">dig(1)</a> time display on 64-bit big-endian targets.
<li>Do a <a href="https://man.openbsd.org/bridge.4">bridge(4)</a> routing update if the source interface is in the LEARNING state, not the destination interface.
<!-- ^ 20030103 -->
<li><a href="https://man.openbsd.org/ftp.1">ftp(1)</a> does a better job of detecting a failed cd command.
<li>Have <a href="https://man.openbsd.org/syslog.3">syslog(3)</a> parse '%%m' correctly.
<li>Fix a null deref in <a href="https://man.openbsd.org/at.1">at(1)</a>.
<li>Require a direction for <a href="https://man.openbsd.org/pf.4">pf(4)</a> rules that do routing.
<li>When combining (route|reply)-to and translation in <a href="https://man.openbsd.org/pf.4">pf(4)</a> rules, make sure a state table insertion is only attempted once.
<!-- ^ 20030102 -->
<li>Note (in the system copyright message) that it's now 2003.
<li>Update to sendmail 8.12.7.
<li>Have <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> display all <a href="https://man.openbsd.org/pf.4">pf(4)</a> rule types instead of just pass/block rules.
<li>Make the <a href="https://man.openbsd.org/pf.4">pf(4)</a> table code handle duplicate table names and/or duplicate addresses in a single <a href="https://man.openbsd.org/ioctl.2">ioctl(2)</a> call.
<!-- ^ 20030101 -->
<li>Remove the <a href="https://man.openbsd.org/pf.4">pf(4)</a> skip-step for rule action (scrub or no-scrub).
<li>Properly update <a href="https://man.openbsd.org/pf.4">pf(4)</a> scrub rule statistics.
<li>Put <a href="https://man.openbsd.org/pf.4">pf(4)</a> scrub rules into a ruleset separate to filter rules.
<li>Implement policy suggestions in <a href="https://man.openbsd.org/xsystrace.1">xsystrace(1)</a>.
<li>Adios amiga and sun3 platforms.
<!-- ^ 20021231 -->
<li>Don't overrun the buffer when listing route entries via <a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a>.
<li>Fix <a href="https://man.openbsd.org/strtok_r.3">strtok_r(3)</a> breakage in libwrap that was causing EXCEPT rules to fail.
<li>Add a missing <a href="https://man.openbsd.org/exit.3">exit(3)</a> in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<li>Correctly ignore the case where a directory with the desired executable name appears in one of the paths searched by <a href="https://man.openbsd.org/execvp.3">exec[vl]p(3)</a>.
<li>Set a default <a href="https://man.openbsd.org/pf.4">pf(4)</a> state table size of 10000 entries.
<li>In <a href="https://man.openbsd.org/pf.conf.5">pf.conf(5)</a>, change keyword 'ipv6-icmp-type' to 'icmp6-type' and instead of 'proto ipv6-icmp' allow 'icmp6'
<li>Fix a C++ compiler problem with Kerberos IV's krb.h, similar to the cdefs.h fix earlier.
<li>Avoid a null deref when parsing the command line of <a href="https://man.openbsd.org/make.1">make(1)</a>.
<li>Allocate memory for connections to <a href="https://man.openbsd.org/spamd.8">spamd(8)</a> based on the -c command line option.
<li>Make <a href="https://man.openbsd.org/cd.4">cd(4)</a> try more often than other scsi devices, and don't ignore 'not ready' status from the bus.
<li>Add a parameter for the number of retries when waiting for a scsi device to come ready (scsi_test_unit_ready()).
<li>If <a href="https://man.openbsd.org/semop.2">semop(2)</a> has to do a <a href="https://man.openbsd.org/tsleep.9">tsleep(9)</a>, wake it back up at a much lower priority.
<li>Wait until a semaphore undo structure can be allocated if one isn't available immediately, and check that another hasn't been allocated to our process while we were waiting.
<li>Properly check SOCKS connection return code in <a href="https://man.openbsd.org/nc.1">nc(1)</a>.
<li>More firewire fixes. Concurrent devices support on the way.
<li>Remove outdated references to NFS as an installation source from the install notes.
<!-- ^ 20021230 -->
<li>Fix HOSTAP_FLAG_BITS in <a href="https://man.openbsd.org/wi.4">wi(4)</a>.
<li>Make 'pfctl -a name -s[rn]' show all rules or nats in all rulesets on anchor 'name'.
<li>In <a href="https://man.openbsd.org/authpf.8">authpf(8)</a>, set the macro '$user_id' to the username.
<li>Fix a couple of missed semaphore counter updates.
<li>Add kernel portion of <a href="https://man.openbsd.org/pf.4">pf(4)</a> support for efficient tables of addresses (currently implemented as radix tables similar to the kernel routing table).
<!-- ^ 20021229 -->
<li>Remove an extraneous semicolon in &lt;sys/cdefs.h&gt; that broke some C++ compilers.
<li>Fix an amusingly incorrect <a href="https://man.openbsd.org/calloc.3">calloc(3)</a> size in <a href="https://man.openbsd.org/nc.1">nc(1)</a>.
<!-- ^ 20021228 -->
<li>Allow the log keyword in <a href="https://man.openbsd.org/pf.4">pf(4)</a> scrub rules.
<li>Some fixes to <a href="https://man.openbsd.org/pf.4">pf(4)</a> ioctl handling.
<li>When <a href="https://man.openbsd.org/pf.4">pf(4)</a> is routing a stateful connection, use the correct pool address.
<li>Fix kernel <a href="https://man.openbsd.org/pf.4">pf(4)</a>'s ability to match binat-anchor rules.
<li>Add a missing initialisation that was causing a crash in <a href="https://man.openbsd.org/pf.4">pf(4)</a>.
<!-- ^ 20021227 -->
<li>Add <a href="https://man.openbsd.org/spamd.8">spamd(8)</a> support to <a href="https://man.openbsd.org/rc.8">rc(8)</a>. rc.conf and root's crontab.
<li>More paranoia checks in kernel <a href="https://man.openbsd.org/pf.4">pf(4)</a> routing.
<!-- ^ 20021226 -->
<li>Unbreak <a href="https://man.openbsd.org/spamd.8">spamd(8)</a>'s connection timeout.
<li>Honour the -R and -N flags to <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<li>Tweak <a href="https://man.openbsd.org/gcc.1">gcc(1)</a>'s handling of inline functions w.r.t. the stack protector.
<!-- ^ 20021225 -->
<li>New _spamd user and group for, uh, <a href="https://man.openbsd.org/spamd.8">spamd(8)</a>.
<li>Fix <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>'s display of 'control' keyword for CBQ rules.
<!-- ^ 20021224 -->
<li>Make libc/md/md5c.c compile again for big-endian machines.
<li>Avoid a null deref in <a href="https://man.openbsd.org/pppd.8">pppd(8)</a>.
<li>Remove a couple of extra <a href="https://man.openbsd.org/ntohs.3">ntohs(3)</a> calls in <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a>.
<li>Cleanup of <a href="https://man.openbsd.org/atactl.8">atactl(8)</a>.
<li>Fix device attachment bug in <a href="https://man.openbsd.org/siop.4">siop(4)</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<!-- ^ 20021223 -->
<li>Update Perl's <a href="https://man.openbsd.org/Safe.0">Safe(3p)</a> module to 2.09, fixing a <a href="http://archive.develooper.com/perl5-porters@perl.org/msg87643.html">security hole</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li><a href="https://man.openbsd.org/newsyslog.8">newsyslog(8)</a> error messages now contain the line number.
<li>Have 'chroot -U' do a <a href="https://man.openbsd.org/setlogin.2">setlogin(2)</a> if the caller is, or can be made into, the session leader.
<li>Make <a href="https://man.openbsd.org/chroot.8">chroot(8)</a> check for $SHELL defined as null as well as for undef.
<li>Increase the receive buffer length of the correct socket in <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>.
<li>Fix <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>'s display of binat rules that use nat pools.
<li><a href="https://man.openbsd.org/authpf.8">authpf(8)</a> rules are now managed in their own anchor instead of at the end of the main rulebase. New *anchor rules are needed to activate authpf.
<!-- ^ 20021222 -->
<li>Make sure the queue identifier returned by <a href="https://man.openbsd.org/msgget.2">msgget(2)</a> is greater than zero.
<li>Correctly display <a href="https://man.openbsd.org/pf.4">pf(4)</a> rdr rules with no proxy port.
<li>Fix a missing initialisation in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<!-- ^ 20021221 -->
<li>Add <a href="https://man.openbsd.org/spamd.8">spamd(8)</a>, which uses new <a href="https://man.openbsd.org/pf.4">pf(4)</a> features to stop spammers even hitting the mail server.
<li>Fix an Alpha-specific crash in <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> by using bcopy() instead of structure assignment.
<li>Fix a use-after-free() in <a href="https://man.openbsd.org/mailwrapper.8">mailwrapper(8)</a>.
<li>Add a new kernel <a href="https://man.openbsd.org/pool.9">pool(9)</a> flag, PR_DEBUG, the use of which causes pool memory to be <a href="https://man.openbsd.org/malloc.9">malloc(9)</a>'d using M_DEBUG.
<!-- ^ 20021220 -->
<li>Add new kernel <a href="https://man.openbsd.org/malloc.9">malloc(9)</a> type M_DEBUG.
<li>Also support CORENIC handles in <a href="https://man.openbsd.org/whois.1">whois(1)</a>.
<li>Add dsiz and ssiz keywords to <a href="https://man.openbsd.org/ps.1">ps(1)</a> to show data size and stack size respectively.
<li>Update <a href="https://man.openbsd.org/awk.1">awk(1)</a> to '<a href="http://cm.bell-labs.com/cm/cs/who/bwk/">one true awk</a>' version 20021213 (Friday 13th ed.)
<li>Add the -6 and -c registry shortcuts to <a href="https://man.openbsd.org/whois.1">whois(1)</a>, and deal with VNIC handles starting with '!'.
<li>Better resolver error checking, a few fixes and a lot of message cleanup in <a href="https://man.openbsd.org/ftp-proxy.8">ftp-proxy(8)</a>.
<li>Stop '-k' being used as an abbreviation for '--keep-locals' in GNU <a href="https://man.openbsd.org/as.1">as(1)</a>.
<li>Optimise <a href="https://man.openbsd.org/pf.4">pf(4)</a> skip-step calculation to O(n) from O(n-squared).
<li>Fix <a href="https://man.openbsd.org/pf.4">pf(4)</a> 'no {binat,nat,rdr}' evaluation.
<!-- ^ 20021219 -->
<li>Allow <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> (with the -vsn) option to display translation statistics as -vsr does for rules.
<li>When logging <a href="https://man.openbsd.org/pf.4">pf(4)</a> rules from anchored rules, display the *anchor rule number, not the rule number within the anchored rules. (Hopefully both will be displayed sometime soon.)
<li>Make sure that state table entry display doesn't try to print rules that are no longer in place.
<li>Prevent changes to different rule types overwriting <a href="https://man.openbsd.org/pf.4">pf(4)</a> DIOCCHANGE* tickets.
<li>Support a single destination port in <a href="https://man.openbsd.org/pf.4">pf(4)</a> rdr-anchor rules.
<li>Match <a href="https://man.openbsd.org/pf.4">pf(4)</a> {binat,nat,rdr}-anchor parsing to what is actually supported.
<!-- ^ 20021218 -->
<li>Always compile in PRIQ and HFSC schedulers if ALTQ is included in the kernel.
<li>Make SysV shared memory and semaphore limits configurable via <a href="https://man.openbsd.org/sysctl.8">sysctl(8)</a>. Oh yes.
<li><a href="https://man.openbsd.org/whois.1">whois(1)</a> no longer barfs totally if just one of its query list is not found.
<li>Add PRIQ scheduler support to <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<li><a href="https://man.openbsd.org/su.1">su(1)</a> only calls <a href="https://man.openbsd.org/setlogin.2">setlogin(2)</a> if it's the session leader (as noted in the setlogin manpage).
<li>More <a href="https://man.openbsd.org/compress.1">compress(1)</a>-works-like-<a href="https://man.openbsd.org/gzip.1">gzip(1)</a>: Add -r (recurse) option, and make it truncate existing files when extracting.
<li>Since <a href="https://man.openbsd.org/pf.4">pf(4)</a> rule comparison is now done in userland, remove unused pf_compare* functions from the kernel.
<li><a href="https://man.openbsd.org/pf.4">pf(4)</a> DIOCCHANGE* ioctls now require a ticket, to prevent races.
<li>Merge <a href="https://man.openbsd.org/pf.4">pf(4)</a> nat, binat and rdr structures and pools into pf_rule.
<li>Fix the signedness of <a href="https://man.openbsd.org/wsconsctl.8">wsconsctl(8)</a> variable display.focus, so a test against -1 now makes sense.
<!-- ^ 20021217 -->
<li>Teach <a href="https://man.openbsd.org/imake.1">imake(1)</a> how to detect automagically the <a href="https://man.openbsd.org/gcc.1">gcc(1)</a> stack protector.
<li>Now <a href="https://man.openbsd.org/pf.4">pf(4)</a> supports other queue types, only try to create a root queue for CBQ.
<li>For some peculiar reason, support decoding in <a href="https://man.openbsd.org/ppt.6">ppt(6)</a>.
<li>Make linux emultation *stat64() work again.
<li>Convert <a href="https://man.openbsd.org/altq.9">altq(9)</a> disciplines HFSC, PRIQ and RIO to <a href="https://man.openbsd.org/pf.4">pf(4)</a>-based (CDNR and RED to come,) and remove other queuing disciplines.
<!-- ^ 20021216 -->
<li><a href="https://man.openbsd.org/iostat.8">iostat(8)</a>, <a href="https://man.openbsd.org/systat.1">systat(1)</a> and <a href="https://man.openbsd.org/vmstat.8">vmstat(8)</a> now update their disk stats automatically when a device is detached.
<li>Enable login failure recording by default, by installing a blank /var/log/failedlogin (see <a href="https://man.openbsd.org/login.1">login(1)</a>).
<li>Fix some problems with the new inlined &lt;ctype.h&gt; functions on 64-bit architectures.
<!-- ^ 20021215 -->
<li>Make <a href="https://man.openbsd.org/cdio.1">cdio(1)</a> deal properly with multiline CDDB responses.
<!-- ^ 20021214 -->
<li>Add a second 'priority' queue to be specified in a pf(rule), currently used for low-delay ToS packets. Great for ToS-savvy programs like <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
<li>Revert <a href="https://man.openbsd.org/nc.1">nc(1)</a> to the old behaviour, so it exits when the read descriptor is closed instead of requiring both read and write to close.
<li>Cosmetic fixes to <a href="https://man.openbsd.org/scp.1">scp(1)</a>.
<li>Allow some ordering freedom for <a href="https://man.openbsd.org/pf.4">pf(4)</a> scrub rules.
<!-- ^ 20021213 -->
<li>Lots of firewire fixes. Add SCSI-over-FireWire support
<li>Compare all the bytes of a <a href="https://man.openbsd.org/pf.4">pf(4)</a> nat pools key, instead of comparing the first byte four times.
<li>Fix a linkage problem that stopped 'make build' working with DESTDIR set.
<!-- ^ 20021212 -->
<li>Remove setgid(kmem) from <a href="https://man.openbsd.org/trpt.8">trpt(8)</a>.
<li><a href="https://man.openbsd.org/pstat.8">pstat(8)</a> can now get the tty list using <a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a> insteam of <a href="https://man.openbsd.org/kvm_read.3">kvm_read(3)</a>.
<li>Fix <a href="https://man.openbsd.org/systrace.1">systrace(1)</a> logging so it works for non-translated calls too.
<li>Stop <a href="https://man.openbsd.org/close.2">close(2)</a> clobbering errno in <a href="https://man.openbsd.org/ld.1">ld(1)</a>.
<li>Convert &lt;ctype.h&gt; macros into functions so they are consistent with those in libc.
<li>Change XDR.x_handy from int to u_int to avoid sign bugs.
<li>Make <a href="https://man.openbsd.org/ar.1">ar(1)</a> work more like its GNU and Solaris counterparts and not require an archive for the d,m,q and r operations.
<li>Fix an mbuf-related panic in kernel PF_KEY v2 code.
<li>More ANSIfication in /sbin.
<li>Fix a potential (non-exploitable) buffer overrun in the <a href="https://man.openbsd.org/httpd.8">httpd(8)</a> macro FIX_PRECISION.
<li>Add missing <a href="https://man.openbsd.org/snprintf.3">snprintf(3)</a> error check to <a href="https://man.openbsd.org/config.8">config(8)</a>.
<!-- ^ 20021211 -->
<li>When mounting the root partition via NFS, call <a href="https://man.openbsd.org/inittodr.9">inittodr(9)</a> with the root filesystem's atime rather than its mtime (since it's likely to be read-only and pretty static).
<li>Renumber some (debug only) <a href="https://man.openbsd.org/tun.4">tun(4)</a> ioctls so they don't clash with <a href="https://man.openbsd.org/ppp.4">ppp(4)</a>.
<li>Make sure <a href="https://man.openbsd.org/user.8">user(8)</a> cleans up properly on failure by calling <a href="https://man.openbsd.org/pw_abort.3">pw_abort(3)</a>.
<li>Check the interface is running first to avoid doing unnecessary STP processing in <a href="https://man.openbsd.org/bridge.4">bridge(4)</a>.
<li>Before <a href="https://man.openbsd.org/login_getcapstr.3">login_getcapstr(3)</a> destroys the information, check that the value of $SHELL given to <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> is the same as the user's real shell.
<li>Remember to take the address of the structure on which we're using <a href="https://man.openbsd.org/bzero.3">bzero(3)</a> in the libc stack protector code. <!-- "bug fix" is not a terribly helpful checkin comment. -Andre -->
<li>Hack <a href="https://man.openbsd.org/setsockopt.2">setsockopt(2)</a> under linux emulation so that SO_REUSEADDR works as expected.
<!-- ^ 20021210 -->
<li>Use libc's <a href="https://man.openbsd.org/getopt_long.3">getopt_long(3)</a> instead of the private version found in a number of GNU programs.
<li>Fix a typo in <a href="https://man.openbsd.org/bridge.4">bridge(4)</a> so that <a href="https://man.openbsd.org/pf.4">pf(4)</a> actually gets applied to outbound frames...
<li>Yet more string function paranoia in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<li>Allow <a href="https://man.openbsd.org/bridge.4">bridge(4)</a> to set the STP path cost.
<li>Add support for regular expression matches in <a href="https://man.openbsd.org/systrace.1">systrace(1)</a> filters.
<li>In <a href="https://man.openbsd.org/systrace.1">systrace(1)</a>, don't allow 'permit' to be used on aliases.
<!-- ^ 20021209 -->
<li>Now that options to <a href="https://man.openbsd.org/pf.4">pf(4)</a> rules can mostly be in any order, check for and disallow repeated options.
<li>Handle '-' as stdin or stdout appropriately in <a href="https://man.openbsd.org/uniq.1">uniq(1)</a>.
<li>strncpy -&gt; strlcpy 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> accept most of <a href="https://man.openbsd.org/gzip.1">gzip(1)</a>'s long options. Some cleanup also.
<li>Continuing compatibility tweaks to <a href="https://man.openbsd.org/getopt_long.3">getopt_long(3)</a>.
<!-- ^ 20021208 -->
<li><a href="https://man.openbsd.org/pf.4">pf(4)</a> queue options can now be in any order. The 'scheduler' keyword is no longer used.
<li>More rule shrinkage: The 'fromto' part of a <a href="https://man.openbsd.org/pf.4">pf(4)</a> is now optional and defaults to 'all', so e.g. 'block' == 'block all' == 'block from any to any'. <!-- Another uncommented feature, r1.244 -->
<li><a href="https://man.openbsd.org/pf.4">pf(4)</a> anchor rules now support parameters, so 'anchor name proto tcp from any to any port smtp' works.
<li>Remove support for the '-a otp' flag from <a href="https://man.openbsd.org/telnetd.8">telnetd(8)</a>. Use <a href="https://man.openbsd.org/login.conf.5">login.conf(5)</a> instead.
<li>Make <a href="https://man.openbsd.org/su.1">su(1)</a>'s -a flag work again.
<li>'pfctl -s' now prints out addresses in rules in the order they are entered.
<li>When <a href="https://man.openbsd.org/telnet.1">telnet(1)</a> receives a SIGPIPE when writing to the terminal, treat it like a user SIGQUIT.
<li>Have <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> use the actual interface MTU instead of assuming 1500.
<li>Convert string key hashes in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> to network byte order.
<li>Fix a bug in Xaw that reads the wrong error return from <a href="https://man.openbsd.org/open.2">open(2)</a>.
<!-- ^ 20021207 -->
<li>All the games set up the RNG with <a href="https://man.openbsd.org/srandomdev.3">srandomdev(3)</a> instead of by lesser means.
<li>Have <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> set the transform from the Default-Phase-1-Configuration.
<li>Make <a href="https://man.openbsd.org/srandomdev.3">srandomdev(3)</a> fall back to using sysctl if it can't open /dev/arandom.
<li>Make the libc <a href="https://man.openbsd.org/getopt_long.3">getopt_long(3)</a> more compatible with GNU.
<li>Output from 'pfctl -v' is now valid input to <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<li>Make section and tag comparisons in <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> case-insensitive.
<!-- ^ 20021206 -->
<li>Allow a null direction in <a href="https://man.openbsd.org/pf.4">pf(4)</a> rules, so e.g. 'block all' is now valid. <!-- Oh yes. Uncommented effect of r1.237 that introduced anchor rules. -->
<li>Add named rulesets support to <a href="https://man.openbsd.org/pf.4">pf(4)</a>, invoked from 'anchor' rules in the main ruleset.
<li>Kernel memory allocation debugging can now be used anywhere - if the debugging pool is not yet initialised, it just does nothing.
<li>Fixes to <a href="https://man.openbsd.org/getopt_long.3">getopt_long(3)</a>.
<li>Rule numbers are no longer output by 'pfctl -v'. Use '-v -v' to get them back.
<li>Make <a href="https://man.openbsd.org/scp.1">scp(1)</a> handle systems with odd block sizes better.
<!-- ^ 20021205 -->
<li>Drop unnecessary altq devices from the kernel.
<li>Pass correct sizes to memset in <a href="https://man.openbsd.org/ping6.8">ping6(8)</a>.
<li>Make <a href="https://man.openbsd.org/bridge.4">bridge(4)</a> behave better when running spanning tree: Flush the dynamic MAC cache when the forwarding/blocking state changes, and only forward packets while in the forwarding state.
<li>Make <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> accept ACQUIRE requests with a null EXT_ADDRESS_SRC.
<li>In <a href="https://man.openbsd.org/pf.4">pf(4)</a>, apply a netmask consistently.
<!-- ^ 20021204 -->
<li>Crank the major version numbers of the X libraries.
<li>Continuing cleanup and shrinkage of the installer scripts.
<li><a href="https://man.openbsd.org/arp.8">arp(8)</a> now prints the interface name with which an address is associated.
<li>Big cleanup up <a href="https://man.openbsd.org/mixerctl.1">mixerctl(1)</a>.
<li>Import a GNUish <a href="https://man.openbsd.org/getopt_long.3">getopt_long(3)</a> from NetBSD.
<li>Add -4 and -6 command line options to <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> to select the address family to use.
<li>Better MTU setting for <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a>.
<li>Correct a missed initialiser in <a href="https://man.openbsd.org/raid.4">raid(4)</a>.
<li>Have <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> play nice and shut down its sockets when it's done.
<!-- ^ 20021203 -->
<li>Crank all (system) library major numbers now that propolice is in.
<li>Make a copy of rather than just refer to a string in <a href="https://man.openbsd.org/ld.1">ld(1)</a>. Cures some ports linking problems.
<li>Allow options at the end of <a href="https://man.openbsd.org/pf.4">pf(4)</a> pass and block rules to come in any order.
<li>Make the bandwidth specifier optional in altq rules (as well as queue rules). As a side effect, the altq rules can now have "bandwidth xx%" where the percentage is taken w.r.t. the interface bandwidth.
<li>Implement legacy functions <a href="https://man.openbsd.org/ecvt.3">ecvt(3)</a>, fcvt(3) and gcvt(3) for standards compliance.
<li>Add <a href="http://www.trl.ibm.com/projects/security/ssp">propolice</a> stack attack protection into <a href="https://man.openbsd.org/gcc.1">gcc(1)</a>.
<li>Updated <a href="https://man.openbsd.org/unifdef.1">unifdef(1)</a>.
<li>Make a copy of the return value of basename() before recording it in the bfd, fixes the "NEEDED crtend.o" problem that many ports had to work around.
    <a href="stable.html">[Applied to stable]</a> <!-- XXX 3.2-stable -->
<!-- ^ 20021202 -->
<li>Don't have the X server drop privileges if started by root and from a non-standard config path.
<li>Tweaks and fixes to <a href="https://man.openbsd.org/pf.4">pf(4)</a>'s ioctl code.
<!-- ^ 20021201 -->
<!-- ^ 20021130 -->
<li>Teach <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> about <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a>.
<li>Add new pseudo-device <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a>, exposing changes to the <a href="https://man.openbsd.org/pf.4">pf(4)</a> state table.
<li>Kill a null deref in <a href="https://man.openbsd.org/pf.4">pf(4)</a>.
<li>Wrap some noisy altq printf()s with #ifdef ALTQ_DEBUG.
<!-- ^ 20021129 -->
<li><a href="https://man.openbsd.org/file.1">file(1)</a> gets a new option, -b, which supresses the output of the pathname.
<li>Allow a qlimit to be specified in <a href="https://man.openbsd.org/pf.4">pf(4)</a> altq rules as well as in queue rules.
<li>Use a custom hash function (based on that in if_bridge.c) for <a href="https://man.openbsd.org/pf.4">pf(4)</a> source-hash nat pools instead of MD5.
<li><a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> checks for invalid icmp6 option length.
<!-- ^ 20021128 -->
<li>page_dir update fixed in <a href="https://man.openbsd.org/realloc.3">realloc(3)</a>. MALLOC_OPTIONS=J is now honoured in realloc() as well.
<li>'fc -e' now works when <a href="https://man.openbsd.org/ksh.1">ksh(1)</a> is invoked in 'sh' mode.
<li>Allow usernames given to <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> to contain '@' characters, i.e. the hostname follows the last '@'.
<li>Tweaks to <a href="https://man.openbsd.org/pf.4">pf(4)</a> altq rules display.
<li>Stop <a href="https://man.openbsd.org/daemon.3">daemon(3)</a> closing descriptors that <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> needs.
<li>Have <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> read correctly the tbrsize spec.
<li>Fix underflow and wraparound in socket timeout calculation.
<li>Make IPv6 work in Linux emulation mode, though not for IPv4-mapped addresses.
<!-- ^ 20021127 -->
<li>The bandwidth statement in <a href="https://man.openbsd.org/pf.4">pf(4)</a> queue rules is now optional.
<li>Change <a href="https://man.openbsd.org/pf.conf.5">pf.conf(5)</a> ordering so translation is now after queue...
<li>Parse more include files so that <a href="https://man.openbsd.org/kdump.1">kdump(1)</a> knows about more ioctls.
<li>Pass in the right structure to DIOCCHANGEADDR.
<!-- ^ 20021126 -->
<li>Fix 'pfctl -Fq' so <a href="https://man.openbsd.org/altq.9">altq(9)</a> gets flushed and reset properly.
<li>setuid() -&gt; seteuid() in <a href="https://man.openbsd.org/ftpd.8">ftpd(8)</a>.
<li>Tweak <a href="https://man.openbsd.org/pf.4">pf(4)</a>'s handling of address families in rules.
<li>Make <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> fetch the address properly for <a href="https://man.openbsd.org/lo.4">lo(4)</a> with LINK1 set.
<li>Use 1KB = 1000B instead of 1024B when dealing with bandwidth in <a href="https://man.openbsd.org/pf.4">pf(4)</a>.
<li>Fix URL CRLF injection bug in <a href="https://man.openbsd.org/lynx.1">lynx(1)</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Add a missing check for snprintf errors in <a href="https://man.openbsd.org/identd.8">identd(8)</a>.
<li>Protect arc4_getbyte() with an splhigh().
<li>Some cleanup in <a href="https://man.openbsd.org/talkd.8">talkd(8)</a>.
<!-- ^ 20021125 -->
<li>When <a href="https://man.openbsd.org/malloc.3">malloc(3)</a> stats dumps are enabled, warn if <a href="https://man.openbsd.org/atexit.3">atexit(3)</a> fails.
<li>Enforce new <a href="https://man.openbsd.org/pf.conf.5">pf.conf(5)</a> ordering: options, normalization, translation, queue, filter.
<li>Copy TAILQs properly in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<!-- ^ 20021124 -->
<li>Remove a potential access-after-free in libc's syslog code.
<li>New manual page <a href="https://man.openbsd.org/gcc-local.1">gcc-local(1)</a> documenting OpenBSD-specific changes to <a href="https://man.openbsd.org/gcc.1">gcc(1)</a>.
<li>So farewell, then, <a href="https://man.openbsd.org/OpenBSD-3.2/altqd.8">altqd(8)</a> and friends.
<li>Better <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> altq rule error checking.
<li>Fix a potential null deref in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>'s parser, and some general cleanup.
<li>Make sure <a href="https://man.openbsd.org/authpf.8">authpf(8)</a> and <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> don't try to issue ioctls when running with -n.
<!-- ^ 20021123 -->
<li>Implement 'nat pools' in <a href="https://man.openbsd.org/pf.4">pf(4)</a>, allow redirection using (nat, rdr, route-to, dup-to and reply-to) to multiple addresses.
<li>Improvements to the ELF loader.
<li>Some snprintf paranoia in BSD auth, also some extra initialisation.
<li>Added new example dir /usr/share/pf, and example queue rulebase /usr/share/pf/queue1 to show how cool pf+altq is.
<li>Stop <a href="https://man.openbsd.org/authpf.8">authpf(8)</a> accepting non-interactive sessions.
<li>'pfctl -v' displays altq and queue lines, including child queue assignment.
<li>Match the queue to the return type (icmp-unreach or RST) for <a href="https://man.openbsd.org/pf.4">pf(4)</a> block rules.
<li>Use a quad_t instead of an int, and fix rlimit sizing for >2GB machines.
<!-- ^ 20021122 -->
<li>Fix some <a href="https://man.openbsd.org/strncpy.3">strncpy(3)</a> lengths in <a href="https://man.openbsd.org/telnetd.8">telnetd(8)</a>.
<li>Add _tokenadm and _radius groups so their respective login programs can be setgid instead of setuid(root).
<li>Add _shadow group and change group and mode of /etc/spwd.db to match
<li>Add <a href="https://man.openbsd.org/atoll.3">atoll(3)</a> and <a href="https://man.openbsd.org/strerror.3">strerror_r(3)</a> to libc.
<li>Add simple multiple-card load balancing to <a href="https://man.openbsd.org/crypto.9">crypto(9)</a> and add a simplified driver registration API.
<li>Some int -&gt; unsigned int in <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>.
<li>New -n option for <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a> to disable DNS lookups.
<!-- ^ 20021121 -->
<li>Correct a format string bug in <a href="https://man.openbsd.org/routed.8">routed(8)</a>'s, er, Makefile.
<li>Fix <a href="https://man.openbsd.org/at.1">at(1)</a> breakage when two jobs are set for the same time.<br>
    <a href="stable.html">[Applied to stable]</a> <!-- XXX 3.2-stable -->
<li>Correct a use-before-init in <a href="https://man.openbsd.org/xterm.1">xterm(1)</a>.
<!-- ^ 20021120 -->
<li>Create a simple lookup table mechanism [dev/pci/pci.c:pci_matchbyid()] to match PCI device IDs, and have several drivers use it.
<li><a href="https://man.openbsd.org/vi.1">vi(1)</a> catalog updates: Fix Russian, add Polish and Ukrainian.
<li>Fix an off-by-one when reading ICMP types and codes by name in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<!-- ^ 20021119 -->
<li>Merge of <a href="https://man.openbsd.org/altq.9">altq(9)</a> and <a href="https://man.openbsd.org/pf.4">pf(4)</a>, still some work left to do.
<li>Don't overwrite SIG{INT,QUIT,TERM} handlers in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> if they're set to ignore. This mirrors <a href="https://man.openbsd.org/rsh.1">rsh(1)</a> behaviour.
<!-- ^ 20021118 -->
<!-- ^ 20021117 -->
<li>Make sure <a href="https://man.openbsd.org/skey.1">skey(1)</a> issues a fake challenge for a user without an S/Key file.
<!-- ^ 20021116 -->
<li>Enable the pthread library, but install it as libnpthreads so autoconf scripts don't pick it up and use it with -lpthread as well as using -pthread.
<li>In <a href="https://man.openbsd.org/ftpd.8">ftpd(8)</a>, prohibit user id changes once logged in, and run more stuff as the logged-in user.
<li>Add 'Default-Phase-1-Configuration' to <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>.
<li>Be more careful when loading RSA1 key files in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
<!-- ^ 20021115 -->
<li>Fix <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>'s handling of multiple values and continuation lines.
<li>Improvements to <a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a> symbol lookup failure messages.
<li>Allow DNS queries from the initial rulebase loaded by /etc/rc, so <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> can load at boot-time rulebases containing DNS entries.
<!-- ^ 20021114 -->
<li><strong>SECURITY FIX: A buffer overflow in <a href="https://man.openbsd.org/named.8">named(8)</a> could allow an attacker to execute code with the privileges of named. On OpenBSD, named runs as a non-root user in a chrooted environment which mitigates the effects of this bug.</strong><br>
    <a href="errata32.html#named">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Create links from <a href="https://man.openbsd.org/curses.3">curses(3)</a> libs to ncurses, to satisfy autoconfiguration scripts that expect the latter instead of checking properly.
<li><a href="https://man.openbsd.org/pf.4">pf(4)</a> scrub rules now are subject to the same list expansion as other rules.
<li>Add label macro '$if' to <a href="https://man.openbsd.org/pf.conf.5">pf.conf(5)</a>, now we can have interfaces in expansion lists.
<li>Add some missing pointer initialisations in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<!-- ^ 20021113 -->
<li>Add a null transform to <a href="https://man.openbsd.org/crypto.4">crypto(4)</a>, enabled via sysctl kern.cryptodevallowsoft=1.
<li>Fix <a href="https://man.openbsd.org/systrace.1">systrace(1)</a>'s determination of the <a href="https://man.openbsd.org/execve.2">execve(2)</a> filename.
<li>Kernel IPsec code checks for short IP headers.<br>
    <a href="stable.html">[Applied to stable]</a> <!-- XXX 3.2-stable -->
<!-- ^ 20021112 -->
<!-- ^ 20021111 -->
<!-- ^ 20021110 -->
<li><a href="https://man.openbsd.org/systrace.1">systrace(1)</a> checks for invalid system call numbers.
<!-- ^ 20021109 -->
<li>Make <a href="https://man.openbsd.org/su.1">su(1)</a>'s login emultation mode work even more like <a href="https://man.openbsd.org/login.1">login(1)</a>.
<li>Avoid a possible reference count leak in kernel file descriptor code.
<li>Remove bogus operations on the not-yet-existent file descriptor table in libc_r.
<!-- ^ 20021108 -->
<li>Implement simple vnodeops inheritance for specfs and fifofs,
<li><a href="https://man.openbsd.org/ftp.1">ftp(1)</a> can now follow HTTP redirects.
<li>Have <a href="https://man.openbsd.org/scp.1">scp(1)</a> properly reflect check the exit status of its <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> process if an error occurs.
<li>Fix some invalid pointers in <a href="https://man.openbsd.org/pf.4">pf(4)</a>'s <a href="https://man.openbsd.org/ioctl.2">ioctl(2)</a> handler.
<li>Stop <a href="https://man.openbsd.org/makewhatis.8">makewhatis(8)</a> moaning about non-existent directories.
<li>Don't use the HostbasedAuthentication switch to <a href="https://man.openbsd.org/ssh-keysign.8">ssh-keysign(8)</a>; instead, add new option EnableSSHKeysign to <a href="https://man.openbsd.org/ssh_config.5">ssh_config(5)</a>.
 <!-- XXX not added to ssh_config manpage though -->
<li>Have <a href="https://man.openbsd.org/groupdel.8">groupdel(8)</a> check that the named group exists.
<li>Allow '$' as the last character of a username, to appease Samba.
<li>Make <a href="https://man.openbsd.org/sshd.8">sshd(8)</a>'s -e option (log to stderr) work.
<li>Make the minimum file rotation size 512 bytes instead of 512Kbytes...
<li>Rearrange payload length check for ESP packets so packets with NULL encryption are tested also.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Don't allow a simple non-existent server to crash <a href="https://man.openbsd.org/altqstat.1">altqstat(1)</a>.
<!-- ^ 20021107 -->
<li>Solve problems static linking with -lpthread. (-static -pthread still broken.)
<li>Stop up a couple of memory leaks in <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>.
<li>Fix a few bugs in <a href="https://man.openbsd.org/mount.8">mount(8)</a>, and make its command line arguments handling more consistent.
<li>Keep a correct reference count to the file referenced by <a href="https://man.openbsd.org/ioctl.2">ioctl(2)</a> under SVR4 emulation.
    <!-- Applied to 3.2-stable -->
<!-- ^ 20021106 -->
<li>Gracefully handle broken firewalls that block ECN-enabled TCP sessions by falling back to non-ECN.<br>
    <a href="stable.html">[Applied to stable]</a> <!-- XXX 3.2 -->
<li>Some thread-safety fixes to libc.
<li>Add a cast to handle properly size_t larger than u_int in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
<li>Fix some problems <a href="https://man.openbsd.org/gzip.1">gzip(1)</a> had displaying information on files &gt; 2GB.
<!-- ^ 20021105 -->
<li>Serve <a href="https://man.openbsd.org/pf.4">pf(4)</a> a strong draught of CIDR (e.g. can use 10/8 now instead of 10.0.0.0/8).
<li>-STABLE branch created for 3.2. <a href="errata32.html#smrsh">smrsh</a>, <a href="errata32.html#pfpridge">pfbridge</a> and <a href="errata32.html#kadmind">kadmind</a> errata fixes applied to it.<br>
<li>When checking a filename in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>, don't fail when <a href="https://man.openbsd.org/realpath.3">realpath(3)</a> for the user's home directory - this happens legitimately when using AFS.
<!-- ^ 20021104 -->
<!-- ^ 20021103 -->
<li>Do a better job when comparing dynamic addresses in <a href="https://man.openbsd.org/pf.4">pf(4)</a>.
<li>In <a href="https://man.openbsd.org/pf.4">pf(4)</a> AF macros, operate on the whole address (all 128 bits) unless AF_INET is set.
<!-- ^ 20021102 -->
<!-- ^ 20021101 -->
<li>Fix <a href="https://man.openbsd.org/perl.1">perl(1)</a>'s MakeMaker so manpages get installed the way we like.
<li>Plug a memory leak in IPv6 (ip6_output.c)
<!-- ^ 20021031 -->
<li>Make sure processes aren't added to the process list until they're completely initialised.
<li>Implement some 4.3BSD emulation functions in terms of setresuid() etc.
<li>Use the new setresuid() etc. calls for FreeBSD, HP-UX and Linux emulation of the same calls.
<li>Implement <a href="https://man.openbsd.org/setresuid.2">[gs]etres[gu]id(2)</a> system calls. Minor version bump for libc and libc_r.
<li>Many fixes to signal and fd handing under threads.
<li>Fix <a href="https://man.openbsd.org/pf.4">pf(4)</a> interface expansion.
<!-- ^ 20021030 -->
<li>Better GRE output from <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a>.
<li>New -U option to <a href="https://man.openbsd.org/chroot.8">chroot(8)</a> that sets the uid, gid and group vector from the password database.
<li>To a chorus of approval, add the 'set require-order [yes|no]' option to <a href="https://man.openbsd.org/pf.conf.5">pf.conf(5)</a>.
<!-- ^ 20021029 -->
<li>Remove a bogus test in <a href="https://man.openbsd.org/dd.1">dd(1)</a> that stopped a perfectly legal seek on a character device.
<li>Merge mod_ssl 2.8.12, fixing a cross-site scripting bug and two off-by-ones.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Add a missing break statement in <a href="https://man.openbsd.org/systrace.1">systrace(1)</a>'s arguments parsing code.
<!-- ^ 20021028 -->
<li>Add getdents64() support under Linux emulation.
<li>Merge in Perl 5.8.0.
<li>Have pool elements' sizes rounded up to the alignment passed to <a href="https://man.openbsd.org/pool_init.9">pool_init(9)</a> instead of relying on the architecture's ALIGNBYTES value.
<li><a href="https://man.openbsd.org/wi.4">wi(4)</a> can now do pointless-but-common WEP encryption in software for Prism and Symbol cards. Useful if your card doesn't do weak IV avoidance (or if you trust your BSD more than your hardware manufacturer,) and also serves as a framework for better wireless crypto protocols.
<li>The installer unpacks siteXX.{tgz,tar.gz} files last so that site-specific tarballs always overwrite standard files.
<li>Remove the error-prone and robustness-principle-defying 'flags X' (as opposed to 'flags X/Y') syntax from <a href="https://man.openbsd.org/pf.4">pf(4)</a>
<li>Be a little less 32-bit-centric in libcrypto.
<!-- ^ 20021027 -->
<li>Have <a href="https://man.openbsd.org/route6d.8">route6d(8)</a> and <a href="https://man.openbsd.org/rtsold.8">rtsold(8)</a> 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> as well.
<li>Change <a href="https://man.openbsd.org/atoi.3">atoi(3)</a> to <a href="https://man.openbsd.org/strtoul.3">strtoul(3)</a> in <a href="https://man.openbsd.org/route6d.8">route6d(8)</a>.
<!-- ^ 20021026 -->
<li>Change a number of header files so NULL is now defined as 0L instead of 0, and so is the same size as a pointer.
<li>Add to <a href="https://man.openbsd.org/chroot.8">chroot(8)</a> the ability to set the uid, gid and group vector after doing the <a href="https://man.openbsd.org/chroot.2">chroot(2)</a> call.
<li>Some additional paranoia added to <a href="https://man.openbsd.org/authpf.8">authpf(8)</a>.
<li>Have <a href="https://man.openbsd.org/pf.4">pf(4)</a> test rule labels as well when comparing rules.
<li>Fix a few instances where %ul was used instead of %lu.
<!-- ^ 20021025 -->
<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/ping6.8">ping6(8)</a>
<li>More picky argument parsing in <a href="https://man.openbsd.org/traceroute6.8">traceroute6(8)</a> and <a href="https://man.openbsd.org/ping6.8">ping6(8)</a>.
<!-- ^ 20021024 -->
<li>A couple of <a href="https://man.openbsd.org/tmpnam.3">tmpnam(3)</a>s become <a href="https://man.openbsd.org/mkstemp.3">mkstemp(3)</a> in <a href="https://man.openbsd.org/httpd.8">httpd(8)</a>.
<li>Lots of int -&gt; u_long in <a href="https://man.openbsd.org/traceroute6.8">traceroute6(8)</a>.
<!-- ^ 20021023 -->
<li>Correct an off-by-one in <a href="https://man.openbsd.org/wi.4">wi(4)</a>.
<li>Fix a printf format string typo in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<li>Make <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> apply the netmask to addresses right away, so bogus netmasks show up as munges network numbers in -v output.
<!-- ^ 20021022 -->
<li>Correct a couple of typos in <a href="https://man.openbsd.org/pf.4">pf(4)</a>'s ioctl() code.
<li>Fix a null deref in libc_r.
<li>Make sure the user process tally is right when kernel stack space can't be allocated for the new proc.
<li>Correctly count the total number of processes in the system.
<li><strong>SECURITY FIX: A buffer overflow can occur in the <a href="https://man.openbsd.org/kadmind.8">kadmind(8)</a> daemon, leading to possible remote crash or exploit.</strong><br>
    <a href="errata32.html#kadmin">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<!-- ^ 20021021 -->
<li>Add partial support for the 21145 chip to <a href="https://man.openbsd.org/dc.4">dc(4)</a>.
<!-- ^ 20021020 -->
<li>Have <a href="https://man.openbsd.org/xconsole.1">xconsole(1)</a> get a pseudoterminal using <a href="https://man.openbsd.org/openpty.3">openpty(3)</a> instead of going all #ifdef.
<li>More NULL -&gt; (void *)NULL, this time in XFree, to make sure varargs sentinel is pointer-width.
<!-- ^ 20021019 -->
<li><a href="https://man.openbsd.org/pax.1">pax(1)</a> now honours @LongLink, and has a new option to stop the next volume prompt.
<!-- ^ 20021018 -->
<li>Improved media support and a boundary check fix for <a href="https://man.openbsd.org/wi.4">wi(4)</a>.
<li>Have <a href="https://man.openbsd.org/route.8">route(8)</a> correctly interpret -prefixlen 32 (or 128 for IPv6) network as a host route.
<li>Enable uvm_tree_sanity() check #ifdef DEBUG.
<li>Fix a potential null deref in <a href="https://man.openbsd.org/route.8">route(8)</a>'s arguments parser.
<li>Renumber <a href="https://man.openbsd.org/ch.4">ch(4)</a> CHIO* ioctls. Old definitions renamed to OCHIO*, binary backwards compatibility will be left in intact until post-3.3.
<li>Teach <a href="https://man.openbsd.org/kdump.1">kdump(1)</a> to print AUDIO_* ioctls, and add a few missing syscall defines.
<li>Support <a href="https://man.openbsd.org/fxp.4">fxp(4)</a> on big-endian architectures.
<li><a href="https://man.openbsd.org/pf.4">pf(4)</a> allows protocols to be specified by a (valid) protocol number.
<li>Add a missing free() in <a href="https://man.openbsd.org/pflogd.8">pflogd(8)</a>.
<!-- ^ 20021017 -->
<li>Treat manually- and auto-configured IPv6 address prefixes the same way.
<li>For positively POSIX reasons, implement <a href="https://man.openbsd.org/isfdtype.3">isfdtype(3)</a>.
<li>Bring <a href="https://man.openbsd.org/pax.1">pax(1)</a>'s date handling code back into sync with that in <a href="https://man.openbsd.org/date.1">date(1)</a>. Four digit years parse now.
<li>Start to break out machine-dependent parts of <a href="https://man.openbsd.org/MAKEDEV.8">MAKEDEV(8)</a> into separate files.
<li>Send <a href="https://man.openbsd.org/ksh.1">ksh</a>.kshrc label() and ilabel() output to /dev/tty insted of stdout, so command output streams doesn't get messed up.
<li><a href="https://man.openbsd.org/systrace.1">systrace(1)</a> supports system call-granularity privilege elevation!
<li>Correct a typo in <a href="https://man.openbsd.org/systrace.1">systrace(1)</a> that was causing group predicates to be evaluated incorrectly.
<li>Range-check values given to <a href="https://man.openbsd.org/atactl.8">atactl(8)</a>.
<li>Better mask comparison for <a href="https://man.openbsd.org/pf.4">pf(4)</a> binat.
<!-- ^ 20021016 -->
<li>Remove the setuid bit from <a href="https://man.openbsd.org/login.1">login(1)</a>. If run with a non-root euid, it invokes <a href="https://man.openbsd.org/su.1">su(1)</a> with the new -L flag.
<li>Add '-L' flag to <a href="https://man.openbsd.org/su.1">su(1)</a> to make it work like <a href="https://man.openbsd.org/login.1">login(1)</a>.
<li>Enable the META key in <a href="https://man.openbsd.org/ksh.1">ksh(1)</a> for 7-bit locales.
<li>Make sure some varargs end-of-list sentinel NULLs are pointer-width.
<li>Fix a subtle dangling pointer bug in BSD auth.
<li>Sync Brazil's Daylight Savings Time handling with new reality.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Stop <a href="https://man.openbsd.org/makewhatis.8">makewhatis(8)</a> grumbling about having Perl 5.8.x instead of 5.6.x.
<!-- ^ 20021015 -->
<li>In the X server, work around problems caused by certain MTRR configurations whose details are only available under NDA.
<li>Kernel tweaks and hacks in preparation for GCC 3.x (kern/subr_prf.c)
<li><strong>A logic error in the <a href="https://man.openbsd.org/pool.9">pool(9)</a> kernel memory allocator could cause memory corruption in low-memory situations, causing the system to crash.</strong><br>
    <a href="errata32.html#pool">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li><a href="https://man.openbsd.org/pf.4">pf(4)</a> can now binat a whole netblock with one rule.
<!-- ^ 20021014 -->
<li>Remove a potential null pointer deref in BSD authentication code.
<li>Fix a bad printf format string in <a href="https://man.openbsd.org/ftpd.8">ftpd(8)</a>. Non-critical because it's only ever fed by parts of the authentication system which sanitise the input first.<br>
    <a href="stable.html">[Applied to stable]</a> <!-- XXX 3.2 -->
<li>Do some more unsigned checks to system call parameters, as with the <a href="https://man.openbsd.org/setitimer.2">setitimer(2)</a> <a href="errata31.html#kerntime">erratum</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<!-- ^ 20021013 -->
<li>Prepare the GNU floating-point emulation code on i386 for ELF.
<!-- ^ 20021012 -->
<li>Update <a href="./stable.html">stable</a> to OpenSSH 3.5.
<li>Catch some endianness nits and add zero-padding of keys in <a href="https://man.openbsd.org/wi.4">wi(4)</a>.
<li>Teach ALTQ CBQ the <a href="https://man.openbsd.org/pf.4">pf(4)</a> API. The old API remains for now.
<!-- ^ 20021011 -->
<li><strong>RELIABILITY FIX: Network bridges running pf with scrubbing enabled could cause mbuf corruption, causing the system to crash.</strong><br>
    <a href="errata32.html#pfbridge">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Fix a bug in <a href="https://man.openbsd.org/mbuf_tags.9">m_tag_copy_chain()</a>.
<!-- ^ 20021010 -->
<li>Hush up noisy IPv6 neighbor discovery. Can be made loud again using sysctl net.inet6.icmp6.nd6_debug.
<!-- ^ 20021009 -->
<li><strong>SECURITY FIX: An attacker can bypass the restrictions imposed by sendmail's restricted shell, <a href="https://man.openbsd.org/smrsh.8">smrsh(8)</a>, and execute arbitrary commands with the privileges of his own account.</strong><br>
    <a href="errata32.html#smrsh">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Make predicates part of <a href="https://man.openbsd.org/systrace.1">systrace(1)</a>'s grammar.
<!-- ^ 20021008 -->
<li>Start work on a merge of <a href="https://man.openbsd.org/altq.9">altq(9)</a> and <a href="https://man.openbsd.org/pf.4">pf(4)</a> functionality. Oh yes.
<li>Add a missing htons() in <a href="https://man.openbsd.org/talkd.8">talkd(8)</a>.
<li>In pmdb, fix a crash that occurred when an attempt to set a breakpoint failed.
<li>Support SA_RESETHAND support to libc_r, in preparation for SA_SIGINFO support.
<li>Merge in Apache 1.3.27 and mod_ssl 2.8.11.
<li>New block-policy option to set the default response to a block rule.
<li>More rulebase reduction: "block return ..." now does The Right Thing, RST for TCP, ICMP for UDP, silent block otherwise.
<li><a href="https://man.openbsd.org/pf.4">pf(4)</a> support for icmpv6 returns in response to block rules.
<li>New reply-to rule option for <a href="https://man.openbsd.org/pf.4">pf(4)</a>, works like route-to but applies to reply packets in a stateful connection.
<li><a href="https://man.openbsd.org/httpd.8">httpd(8)</a> restarts work even when srm.conf is not present.
<li>Have the X server complain less about unknown scancodes.
<!-- ^ 20021007 -->
<li>Initialise the <a href="https://man.openbsd.org/uvm.9">uvm</a>_pglistalloc result list in the function, instead of requiring the caller to do it.
<li><a href="https://man.openbsd.org/syslog.3">syslog(3)</a> and <a href="https://man.openbsd.org/syslog_r.3">syslog_r(3)</a> now take the new __syslog__ format attribute.
<li>Make the default <a href="https://man.openbsd.org/httpd.8">httpd(8)</a> config files use php4 instead of php3.
<!-- ^ 20021006 -->
<li><a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> expands lists left-to-right instead of right-to-left.
<li>Teach <a href="https://man.openbsd.org/pf.4">pf(4)</a> how to filter on the IP TOS field.
<!-- ^ 20021005 -->
<li>Fix list handling problem in ALTQ CBQ that showed up with three or more CBQ instances.
<li><a href="https://man.openbsd.org/OpenBSD-3.2/smtpd.8">smtpd(8)</a> has left the building.
<li>By default, add the -H option to the <a href="https://man.openbsd.org/sort.1">sort(1)</a> invoked by <a href="https://man.openbsd.org/locate.updatedb.8">locate.updatedb(8)</a>.
<li>Give <a href="https://man.openbsd.org/window.1">window(1)</a> the stdarg treatment.
<li>When routing via <a href="https://man.openbsd.org/pf.4">pf(4)</a>, use the outgoing interface as decided by the normal routing code, not the interface to which the rule applies.
<li>Fix cross-site scripting vulnerability (<a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2002-0840">CAN-2002-0840</a>) in the default error page of <a href="https://man.openbsd.org/httpd.8">httpd(8)</a>. Only applies under specific (and non-OpenBSD default) conditions.
    <a href="stable.html">[Applied to stable]</a>
<!-- ^ 20021004 -->
<li>In kernel IP processing, block interrupts with <a href="https://man.openbsd.org/splsoftnet.9">splsoftnet(9)</a> around interface address routing table manipulations.
<li>Make sure <a href="https://man.openbsd.org/wi.4">wi(4)</a> doesn't accept out-of-range TX keys.
<li>Stop <a href="https://man.openbsd.org/ami.4">ami(4)</a> matching I2O-configured devices.
<li>3.2 -&gt; 3.2-current.
<!-- ^ 20021003 -->
</ul>