aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2006-03-20 04:30:36 +0000
committerScott Ullrich <sullrich@pfsense.org>2006-03-20 04:30:36 +0000
commit6a1dc9798447b0a5b01985e6cb78fd571daf2347 (patch)
tree88f425a3a0aeaf54c30fc955ea3e080be6ba321f
parentcf423c079f2e6ca5d9e78ccf6e5af4c972f06a77 (diff)
downloadpfsense-packages-6a1dc9798447b0a5b01985e6cb78fd571daf2347.tar.gz
pfsense-packages-6a1dc9798447b0a5b01985e6cb78fd571daf2347.tar.bz2
pfsense-packages-6a1dc9798447b0a5b01985e6cb78fd571daf2347.zip
* Remove old version
* Lock during adding to blacklist.txt
-rw-r--r--packages/spamd_verify_to_address.php2
-rw-r--r--packages/spamd_verify_to_email_addresses.php94
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