From 9865d6aadaf172162ed175228425b5f5d5948ddc Mon Sep 17 00:00:00 2001 From: dataking Date: Fri, 3 Jun 2016 16:06:08 -0700 Subject: [PATCH] Fixing multiple vs 1 warning --- lynis_report.pl | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/lynis_report.pl b/lynis_report.pl index 710e396..0d0e208 100755 --- a/lynis_report.pl +++ b/lynis_report.pl @@ -189,12 +189,20 @@ print OUT <Warning IDDescriptionSeverityF4 END if (ref($lynis_report_data{'warning[]'}) eq 'ARRAY') { - # probably just 1 warning - my $warn_id = ${$lynis_report_data{'warning[]'}}[0]; - my $warn_desc = ${$lynis_report_data{'warning[]'}}[1]; - my $warn_sev = ${$lynis_report_data{'warning[]'}}[2]; - my $warn_f4 = ${$lynis_report_data{'warning[]'}}[3]; - print OUT "$warn_id$warn_desc$to_long_severity{$warn_sev}$warn_f4\n"; + if (${$lynis_report_data{'warning[]'}}[0] =~ /\|/) { # more than one + foreach my $warn ( sort @{$lynis_report_data{'warning[]'}} ) { + my ($warn_id,$warn_desc,$warn_sev,$warn_f4) = split(/\|/, $warn); + print OUT "$warn_id$warn_desc$to_long_severity{$warn_sev}$warn_f4\n"; + } + } elsif (${$lynis_report_data{'warning[]'}}[0] =~ /[A-Z]{4}\-\d{4}/) { # one warning + my $warn_id = ${$lynis_report_data{'warning[]'}}[0]; + my $warn_desc = ${$lynis_report_data{'warning[]'}}[1]; + my $warn_sev = ${$lynis_report_data{'warning[]'}}[2]; + my $warn_f4 = ${$lynis_report_data{'warning[]'}}[3]; + print OUT "$warn_id$warn_desc$to_long_severity{$warn_sev}$warn_f4\n"; + } else { + die colored("Unexpected ARRAY format! \n", "bold red"); + } } else { die colored("warning[] not ARRAY ref!: ".ref($lynis_report_data{'warning[]'})."\n", "bold red"); } @@ -210,6 +218,9 @@ if ((ref($lynis_report_data{'suggestion[]'}) eq 'ARRAY') and (${$lynis_report_data{'suggestion[]'}}[0] =~ /\|/)) { foreach my $sug ( sort @{$lynis_report_data{'suggestion[]'}} ) { my ($sug_id,$sug_desc,$sug_sev,$sug_f4,$sug_f5) = split(/\|/, $sug); + if ($sug_desc eq 'Consider hardening SSH configuration') { + $sug_desc .= ": $sug_sev"; $sug_sev = '-'; + } print OUT "\t\t\t$sug_id$sug_desc$sug_sev$sug_f4\n"; } }