diff options
author | Gaurav Sinha <gaurav.sinha@vyatta.com> | 2012-06-07 23:19:36 -0700 |
---|---|---|
committer | Gaurav Sinha <gaurav.sinha@vyatta.com> | 2012-06-07 23:19:36 -0700 |
commit | 2d083c4aba26b08c68f812119d49e70328d9ef8b (patch) | |
tree | d79bd4962972bc1f41f85e294858e2e2ec434274 /lib/Vyatta | |
parent | ca94628e7c1f78486a8f3ea89cba3b2c2f1f1320 (diff) | |
download | vyatta-conntrack-2d083c4aba26b08c68f812119d49e70328d9ef8b.tar.gz vyatta-conntrack-2d083c4aba26b08c68f812119d49e70328d9ef8b.zip |
re-factored deletion code, disabling module scripts fixed
Diffstat (limited to 'lib/Vyatta')
-rw-r--r-- | lib/Vyatta/Conntrack/ConntrackUtil.pm | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/lib/Vyatta/Conntrack/ConntrackUtil.pm b/lib/Vyatta/Conntrack/ConntrackUtil.pm index bdc4961..0ded3ef 100644 --- a/lib/Vyatta/Conntrack/ConntrackUtil.pm +++ b/lib/Vyatta/Conntrack/ConntrackUtil.pm @@ -41,7 +41,7 @@ sub process_protocols { close $proto; return \%proto_hash; } -our @EXPORT = qw(check_for_conntrack_hooks, process_protocols, check_and_add_helpers); +our @EXPORT = qw(check_for_conntrack_hooks, process_protocols, check_and_add_helpers, run_cmd); #function to find if connection tracking is enabled. #looks in the iptables to see if any of the features introduced @@ -83,4 +83,36 @@ sub check_and_add_helpers { check_ct_helper_rules(); } } + +sub log_msg { + my $message = shift; + + print "DEBUG: $message\n" if $debug_flag; + syslog(LOG_DEBUG, "%s", $message) if $syslog_flag; +} +# Run command and capture output +# run_cmd("$iptables_cmd -t $table -F $name", 1); +# if command fails, then send output to syslog +sub run_cmd { + my ($cmd_to_run, $redirect) = @_; + + log_msg("Running: $cmd_to_run"); + + if ($redirect) { + open (my $out, '-|', $cmd_to_run . ' 2>&1') + or die "Can't run command \"$cmd_to_run\": $!"; + my @cmd_out = <$out>; + + # if command suceeds to do nothing. + return if (close ($out)); + + foreach my $line (@cmd_out) { + chomp $line; + syslog(LOG_INFO, "%s", $line); + } + } else { + system($cmd_to_run); + } +} + # end of file |