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

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

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

reroll plus pages for 7.5

<!doctype html>
<html lang=en id=plus>
<meta charset=utf-8>
<title>OpenBSD 3.5 Changelog</title>
<meta name="description" content="OpenBSD 3.5 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/plus35.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.5 Changelog
</h2>
<hr>

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

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

<p>
For changes in other releases, click below:<br>
<a href="plus20.html">2.0</a>,
<a href="plus21.html">2.1</a>,
<a href="plus22.html">2.2</a>,
<a href="plus23.html">2.3</a>,
<a href="plus24.html">2.4</a>,
<a href="plus25.html">2.5</a>,
<a href="plus26.html">2.6</a>,
<a href="plus27.html">2.7</a>,
<a href="plus28.html">2.8</a>,
<a href="plus29.html">2.9</a>,
<a href="plus30.html">3.0</a>,
<a href="plus31.html">3.1</a>,
<a href="plus32.html">3.2</a>,
<a href="plus33.html">3.3</a>,
<a href="plus34.html">3.4</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.4 and 3.5</h3>
<p>

<ul>
<!-- ^ 20040330 -->
<li>Don't use <a href="https://man.openbsd.org/select.2">FD_ZERO(2)</a> in <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>'s privsep monitor.
<li>When binding UDP server sockets in <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>, check the sockaddr buffer is large enough before copying.
<!-- ^ 20030429 -->
<li>Add some extra sanity checks for incoming <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> packets.
<li>Fix a kernel memory leak when deleting interface addresses (SIOCDIFADDR).
<!-- ^ 20040328 -->
<li>Add a missing <a href="https://man.openbsd.org/spl.9">spl(9)</a> around if_down() in <a href="https://man.openbsd.org/vlan.4">vlan(4)</a>.
<!-- ^ 20040327 -->
<li>In <a href="https://man.openbsd.org/pf.4">pf(4)</a>, properly <a href="https://man.openbsd.org/m_copyback.9">m_copyback(9)</a> the modified TCP sequence number after demodulation.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Fix a use-after-free in <a href="https://man.openbsd.org/carp.4">carp(4)</a>.
<li>Raise <a href="https://man.openbsd.org/carp.4">carp(4)</a> advskew to 240 while waiting for the <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> bulk update. This makes sure that other hosts can preempt a host that's booting up but hasn't got its network bearings yet.
<!-- ^ 20040326 -->
<li>Fix a check-for-null-then-deref-anyway bug in icmp6.
<li>Fix a cut-and-pasto in <a href="https://man.openbsd.org/pf.4">pf(4)</a>'s stateful ICMP code.
<li>Unbreak the ICMP checksum when <a href="https://man.openbsd.org/pf.4">pf(4)</a> sequence number modulation is used.<br>
    <a href="stable.html">[Applied to stable]</a>
<!-- ^ 20040325 -->
<li>Disable carp error logging (<a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a> net.inet.carp.log) by default.
<!-- ^ 20040324 -->
<li>Remove an unnecessary null termination in the <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> privsep monitor.
<li>Teach <a href="https://man.openbsd.org/file.1">file(1)</a> about OpenBSD-amd64 binaries and coredumps.
<li>Add a small delay before the bulk update to stop <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> looping unnecessarily.
<!-- ^ 20040323 -->
<li>Fix <a href="https://man.openbsd.org/ssl.3">ssl(3)</a> rmd160 breakage on sparc64.
<li>Teach <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> how to display the new <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> bulk updates.
<li>Make <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> stop <a href="https://man.openbsd.org/carp.4">carp(4)</a> preempting to become master until the bulk state table sync has completed.
<li>Support best-efforts bulk transfers of states when a <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> syncif is first configured. This allows pfsync+carp clusters to come up gracefully without killing active connections.
<li>Have <a href="https://man.openbsd.org/rc.8">rc(8)</a> stop <a href="https://man.openbsd.org/carp.4">carp(4)</a> interfaces on system shutdown.
<li>Add pass rules for the pfsync and carp protocols to the default <a href="https://man.openbsd.org/pf.4">pf(4)</a> rulebase installed by /etc/<a href="https://man.openbsd.org/rc.8">rc(8)</a>.
<li>Make sure <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> interfaces are initialised before <a href="https://man.openbsd.org/carp.4">carp(4)</a> interfaces in /etc/<a href="https://man.openbsd.org/netstart.8">netstart(8)</a>.
<!-- ^ 20040322 -->
<!-- ^ 20040321 -->
<li>Unbreak routing change handling in <a href="https://man.openbsd.org/carp.4">carp(4)</a>.
<li>Bump OpenSSH to version 3.8.1.
<li>Make <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>'s '-s osfp' option work by spelling it less like OSPF.
<li>Update <a href="https://man.openbsd.org/pf.os.5">pf.os(5)</a> to include OpenBSD 3.5, since that's where it's now at.
<li>Have <a href="https://man.openbsd.org/tn3270.1">tn3270(1)</a> check errno instead of setting it.
<li>Fix yet another stray semicolon, this time in <a href="https://man.openbsd.org/aac.4">aac(4)</a>.
<li>Implement firmware downloading for <a href="https://man.openbsd.org/mpt.4">mpt(4)</a>.
<!-- ^ 20040320 -->
<li>Make <a href="https://man.openbsd.org/bge.4">bge(4)</a> work on 64-bit machines even if they're not alphas.
<li>Have privsep <a href="https://man.openbsd.org/named.8">named(8)</a> pass SIGINT to the child process.
<li>Upgrade Puffy to 3.5 and lock XF4 for release.
<li>Add final pieces of privilege separation for <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> and switch it on.
<li>Add <a href="https://man.openbsd.org/i386/pxeboot.8">pxeboot(8)</a> for i386 and amd64, derived from NetBSD.
<li>Fix another stray semicolon, in <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a>'s ASN.1 printer this time.
<li>More <a href="https://man.openbsd.org/mpt.4">mpt(4)</a> fixes, more to come.
<!-- ^ 20040319 -->
<li>When initialising the new state in <a href="https://man.openbsd.org/pf.4">pf(4)</a> DIOCADDSTATE, point to the default rule instead of NULL.
<li>Merge parts of XFree86 4.4.0 Release not affected by the new license.
<li>Allow a <a href="https://man.openbsd.org/carp.4">carp(4)</a> device's state to be set explicitly with <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a>.
<li>Set permissions on the right files for the @owner, @group and @mode directives in <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a> when -B is in effect.
<li>For <a href="https://man.openbsd.org/wi.4">wi(4)</a> devices with Prism firmware version 1.6.3 or later, support an enhanced security mode for a hostap where the SSID can be hidden from snoopers.
<li>Speed up <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> session reestablishment.
<li>Fix timeout issues with <a href="https://man.openbsd.org/eap.4">eap(4)</a> audio devices.
<li>Stop the installer asking for the timezone when upgrading.
<!-- ^ 20040318 -->
  <!-- Erratum 016 (libssl) applied to stable here, applied to -current 20040317 -->
  <!-- Erratum 015 (isakmpd) applied to stable here, -current is 20040310  -->
<li>Fix <a href="https://man.openbsd.org/spamd.8">spamd(8)</a>'s logging when the blacklist limit is hit.
<li>Allow users with write access to <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>'s control socket to send queries.
<li>Fix an out-of-bounds read in <a href="https://man.openbsd.org/ssl.3">ssl(3)</a> (CAN-2004-0112). This code isn't used in OpenBSD.
<li>Always read at least DEV_BSIZE (512) bytes of the disklabel, some disks have smaller block sizes.
<li><strong>RELIABILITY FIX: A missing check for a NULL-pointer dereference has been found in ssl(3).</strong> A remote attacker can use the bug to cause an OpenSSL application to crash; this may lead to a denial of service.<br>
    <a href="errata34.html#openssl">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Fix a minor memory leak in <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>.
<li>Lots of pre-release documentation fixes and additions.
<li>If running at <a href="https://man.openbsd.org/securelevel.7">securelevel(7)</a> 2, use the -x option to increase the chances of ntpd using slew mode, since stepping backwards is disabled at this level.
<li>Some <a href="https://man.openbsd.org/mpt.4">mpt(4)</a> stability fixes.
<!-- ^ 20040317 -->
<li>Don't signal <a href="https://man.openbsd.org/mountd.8">mountd(8)</a> from <a href="https://man.openbsd.org/mount.8">mount(8)</a> when all that's required is a listing of mounts (PR#3695).
<li>Create <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>'s control socket later in the startup.
<li>Remember to unlock USB <a href="https://man.openbsd.org/wi.4">wi(4)</a> devices on errors.
<li>Since we've allocated a cache for <a href="https://man.openbsd.org/pax.1">pax(1)</a>, let's go right ahead and use it.
<li>Remove 'extern int errno' in favour of #include &lt;errno.h&gt; in a number of programs.
<li>Have <a href="https://man.openbsd.org/diff.1">diff(1)</a> in directory mode skip over anything that's not a regular file or directory, for POSIX reasons.
<!-- ^ 20040316 -->
<li>Yet another stray semicolon removed, <a href="https://man.openbsd.org/pax.1">pax(1)</a> is the lucky program.
<li>Prevent blacklist connections we're tarpitting from maxing out <a href="https://man.openbsd.org/spamd.8">spamd(8)</a>'s available connections. Controllable with the new -B option.
<li>Have <a href="https://man.openbsd.org/wi.4">wi(4)</a> hostap send an error response if a station sends a bogus challenge instead of just ignoring it.
<li>Make software WEP work on <a href="https://man.openbsd.org/wi.4">wi(4)</a> devices. Only in BSS (station) and hostap modes for now.
<li>Fix another bug caused by a stray semicolon, this time in <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a>.
<li><a href="https://man.openbsd.org/daemon.3">daemon(3)</a>ise ifstated(8) earlier.
<li>Some logic fixes and additional error checks in USB <a href="https://man.openbsd.org/wi.4">wi(4)</a>.
<li>Have <a href="https://man.openbsd.org/sensorsd.8">sensorsd(8)</a> deal gracefully with attempts to initialise unsupported sensor types.
<li>Fix memory leak caused by a stray semicolon in arla.
<li><a href="https://man.openbsd.org/panic.9">panic(9)</a> if an attempt is made to use the kernel arc4random generator too early.
<li>Fix occasional <a href="https://man.openbsd.org/locate.updatedb.8">locate.updatedb(8)</a> failures due to a bug in <a href="https://man.openbsd.org/sort.1">sort(1)</a>.
<li>Check <a href="https://man.openbsd.org/chdir.2">chdir(2)</a> return code after <a href="https://man.openbsd.org/chroot.2">chroot(2)</a> in <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> and <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>.
<li>Fix a memory leak and a missing break in <a href="https://man.openbsd.org/pf.4">pf(4)</a> ioctl processing error paths.
<li>Clear struct sockaddr_un before use in <a href="https://man.openbsd.org/syslogc.8">syslogc(8)</a>.
<!-- ^ 20030315 -->
<li>In <a href="https://man.openbsd.org/spamd.8">spamd(8)</a>, only shrink the window once we're in the DATA mode. This way, greylisted connections don't get held up by the tiny window but spam bodies are still sent. Very. Slowly.
<li>Restore <a href="https://man.openbsd.org/scsi.4">scsi(4)</a> bus scans to full speed by not checking LUNs that will be skipped anyway.
<li>Fix fd and another memory leak in <a href="https://man.openbsd.org/routed.8">routed(8)</a>.
<li>Make the sane_install() tests in the installer match more useful reality.
<li>Check the return code of <a href="https://man.openbsd.org/chdir.2">chdir(2)</a> after the privsep <a href="https://man.openbsd.org/chroot.2">chroot(2)</a> in <a href="https://man.openbsd.org/pflogd.8">pflogd(8)</a>, <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a> and <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a>.
<li>Disable <a href="https://man.openbsd.org/crypto.9">crypto(9)</a> MAC functions for now, no current hardware can use them.
<li>Some <a href="https://man.openbsd.org/oosiop.4">oosiop(4)</a> cleanup based on <a href="https://man.openbsd.org/osiop.4">osiop(4)</a>.
<li>In <a href="https://man.openbsd.org/wskbd.4">wskbd(4)</a>, make the caps lock key do caps lock instead of shift lock (PR#2555).
<!-- ^ 20040314 -->
<li>Make it easier to kill <a href="https://man.openbsd.org/spamd.8">spamd(8)</a> greylisted processes.
<li>Do <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> interface setup last in /etc/<a href="https://man.openbsd.org/netstart.8">netstart(8)</a>, so that hopefully the syncif gets set up beforehand.
<!-- ^ 20040313 -->
<li>Make <a href="https://man.openbsd.org/bgpctl.8">bgpctl(8)</a>'s empty-as keyword work.
<li>Extra free-then-NULL paranoia in <a href="https://man.openbsd.org/spamd.8">spamd(8)</a>.
<li>Fix <a href="https://man.openbsd.org/wi.4">wi(4)</a> software WEP on big-endian machines.
<li>Unbreak <a href="https://man.openbsd.org/tail.1">tail(1)</a> -f mode for filesystems not blessed with <a href="https://man.openbsd.org/kqueue.2">kqueue(2)</a> support.
<li>Implement privilege separation for <a href="https://man.openbsd.org/named.8">named(8)</a>. And there was much rejoicing.
<li>Plug a rtentry leak when TCP gives up on a cached route (in_pcb.c:in_losing()).
<li>Fix (guess what?) a memory leak in the <a href="https://man.openbsd.org/yacc.1">yacc(1)</a> skeleton code.
<li>Check the payload size more carefully when printing IKE messages in <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a>.
<li>Plug a memory leak in the error path of <a href="https://man.openbsd.org/execve.2">execve(2)</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Preliminary port of the NetBSD <a href="https://man.openbsd.org/oosiop.4">oosiop(4)</a> driver, supporting really old NCR SCSI chips on hppa machines.
<!-- ^ 20040312 -->
<li>Unbreak <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a>'s handling of packages from stdin.
<li>Fix a bug in <a href="https://man.openbsd.org/spamd.8">spamd(8)</a> that stopped custom 450 messages being displayed.
<li>Some <a href="https://man.openbsd.org/apm.4">apm(4)</a> fixes on i386.
<li>Sync the <a href="https://man.openbsd.org/spamd.8">spamd(8)</a> greylist database after each db operation, to minimise the likelihood of corruption.
<li>Add basic community support to <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>.
<li>Correct a missing <a href="https://man.openbsd.org/malloc.3">malloc(3)</a> error check in <a href="https://man.openbsd.org/bgpctl.8">bgpctl(8)</a>.
<li>Fix byte-ordering problems in <a href="https://man.openbsd.org/routed.8">routed(8)</a> (PR#3704). Based on NetBSD.
<!-- ^ 20040311 -->
  <!-- I know the erratum says March 17, but this is when the -current patch goes in. -->
<li><strong>RELIABILITY FIX: Defects in the payload validation and processing functions of isakmpd(8) have been discovered.</strong> An attacker could send malformed ISAKMP messages and cause isakmpd to crash or to loop endlessly.<br>
    <a href="errata34.html#isakmpd2">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Obey the user's 'boot reboot' command at the <a href="https://man.openbsd.org/ddb.4">ddb(4)</a> prompt, even if the system is starting up.
<li>Some signedness paranoia when handling <a href="https://man.openbsd.org/carp.4">carp(4)</a> sysctls.
<li>Fix missing checks for NULL returned from <a href="https://man.openbsd.org/getpass.3">getpass(3)</a> in login_*(8).
<li>Make <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> work harder to clean up after itself on exit.
<li>More work on capability announcements in <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>.
<li>Fix an <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> crash when deleting an ESP SA with no authentication (PR#2429).
<li>Symlink-handling improvements in <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a> etc.'s virtual filesystem code.
<li>Simplify the new <a href="https://man.openbsd.org/scsi.4">scsi(4)</a> LUN scanning logic, and print better diagnostics.
<li>New -b option to <a href="https://man.openbsd.org/spamd.8">spamd(8)</a>, used to set the local bind address.
<!-- ^ 20040310 -->
<li>Allow the <a href="https://man.openbsd.org/wsdisplay.4">wsdisplay(4)</a> screen blanker to be turned off again (PR#3123).
<li>3.5-beta -&gt; 3.5.
<li>Increase the <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> X11 cookie lifetime from two to twenty minutes.
<li>Plug some memory leaks in error paths of <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>.
<li>Fix multicast for recent <a href="https://man.openbsd.org/sk.4">sk(4)</a> chipsets. From FreeBSD lists.
<li>Be more thorough when URL-encoding usernames and passwords in the installer.
<!-- ^ 20040309 -->
<li>Prevent the user specifying an interface name longer than IFNAMSIZ in <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a>.
<li>Many, many more memory leak fixes in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>'s parser.
<li>Fix a few missing initialisations in <a href="https://man.openbsd.org/ssh-keyscan.1">ssh-keyscan(1)</a>.
<!-- ^ 20040308 -->
<li>Have <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a>'s dependency lookup check against local directory listings.
<li>New -A (pretend to be another architecture) and -P (limit distribution type) options to <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a>.
<li>More memory leak fixes to ifstated(8)'s parser.
<li>Fix a null deref in ifstated(8).
<li>Have <a href="https://man.openbsd.org/nc.1">nc(1)</a> print an error message if <a href="https://man.openbsd.org/connect.2">connect(2)</a> fails.
<!-- ^ 20030307 -->
<li>Plug well-hidden memory leaks in <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>, ifstated(8) and <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>'s parsers.
<li>Signal-handling tweaks to <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>.
<li>Add <a href="https://man.openbsd.org/mpt.4">mpt(4)</a>, a driver for LSI Fusion-MPT SCSI and Fibre Channel devices.
<!-- ^ 20040306 -->
<li>Plumb <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> into /etc/<a href="https://man.openbsd.org/rc.8">rc(8)</a> and /etc/<a href="https://man.openbsd.org/rc.conf.8">rc.conf(8)</a>.
<li>More memory leak fixes in <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>.
<li>Just chdir("/") in <a href="https://man.openbsd.org/mg.1">mg(1)</a> instead of panicking if the initial <a href="https://man.openbsd.org/getcwd.3">getcwd(3)</a> fails.
<li>Start work on capabilities announcement support in <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>.
<li>Since not rejecting optional attributes in BGP implies acceptance/support, make <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> reject attributes it doesn't support.
<li>Send outstanding notifications to a <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> peer returning to the IDLE state.
<li>Stop <a href="https://man.openbsd.org/carp.4">carp(4)</a> sending duplicate route add/delete messages.
<li>New IdentitiesOnly option for <a href="https://man.openbsd.org/ssh_config.5">ssh_config(5)</a>, useful when an agent has many keys.
<li>Don't leak memory in <a href="https://man.openbsd.org/scandir.3">scandir(3)</a> (FreeBSD PR#7923, from 1998!)
<li>Fix a big greylist-related memory leak in <a href="https://man.openbsd.org/spamd.8">spamd(8)</a>.
<!-- ^ 20040305 -->
<li>In <a href="https://man.openbsd.org/kdump.1">kdump(1)</a>, fix an off-by-one and describe <a href="https://man.openbsd.org/ptrace.2">ptrace(2)</a> calls better.
<li>Allow -stable kernels to build without TCP_ECN.
<li>Fix a few small key handling bugs in <a href="https://man.openbsd.org/svnd.4">svnd(4)</a>.
<!-- ^ 20040304 -->
<li>Actually use the alternate RADIUS server in <a href="https://man.openbsd.org/login_radius.8">login_radius(8)</a>.
<li>Make sure that <a href="https://man.openbsd.org/svnd.4">svnd(4)</a> mounts can read their disklablel as svnd, not vnd.
<li>Extend <a href="https://man.openbsd.org/md5.1">md5(1)</a>'s -c option so it can parse the output of GNU md5sum.
<li>Remove dynamic bufq support from <a href="https://man.openbsd.org/wd.4">wd(4)</a> due to problems.
<li>Plug some memory leaks in <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>.
<li>Stop libreadline segfaulting when writing an empty history list to a file (PR#3690).
<li>Fixes to <a href="https://man.openbsd.org/sftp.1">sftp(1)</a>'s progress meter.
<li>Change <a href="https://man.openbsd.org/sshd.8">sshd(8)</a> child processes' proctitle to '[accepted]' after the, uh, <a href="https://man.openbsd.org/accept.2">accept(2)</a> completes.
<li>Repair procfs status output (PR#2102).
<li>Fix unintentional ordering dependency in kernel module loading and unloading (PR#2910).
<li>Allow forced <a href="https://man.openbsd.org/unmount.2">unmount(2)</a>s of nullfs, procfs (both from PR#2394,) and umapfs.
<li>Fix an off-by-one in procfs so that it can be successfully unmounted (PR#2327).
<li>Clean up <a href="https://man.openbsd.org/badsect.8">badsect(8)</a>'s error reporting (PR#3679).
<li>Start <a href="https://man.openbsd.org/spamd.8">spamd(8)</a> later in /etc/<a href="https://man.openbsd.org/rc.8">rc(8)</a>.
<!-- ^ 20040303 -->
<li>Fix an <a href="https://man.openbsd.org/mbuf.9">mbuf(9)</a> leak in <a href="https://man.openbsd.org/tun.4">tun(4)</a> under failure conditions. From NetBSD.
<li>Count <a href="https://man.openbsd.org/mixerctl.1">mixerctl(1)</a> devices starting at zero instead of stack garbage.
<li>Fix <a href="https://man.openbsd.org/wi.4">wi(4)</a> reset problems with newer Prism firmware.
<li>Make hostap mode work for Prism <a href="https://man.openbsd.org/wi.4">wi(4)</a> cards with newer firmware, and disable hostap mode for old firmware.
<li>Socket types and error checks cleanup in <a href="https://man.openbsd.org/talk.1">talk(1)</a>.
<li>64-bit fixes to <a href="https://man.openbsd.org/brconfig.8">brconfig(8)</a>.
<li>More features for <a href="https://man.openbsd.org/bgpctl.8">bgpctl(8)</a>'s 'show rib' command.
<li>Fix a memory leak in <a href="https://man.openbsd.org/dhcpd.8">dhcpd(8)</a>'s parser.
<li>Use <a href="https://man.openbsd.org/daemon.3">daemon(3)</a> instead of DIY in new <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a>.
<li>Start <a href="https://man.openbsd.org/sshd.8">sshd(8)</a> earlier in /etc/<a href="https://man.openbsd.org/rc.8">rc(8)</a>.
<li>Generate new <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a>'s transaction id (xid) using <a href="https://man.openbsd.org/arc4random.3">arc4random(3)</a> instead of <a href="https://man.openbsd.org/random.3">random(3)</a>.
<li>Have <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a> (old and new) exit cleanly if its interface goes away (PR#3648).
<li>New <a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a> net.inet.tcp.reasslimit, to control the size of the memory pool for TCP out-of-order segment reassembly that was introduced in the last erratum.
<li><strong>RELIABILITY FIX: OpenBSD's TCP/IP stack did not impose limits on how many out-of-order TCP segments are queued in the system. An attacker could send out-of-order TCP segments and trick the system into using all available memory buffers.</strong><br>
    <a href="errata34.html#tcp">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Strip out all the multiple-interfaces code from new <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a>, it's not used any more.
<li>Be sure to call fifofs' reclaim function from its host filesystems (ext2fs, ffs, nfs).<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Give fifofs a real reclaim function to prevent memory leaks on rovocation, and fix a potential null deref.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Disable the COMPAT_25 compatibility option in GENERIC kernels.
<!-- ^ 20040302 -->
<li>Catch illegally large AS numbers in <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>.
<li>Rewrite of <a href="https://man.openbsd.org/mount_portal.8">mount_portal(8)</a>, complete with IPv6 support.
<li>Cleanup and paranoia in <a href="https://man.openbsd.org/spamdb.8">spamdb(8)</a>.
<li>Support 'tagged &lt;name&gt;' specifiers on <a href="https://man.openbsd.org/pf.4">pf(4)</a> anchor rules.
<li>Better IPv4 address validation in <a href="https://man.openbsd.org/spamd.8">spamd(8)</a>.
<li>Process NOTE_TRUNCATE messages in <a href="https://man.openbsd.org/tail.1">tail(1)</a> and unbreak file truncation handling in -f mode (PR#3689).
<li>Allow <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> to run in route-collector mode, i.e. disable the decision process.
<li>Build libf2c for GCC3 architectures.
<li>New -d option for <a href="https://man.openbsd.org/nc.1">nc(1)</a>, which disables reading from stdin (PR#3694).
<!-- ^ 20040301 -->
<li>Fix a memory leak when the control socket detaches from <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>.
<li>Make <a href="https://man.openbsd.org/bgpctl.8">bgpctl(8)</a>'s control socket nonblocking.
<li>Import libf2c from GCC 3.3.2.
<li>Show the number of TCP connections drained (by new tcp_drain()) in <a href="https://man.openbsd.org/netstat.1">netstat(1)</a> output.
<li>Don't <a href="https://man.openbsd.org/stat.2">stat(2)</a> the <a href="https://man.openbsd.org/compress.1">compress(1)</a> outfile when running in test mode.
<li>Re-enable propolice if the X server is built without module support.
<li>Check the sign of values given to the hw.setperf <a href="https://man.openbsd.org/sysctl.8">sysctl(8)</a>.
<li><a href="https://man.openbsd.org/strtol.3">strtol(3)</a> and signedness cleanup in <a href="https://man.openbsd.org/ping.8">ping(8)</a>.
<!-- ^ 20040229 -->
<li>Sync the installer with the <a href="https://man.openbsd.org/ftp.1">ftp(1)</a> fetch-mode fix.
<li>Open a new connection for each file pulled down by <a href="https://man.openbsd.org/ftp.1">ftp(1)</a> in fetch mode. Fixes problems where 'CWD /' does unexpected things.
<li>Fix the test that disallows interface unit numbers greater than INT_MAX (to avoid signedness confusion).
<li>Don't allow leading zeros in cloner interface names.
<li>Upgrade 3.4-stable to OpenSSH 3.8.
<li><a href="https://man.openbsd.org/spamd.8">spamd(8)</a> greylist cleanup and fixes.
<!-- ^ 20040228 -->
<li>In <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>, make the read buffer for <a href="https://man.openbsd.org/moduli.5">moduli(5)</a> large enough for 8Kbit primes.
<li>Stop <a href="https://man.openbsd.org/sshd.8">sshd(8)</a> sending DH groups with a primitive generator of zero or one.
<li>Fix a race condition in <a href="https://man.openbsd.org/wi.4">wi(4)</a> by disabling interrupts before sending an ACK. From NetBSD.
<li>Fix some over-zealous assert()ing in <a href="https://man.openbsd.org/afsd.8">afsd(8)</a>.
<li>Add DH group 14 (modp2048) to <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>'s list of predefined quick mode suites.
<li>3.4-current -&gt; 3.5-beta.
<li>Remove a null deref and unbreak WSDISPLAY_USEFONT for <a href="https://man.openbsd.org/vga.4">vga(4)</a>.
<li>Fix an nfsv3-related panic that could occur when linking from a local fs into an NFS mount.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Add an implementation for the tcp_drain() function, similar to ip_drain().<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Stop <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> '-s all' printing the entire OS fingerprint database and all the interfaces.
<li>Interoperability fixes for <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>, particularly when talking to a Cisco PIX.
<!-- ^ 20040227 -->
<li>Don't use a regex when deleting a user from a group with <a href="https://man.openbsd.org/userdel.8">userdel(8)</a>, since the username may contain regex special characters. Also, <a href="https://man.openbsd.org/chmod.2">chmod(2)</a> the new group file before moving it into place instead of after.
<li>Fix IP data length calculation in <a href="https://man.openbsd.org/mrinfo.8">mrinfo(8)</a> and <a href="https://man.openbsd.org/mtrace.8">mtrace(8)</a>.
<li>Fix <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a>'s matching of multi-digit interface names, e.g. stop vlan10 matching as vlan1.
<li>Add __va_copy() in &lt;stdarg.h&gt;, following old ISO C89 behaviour. Used by GNU software.
<li>Support dumping of the <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> RIB via <a href="https://man.openbsd.org/bgpctl.8">bgpctl(8)</a>.
<li>Have <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> check that the nexthop is a valid range (i.e. not a class D, class E or a loopback).
<li>Better logging for ifstated(8), taken from bgpd.
<li>More enhancements to <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>'s filter language.
<li>Include tcps_rcvmemdrop in <a href="https://man.openbsd.org/netstat.1">netstat(1)</a>'s TCP statistics output.
<li>Add '<a href="http://projects.puremagic.com/greylisting/">greylisting</a>' support to <a href="https://man.openbsd.org/spamd.8">spamd(8)</a>. Oh yes.
<!-- ^ 20040226 -->
<li>Remove a sizeof(long)==4 assumption in <a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a> that could errnoeously zero four bytes of the next page.
<li>Add -B (destdir) support to <a href="https://man.openbsd.org/pkg_delete.1">pkg_delete(1)</a>.
<li>New Loglevel and Logverbose options for <a href="https://man.openbsd.org/isakmpd.conf.5">isakmpd.conf(5)</a>.
<li>Stop <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> clearing too much when -Fa is used and an anchor is given.
<!-- ^ 20040225 -->
<li>Reorder code in <a href="https://man.openbsd.org/dhcrelay.8">dhcrelay(8)</a> so that the server list is zero-filled before we add servers to it, not after.
<li>Allow tuning of <a href="https://man.openbsd.org/bpf.4">bpf(4)</a> buffer sizes via <a href="https://man.openbsd.org/sysctl.8">sysctl(8)</a> variables net.bpf.*.
<li>Add /usr/local/share/fonts to /etc/fonts/fonts.conf, good for ports.
<li>Fix send_packet() return value checks in <a href="https://man.openbsd.org/dhcrelay.8">dhcrelay(8)</a>.
<li>Don't allow 'max-src-nodes' in a <a href="https://man.openbsd.org/pf.4">pf(4)</a> rule if 'source-track global' is in effect.
<li>Enhancements to <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>'s filter language.
<li>Stop new <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a> generating a pidfile.
<li>Use <a href="https://man.openbsd.org/getopt.3">getopt(3)</a> instead of DIY in new <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a>.
<li>Remove the interface discovery scan from new <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a>, and so require an explicit interface name.
<li>Don't allow 'max-src-nodes' option anywhere other than in a 'source-track' <a href="https://man.openbsd.org/pf.4">pf(4)</a> rule.
<li>A number of fifofs fixes from FreeBSD.
<li>64 bit-specific binutils fixups. From binutils CVS.
<!-- ^ 20040224 -->
<li>New slinear16-to-alaw audio format converters. From NetBSD.
<li>Better <a href="https://man.openbsd.org/pread.2">pread(2)</a> and <a href="https://man.openbsd.org/pwrite.2">pwrite(2)</a> error checks in libkvm.
<li>Fix a potential null deref when looking for a free <a href="https://man.openbsd.org/pty.4">pty(4)</a> device.
<li>A little bounds-check paranoia in <a href="https://man.openbsd.org/procmap.1">procmap(1)</a>.
<li>Make <a href="https://man.openbsd.org/malloc.3">malloc(3)</a> options work properly for programs that need <a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a>.
<li>Build and install <a href="https://man.openbsd.org/procmap.1">procmap(1)</a> by default.
<li>Better heap discovery heuristic for <a href="https://man.openbsd.org/procmap.1">procmap(1)</a>,
<li>Explicitly disallow backward jumps in <a href="https://man.openbsd.org/bpf.4">bpf(4)</a> filter programs.
<li>More cleanup and dead code removal in the new <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a>.
<li>Remove raw socket fallback code from new <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a>, since OpenBSD always uses <a href="https://man.openbsd.org/bpf.4">bpf(4)</a>.
<li>Bump OpenSSH version to 3.8.
<li>Bignum fixes in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
<li>Set <a href="https://man.openbsd.org/sshd.8">sshd(8)</a>'s listen socket to non-blocking mode again, reverting the change from 26 Sept 2003.
<li>Fix an <a href="https://man.openbsd.org/objdump.1">objdump(1)</a> segfault on sparc64. From binutils CVS.
<li>Fix an out-of-bounds read when comparing IPv6 prefixes if the prefix length is 128.
<!-- ^ 20030223 -->
<li>Add pthread_attr_[gs]etstack(3) and bump libpthread minor version. From FreeBSD libc_r.
<li>String cleaning in <a href="https://man.openbsd.org/fvwm.1">fvwm(1)</a> and <a href="https://man.openbsd.org/wm2.1">wm2(1)</a>.
<li>Some cleanup of &lt;pthread.h&gt;. From FreeBSD's libc_r.
<!-- ^ 20040222 -->
<li>Fix a locking-related crash when using a portal filesystem.
<li>Have <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a> make a distinction between an unreadable or non-package, and an inaccessible package file.
<li>Fix <a href="https://man.openbsd.org/pciide.4">pciide(4)</a> timeouts at the end of each cdrecord burn.
<li>Build sparc64 with gcc3. Gulp.
<li>Many USB device fixes from NetBSD.
<li>Fix a race in <a href="https://man.openbsd.org/scsi.4">scsi(4)</a>, now cdrecord can safely write at high speeds.
<!-- ^ 20040221 -->
<li>Re-fix 'VT black text on black background' and other XFree86 bugs for ATI cards, lost in the recent merge.
<li>Teach <a href="https://man.openbsd.org/passwd.1">passwd(1)</a> about the master.passwd.byname map so it can work in a secure (makedbm -s) environment.
<li>Uncomment and fix code for old <a href="https://man.openbsd.org/tip.1">tip(1)</a> variables cdelay and ldelay.
<li>Have <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a>'s pfsync output show the interface being cleared if available.
<li>Update <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> to cope with interface-specific state clearing with e.g. pfctl -i fxp0 -Fs'.
<li>Add PKG_DESTDIR (-B option) support to <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a>.
<li>Improvements to the new auto-generated MAKEDEV(8) manual pages.
<li>Allow <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a> etc. flavor names to contain dots and other special characters.
<li>Set files that <a href="https://man.openbsd.org/ypbind.8">ypbind(8)</a> creates to mode 0644 with <a href="https://man.openbsd.org/fchmod.2">fchmod(2)</a>, just in case they're created with a more restrictive <a href="https://man.openbsd.org/umask.2">umask(2)</a>.
<li>New .Ex, .In and .Rv <a href="https://man.openbsd.org/mdoc.7">mdoc(7)</a> macros.
<li>Fix some double-<a href="https://man.openbsd.org/free.3">free(3)</a>s in <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>.
<!-- ^ 20040220 -->
<li>Resurrect old-style fontconfig-config program, still needed by some ports.
<li>Make sure that the guard page is also marked as MALLOC_FREE by <a href="https://man.openbsd.org/free.3">free(3)</a>, to cut down on bleating #ifdef MALLOC_EXTRA_SANITY.
<li>Basic filtering support for <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>.
<li>Add <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> -i support to -Fs, -ss, -sq and -w options.
<li>New smartreadlog command for <a href="https://man.openbsd.org/atactl.8">atactl(8)</a> to, well, read SMART logs.
<li>Fix SMART log-related panics in <a href="https://man.openbsd.org/wdc.4">wdc(4)</a>.
<li>Have <a href="https://man.openbsd.org/mount.8">mount(8)</a> report the actual xfs device mounted, and not just 'arla.'
<li>In <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>, handle SIGINT the same as SIGTERM when running with -d, and dump logs to syslog at LOG_INFO without -d.
<li>Fix a memory leak in <a href="https://man.openbsd.org/tftp.1">tftp(1)</a>.
<li>Bring <a href="https://man.openbsd.org/pf.4">pf(4)</a> queue id semantics into line with tag assignment, and remove last vestiges of userland qid code.
<!-- ^ 20040219 -->
<li>Stop <a href="https://man.openbsd.org/bc.1">bc(1)</a> modifying argv and optind while inside the <a href="https://man.openbsd.org/getopt.3">getopt(3)</a> loop.
<li>In gcc3, add a few missing <a href="https://man.openbsd.org/open.2">open(2)</a> third options when used with O_CREAT.
<li>Revoke <a href="https://man.openbsd.org/procmap.1">procmap(1)</a>'s privileges immediately after <a href="https://man.openbsd.org/kvm_openfiles.3">kvm_openfiles(3)</a>.
<li>Make sure  doesn't call <a href="https://man.openbsd.org/strtoul.3">strtoul(3)</a> on non-numbers.
<li>In <a href="https://man.openbsd.org/procmap.1">procmap(1)</a>, print the names of missing symbols instead of '(null)'.
<!-- ^ 20040218 -->
<li>Extra <a href="https://man.openbsd.org/bzero.3">bzero(3)</a> paranoia for data coming out of the <a href="https://man.openbsd.org/scsi.4">scsi(4)</a> xfer pool.
<li>Memory and string cleanup in <a href="https://man.openbsd.org/procmap.1">procmap(1)</a>.
<li>Implement <a href="https://man.openbsd.org/kevent.2">kevent(2)</a> and <a href="https://man.openbsd.org/kqueue.2">kqueue(2)</a> under FreeBSD emulation, using the native calls.
<li>Fix mishandling of numeric options in <a href="https://man.openbsd.org/sed.1">sed(1)</a> (PR#3677).
<li>Add -i option to <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>, restricting operations to the given interface. Only -sI implemented for now.
<li>sparc64 alignment fixes in gcc3 propolice.
<!-- ^ 20040217 -->
<li>const'ify some more <a href="https://man.openbsd.org/pthreads.3">pthreads(3)</a> prototypes for POSIX reasons. From FreeBSD libc_r.
<li>In <a href="https://man.openbsd.org/chmod.1">chmod(1)</a>, check that 'foo.bar' isn't an existing username before assuming it's old-style user.group and treating it like user:group.
<li>Don't allocate a cluster in tcp_output() when the whole header fits into an <a href="https://man.openbsd.org/mbuf.9">mbuf(9)</a>.
<li>Add -4 and -6 IP transport selectors to <a href="https://man.openbsd.org/rdate.8">rdate(8)</a>. Oh yes.
<li>Add an extra check for a null transport in <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> exchanges.
<li>Use off_t instead of long so that <a href="https://man.openbsd.org/tail.1">tail(1)</a> can handle large offsets.
<li>Remove more unnecessary checks for 8-bit values &gt; 255, this time from libc/ethers.c.
<li>Add a missing <a href="https://man.openbsd.org/realloc.3">realloc(3)</a> failure check in asn1_compile.
<li>Generate the MAKEDEV(8) manpages automagically based on the same information as the MAKEDEV scripts themselves.
<li><a href="https://man.openbsd.org/gcc.1">gcc(1)</a> propolice fixes on i386.
<li>First cut at <a href="https://man.openbsd.org/procmap.1">procmap(1)</a> from NetBSD (where it's called pmap). Not yet built by default.
<!-- ^ 20040216 -->
<li>New 'split' option in <a href="https://man.openbsd.org/iostat.8">iostat(8)</a> for the newly-separated disk read/write stats.
<li>Check for TDB entries marked as invalid when looking up tcpmd5 connections.
<li>Record separate disk statistics for read and write operations. Adapted from NetBSD.
<li>In ifstated(8), don't <a href="https://man.openbsd.org/bcopy.3">bcopy(3)</a> around a structure containing TAILQ pointers.
<li>Better SIGHUP handling in ifstated(8).
<!-- ^ 20040215 -->
<li>Refactor processor speed settings sysctl code (hw.cpuspeed, hw.setperf) for clarity.
<li>Fix broken <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> IKE output for certain vendors' phase 1 proposals.
<!-- ^ 20040214 -->
<li>New driver, <a href="https://man.openbsd.org/bce.4">bce(4)</a>, for Broadcom 4401 10/100Mbps Ethernet devices.
<li>Drop the osigaltstack() compatibility system call.
<li>Import and merge XFree86-current of 2004/02/13, minus files with the new XFree86 License which contains text developed by The XFree86 Project, Inc (http://www.xfree86.org/) and its contributors.
<li>Make sure all <a href="https://man.openbsd.org/pf.4">pf(4)</a> anchors get updated after an anchor is removed.
<li>Better signal handling and other cleanup in <a href="https://man.openbsd.org/pflogd.8">pflogd(8)</a>.
<li>Print textual service and protocol names properly in <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> even when -n is specified.
<li>Some cleanup and an additional mode for <a href="https://man.openbsd.org/acss.3">acss(3)</a>.
<!-- ^ 20040213 -->
<li>Disallow <a href="https://man.openbsd.org/em.4">em(4)</a> PHY resets when IP is enabled on an interface to prevent lockups when using GigE copper.
<li>Use a hash table instead of a linked list to speed up 802.1q tag -&gt; <a href="https://man.openbsd.org/vlan.4">vlan(4)</a> interface lookup.
<li>New -p flag for <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>, allowing the device to be something other than /dev/pf.
<li>Logging cleanup in ifstated(8).
<li>Revert some propolice breakage in gcc3.
<li>64-bit alignment fixes in ifstated(8).
<!-- ^ 20040212 -->
<li><strong>RELIABILITY FIX: Several buffer overflows exist in the code parsing font.aliases files in XFree86.</strong> Thanks to ProPolice, these cannot be exploited to gain privileges, but they can cause the X server to abort.<br>
    <a href="errata34.html#font">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Add missing volatile to a signal handler flag in <a href="https://man.openbsd.org/dc.1">dc(1)</a>.
<li>in tcp_input(), stop an unsigned integer underflow from making the TCP MSS calculation return ridiculously large values when ifp==NULL.
<li>Reduce <a href="https://man.openbsd.org/makewhatis.8">makewhatis(8)</a>'s newly-increased pickiness a little.
<li>Fix another bug that allows a <a href="https://man.openbsd.org/pf.4">pf(4)</a> antispoof rule on an interface with no IP addresses to result in all other interfaces blocking all IP packets.
<!-- ^ 20040211 -->
<li>Install <a href="https://man.openbsd.org/bgpd.conf.5">bgpd.conf(5)</a> root:wheel, mode 0600 and make <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> insist it be so.
<li>Reduce the default number of <a href="https://man.openbsd.org/pty.4">pty(4)</a> devices from 64 to 16, now that additional ptys will be created on demand.
<li>Fix an off-by-one when generating <a href="https://man.openbsd.org/pty.4">pty(4)</a> device names (ptydevname()).
<li>Make <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a>'s <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> output more consistent with other tcpdump output.
<li>Plug an <a href="https://man.openbsd.org/mbuf.9">mbuf(9)</a> leak by making ip_fragment() free the mbuf on errors instead of expecting the caller to do it.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Add a flag so that hardware sensors can be marked as invalid if, for example, they're disconnected.
<li>Make picky mode in <a href="https://man.openbsd.org/makewhatis.8">makewhatis(8)</a> even pickier.
<li>Fix an off-by-one in <a href="https://man.openbsd.org/pf.4">pf(4)</a>'s interface management code.
<li>Have <a href="https://man.openbsd.org/ndp.8">ndp(8)</a> flush stdout before sleeping in -A mode (KAME pr#584).
<li>In the new <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a>, don't send pointless DHCPDISCOVER messages on interfaces that are known to have an inactive link status.
<li>Allow for the presence of tcpmd5 signatures in the TCP MSS calculation.
<li>Have <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> display a filter uptime now that we keep track of when it was last enabled.
<li>Make <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> work on 64-bit alignment-sensitive architectures when IP options are present.
<li>Unbreak <a href="https://man.openbsd.org/ypset.8">ypset(8)</a>'s -h option. From FreeBSD.
<li>Have <a href="https://man.openbsd.org/sysctl.8">sysctl(8)</a> politely inform users that <a href="https://man.openbsd.org/pstat.8">pstat(8)</a> with -t is the tool of choice for viewing terminal information.
<li>Support -$ option (disallow '$' in identifiers) and -notraditional in <a href="https://man.openbsd.org/cpp.1">cpp(1)</a> for gcc2.
<li>New ptm device (see <a href="https://man.openbsd.org/pty.4">pty(4)</a>) that allows non-privileged processes to allocate a properly-permissioned pty. No more setuid(root) <a href="https://man.openbsd.org/xterm.1">xterm(1)</a>!
<li>Stop assuming that tty <a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a> variables are quads. Some are now ints.
<li>Dynamically allocate kernel memory for ttys, controlled via <a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a>s kern.tty.{maxptys,nptys}. Adapted from NetBSD.
<li>Teach <a href="https://man.openbsd.org/boot.8">boot(8)</a> how to load read-only data segments for ELF architecture kernels.
<li>If the i386 bootloader fails, enable interrupts before halting so ctrl-alt-del will work.
<!-- ^ 20040210 -->
<li>Install the <em>edit</em> USD doc, reworked to be an <a href="https://man.openbsd.org/ex.1">ex(1)</a> tutorial, under /usr/share/docs/usd/11.edit.
<li>In the XF4 Makefile, fix -o operator precedence for the <a href="https://man.openbsd.org/find.1">find(1)</a> command when checking for incorrect file permissions.
<li>Add missing MLINKS and do some .Nm macro cleanup to help <a href="https://man.openbsd.org/makewhatis.8">makewhatis(8)</a>.
<li>Don't flush <a href="https://man.openbsd.org/pf.4">pf(4)</a> stats when using the -e or -d options to <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>. Store the time at which the filter was last enabled.
<li>Unbreak the <a href="https://man.openbsd.org/pf.conf.5">pf.conf(5)</a> 'set loginterface' command.
<li>Have <a href="https://man.openbsd.org/lex.1">lex(1)</a> declare errno for c++ users too.
<li>Allow libstdc++ to build on architectures with no shared libraries.
<!-- ^ 20040209 -->
<li>Fix a panic when cleaning up after an interface (e.g a PC Card <a href="https://man.openbsd.org/wi.4">wi(4)</a>) has gone away (PR#3649).
<li>Unstick the -a option from <a href="https://man.openbsd.org/ps.1">ps(1)</a> (PR#3676).
<li>Sync the installer network startup with changes in <a href="https://man.openbsd.org/netstart.8">netstart(8)</a>.
<li>Fix a memory allocation-related panic in <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> that can occur under very high loads.
<li>Fix a buffer overflow in XFree font aliasing. From XFree86 CVS.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Don't fully unroll kernel rijndael code to save some space.
<li>Some fixes to <a href="https://man.openbsd.org/ahc.4">ahc(4)</a>, mostly from FreeBSD.
<!-- ^ 20040208 -->
<li>Additional sanity checks when probing <a href="https://man.openbsd.org/scsi.4">scsi(4)</a> luns.
<li>Disable interrupts on a <a href="https://man.openbsd.org/scsi.4">scsi(4)</a> controller for polled commands, fixing a long-standing hang at attach time on i386.
<li>Stop <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a> burping interface information to stderr.
<!-- ^ 20040207 -->
<li>Have lib<a href="https://man.openbsd.org/pcap.3">pcap(3)</a> use the kernel default buffer size instead of setting its own size.
<li>Bump the <a href="https://man.openbsd.org/bpf.4">bpf(4)</a> maximum buffer size to 2MB, and the default size to 32KB, to allow for faster networks and larger frame sizes.
<li>Turn on <a href="https://man.openbsd.org/ddb.4">ddb(4)</a> logging (<a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a> ddb.log) by default.
<li>Allow <a href="https://man.openbsd.org/bind.2">bind(2)</a> to work in an IPv6-only (no IPv4) configuration.
<li>First cut of a filtering language for <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>.
<li>Another pass at making <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a>'s code readable.
<!-- ^ 20040206 -->
<li>Fix a curiously familiar reference-counting bug in <a href="https://man.openbsd.org/uvm.9">uvm(9)</a>.
<li><strong>SECURITY FIX:  A reference-counting bug exists in the <a href="https://man.openbsd.org/shmat.2">shmat(2)</a> system call that could be used by an attacker to write to kernel memory under certain circumstances.</strong> Adapted from FreeBSD.<br>
    <a href="errata34.html#sysvshm">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Fix a CVS merge error in <a href="https://man.openbsd.org/xterm.1">xterm(1)</a>'s app-defaults file.
<li>Make <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> -vvsq loop again (PR#3675).
<li>Unbreak the <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> progress meter ETA for files larger than 4GB (OpenSSH bugzilla #791).
<li>Fix a memory leak in <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a> (PR#3668).
<li>If <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> is in privsep mode, pass the SIGALRM from LoginGraceTime expiry through to the child process.
<li>Apply the same strict RFC 2460 interpretation used for the IPv6 MTU to the TCP MSS calculation.
<!-- ^ 20040205 -->
<li>New parser for ifstated(8), and more features. Still more to come.
<li>Fix <a href="https://man.openbsd.org/grep.1">grep(1)</a>'s ^ and $ anchors that were broken by the recent -w fixes.
<li>For programs that don't support long options, stop <a href="https://man.openbsd.org/getopt.3">getopt(3)</a> treating '--foo' the same way it treats '--', as per POSIX (PR#3666).<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Let <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> deal gracefully with 'modulate state' on rules with protos to which it might not apply in the same way as 'keep state', e.g. 'pass proto {tcp udp} modulate state' is now acceptable.
<li>Don't use a valid user id as a flag value in <a href="https://man.openbsd.org/ps.1">ps(1)</a>.
<li>Remove the earlier fix for the IPv6 MTU crash bug now that the full fix is in place.
<li><strong>SECURITY FIX: An IPv6 MTU handling problem exists that could be used by an attacker to cause a denial of service attack against hosts with reachable IPv6 TCP ports.</strong> Fix this fully by applying a strict interpretation of RFC 2460 section 5, last paragraph.<br>
    <a href="errata34.html#ip6">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Memory alignment fixes in <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a>.
<li>Huge amount of <a href="https://man.openbsd.org/style.9">style(9)</a>, ANSI and other cleanup in <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a>. More to come.
<!-- ^ 20040204 -->
<li>Some std:: namespace and other C++ mode fixes for <a href="https://man.openbsd.org/flex.1">flex(1)</a>. From NetBSD.
<li>Fix <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> macro expansion in tags (PR#3664).
<li>Unbreak and reapply the don't-use-<a href="https://man.openbsd.org/inet_net_pton.3">inet_net_pton(3)</a>-without-a-slash fix (PR#3638).
<li>Teach lib<a href="https://man.openbsd.org/crypto.3">crypto(3)</a> how to use the VIA C3 crypto functions for (seriously) accelerated aes-{128,192,256}-cbc.
<!-- ^ 20040203 -->
<li>Do temp file cleanup for signals as well as exits in <a href="https://man.openbsd.org/spell.1">spell(1)</a>.
<li>Sanity check memory allocation when attaching <a href="https://man.openbsd.org/wd.4">wd(4)</a> devices.
<li>Have <a href="https://man.openbsd.org/mg.1">mg(1)</a> create a buffer list window when started with more than two files, just like emacs.
<li>Fix compile breakage in <a href="https://man.openbsd.org/bridge.4">bridge(4)</a> and netinet6 when <a href="https://man.openbsd.org/pf.4">pf(4)</a> isn't present.
<li>In <a href="https://man.openbsd.org/ipsecadm.8">ipsecadm(8)</a> monitor mode, reorder <a href="https://man.openbsd.org/memset.3">memset(3)</a> arguments so it works less like a nop.
<li>For safety, only do <a href="https://man.openbsd.org/pf.4">pf(4)</a> interface lookups (pfi_index2kif()) if the filter is enabled.
<li>Remove the special-case LBL_ALIGN code in <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> and act as if we're always on a platform that requires aligned memory access.
<li>In <a href="https://man.openbsd.org/leave.1">leave(1)</a>, don't allow alarms to be set in the past as this is unlikely to be useful. Also some cleanup based on NetBSD.
<li>On i386, allow userland apps to use the VIA C3 crypto instructions if they're present.
<!-- ^ 20040202 -->
<li>Temporarily work around an MTU-related crash in IPv6 by simply enforcing a minimum link MTU of 296. Real fix to come.
<li>Add <a href="https://man.openbsd.org/as.1">as(1)</a> support for the VIA C3 xmove-rng and xcrypt-{ecb,cbc,cfb,ofb} instructions.
<li>Allow '-' as a valid character in <a href="https://man.openbsd.org/as.1">as(1)</a> mnemonics, as required by a few VIA C3 instructions.
<li>Add a 'paper.txt' <a href="https://man.openbsd.org/make.1">make(1)</a> target to generate ASCII output for the documents under /usr/share/doc.
<li>Sync i386 option USER_LDT code with NetBSD, fixing some ports panics.
<li>In libpthread, add a simple work-around for deadlocking on recursive readlocks on a rwlock while there are writers waiting (from FreeBSD PR#24641).
<li>Add ARM support and a new port for <a href="cats.html">cats</a> boards.
<!-- ^ 20040201 -->
<li>Rename TCP socket option from TCP_SIGNATURE_ENABLE to TCP_MD5SIG.
<li>Build <a href="https://man.openbsd.org/protoize.1">protoize(1)</a> for gcc3.
<li>Reverse the enable logic for TCP selective acks, so TCP_SACK_DISABLE becomes TCP_SACK_ENABLE.
<li>Really commit -L (localbase) support for <a href="https://man.openbsd.org/pkg_create.1">pkg_create(1)</a>, as well as the related -S and -B options.
<li>Some types cleanup and better SIGCHLD handling in privsep <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a>.
<!-- ^ 20040131 -->
<li>Fix an old logic bug in <a href="https://man.openbsd.org/nlist.3">nlist(3)</a> that caused lookups for names with a leading underscore to fail on ELF systems.
<li>Install <a href="https://man.openbsd.org/ex.1">ex(1)</a> documentation in doc/usd/13.ex.
<li>Back out the <a href="https://man.openbsd.org/scsi.4">scsi(4)</a> attach freeze fix for now.
<li>Sync <a href="https://man.openbsd.org/named.8">named(8)</a>'s root.hint file after the IP address change of B.ROOT-SERVERS.NET.
<li>Stop <a href="https://man.openbsd.org/systrace.1">systrace(1)</a> trying to normalize an empty filename.
<li>Enable tcpmd5 on <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>'s listen socket. For peers configured with md5sig, require <a href="https://man.openbsd.org/accept.2">accept(2)</a>ed sockets to have signatures enabled.
<li>New TCP_SIGNATURE_ENABLE option to <a href="https://man.openbsd.org/getsockopt.2">getsockopt(2)</a>, allowing a process to check the tcpmd5 status of an <a href="https://man.openbsd.org/accept.2">accept(2)</a>ed socket.
<li>Support <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> version 2 password change. password-dead must be set to non-zero in <a href="https://man.openbsd.org/login.conf.5">login.conf(5)</a> for this to work.
<li>New update-moduli target in /usr/src/etc/Makefile, for regenerating /etc/<a href="https://man.openbsd.org/moduli.5">moduli(5)</a>.
<!-- ^ 20040130 -->
<li>Format string fixes and other cleanup for <a href="https://man.openbsd.org/fvwm.1">fvwm(1)</a> in the wake of -ansi removal.
<li>Remove -ansi from the list of <a href="https://man.openbsd.org/gcc.1">gcc(1)</a> build options for XFree86.
<li>On i386 systems with SSE2, halve the time taken to zero a page of memory. Based on FreeBSD.
<li>Switch the new <a href="https://man.openbsd.org/sigaltstack.2">sigaltstack(2)</a> code back on again on alpha and sparc64.
<li>Make <a href="https://man.openbsd.org/ddb.4">ddb(4)</a>'s ps /n command show the correct state for a process.
<li>Reset the TCP keepalive timer to tcp.keepidle (normally four hours) after the three-way handshake completes. (syncache sets it to tcp.keepinittime, normally 150 seconds).
<li>Allow a single listen socket to be used for connections with and without tcpmd5.
<li>Avoid a long <a href="https://man.openbsd.org/scsi.4">scsi(4)</a> freeze when attaching live scsibus* devices.
<li>Support RFC 3390 'Increasing TCP's initial window' extension, enabled using <a href="https://man.openbsd.org/sysctl.8">sysctl(8)</a> net.inet.tcp.rfc3390.
<li>When TCP is in the SYN_SENT state, don't increase cwnd by 1*MSS on receipt of the SYN/ACK.
<li>Note that 'pegasos' is not quite the same as 'pegosos'.
<li>Clean up the output from <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> with '-s all'.
<li>Allow the arch-specific bootloaders to change the program name to something other than 'BOOT'.
<!-- ^ 20040129 -->
<li>Use a more reliable reference count when deciding whether or not to free a FIFO <a href="https://man.openbsd.org/vnode.9">vnode(9)</a>. Adapted from FreeBSD.
<li>Allow Cisco/Juniper compatible (and keyspace-limiting) ASCII md5sig keys in <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>.
<li>Track the number of ftp or http connections to a host in <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a>. Limit to one connection for now.
<li>New -L option to set (<a href="https://man.openbsd.org/pkg_create.1">pkg_create(1)</a>) or use (<a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a>) the package LOCALBASE. See <a href="https://man.openbsd.org/bsd.port.mk.5">bsd.port.mk(5)</a> for details.
<li>Use <a href="https://man.openbsd.org/_exit.2">_exit(2)</a> instead of <a href="https://man.openbsd.org/abort.3">abort(3)</a> when <a href="https://man.openbsd.org/xfs.1">xfs(1)</a> dies due to an error.
<li>Fix a potential double-free in <a href="https://man.openbsd.org/m_split.9">m_split(9)</a> (PR#3651).
<li>Add privilege separation for <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a>.
<li>Move gcc2-specific files into the architecure-specific distribution setlists. Gulp.
<li>Don't dump core in <a href="https://man.openbsd.org/patch.1">patch(1)</a> when the file can't be found but user says to patch anyway.
<li>Let &lt;cdefs.h&gt; compile on old <a href="https://man.openbsd.org/gcc.1">gcc(1)</a> and even on non-gcc.
<li>Make <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> ignore extra (maskless) rtsock change messages sent by <a href="https://man.openbsd.org/pppd.8">pppd(8)</a>.
<li>Start work on the <a href="amd64.html">amd64</a> port. Based on work by NetBSD.
<!-- ^ 20040128 -->
<li>New mail-set-margin option for <a href="https://man.openbsd.org/mg.1">mg(1)</a> mail mode.
<li>Fix <a href="https://man.openbsd.org/ipsecadm.8">ipsecadm(8)</a>'s use of <a href="https://man.openbsd.org/getaddrinfo.3">getaddrinfo(3)</a>.
<li>In <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a>, exit instead of carrying on regardless when the pre-addition stage fails.
<li>Better pfkeyv2 interface when setting up tcpmd5 in <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>. More to do.
<li>Add support for -f (force) option to <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a> and <a href="https://man.openbsd.org/pkg_delete.1">pkg_delete(1)</a>.
<li>Allow <a href="https://man.openbsd.org/skey.1">skey(1)</a>-format usernames (<em>user</em>:skey) in <a href="https://man.openbsd.org/sftp.1">sftp(1)</a> (OpenSSH bugzilla #777).
<li>In pf_test and pf_test6, immediately drop packets on any interface that doesn't have an associated pfi_kif structure.
<li>Hash tcpmd5 TDB lookups by source address instead of the spi
<li>Add missing case for TCP MD5 sigs in SADB_GETPROTO().
<li>Let <a href="https://man.openbsd.org/ipsecadm.8">ipsecadm(8)</a> pass the spi for TCP signatures.
<li>Handle <a href="https://man.openbsd.org/tftpd.8">tftpd(8)</a> tsize and timeout options. From FreeBSD, as was the RFC 2347 support.
<li>Add RFC 2347 "TFTP Option Extension" support to <a href="https://man.openbsd.org/tftpd.8">tftpd(8)</a>. Try to ignore trailing garbage that Apple OpenFirmware can leave where an option should be.
<li>Make the package tools show <a href="https://man.openbsd.org/strerror.3">strerror(3)</a> output when die()ing on filesystem errors.
<li>Allow <a href="https://man.openbsd.org/pkg_delete.1">pkg_delete(1)</a> to handle removal of packages with bogus dependencies, as could be created by earlier versions of the new package tools.
<!-- ^ 20040127 -->
<li>Major changes to <a href="https://man.openbsd.org/i386/biosboot.8">biosboot(8)</a> and <a href="https://man.openbsd.org/i386/installboot.8">installboot(8)</a>, supporting EDD (LBA) mode boots and a shift key-triggered CHS fallback mode. For an encore, remove the previous version's 64KB limit on the size of <a href="https://man.openbsd.org/i386/boot.8">boot(8)</a>.
<li>Make <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> print even an all-zeros netmask, unless the address is all-zeros too.
<li>Take an extra parameter to <a href="https://man.openbsd.org/pthread_stackseg_np.3">pthread_stackseg_np(3)</a> to return stack info for any thread instead of just the current thread.
<li>Only call destructors once on ELF architectures. Stops KDE apps moaning on shutdown.
<li>Since <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a>, <a href="https://man.openbsd.org/dhcpd.8">dhcpd(8)</a> and <a href="https://man.openbsd.org/dhcrelay.8">dhcrelay(8)</a> are now using <a href="https://man.openbsd.org/getifaddrs.3">getifaddrs(3)</a>, don't create the socket that used to be needed by SIOCGIFCONF.
<li>Have <a href="https://man.openbsd.org/cardbus.4">cardbus(4)</a> dump some useful information for non PnP devices.
<li>Enable TCP signatures in the GENERIC kernel.
<li>Initial TCP signature support for <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>.
<li>Add 802.11 datalink type support to the <a href="https://man.openbsd.org/pcap.3">pcap(3)</a> library.
<!-- ^ 20040126 -->
<li>Stop <a href="https://man.openbsd.org/sd.4">sd(4)</a> blurting a bunch of Medium Not Present errors for 6-in-1 card readers.
<li>Fix case where <a href="https://man.openbsd.org/grep.1">grep(1)</a> with the -w option could miss some lines.
<li>Separate <a href="https://man.openbsd.org/ndp.8">ndp(8)</a> from <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> (gmt2local() was shared) before the latter begins mutation.
<li>Lock the <a href="https://man.openbsd.org/vnode.9">vnode(9)</a> earlier in ffs_vget() to avoid unbalanced <a href="https://man.openbsd.org/vrele.9">vrele(9)</a> calls.
<li>Have <a href="https://man.openbsd.org/clri.8">clri(8)</a> use random generation numbers for the inodes it clears instead of just incrementing the old number.
<li>Back out the recent <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> addresses-without-slashes-are-hosts change for now.
<li>Add a few missing UNIX standards to the <a href="https://man.openbsd.org/mdoc.7">mdoc(7)</a> St macro, and update some manpages to use them.
<li>In <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>, clear the non-blocking flag on the socket after connection when the ConnectTimeout option is in effect.
<li>Alignment fixes in <a href="https://man.openbsd.org/ping6.8">ping6(8)</a> and <a href="https://man.openbsd.org/traceroute6.8">traceroute6(8)</a>.
<li>Cleanup in <a href="https://man.openbsd.org/traceroute6.8">traceroute6(8)</a>. Make sure the probe packets give very little away about the sending host.
<li>Some <a href="https://man.openbsd.org/printf.3">*printf(3)</a> type fixes in <a href="https://man.openbsd.org/scsi.4">scsi(4)</a>, so very large disks don't appear to have &lt;0 sectors.
<li>Allow <a href="https://man.openbsd.org/scsi.4">scsi(4)</a> debugging to be limited to individual buses as well as specific targets and LUNs.
<!-- ^ 20040125 -->
<li>Don't enable loud debugging for every <a href="https://man.openbsd.org/ahc.4">ahc(4)</a> device by default.
<li>Install <a href="https://man.openbsd.org/vi.1">vi(1)</a> tutorial docs.
<!-- ^ 20040124 -->
<li>Add cradle mode support to <a href="https://man.openbsd.org/xsystrace.1">xsystrace(1)</a>.
<li>Add an <a href="https://man.openbsd.org/rc.conf.8">rc.conf(8)</a> switch for <a href="https://man.openbsd.org/rpc.yppasswdd.8">rpc.yppasswdd(8)</a> and switch it off by default, instead of always running it if there's a YP directory in place.
<li>New program, ifstated(8), which listens for interface state changes and runs commands when it sees them. Work in progress.
<li>Remove <a href="https://man.openbsd.org/seteuid.2">seteuid(2)</a> and <a href="https://man.openbsd.org/setuid.2">setuid(2)</a> calls from <a href="https://man.openbsd.org/timedc.8">timedc(8)</a>.
<li>New 'cradle mode' for <a href="https://man.openbsd.org/systrace.1">systrace(1)</a>.
<li>Add NTFS to the list of partition types that <a href="https://man.openbsd.org/disklabel.8">disklabel(8)</a> has names for.
<li>Now that our gcc3 has propolice, add USE_GCC3 switch (default is "No") to enable gcc3 build and install.
<li>Fix <a href="https://man.openbsd.org/sftp.1">sftp(1)</a>'s display of long path names.
<li>Enable <a href="https://man.openbsd.org/acss.3">acss(3)</a> support in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
<li>Add <a href="https://man.openbsd.org/acss.3">acss(3)</a> support to libcrypto, and bump the library minor version.
<li>Liberally sprinkle <a href="https://man.openbsd.org/closefrom.2">closefrom(2)</a> where needed.
<li>Speed up <a href="https://man.openbsd.org/scsi.4">scsi(4)</a> probing by not checking for impossible LUNs.
<!-- ^ 20040123 -->
<li>Fix the @arch packing list command in <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a> and <a href="https://man.openbsd.org/pkg_create.1">pkg_create(1)</a>.
<li>Match <a href="https://man.openbsd.org/compress.1">compress(1)</a> exit codes to GNU gzip, unbreaking <a href="https://man.openbsd.org/perl.1">perl(1)</a>'s CPAN module.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Stop <a href="https://man.openbsd.org/mixerctl.1">mixerctl(1)</a> segfaulting on non-existent fields.
<li>Add a simple 802.3x printer to <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a>.
<li>Allow <a href="https://man.openbsd.org/ftp-proxy.8">ftp-proxy(8)</a> to set the outgoing address with the new -a option (PR#3538).
<li>In <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>, only use <a href="https://man.openbsd.org/inet_net_pton.3">inet_net_pton(3)</a> on addresses containing a '/', otherwise use <a href="https://man.openbsd.org/inet_pton.3">inet_pton(3)</a> (PR#3638).
<li>New -S option to <a href="https://man.openbsd.org/nc.1">nc(1)</a>, enabling the TCP MD5 signature option.
<li>Fix collapsing of multiple <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> update messages into one.
<li>Fix <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> state timeouts.
<li>As with <a href="https://man.openbsd.org/sysctl.8">sysctl(8)</a>, remove the need for -w in <a href="https://man.openbsd.org/mixerctl.1">mixerctl(1)</a>.
<li>Propolice fixes for <a href="https://man.openbsd.org/gcc.1">gcc(1)</a>.
<li>First propolice version of gcc3.
<!-- ^ 20040122 -->
<li>Add dynamic bufq support to <a href="https://man.openbsd.org/wd.4">wd(4)</a>. Doesn't do very much for now.
<li>In kernel main(), initialise timeouts much earlier.
<li>New <a href="https://man.openbsd.org/spamd.8">spamd(8)</a> configuration method, based around OpenBSD mirrors of common spammer lists.
<li>Cleanup and fix <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> pfsync protocol output.
<li>Initialise the <a href="https://man.openbsd.org/sftp.1">sftp(1)</a> input file in main() rather than statically.
<li>Some <a href="https://man.openbsd.org/strncpy.3">strncpy(3)</a> -&gt; <a href="https://man.openbsd.org/strlcpy.3">strlcpy(3)</a> in <a href="https://man.openbsd.org/pcap.3">libpcap</a>
<!-- ^ 20040121 -->
<li>Use <a href="https://man.openbsd.org/_exit.2">_exit(2)</a> instead of <a href="https://man.openbsd.org/exit.3">exit(3)</a> from <a href="https://man.openbsd.org/abort.3">abort(3)</a> so stdio buffers don't get flushed twice.
<li>Support Intel 852/855/865 AGP chipsets on i386. From NetBSD.
<li>Don't set a fake baud rate for <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> interfaces.
<li>Only read in as many digits as can legally fit into a field in <a href="https://man.openbsd.org/strptime.3">strptime(3)</a>. From NetBSD.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Add some delay when reading the address off <a href="https://man.openbsd.org/fxp.4">fxp(4)</a> eeproms, otherwise the result may be garbage.
<li>Actually use the RPC program name cache in <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> since we've gone and allocated space for it.
<li>Import some chunks of ffs2 support from FreeBSD.
<li>Have <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> ignore pfsync protocol packets if the interface is not running.
<!-- ^ 20040120 -->
<li>Fix a few <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> memory leaks.
<li>Fix <a href="https://man.openbsd.org/grep.1">grep(1)</a>'s -b option.
<li>Fix a missing <a href="https://man.openbsd.org/malloc.3">malloc(3)</a> error check in <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>.
<li>New user _tcpdump for upcoming privsep of, uh, <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a>.
<li>Avoid half-open deadlock in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> (OpenSSH bugzilla #790).
<li>Some sane defaults for <a href="https://man.openbsd.org/afsd.conf.5">afsd.conf(5)</a> and <a href="https://man.openbsd.org/ThisCell.5">ThisCell(5)</a>.
<li>Update <a href="https://man.openbsd.org/sendmail.8">sendmail(8)</a> to 8.12.11.
<!-- ^ 20040119 -->
<li>Throw away #ifdef spaghetti from XFS filesystem code, and enable it in GENERIC.
<li>Remove a double htons() in <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a>.
<li>Unbreak '*grep -w -l'.
<li>Fix a missing initialisation in <a href="https://man.openbsd.org/grep.1">grep(1)</a>.
<li>Sync <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> DNS display with tcpdump.org to avoid problems with bogus DNS packets.
<li>Allow <a href="https://man.openbsd.org/pflogd.8">pflogd(8)</a> to create (safely) its log file if none exists.
<li>Have <a href="https://man.openbsd.org/carp.4">carp(4)</a> send RTM_IFINFO routing messages on interface state changes.
<li>Prep <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a> for surgery, under src/sbin/dhclient.
<!-- ^ 20040118 -->
<li>Have <a href="https://man.openbsd.org/rsh.1">rsh(1)</a> run <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> instead of <a href="https://man.openbsd.org/rlogin.1">rlogin(1)</a> or <a href="https://man.openbsd.org/telnet.1">telnet(1)</a> when run without a remote command.
<li>Add a bunch of new DNS RR types to &lt;arpa/nameser.h&gt;.
<li>Remove Kerberos IV code from <a href="https://man.openbsd.org/rsh.1">rsh(1)</a>.
<li>Major stability improvements to <a href="https://man.openbsd.org/ahc.4">ahc(4)</a>.
<!-- ^ 20040117 -->
<li>Fix a typo causing a null deref in <a href="https://man.openbsd.org/pf.4">pf(4)</a> IPv6 tcp scrubbing.
<li>New -v option to <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> to log successful completion of Phase 1 and 2 exchanges.
<li>Sync <a href="https://man.openbsd.org/mrouted.8">mrouted(8)</a> with changes to the raw sockets API affecting packet length.
<li>Fix a string bug and a double free in the PEX font parser.
<!-- ^ 20030116 -->
<li>Import libobjc from GCC 3.3.2.
<li>Move libobjc out of the GCC directory and into src/gnu/lib/libobjc.
<li>In <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> check that an IKE header is long enough before trying to display it.
<li>Add a pthreads version of <a href="https://man.openbsd.org/closefrom.2">closefrom(2)</a>.
<li>Remove autoconf stuff from the in-tree <a href="https://man.openbsd.org/sudo.8">sudo(8)</a>.
<li>Fix an early-free bug in <a href="https://man.openbsd.org/mg.1">mg(1)</a> that was breaking compile-goto-error.
<li>Make <a href="https://man.openbsd.org/pflogd.8">pflogd(8)</a> less likely to cause logfile corruption on unexpected shutdowns, and more able to detect and deal sensibly with corrupted files on startup.
<li>Synchronise <a href="https://man.openbsd.org/pflogd.8">pflogd(8)</a> with the newly privilege-separated <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>.
<li>Unbreak <a href="https://man.openbsd.org/awk.1">awk(1)</a>'s maketab.c after recent <a href="https://man.openbsd.org/yacc.1">yacc(1)</a> header file generation changes.
<li>Temporarily work around alpha and sparc64 breakage caused by the recent <a href="https://man.openbsd.org/sigaltstack.2">sigaltstack(2)</a> ABI change.
<li>Teach <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> about TCP signatures.
<li>Some <a href="https://man.openbsd.org/printf.3">*printf(3)</a> type cleanup in <a href="https://man.openbsd.org/httpd.8">httpd(8)</a>.
<li>Support RTM_IFANNOUNCE messages in <a href="https://man.openbsd.org/route.8">route(8)</a>'s monitor command.
<li>Add TCP signature stats display to <a href="https://man.openbsd.org/netstat.1">netstat(1)</a>.
<li>Add TCP MD5 signature support to <a href="https://man.openbsd.org/ipsecadm.8">ipsecadm(8)</a>.
<li>In syncache, defer updating the mss until the 3-way handshake is completed.
<!-- ^ 20040115 -->
<li>Use a <a href="https://man.openbsd.org/pool.9">pool(9)</a> instead of <a href="https://man.openbsd.org/malloc.9">malloc(9)</a> for file locking structures. From NetBSD.
<li>Add syncache and IPv6 support to the resurrected TCP signature code.
<li>In <a href="https://man.openbsd.org/pf.4">pf(4)</a>, remove the predefined 'special' altq IDs, so all qids look alike.
<li>Change the type of sigaltstack.ss_size from int to size_t. Rename old syscall to osigaltstack() for compatibility.
<li>Remove extra 'sleep 1' from <a href="https://man.openbsd.org/netstart.8">netstart(8)</a> when doing IPv6 DAD.
<li>Preliminary <a href="https://man.openbsd.org/gcc.1">gcc(1)</a> support for ARM.
<li>Have <a href="https://man.openbsd.org/nm.1">nm(1)</a> fall back to using <a href="https://man.openbsd.org/pread.2">pread(2)</a> if <a href="https://man.openbsd.org/mmap.2">mmap(2)</a> fails, as it does for /dev/ksyms.
<li>Don't issue Test Unit Ready to <a href="https://man.openbsd.org/scsi.4">scsi(4)</a> devices until we've checked that 'don't issue Test Unit Ready' quirk isn't needed.
<li>Revamp <a href="https://man.openbsd.org/scsi.4">scsi(4)</a> LUN quirks handling.
<!-- ^ 20040114 -->
<li>Use the right type when checking the magic number in <a href="https://man.openbsd.org/savecore.8">savecore(8)</a>.
<li><a href="https://man.openbsd.org/printf.3">printf(3)</a> integer type cleanup in <a href="https://man.openbsd.org/netstat.1">netstat(1)</a>.
<li>Correct a use-after-free in <a href="https://man.openbsd.org/cvs.1">cvs(1)</a>, fixing a coredump when the user hits ^C.
<li>Fix <a href="https://man.openbsd.org/authpf.8">authpf(8)</a> ruleset names that contain the username (PR#3627).
<li>'=' != '==' in <a href="https://man.openbsd.org/fsck.8">fsck(8)</a>.
<li>Let &lt;ctype.h&gt; compile on non-gcc compilers.
<li>Reintroduce old TCP MD5 signature (RFC 2385) code from 4.5 years ago, hopefully with a reduced likelihood of kernel borkage.
<li>Improvements to <a href="https://man.openbsd.org/sftp.1">sftp(1)</a> batch mode: Allow batchfile input from stdin, and remove stderr junk (OpenSSH bugzilla #754).
<li>Add IPv6 loopback routes and allow connection to the <a href="https://man.openbsd.org/carp.4">carp(4)</a> shared IPv6 address from the MASTER host, like for IPv4.
<li>Fix a signed buffer length variable in <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>.
<li>Build local <a href="https://man.openbsd.org/nm.1">nm(1)</a> and <a href="https://man.openbsd.org/size.1">size(1)</a> instead of those from binutils.
<li>Allow <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a> to show all interfaces of a given type by giving it a device without a unit number, e.g. 'ifconfig vlan'.
<li>Respect the quiet flag in <a href="https://man.openbsd.org/newfs.8">newfs(8)</a> and don't spew cpg warnings.
<!-- ^ 20040113 -->
<li>Change /dev/utty[0-9a-f] entries <a href="https://man.openbsd.org/ucom.4">ucom(4)</a> to /dev/ttyU[0-9a-zA-Z]
<li>In <a href="https://man.openbsd.org/syslogc.8">syslogc(8)</a>, don't re-terminate a string after <a href="https://man.openbsd.org/strlcat.3">strlcat(3)</a>.
<li>Sync <a href="https://man.openbsd.org/pf.os.5">pf.os(5)</a> with the current <a href="http://lcamtuf.coredump.cx/">p0f</a> development snapshot.
<li>A little string cleaning and extra error checking in <a href="https://man.openbsd.org/swapctl.8">swapctl(8)</a>.
<li>Make shared C++ binary linking consistent between GCC 2.95 and GCC 3.
<li>Stop g++(1) adding '-lm -lstdc++' when -shared is present, consistent with <a href="https://man.openbsd.org/gcc.1">gcc(1)</a>.
<li>Use <a href="https://man.openbsd.org/closefrom.2">closefrom(2)</a> instead of looping up to the fd rlimit in <a href="https://man.openbsd.org/sudo.8">sudo(8)</a>. From sudo CVS.
<li>Fix up and install the <a href="https://man.openbsd.org/vi.1">vi(1)</a> USD docs.
<li>New system call <a href="https://man.openbsd.org/closefrom.2">closefrom(2)</a>, which closes all descriptors greater than or equal to the given fd. Bump libc and libpthread minor version.
<li>Have <a href="https://man.openbsd.org/tun.4">tun(4)</a> use klist_invalidate() so ifconfig destroy can work with <a href="https://man.openbsd.org/kqueue.2">kqueue(2)</a> enabled.
<li>Add klist_invalidate() function in <a href="https://man.openbsd.org/kqueue.2">kqueue(2)</a> to clean up when the event source goes away.
<li>Replace some hairy string code with a single <a href="https://man.openbsd.org/asprintf.3">asprintf(3)</a> in <a href="https://man.openbsd.org/sup.1">sup(1)</a>.
<!-- ^ 20040112 -->
<li>Remove some portable-only #ifdef code around <a href="https://man.openbsd.org/openpty.3">openpty(3)</a> in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
<li>In <a href="https://man.openbsd.org/sysctl.8">sysctl(8)</a>, making an assignment by using '=' no longer requires a totally redundant -w option.
<li>Remove ugly spaces from <a href="https://man.openbsd.org/sysctl.8">sysctl(8)</a> 'var=value' output.
<li>Sync the installer script with recent <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a> changes.
<li>Add IPv4 loopback routes much later in <a href="https://man.openbsd.org/netstart.8">netstart(8)</a>.
<li>Make <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a> listen to the routing socket, and quit if anyone downs the interface or deletes an addresses. <!-- 'goto die' for exit on address addition is commented out -->
<li>Have <a href="https://man.openbsd.org/dhclient-script.8">dhclient-script(8)</a> preserve a preexisting <a href="https://man.openbsd.org/resolv.conf.5">resolv.conf(5)</a> and restore it when exiting.
<li>Add a missing forward declaration of struct proc in &lt;sys/rwlock.h&gt;.
<!-- ^ 20040111 -->
<li>Remove code in <a href="https://man.openbsd.org/auth_clean.3">auth_clean(3)</a> that cleared the options list, since <a href="https://man.openbsd.org/login.1">login(1)</a> depends on it leaving them alone.
<li>Print only valid sense info in <a href="https://man.openbsd.org/scsi.4">scsi(4)</a>.
<li>Correctly a missing bonus points for completed rows bug in <a href="https://man.openbsd.org/tetris.6">tetris(6)</a>.
<!-- ^ 20040110 -->
<li>Stop <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> screwing up the terminal by printing non-printable timed protocol hostnames.
<li>Add a missing initialisation in <a href="https://man.openbsd.org/kvm_open.3">kvm_open(3)</a>.
<li>Reduce the TCP MSS lower bound to 256-(minimal TCP header size) = 216 bytes.
<li>Don't restrict RFC 2385 TCP signature keys to ASCII-only.
<li>Fix a memory leak when detaching an Ethernet interface.
<li>In <a href="https://man.openbsd.org/netstart.8">netstart(8)</a> create all routes with the new improved -q option.
<li>Make <a href="https://man.openbsd.org/route.8">route(8)</a>'s -q option really quiet.
<li>Back out the storing of parent vnodes, due to exploding ports.
<li>Have <a href="https://man.openbsd.org/sysctl.8">sysctl(8)</a> politely tell the user that the tool of choice for viewing a list of processes is <a href="https://man.openbsd.org/ps.1">ps(1)</a>.
<!-- ^ 20040109 -->
<li>Carefully work around time_t != long in <a href="https://man.openbsd.org/gdb.1">gdb(1)</a>.
<li>Crucially, adjust <a href="https://man.openbsd.org/worms.6">worms(6)</a>' delay based on the terminal speed.
<li>Types cleanup in <a href="https://man.openbsd.org/jot.1">jot(1)</a>. Mostly from FreeBSD.
<li>Convert <a href="https://man.openbsd.org/fstat.1">fstat(1)</a>, <a href="https://man.openbsd.org/ps.1">ps(1)</a>, <a href="https://man.openbsd.org/systat.1">systat(1)</a>, <a href="https://man.openbsd.org/top.1">top(1)</a> and <a href="https://man.openbsd.org/w.1">w(1)</a> to use the new <a href="https://man.openbsd.org/kvm_getproc2.3">kvm_getproc2(3)</a> interface.
<li>Make ELF architectures handle constructors and destructors the way the ELF spec says they should.
<li>Sync <a href="https://man.openbsd.org/sensorsd.8">sensorsd(8)</a>'s notion of zero Kelvin with that in the kernel.
<li>Fix a typo in <a href="https://man.openbsd.org/ndp.8">ndp(8)</a> affecting the -s (set entry) option.
<!-- ^ 20040108 -->
<li>Fix a busted <a href="https://man.openbsd.org/mkdtemp.3">mkdtemp(3)</a> return value check in binutils.
<li>Use proper uid_t and gid_t types in <a href="https://man.openbsd.org/id.1">id(1)</a>.
<li>New -e option to <a href="https://man.openbsd.org/systrace.1">systrace(1)</a>, which sends logs to stderr instead of syslog.
<li>Promote dirhash to the GENERIC big time.
<li>Increase the TCP MSS lower bound from 64 to 256 bytes.
<li><a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a>ify dirhash, under vfs.ffs.dirhash_*.
<li>Plug an interface address memory leak in <a href="https://man.openbsd.org/pf.4">pf(4)</a>.
<li>Stop <a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a> returning EINVAL for KERN_PROC_KTHREAD.
<li>Logic fixes in <a href="https://man.openbsd.org/diff3.1">diff3(1)</a> where one file has changes but the other does not.
<li>Some <a href="https://man.openbsd.org/scsi.4">scsi(4)</a> probe cleanups and fixes, inspired by NetBSD.
<li>Implement the truly wonderful -p option for <a href="https://man.openbsd.org/diff.1">diff(1)</a>.
<li>Fix an i386 crash in the <a href="https://man.openbsd.org/ahc.4">ahc(4)</a> device probe (PR#3630).
<li>Add a field for the emulation type in the struct returned by the KERN_PROC2 <a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a>.
<li>Switch <a href="https://man.openbsd.org/pkill.1">pkill(1)</a> and <a href="https://man.openbsd.org/pgrep.1">pgrep(1)</a> to <a href="https://man.openbsd.org/kvm_getproc2.3">kvm_getproc2(3)</a>, and so enable the -s option to work.
<li>Add <a href="https://man.openbsd.org/kvm_getproc2.3">kvm_get{argv,envv,proc}2(3)</a> using KERN_PROC2. Based on NetBSD.
<li>Implement the KERN_PROC2 <a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a>, allowing <a href="https://man.openbsd.org/ps.1">ps(1)</a> etc. to be independent of changes to process-related kernel structures. From NetBSD.
<li>On i386, sync <a href="https://man.openbsd.org/i386/fdisk.8">fdisk(8)</a>'s built-in MBR image with the recent changes.
<li>Import generic IEEE 802.11 interface framework from NetBSD.
<!-- ^ 20040107 -->
<li>Have <a href="https://man.openbsd.org/pf.4">pf(4)</a> do as non-pf udp_input() does, and drop UDP packets with destination port zero, or with zero or oversize payload.
<li>Import <a href="https://man.openbsd.org/pkill.1">pkill(1)</a> and <a href="https://man.openbsd.org/pgrep.1">pgrep(1)</a> from NetBSD. Selecting by session ID (-s option) doesn't work yet.
<li>Fix signal handling in the case of an error in <a href="https://man.openbsd.org/inetd.8">inetd(8)</a>'s config file.
<li>Import SYN cache code to deflect SYN flood attacks, controlled with <a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a>s net.inet.tcp.syncachelimit and net.inet.tcp.synbucketlimit. From NetBSD, based on <a href="http://www.kohala.com/start/borman.97jun06.txt">work</a> by David Borman.
<li>Unbreak ifconfig destroy on <a href="https://man.openbsd.org/vlan.4">vlan(4)</a> interfaces when MROUTING is defined.
<li>In <a href="https://man.openbsd.org/yacc.1">yacc(1)</a>, make sure extern YYSTYPE doesn't get #ifdef'd out when generating a .h file.
<li>Keep track of parent vnodes on ufs filesystems, this will be needed soon.
<li>Add some rwlocks around kernel file descriptor code, avoiding some rare race conditions.
<!-- ^ 20040106 -->
<li>Don't allow a <a href="https://man.openbsd.org/tun.4">tun(4)</a> cloner interface to be destroyed if there are any outstanding <a href="https://man.openbsd.org/knote.9">knote(9)</a>s.
<li>Fix a few <a href="https://man.openbsd.org/strlcpy.3">strlcpy(3)</a> off-by-ones in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<li>New -F flag for <a href="https://man.openbsd.org/rtsold.8">rtsold(8)</a>, which automagically sets the inet6 <a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a> values it needs. Useful for boot floppies.
<li>Support NOTE_EOF for <a href="https://man.openbsd.org/kqueue.2">kqueue(2)</a> read events.
<li>Some string and memory leak cleanup in <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>. Still work in progress.
<li>Merge in libstdc++ (gcc 3.3.2) for gcc3.
<li>Only prevent the removal of removable <a href="https://man.openbsd.org/scsi.4">scsi(4)</a> devices.
<li>Merge <a href="https://man.openbsd.org/nm.1">nm(1)</a> with <a href="https://man.openbsd.org/size.1">size(1)</a> under src/usr.bin/nm.
<li>Teach <a href="https://man.openbsd.org/nm.1">nm(1)</a> all about ELF.
<li>Really stop the compiler optimising away <a href="https://man.openbsd.org/memset.3">memset(3)</a> calls used to zero sensitive data in <a href="https://man.openbsd.org/sudo.8">sudo(8)</a>. From sudo CVS.
<li>Major changes to the i386 master boot record, which now uses EDD if available to support booting from a partition more than 8GB from the start of the disk. The 8GB size limit is still in place.
<!-- ^ 20040105 -->
<li>Begin a cleanup of <a href="https://man.openbsd.org/config.8">config(8)</a>.
<li>Don't ignore the '!' operator on the interface for <a href="https://man.openbsd.org/pf.4">pf(4)</a> binat rules.
<li>Implement buffered logging in <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>. Logs may be stored in a ring buffer and extracted using a client such as the new <a href="https://man.openbsd.org/syslogc.8">syslogc(8)</a>.
<li>Add option INET6, <a href="https://man.openbsd.org/rtsol.8">rtsol(8)</a> and <a href="https://man.openbsd.org/ping6.8">ping6(8)</a> onto boot floppies/CD images where it will fit.
<!-- ^ 20040104 -->
<li>Work continues on <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>.
<li>Use <a href="https://man.openbsd.org/fgets.3">fgets(3)</a> instead of <a href="https://man.openbsd.org/fgetln.3">fgetln(3)</a> in <a href="https://man.openbsd.org/user.8">user(8)</a>, killing a sparc64 bus error along the way.
<li><strong>SECURITY FIX:  Several message handling flaws in <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> have been reported by Thomas Walpuski. These allow an attacker to delete arbitrary SAs.</strong><br>
    <a href="errata34.html#isamkpd">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>In <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> only allow an INITIAL-CONTACT when a main-mode SA is in place, and never delete SPIs based on it.<br>
<li>gcc3 handles varargs differently, change the kernel sources to deal with it.
<li>Some <a href="https://man.openbsd.org/poll.2">poll(2)</a>-related fixes to <a href="https://man.openbsd.org/select.2">select(2)</a> under pthreads. From FreeBSD.
<li>Fix <a href="https://man.openbsd.org/objcopy.1">objcopy(1)</a>'s long options list, unbreaking <a href="https://man.openbsd.org/strip.1">strip(1)</a>'s -s option and others (PR#3623).<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Don't create a pid file for <a href="https://man.openbsd.org/rtsold.8">rtsold(8)</a>.
<li>If the <a href="https://man.openbsd.org/scsi.4">scsi(4)</a> error code is unknown, at least show the code we didn't have a message for.
<!-- ^ 20040103 -->
<li>Use a memory <a href="https://man.openbsd.org/pool.9">pool(9)</a> instead of <a href="https://man.openbsd.org/MALLOC.9">MALLOC(9)</a> for inet and inet6 PCBs. From NetBSD five years ago.
<li>Recognise and handle a few more <a href="https://man.openbsd.org/scsi.4">scsi(4)</a> reset conditions.
<li>Bring the <a href="https://man.openbsd.org/scsi.4">scsi(4)</a> error description list up to date with SCSI-3.
<li>Add <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> control program <a href="https://man.openbsd.org/bgpctl.8">bgpctl(8)</a>.
<!-- ^ 20040102 -->
<li>For i386 only, incread SHMMAXPGS from 2048 to 8192.
<li>In the all-architectures kernel config, bump SHMMNI from 32 to 128, and SHMSEG from 8 to 128.
<li>If <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a> fails in the postinstall script, record the package as a borked install instead of dying with a bunch of unregistered files all over the place.
<li>In libpthread, make <a href="https://man.openbsd.org/poll.2">poll(2)</a>, <a href="https://man.openbsd.org/readv.2">readv(2)</a> and <a href="https://man.openbsd.org/writev.2">writev(2)</a> cancellation points too.
<!-- ^ 20040101 -->
<li>Undefer and handle pending signals in all code paths of <a href="https://man.openbsd.org/pthread_join.3">pthread_join(3)</a>.
<li>On i386, stop the FPU exception tests hanging amd64 and new Transmeta CPUs.
<li>Have <a href="https://man.openbsd.org/xdm.1">xdm(1)</a>'s Xsession script reap the SSH agent on session shutdown even if the user has a ~/.xsession file.
<li>Make 'vi -r foo' work the way the <a href="https://man.openbsd.org/vi.1">vi(1)</a> manpage says it should instead of dying.
<li>Many improvements to network interface handling in <a href="https://man.openbsd.org/pf.4">pf(4)</a>. See the <a href="https://cvsweb.openbsd.org/src/sys/net/pf.c#rev1.414">commit log</a> for details.
<li>Add <a href="https://man.openbsd.org/svc_getreq_poll.3">svc_getreq_poll(3)</a> and switch libc RPC code to use its <a href="https://man.openbsd.org/poll.2">poll(2)</a> interface instead of <a href="https://man.openbsd.org/select.2">select(2)</a>.
<li>Have <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> properly ignore an (unupported) SSH2 password change request and the suggested new password.
<li>Change <a href="https://man.openbsd.org/wait4.2">wait4(2)</a>'s prototype to take a pid_t instead of an int for the first argument, like the manpage says.
<!-- ^ 20031231 -->
<li>Define _FFR_DEAL_WITH_ERROR_SSL to stop SSL errors sending <a href="https://man.openbsd.org/sendmail.8">sendmail(8)</a> into an endless loop.
<li>Don't do <a href="https://man.openbsd.org/TAILQ_REMOVE.3">TAILQ_REMOVE(3)</a> while inside a TAILQ_FOREACH loop in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
<!-- ^ 20031230 -->
<li>As system startup, run vi.recover after <a href="https://man.openbsd.org/ldconfig.8">ldconfig(8)</a> so that <a href="https://man.openbsd.org/perl.1">perl(1)</a> and the MTA can find their shared libraries.
<li>Convert <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a> to use <a href="https://man.openbsd.org/poll.2">poll(2)</a> instead of <a href="https://man.openbsd.org/select.2">select(2)</a> in its main event loop.
<li>Once <a href="https://man.openbsd.org/grep.1">grep(1)</a> and friends have identified a file as binary, seek back to the beginning before continuing.
<li>Unbreak <a href="https://man.openbsd.org/zgrep.1">zgrep(1)</a> when the uncompressed file begins with a newline.
<li>In <a href="https://man.openbsd.org/disklabel.8">disklabel(8)</a> add new size unit types '%' and '&amp;' to specify, respectively, percentage of disk size and percentage of remaining disk space.
<li>Allow a precision (-p option) of zero in <a href="https://man.openbsd.org/jot.1">jot(1)</a>.
<li>On i386, properly recognise SiS CPUs.
<li>Hack around a reentrancy bug in the <a href="https://man.openbsd.org/cvs.1">cvs(1)</a> server's abnormal exit handler.
<li>Allocate what's required for an identifier in <a href="https://man.openbsd.org/config.8">config(8)</a> instead of an arbitrary 500-byte buffer (PR#3614).
<li>Stop libcurses++ fooling with libstdc++ internals so it compiles under gcc3.
<!-- ^ 20031229 -->
<li>Add -4 and -6 options to <a href="https://man.openbsd.org/telnet.1">telnet(1)</a> for IPv4- and IPv6-only operation (PR#1974).
<li>Tag <a href="https://man.openbsd.org/ahc.4">ahc(4)</a> I/O operations requeued as a result of aborts, timeouts etc. so that they're not treated as successfully completed operations.
<li>Update <a href="https://man.openbsd.org/security.8">security(8)</a> after the recent <a href="https://man.openbsd.org/join.1">join(1)</a> change prompted by PR#2208.
<li>Make <a href="https://man.openbsd.org/join.1">join(1)</a> more POSIX for non-matching lines (PR#2208).
<li>Add dirhash feature from FreeBSD, which uses an in-memory hash table for lookups in large directories. Not enabled by default yet. See UFS_DIRHASH in <a href="https://man.openbsd.org/options.4">options(4)</a>.
<li>Extend the <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> protocol to allow a peer to query for complete state information should it receive an update for a state it knows nothing about.
<li>Check for oversize allocations earlier in kernel <a href="https://man.openbsd.org/malloc.9">malloc(9)</a>.
<li>Fix some peculiar macro token pasting in <a href="https://man.openbsd.org/fvwm.1">fvwm(1)</a>.
<li>Properly initialise the C++ constructor and destructor lists for ELF, killing a gcc3 warning in libstdc++.
<li>In <a href="https://man.openbsd.org/huntd.6">huntd(6)</a>, stop doing <a href="https://man.openbsd.org/va_end.3">va_end(3)</a> on the varargs format string.
<!-- ^ 20031228 -->
<li>Add a missing zero-fill before contructing <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> output in <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a>.
<li>Fix a couple of bugs with negative values in <a href="https://man.openbsd.org/fmt_scaled.3">fmt_scaled(3)</a>, and don't print fractions of bytes.
<!-- ^ 20031227 -->
<li>Overhaul <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>'s error handling and logging.
<li>Allow an 'arch' annotation to be stored within packages by <a href="https://man.openbsd.org/pkg_create.1">pkg_create(1)</a>.
<li>Have <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a> report on the amount of space used on each filesystem.
<li>In <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>, treat localhost network 127/8 as if it were a connected network and don't allow it to be deleted.
<li>Halve the amount of space allocated for AES in <a href="https://man.openbsd.org/ipsec.4">ipsec(4)</a> by making the contexts encryption- or decryption-specific.
<li>Enable nexthop verification in <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>.
<!-- ^ 20031226 -->
<li>On m68k, m88k, sparc, sparc64 and vax, fix a signed comparison bug in <a href="https://man.openbsd.org/brk.2">brk(2)</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Update libiberty to that from binutils-2.14.
<li>Add passive mode (no TCP connection to the peer) to <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>.
<!-- ^ 20031225 -->
<li>Huge sync of <a href="https://man.openbsd.org/ahc.4">ahc(4)</a> to NetBSD, which in turn is sync'd to FreeBSD. Many bugs fixed, several left to fix.
<li>Connect <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> to the build, along with an example <a href="https://man.openbsd.org/bgpd.conf.5">bgpd.conf(5)</a> file. Lots of work still needed.
<li>Let the pkg_* tools' new virtual filesystem to cope with mount points with no options, e.g. AFS.
<li>Enable hw.cpuspeed <a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a> on macppc.
<!-- ^ 20031224 -->
<li>Add stubs for <a href="https://man.openbsd.org/pthread_setconcurrency.3">pthread_[gs]etconcurrency(3)</a>. From FreeBSD.
<li>Fix a descriptor leak in libpthread when doing <a href="https://man.openbsd.org/close.2">close(2)</a> on fds 0,1 or 2. Based on a fix in FreeBSD, but implemented differently.
<li>In libpthread, make <a href="https://man.openbsd.org/accept.2">accept(2)</a>, <a href="https://man.openbsd.org/connect.2">connect(2)</a>, <a href="https://man.openbsd.org/recvfrom.2">recvfrom(2)</a>, <a href="https://man.openbsd.org/recvmsg.2">recvmsg(2)</a>, <a href="https://man.openbsd.org/sendmsg.2">sendmsg(2)</a> and <a href="https://man.openbsd.org/sendto.2">sendto(2)</a> cancellation points as required by POSIX.1-2001. From FreeBSD.
<li>Deallocate <a href="https://man.openbsd.org/xl.4">xl(4)</a> resources on attach failures.
<li>Enable bus mastering on <a href="https://man.openbsd.org/fxp.4">fxp(4)</a>. Oh yes.
<li>New <a href="https://man.openbsd.org/sshd.8">sshd(8)</a> option KerberosGetAFSToken.
<li>Have <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a> automagically create network pseudo-interfaces.
<li>Mercifully, turn the non-monotonic time warning off #ifndef DEBUG.
<li>Initialise the <a href="https://man.openbsd.org/url.4">url(4)</a> MAC address properly (PR#3612).
<li>When <a href="https://man.openbsd.org/sudo.8">sudo(8)</a> is run with -k or -K only complain about missing usernames to stderr and don't log anything, since we may be running in a .logout script at shutdown and the YP etc. daemon may have gone away.
<!-- ^ 20031223 -->
<li>Fix a remotely exploitable crasher in <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a>'s l2tp parser (PR#3610).<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Properly clean up 3DES cipher contexts in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
<li>Make sure a signal handler-modified variable in <a href="https://man.openbsd.org/sensorsd.8">sensorsd(8)</a> is typed as volatile sig_atomic_t.
<li>In <a href="https://man.openbsd.org/i386/wsmoused.8">wsmoused(8)</a> (and bgpd) don't set up a handler for SIGKILL since that signal isn't passed to the process at all ever.
<li>Fix a pasto (from the recent source-tracking additions) in the implementation of <a href="https://man.openbsd.org/pf.4">pf(4)</a> DIOCSTART.
<li>Fix end-of-tape handling under pthreads. Fix from FreeBSD PR#56274, including the fix to the fix in FreeBSD PR#59291.
<!-- ^ 20031222 -->
<li>Use a virtual filesystem in <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a> and <a href="https://man.openbsd.org/pkg_delete.1">pkg_delete(1)</a> so they can test for available space and writeability before attempting to do the real operations.
<li>Much work on the new bgpd.
<li>Remove the recursive format string option '%:' from kernel <a href="https://man.openbsd.org/printf.9">printf(9)</a>.
<li>Change in*_pcbnotify() to return the number of matches.
<li>Check for multicasts earlier when processing TCP input, to reduce the amount of redundant processing.
<!-- ^ 20031221 -->
<li>For <a href="https://man.openbsd.org/semop.2">semop(2)</a> calls with a small number of operations, use the stack instead of <a href="https://man.openbsd.org/malloc.9">malloc(9)</a>'d memory to reduce overhead. Adapted from FreeBSD.
<li>Fix some unbounded <a href="https://man.openbsd.org/sscanf.3">sscanf(3)</a>s in the <a href="https://man.openbsd.org/usbhid.3">usbhid(3)</a> library.
<li>On i386, add a driver for the Pentium 4's thermal control circuit.
<!-- ^ 20031220 -->
<li>Stop <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> printing garbage <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> states when the snaplen is less than the sender's MTU.
<li>Have <a href="https://man.openbsd.org/dc.1">dc(1)</a> handle SIGINT in a rational way, and have <a href="https://man.openbsd.org/bc.1">bc(1)</a> pass SIGINT to dc to handle in a rational way.
<li>When updating process stats, check for non-monotonically-increasing time from <a href="https://man.openbsd.org/microtime.9">microtime(9)</a>, deal with it by doing nothing instead of zeroing the counter, and complain #ifdef DIAGNOSTIC.
<!-- ^ 20031219 -->
<li>Enhanced Intel SpeedStep support on i386.
<li>New <a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a> variables hw.cpuspeed and hw.setperf on i386, used to control LongRun.
<li>Only modulate the TCP timestamp (<a href="https://man.openbsd.org/pf.4">pf(4)</a> scrub reassemble tcp) if there's a valid timestamp to be modulated.
<li>Allow ARP replies containing Ethernet multicast addresses, since some HA products want to do this.
<li>Show <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> how to recognise IKE NAT-D and NAT-OA payloads.
<li>When <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> gives up on a message, show the exchange name in the log.
<!-- ^ 20031218 -->
<li>Change <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> multicast group to 224.0.0.240, and IP protocol (pfsync in <a href="https://man.openbsd.org/protocols.5">protocols(5)</a>) to 240.
<li>New pseudo-user _bgpd with matching group.
<li>Begin spanning tree operation when a <a href="https://man.openbsd.org/bridge.4">bridge(4)</a> interface comes up.
<li>New BGP daemon, bgpd. Not complete, and not built by default yet.
<li>Do a real inverse-colour cursor for <a href="https://man.openbsd.org/rasops.9">rasops(9)</a>-based consoles. Based on a similar change in NetBSD.
<li>New <a href="https://man.openbsd.org/kqueue.2">kqueue(2)</a> filters NOTE_EOF and NOTE_TRUNCATE.
<li>Add <a href="https://man.openbsd.org/ccd.4">ccd(4)</a> and a newly-shrunken version of <a href="https://man.openbsd.org/ccdconfig.8">ccdconfig(8)</a> to the i386 CD ramdisk kernel.
<!-- ^ 20031217 -->
<li>Update the kernel zlib to 1.2.1.
<li>Shrink even more the special gzip used for boot floppies. It now does decompress only and is directly compiled in.
<li>Update userland zlib to 1.2.1, with local fixes. New major version, libz.so.3.0.
<li>Don't let <a href="https://man.openbsd.org/cvs.1">cvs(1)</a> pass null labels through to its diff command when <a href="https://man.openbsd.org/stat.2">stat(2)</a> fails for an input file.
<li>When filtering on a <a href="https://man.openbsd.org/bridge.4">bridge(4)</a>, compare the destination in the filter with the destination address of the packet, not the source address.
<li>New <a href="https://man.openbsd.org/queue.3">queue(3)</a> macros SLIST_FOREACH_PREVPTR (from FreeBSD) and SLIST_REMOVE_NEXT.
<li>Allow cloner interfaces to return an error from their destroy function.
<li>Much string cleaning and <a href="https://man.openbsd.org/abort.3">abort(3)</a> -&gt; <a href="https://man.openbsd.org/exit.3">exit(3)</a> in the AFS library.
<li>Stop <a href="https://man.openbsd.org/newsyslog.8">newsyslog(8)</a> segfaulting when given an empty command (PR#3578).
<li>Fix a couple of missing <a href="https://man.openbsd.org/printf.3">printf(3)</a> args in <a href="https://man.openbsd.org/monop.6">monop(6)</a> and <a href="https://man.openbsd.org/mopd.8">mopd(8)</a>.
<li>New environment variable MANPAGER for <a href="https://man.openbsd.org/man.1">man(1)</a> (PR#3563).
<li>Add app-layer keepalive option 'ServerAliveInterval' to <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>, analogous to ClientAliveInterval on the server.
<li>Don't do expensive <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> processing if noone is using it (i.e. no <a href="https://man.openbsd.org/bpf.4">bpf(4)</a> listeners, and no network synchronisation).
<li>Shorten or '#ifdef SMALL'-out some long message strings in the kernel.
<li>A round of boot floppy space-saving begins.
<!-- ^ 20031216 -->
<li>When calculating CPU time usage, check for a time-going-backwards bug in <a href="https://man.openbsd.org/microtime.9">microtime(9)</a> found on some dual-clock systems.
<li>Fix some fallout from the rlim_t change from signed to unsigned.
<li>Add support for groups 14 through 18 (modp{2048,2072,4096,6144,8192} - see RFC 3526) to <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>.
<li>Initial support for <a href="https://man.openbsd.org/pf.4">pf(4)</a> state synchronisation over the network. See <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a>.
<li>Make <a href="https://man.openbsd.org/sh.1">sh(1)</a> and <a href="https://man.openbsd.org/ksh.1">ksh(1)</a> functions work the way the manual page suggests with respect to non-exported environment variables (PR#2450).
<li>Allow <a href="https://man.openbsd.org/pf.4">pf(4)</a> to track stateful connections based on the source IP address. Especially useful for load balancing configurations.
<!-- ^ 20031215 -->
<li>Add <a href="https://man.openbsd.org/awk.1">awk(1)</a> USD paper in /usr/share/doc/usd/16.awk.
<li>Don't assume that the IKE port is always 500 in <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> log output.
<li>Alignment fixes for kernel and libc RMD160 functions.
<!-- ^ 20031214 -->
<li>Initial support for ifconfig destroy in <a href="https://man.openbsd.org/ppp.4">ppp(4)</a> and <a href="https://man.openbsd.org/sl.4">sl(4)</a>
<!-- ^ 20031213 -->
<li>Don't accept absolute pathnames for module names in <a href="https://man.openbsd.org/cvs.1">cvs(1)</a>. From CVS 1.11.10.
<li>Cleanup and POSIXness for <a href="https://man.openbsd.org/join.1">join(1)</a>. From FreeBSD.
<!-- ^ 20031212 -->
<li>More POSIX type definitions (rlim_t now unsigned, RLIM_SAVED_{CUR,MAX} defined, id_t defined).
<li>Kill annoying <a href="https://man.openbsd.org/pf.4">pf(4)</a> assertion failure messages, and correct the underlying problem with NAT and table stats (PR#3587).
<li>Fix <a href="https://man.openbsd.org/sis.4">sis(4)</a> short cable problems properly. From Linux and the datasheets, via FreeBSD.
<!-- ^ 20031211 -->
<li>Also for <a href="https://man.openbsd.org/poll.2">poll(2)</a>, add pollfd_t (= struct pollfd) as in Solaris.
<li>Add type nfds_t for <a href="https://man.openbsd.org/poll.2">poll(2)</a> as per POSIX.
<li>Make <a href="https://man.openbsd.org/pkg_delete.1">pkg_delete(1)</a> flag an attempt to delete a non-existent package as an error.
<li>For IPv6 multicast sockets, validate the get/<a href="https://man.openbsd.org/setsockopt.2">setsockopt(2)</a> argument more strictly to preventing a local user causing a kernel panic. From KAME.
<li>Big register declaration purge in sys/net*.
<li>Better non-repetitive ID generation for IPv4, IPv6 and resolver query IDs.
<li>Some improvements to <a href="https://man.openbsd.org/authpf.8">authpf(8)</a>'s logging output.
<li>Fix up netinet and netinet6 interface lookup code after the introduction of clonable devices.
<!-- ^ 20031210 -->
<li>Clear the exit code when <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> with -N is terminated with SIGTERM.
<li>Sync <a href="https://man.openbsd.org/em.4">em(4)</a> with FreeBSD, enabling support for a few more models.
<li>Fix some *printf(char *) silliness in <a href="https://man.openbsd.org/identd.8">identd(8)</a>.
<li>Rename the <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> option KeepAlive to TCPKeepAlive to help people who just won't read manual pages.
<li>Better -n handling for <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a> and <a href="https://man.openbsd.org/pkg_delete.1">pkg_delete(1)</a> when dependencies are involved.
<li>Make explicit the base package to which <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a>'s dependency resolution output applies.
<li>Fix error-handling logic in <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a> that affected the -n option.
<li>In <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> and <a href="https://man.openbsd.org/sshd.8">sshd(8)</a>, don't modify argv when parsing the -o option (unbreaks HUP for sshd).
<li>Make <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> option ClientKeepAlive work when the -N option (no login shell) is in effect.
<li>Stop <a href="https://man.openbsd.org/ssh-keygen.1">ssh-keygen(1)</a>'s -T option from accepting primes with no known generator.
<li>Add some PostScript docs for <a href="https://man.openbsd.org/lex.1">lex(1)</a>.
<li>Fix some missing <a href="https://man.openbsd.org/printf.3">printf(3)</a> args in <a href="https://man.openbsd.org/tn3270.1">tn3270(1)</a> and kernfs.
<li>Some cleanup in <a href="https://man.openbsd.org/compress.1">compress(1)</a>.
<li>Allow more than one user at a time to use <a href="https://man.openbsd.org/ftp.1">ftp(1)</a> in active mode (PR#3596).<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Unbreak xfs symlinks (PR#3552).<br>
    <a href="stable.html">[Applied to stable]</a>
<!-- ^ 20031209 -->
<li>In <a href="https://man.openbsd.org/patch.1">patch(1)</a>, get a private mapping from <a href="https://man.openbsd.org/mmap.2">mmap(2)</a> instead of a default (file) mapping.
<li>Fix a crash in <a href="https://man.openbsd.org/troff.1">troff(1)</a>.
<li>Don't drop the newest TCP connection when doing SYN flood avoidance when we meant to drop the oldest.
<li>Fix an endianness bug in <a href="https://man.openbsd.org/gre.4">gre(4)</a> when sending to ip_output.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>In <a href="https://man.openbsd.org/pf.4">pf(4)</a>, make IPv6 redirects to loopback work the same way as for IPv4 and not require an additional route-to line.
<li>Fix a too-low <a href="https://man.openbsd.org/spl.9">spl(9)</a> in the nfs client code.
<li>New <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a> option -C (and supporting <a href="https://man.openbsd.org/ioctl.2">ioctl(2)</a> SIOCIFGCLONERS) that lists all cloning-capable devices.
<li>New <a href="https://man.openbsd.org/mbuf_tags.9">mbuf_tags(9)</a> type ...PF_TRANSLATE_LOCALHOST, used so that <a href="https://man.openbsd.org/pf.4">pf(4)</a> redirection to localhost doesn't defeat the ability of programs like <a href="https://man.openbsd.org/portmap.8">portmap(8)</a> to tell localhost connections from remote connections.
<!-- ^ 20031208 -->
<li>Add ifconfig create support to <a href="https://man.openbsd.org/ppp.4">ppp(4)</a> and <a href="https://man.openbsd.org/sl.4">sl(4)</a>. No ifconfig destroy yet.
<li>Fix <a href="https://man.openbsd.org/regex.3">regex(3)</a> handling of non-ASCII characters (PR#3594). Fix from FreeBSD.
<!-- ^ 20031207 -->
<li>Fix <a href="https://man.openbsd.org/grep.1">grep(1)</a>'s handling of certain patterns containing multiple dots (PR#3597).
<li>Make ifconfig destroy work on <a href="https://man.openbsd.org/tun.4">tun(4)</a>.
<!-- ^ 20031206 -->
<li>Fix an endianness bug that was causing <a href="https://man.openbsd.org/wicontrol.8">wicontrol(8)</a> to crash.
<li>Set <a href="https://man.openbsd.org/madvise.2">madvise(2)</a> flag MADV_RANDOM for <a href="https://man.openbsd.org/mfs.8">mfs(8)</a> filesystems.
<!-- ^ 20031205 -->
<li>Validate the SPIs presented in DELETE messages when doing an <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> informational exchange.
<li>Have the installer ask whether <a href="https://man.openbsd.org/sshd.8">sshd(8)</a> should be enabled at first boot. The default is to enable it.
<li>Enable multicast reception for <a href="https://man.openbsd.org/em.4">em(4)</a>.
<li>Do a screen split when more than one file is opened on <a href="https://man.openbsd.org/mg.1">mg(1)</a>'s command line.
<li>Unbreak <a href="https://man.openbsd.org/mg.1">mg(1)</a>'s META key support.
<!-- ^ 20031204 -->
<li>Fix a sign comparison bug in <a href="https://man.openbsd.org/semop.2">semop(2)</a>.
<li>Add cloning support to <a href="https://man.openbsd.org/bridge.4">bridge(4)</a>, <a href="https://man.openbsd.org/carp.4">carp(4)</a>, <a href="https://man.openbsd.org/faith.4">faith(4)</a>, <a href="https://man.openbsd.org/gif.4">gif(4)</a>, <a href="https://man.openbsd.org/gre.4">gre(4)</a>, <a href="https://man.openbsd.org/lo.4">lo(4)</a>, <a href="https://man.openbsd.org/tun.4">tun(4)</a> and <a href="https://man.openbsd.org/vlan.4">vlan(4)</a>.
<li>Support for interface 'cloning,' accessed by <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a> commands <em>create</em> and <em>destroy</em>. E.g. 'ifconfig vlan100 create'
<li>Add a dmesg command to <a href="https://man.openbsd.org/ddb.4">ddb(4)</a>.
<li>Don't allow too many network interfaces (&gt;65535) to be attached.
<li>Merge Perl 5.8.2.
<!-- ^ 20031203 -->
<li>Add an hppa target to gcc3.
<li>Add support for UDP encapsulation of ESP in transport mode (see draft-ietf-ipsec-udp-encaps-XX.txt,) enabled via new <a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a> toggle net.inet.esp.udpencap.
<li>Use a consistent, high listen backlog for <a href="https://man.openbsd.org/sshd.8">sshd(8)</a>, <a href="https://man.openbsd.org/ssh-agent.1">ssh-agent(1)</a> and forwarding sockets.
<li>Fix an off-by-one in <a href="https://man.openbsd.org/dc.1">dc(1)</a>.
<li>Cosmetic improvements to <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>'s progress meter.
<li>Let <a href="https://man.openbsd.org/bc.1">bc(1)</a> compile programs with more than 10,000 lines.
<li>Add support for long variable names to <a href="https://man.openbsd.org/bc.1">bc(1)</a>, another non-portable extension.
<li>Add <a href="https://man.openbsd.org/kqueue.2">kqueue(2)</a> support to <a href="https://man.openbsd.org/tun.4">tun(4)</a>.
<li>Use now instead of the epoch as the timebase for <a href="https://man.openbsd.org/compat_linux.8">compat_linux(8)</a> function alarm().
<li>Avoid a null-deref in uvm_swap_markbad().
<li>Check signedness before dereferencing in kernel descriptor management code.
<!-- ^ 20031202 -->
<li>Fix <a href="https://man.openbsd.org/csh.1">csh(1)</a> variable substitution when shortening strings (PR#3591).
<li>In <a href="https://man.openbsd.org/aliases.5">aliases(5)</a>, direct mail for most fake users (e.g. _syslogd) to /dev/null instead of spamming root.
<li>Add an amd64 target to gcc3.
<li>Add extended register support in <a href="https://man.openbsd.org/dc.1">dc(1)</a> (-x option,) ready for long variable names support coming to <a href="https://man.openbsd.org/bc.1">bc(1)</a> soon.
<li>Cleanup of <a href="https://man.openbsd.org/mopd.8">mopd(8)</a>.
<!-- ^ 20031201 -->
<!-- ^ 20031130 -->
<li>Add OpenBSD-specific options to gcc3.
<li>Import (but do not yet enable) GCC 3.3.2, without the ADA frontend for space reasons.
<li>New ':' (inclusive range) operator for <a href="https://man.openbsd.org/pf.4">pf(4)</a>, works anywhere in <a href="https://man.openbsd.org/pf.conf.5">pf.conf(5)</a> that '>&lt;' (exclusive range) works.
<!-- ^ 20031129 -->
<li>Fix the regex in <a href="https://man.openbsd.org/security.8">security(8)</a> that tests for valid group names.
<li>More fixes to <a href="https://man.openbsd.org/pf.4">pf(4)</a> stats gathering.
<li>Fix NFS-over-TCP speed when OpenBSD is serving Linux clients (PR#3561).
<!-- ^ 20031128 -->
<li>Allow <a href="https://man.openbsd.org/systrace.1">systrace(1)</a> to accept usernames ending in '$'.
<li>Fix missing <a href="https://man.openbsd.org/printf.3">printf(3)</a> arguments in <a href="https://man.openbsd.org/sparc/eeprom.8">eeprom(8)</a>, elf2aout and elf2ecoff.
<!-- ^ 20031127 -->
<li>Discard the first 256 bytes of the <a href="https://man.openbsd.org/arc4random.3">arc4random(3)</a> keystream as recommended by the "Weaknesses in the Key Scheduling Algorithm of RC4" <a href="http://www.wisdom.weizmann.ac.il/~itsik/RC4/Papers/Rc4_ksa.ps">paper</a>.
<li>Fix a core dump in <a href="https://man.openbsd.org/dc.1">dc(1)</a> when reading uninitialised array locations.
<li>Some gcc3 compatibility cleanup.
<!-- ^ 20031126 -->
<li>Fix SIOCGIFHWADDR under <a href="https://man.openbsd.org/compat_linux.8">compat_linux(8)</a>.
<li>Build more components of libiberty in preparation for gcc3.
<li>Sync libiberty with the version from GCC 3.3.2.
<li>Sync libedit with that of NetBSD on 8 Nov 2003.
<!-- ^ 20031125 -->
<li>Move libiberty into src/gnu/lib/libiberty, removing it from the egcs directory. The new library is a sync'd to "somewhere between binutils-2.10 and 2.11" with some local changes.
<li>Avoid a double-free in <a href="https://man.openbsd.org/pcap_setfilter.3">pcap_setfilter(3)</a>.
<li>Have the kernel's MD5 code use the per-architecture optimised bcopy() instead of its own implementation (PR#3549).
<li>New meaning for the <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> -k option, it's now equivalent to GSSAPIDelegateCredentials=no.
<!-- ^ 20031124 -->
<li>In <a href="https://man.openbsd.org/ssh-keyscan.1">ssh-keyscan(1)</a>, use <a href="https://man.openbsd.org/sysconf.3">sysconf(3)</a> to get the maximum fd limit instead of returning an arbitrary number.
<li>Fix an out-of-bounds access typo in the implementation of <a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a> KERN_VNODE.
<li>Another <a href="https://man.openbsd.org/getpass.3">getpass(3)</a> return value check, this time in <a href="https://man.openbsd.org/encrypt.1">encrypt(1)</a>.
<li>Fix a sign overflow in <a href="https://man.openbsd.org/compat_svr4.8">compat_svr4(8)</a> streams code.
<li>Make usernames containing underscores work in <a href="https://man.openbsd.org/systrace.1">systrace(1)</a>.
<!-- ^ 20031123 -->
<li>While we're fixing <a href="https://man.openbsd.org/diff.1">diff(1)</a> return values, fix that of the -q option which got broken when -i was fixed.
<li>Stop the <a href="https://man.openbsd.org/install.1">install(1)</a> madvise() change breaking 'make release'.
<li>Stop <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> allowing an antispoof for an interface without an IP address, since that amounts to blocking all on every other interface. Bad.
<li>Add a few more <a href="https://man.openbsd.org/pkg_create.1">pkg_create(1)</a> packing list sanity checks.
<!-- ^ 20031122 -->
<li>Also give <a href="https://man.openbsd.org/cmp.1">cmp(1)</a> and <a href="https://man.openbsd.org/patch.1">patch(1)</a> the <a href="https://man.openbsd.org/madvise.2">madvise(2)</a> sequential treatment.
<li>Speed up <a href="https://man.openbsd.org/install.1">install(1)</a> by using <a href="https://man.openbsd.org/madvise.2">madvise(2)</a> with the MADV_SEQUENTIAL flag.
  <!-- erratum 3.4-httpd2 appeared 13 March 2004... -->
<li><strong>SECURITY FIX: Due to a bug in the parsing of Allow/Deny rules for <a href="https://man.openbsd.org/httpd.8">httpd(8)</a>'s access module, using IP addresses without a netmask on big endian 64-bit platforms causes the rules to fail to match. This only affects sparc64.</strong><br>
    <a href="errata34.html#httpd2">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>New -o option to <a href="https://man.openbsd.org/kvm_mkdb.8">kvm_mkdb(8)</a>, to put the database somewhere other than /var/db.
<li>Fix return code from <a href="https://man.openbsd.org/diff.1">diff(1)</a> when the -i option is in use.
<!-- ^ 20031121 -->
<li>Build <a href="https://man.openbsd.org/ftp.1">ftp(1)</a> statically linked, to help out when things go wrong.
<li><strong>RELIABILITY FIX: An improper bounds check makes it possible for a local user to cause a crash by passing the <a href="https://man.openbsd.org/semctl.2">semctl(2)</a> and <a href="https://man.openbsd.org/semop.2">semop(2)</a> functions certain arguments.</strong><br>
    <a href="errata34.html#sem">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li><strong>RELIABILITY FIX: It is possible for a local user to cause a crash via <a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a> with certain arguments.</strong><br>
    <a href="errata34.html#uvm">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Add <a href="https://man.openbsd.org/gcc.1">gcc(1)</a> flags -fnobuiltin-{log,print} for kernel builds on some architectures, the others to be done as test results are collected.
<li>Re-enable build of <a href="https://man.openbsd.org/named.8">named(8)</a>'s DNSSEC programs.
<!-- ^ 20031120 -->
<li>More <a href="https://man.openbsd.org/wdc.4">wdc(4)</a> probe fixes, sync'ing with NetBSD.
<li>Fix <a href="https://man.openbsd.org/timed.8">timed(8)</a> breakage caused by the change from <a href="https://man.openbsd.org/select.2">select(2)</a> to <a href="https://man.openbsd.org/poll.2">poll(2)</a>.
<!-- ^ 20031119 -->
<li>Add /etc/<a href="https://man.openbsd.org/rc.8">rc(8)</a> startup for <a href="https://man.openbsd.org/sensorsd.8">sensorsd(8)</a>.
<li>Merge in BIND v9.2.3.
<li>In <a href="https://man.openbsd.org/crypto.3">crypto(3)</a>, enable assembler BN functions on vax, and assembler for most things on i386.
<li>Fix password blinding for non-existent users in <a href="https://man.openbsd.org/sshd.8">sshd(8)</a>.
<li>Add new lightweight kernel reader/writer lock code, not used for anything yet.
<li>Performance improvements to <a href="https://man.openbsd.org/pool.9">pool(9)</a>.
<li>In <a href="https://man.openbsd.org/sshd.8">sshd(8)</a>, fix the test for a valid authentication context when processing -R port forwards.
<!-- ^ 20031118 -->
<li>Fix unnecessary delays in <a href="https://man.openbsd.org/wdc.4">wdc(4)</a>'s device probe. From NetBSD.
<li>Fix a missing initialisation in libkvm.
<li>Don't expose the contents of <a href="https://man.openbsd.org/named.8">named(8)</a>'s rndc.key file when diff'd by <a href="https://man.openbsd.org/security.8">security(8)</a>.
<li>Merge in Apache 1.3.29 and mod_ssl 2.8.16.
<li>Add a missing bounds check and fix an int overflow in <a href="https://man.openbsd.org/compat_ibcs2.8">compat_ibcs2(8)</a> (not enabled by default).<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Two more non-portable extensions to <a href="https://man.openbsd.org/bc.1">bc(1)</a>: Add new boolean operators, and allow relational operators to appear anywhere.
<li>Add drop operator 'R' to <a href="https://man.openbsd.org/dc.1">dc(1)</a>.
<li>Replace <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> authentication mechanism 'gssapi' with 'gssapi-with-mic'.
<!-- ^ 20031117 -->
<li><a href="https://man.openbsd.org/pf.4">pf(4)</a> stateful connections for generic protocols now work for IPv6 as well as IPv4.
<li>Pull in a patch from XFree86 4.3, preventing a crash on Riva128 cards.
<li>Remove win32 support files from the BIND tree.
<!-- ^ 20031116 -->
<li>Set the atime, ctime and mtime of the kernfs boottime file to, uh, the boot time. Useful for <a href="https://man.openbsd.org/find.1">find(1)</a>.
<li>Fix <a href="https://man.openbsd.org/savecore.8">savecore(8)</a> on big-endian 64-bit architectures.
<li>More fine-grained CPU type detection on i386.
<li>Test for a NULL return from <a href="https://man.openbsd.org/getpass.3">getpass(3)</a> in <a href="https://man.openbsd.org/bdes.1">bdes(1)</a>, <a href="https://man.openbsd.org/pppctl.8">pppctl(8)</a> and <a href="https://man.openbsd.org/tn3270.1">tn3270(1)</a>.
<!-- ^ 20031115 -->
<li>Fix bogus <a href="https://man.openbsd.org/read.2">read(2)</a> error check in <a href="https://man.openbsd.org/mg.1">mg(1)</a> when writing a backup file.
<li>Let <a href="https://man.openbsd.org/compress.1">compress(1)</a> inflate multiple concatenated files just like GNU gzip.
<li>Support in <a href="https://man.openbsd.org/dc.1">dc(1)</a> for boolean operations soon to appear in <a href="https://man.openbsd.org/bc.1">bc(1)</a>.
<li>Allow the <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> debug level to be set from <a href="https://man.openbsd.org/pf.conf.5">pf.conf(5)</a> with 'set debug'.
<li>Some fixes in the <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> GSSAPI client code.
<li>Don't include the KAME interface index (used for IPv6 link-local addresses) in the <a href="https://man.openbsd.org/carp.4">carp(4)</a> HMAC value.
<!-- ^ 20031114 -->
<li>Strip out some slightly pointless tests in <a href="https://man.openbsd.org/wdc.4">wdc(4)</a> for an 8-bit value &lt; <em>n</em>, where <em>n</em> &gt; 255.
<li>Fix a bug in <a href="https://man.openbsd.org/bc.1">bc(1)</a>'s print statement that left garbage on <a href="https://man.openbsd.org/dc.1">dc(1)</a>'s stack.
<li>Make <a href="https://man.openbsd.org/bc.1">bc(1)</a>'s exponentiation operator '^' right- instead of left-associative.
<!-- ^ 20031113 -->
<li>Fix a potential DoS in <a href="https://man.openbsd.org/ftpd.8">ftpd(8)</a> where an attacker could tie up the data port for long periods. From FreeBSD.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>New behaviour for <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> option VerifyHostKeyDNS, allowing implicit trust for DNSSEC-verified SSHFP records.
<li>Have <a href="https://man.openbsd.org/scp.1">scp(1)</a> pass through the -q flag to its underlying <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> process, suppressing SSH2 banners.
<!-- ^ 20031112 -->
<li>Merge in OpenSSL 0.9.7c.
<li>Some nonportable syntactic sugar for <a href="https://man.openbsd.org/dc.1">dc(1)</a> and <a href="https://man.openbsd.org/bc.1">bc(1)</a>.
<li><a href="https://man.openbsd.org/free.9">free(9)</a>ing stack variables is a bad idea, don't do it in <a href="https://man.openbsd.org/ubsa.4">ubsa(4)</a>.
<li>Don't leak memory from <a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a> if the library name is invalid.
<li>Better parsing of library version numbers in <a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a>, so 'libpython2.1.so.0.0' and 'libpython2.2.so.0.0' can coexist in peace.
<li>New 'print' statement for <a href="https://man.openbsd.org/bc.1">bc(1)</a>, a non-portable extension.
<!-- ^ 20031111 -->
<li>Fix <a href="https://man.openbsd.org/ksh.1">ksh(1)</a>'s handling of redirection of a file to the same file, e.g. '2&gt;&amp;2'.
<li>Add more privacy flags to <a href="https://man.openbsd.org/sendmail.8">sendmail(8)</a> cf/openbsd-proto.mc, requiring HELO/EHLO and disabling EXPN/VRFY.
<li>Add a classic paper on password security in /usr/share/doc/smm/17.password.
<li>Send <a href="https://man.openbsd.org/diff.1">diff(1)</a> output 'no newline at end of file' to stderr instead of stdout, for compatibility.
<li>Stop <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a> considering as errors attempts to add an already-added package.
<!-- ^ 20031110 -->
<li>Keep track of errors when adding multiple packages with <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a>, and set a useful error code on return.
<li>Remove the automatic setting of packing-list prefix from the first @cwd.
<li>Restore printing of <a href="https://man.openbsd.org/vlan.4">vlan(4)</a> information in <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a>, accidentally broken when <a href="https://man.openbsd.org/carp.4">carp(4)</a> was added.
<li>Really fix <a href="https://man.openbsd.org/mg.1">mg(1)</a> insert-file.
<li>Safer region handling in <a href="https://man.openbsd.org/mg.1">mg(1)</a>.
<li>Restore the terminal correctly when aborting out of <a href="https://man.openbsd.org/mg.1">mg(1)</a>.
<li>Undo the <a href="https://man.openbsd.org/mg.1">mg(1)</a> insert-file operation properly.
<!-- ^ 20031109 -->
<li>Unbreak the anchor rule number returned by <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a>.
<li>Avoid a race condition when swapping in a process.
<li>On i386, fix a crash that occurred with a large number (&gt;1500) of processes (PR#3528).
<li>New 'no sync' state option to prevent state transitions for a particular rule appearing on the <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> interface.
<!-- ^ 20031108 -->
<li>Check that <a href="https://man.openbsd.org/carp.4">carp(4)</a> packets are received on a carp-enabled interface.
<li>Fix setting of the interface index for IPv6 link-local multicast joins.
<li>Stop <a href="https://man.openbsd.org/carp.4">carp(4)</a> responding to ARPs when the interface is down.
<li>Fix a buffer overflow in <a href="https://man.openbsd.org/sed.1">sed(1)</a> when doing regex substitutions. From FreeBSD.
<!-- ^ 20031107 -->
<li>Add non-portable extensions to <a href="https://man.openbsd.org/dc.1">dc(1)</a>: '#' (comment), 'n' (print without newline) and 'a' (byte to char).
<li>Better <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a> dependency resolution.
<li>Don't call the post-install script of packages that didn't fully install, and allow such packages to be fully removed.
<li>Let <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a> install packages coming from stdin.
<li><a href="https://man.openbsd.org/pkg_delete.1">pkg_delete(1)</a> allows the path to an installed package on the command line, so e.g. 'pkg_delete /var/db/pkg/zsh-*' now works.
<li>The package tools now automatically use the target of the first @cwd in the packing list as the prefix.
<li>Temporarily back out the recent reordering of interface capability tests and pf_test(). <a href="https://man.openbsd.org/pf.4">pf(4)</a> rdr rules are now generating some bogus checksums.
<li>In <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>, require encrypted messages as soon as we have the keystate for it, require DELETE payloads to be accompanied by HASHes, and add validation for HASH payloads without active exchanges.
<li>Allow <a href="https://man.openbsd.org/pf.4">pf(4)</a> tags to use the same macros as labels (see <a href="https://man.openbsd.org/pf.conf.5">pf.conf(5)</a>).
<li>Teach <a href="https://man.openbsd.org/gdb.1">gdb(1)</a> about SIGINFO (PR#3173).
<li>Add commented-out LoadModule config lines, along with a short description, for each <a href="https://man.openbsd.org/httpd.8">httpd(8)</a> module in the standard build.
<li>In <a href="https://man.openbsd.org/newfs.8">newfs(8)</a> don't write the magic to the superblock until filesystem creation is completed.
<li>Fix <a href="https://man.openbsd.org/netstat.1">netstat(1)</a>'s display of IPv6 link-local multicast addresses.
<!-- ^ 20031106 -->
<li>Redo the <a href="https://man.openbsd.org/wdc.4">wdc(4)</a> drive reset changes, more cautious this time.
<li>Make <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a>'s -x flag work for <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> devices.
<!-- ^ 20031105 -->
<li>Use hash tables where possible for listen socket lookup as well.
<li>Add a route when we're the <a href="https://man.openbsd.org/carp.4">carp(4)</a> master host, so the local machine can use the common address.
<li>Have <a href="https://man.openbsd.org/pkg_create.1">pkg_create(1)</a> spot duplicate packaging list entries and die noisily when it does so.
<li>Stop <a href="https://man.openbsd.org/carp.4">carp(4)</a> pretending that everything it sends to <a href="https://man.openbsd.org/bpf.4">bpf(4)</a> comes from AF_INET6.
<li>Add GNU-compatible 'r' operator (swaps the top two stack items) to <a href="https://man.openbsd.org/dc.1">dc(1)</a>.
<li>Kill an IPv4 pasto in <a href="https://man.openbsd.org/carp.4">carp(4)</a> IPv6 support when setting the interface address.
<!-- ^ 20031104 -->
<li><strong>RELIABILITY FIX: It is possible for a local user to cause a system panic by executing a specially crafted binary with an invalid header.</strong><br>
    <a href="errata34.html#exec">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Make <a href="https://man.openbsd.org/pkg_delete.1">pkg_delete(1)</a> handle dependencies properly when using package name stems.
<li>Don't try to free a static string when checking <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> host keys.
<li>In regular (non-<a href="https://man.openbsd.org/pf.4">pf(4)</a>) IP output code, defer the interface tests for hardware IPsec and checksum capability until after pf_test(), since pf might drop the packet, or send it to a different interface.
<li>Make <a href="https://man.openbsd.org/pf.4">pf(4)</a>-routed packets check the target interface for hardware IPsec and checksum capability.
<li>Fix a memory leak when <a href="https://man.openbsd.org/carp.4">carp(4)</a> fails to put the interface into promiscuous mode.
<li>Add a missing check in IPv6 <a href="https://man.openbsd.org/carp.4">carp(4)</a> for an interface on its way down.
<!-- ^ 20031103 -->
<li>Preserve the debug flag when enabling <a href="https://man.openbsd.org/pf.4">pf(4)</a>.
<!-- ^ 20031102 -->
<li>In <a href="https://man.openbsd.org/top.1">top(1)</a>, check for signals at the right time and handle stdin failures better.
<!-- ^ 20031101 -->
<li>Have <a href="https://man.openbsd.org/patch.1">patch(1)</a> determine the filename in same manner as GNU patch.
<li>New --posix option for <a href="https://man.openbsd.org/patch.1">patch(1)</a> for, uh, strict POSIX conformance.
<li>Set pkgpath in the correct order in <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a> etc.
<li>Re-add the SATA mode detection and reset-pause-IDENTIFY fixes to <a href="https://man.openbsd.org/wdc.4">wdc(4)</a>. Drive reset fixes need further testing.
<li>Allocate the right number of elements in <a href="https://man.openbsd.org/hashinit.9">hashinit(9)</a> (PR#3537).
<li>Look up the groupname (not the username) when getting the gid from a tarfile in <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a> and friends. Also set file ownership before the mode.
<li>Add IPv6 support to <a href="https://man.openbsd.org/carp.4">carp(4)</a>.
<li>Sync libedit to NetBSD as of 2003-10-01, with some local string cleaning and history bug fixes. There are some api changes as a result of this update.
<li>New port, <a href="pegasos.html">OPENBSD/pegasos</a>.
<li>Fix insufficient length check in <a href="https://man.openbsd.org/route6d.8">route6d(8)</a> (KAME PR#507).
<!-- ^ 20031031 -->
<li>Try to deal with <a href="https://man.openbsd.org/strdup.3">strdup(3)</a> failures in <a href="https://man.openbsd.org/init.8">init(8)</a>.
<li>More detective work from the spelling police, double-word branch.
<li>Fix <a href="https://man.openbsd.org/lc.4">lc(4)</a> multicast filter initialisation.
<!-- ^ 20031030 -->
<li>Backout recent <a href="https://man.openbsd.org/wdc.4">wdc(4)</a> reset, identify and mode detection changes, they are breaking things.
<li>Fix <a href="https://man.openbsd.org/pf.4">pf(4)</a> binat for incoming connections when a netblock (not just a single address) is used as the rule source (PR#3535).<br>
    <a href="stable.html">[Applied to stable]</a>
<li><strong>RELIABILITY FIX: A user with write permission to httpd.conf or a .htaccess file can crash <a href="https://man.openbsd.org/httpd.8">httpd(8)</a> or potentially run arbitrary code as the user</strong> www <strong> (although it is believed that ProPolice will prevent code execution).</strong><br>
    <a href="errata34.html#httpd">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<!-- ^ 20031029 -->
<li>Do a better job of finding the proper partition in <a href="https://man.openbsd.org/growfs.8">growfs(8)</a>.
<li>Evaluate dependencies earlier in <a href="https://man.openbsd.org/pkg_delete.1">pkg_delete(1)</a>, and if the check fails just give a list of the required removals and quit.
<li>Don't die if getsockopt(..., TCP_NODELAY, ...) fails in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
<!-- ^ 20031028 -->
<li>In <a href="https://man.openbsd.org/wdc.4">wdc(4)</a>, add a pause between a drive reset and an IDENTIFY command, to allow for units that are sick just after a reset.
<li>Don't do ATA mode detection for SATA drives, some drives really don't like it.
<li>Set the skew properly when rescheduling <a href="https://man.openbsd.org/carp.4">carp(4)</a> advertisements.
<li>Fix an <a href="https://man.openbsd.org/mg.1">mg(1)</a> startup crash.
<li>Don't schedule a <a href="https://man.openbsd.org/carp.4">carp(4)</a> advertisement if the interface is on its way down and we run out of mbufs.
<li>Really stop sending advertisements if the <a href="https://man.openbsd.org/carp.4">carp(4)</a> interface is down.
<!-- ^ 20031027 -->
<li>Set the maximum value for <a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a> kern.stackgap_random maximum to 256MB.
<li>Remove artificial limit on the number of partitions that may be stretched by <a href="https://man.openbsd.org/growfs.8">growfs(8)</a>.
<li>Early support in <a href="https://man.openbsd.org/wi.4">wi(4)</a> for PRISM 2.5/3 USB adapters. Very limited for now.
<li>Make <a href="https://man.openbsd.org/wdc.4">wdc(4)</a> reset code more like that in FreeBSD and NetBSD, fixing slave device detection when the master behaves strangely.
<!-- ^ 20031026 -->
<li>Reorganise <a href="https://man.openbsd.org/pf.4">pf(4)</a> state searches for a 30% memory saving.
<li>Don't leak mbufs on carp_output() failures.
<li>Replace a linked list with a hash table for local IP port lookup, dramatically reducing the lookup time (in_pcblookup()) when there are many sockets.
<li>Precompute as much of the <a href="https://man.openbsd.org/carp.4">carp(4)</a> sha1 hash as possible.
<!-- ^ 20031025 -->
<li>Prevent occasional <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a> hangs on receipt of a SIGHUP with a modified syslog.conf file.
<li>Remove a few comparisons of an int to NULL.
<li>Do <a href="https://man.openbsd.org/initgroups.3">initgroups(3)</a> before chrooting <a href="https://man.openbsd.org/httpd.8">httpd(8)</a> instead of after, since /etc/group may be of use.
<li>Stop the new <a href="https://man.openbsd.org/bpf.4">bpf(4)</a> write filter blocking everything when no filter is set, and so unbreak DHCP.
<!-- ^ 20031024 -->
<li>Only try to remove a dependent package once in <a href="https://man.openbsd.org/pkg_delete.1">pkg_delete(1)</a>.
<li>In <a href="https://man.openbsd.org/carp.4">carp(4)</a>, stir in the full inner hash instead of just sizeof(pointer) bytes of it.
<li>Finally, stop the long long pause for i386 laptop users with disconnected floppy drives.
<li>Make <a href="https://man.openbsd.org/pkg_info.1">pkg_info(1)</a> do the right thing with multiple packages sharing a common stem, e.g. multiple responses for 'pkg_info autoconf'.
<li>Allow <a href="https://man.openbsd.org/pkg_delete.1">pkg_delete(1)</a> to work with package name stems. Oh yes.
<!-- ^ 20031023 -->
<li>Another missing <a href="https://man.openbsd.org/strdup.3">strdup(3)</a> error check, this time in <a href="https://man.openbsd.org/tn3270.1">tn3270(1)</a>.
<li>Reduce the amount of logging <a href="https://man.openbsd.org/spamd.8">spamd(8)</a> does by default. The new -v option does verbose logging.
<li>Have privilege-separated <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a> call setgroups when changing dropping privileges, in line with the same change in newly-separated <a href="https://man.openbsd.org/pflogd.8">pflogd(8)</a>.
<li>Fix a panic when traversing a corrupt msdos filesystem. From NetBSD.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Implement privilege separation in <a href="https://man.openbsd.org/pflogd.8">pflogd(8)</a>. Requires creation of _pflogd user and group.
<li>Add locking and write-filtering to <a href="https://man.openbsd.org/bpf.4">bpf(4)</a>, so programs running as non-root can hold bpf descriptors without being able to write whatever they like at the link layer or issue dangerous <a href="https://man.openbsd.org/ioctl.2">ioctl(2)</a>s.
<li>Fix <a href="https://man.openbsd.org/dc.1">dc(1)</a>'s J operator with the new extended comparisons.
<li>Switch <a href="https://man.openbsd.org/carp.4">carp(4)</a> from keyed sha1 to hmac-sha1.
<li>Implement extended comparison operators in <a href="https://man.openbsd.org/dc.1">dc(1)</a>, to allow for an if ... else construct in <a href="https://man.openbsd.org/bc.1">bc(1)</a>.
<li>Make un-getting a character from a string work the same as from a file in <a href="https://man.openbsd.org/dc.1">dc(1)</a>.
<li>Fix a <a href="https://man.openbsd.org/kqueue.2">kqueue(2)</a> file descriptor leak under libpthread.
<li>In libpthread, don't bother resetting O_NONBLOCK on descriptors that are not flagged to survive the imminent <a href="https://man.openbsd.org/execve.2">execve(2)</a>.
<!-- ^ 20031022 -->
<li>Add missing <a href="https://man.openbsd.org/strdup.3">strdup(3)</a> error check in <a href="https://man.openbsd.org/tic.1">tic(1)</a>.
<li>In <a href="https://man.openbsd.org/mg.1">mg(1)</a>, make undo work per-window instead of per-buffer.
<li>Fix late definition of enum XML_Status in &lt;expat.h&gt;. From expat CVS.
<li>A huge number of comment spelling fixes all over the tree.
<li>Make <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> choke on too-short GSSAPI OIDs.
<!-- ^ 20031021 -->
<li>Switch over to the new package tools.
<li>In <a href="https://man.openbsd.org/netstart.8">netstart(8)</a>, don't try to initialise <a href="https://man.openbsd.org/carp.4">carp(4)</a> interfaces until after physical interfaces are configured.
<li>Fix an endianness bug in <a href="https://man.openbsd.org/carp.4">carp(4)</a> sha1 code.
<li><a href="https://man.openbsd.org/realloc.3">realloc(3)</a> cleanup in <a href="https://man.openbsd.org/ppp.8">ppp(8)</a>.
<li>Stop all <a href="https://man.openbsd.org/carp.4">carp(4)</a> hosts advertising master status when preempt is disabled.
<li>When doing <a href="https://man.openbsd.org/carp.4">carp(4)</a>, only give an error in <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a> when the user tries to set both of advbase and advskew to zero.
<!-- ^ 20031020 -->
<li>Correct a missing <a href="https://man.openbsd.org/strdup.3">strdup(3)</a> return value check in <a href="https://man.openbsd.org/nc.1">nc(1)</a>.
<li>Fix numfds==0 case in pthreads-optimised <a href="https://man.openbsd.org/select.2">select(2)</a>.
<li>Add functions to find package name 'stems' (package names without the version number) and use them in the soon-to-be-enabled new <a href="https://man.openbsd.org/pkg_info.1">pkg_info(1)</a>.
<li>Add direct support in <a href="https://man.openbsd.org/named.8">named(8)</a> for SSHFP resource records.
<!-- ^ 20031019 -->
<li>Fix <a href="https://man.openbsd.org/bc.1">bc(1)</a>'s assignment operators (+=, -= etc.)
<li>Add J(jump) and M(mark) operators in <a href="https://man.openbsd.org/dc.1">dc(1)</a>, and use them to implement the continue statement in <a href="https://man.openbsd.org/bc.1">bc(1)</a>.
<li>Fix out-of-bounds reads in <a href="https://man.openbsd.org/make.1">make(1)</a>, libfreetype and <a href="https://man.openbsd.org/xterm.1">xterm(1)</a>.
<!-- ^ 20031018 -->
<li>Make the recent <a href="https://man.openbsd.org/vnd.4">vnd(4)</a> numbering change work the way it should.
<li>Enter <a href="https://man.openbsd.org/carp.4">carp(4)</a>, OpenBSD's Common Address Redundancy Protocol for IP high availability and load balancing.
<li>Unbreak <a href="https://man.openbsd.org/httpd.8">httpd(8)</a> SHA1 code on 64-bit architectures.
<li>Make sure the inode generation number (obtained using arc4random()) is positive.
<li><a href="https://man.openbsd.org/pciide.4">pciide(4)</a> DMA reliability fixes. From NetBSD.
<!-- ^ 20031017 -->
<li><a href="https://man.openbsd.org/strlcpy.3">strlcpy(3)</a> -&gt; <a href="https://man.openbsd.org/memcpy.3">memcpy(3)</a> for non-string buffers in <a href="https://man.openbsd.org/vi.1">vi(1)</a>, along with some extra paranoia.
<li>Check for signals earlier in <a href="https://man.openbsd.org/mountd.8">mountd(8)</a>, so they can be handled before we <a href="https://man.openbsd.org/select.2">select(2)</a> until a mount request comes in.
<li>Import new package management tools under src/usr.sbin/pkg_add. Not built by default yet.
<li>New 'G' malloc.conf option to add a guard page after pagesize-or-larger chunks, and to return less-than-pagesize chunks in random order.
<li>Better SATA support in <a href="https://man.openbsd.org/wdc.4">wdc(4)</a>.
<li>Fix <a href="https://man.openbsd.org/faithd.8">faithd(8)</a> args to <a href="https://man.openbsd.org/poll.2">poll(2)</a>.
<!-- ^ 20031016 -->
<li>Fix an out-of-bounds read in libcurses.
<li>Have <a href="https://man.openbsd.org/tip.1">tip(1)</a> return the terminal to a sensible state on fatal errors.
<li>Change <a href="https://man.openbsd.org/malloc.3">malloc(3)</a> so that it aborts the process on any error other than running out of memory. This is different to the 'A' malloc.conf switch that aborts on any error.
<!-- ^ 20031015 -->
<li>More randomness for temporary directories created by <a href="https://man.openbsd.org/ssh-agent.1">ssh-agent(1)</a> and <a href="https://man.openbsd.org/sshd.8">sshd(8)</a>.
<li>Switch on the <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> DNS fingerprint (sshfp) lookup code, previously not build by default. Still needs switched on in the config file.
<li>Make e.g. 'MAKEDEV tty08 - tty7f' work.
<li>Only endian-flip the fragment offset once on IPv6 input.
<!-- ^ 20031014 -->
<li>Do a hardware receive checksum in <a href="https://man.openbsd.org/sk.4">sk(4)</a> too, working around the fact that sometimes the hardware gets it wrong.
<li>On <a href="https://man.openbsd.org/em.4">em(4)</a> devices that support it, offload receive checksum calculation to the hardware. From FreeBSD.
<li>Update timezone files again, this time to tzcode2003d.
<li>Bring <a href="https://man.openbsd.org/bge.4">bge(4)</a> and <a href="https://man.openbsd.org/brgphy.4">brgphy(4)</a> more in line with updates in FreeBSD and NetBSD, both bug fixes and additional device support.
<li>Remember the filename given when using ^X^W in <a href="https://man.openbsd.org/mg.1">mg(1)</a>.
<li>Make <a href="https://man.openbsd.org/shmat.2">shmat(2)</a> under Linux compat work as expected.
<li>Fix a buffer overflow in <a href="https://man.openbsd.org/timedc.8">timedc(8)</a>. Found by FreeBSD, fixed differently here.
<!-- ^ 20031012 -->
<li>Add division and modulus operator '~' to <a href="https://man.openbsd.org/dc.1">dc(1)</a>.
<li>Remove GNU bc and dc from the tree.
<li>Merge in expat 1.95.6 from XFree86 4.3.99.14.
<li>Search for keys in the <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> agent in reverse order to solve duplicate key problems (OpenSSH bugzilla #684).
<li><a href="https://man.openbsd.org/ssh.1">ssh(1)</a> option ForwardX11 now has <a href="https://man.openbsd.org/xauth.1">xauth(1)</a> generate untrusted keys by default. Option ForwardX11Trusted restores the old behaviour.
<li>Change <a href="https://man.openbsd.org/vnd.4">vnd(4)</a> major/minor numbering to allow more devices. Requires a MAKEDEV.
<!-- ^ 20031011 -->
<li>Do nfs-specific 'test -x' stuff in the right order in <a href="https://man.openbsd.org/ksh.1">ksh(1)</a> (PR#3465).
<li>More work on <a href="https://man.openbsd.org/vr.4">vr(4)</a>.
<li>Have the linker generate a warning when using 43compat's <a href="https://man.openbsd.org/getwd.3">getwd(3)</a>.
<li>Better calibration code for <a href="https://man.openbsd.org/auich.4">auich(4)</a>. From FreeBSD/NetBSD.
<!-- ^ 20031010 -->
<!-- ^ 20031009 -->
<li>Re-enable the random increment on the return value of uvm_map_hint() (called by <a href="https://man.openbsd.org/uvm_map.9">uvm_map(9)</a>).
<li>Install a sample config file for <a href="https://man.openbsd.org/sensorsd.8">sensorsd(8)</a>.
<li>Prevent symlink races in <a href="https://man.openbsd.org/systrace.1">systrace(1)</a>.
<li>Have GSSAPI default to off in the <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> client as well as the server.
<li>Unbreak <a href="https://man.openbsd.org/pf.4">pf(4)</a> on 64-bit architectures.
<li>Hack <a href="https://man.openbsd.org/httpd.8">httpd(8)</a> so digest authentication works with IE, Safari, etc. From FreeBSD.
<li>Fix potential signedness bug in <a href="https://man.openbsd.org/fgets.3">fgets(3)</a> (PR#1709).
<!-- ^ 20031008 -->
<li>Correct __bounded__ attributes for {MD4,MD5,RMD160,SHA1}DATA functions (PR#3505).
<li>Allow <a href="https://man.openbsd.org/newfs.8">newfs(8)</a> to build small filesystems again by making sure ncyls &gt;= 2.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Plug a memory leak in <a href="https://man.openbsd.org/netstat.1">netstat(1)</a>.
<li>Add nfs attribute cache tuning parameters to <a href="https://man.openbsd.org/mount_nfs.8">mount_nfs(8)</a> (Inspired by PR#2567).
<li>Kill a null deref in <a href="https://man.openbsd.org/make.1">make(1)</a>.
<li>Allow a semicolon to terminate label strings in <a href="https://man.openbsd.org/sed.1">sed(1)</a>, so one-liners with labels can work.
<li>A few string and memory fixes in <a href="https://man.openbsd.org/rup.1">rup(1)</a>.
<li>Stability fixes for <a href="https://man.openbsd.org/vr.4">vr(4)</a>. From FreeBSD.
<li>Add arc4 support to the kernel, and have <a href="https://man.openbsd.org/wi.4">wi(4)</a> use it instead of rolling its own.
<li>Unbreak <a href="https://man.openbsd.org/sftp.1">sftp(1)</a>'s handling of quotes in pathnames.
<li>More propolice fixes and improvements.
<!-- ^ 20031007 -->
<li>Remove <a href="https://man.openbsd.org/httpd.8">httpd(8)</a> addon-breaking <a href="https://man.openbsd.org/newsyslog.conf.5">newsyslog.conf(5)</a> sample lines.
<li>Install <a href="https://man.openbsd.org/sensorsd.8">sensorsd(8)</a> by default.
<li>Really really give xfs a <a href="https://man.openbsd.org/poll.2">poll(2)</a> backend.
<li>Fix a badly broken <a href="https://man.openbsd.org/gcc.1">gcc(1)</a> optimization when calculating structure offsets under certain conditions. See the <a href="https://cvsweb.openbsd.org/src/gnu/egcs/gcc/combine.c#rev1.5">commit log</a> for details.
<li>Unbreak <a href="https://man.openbsd.org/lge.4">lge(4)</a> compile.
<li>Update timezone info files to tzcode2003c.
<!-- ^ 20031006 -->
<li>Stop <a href="https://man.openbsd.org/em.4">em(4)</a> stripping 802.1q headers from packets in a <a href="https://man.openbsd.org/bridge.4">bridge(4)</a>.
<li>Add <a href="https://man.openbsd.org/vlan.4">vlan(4)</a> support to <a href="https://man.openbsd.org/em.4">em(4)</a>.
<li>Avoid a division-by-zero panic when benchmarking the <a href="https://man.openbsd.org/pchb.4">pchb(4)</a> RNG device.
<li>A couple of read-from-device fixes to <a href="https://man.openbsd.org/an.4">an(4)</a>. From FreeBSD.
<!-- ^ 20031005 -->
<li>Remove non-free licensed <a href="https://man.openbsd.org/xlock.1">xlock(1)</a> bitmaps.
<li>Properly free resources when ffs_mountroot() fails.
<li>Stop <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> crashing when the value for LIFE_DURATION is missing.
<li>Back out the new environment variable load in <a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a> due to sparc breakage.
<li>Unbreak the new xfs poll backend.
<li>Fix a long-standing memory leak in kernel libz (PR#2886). From NetBSD.
<li>Print a more useful error message when a bad port number is given to <a href="https://man.openbsd.org/whois.1">whois(1)</a>.
<li>Fix broken time parsing in <a href="https://man.openbsd.org/kadmin.8">kadmin(8)</a> (PR#3292).
<!-- ^ 20031004 -->
<li>Initialise environment variables in <a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a> before calling constructors and <a href="https://man.openbsd.org/atexit.3">atexit(3)</a> functions
<li>Have <a href="https://man.openbsd.org/inetd.8">inetd(8)</a> exit if no config file is found.
<li>In <a href="https://man.openbsd.org/sendmail.8">sendmail(8)</a> submit.mc/cf, bind the msp to 127.0.0.1 instead of localhost just in case localhost doesn't resolve correctly.
<li>Teach <a href="https://man.openbsd.org/netstat.1">netstat(1)</a> how to deal with KAME embedded scope IDs for -f encap route dumps.
<li>Use <a href="https://man.openbsd.org/arc4random.3">arc4random(3)</a> to generate cookies in the XSecurity extension.
<li>Fix a few off-by-ones in <a href="https://man.openbsd.org/gethostbyname.3">gethostbyname(3)</a> and friends.
<li>Allow multiple RCPTs in <a href="https://man.openbsd.org/spamd.8">spamd(8)</a>, and stop looping on invalid commands.
<li>Bring in a number of <a href="https://man.openbsd.org/pipe.2">pipe(2)</a> stability fixes from FreeBSD.
<!-- ^ 20031003 -->
<li>Fix <a href="https://man.openbsd.org/httpd.8">httpd(8)</a>'s handling of SSLCertificateChainFile under the chroot.
<li><a href="https://man.openbsd.org/sshd.8">sshd(8)</a> usage output now dumps the OpenSSL version too.
<li>Don't try to send incomplete IPv4 fragments in the ENOBUFS case. Note that this is a behaviour change from 4.4BSD and applies to output from <a href="https://man.openbsd.org/bridge.4">bridge(4)</a> and <a href="https://man.openbsd.org/pf.4">pf(4)</a> as well as vanilla IP output.
<li>A couple of endianness fixes when setting the IPv4 output fragment offset.
<li>A couple of minor <a href="https://man.openbsd.org/malloc.3">malloc(3)</a> fixes related to recursive calls and debugging.
<!-- ^ 20031002 -->
<li>Clean up IPv6 flowlabel handling.
<li>New IPv6 ID and flowlabel generation code using <a href="https://man.openbsd.org/arc4random.9">arc4random(9)</a>.
<li>Remove a bad <a href="https://man.openbsd.org/m_cat.9">m_cat(9)</a> call when fragmenting outbound IPv6 packets.
<li>Add a missing initialisation in <a href="https://man.openbsd.org/pflog.4">pflog(4)</a> that allowed kernel stack garbage to leak into .pcap files.
<li>Have the libc stack protector code use the kernel __sysctl() call directly instead of using the libc <a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a> interface.
<li>Stop reading ~/.signature to pre-fill the Organisation: field in <a href="https://man.openbsd.org/sendbug.1">sendbug(1)</a> (PR#3499).
<li>Fixes to <a href="https://man.openbsd.org/event.3">event(3)</a> poll code.
<li>Have <a href="https://man.openbsd.org/ftpd.8">ftpd(8)</a> listen on both IPv4 and IPv6 ports by default.
<li>Fix an out-of-bounds memory access in kernel <a href="https://man.openbsd.org/compat_ibcs2.8">compat_ibcs2(8)</a> code.
<li>Add missing check for <a href="https://man.openbsd.org/strdup.3">strdup(3)</a> error in <a href="https://man.openbsd.org/talk.1">talk(1)</a>.
<li>Correct a couple of off-by-ones in <a href="https://man.openbsd.org/banner.1">banner(1)</a> and <a href="https://man.openbsd.org/ssl.3">ssl(3)</a> (src/ssl/ssl_ciph.c).
<li>Fix the code that grows ifindex2ifnet in sys/net/if.c.
<li>Add a stack of missing switch break statements needed after the _dl_errno changes to <a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a>.
<!-- ^ 20031001 -->
<li>Teach <a href="https://man.openbsd.org/size.1">size(1)</a> how to read ELF objects.
<li>POSIX and interoperability fixes for <a href="https://man.openbsd.org/bc.1">bc(1)</a> and <a href="https://man.openbsd.org/dc.1">dc(1)</a>,
<li><strong>SECURITY FIX: The use of certain ASN.1 encodings or malformed public keys may allow an attacker to mount a denial of service attack against applications linked with <a href="https://man.openbsd.org/ssl.3">ssl(3)</a>.</strong> This does not affect OpenSSH.<br>
    <a href="errata34.html#asn1">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<!-- ^ 20030930 -->
<li>Properly free resources on <a href="https://man.openbsd.org/fxp.4">fxp(4)</a> attach failures.
<li>Some reliability fixes in <a href="https://man.openbsd.org/ahc.4">ahc(4)</a> and <a href="https://man.openbsd.org/siop.4">siop(4)</a>.
<li>Allow <a href="https://man.openbsd.org/sensorsd.8">sensorsd(8)</a> to <a href="https://man.openbsd.org/daemon.3">daemon(3)</a>ize itself.
<li>Fix an unchecked <a href="https://man.openbsd.org/strdup.3">strdup(3)</a> in <a href="https://man.openbsd.org/getnetgrent.3">getnetgrent(3)</a>.
<!-- ^ 20030929 -->
<li>Fix several kernel networking off-by-ones w.r.t. PRC_NCMDS.
<li>Better error checking for new <a href="https://man.openbsd.org/bc.1">bc(1)</a> and <a href="https://man.openbsd.org/dc.1">dc(1)</a>.
<li>Make new <a href="https://man.openbsd.org/bc.1">bc(1)</a> compile on sparc64.
<li>PCI support for hppa through <a href="https://man.openbsd.org/hppa/dino.4">dino(4)</a> bridge driver.
<!-- ^ 20030928 -->
<!-- ^ 20030927 -->
<li>Further <a href="https://man.openbsd.org/realloc.3">realloc(3)</a> cleanup.
<li>Re-engineer the <a href="https://man.openbsd.org/pf.4">pf(4)</a> ioctl interface to allow near-100% atomicity for 'pfctl -f /etc/pf.conf' commands.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Fix bogus getutmp() error check in <a href="https://man.openbsd.org/battlestar.6">battlestar(6)</a>.
<li>Change the xfs backend from select to poll.
<li>Introduce 64-bit <a href="https://man.openbsd.org/byteorder.3">byteorder(3)</a> macros.
<li>strdup -&gt; strlcpy in <a href="https://man.openbsd.org/apmd.8">apmd(8)</a>, and make sure the socket gets unlinked at exit.
<li>Better <a href="https://man.openbsd.org/malloc.3">malloc(3)</a>, <a href="https://man.openbsd.org/realloc.3">realloc(3)</a> and <a href="https://man.openbsd.org/strdup.3">strdup(3)</a> error checks in <a href="https://man.openbsd.org/config.8">config(8)</a>.
<li>Stop <a href="https://man.openbsd.org/pflogd.8">pflogd(8)</a> shouting 'Reopened logfile' at syslog.
<li>Add a number of missing checks for <a href="https://man.openbsd.org/strdup.3">strdup(3)</a> failure.
<li>Add an <a href="https://man.openbsd.org/sscanf.3">sscanf(3)</a> bounds check to the neighbour cache file code in <a href="https://man.openbsd.org/ndp.8">ndp(8)</a>.
<li>Reorder the <a href="https://man.openbsd.org/pf.4">pf(4)</a> statistics counter code and fix some miscount bugs.
<li>In <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>, don't listen on INADDR_ANY if the Listen-on option is specified.
<li>Fix an off-by-one and a bad string bounds length in <a href="https://man.openbsd.org/atc.6">atc(6)</a>.
<li>Don't set <a href="https://man.openbsd.org/sshd.8">sshd(8)</a>'s listen socket to non-blocking mode.
<li>Build the new BSD <a href="https://man.openbsd.org/bc.1">bc(1)</a> and <a href="https://man.openbsd.org/dc.1">dc(1)</a> in favour of the GNU versions.
<li>Drop <a href="https://man.openbsd.org/authpf.8">authpf(8)</a>'s 15-character username restriction, it's no longer necessary (PR#3491).
<li>Allocate a buffer large enough to store a full IPX address in <a href="https://man.openbsd.org/ipx_ntoa.3">ipx_ntoa(3)</a>.
<li>Unbreak <a href="https://man.openbsd.org/netstat.1">netstat(1)</a> -i display columns for interfaces with no address.
<li>Stop <a href="https://man.openbsd.org/spamd.8">spamd(8)</a> dying unceremoniously on <a href="https://man.openbsd.org/accept.2">accept(2)</a> failures.
<li>Make <a href="https://man.openbsd.org/talk.1">talk(1)</a> retry if <a href="https://man.openbsd.org/accept.2">accept(2)</a> returns ECONNABORTED (the same as it does for EINTR).
<li><a href="https://man.openbsd.org/realloc.3">realloc(3)</a> fixes in <a href="https://man.openbsd.org/brconfig.8">brconfig(8)</a>, <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a>, <a href="https://man.openbsd.org/lpd.8">lpd(8)</a>, <a href="https://man.openbsd.org/pppd.8">pppd(8)</a> and <a href="https://man.openbsd.org/rwhod.8">rwhod(8)</a>.
<li>Add a 'recipe' datafile to <a href="https://man.openbsd.org/fortune.6">fortune(6)</a>, starting with some barbecue recipes from the hackathon.
<li>Use <a href="https://man.openbsd.org/arc4random.3">arc4random(3)</a> instead of <a href="https://man.openbsd.org/srand.3">srand(3)</a> to generate a more random salt for <a href="https://man.openbsd.org/htpasswd.1">htpasswd(1)</a>.
<li>Start removing unnecessary null checks before doing <a href="https://man.openbsd.org/free.3">free(3)</a> on a possibly null pointer.
<!-- ^ 20030926 -->
<li>Fix scrambled display when resuming a suspended <a href="https://man.openbsd.org/less.1">less(1)</a> process.
<li>Use <a href="https://man.openbsd.org/strlcpy.3">strlcpy(3)</a> instead of <a href="https://man.openbsd.org/bcopy.3">bcopy(3)</a> to avoid overflowing the nodename and netname in <a href="https://man.openbsd.org/an.4">an(4)</a>.
<li>Fix a couple of off-by-ones in <a href="https://man.openbsd.org/adventure.6">adventure(6)</a>.
<li>Fix an out-of-bounds write in the <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> privsep monitor code.
<li>Make <a href="https://man.openbsd.org/dlerror.3">dlerror(3)</a> clear _dl_errno as expected (PR#3441).
<li>Correct a couple of off-by-ones in libc.
<li>Fix overflows in the X font server overflow fix. Sigh.
<li>Add a missing free in <a href="https://man.openbsd.org/cvs.1">cvs(1)</a>.
<li>New, BSD-licensed version of <a href="https://man.openbsd.org/bc.1">bc(1)</a>.
<li>Fix an off-by-one in <a href="https://man.openbsd.org/csh.1">csh(1)</a> (PR#3163).
<li>More <a href="https://man.openbsd.org/realloc.3">realloc(3)</a> fixes.
<li>Fix a bad bounds check that could crash <a href="https://man.openbsd.org/sort.1">sort(1)</a>.
<!-- ^ 20030925 -->
<li>More paranoid privsep parent/child communication in <a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>.
<li><strong>SECURITY FIX: It is possible for a local user to cause a system panic by flooding it with spoofed ARP requests.</strong><br>
    <a href="errata34.html#arp">A source code patch is available</a>.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>A number of <a href="https://man.openbsd.org/realloc.3">realloc(3)</a> fixes (removing instances of the bad idiom described in the manpage) in several programs.
<li>New program <a href="https://man.openbsd.org/sensorsd.8">sensorsd(8)</a> to monitor hardware sensors as exposed by the hw.sensors sysctl. Not installed yet.
<li>Unbreak <a href="https://man.openbsd.org/tftp.1">tftp(1)</a> put command.
<li>Remove and re-add SHA2 support in <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>, minus OpenSSL EVP-related fd leaks.
<li>Fix some realloc bugs in <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> tables code.
<li>Initial HIFN 7955/7956 crypto accelerator support.
<li>Increase <a href="https://man.openbsd.org/spamd.8">spamd(8)</a> maximum connections from 200 to 800.
<!-- ^ 20030924 -->
<li>Install a more complete set of <a href="https://man.openbsd.org/sendmail.8">sendmail(8)</a> empty config files under /etc/mail.
<li>Throttle 'proc: table is full' messages to once every ten seconds. From NetBSD.
<li>Further improvements to <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>'s fatal exit handling.
<li>Use the much simpler <a href="https://man.openbsd.org/getifaddrs.3">getifaddrs(3)</a> instead of <a href="https://man.openbsd.org/sysctl.3">sysctl(3)</a> in <a href="https://man.openbsd.org/rtadvd.8">rtadvd(8)</a>.
<li>Use <a href="https://man.openbsd.org/getaddrinfo.3">getaddrinfo(3)</a> for name-to-address resolution in <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a>.
<li>Replace kernel <a href="https://man.openbsd.org/select.2">select(2)</a> backends with <a href="https://man.openbsd.org/poll.2">poll(2)</a> backends. This allows for more complete poll() functionality. From NetBSD.
<li>In <a href="https://man.openbsd.org/mtrace.8">mtrace(8)</a> only do mask checks for AF_INET.
<li>Add <a href="https://man.openbsd.org/poll.2">poll(2)</a> support for <a href="https://man.openbsd.org/event.3">event(3)</a>.
<li>Fix a few suspect <a href="https://man.openbsd.org/strlcpy.3">strlcpy(3)</a> calls in <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a>.
<!-- ^ 20030923 -->
<li>Allow <a href="https://man.openbsd.org/getopt_long.3">getopt_long(3)</a> to accept an optional argument separated by whitespace, unlike GNU getopt_long.
<li>Stop <a href="https://man.openbsd.org/tsort.1">tsort(1)</a> reading past the end of its buffer.
<li>Plug a realloc memory leak in <a href="https://man.openbsd.org/mg.1">mg(1)</a>.
<li>Off-by-one fixes in <a href="https://man.openbsd.org/nc.1">nc(1)</a>, <a href="https://man.openbsd.org/pmdb.1">pmdb(1)</a>, <a href="https://man.openbsd.org/ppp.8">ppp(8)</a>, libssl, libpthread and a few in the kernel.
<li>Sync up <a href="https://man.openbsd.org/named.8">named(8)</a> with BIND 9.2.2-P3, with support for new zone type 'delegation-only'.
<li>In the new <a href="https://man.openbsd.org/dc.1">dc(1)</a>, make all registers contain zero initially for compatibility.
<li>Fix, clean up and simplify the installer's handling of yes/no responses from the user.
<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/skey_authenticate.3">skey_authenticate(3)</a>.
<li>Plug a memory leak in <a href="https://man.openbsd.org/rtadvd.8">rtadvd(8)</a>.
<li>Stop extraneous 'no disk label' warnings in the installer.
<!-- ^ 20030921 -->
<li>Implement hardwareflow (hf) option for <a href="https://man.openbsd.org/tip.1">tip(1)</a>. Off by default.
<li>Fix an out-of-order free() in <a href="https://man.openbsd.org/rpc.3">rpc(3)</a>.
<li>Don't leak memory if memory allocation fails in libc <a href="https://man.openbsd.org/rpc.3">rpc(3)</a> code.
<!-- ^ 20030920 -->
<li>Change the <a href="https://man.openbsd.org/ld.1">ld(1)</a> script to make contructors and destructors in dynamic binaries non-writable.
<li>Completely new BSD-licensed version of <a href="https://man.openbsd.org/dc.1">dc(1)</a> using the OpenSSL <a href="https://man.openbsd.org/bn.3">bn(3)</a> routines.
<li>Have <a href="https://man.openbsd.org/scp.1">scp(1)</a> check for an error code in remote-&gt;remote mode.
<li>When chrooting <a href="https://man.openbsd.org/httpd.8">httpd(8)</a>, use <a href="https://man.openbsd.org/initgroups.3">initgroups(3)</a> so that supplementary group IDs are initialised as well.
<li>Temporarily disable soft interrupts support in <a href="https://man.openbsd.org/usb.4">usb(4)</a> for stability reasons.<br>
    <a href="stable.html">[Applied to stable]</a>
<li>Several abnormal exit handler fixes to <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
<li>Better disk device probe on i386.
<li>Correct the signal number validity check in <a href="https://man.openbsd.org/csh.1">csh(1)</a>'s kill command.
<!-- ^ 20030919 -->
<li>Make <a href="https://man.openbsd.org/grep.1">grep(1)</a>'s binary file test work for gzipped files the same as for other files, testing against <a href="https://man.openbsd.org/isspace.3">isspace(3)</a> as well as <a href="https://man.openbsd.org/isprint.3">isprint(3)</a>.
<li>Make sure <a href="https://man.openbsd.org/whois.1">whois(1)</a> can't zap straight past the beginning of the buffer when removing spaces from line endings.
<li>Stop <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> checking for a netmask if the address type being examined is a table.
<li>Fix a subtle use-after-free in <a href="https://man.openbsd.org/modload.8">modload(8)</a>.
<li>Some int -&gt; u_int paranoia in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
<li>More <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> buffer management fixes (CAN-2003-0682).
<li>Further EDD detection improvements on i386.
<li>Properly flush the <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> RSA1 public key from memory when its output file cannot be opened (OpenSSH bugzilla #662).
<li>Correct a double-free in the <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> buffer management code (OpenSSH PR#660).
<li>Fix the <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> ConnectTimeout option (OpenSSH PR#656).
<li>On i386, try harder to boot from removable media by allowing for their removal and insertion.
<!-- ^ 20030918 -->
<li>Updated and better-commented openbsd-proto.mc for <a href="https://man.openbsd.org/sendmail.8">sendmail(8)</a>.
<li>Upgrade <a href="https://man.openbsd.org/sendmail.8">sendmail(8)</a> to version 8.12.10. The address parsing security fix went into 3.4 and -stable, but not the full version update.
<!-- ^ 20030917 -->
<!-- ^ 20030916 -->
<li>3.4 -&gt; 3.4-current.
<!-- ^ 20030915 -->
</ul>

<p>
This list mentions mostly platform-independent changes.  For a list of changes
made in a particular platform, please check the page for that platform.  If you
find them not listed there, the changes are either (1) not being documented or
(2) are documented here.