mirror of https://github.com/openbsd/www.git
399 lines
19 KiB
HTML
399 lines
19 KiB
HTML
<!doctype html>
|
|
<html lang=en id=plus>
|
|
<meta charset=utf-8>
|
|
<title>OpenBSD 2.2 Changelog</title>
|
|
<meta name="description" content="OpenBSD 2.2 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/plus22.html">
|
|
<style>
|
|
strong {
|
|
color: var(--red);
|
|
}
|
|
|
|
h3 {
|
|
color: var(--blue);
|
|
}
|
|
|
|
p strong {
|
|
font-weight: normal;
|
|
}
|
|
|
|
code {
|
|
font-family: serif;
|
|
font-weight: bolder;
|
|
}
|
|
</style>
|
|
|
|
<h2 id=OpenBSD>
|
|
<a href="index.html">
|
|
<i>Open</i><b>BSD</b></a>
|
|
2.2 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> if you
|
|
are interested in further port-specific details. Many ports
|
|
have had architecture-specific enhancements relative to NetBSD,
|
|
but when they do not they certainly have plenty of platform-independent
|
|
changes, starting with those listed below..
|
|
|
|
<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="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="plus35.html">3.5</a>,
|
|
<a href="plus36.html">3.6</a>,
|
|
<a href="plus37.html">3.7</a>,
|
|
<br>
|
|
<a href="plus38.html">3.8</a>,
|
|
<a href="plus39.html">3.9</a>,
|
|
<a href="plus40.html">4.0</a>,
|
|
<a href="plus41.html">4.1</a>,
|
|
<a href="plus42.html">4.2</a>,
|
|
<a href="plus43.html">4.3</a>,
|
|
<a href="plus44.html">4.4</a>,
|
|
<a href="plus45.html">4.5</a>,
|
|
<a href="plus46.html">4.6</a>,
|
|
<a href="plus47.html">4.7</a>,
|
|
<a href="plus48.html">4.8</a>,
|
|
<a href="plus49.html">4.9</a>,
|
|
<a href="plus50.html">5.0</a>,
|
|
<a href="plus51.html">5.1</a>,
|
|
<a href="plus52.html">5.2</a>,
|
|
<a href="plus53.html">5.3</a>,
|
|
<a href="plus54.html">5.4</a>,
|
|
<br>
|
|
<a href="plus55.html">5.5</a>,
|
|
<a href="plus56.html">5.6</a>,
|
|
<a href="plus57.html">5.7</a>,
|
|
<a href="plus58.html">5.8</a>,
|
|
<a href="plus59.html">5.9</a>,
|
|
<a href="plus60.html">6.0</a>,
|
|
<a href="plus61.html">6.1</a>,
|
|
<a href="plus62.html">6.2</a>,
|
|
<a href="plus63.html">6.3</a>,
|
|
<a href="plus64.html">6.4</a>,
|
|
<a href="plus65.html">6.5</a>,
|
|
<a href="plus66.html">6.6</a>,
|
|
<a href="plus67.html">6.7</a>,
|
|
<a href="plus68.html">6.8</a>,
|
|
<a href="plus69.html">6.9</a>,
|
|
<a href="plus70.html">7.0</a>,
|
|
<a href="plus71.html">7.1</a>,
|
|
<br>
|
|
<a href="plus72.html">7.2</a>,
|
|
<a href="plus73.html">7.3</a>,
|
|
<a href="plus.html">current</a>.
|
|
<br>
|
|
|
|
<p>
|
|
<h3>Changes made between OpenBSD 2.1 and 2.2</h3>
|
|
<p>
|
|
|
|
<ul>
|
|
<li>Prevent open(2) with wrong flag modes.
|
|
<li><b>The new afterboot(8) man page. Everyone should look at this.</b>
|
|
<li>Addition of 'kbus' port for the Solbourne Series5 sparc-based machines.
|
|
<li>Make clri(8) mark the filesystem dirty.
|
|
<li>Add per-host locking support to supfilesrv.
|
|
<li>Make the ncr scsi driver work on big-endian machines too.
|
|
<li>Fix a select/read race in identd(8) which would make it spin wildly.
|
|
<li>Make ac(8) use the correct timestamp if the user specifies a different wtmp file.
|
|
<li>Fix mktemp() to work correctly when specified against non-existent directories.
|
|
<li>Fix a memory leak in libdes.
|
|
<li>Fix one last little problem case in the fts(3) library routine. This is a very complicated piece of code...
|
|
<li>Some minor tftpd bug fixes.
|
|
<li>Another lpd security fix.
|
|
<li>Repair the msdosfs timestamping code so that NT/Win95 do not complain.
|
|
<li>Make disklabel -E always succeed at writing a label. Now you can load a fictitious label, edit it, and write it out.
|
|
<li>In fmt(1), support backslashed whitespace inside words better.
|
|
<li>Support 'q' modifier in kernel vsprintf/kprintf
|
|
<li>Implementation of the new disklabel -E mode.
|
|
<li>Handle creation of /var/tmp/vi.recover more securely.
|
|
<li>Quirks for two kinds of hitachi dk515 scsi drives and the Cipher ST150S tape drive.
|
|
<li>Handle a potential crash in the bpf driver.
|
|
<li>Rewrite of fdisk(8).
|
|
<li>Make /etc/security handle blowfish-a passwd entries.
|
|
<li>Ignore bogus hostnames in the /etc/exports file.
|
|
<li>Fix prompting code in pw_edit(3)
|
|
<li>The random(6) tool (game?) now uses arc4random(3).
|
|
<li>A few pppd fixes.
|
|
<li>More IPSEC improvements after the Interop ANX bakeoff.
|
|
<li>Add -f option to readlink which does a realpath(3).
|
|
<li>Fix a bug in libform.
|
|
<li>Add support for FNM_LEADING_DIR, FNM_CASEFOLD, FNM_IGNORECASE to fnmatch(3).
|
|
<li>Fix a network performance problem introduced with IPSEC.
|
|
<li>Fix the : and . support in chown so that usernames can have . in them.
|
|
<li>Make execle() use alloca() instead of malloc(); to ensure execle() can be safely called in a signal hander.
|
|
<li>Fix an ifconfig bug related to interfaces that do not exist.
|
|
<li>In struct sigaction, split sa_handler and the new sa_sigaction function pointers as is being done on newer POSIX systems. This permits proper prototyping of signal handlers.
|
|
<li>Ignore SIGPIPE in inetd(8).
|
|
<li>Fixed a pstat -s related bug in pcvt.
|
|
<li>Do not init pgid in /dev/log's logopen().
|
|
<li>Make ls -d sort directories with files.
|
|
<li>Fix a few small problems in rarpd(8).
|
|
<li>Shrink most of the install floppies ;-)
|
|
<li>Fix tar to deal better with one more kind of strange tar file.
|
|
<li>Make top(1) work better on very small screens.
|
|
<li>Deal with some possible buffer overflows in sup.
|
|
<li>Fixed various MAKEDEV bugs on lots of architectures.
|
|
<li>Fix ftime(3).
|
|
<li>Another important disk-full check in pwd_mkdb(8).
|
|
<li>Run calendar -a in the background. (Points to whoever figures out why.)
|
|
<li>Add mkisofs(8).
|
|
<li>Add sigaction(2) SA_NOCLDWAIT support.
|
|
<li>Don't error out of MDTM fails.
|
|
<li>Fix SA_* sigaction(2) fields in the OS compat code.
|
|
<li>Some syslogd fixes.
|
|
<li>Permit a longer path buffer in tgetent(3).
|
|
<li>Fix a ksh(1) bug.
|
|
<li>Added ex (EtherExpress Pro/10) driver ported from FreeBSD
|
|
<li>Always set the SCSI-1 LUN field correctly in all transfers.
|
|
<li>Make popen(3) safe if vfork(2) does real parent address space borrowing.
|
|
<li>Some fsck_msdos(8) fixes.
|
|
<li>Made indent(1) handle unlimited number of -T options.
|
|
<li>Fixed small pathname buffer in man(1).
|
|
<li>Some setlogin() and getlogin() fixes in the tree.
|
|
<li>Make ddb not think 'h' means hangman.
|
|
<li>Ignore trailing spaces on priority in /etc/syslogd.conf.
|
|
<li>Fix a long-standing and minor problem with ld.so on m68k.
|
|
<li>Preliminary manual pages for the IPSEC utils.
|
|
<li>Fix a coredumping problem in tip(1).
|
|
<li>Extend buffer lengths in patch(1).
|
|
<li>make bpfread() return ENXIO for uninitialized descriptors.
|
|
<li>Cleaned up verbose scsi error reporting.
|
|
<li>make mail(1) be permissive about <CR><LF> pairs in mailbox files.
|
|
<li>Update ftp(1) to new NetBSD changes.
|
|
<li>Print system call emulation in ps(1) output. Try "ps -axO emul".
|
|
<li>New COMPAT_BSDOS binary compatibility subsystem.
|
|
<li>Another tip(1) overflow fix.
|
|
<li>ppp 2.3.1...
|
|
<li>make glob(3) XPG4.2 compliant, which means use GLOB_ABORT.
|
|
<li>Fix first directory handling in "find -execdir"
|
|
<li>Some FreeBSD m4(1) fixes.
|
|
<li>Do permission checking at delivery time for pgids derived from TIOCSPGRP, F_SETOWN, or FIOSETOWN.
|
|
<li>Correct some remaining small inetd bugs.
|
|
<li>Handle SIGCHLD better in rlogin.
|
|
<li>Kill "union wait" in a few more places.
|
|
<li>More SysVR4 emulation: sockets, NTP, POSIX time functions, pread(2)/pwrite(2).
|
|
<li>In calendar(1), support "-t date" to let you see the calendar for other days.
|
|
<li>Further IPSEC enhancement (but still no man pages for it though).
|
|
<li>Fix a crash in systat(8).
|
|
<li>Handle setgid lossage in tip(1).
|
|
<li>Lucent Technologies (formerly AT&T) awk version 970821.
|
|
<li>Correct 'sync' option to dd(1).
|
|
<li>In dump(8), do not consider tape changing time in the timing estimates.
|
|
<li>In join(1), require compat options start with '-'.
|
|
<li>A few fixes to tip(1).
|
|
<li>Various fixes to battlestar(6).
|
|
<li>Few more 64 bit fixes in userland, in some rarely used system tools.
|
|
<li>Don't print duplicate fields in ps(1) when called with silly arguments.
|
|
<li>basename(1) and dirname(1) no longer give an error for paths starting with '-'.
|
|
<li>Document a64l(3) and l64a(3).
|
|
<li>The group vector could end up with duplicates esp. with YP. Now it won't.
|
|
<li>ash is gone gone gone.
|
|
<li>Fixed a bug where the kernel could lie about how many file descriptors are available and cause a panic.
|
|
<li>shutdown(8) now gets its own session as it deserves.
|
|
<li>Fixed err(3)/warn(3) argument usage in the tree.
|
|
<li>Buffer overflow fixes in tip(1).
|
|
<li>XPG4 compatibility for ps(1) format options.
|
|
<li>Added basename(3) and dirname(3) for XPG4. dirname(1) is now trivial.
|
|
<li>Verbose SCSI warnings are now available and on by default.
|
|
<li>Fixed a bug in cp(1) when the -r option is used and the source dir ends in a '/'.
|
|
<li>Changed realloc(foo,0) semantics to be like malloc(0), not free(foo).
|
|
<li>More user-friendly error messages from mount_* when the filesystem is not in the kernel.
|
|
<li>New PCMCIA Wavelan driver.
|
|
<li>Be more careful about YP groups in getgrouplist().
|
|
<li>Support simple add/delete operations on ports in the baddynamic masks via sysctl(8)
|
|
<li>More 1003.2 conformance: cal, cksum, sleep, compress, expr, etc.
|
|
<li>We are starting to pay attention to good things found in the XPG4 standard. We hope to never be compliant, because XPG4 goes way too far.
|
|
<li>Put hostname in root crontab mailout subjects.
|
|
<li>Attempt to deal with archive timestamp and filemode problems in texinfo...
|
|
<li>ATAPI quirk for MATSHITA CR-574.
|
|
<li>Fix another procfs security hole.
|
|
<li>Add top(1) to the source tree. Fix some problems.
|
|
<li>Be even more paranoid (if it can be believed) in mail.local(8).
|
|
<li>In mountd(8), handle ext2fs specially, like most exported filesystems.
|
|
<li>Fix pcap_inject(3) in libpcap.
|
|
<li>Make gzexe(1) use mktemp to avoid races.
|
|
<li>Make bad random allocation ports settable via sysctl(8).
|
|
<li>Import ypserv performance.
|
|
<li>Optional TCP syn cookie support enabled via TCPCOOKIE kernel option.
|
|
<li>Change the bounds_check_with_label() API to handle a cpu_disklabel too.
|
|
<li>Support -n better in pstat(8).
|
|
<li>Make bsd.doc.mk use DOCDIR.
|
|
<li>Fix vacation(1) properly.
|
|
<li>Fix a memory leak in grep(1).
|
|
<li>Seriously rework the identd daemon even further, to avoid even more input parsing problems and race conditions.
|
|
<li>Work has started to fix the remainder of the signal handlers in the source tree with respect to errno clobbering.
|
|
<li>Fix another race condition in identd.
|
|
<li>Fix pdksh bugs: closed too many fds on exec, fix handling of (( )) to be compatible with POSIX sh spec without breaking $((, and explain how IFS works when splitting text after a substitution.
|
|
<li>Make 127.0.0.1 assumed OK if /var/yp/securenet is in use.
|
|
<li>save errno in most of the tree's SIGCHLD handlers, just in case.
|
|
<li>More mdoc pages.
|
|
<li>Cyclades driver fixed. Works on alpha, too.
|
|
<li>Fixed getnetbyaddr() 'always tried DNS' resolution problem from 2.1.
|
|
<li>Sendmail 8.8.7.
|
|
<li>Fix a kernel bug regarding double m_freem()..
|
|
<li>Make if_tun to prefix address family as a host byte order u_int32_t instead of a u_char, so that bpf can deal with the interface.
|
|
<li>Deal nicer with rfork/execve interactions.
|
|
<li>Attempt to cleanup identd. A long road left.
|
|
<li>FSF GNU texinfo 3.11.
|
|
<li>More fixes to the alpha vga driver. Curses-based programs now work on it.
|
|
<li>Radius support in tcpdump.
|
|
<li>Todd Miller is on a rampage, and making every single buffer inside mail(1) dynamically allocated...
|
|
<li>Support fpx cards with i82555 PHY.
|
|
<li>routed(8) is now disabled by default.
|
|
<li>Various fixes and improvements to the 3cXXX ethernet drivers.
|
|
<li>More buffer overflow fixes in mail(1).
|
|
<li>An ugly identd race fixed.
|
|
<li>Fix systat manpage.
|
|
<li>Man page improvements in many areas.
|
|
<li>Allocate reserved ports for NFS inside the kernel randomly.
|
|
<li>Support -H flag in who(1).
|
|
<li>More mail(1) fixes.... It's amazing Todd hasn't broken it.
|
|
<li>stime(2) support for SunOS emulation.
|
|
<li>Switch back to nvi; vim has copyright licensing issues.
|
|
<li>mremap(2) support for Linux emulation.
|
|
<li>Use sendmail -t instead of other invocation forms inside lots of programs in the source tree.
|
|
<li>Hardcode a list of reserved ports that random port allocation should not reuse.
|
|
<li>Support YP map mail.aliases set of maps.
|
|
<li>Support lpc(8) "all" keyword option.
|
|
<li>-d flag for shutdown(8).
|
|
<li>Add -T support to last(1).
|
|
<li>Fix pax to not need getcwd(3).
|
|
<li>Implement IFF_NOARP handling in netinet.
|
|
<li>make amd(8) use /tmp_mnt by default.
|
|
<li>Do not use tempnam(3) in mail(1).
|
|
<li>All Makefile.bsd-wrapper files can now strip GNU binaries during install (pr 188).
|
|
<li>Some cribbage(6) fixes.
|
|
<li>permit ftp(1) to download http pages without Content-Length.
|
|
<li>Appletalk networking support.
|
|
<li>S/Key keyfile is now readable only by root. skeyinfo(1) and skeyaudit(1) have been enhanced and rewritten as C programs.
|
|
<li>mail(1) supports "inc" command.
|
|
<li>mail(1) behaves correctly when interrupted while getting headers from the user.
|
|
<li>IPSEC Photuris daemon is integrated into the source tree.
|
|
<li>make ctags operate a bit better in the presence of extra spacing.
|
|
<li>Add <code>-d date</code> support to last(1).
|
|
<li>Import of the IPSEC photuris daemon.
|
|
<li>Add rmd160 hash support throughout the source tree.
|
|
<li>lpd security fixes.
|
|
<li>man page cleanups.
|
|
<li>Updated <a href="http://www.sendmail.org/">Sendmail</a> to 8.8.6.
|
|
<li>cua devices, new <code>MAKEDEV</code> script in the hp300 port.
|
|
<li>More mail(1) fixes, particularly regarding long lines.
|
|
<li>Add sha1 digest support to mtree(8).
|
|
<li>Add sha1 support to md5(1).
|
|
<li>Lots more IPSEC improvements.
|
|
<li>Repair symbolic link handling during coredumps (correctly, this time).
|
|
<li>Replace libc sha1 code with another version that is better in some respects.
|
|
<li>Fix passive buffer overflow in rusers.
|
|
<li>Make ed(1) work properly on a non-tty.
|
|
<li>make compress(1) do gzip support too.
|
|
<li>Maintain process size stats in forkstat struct for "vmstat -f".
|
|
<li>Fix ruptime output for machines up > 99 days.
|
|
<li>Amended issetugid(2) man page to be quite a bit more clear.
|
|
<li>ATAPI devices may now reside in a kernel without wd (disk) devices.
|
|
<li>Intel EtherExpress Pro/100B PCI driver.
|
|
<li>More IPSEC changes. IPSEC is almost fully usable now.
|
|
<li>Fix a number of rtld dynamic loading problems.
|
|
<li>split ifconfig -a into -a/-A: -A prints ifaliases, -a does not.
|
|
<li>Repaired nfs handling in tcpdump.
|
|
<li>Fixed highscore handling in battlestar(6).
|
|
<li>Fixed all(?) Makefile wrappers for GNU software to not build and install manpages when NOMAN is set.
|
|
<li>libedit update with lots of fixes.
|
|
<li>Many more 64 bit fixes for the alpha, in about 20 more programs.
|
|
<li>Move libdes out of the kerberos tree so that it can be used by other parts of the system too.
|
|
<li>Make sleep(1) handle fractions of seconds. This is a nice extension.
|
|
<li>New kprop/kpropd man pages.
|
|
<li>Permit tftpd to provide files over 32K blocks in size.
|
|
<li>Fix readlink(1).
|
|
<li>Import of cvs-1.9.10.
|
|
<li>A few more minor netinet problems fixed.
|
|
<li>Modify inetd to accept a "hostname,[hostname,...]:" token to added to the front of any line in /etc/inetd.conf. This permits services to be supplied only on certain interfaces.
|
|
<li>Import of the gnu multi-precision math library, libgmp. This will be used by an IPSEC key daemon soon.
|
|
<li>Support IP option handling in IPSEC packets.
|
|
<li>Race fix to amd(8).
|
|
<li>Y2K enhancement to date(1).
|
|
<li>Repaired hundreds of long != int problems (in a bunch of programs) that affect the alpha.
|
|
<li>Clip setsockopt SO_SND*/SO_RCV parameters.
|
|
<li>Use O_EXLOCK for passwd locking to avoid a class of localhost denial of service attacks.
|
|
<li>Fix a minor problem in popen().
|
|
<li>IPF 3.1.11 + Darren's patches + 64-bit cleanup.
|
|
<li>Added automatic power down framework at halt(8) time, currently only supported on sun4m machines with the <i>power</i> device.
|
|
<li>Slightly improve ftpd log file.
|
|
<li>More paranoia in procfs.
|
|
<li>Add ELOOP error handling to realpath(3).
|
|
<li>Some NLS improvements, notably some more language catalogs.
|
|
<li>Change mount(2) to return EFTYPE for invalid filesystem.
|
|
<li>More ipsec changes!
|
|
<li>add -insecure flag to ypbind(8) so that it can bind to very old ypservs.
|
|
<li>Make ifconfig(8) print full information about the full set of interface aliases.
|
|
<li>Support "-d dir" in rpc.yppasswdd(8).
|
|
<li>Fix some more /tmp races in various programs.
|
|
<li>add per-interface bindings to inetd(8).
|
|
<li>Better support for unmounted filesystems in df(1).
|
|
<li>Correct -n behaviour in sort(1).
|
|
<li>In newfs(8), fix -o and -m to work better.
|
|
<li>Add tsearch(3) to libc.
|
|
<li>Fix /tmp races in make(1).
|
|
<li>Deal with atapi drives that cannot lock their doors.
|
|
<li>Improved performance in /dev/*random.
|
|
<li>Fixed a few netinet bugs as pointed out by TCP/IP Illustrated Vol.2.
|
|
<li>Add tsearch(3) and friends to libc, as required by XPG3(?).
|
|
<li>Repair many cross-references and other documentation problems in the section 2 and 3 man pages, and also fix a few minor other bugs discovered by analysis of recent changes in FreeBSD's and NetBSD's libc.
|
|
<li>Implement hex/octal offsets in cmp(1), as documented.
|
|
<li>Addition of readlink(1).
|
|
<li>Move named tmp files to /etc/named/tmp/ to avoid localhost race attacks.
|
|
<li>document the ddb hangman.
|
|
<li>tftpd -c flag.
|
|
<li>Use dynamic fd_set allocation in more places, particularly setuid programs.
|
|
<li>Use /etc/namedb/tmp/ to avoid /var/tmp race conditions.
|
|
<li>Ensure TCP RST is within window.
|
|
<li>fix disklabel support in vnd/svnd.
|
|
<li>add sysctl net.inet.tcp.{keepidle,keepintvl,slowhz}
|
|
<li>fix SO_SNDTIMEO.
|
|
<li>Add <code>-P proto</code> support to traceroute.
|
|
<li>Some more security and robustness changes to traceroute and ping.
|
|
<li>A few netinet fixes.
|
|
<li>Kernel now generates random pid values in fork().
|
|
<li>fix sendmsg() credential passing on 64 bit machines.
|
|
<li>kill process timers if execve'ing a setuid/setgid executable.
|
|
<li>Few more fixes to pax(1).
|
|
<li>Fix lots more NetBSD PRs.
|
|
<li>tcp wrappers 7.6
|
|
<li>Add some more malloc options to malloc(3)
|
|
<li>In ar(1), truncate uid & gid if too large.
|
|
<li>getpgid(2) from XPG3(?)
|
|
<li>tail(1) can now notice if the file been replaced or truncated.
|
|
<li>Fix more overflows and other bugs in mail(1).
|
|
<li>Lots of man page fixes.
|
|
<li>New named root.cache from Internic.
|
|
<li>Support SIGINFO in ping; also add more complete icmp reporting capabilities.
|
|
<li>Make adduser understand /etc/passwd.conf
|
|
<li>Newer version of ext2fs that is reliable for read/write operation. This is essentially FULLY OPERATIONAL.
|
|
<li>Import newer version of vax port.
|
|
<li>Fix a few more libc functions to generate very large fd_set's properly for select(2).
|
|
<li>Few quirky changes to the way ISO9660 disklabel spoofing works in some ports.
|
|
</ul>
|