Found an old problem (8.1) with bootloader password and restricted options 
not being handled correctly, and a new one with the global append parameter.

BTW, I like the addition of the serial= based on presence of console in the 
perImageAppend, nice touch....

1.  password is not being written to lilo.conf file unless restricted is 
defined, but restricted is written even if password is not defined.  It 
should actually be the other way around. 

2.  libmsec.py is removing password but it is not testing for or removing 
restricted from lilo.conf.  What security/msec level actually causes this 
code to be executed?  Or is it disabled?

3. global parameter append= requires double quotes around values on right 
side of =


The following is the code for bootloader.pm in write_lilo_conf:

currently:

$lilo->{$_} and print F "$_=$lilo->{$_}" foreach qw(boot map install vga 
default append keytable);
$lilo->{$_} and print F $_ foreach qw(linear lba32 compact prompt restricted);
print F "password=", $lilo->{password} if $lilo->{restricted} && 
$lilo->{password};

should be:

$lilo->{$_} and print F "$_=$lilo->{$_}" foreach qw(boot map install vga 
default keytable);
print F "append=\"$lilo->{append}\"" if $lilo->{append};
$lilo->{$_} and print F $_ foreach qw(linear lba32 compact prompt);
print F "password=", $lilo->{password} if $lilo->{password};
print F "restricted" if $lilo->{restricted} && $lilo->{password};

Also, if password is present in the lilo.conf, lilo complains unless the 
lilo.conf permissions are set for readable only by root.  Not sure where to 
add appropriate patch to code, so ...

These changes may need to be made to the write_silo_conf too, but I have no 
experience using sparc, so...

and while you are in there..., might change vga_modes too:

currently:
%vga_modes = (
'ask' => "Ask at boot",
'normal' => "Normal",
'0x0f01' => "80x50",
'0x0f02' => "80x43",
'0x0f03' => "80x28",
'0x0f04' => "80x30",
'0x0f05' => "80x34",
'0x0f06' => "80x60",
'0x0122' => "100x30",
 785 => "640x480 in 16 bits (FrameBuffer only)",
 788 => "800x600 in 16 bits (FrameBuffer only)",
 791 => "1024x768 in 16 bits (FrameBuffer only)",
 794 => "1280x1024 in 16 bits (FrameBuffer only)",
);

should be:
%vga_modes = (
'ask' => "Ask at boot",
'normal' => "Normal",
'0x0f01' => "80x50",
'0x0f02' => "80x43",
'0x0f03' => "80x28",
'0x0f05' => "80x30",
'0x0f06' => "80x34",
'0x0f07' => "80x60",
'0x0122' => "100x30",
 785 => "640x480 in 16 bits (FrameBuffer only)",
 788 => "800x600 in 16 bits (FrameBuffer only)",
 791 => "1024x768 in 16 bits (FrameBuffer only)",
 794 => "1280x1024 in 16 bits (FrameBuffer only)",
);

(i'll fix my document if you fix the code, hehehe)

regards
Dave

Reply via email to