diff options
author | Till Kamppeter <tkamppeter@mandriva.com> | 2001-09-17 15:18:24 +0000 |
---|---|---|
committer | Till Kamppeter <tkamppeter@mandriva.com> | 2001-09-17 15:18:24 +0000 |
commit | fd08f5da3ac309d5733dca24be6ab2ba57e6dcc3 (patch) | |
tree | 3b26b2418448904825b17571bfe1a64604e3fcbf /perl-install/printer.pm | |
parent | 5d84b8b96d48ecfb62c8d3b665b4cb6d1db8ea2f (diff) | |
download | drakx-fd08f5da3ac309d5733dca24be6ab2ba57e6dcc3.tar drakx-fd08f5da3ac309d5733dca24be6ab2ba57e6dcc3.tar.gz drakx-fd08f5da3ac309d5733dca24be6ab2ba57e6dcc3.tar.bz2 drakx-fd08f5da3ac309d5733dca24be6ab2ba57e6dcc3.tar.xz drakx-fd08f5da3ac309d5733dca24be6ab2ba57e6dcc3.zip |
Added handling of high and paranoid security levels.
Diffstat (limited to 'perl-install/printer.pm')
-rw-r--r-- | perl-install/printer.pm | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/perl-install/printer.pm b/perl-install/printer.pm index 09391ee77..eb0122dc0 100644 --- a/perl-install/printer.pm +++ b/perl-install/printer.pm @@ -188,6 +188,68 @@ sub network_status { return 1; } +sub get_security_level { + # Get security level by reading /etc/profile (only after install). + # This is a preliminary solution until msec puts the security level + # definition into the correct file. + $file = "/etc/profile"; + if (-f $file) { + local *F; + open F, "< $file" || return 0; + while (<F>) { + if ($_ =~ /^\s*SECURE_LEVEL=([0-5])\s*$/) { + close F; + return $1; + } + } + close F; + } + return 0; +} + + +sub spooler_in_security_level { + # Was the current spooler already added to the current security level? + my ($spooler, $level) = @_; + my $sp; + if (($spooler eq "lpr") || ($spooler eq "lprng")) { + $sp = "lpd"; + } else { + $sp = $spooler; + } + $file = "$prefix/etc/security/msec/server.$level"; + if (-f $file) { + local *F; + open F, "< $file" || return 0; + while (<F>) { + if ($_ =~ /^\s*$sp\s*$/) { + close F; + return 1; + } + } + close F; + } + return 0; +} + +sub add_spooler_to_security_level { + my ($spooler, $level) = @_; + my $sp; + if (($spooler eq "lpr") || ($spooler eq "lprng")) { + $sp = "lpd"; + } else { + $sp = $spooler; + } + $file = "$prefix/etc/security/msec/server.$level"; + if (-f $file) { + local *F; + open F, ">> $file" || return 0; + print F "$sp\n"; + close F; + } + return 1; +} + sub files_exist { my @files = @_; for (@files) { |