summaryrefslogtreecommitdiffstats
path: root/import-layers/meta-security/recipes-security/bastille/files/Miscellaneous.pm
diff options
context:
space:
mode:
Diffstat (limited to 'import-layers/meta-security/recipes-security/bastille/files/Miscellaneous.pm')
-rw-r--r--import-layers/meta-security/recipes-security/bastille/files/Miscellaneous.pm166
1 files changed, 0 insertions, 166 deletions
diff --git a/import-layers/meta-security/recipes-security/bastille/files/Miscellaneous.pm b/import-layers/meta-security/recipes-security/bastille/files/Miscellaneous.pm
deleted file mode 100644
index b3bdf10cd..000000000
--- a/import-layers/meta-security/recipes-security/bastille/files/Miscellaneous.pm
+++ /dev/null
@@ -1,166 +0,0 @@
-package Bastille::API::Miscellaneous;
-use strict;
-
-use File::Path;
-use Bastille::API;
-use Bastille::API::HPSpecific;
-use Bastille::API::FileContent;
-
-require Exporter;
-our @ISA = qw(Exporter);
-our @EXPORT_OK = qw(
-PrepareToRun
-B_is_package_installed
-);
-our @EXPORT = @EXPORT_OK;
-
-
-###########################################################################
-#
-# PrepareToRun sets up Bastille to run. It checks the ARGV array for
-# special options and runs ConfigureForDistro to set necessary file
-# locations and other global variables.
-#
-###########################################################################
-
-sub PrepareToRun {
-
- # Make sure we're root!
- if ( $> != 0 ) {
- &B_log("ERROR","Bastille must run as root!\n");
- exit(1);
- }
-
-
- # Make any directories that don't exist...
- foreach my $dir (keys %GLOBAL_BDIR) {
- my $BdirPath = $GLOBAL_BDIR{$dir};
- if ( $BdirPath =~ /^\s*\// ) { #Don't make relative directories
- mkpath ($BdirPath,0,0700);
- }
- }
-
- if(&GetDistro =~ "^HP-UX") {
- &B_check_system;
- }
-
- &B_log("ACTION","\n########################################################\n" .
- "# Begin Bastille Run #\n" .
- "########################################################\n\n");
-
- #read sum file if it exists.
- &B_read_sums;
-
-
-# No longer necessary as flags are no longer in sum file, and sums are
-# are now checked "real time"
-
- # check the integrity of the files listed
-# for my $file (sort keys %GLOBAL_SUM) {
-# &B_check_sum($file);
-# }
- # write out the newly flagged sums
-# &B_write_sums;
-
-
-}
-
-
-
-###########################################################################
-# &B_is_package_installed($package);
-#
-# This function checks for the existence of the package named.
-#
-# TODO: Allow $package to be an expression.
-# TODO: Allow optional $version, $release, $epoch arguments so we can
-# make sure that the given package is at least as recent as some
-# given version number.
-#
-# scalar return values:
-# 0: $package is not installed
-# 1: $package is installed
-###########################################################################
-
-sub B_is_package_installed($) {
- no strict;
- my $package = $_[0];
-# Create a "global" variable with values scoped to this function
-# We do this to avoid having to repeatedly swlist/rpm
-# when we run B_is_package_installed
-local %INSTALLED_PACKAGE_LIST;
-
- my $distro = &GetDistro;
- if ($distro =~ /^HP-UX/) {
- if (&checkProcsForService('swagent','ignore_warning') == SECURE_CANT_CHANGE()) {
- &B_log("WARNING","Software Distributor Agent(swagent) is not running. Can not tell ".
- "if package: $package is installed or not. Bastille will assume not. ".
- "If the package is actually installed, Bastille may report or configure incorrectly.".
- "To use Bastille-results as-is, please check to ensure $package is not installed, ".
- "or re-run with the swagent running to get correct results.");
- return 0; #FALSE
- }
- my $swlist=&getGlobal('BIN','swlist');
- if (%INSTALLED_PACKAGE_LIST == () ) { # re-use prior results
- if (open(SWLIST, "$swlist -a state -l fileset |")) {
- while (my $line = <SWLIST>){
- if ($line =~ /^ {2}\S+\.(\S+)\s*(\w+)/) {
- $INSTALLED_PACKAGE_LIST{$1} = $2;
- }
- }
- close SWLIST;
- } else {
- &B_log("ERROR","B_is_package_installed was unable to run the swlist command: $swlist,\n");
- return FALSE;
- }
- }
- # Now find the entry
- if ($INSTALLED_PACKAGE_LIST{$package} == 'configured') {
- return TRUE;
- } else {
- return FALSE;
- }
- } #End HP-UX Section
- # This routine only works on RPM-based distros: Red Hat, Fedora, Mandrake and SuSE
- elsif ( ($distro !~ /^RH/) and ($distro !~ /^MN/) and($distro !~ /^SE/) ) {
- return 0;
- } else { #This is a RPM-based distro
- # Run an rpm command -- librpm is extremely messy, dynamic and not
- # so much a perl thing. It's actually barely a C/C++ thing...
- if (open RPM,"rpm -q $package") {
- # We should get only one line back, but let's parse a few
- # just in case.
- my @lines = <RPM>;
- close RPM;
- #
- # This is what we're trying to parse:
- # $ rpm -q jay
- # package jay is not installed
- # $ rpm -q bash
- # bash-2.05b-305.1
- #
-
- foreach $line (@lines) {
- if ($line =~ /^package\s$package\sis\snot\sinstalled/) {
- return 0;
- }
- elsif ($line =~ /^$package\-/) {
- return 1;
- }
- }
-
- # If we've read every line without finding one of these, then
- # our parsing is broken
- &B_log("ERROR","B_is_package_installed was unable to find a definitive RPM present or not present line.\n");
- return 0;
- } else {
- &B_log("ERROR","B_is_package_installed was unable to run the RPM command,\n");
- return 0;
- }
- }
-}
-
-
-
-1;
-
OpenPOWER on IntegriCloud