JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr#!/usr/bin/perl # Show a status of all active jails use strict; use warnings; no warnings 'redefine'; no warnings 'uninitialized'; require './fail2ban-lib.pl'; our (%in, %text, %config); &ui_print_header(undef, $text{'status_title'}, ""); my $out = &backquote_logged("$config{'client_cmd'} status 2>&1 $limit) { my @ips = split($br, $ips); @ips = @ips[0 .. $limit]; $ips = join($br, @ips); $ips .= "$br". (&ui_link("jail_blocks.cgi?jail=".urlize($jail), " ".&text('status_rules_plus_more', $ipscount-$limit), undef)).""; } return $ips; }; my $jips; &open_execute_command($fh, $jcmd, 1); while(<$fh>) { if (/-\s+(.*?):\s*(.*)/) { my $col = $1; my $val = $2; $col = lc($col); $col =~ s/\s/_/g; if ($col !~ /journal_matches/ && $col !~ /file_list/) { push(@head, "".$text{"status_head_$col"}.""); if ($col =~ /banned_ip_list/) { $jips = $val; my @ips = split(/\s+/, $val); @ips = map { "" } @ips; $val = "
" if ($val); $val .= join('
', @ips); $val = &$ipslimit($val); $val .= "

" if ($val); $val .= "–" if (!$val); } push(@body, $val); } } } close($fh); if (!$head++) { print &ui_form_start("unblock_jail.cgi", "post"); print &ui_links_row(\@links); print &ui_columns_start(\@head); } print &ui_checked_columns_row(\@body, [ 'width=5', undef, $tdc, $tdc, $tdc, $tdc, $tdc ], "jail", $jail); push(@jipsall, ["$jail" => $jips]); } if ($head) { print &ui_columns_end(); print &ui_links_row(\@links); print &ui_form_end([ [ 'unblock', $text{'status_jail_unblock'} ] ]); } } else { print $text{'status_jail_noactive'}; } &ui_print_footer("", $text{'index_return'});