aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config/spamd/spamd.inc16
-rw-r--r--config/spamd/spamd_db.php42
-rw-r--r--config/spamd/spamd_settings.xml2
3 files changed, 37 insertions, 23 deletions
diff --git a/config/spamd/spamd.inc b/config/spamd/spamd.inc
index 0bd29bd8..d55dc132 100644
--- a/config/spamd/spamd.inc
+++ b/config/spamd/spamd.inc
@@ -34,6 +34,13 @@ if(!function_exists("filter_configure"))
function sync_package_spamd() {
global $config, $g;
+ $pf_version = substr(trim(file_get_contents("/etc/version")),0,3);
+ if ($pf_version < 2.2) {
+ $localpath = "/usr/local";
+ } else {
+ $ARCH = php_uname("m");
+ $localpath = "/usr/pbi/spamd-$ARCH/local";
+ }
conf_mount_rw();
config_lock();
@@ -130,8 +137,8 @@ function sync_package_spamd() {
"fi\n" .
"/usr/local/sbin/spamd-setup -d &\n" .
"/sbin/pflogd &\n" .
- "/usr/local/libexec/spamd {$greyparms}{$identifier}{$greylisting}{$maxcon}{$maxblack}{$window}{$replysmtperror} 127.0.0.1 &\n" .
- "/usr/local/libexec/spamlogd\n";
+ "$localpath/libexec/spamd {$greyparms}{$identifier}{$greylisting}{$maxcon}{$maxblack}{$window}{$replysmtperror} 127.0.0.1 &\n" .
+ "$localpath/libexec/spamlogd\n";
$stop = "/usr/bin/killall spamd-setup\n" .
"/usr/bin/killall spamlogd\n" .
"/usr/bin/killall spamd\n" .
@@ -153,8 +160,9 @@ function sync_package_spamd() {
log_error("Restart cron");
mwexec("killall -HUP cron");
log_error("Setting up spamd.conf symlink");
- mwexec("rm -f /usr/local/etc/spamd/spamd.conf");
- mwexec("ln -s /etc/spamd.conf /usr/local/etc/spamd/spamd.conf");
+ mwexec("rm -f $localpath/etc/spamd/spamd.conf");
+ mwexec("ln -s /etc/spamd.conf $localpath/etc/spamd/spamd.conf");
+
log_error("Stopping spamd");
mwexec("/usr/local/etc/rc.d/spamd.sh stop");
sleep(1);
diff --git a/config/spamd/spamd_db.php b/config/spamd/spamd_db.php
index c2df25d1..b2c4c476 100644
--- a/config/spamd/spamd_db.php
+++ b/config/spamd/spamd_db.php
@@ -30,6 +30,10 @@
require("guiconfig.inc");
+$pf_version=substr(trim(file_get_contents("/etc/version")),0,3);
+if ($pf_version < 2.0)
+ $one_two = true;
+
if($_POST['filter'])
$filter = $_POST['filter'];
if($_POST['not'])
@@ -53,8 +57,10 @@ if($_GET['action'] or $_POST['action']) {
$srcip = $_GET['srcip'];
if($_POST['srcip'])
$srcip = $_POST['srcip'];
- if($_POST['toaddress'])
- $toaddress = escapeshellarg($_POST['toaddress']);
+ if($_GET['spamtrapemail'])
+ $spamtrapemail = escapeshellarg($_GET['spamtrapemail']);
+ if($_POST['spamtrapemail'])
+ $spamtrapemail = escapeshellarg($_POST['spamtrapemail']);
$srcip = str_replace("<","",$srcip);
$srcip = str_replace(">","",$srcip);
$srcip = str_replace(" ","",$srcip);
@@ -62,7 +68,6 @@ if($_GET['action'] or $_POST['action']) {
$srcip = escapeshellarg($srcip);
/* execute spamdb command */
if($action == "'whitelist'") {
- exec("/usr/local/sbin/spamdb -d {$srcip}");
exec("/usr/local/sbin/spamdb -d {$srcip} -T");
exec("/usr/local/sbin/spamdb -d {$srcip} -t");
delete_from_blacklist($srcip);
@@ -76,14 +81,13 @@ if($_GET['action'] or $_POST['action']) {
delete_from_blacklist($srcip);
mwexec("/sbin/pfctl -q -t spamd -T delete $srcip");
mwexec("/sbin/pfctl -q -t blacklist -T replace -f /var/db/blacklist.txt");
- } else if($action == "'spamtrap'") {
- exec("/usr/local/sbin/spamdb -d {$srcip}");
- exec("/usr/local/sbin/spamdb -d {$srcip} -T");
- exec("/usr/local/sbin/spamdb -d {$srcip} -t");
- exec("/usr/local/sbin/spamdb -a {$srcip} -T");
} else if($action == "'trapped'") {
- exec("/usr/local/sbin/spamdb -T -d {$toaddress}");
- exec("/usr/local/sbin/spamdb -T -a '{$toaddress}'");
+ exec("/usr/local/sbin/spamdb -d {$srcip}");
+ exec("/usr/local/sbin/spamdb -d {$srcip}");
+ exec("/usr/local/sbin/spamdb -d -t {$srcip}");
+ exec("/usr/local/sbin/spamdb -a -t {$srcip}");
+ } else if($action == "'spamtrap'") {
+ exec("/usr/local/sbin/spamdb -a -T {$spamtrapemail}");
}
/* signal a reload for real time effect. */
mwexec("killall -HUP spamlogd");
@@ -144,7 +148,7 @@ if($_GET['whitelist'] <> "") {
function delete_from_blacklist($srcip) {
config_lock();
- $blacklist = split("\n", file_get_contents("/var/db/blacklist.txt"));
+ $blacklist = explode("\n", file_get_contents("/var/db/blacklist.txt"));
$fd = fopen("/var/db/blacklist.txt", "w");
foreach($blacklist as $bl) {
if($bl <> "")
@@ -159,7 +163,7 @@ function delete_from_blacklist($srcip) {
function delete_from_whitelist($srcip) {
config_lock();
- $whitelist = split("\n", file_get_contents("/var/db/whitelist.txt"));
+ $whitelist = explode("\n", file_get_contents("/var/db/whitelist.txt"));
$fd = fopen("/var/db/whitelist.txt", "w");
foreach($whitelist as $wl) {
if($wl <> "")
@@ -200,7 +204,9 @@ $blacklist_items = $blacklist_items + $spamdb_black;
?>
<body link="#000000" vlink="#000000" alink="#000000">
<?php include("fbegin.inc"); ?>
+<?php if($one_two): ?>
<p class="pgtitle"><?=$pgtitle?></font></p>
+<?php endif; ?>
<form action="spamd_db.php" method="post" name="iform">
<script src="/javascript/scriptaculous/prototype.js" type="text/javascript"></script>
<script src="/javascript/scriptaculous/scriptaculous.js" type="text/javascript"></script>
@@ -326,10 +332,10 @@ if (typeof getURL == 'undefined') {
$cmd = "/usr/local/sbin/spamdb | grep -v \"" . escapeshellarg($filter) . "\" | tail -n {$limit}";
fwrite($fd, $cmd);
fclose($fd);
- $pkgdb = split("\n", `$cmd`);
+ $pkgdb = explode("\n", `$cmd`);
if(file_exists("/var/db/blacklist.txt")) {
$cmd = "cat /var/db/blacklist.txt | grep -v \"" . escapeshellarg($filter) . "\" ";
- $pkgdba = split("\n", `$cmd`);
+ $pkgdba = explode("\n", `$cmd`);
foreach($pkgdba as $pkg) {
$pkgdb[] = "TRAPPED|{$pkg}|1149324397";
}
@@ -338,10 +344,10 @@ if (typeof getURL == 'undefined') {
$cmd = "/usr/local/sbin/spamdb | grep " . escapeshellarg($filter) . " | tail -n {$limit}";
- $pkgdb = split("\n", `$cmd`);
+ $pkgdb = explode("\n", `$cmd`);
if(file_exists("/var/db/blacklist.txt")) {
$cmd = "cat /var/db/blacklist.txt | grep " . escapeshellarg($filter);
- $pkgdba = split("\n", `$cmd`);
+ $pkgdba = explode("\n", `$cmd`);
foreach($pkgdba as $pkg) {
$pkgdb[] = "TRAPPED|{$pkg}|1149324397";
}
@@ -349,7 +355,7 @@ if (typeof getURL == 'undefined') {
}
}
} else {
- $pkgdb = split("\n", `/usr/local/sbin/spamdb | tail -n {$limit}`);
+ $pkgdb = explode("\n", `/usr/local/sbin/spamdb | tail -n {$limit}`);
}
$rows = 0;
$lastseenip = "";
@@ -361,7 +367,7 @@ if (typeof getURL == 'undefined') {
$dontdisplay = false;
if(!$pkgdb_row)
continue;
- $pkgdb_split = split("\|", $pkgdb_row);
+ $pkgdb_split = explode("|", $pkgdb_row);
/*
diff --git a/config/spamd/spamd_settings.xml b/config/spamd/spamd_settings.xml
index 7ed4c572..3fdab415 100644
--- a/config/spamd/spamd_settings.xml
+++ b/config/spamd/spamd_settings.xml
@@ -43,7 +43,7 @@
<faq>Currently there are no FAQ items provided.</faq>
<name>spamdsettings</name>
<version>1.1.1</version>
- <title>SpamD Settings</title>
+ <title>SpamD: Settings</title>
<aftersaveredirect>pkg_edit.php?xml=spamd_settings.xml&amp;id=0</aftersaveredirect>
<include_file>/usr/local/pkg/spamd.inc</include_file>
<!-- Menu is where this packages menu will appear -->