# $NetBSD: CHANGES-2.0.3,v 1.1.2.55 2005/10/29 23:42:04 jmc Exp $ A complete list of changes from the NetBSD 2.0.2 release to the NetBSD 2.0.3 release. File Revision(s) ---- -------- sys/ufs/ufs/ufs_bmap.c patch Fix a silent truncation problem that could cause corruption with large FFSv1 file systems. [mycroft, ticket #1035] sys/sys/param.h patch Welcome to 2.0.2_STABLE sys/netinet/tcp_input.c patch If an echoed RFC 1323 time stamp appears to be later than the current time, ignore it and fall back to old-style RTT calculation. This prevents ending up with a negative RTT and panicking later. [christos, ticket #1401] sys/arch/sgimips/hpc/if_sq.c 1.21 When adding or deleting multicast addresses, only change the address filter if the interface is marked RUNNING. Fixes PR#27678. [thorpej, ticket #939] sys/arch/sgimips/hpc/if_sq.c 1.22-1.23 sys/arch/sgimips/hpc/sqvar.h 1.6-1.7 Fix the HPC1 transmit logic, which was previously very broken. [rumble, ticket #1054] sys/netinet6/nd6.c 1.92 Make sure that prefixes get purged. Fixes PR#21189, PR#25968, and PR#37873. [tron, ticket #1394] usr.bin/telnet/telnet.c 1.30 Plug buffer overflows, ref. CAN 2005-0468 and 2005-0469. Patch from MIT/Kerberos (MITKRB5-SA-2005-001-telnet.txt). [tron, ticket #1410] sys/arch/powerpc/powerpc/trap.c 1.106 Drop the big lock in upcallret() like all the other platforms do. [chs, ticket #1066] sys/netinet/tcp_input.c patch Fix TCP performance problems introduced in ticket 1401. [chs, ticket #1445] sys/arch/sparc64/sparc64/locore.c 1.197-1.204 via patch Various changes from NetBSD-current, revisions 1.197 to 1.204. Interrupt and soft-interrupt handling changes that appear to fix the "sleep forever" problem (PR port-sparc64/21750). [martin, ticket #1487] sys/kern/uipc_mbuf2.c 1.19 In m_pulldown avoid a prepend to the next mbuf in the chain if the result would still not have all data we want continous. Fixes PR#30098 [martin, ticket #1503] sys/arch/powerpc/powerpc/trap_subr.S 1.57 Don't enable interrupts while calling trap() if the trapping frame didn't have them enabled either. Addresses PR#29559. [matt, ticket #1286] sys/ufs/ext2fs/ext2fs_bmap.c 1.19 getblk() can return NULL if we are the pagedaemon. Check for this. [bouyer, ticket #1355] sys/kern/kern_descrip.c 1.132 The file being closed is (fdp->fd_lastfile - i), not i. So compare (fdp->fd_lastfile - i) against fd_knlistsize. Otherwise we can call knote_fdclose() on a file descriptor that doesn't have a knote. This issue explains random panics I have had on process exit over the past few years. [wrstuden, ticket #1537] sys/miscfs/kernfs/kernfs.h 1.24 sys/miscfs/kernfs/kernfs_vnops.c 1.108 kernfs does not support mmap(), remove code that pretends that it does. [chs, ticket #1540] sys/dev/ata/ata.c 1.69 via patch Close a window where (disks) interrupts could be enabled while the ATACH_TH_RUN flag is still set. [bouyer, ticket #1543] sys/arch/sun3/dev/if_ie.c 1.42 Avoid NULL pointer dereference in case of #if NBPFILTER == 0. Closes PR port-sun3/21699. [tsutsui, ticket #1874] sys/arch/i386/i386/pmap.c 1.181 Preload the referenced and modified bits when entering a page due to a fault. [chs, ticket #1979] sys/arch/amd64/amd64/pmap.c 1.19 sys/arch/amiga/amiga/pmap.c 1.113 sys/arch/atari/atari/pmap.c 1.90 sys/arch/hppa/hppa/pmap.c 1.16 sys/arch/pc532/pc532/pmap.c 1.77 sys/arch/sparc/sparc/pmap.c 1.299 sys/arch/sun2/sun2/pmap.c 1.27 sys/arch/sun3/sun3/pmap.c 1.147 sys/arch/sun3/sun3x/pmap.c 1.87 In pmap_enter(), preset the mod/ref bits based on the flags argument. This fixes PR kern/25640. [chs, ticket #1980] sys/dev/verified_exec.c 1.6 Use UIO_SYSSPACE for NDINIT. [kleink, ticket #1988] sys/dev/audio.c 1.196 via patch Make sure buffer sizes are initialized correctly even when the pause state is explicitly set. Without this, the machine would crash for some audio hardware that needs to divide by the block size (e.g., cs4281.c/cs4280.c). [is, ticket #1990] x11/bin/xdm/config/Makefile 1.9 via patch Install the following as executable scripts: GiveConsole TakeConsole Xsetup_0 Xsession Xwilling This fixes PR xsrc/30489. [tron, ticket #1986] libexec/telnetd/ext.h patch libexec/telnetd/state.c patch libexec/telnetd/telnetd.c patch Remove static local variable so its easier to correctly use strlcpy. [lha, ticket #2041] usr.sbin/user/user.c 1.80 Be consistent when deleting a non-existent group - tell if the group is non-existent. [agc, ticket #2024] gnu/dist/cvs/AUTHORS patch gnu/dist/cvs/BUGS patch gnu/dist/cvs/ChangeLog patch gnu/dist/cvs/HACKING patch gnu/dist/cvs/Makefile.in patch gnu/dist/cvs/NEWS patch gnu/dist/cvs/README patch gnu/dist/cvs/TODO patch gnu/dist/cvs/aclocal.m4 patch gnu/dist/cvs/configure patch gnu/dist/cvs/configure.in patch gnu/dist/cvs/contrib/ChangeLog patch gnu/dist/cvs/contrib/Makefile.am patch gnu/dist/cvs/contrib/Makefile.in patch gnu/dist/cvs/contrib/README patch gnu/dist/cvs/contrib/commit_prep.in patch gnu/dist/cvs/contrib/cvs_acls.html new file gnu/dist/cvs/contrib/cvs_acls.in patch gnu/dist/cvs/contrib/log.in patch gnu/dist/cvs/contrib/log_accum.in patch gnu/dist/cvs/contrib/mfpipe.in patch gnu/dist/cvs/contrib/rcslock.in patch gnu/dist/cvs/diff/ChangeLog patch gnu/dist/cvs/diff/Makefile.in patch gnu/dist/cvs/diff/libdiff.dep new file gnu/dist/cvs/diff/libdiff.mak new file gnu/dist/cvs/doc/ChangeLog patch gnu/dist/cvs/doc/Makefile.am patch gnu/dist/cvs/doc/Makefile.in patch gnu/dist/cvs/doc/cvs.1 patch gnu/dist/cvs/doc/cvs.man.footer new file gnu/dist/cvs/doc/cvs.man.header new file gnu/dist/cvs/doc/cvs.texinfo patch gnu/dist/cvs/doc/mkman.pl new file gnu/dist/cvs/doc/stamp-1 patch gnu/dist/cvs/doc/stamp-vti patch gnu/dist/cvs/doc/version-client.texi patch gnu/dist/cvs/doc/version.texi patch gnu/dist/cvs/lib/ChangeLog patch gnu/dist/cvs/lib/Makefile.am patch gnu/dist/cvs/lib/Makefile.in patch gnu/dist/cvs/lib/fncase.c patch gnu/dist/cvs/lib/libcvs.dep new file gnu/dist/cvs/lib/libcvs.dsp new file gnu/dist/cvs/lib/libcvs.mak new file gnu/dist/cvs/lib/regex.c patch gnu/dist/cvs/lib/sighandle.c patch gnu/dist/cvs/lib/system.h patch gnu/dist/cvs/lib/test-getdate.sh new file gnu/dist/cvs/lib/xtime.h patch gnu/dist/cvs/man/ChangeLog patch gnu/dist/cvs/man/Makefile.am patch gnu/dist/cvs/man/Makefile.in patch gnu/dist/cvs/src/ChangeLog patch gnu/dist/cvs/src/Makefile.am patch gnu/dist/cvs/src/Makefile.in patch gnu/dist/cvs/src/add.c patch gnu/dist/cvs/src/admin.c patch gnu/dist/cvs/src/annotate.c patch gnu/dist/cvs/src/buffer.c patch gnu/dist/cvs/src/build_src.com patch gnu/dist/cvs/src/checkin.c patch gnu/dist/cvs/src/checkout.c patch gnu/dist/cvs/src/classify.c patch gnu/dist/cvs/src/client.c patch gnu/dist/cvs/src/commit.c patch gnu/dist/cvs/src/create_adm.c patch gnu/dist/cvs/src/cvs.h patch gnu/dist/cvs/src/cvsrc.c patch gnu/dist/cvs/src/diff.c patch gnu/dist/cvs/src/edit.c patch gnu/dist/cvs/src/entries.c patch gnu/dist/cvs/src/expand_path.c patch gnu/dist/cvs/src/fileattr.c patch gnu/dist/cvs/src/filesubr.c patch gnu/dist/cvs/src/find_names.c patch gnu/dist/cvs/src/hardlink.c patch gnu/dist/cvs/src/hardlink.h patch gnu/dist/cvs/src/hash.c patch gnu/dist/cvs/src/hash.h patch gnu/dist/cvs/src/history.c patch gnu/dist/cvs/src/history.h patch gnu/dist/cvs/src/ignore.c patch gnu/dist/cvs/src/import.c patch gnu/dist/cvs/src/lock.c patch gnu/dist/cvs/src/log.c patch gnu/dist/cvs/src/login.c patch gnu/dist/cvs/src/logmsg.c patch gnu/dist/cvs/src/main.c patch gnu/dist/cvs/src/mkmodules.c patch gnu/dist/cvs/src/modules.c patch gnu/dist/cvs/src/myndbm.c patch gnu/dist/cvs/src/no_diff.c patch gnu/dist/cvs/src/parseinfo.c patch gnu/dist/cvs/src/patch.c patch gnu/dist/cvs/src/rcs.c patch gnu/dist/cvs/src/rcs.h patch gnu/dist/cvs/src/rcscmds.c patch gnu/dist/cvs/src/recurse.c patch gnu/dist/cvs/src/release.c patch gnu/dist/cvs/src/remove.c patch gnu/dist/cvs/src/repos.c patch gnu/dist/cvs/src/root.c patch gnu/dist/cvs/src/root.h patch gnu/dist/cvs/src/sanity.sh patch gnu/dist/cvs/src/server.c patch gnu/dist/cvs/src/server.h patch gnu/dist/cvs/src/stack.c patch gnu/dist/cvs/src/stack.h patch gnu/dist/cvs/src/status.c patch gnu/dist/cvs/src/subr.c patch gnu/dist/cvs/src/tag.c patch gnu/dist/cvs/src/update.c patch gnu/dist/cvs/src/vers_ts.c patch gnu/dist/cvs/src/version.c patch gnu/dist/cvs/src/wrapper.c patch gnu/dist/cvs/ylwrap new file gnu/usr.bin/cvs/cvs/Makefile patch gnu/usr.bin/cvs/include/config.h patch gnu/usr.bin/cvs/libcvs/Makefile patch gnu/usr.bin/cvs/libdiff/Makefile patch gnu/usr.bin/cvs/rcs2log/Makefile patch Update CVS to version 1.11.20. [tron, ticket #2927] src/gnu/usr.bin/cvs/libcvs/Makefile patch src/gnu/usr.bin/cvs/libdiff/Makefile patch Don't install "libcvs" and "libdiff". This fixes build problems caused by the pullup of ticket #2927. [tron, ticket #2933] usr.bin/su/su.1 1.44 usr.bin/su/su.c 1.65 Set LOGNAME in the new environment (in addition to USER). PR#30670 [kleink, ticket #2070] sys/kern/uipc_usrreq.c 1.83 uipc_usrreq: plug mbuf leak. [yamt, ticket #2940] sys/arch/macppc/pci/pci_machdep.c 1.26 Make PCI cards work on NetBSD-mappc systems with a "Grackle" bridge. [briggs, ticket #1329] sys/netinet6/ah_aesxcbcmac.c 1.2 IPsec-AH is always calculated using the same key in AES-XCBC-MAC. PR#30821 [elad, ticket 5538] lib/libz/inftrees.c 1.10 sys/lib/libz/inftrees.c 1.10 Return correct error on all zero length codes. [tron, ticket #5550] sys/arch/alpha/alpha/pmap.c 1.211 1. Disable the lazy allocation of lev1map in pmap_enter(), instead doing it in pmap_create(), and freeing the lev1map in pmap_destroy(). This means that pm_lev1map is consistent for the life of the pmap. 2. pmap_extract() now uses vtophys() for the kernel pmap. This avoids having to lock the kernel pmap, since kernel PT pages are never freed. 3. Because of (1), pmap_asn_alloc() no longer needs to operate on a locked pmap; pm_lev1map will never change over the life of the pmap, and all other access to the pmap is done in per-CPU fields or with atomic operations. 4. Because of (3), pmap_activate() no longer needs to lock the pmap to do its work, thus eliminating the deadlock with sched_lock described in PR port-alpha/25599. This is safe because we are guaranteed that the pmap is still alive, since by definition an LWP that uses that it is about to run. [thorpej, ticket #5528] usr.sbin/amd/libamu/mkconf 1.4 Embed machine and cpu architecture correctly from target host environment, not from build host. [nakayama, ticket #5560] distrib/notes/common/contents 1.115 Reference siop(4) not ncr(4) [riz, ticket #5568] share/man/man4/options.4 1.283 Remove reference to ncr(4) [riz, ticket #5569] distrib/notes/common/extract-contrib-string.pl 1.2 Use '#!/usr/bin/env perl' instead of hardcoding the path. Fix some typos. [riz, ticket #5570] distrib/notes/common/postinstall 1.59 Packages.txt has been obsoleted, point to doc/pkgsrc.txt. Whitespace and casing nit fixes. [riz, ticket #5571] distrib/notes/common/sysinst 1.71 Fix some typos. [riz, ticket #5574] distrib/utils/sysinst/msg.mi.en 1.134 Fix a typo: fileystem -> filesystem. [riz, ticket #5578] distrib/notes/i386/hardware 1.120 Add ethernet adapters driven by re(4) and wm(4) to the list of supported devices. [riz, ticket #5580] distrib/notes/cats/prep 1.8 distrib/notes/macppc/install 1.32 distrib/notes/macppc/prep 1.41 distrib/notes/macppc/prep.OPENFIRMWARE 1.6 distrib/notes/sandpoint/install 1.3 Get rid of some superfluous "No Ns" calls before punctuation. [riz, ticket #5581] gnu/dist/cvs/src/cvsbug.in 1.3 Fix vulnerability reported in SA16553 using the Red Hat patch. [tron, ticket #5613] sys/miscfs/kernfs/kernfs_vnops.c 1.111 Don't allow negative offsets when reading the message buffer, because it can allow reading arbitrary kernel memory. [christos, ticket #5633] sys/miscfs/procfs/procfs_subr.c 1.59 Simplify the code by: 1. Checking for a negative uio_offset at the beginning. This really does not affect us in most cases because we check that later too. 2. Checking for attempts to write to init sooner and in all cases. [christos, ticket #5634] sys/miscfs/kernfs/kernfs_vnops.c 1.112 Also protect the ipsec ioctls from negative offsets to prevent panics in m_copydata(). Move the negative offset check from kernfs_xread() to kernfs_read(). [christos, ticket #5637] distrib/sets/lists/base/mi 1.525,1.543,1.569 doc/3RDPARTY 1.357 via patch etc/mtree/NetBSD.dist 1.283 share/zoneinfo/africa 1.1.1.16-1.1.1.18 share/zoneinfo/antarctica 1.1.1.12-1.1.1.13 share/zoneinfo/asia 1.1.1.28-1.1.1.33 share/zoneinfo/australasia 1.5-1.8 share/zoneinfo/backward 1.1.1.14-1.1.1.15 share/zoneinfo/etcetera 1.1.1.5 share/zoneinfo/europe 1.1.1.28-1.1.1.31 share/zoneinfo/iso3166.tab 1.1.1.11-1.1.1.13 share/zoneinfo/leapseconds 1.1.1.10-1.1.1.11 share/zoneinfo/northamerica 1.1.1.27-1.1.1.30 share/zoneinfo/solar87 1.1.1.2 share/zoneinfo/solar88 1.1.1.2 share/zoneinfo/solar89 1.1.1.2 share/zoneinfo/southamerica 1.1.1.26-1.1.1.29 share/zoneinfo/yearistype.sh 1.5 share/zoneinfo/zone.tab 1.1.1.21-1.1.1.23 Update to tzdata2005m. Lots of fixes, including most recently the leap second at the end of 2005 and the U.S. DST changes taking effect in 2007. [kleink, ticket #5816] sys/fs/msdosfs/denode.h 1.6 sys/fs/msdosfs/msdosfs_vnops.c 1.17 The maximum file size on MS-DOS filesystems is 4 GB - 1 byte, so don't bother trying to write files bigger than this. Just return EFBIG to caller, rather than panic()ing later. PR#30864 [xtraeme, ticket #5627] xsrc/xfree/xc/config/cf/NetBSD.cf 1.80 Remove unsafe /tmp file creation for the file.0 target. Just make the file in the current build directory instead of temp directory. [reed, ticket #5844] sys/conf/copyright 1.2 Welcome to 2005. [rpaulo, ticket #5848] sys/compat/freebsd/freebsd_misc.c 1.22 via patch Range checks are not optional. The omission of this one, allows the user to corrupt the heap and/or crash the kernel. [christos, ticket #5846] xfree/xc/programs/Xserver/afb/afbpixmap.c 1.2 xfree/xc/programs/Xserver/cfb/cfbpixmap.c 1.2 xfree/xc/programs/Xserver/dix/pixmap.c 1.2 xfree/xc/programs/Xserver/fb/fbpixmap.c 1.2 xfree/xc/programs/Xserver/hw/xfree86/xaa/xaaInit.c 1.2 xfree/xc/programs/Xserver/hw/xfree86/xf4bpp/ppcPixmap.c 1.2 xfree/xc/programs/Xserver/ilbm/ilbmpixmap.c 1.2 xfree/xc/programs/Xserver/iplan2p4/iplpixmap.c 1.2 xfree/xc/programs/Xserver/mfb/mfbpixmap.c 1.2 xfree/xc/programs/Xserver/os/utils.c 1.7 via patch Fix security hole reported in CAN-2005-2495. [tron, ticket #5858] distrib/notes/sgimips/hardware patch Remove MACE ethernet from the unsupported list. [tsutsui, ticket #5924] sys/netinet6/esp_aesctr.c 1.2 AES counter mode uses 8byte IV, not 16 bytes. PR#30291. [kleink, ticket #5899] distrib/amd64/floppies/common/list.ramdisk 1.4 Add bootxx_ffsv2 [kleink, ticket #5828] doc/3RDPARTY 1.367 share/zoneinfo/asia 1.1.1.34 share/zoneinfo/australasia 1.9 share/zoneinfo/northamerica 1.1.1.31 share/zoneinfo/southamerica 1.1.1.30 Update to tzdata2005n. [kleink, ticket #5911] sys/arch/i386/i386/trap.c 1.205 sys/arch/i386/i386/vector.S 1.20 sys/arch/i386/include/npx.h 1.21 Handle MMX faults as floating exceptions. Matlab full functional again. [christos, ticket #5923] crypto/dist/openssl/crypto/opensslv.h 1.2 crypto/dist/openssl/ssl/s23_srvr.c 1.2 Fix openssl 2.0 rollback, CAN-2005-2969. Also, add a preprocessor symbol so we can distinguish fixed openssl from the vanilla openssl. [gendalia, ticket #5926] distrib/sets/makesrctars patch Allow autobuild to create ready-to-release source tars with builds. [jmc, ticket #5935] doc/README.files patch Update to reflect all CHANGES files distrib/notes/common/main patch Clean up some ambiguous wording. bin/sh/expand.c 1.68 expbackq() was incorrectly backing up a temporary buffer when removing \n from the end of output of commands inside $(...) substitutions. If the program output is n*128+1 bytes long (ending in a \n) then the code checks buf[-1] for another \n - looking an uninitialised stack. On a big-endian system an integer of value 10 will satisfy this (unlikely on little endian) and can happen depending on the last code path to use a lot of stack! This caused the problem with newvers.sh on sparc64 after ', 2005' was added to the date list. PR#28852 [martin, ticket #1418] sys/netinet6/icmp6.c 1.111 In icmp6_redirect_output(), sip6 is initialised to point to the data area of m0. But m0 may be freed later, so trying to use sip6 at the end of this function is wrong. My guess is that we want to reference the data area of m (the mbuf about to be send) instead at this point. Fix a panic on Xen (where a data area of a mbuf may be unmapped when the mbuf is freed), and probably potential data/pool corruption in other cases. [bouyer, ticket #5938] share/man/man4/fast_ipsec.4 1.2-1.3 Fix Dd argument; new sentence, new line; sort sections; typo fixes. [jmc, ticket #5946] distrib/sets/lists/base/md.ibmnws delete distrib/sets/lists/base/mi 1.576 distrib/sets/lists/man/md.ibmnws delete distrib/sets/lists/man/mi 1.835 via patch gnu/usr.sbin/Makefile 1.14 Build ncdcs on everything. Allows better set sharing (and we don't exclude other 'system specific' binaries from other builds ala sunlabel, etc), and nuke only md man page in existence, simplifying man.tgz set sharing. [jmc, ticket #5948] distrib/notes/common/main patch gnu/usr.bin/groff/tmac/mdoc.local patch share/tmac/doc-common patch sys/sys/param.h patch doc/LAST_MINUTE patch Welcome to 2.0.3