A/UX 1.1 Bug Report from TheHouse

73550000 matthew at ucscb.UCSC.EDU
Sun Jun 4 20:54:24 AEST 1989


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 at 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 at ucscb.ucsc.edu
...!ucbvax!ucscc!ucscb!matthew
matthew at ucsck.BITNET

Eric Lechner  (408) 427-2049 (when the modem isn't in use)
hacker/programmer, secondary sysadmin
lechner at ucscb.ucsc.edu
...!ucbvax!ucscc!ucscb!lechner


--- END of A/UX Bug Report from TheHouse. Edition 1 ---



More information about the Comp.unix.aux mailing list