matthew@ucscb.UCSC.EDU (73550000) (06/04/89)
THIS IS A LONG POSTING,... but if you use or administer an (or several) A/UX system, it should be required reading. This report contains opinions of the author(s) and possible factual errors. But it's better than nothing. Just don't say we didn't tell you. If anyone wants more details or wants to contact me about errors, please MAIL me at the email address listed below, or call... phone number is also listed below. If there is an error, please POST a correction. Fixes (of things we can fix) and helpful programs/scripts will be posted soon. ------------------------------------------------------- BEGIN: A/UX 1.1 Bug Report #1 from TheHouse (path) by Matthew Kaufman and Eric Lechner 5/89, 6/89 (the first of many) -------- 'path' is the unix system of 'TheHouse' a house full of programmer types who attend U.C. Santa Cruz. path is a Macintosh II, 5 MB RAM, 80+110 MB Disk. some day we might be available on the internet, for now, contact us at the email addresses listed below. We are using the machine in an environment of students / hackers, and as such have had rigorous testing of virtually everything as well as experience in making the file system more secure. If anyone wants to talk about what we've done / what we're doing, just send us some mail or give us a call. more postings will follow as we find more problems / features thanks for all the mail from the people who want this information Matthew Kaufman, matthew@ucscb.ucsc.edu, (408) 426-6771 (ps. I need a summer job, as does the other system hacker) -------- and now for the juicy part: System: A/UX doesn't set the caps lock light on extended keyboard. One would think that this would work properly, but it doesn't. the file system (possibly) has some problems. /etc/ifconfig and /etc/nfsd got stuck on the same inode somehow, and got totally trashed. It seems that one needs to rebuild and sort the free list rather often. It should also default that to 1:1 interleave instead of 400:7 or whatever it is now. why doesn't the swap size (SWAPCNT in kconfig) autoconfigure from the partition size? One can easily get the two out of sync... if it's smaller than the partition, you waste disk, if it's bigger ??? it is not clear that one must set the loopback address by changing the hostname in /etc/startup.d/BNET this was found by pure chance when the system was trashed by a filesystem problem. I never saw anything about it in the documentation. Perhaps it should know how to configure itself? Maybe part of the hostname setup? We might release a fix for this. login won't print /etc/motd (the /etc/motd file is distributed, so there's some question as to who was thinking what, the current fix is to put 'cat /etc/motd' into the default .login login won't print "You have [new] mail" again, just like above, though less obvious. We put 'from' into the .login, though it would be best if login would do the berkeley trick of "you have mail" / "you have new mail" the libcurses5.0.a library is named libcur5.0 We linked them together so that games sources compile better. NOTE: for those of you bringing up things from the net (like games) if you use curses, then also use termcap, and if you find the loader complaining about _tty not found, switch to curses5.0 / libcur5.0 su should source the su'd person's .cshrc and not the "original" user's .cshrc when starting up the new shell. This is just inconvenient and wrong. the fortran compiler won't compile dungeon (zork clone) (our ONLY test of the compiler so far ;-) ) the c optimizer once created something that wouldn't assemble, but I've never had it happen since. It appeared to generate a move instruction with 2 source registers and 1 destination register. how DOES one start the rwhod so that you can do rwho on yourself? We don't have any idea here,... someone please help us out. (tty) control-r ought to re-draw the current line. control-w ought to erase one word on the current line. non-active control characters should be printed as ^H (for control-h) when they perform no action (so you can tell that it isn't an "option"). All just general user complaints. Utilities: (in no particular order) (sysline) sysline doesn't believe that vt100 can support sysline (though the documentation for sysline says that's a terminal that can do it). other terminals that it _should_ work on (but doesn't) are: vt100-s-bot and vt100-s-top. In fact, sysline might just plain not work. (term) when "term" is invoked, it should "mesg n" the console. otherwise, if the console gets "writes" or other messages, the screen is fuddled. "screenrestore" from term also causes weird things to happen on the console screen. the shell invoked by "term" also does not set the USER environment variable. (since .cshrc but not .login is sourced, certain aliases and things get lost, can confuse random users) the person running term also does not own the terminal ports for the windows. (can't make them mesg y, among other things) (lav) 'lav' reports the error: no namelist since ps and uptime work, we assume that lav is just broken. (mailx) sending mail is not terminated by "." on a newline. and we're used to that feature. (more) more something. control-z out at more prompt. fg. you are stuck at the prompt. only by killing the proc or stty from another terminal can get you out. This applies only to the serial drivers. Apparently modes aren't set properly somehow. ARGH! This is one of those things that can get the terminal modes all stuck. One wonders where we'd be if we didn't have a terminal in the same room as the console... we'd never recover from things like this. Later on, you'll see more bugs that affect things OTHER that just the serial ports. more -s should eliminate multiple blank lines, and does so when you are more-ing a file, but if you are pipint the input to more, multiple blank lines aren't deleted. in more, when you attempt to find a pattern that does not exist, you get dumped. it should say something like "pattern not found" and leave you where you were. more also doesn't do long lines (in some manual pages, in particular) correctly. it adds a newline at the point where it gives up on the line. (finger) finger is not looking at user processes in /etc/utmp when looking for users, but is just looking at (as far as i can tell) non-null name entries. (finger @machine returns correct values, but finger user often returns the "bad" entries.) This means that when you use term and use up some pty ports, you seem to stay logged in all over for a long time. finger isn't looking in the right place for last login time. In fact, I don't know WHERE it looks. Devices: some programs can crash and do some sort of stty that leaves the line in a state where it sends back eof's repeatedly EVEN AFTER LOGOUT and so getty gets confused. This applies to ALL tty's (console, pty's and serial lines. pty's get this most often, for some reason) some other programs (like kermit) can crash and lock up the terminal (even the console) It's a good thing we have a terminal near the console so we can get each other unstuck. See the description of the problem with "more" above for yet another stty problem, this time ONLY on the serial ports. some programs are setting eof to be control-a, which is wrong (generic sysV bug of some sort) stty sane is insane: echoe is turned off (maybe more problems?) Security: all files need to be chmod correctly we'll post a list of how we think the permissions should be set for everything later. For now remember the following: things in /bin, /usr/bin, /usr/ucb and so on should be other executable but NOT other readable. otherwise random users copy them to their home directories and/or use the debugger on them. Things like diskformat shouldn't even be possibly available to random users. (eject is one that is often not remembered in that list) /kmem, etc should be group readable, but not writable, and should NOT be other readable. things like 'ps' and 'w' are set-gid so they can get to that stuff, and you don't want the user snooping kernal virtual memory looking at I/O queues and things like that. root defaults (as do other users) to umask 0. should be 077. fixable with kconfig, but why not just distribute it as more secure. The random person buying an A/UX system will probably not do this, and when they get it attached to the net, they become a major security loophole. some macintosh apps will launch and run when logged in as root, but quickly die when not root. (hfx is an example, maybe) sendmail should probably be setgid something instead of setuid, because it sets the mail files umask wrong. mail sets g=rw for /usr/mail/user this is bad. I believe the fix is to remove set-gid from sendmail I also wonder why it stores mail in /usr/mail instead of /usr/spool/mail terminal devices are default writable by others. write & "all that stuff" should be setgid, and the terminals should be set to a default group other than other. Reasons include: people can pipe program output to console, people can use ioctl calls to simulate input Other: we need a good serial port card! something that can do appletalk and serial at the same time, or at least more than 4 serial ports. we need limited appletalk support via the built-in ports so that the machine can be switched from mac to A/UX more easily... we want to be able to print from A/UX once in a while on the built in ports. we don't need performance, just the option. we need DMA for the disk (scsi) port REALLY badly disk I/O KILLS A/UX --- and finally... Eric and I need to get summer jobs! Contact us if you are looking for someone like us. (Silicon Valley area prefered) Matthew Kaufman (408) 426-6771 (when the modem isn't in use) system owner, primary system admin / programmer, landlord, etc matthew@ucscb.ucsc.edu ...!ucbvax!ucscc!ucscb!matthew matthew@ucsck.BITNET Eric Lechner (408) 427-2049 (when the modem isn't in use) hacker/programmer, secondary sysadmin lechner@ucscb.ucsc.edu ...!ucbvax!ucscc!ucscb!lechner --- END of A/UX Bug Report from TheHouse. Edition 1 ---