Viewing file: save_ips.cgi (979 B) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl # save_ips.cgi # Save allowed and denied IP addresses
require './jabber-lib.pl'; &ReadParse(); &error_setup($text{'ips_err'});
$conf = &get_jabber_config(); $io = &find("io", $conf); @oldallow = &find("allow", $io); @olddeny = &find("deny", $io);
# Validate and store inputs if (!$in{'allow_def'}) { foreach $a (split(/\s+/, $in{'allow'})) { push(@allow, &check_addr($a, "allow")); } } if (!$in{'deny_def'}) { foreach $a (split(/\s+/, $in{'deny'})) { push(@deny, &check_addr($a, "deny")); } } &save_directive($io, "allow", \@allow); &save_directive($io, "deny", \@deny); &save_jabber_config($conf); &redirect("");
sub check_addr { if (&check_ipaddress($_[0])) { return [ $_[1], [ {}, "ip", [ { }, "0", $_[0] ] ] ]; } elsif ($_[0] =~ /^(\S+)\/(\S+)$/ && &check_ipaddress($1) && &check_ipaddress($2)) { return [ $_[1], [ {}, "ip", [ { }, "0", $1 ], "mask", [ { }, "0", $2 ] ] ]; } else { &error(&text('ips_eaddr', $_[0])); } }
|