Return to BSD News archive
Xref: sserve comp.os.386bsd.questions:2898 comp.os.386bsd.bugs:854 Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!agate.berkeley.edu!cgd From: cgd@erewhon.CS.Berkeley.EDU (Chris G. Demetriou) Newsgroups: comp.os.386bsd.questions,comp.os.386bsd.bugs Subject: [NetBSD] changes & bugs fixed since 0.8... Date: 5 Jun 93 14:00:43 Organization: Kernel Hackers 'r' Us Lines: 325 Distribution: world Message-ID: <CGD.93Jun5140043@erewhon.CS.Berkeley.EDU> NNTP-Posting-Host: erewhon.cs.berkeley.edu since a few people asked me exactly what bugs we've fixed, i'm posting this. note that this document is also available in the "doc" subdirectory for NetBSD-current. the sources in NetBSD-current reflect these changes. I'm also thinking about doing another full release before USENIX, so... also, SUP is going to be ready for use to grab our source tree pretty soon... chris ========================================= LIST OF CHANGES FROM PREVIOUS RELEASE: <$Revision: 1.114 $> Changes from NetBSD 0.8: fixed PCFS so this it actually works now. (Jim Jegers, via patchkit) got rid of bt0 driver in GENERICISA, as it was conflicting with aha0. (cgd) make sure .../sys.386bsd/compile makes it into the distribution. (cgd) added support for BSDI's QMAGIC exec format to the kernel and related utilities; *NULL now core dumps. Also fixed several NULL pointer references caught by this. (mycroft and sef) fixed "/bin/sh: not found" problem when cleaning in libc (cgd) added the latest db lib from vangogh (v1.1 done by proven, 1.5 by cgd) db.h, ndbm.h, mpool.h updated. sys/syslimits.h has macro for SSIZE_MAX libc/getpwent and ttyname changed to use dbopen along with pwd_mkdb, kvm_mkdb, dev_mkdb, vacation, ps sped up console driver considerably by reducing the number of spl*() calls. (mycroft) fixed various bugs in the games. (mycroft) moved non-exportable crypt(3) software into /usr/src/lib/libcrypt, made crypt.c in libc a dummy, and made appropriate changes elsewhere to get things right. use "make EXPORTABLE_SYSTEM=true" to make binaries w/o libcrypt. (cgd) added YP to libc, and yp programs to usr.sbin/yp. (deraadt) netstat -s now prints out all of the udp statistics gathered (glass) brought in new login(1) from uunet. (cgd) brought in new test(1) from uunet, ditched bash version (glass) brought in new tr(1) from uunet (glass) added termios(4) man page from uunet (glass) updated syslog(3) from uunet for better error handling (glass) fixed syscall() with John Kohl's patch (proven) tcp_*space reduced to 4k, because of interactions with vm. (cgd) fixed: SLATTACH hangs up on connect to modem port -> raise DTR patch from: bugs@rafal.slip.uiuc.edu (cgd) can't exec a file people are writing to, any more... (cgd) fixed the amazingly shitty ethernet performance with cheap Western Digital cards. (mycroft) the /usr/src/sys/i386/boot/rmaouthdr script was not executable, which caused 0.8 to have a broken bootwd (deraadt) segregated GNU software in the standard dist. from the rest. it's now in /usr/src/gnu/* (cgd) various changes from Ralf Freidl to fix brokenness in pcfs (cgd) replaced gnu tail(1), join(1) with bsd equivalents from uunet (glass) fixed kernel profiling, again. now it _works_. (cgd) integrated CSRG-released touch(1), err(3) (glass) add process accounting & fix related utilities (cgd) make generic kernels include slip interface so they don't die of stack overflow when using loopback w/no enet (cgd) rpc include files are now installed from /usr/src/include (deraadt) actually fix that loopback+no other interfaced->reboot problem (cgd) make serial ports be correctly-numbered (cgd) added support for HP ethernet controllers. (mycroft) made (almost) the entire distribution compile and run with GCC 2; GDB doesn't because of a bug in GCC 2.3.3. (mycroft) replace GNU dd(1) with recently released Berkeley version (glass) update (f)lex to version 2.3.8 from prep.ai.mit.edu (cgd) fix bc so that it uses the distributed files, not ones we yacc/lex ourself. makes it work, and not require extra newlines (cgd) ifconfig -a (deraadt) iostat and vmstat now understand wd/fd disks. Not scsi disks yet though.. (deraadt) Jim Wilson's sh changes (sef) add uname program and syscall, for POSIX. changes came from John Brezak <brezak@osf.org> (cgd) made num, caps, and scroll lock not repeat. (mycroft) fix from Pete Chown <pc123@cus.cam.ac.uk> for appropriate mmap permissions checking (cgd) add assembly language version of index, rindex, strchr, and strrchr supplied by J.T. Conklin <conklin@kaleida.com> (cgd) update source tree with changes from patchkit-0.2.3 (cgd) update stdio buffering routines with replacements from Chris Torek <torek@ee.lbl.gov> (cgd) network loopback now supports multiple interfaces via, e.g. "pseudo-device loop 2". patch provided by David Burren <davidb@otto.bf.rmit.oz.au> (cgd) wd disks print their geometry if it can be determined via a READP command (deraadt) fd drives print their geometry according to what the BIOS says (deraadt) npx changes from patchkit patch 10002. Original author of these patches is Bruce Evans. (deraadt) the ring buffer code now uses "rbchar"s rather than char's. An rbchar is actually a short. This patch allows "literal next" to work (ie. ^V^D<return>) (deraadt) fixed kvm_getprocs() to work after kvm_getprocs() and kvm_freeprocs() have been called already (cgd) fix from Bakul Shah <bvs@BitBlocks.com> to make tip not dump core when Courier acu routines are used with a non- USR Courier modem. (cgd) nfsd will no longer loop endlessly if it is invoked on a kernel in which NFSSERVER has not been included in. (glass) crond will no longer directly open /var/cron/log, fail and complain. now uses syslog(3); cron.info can now be used to select the messages it logs. default syslog.conf has: cron.info /var/cron/log # for backwards compat. lockf patch from Paul Kranenburg <pk@cs.few.eur.nl> (deraadt) the rpc library now has xdr_float and xdr_double. patches from J.T. Conklin <conklin@talisman.kaleida.com> (deraadt) fix tmac.andoc .TH directive handling. patch from J.T. Conklin <conklin@talisman.kaleida.com> (cgd) make sendbug give a "To:" to sendmail. patch supplied by Gordon Burditt <gordon@sneaky.lonestar.org> (cgd) fix kernel printf's "%b" (bits) format. patch supplied by Gordon Burditt <gordon@sneaky.lonestar.org> (cgd) add pc3 termcap entry posted to comp.unix.bsd on Mon, 22 Feb 1993 by "Alex R.N. Wetmore" <aw2t+@andrew.cmu.edu> (cgd) add TIOCSTAT ioctl to give load average stats if requested (for tcsh) from Luke Mewburn <zak@rmit.edu.au> (cgd) integraged hp300 code from net/2 (cgd) fixed uninitialized field of struct proc which would occasionally cause "w" to panic the system (cgd) various 8-bit patches from Andrew Chernov <ache@astral.msk.su> tty_compat.c is cleaned up, as is STOP+TIOCSTI in tty.c (deraadt) fd error reporting cleanup. (deraadt) fixed bad man page & syscall definition for getpgrp(). (posix says it takes no args, and i don't argue...) (cgd) add change from Guido van Rooij <guido@gvr.win.tue.nl> so that io port access from user processes doesn't randomly work/fail. now must open /dev/mem to get access. (cgd) apply patch from Jagane D. Sundar <jagane@netcom.com> to allow NFS-mounting of ISO 9660 (isofs) filesystems, and to fix a few small isofs bugs. (cgd) have config make kernel compilation directoris in /sys/${MACHINE}/compile rather than /sys/compile (cgd) changes from David Burren <davidb@otto.bf.rmit.oz.au> so that netstat prints names for routes when not given -n, and so that it prints address family names (cgd) add new getcap routines to libc, adjust termcap build and tset(1) accordingly, and add cap_mkdb (cgd) move csu.${MACHINE} libraries into one subdir in /usr/src/lib (cgd) moved kernel architecture-dependent sub-directories into /sys/arch/${MACHINE}. great for more archs! (cgd) fixed "swap generic" support (cgd) improve kernel select mechanism further, by making setup done by a function. put protos into /sys/sys/select.h and clean up all of the messes it makes (cgd) file now prints the targets of symbolic links, thanks to John Brezak (brezak@osf.org) for the patch. (cgd) ed: 8-bit clean; no line-length limit; regex support for NULs (alm) sed: fixed NULL indirection (alm) fix "cpu" declarations in kernel config files so that they work as originally intended. this means that only cpus for which there is a cpu declaration (see kernel config files for examples) are supported by a kernel compiled with the config. also, if you want the math emulator in your kernel, you now need the "MATH_EMULATE" option in the kernel config file. (cgd) disklabel stuff in the kernel has been split up into arch indep & arch dep components. no more dos stuff in ufs_disksubr.c! (deraadt) add packet size check for raw IP provided by Paul Antonov <apg@apg.kiae.su>, to fix the "traceroute foohost 2000 causes panic" problem. (cgd) Fixed packet counters in if_ec, as noted by Mike J. Fuller <mike@sarah.lerc.nasa.gov> (davidb) Modified the SCSI disk startup so that DEC disks (for example) are told to spin up _before_ they are asked if they're ready. (davidb) Updated the rpc library to support MIPS and NS32k CPUs. (davidb) applied various patches supplied by Havard Eidnes <Havard.Eidnes@runit.sintef.no> to generally fix ISO support, including: reception of ISO multicasts in with we ethernet driver, fixed CLNP Echo reponder, and netstat, ifconfig, and libc fixes (cgd) use the Athena "newsyslog" utility to rotate logs, rather than the old, cumbersome method in /etc/{daily,weekly,monthly} (cgd) replaced broken /usr/include/bitstring.h w/new version from Mike Murphy <mrm@optigfx.com> (cgd) added /usr/src/regress, for regression tests (cgd) add Yuval Yarom's changes (originally for BSD/386) for advisory record locking on NFS files. Note that this DOES NOT support network locking, only local advisory locks. (cgd) fix /bin/ls; is clobbered first env. var. if given no filename args given. patch from Bob Willcox <bob@obiwan.uucp>. (deraadt) mail.local can now use username.lock files as well as flock(). Use the -l flag in your favorite sendmail.cf file. (deraadt) don't remake newvers and relink kernel if nothing has changed (cgd) fix SUP to not need any version of crypt. Use "make MAKE_EXPORT=1" to build a SUP for export. (brezak) add patch00144: fixed compress bug with a small path[] array from <stacey@guug.de>. (deraadt) add patch00149: sd/cd drivers printed incorrect blocknumbers when they hit errors. From <julian@jules.dialix.oz.au>. (deraadt) /etc/localtime is now created from by "make distribution" (deraadt) fixed /usr/bin/more to not play with magic numbers from executables directly. It now uses the N_BADMAG() macro. (deraadt) fixed lpr's dealings with magic numbers. It now no longer accesses exec.a_magic directly, and it knows about modern "ar" files rather than the old ones (deraadt) use EXPORTABLE_SYSTEM instead of MAKE_EXPORT to build crypt-free SUP. Just like the rest of the system. (brezak) tty structures are allocated dynamically. The d_ttys field in cdevs[] now has an extra level of indirection. The pty and com drivers allocate pty's dynamically, the pccons driver does not. Check out the "ttys" field in vmstat -m. (deraadt) patch from <MDICKSON@CSI.compuserve.com> to make kernel malloc() retry (using tsleep/wakeup) if the canwait flag is set. (deraadt) make sleeps during FIFO open interruptable (cgd) various pacthes to kernel files to make things compile with GCC-2.3.3 (proven) patch to signal .h for ANSI validation (proven) update to version 3.0 of Paul Vixie's cron package (cgd) kernels without pc0 support can be built, and work (deraadt) add yppoll command (brezak) update yacc to the latest version from Berkeley (1.9) (cgd) fixed kernfs security hole, where it wouldn't actually check perms before allowing users to write hostname (cgd) added chown/chmod/chgrp functionality to kernfs (cgd) sending simple telnet commands fixed. patch originally from Jonathan Stone <jonathan@CS.Stanford.EDU> (cgd) replace execve with new one, based on work by Wolfgang Solfrank <ws@tools.de>, but beaten up a good amount be cgd. (after several iterations of beating have gone on, this code is *really* differnt...) (cgd) update kvm library for the new exec, and add a kvm_getenv function, to get a process's environment var list (cgd) give ps an 'e' option, to print the environment variables of processes (cgd) add vt300 to termcap.src (brezak) fixed stty so that setting "ispeed" works. (cgd) move i386 signal trampoline code from the pcb to the top of the stack. at the same time, implement copying out of the signal trampoline code, on process creation. (cgd) shut up libg++ "make"'s whining (cgd) allow user to specity that programs depend on c++ sources (previously only could be done for libraries) (cgd) fix library "make depend" problem, in which it wasn't generating dependencies for profiled .o files (cgd) fix ps to not show cpu/memory/swap usage if process is zombie (cgd) fix from Wolfgang Solfrank (ws@tools.de) to kill processes outright if they exceed their hard CPU-usage limit (cgd) fix for NFS's bogus use if va_flags and va_gen, and other minor NFS fixes, supplied by John Woods, jfw@ksr.com (cgd) fix /usr/include/rpcsvc/rnusers.x - versions were reversed (brezak) add /lib/rpcsvc for upcoming rusers/rup clients and daemons (brezak) revert the "syncing disks" message on reboot to it's original, more informative, form (cgd) fix /usr/include/rpcsvc/klm_prot.x so it compiles. (brezak) add /usr/libexec/rpc.rstatd, rpc.rusersd, rpc.rwalld. (brezak) add /usr/bin/rup, rusers, rwall(changes). (brezak) add LIBRPCSVC to bsd.prog.mk. (brezak) removed bugs and memory leaks from directory functions (proven) ============================================================================ Changes from 386bsd 0.1 + patchkit 0.2.2: fdescfs, kernfs included added bsd mt ktrace works crond, crontab cleaned, and install properly prompt for floppy root disk added kgmon, gprof many vm bug fixes free ed fixes to /etc/*, particular /etc/{weekly,daily,monthly}, netstart beginnings of yp support tmpnam fix some alpha patchkit 0.2.3 stuff (piecemeal, and in some cases improved) better sun rpc support rwall, rwalld ETXTBUSY, returned properly on writes to files being executed, etc maxfdescs - fixes bash, sendmail, etc. behaviour when you use 'unlimit' larger default tcp windows (buffer space per socket) games brought in from bnr2 bpf fixes wdc vs wd, fdc vs fd fix; basically distinguish between controller and slave(s) attached to it. see sample configs incomplete wd7000 driver makesyscalls.sh, brought in from bnr2, works longer wd/fd probes, to catch more controller/drive combos (customize kernel config to look for devices that you know are there, to avoid delay). better fix in next release multiple open st(4) should get EBUSY updated elvis options SCSI, no more 'scbus' crap. see sample configs patch, patchlevel 12 integrated (non-GPLed) netiso, netcitt, netns added and they even compile more stuff incorporated from bnr2 (some from patchkit 2.3, some not) probe printf improvements fnmatch fix fdisk program pcfs hacked config(8) to be more rational, generate less broken garbage, added expression support, and "requires" swapinfo ps(1), and w(1) fix for command line args mmap, et. al protection fixes nfs client, nfs server split. now individually configurable, see sample configs zillions of bug fixes for broken Makefiles poor error handling broken features enhancements for ease of use greater functionality fixing, and replacing some of Jolitz's cruftier hacks bringing some old BSD utilities into modern age -- Chris G. Demetriou cgd@cs.berkeley.edu "386bsd as depth first search: whenever you go to fix something you find that 3 more things are actually broken." -- Adam Glass