*BSD News Article 16855


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