diff options
author | Scott Ullrich <sullrich@pfsense.org> | 2006-03-20 04:30:36 +0000 |
---|---|---|
committer | Scott Ullrich <sullrich@pfsense.org> | 2006-03-20 04:30:36 +0000 |
commit | 6a1dc9798447b0a5b01985e6cb78fd571daf2347 (patch) | |
tree | 88f425a3a0aeaf54c30fc955ea3e080be6ba321f /packages | |
parent | cf423c079f2e6ca5d9e78ccf6e5af4c972f06a77 (diff) | |
download | pfsense-packages-6a1dc9798447b0a5b01985e6cb78fd571daf2347.tar.gz pfsense-packages-6a1dc9798447b0a5b01985e6cb78fd571daf2347.tar.bz2 pfsense-packages-6a1dc9798447b0a5b01985e6cb78fd571daf2347.zip |
* Remove old version
* Lock during adding to blacklist.txt
Diffstat (limited to 'packages')
-rw-r--r-- | packages/spamd_verify_to_address.php | 2 | ||||
-rw-r--r-- | packages/spamd_verify_to_email_addresses.php | 94 |
2 files changed, 2 insertions, 94 deletions
diff --git a/packages/spamd_verify_to_address.php b/packages/spamd_verify_to_address.php index 5fa4a2ca..1ff4b303 100644 --- a/packages/spamd_verify_to_address.php +++ b/packages/spamd_verify_to_address.php @@ -109,7 +109,9 @@ foreach($grey_hosts as $grey) { if($debug) echo "/usr/local/sbin/spamdb -a \"<$email_to>\" -T\n"; exec("/usr/local/sbin/spamdb -a \"<$email_to>\" -T"); + config_lock(); system("echo $server_ip >> /var/db/blacklist.txt"); + config_unlock(); $result = mwexec("/usr/local/sbin/spamdb -a $server_ip -t"); } else { if($debug) diff --git a/packages/spamd_verify_to_email_addresses.php b/packages/spamd_verify_to_email_addresses.php deleted file mode 100644 index ad4ec36b..00000000 --- a/packages/spamd_verify_to_email_addresses.php +++ /dev/null @@ -1,94 +0,0 @@ -<?php - -/* - * pfSense spamd mousetrap - * (C)2006 Scott Ullrich - * - * Reads in an external list of c/r - * seperated valid e-mail addresses - * and then looks to see waiting grey- - * listed servers. if the server is - * sending to an invalid e-mail address - * then add them to spamtrap. - * - * XXX: - * * Add flag to blacklist a server after receiving X - * attempts at a delivery with invalid to: addresses. - * - */ - -require("config.inc"); -require("functions.inc"); - -/* path to script that outputs c/r seperated e-mail addresses */ -$server_to_pull_data_from = "http://10.0.0.11/exchexp.asp"; - -/* to enable debugging, change false to true */ -$debug = true; - -/* fetch down the latest list from server */ -if($debug) { - /* fetch without quiet mode */ - exec("fetch $quiet -o /tmp/emaillist.txt {$server_to_pull_data_from}"); -} else { - /* fetch with quiet mode */ - exec("fetch -q -o /tmp/emaillist.txt {$server_to_pull_data_from}"); -} - -/* test if file exists, if not, bail. */ -if(!file_exists("/tmp/emaillist.txt")) { - if($debug) - echo "Could not fetch $server_to_pull_data_from\n"; - exit; -} - -/* clean up and split up results */ -$fetched_file = strtolower(file_get_contents("/tmp/emaillist.txt")); -$valid_list = split("\n", $fetched_file); -$grey_hosts = split("\n", `spamdb | grep GREY`); - -if($debug) { - /* echo out all our valid hosts */ - foreach($valid_list as $valid) - echo "VALID: ||$valid||\n"; -} - -/* traverse list and find the dictionary attackers, etc */ -foreach($grey_hosts as $grey) { - if(trim($grey) == "") - continue; - /* clean up and further break down values */ - $grey_lower = strtolower($grey); - $grey_lower = str_replace("<","",$grey_lower); - $grey_lower = str_replace(">","",$grey_lower); - $grey_split = split("\|", $grey_lower); - $email_from = strtolower($grey_split[2]); - $email_to = strtolower($grey_split[3]); - $server_ip = strtolower($grey_split[1]); - if($debug) - echo "Testing $email_from | $email_to \n"; - if (in_array($email_to, $valid_list)) { - if($debug) - echo "$email_to is in the valid list\n"; - } else { - /* spammer picked the wrong person to mess with */ - if($server_ip) { - echo "/usr/local/sbin/spamdb -a $server_ip -t\n"; - $result = mwexec("/usr/local/sbin/spamdb -a $server_ip -t"); - } else { - if($debug) - echo "Could not locate server ip address."; - } - if($debug) - echo "Script result code: {$result}\n"; - } -} - -mwexec("killall -HUP spamlogd"); - -if($debug) { - system("spamdb | grep TRAPPED | wc -l"); - system("spamdb | grep SPAMTRAP | wc -l"); -} - -?>
\ No newline at end of file |