[net.bugs.uucp] UUSQUISH 1.2

rjk (12/23/82)

Lou Salkind pointed out that 14-byte filenames may not get linked across
correctly in my uusquish program.  I have ensured that sizeof(dir.d_name)
bytes are now null-terminated and I have cancelled and re-posted the
source as UUSQUISH 1.2.

This bug does not manifest itself on our 11/70s' because of the arrangement
of consecutive directory structures in memory.  In this case, the dir.d_ino
of the following dir struct almost always starts with a zero-byte, effectively
null terminating the previous dir.d_name.  I have reprimanded myself severely
for "posting a bug", and extend my thanx to Lou for bringing it to my
attention so quickly.

You know, we could start a net.phu for "Program Hostile User" group.  People
participating could rip apart submitted code and suggest enhancements
or point out errors.  This could produce some real nice code!

This is my last official act for this year, so Merry Christmas all.

						Randy King
						..we13!rjk

smk (12/25/82)

	Be careful when using uusquish.  If there are subdirectories,
they are moved to the brand new directory from the temporary directory
via link.  What happens is that the directory entry for .. in the
subdirectory does not agree with the new directory.  An easy way to
see this is to do a du after running uusquish on a test case.
The <Bad directory> message occurs because the chdir ("..") fails.
The inode entry pointed to by .. had been removed in uusquish via
an unlink.

I am trying to write a general squish program fashioned after uusquish,
which was a great idea.  (This should be a standard UN*X utility.)
I haven't figured out the best way to handle the above problem, but
right now it will make sure you don't try to move a mountable file
system from /etc/fstab.  It uses the new -ldir package.  I'll post
it to net.sources when it is done.

	--steve