diff options
Diffstat (limited to 'config/spamd/spamd.inc')
-rw-r--r-- | config/spamd/spamd.inc | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/config/spamd/spamd.inc b/config/spamd/spamd.inc index 0bd29bd8..e09b2b7f 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"); + unlink_if_exists("$localpath/etc/spamd/spamd.conf"); + symlink("/etc/spamd.conf", "$localpath/etc/spamd/spamd.conf"); + log_error("Stopping spamd"); mwexec("/usr/local/etc/rc.d/spamd.sh stop"); sleep(1); |