aboutsummaryrefslogtreecommitdiffstats
path: root/packages/spamd_db_ext.php
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2006-02-15 02:22:30 +0000
committerScott Ullrich <sullrich@pfsense.org>2006-02-15 02:22:30 +0000
commit6cf002d1d7c286f0acea6aae08848fe5f1de590d (patch)
tree9cc85ef82d35bf7f342d56283b9d8c8e6a4e09a0 /packages/spamd_db_ext.php
parentfde3429c67bbab3c18444f79374776cf78e8e156 (diff)
downloadpfsense-packages-6cf002d1d7c286f0acea6aae08848fe5f1de590d.tar.gz
pfsense-packages-6cf002d1d7c286f0acea6aae08848fe5f1de590d.tar.bz2
pfsense-packages-6cf002d1d7c286f0acea6aae08848fe5f1de590d.zip
* Update external interface script
* Add new script that can read a c/r file from a web server that checks the greylist for invalid email addresses. If a server is sending to an invalid e-mail address then instantly spamtrap them. Take that dictionary attacking punks!
Diffstat (limited to 'packages/spamd_db_ext.php')
-rw-r--r--packages/spamd_db_ext.php21
1 files changed, 17 insertions, 4 deletions
diff --git a/packages/spamd_db_ext.php b/packages/spamd_db_ext.php
index f94fc5b2..6ed79b03 100644
--- a/packages/spamd_db_ext.php
+++ b/packages/spamd_db_ext.php
@@ -49,12 +49,13 @@ foreach($config['installedpackages']['spamdoutlook']['config'] as $outlook) {
}
}
+exec("echo {$_GET['action']} > /tmp/tmp");
+
/* handle AJAX operations */
if($_GET['action'] or $_POST['action']) {
/* echo back buttonid so it can be turned
* back off when request is completed.
*/
- echo $_GET['buttonid'] . "|";
if($_GET['action'])
$action = $_GET['action'];
if($_POST['action'])
@@ -66,14 +67,26 @@ if($_GET['action'] or $_POST['action']) {
/* execute spamdb command */
if($action == "whitelist") {
exec("/usr/local/sbin/spamdb -a {$srcip}");
+ exit;
} else if($action == "delete") {
- exec("/usr/local/sbin/spamdb -d {$srcip}");
- exec("/usr/local/sbin/spamdb -d -T \"<{$srcip}>\"");
- exec("/usr/local/sbin/spamdb -d -t \"<{$srcip}>\"");
+ $fd = fopen("/tmp/execcmds", "w");
+ config_lock();
+ fwrite($fd, "#!/bin/sh\n");
+ fwrite($fd, "/usr/local/sbin/spamdb -d {$srcip}\n");
+ fwrite($fd, "/usr/local/sbin/spamdb -T -d \"<{$srcip}>\"\n");
+ fwrite($fd, "/usr/local/sbin/spamdb -t -d \"<{$srcip}>\"\n");
+ fwrite($fd, "/usr/local/sbin/spamdb | grep {$srcip}\n");
+ fclose($fd);
+ exec("chmod a+rx /tmp/execcmds");
+ system("/bin/sh /tmp/execcmds");
+ config_unlock();
+ exit;
} else if($action == "spamtrap") {
exec("/usr/local/sbin/spamdb -a {$srcip} -T");
+ exit;
} else if($action == "trapped") {
exec("/usr/local/sbin/spamdb -a {$srcip} -t");
+ exit;
}
/* signal a reload for real time effect. */
mwexec("killall -HUP spamlogd");