From 8fe0294beaecd4739c06d9eb49992ccbf0309f01 Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Tue, 6 Dec 2011 14:47:19 -0800 Subject: [PATCH] Support systemd framework on Fedora 16 https://sourceforge.net/tracker/?func=detail&atid=117457&aid=3451866&group_id=17457 --- firewall/redhat-linux-lib.pl | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/firewall/redhat-linux-lib.pl b/firewall/redhat-linux-lib.pl index 99254295e..3c904f4f7 100755 --- a/firewall/redhat-linux-lib.pl +++ b/firewall/redhat-linux-lib.pl @@ -8,7 +8,8 @@ $init_script = "$init::config{'init_dir'}/iptables"; # Returns an error message if something is wrong with iptables on this system sub check_iptables { -if (!-r $init_script) { +if (!-r $init_script && + &backquote_command("service iptables status 2>/dev/null") !~ /Loaded:\s+loaded/) { return &text('redhat_escript', "$init_script"); } return undef if ($gconfig{'os_type'} eq 'trustix-linux'); @@ -32,22 +33,33 @@ $iptables_save_file = "/etc/sysconfig/iptables"; # Applies the current iptables configuration from the save file sub apply_iptables { -local $out = &backquote_logged("cd / ; $init_script restart 2>&1"); -$out =~ s/\033[^m]+m//g; -return $? || $out =~ /FAILED/ ? "
$out
" : undef; +if (-r $init_script) { + local $out = &backquote_logged("cd / ; $init_script restart 2>&1"); + $out =~ s/\033[^m]+m//g; + return $? || $out =~ /FAILED/ ? "
$out
" : undef; + } +else { + local $out = &backquote_logged("cd ; service iptables restart 2>&1"); + return $? || $out =~ /FAILED/ ? "
$out
" : undef; + } } # unapply_iptables() # Writes the current iptables configuration to the save file sub unapply_iptables { -$out = &backquote_logged("cd / ; $init_script save 2>&1 &1 $out" : undef; + } +else { return &iptables_save(); } -return $? || $out =~ /FAILED/ ? "
$out
" : undef; } # started_at_boot()