[TUHS] History of strncpy
aps at ieee.org
Thu Jan 24 01:24:26 AEST 2013
I also second/support Ron's and uh Clem's view. In addition to zeroing out the inumber field, "removing" a file decremented the reference count in the i-node causing it to be freed (not cleared) when the reference count went to zero. There was no strncpy() in the kernel. Was there a strcpy() (other than a macro) in the kernel?? Long live movtuc.
Begin forwarded message:
> From: Ronald Natalie <ron at ronnatalie.com>
> Subject: Re: [TUHS] History of strncpy
> Date: January 23, 2013 9:01:04 AM CST
> To: Clem Cole <clemc at ccc.com>
> Cc: tuhs at minnie.tuhs.org
> I agree with uh Clem. First off, Nevin's rememberence is wrong. The I-node number was the first two bytes of the V6 directory entry followed by a FIXED 14 spaces for the name (null terminated or not depending on whether the length was there).
> I can guarantee there was no STRNCPY in the kernel, and my memory is with Clem, the V6 and even the phototypesetter versions of the C compiler and libraries didn't have these functions.
> By the time Version 7 rolled around, the variable length directories had also appeared in the filesystem. I suspect strcpy arrived with the "portable I/O library", an abomination that eventually evolved into the stdio library and to this day is still stinking up the standard C language.
> Amusingly, removing a file only zeroed out the inumber field. This could lead the creative hacker to leave all sorts of fun messages in the directory by creating and removing files carefully.
> We had an alternate shell that was removed for security reasons and one day I found if you did "cat /tmp" there was some noise at the top for the current user of it but then a bunch of new lines and a message that said "Looking for a ghost of nosh?"
> TUHS mailing list
> TUHS at minnie.tuhs.org
More information about the TUHS