Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: disklabel trouble



On Jul 18, 2011, at 11:15 27PM, David Holland wrote:

> On Mon, Jul 18, 2011 at 11:24:52AM +0000, Geoff Wing wrote:
>> : On Sat, Jul 16, 2011 at 09:26:18PM +0100, Patrick Welche wrote:
>> :>         030   39 30 32 31 3a 5c 20 20  20 20 0a 3a 70 61 23 38 
>> 9021:\.....:pa#8
>> :                                   ^^^^^^^^^^^^
>> : So, it seems that trailing spaces after the \ at the end of a disktab line
>> : completely confuse disklabel (or is it cgetnum()).
>> : This is illustrated by creating a "disktab" file containing
>> : test:\
>> ::dt=ESDI:se#512:ns#63:nt#16:sc#1008:nc#969021:\
>> ::pa#842022912:oa#107931648:ta=4.2BSD:ba#0:fa#0:\
>> 
>> The backwards slash is there to escape/suppress the following newline
>> character.  Each disktab entry is a single logical line.  If you put
>> spaces after it, you're causing the line to be considered complete
>> at the newline character.  This is not a bug.
> 
> ...except that the next line is not a valid entry, because it begins
> with a colon. So it ought to cause an error...

Actually, that's historically correct for files of this genre, because
the next argument is "dt", not " dt"....  See, for example,
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.2BSD/usr/man/man5/termcap.5
for a very old example.

> but I guess the code
> that reads the file stops when it finds the matching entry.
> 
> Anyway, this whole file format is a bug and we ought to move away from
> it.

No argument there.

                --Steve Bellovin, https://www.cs.columbia.edu/~smb







Home | Main Index | Thread Index | Old Index