diff options
Diffstat (limited to 'packages/dspam/www/dspam-settings.php')
-rw-r--r-- | packages/dspam/www/dspam-settings.php | 2955 |
1 files changed, 0 insertions, 2955 deletions
diff --git a/packages/dspam/www/dspam-settings.php b/packages/dspam/www/dspam-settings.php deleted file mode 100644 index 05662a6e..00000000 --- a/packages/dspam/www/dspam-settings.php +++ /dev/null @@ -1,2955 +0,0 @@ -<?php -/* $Id$ */ -/* - dspam-settings.php - Copyright (C) 2006 Daniel S. Haischt - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY - AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. -*/ - $pgtitle = array(gettext("Services"), - gettext("DSPAM"), - gettext("Advanced Settings"), - gettext("Overview")); - - require("guiconfig.inc"); - include("/usr/local/pkg/dspam.inc"); - - if (isDSPAMAdmin($HTTP_SERVER_VARS['AUTH_USER'])) { - - $pconfig['sectionid'] = $_GET['sectionid']; - - $pconfig['sdriver'] = $config['installedpackages']['dspam']['config'][0]['storage-driver']; - /* ============================================================================================= */ - /* == MySQL == */ - /* ============================================================================================= */ - $pconfig['msqlserver'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-server']; - $pconfig['msqlport'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-port']; - $pconfig['msqluser'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-user']; - $pconfig['msqlpwd'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-password']; - $pconfig['msqldb'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-database']; - $pconfig['msqlcomp'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-compress']; - $pconfig['msqlsuqt'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-squote']; - $pconfig['msqlccache'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-ccache']; - $pconfig['msqluid'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-uid']; - /* ============================================================================================= */ - /* == SQLite == */ - /* ============================================================================================= */ - $pconfig['slitepr'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['sqlite-pragma']; - /* ============================================================================================= */ - /* == PostgreSQL == */ - /* ============================================================================================= */ - $pconfig['pgserver'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-server']; - $pconfig['pgport'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-port']; - $pconfig['pguser'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-user']; - $pconfig['pgpwd'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-password']; - $pconfig['pgdb'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-database']; - $pconfig['pgccache'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-ccache']; - $pconfig['pguid'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-uid']; - /* ============================================================================================= */ - /* == Oracle == */ - /* ============================================================================================= */ - $pconfig['oraserver'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['ora-server']; - $pconfig['orauser'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['ora-user']; - $pconfig['orapwd'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['ora-password']; - $pconfig['orasch'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['ora-schema']; - /* ============================================================================================= */ - /* == Hash == */ - /* ============================================================================================= */ - $pconfig['hsrmax'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-rec-max']; - $pconfig['hsatex'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-auto-ex']; - $pconfig['hsmxex'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-max-ext']; - $pconfig['hsexsz'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-ext-size']; - $pconfig['hsmxse'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-max-seek']; - $pconfig['hsccus'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-co-user']; - $pconfig['hscoca'] = $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-co-cache']; - /* ============================================================================================= */ - /* == Delivery Settings == */ - /* ============================================================================================= */ - $pconfig['dagent'] = $config['installedpackages']['dspam']['config'][0]['tdelivery-agent']; - $pconfig['dsthinc'] = $config['installedpackages']['dspam']['config'][0]['thin-client']; - $pconfig['tcpipdel'] = $config['installedpackages']['dspam']['config'][0]['tcpip-delivery']; - $pconfig['dhost'] = $config['installedpackages']['dspam']['config'][0]['tcpip-delivery-host']; - $pconfig['dport'] = $config['installedpackages']['dspam']['config'][0]['tcpip-delivery-port']; - $pconfig['dident'] = $config['installedpackages']['dspam']['config'][0]['tcpip-delivery-ident']; - $pconfig['delproto'] = $config['installedpackages']['dspam']['config'][0]['tcpip-delivery-proto']; - $pconfig['onfail'] = $config['installedpackages']['dspam']['config'][0]['delivery-onfail']; - /* ============================================================================================= */ - /* == DSPAM Debugging Options == */ - /* ============================================================================================= */ - $pconfig['enabledbg'] = $config['installedpackages']['dspam']['config'][0]['debug-enable']; - $pconfig['debug'] = $config['installedpackages']['dspam']['config'][0]['debug-whom']; - $pconfig['dopt'] = $config['installedpackages']['dspam']['config'][0]['debug-options']; - /* ============================================================================================= */ - /* == DSPAM Engine Settings == */ - /* ============================================================================================= */ - $pconfig['tmode'] = $config['installedpackages']['dspam']['config'][0]['training-mode']; - $pconfig['testct'] = $config['installedpackages']['dspam']['config'][0]['test-cond-training']; - $pconfig['pvalue'] = $config['installedpackages']['dspam']['config'][0]['pvalue']; - $pconfig['ipdrive'] = $config['installedpackages']['dspam']['config'][0]['improbability-drive']; - /* ============================================================================================= */ - /* == LDAP Settings == */ - /* ============================================================================================= */ - $pconfig['enableldap'] = $config['installedpackages']['dspam']['config'][0]['ldap-enable']; - $pconfig['ldapmode'] = $config['installedpackages']['dspam']['config'][0]['ldap-mode']; - $pconfig['ldaphost'] = $config['installedpackages']['dspam']['config'][0]['ldap-host']; - $pconfig['ldapfilter'] = $config['installedpackages']['dspam']['config'][0]['ldap-filter']; - $pconfig['ldapbase'] = $config['installedpackages']['dspam']['config'][0]['ldap-base']; - /* ============================================================================================= */ - /* == Miscellaneous Settings == */ - /* ============================================================================================= */ - $pconfig['foatt'] = $config['installedpackages']['dspam']['config'][0]['failover-attempts']; - $pconfig['enablesbl'] = $config['installedpackages']['dspam']['config'][0]['sbl-enable']; - $pconfig['sblhost'] = $config['installedpackages']['dspam']['config'][0]['sbl-host']; - $pconfig['enablerbl'] = $config['installedpackages']['dspam']['config'][0]['rbl-inoculate']; - $pconfig['enablenoti'] = $config['installedpackages']['dspam']['config'][0]['notification-email']; - $pconfig['dspamdomain'] = $config['installedpackages']['dspam']['config'][0]['dspam-domain']; - $pconfig['dspamcontact'] = $config['installedpackages']['dspam']['config'][0]['dspam-contact']; - /* ============================================================================================= */ - /* == Maintainance Settings == */ - /* ============================================================================================= */ - $pconfig['psig'] = $config['installedpackages']['dspam']['config'][0]['purge-signatures']; - $pconfig['pneut'] = $config['installedpackages']['dspam']['config'][0]['purge-neutral']; - $pconfig['punu'] = $config['installedpackages']['dspam']['config'][0]['purge-unused']; - $pconfig['phapa'] = $config['installedpackages']['dspam']['config'][0]['purge-hapaxes']; - $pconfig['pones'] = $config['installedpackages']['dspam']['config'][0]['purge-hits-1s']; - $pconfig['ponei'] = $config['installedpackages']['dspam']['config'][0]['purge-hits-1i']; - /* ============================================================================================= */ - /* == System Settings == */ - /* ============================================================================================= */ - $pconfig['locmx'] = $config['installedpackages']['dspam']['config'][0]['local-mx']; - $pconfig['enablesysl'] = $config['installedpackages']['dspam']['config'][0]['system-log']; - $pconfig['enableusel'] = $config['installedpackages']['dspam']['config'][0]['user-log']; - $pconfig['optinout'] = $config['installedpackages']['dspam']['config'][0]['filter-opt']; - $pconfig['enableptoh'] = $config['installedpackages']['dspam']['config'][0]['parse-to-headers']; - $pconfig['enablecmop'] = $config['installedpackages']['dspam']['config'][0]['change-mode-on-parse']; - $pconfig['enablecuop'] = $config['installedpackages']['dspam']['config'][0]['change-user-on-parse']; - $pconfig['enablebmta'] = $config['installedpackages']['dspam']['config'][0]['broken-mta-settings']; - $pconfig['maxmsgs'] = $config['installedpackages']['dspam']['config'][0]['max-message-size']; - $pconfig['procbias'] = $config['installedpackages']['dspam']['config'][0]['processor-bias']; - /* ============================================================================================= */ - /* == ClamAV Engine Settings == */ - /* ============================================================================================= */ - $pconfig['enableclam'] = $config['installedpackages']['dspam']['config'][0]['clamav-enable']; - $pconfig['clamport'] = $config['installedpackages']['dspam']['config'][0]['clamav-port']; - $pconfig['clamhost'] = $config['installedpackages']['dspam']['config'][0]['clamav-host']; - $pconfig['clamresp'] = $config['installedpackages']['dspam']['config'][0]['clamav-response']; - /* ============================================================================================= */ - /* == DSPAM Daemon Settings (Server) == */ - /* ============================================================================================= */ - $pconfig['dsport'] = $config['installedpackages']['dspam']['config'][0]['dspam-server-port']; - $pconfig['dsqsize'] = $config['installedpackages']['dspam']['config'][0]['dspam-server-queue-size']; - $pconfig['dspid'] = $config['installedpackages']['dspam']['config'][0]['dspam-server-pid']; - $pconfig['dssmode'] = $config['installedpackages']['dspam']['config'][0]['dspam-server-mode']; - $pconfig['serverparam'] = $config['installedpackages']['dspam']['config'][0]['dspam-server-params']; - $pconfig['serverid'] = $config['installedpackages']['dspam']['config'][0]['dspam-server-id']; - $pconfig['serversock'] = $config['installedpackages']['dspam']['config'][0]['dspam-server-socket']; - /* ============================================================================================= */ - /* == DSPAM Daemon Settings (Client) == */ - /* ============================================================================================= */ - $pconfig['enabledsclient'] = $config['installedpackages']['dspam']['config'][0]['dspam-client-enable']; - $pconfig['dsclhost'] = $config['installedpackages']['dspam']['config'][0]['dspam-client-host']; - $pconfig['dsclport'] = $config['installedpackages']['dspam']['config'][0]['dspam-client-port']; - $pconfig['dsclident'] = $config['installedpackages']['dspam']['config'][0]['dspam-client-id']; - - if (!is_array($config['installedpackages']['dspam']['config'][0]['tuser'])) { - $config['installedpackages']['dspam']['config'][0]['tuser'] = array(); - } - if (!is_array($config['installedpackages']['dspam']['config'][0]['algorithm'])) { - $config['installedpackages']['dspam']['config'][0]['algorithm'] = array(); - } - if (!is_array($config['installedpackages']['dspam']['config'][0]['feature'])) { - $config['installedpackages']['dspam']['config'][0]['feature'] = array(); - } - if (!is_array($config['installedpackages']['dspam']['config'][0]['preference'])) { - $config['installedpackages']['dspam']['config'][0]['preference'] = array(); - } - if (!is_array($config['installedpackages']['dspam']['config'][0]['override'])) { - $config['installedpackages']['dspam']['config'][0]['override'] = array(); - } - if (!is_array($config['installedpackages']['dspam']['config'][0]['header'])) { - $config['installedpackages']['dspam']['config'][0]['header'] = array(); - } - if (!is_array($config['installedpackages']['dspam']['config'][0]['bmta'])) { - $config['installedpackages']['dspam']['config'][0]['bmta'] = array(); - } - - $t_users = &$config['installedpackages']['dspam']['config'][0]['tuser']; - $t_features = &$config['installedpackages']['dspam']['config'][0]['feature']; - $t_algos = &$config['installedpackages']['dspam']['config'][0]['algorithm']; - $t_prefs = &$config['installedpackages']['dspam']['config'][0]['preference']; - $t_overr = &$config['installedpackages']['dspam']['config'][0]['override']; - $t_headers = &$config['installedpackages']['dspam']['config'][0]['header']; - $t_bmtas = &$config['installedpackages']['dspam']['config'][0]['bmta']; - $t_spwds = &$config['installedpackages']['dspam']['config'][0]['server-pwd']; - -if ($_POST) { - - /* hash */ - $error_bucket = array(); - /* simple error list */ - unset($input_errors); - $pconfig = $_POST; - - /* input validation */ - if($_POST['sdriver'] == "mysql") { - if (! $_POST['msqlserver'] <> "") { - $error_bucket[] = array("error" => "You must specify a valid MySQL server name value.", - "field" => "msqlserver"); - } else { - if (strpos($_POST['msqlserver'], '/') === false) { - foreach (explode(' ', $_POST['msqlserver']) as $ts) { - if (!is_domain($ts)) { - $error_bucket[] = array("error" => "A MySQL server name may only contain the characters a-z, 0-9, '-' and '.'.", - "field" => "msqlserver"); - break; - } - } - } - } - /* if we are going to use a TCP/IP base MySQL connection, a port value is required */ - if (! is_port($_POST['msqlport']) && strpos($_POST['msqlserver'], '/') === false) { - $error_bucket[] = array("error" => "You must specify a valid MySQL port value.", - "field" => "msqlport"); - } - if (! $_POST['msqluser'] <> "") { - $error_bucket[] = array("error" => "You must specify a valid MySQL username value.", - "field" => "msqluser"); - } - if (! $_POST['msqlpwd'] <> "") { - $error_bucket[] = array("error" => "You must specify a valid MySQL password value.", - "field" => "msqlpwd"); - } - if (! $_POST['msqldb'] <> "") { - $error_bucket[] = array("error" => "You must specify a valid MySQL database value.", - "field" => "msqldb"); - } - if ($_POST['msqlccache'] && !is_numericint($_POST['msqlccache'])) { - $error_bucket[] = array("error" => "You must specify a valid integer value as a connection cache value.", - "field" => "msqlccache"); - } - } else if($_POST['sdriver'] == "sqlite") { - /* NOP */ - } else if($_POST['sdriver'] == "bdb") { - /* NOP */ - } else if($_POST['sdriver'] == "pgsql") { - if (! $_POST['pgserver'] <> "") { - $error_bucket[] = array("error" => "You must specify a valid PostgreSQL server name value.", - "field" => "pgserver"); - } else { - foreach (explode(' ', $_POST['pgserver']) as $ts) { - if (!is_domain($ts)) { - $error_bucket[] = array("error" => "A PostgreSQL server name may only contain the characters a-z, 0-9, '-' and '.'.", - "field" => "pgserver"); - break; - } - } - } - if (! is_port($_POST['pgport'])) { - $error_bucket[] = array("error" => "You must specify a valid PostgreSQL port value.", - "field" => "pgport"); - } - if (! $_POST['pguser'] <> "") { - $error_bucket[] = array("error" => "You must specify a valid PostgreSQL username value.", - "field" => "pguser"); - } - if (! $_POST['pgpwd'] <> "") { - $error_bucket[] = array("error" => "You must specify a valid PostgreSQL password value.", - "field" => "pgpwd"); - } - if (! $_POST['pgdb'] <> "") { - $error_bucket[] = array("error" => "You must specify a valid PostgreSQL database value.", - "field" => "pgdb"); - } - if ($_POST['pgccache'] && !is_numericint($_POST['pgccache'])) { - $error_bucket[] = array("error" => "You must specify a valid integer value as a connection cache value.", - "field" => "pgccache"); - } - } else if($_POST['sdriver'] == "oracle") { - if (! $_POST['oraserver'] <> "") { - $error_bucket[] = array("error" => "You must specify a valid Oracle server connection string.", - "field" => "oraserver"); - } - if (! $_POST['orauser'] <> "") { - $error_bucket[] = array("error" => "You must specify a valid Oracle username value.", - "field" => "orauser"); - } - if (! $_POST['orapwd'] <> "") { - $error_bucket[] = array("error" => "You must specify a valid Oracle password value.", - "field" => "orapwd"); - } - if (! $_POST['orasch'] <> "") { - $error_bucket[] = array("error" => "You must specify a valid Oracle schema value.", - "field" => "orasch"); - } - } else if($_POST['sdriver'] == "hash") { - if ($_POST['hsrmax'] && !is_numericint($_POST['hsrmax'])) { - $error_bucket[] = array("error" => "You must specify a valid integer value as a number for the initial records to be created.", - "field" => "hsrmax"); - } - if ($_POST['hsmxex'] && !is_numericint($_POST['hsmxex'])) { - $error_bucket[] = array("error" => "You must specify a valid integer value as a number for the maximum extends.", - "field" => "hsmxex"); - } - if ($_POST['hsexsz'] && !is_numericint($_POST['hsexsz'])) { - $error_bucket[] = array("error" => "You must specify a valid integer value as a number for the record size.", - "field" => "hsexsz"); - } - if ($_POST['hsmxse'] && !is_numericint($_POST['hsmxse'])) { - $error_bucket[] = array("error" => "You must specify a valid integer value as a number for the maximum number of records to seek.", - "field" => "hsmxse"); - } - if ($_POST['hscoca'] && !is_numericint($_POST['hscoca'])) { - $error_bucket[] = array("error" => "You must specify a valid integer value as a number for hash connection cache.", - "field" => "hscoca"); - } - } - - if ($_POST['tcpipdel'] == "yes") { - if (! $_POST['dhost'] <> "") { - $error_bucket[] = array("error" => "You must specify a valid server name value for the DSPAM deliver host.", - "field" => "dhost"); - } else { - foreach (explode(' ', $_POST['dhost']) as $ts) { - if (!is_domain($ts)) { - $error_bucket[] = array("error" => "A DSPAM delivery host name may only contain the characters a-z, 0-9, '-' and '.'.", - "field" => "dhost"); - break; - } - } - } - if (! is_port($_POST['dport'])) { - $error_bucket[] = array("error" => "You must specify a valid port value for the DSPAM delivery host.", - "field" => "dport"); - } - if (! $_POST['dident'] <> "") { - $error_bucket[] = array("error" => "You must specify a valid identification string for the DSPAM delivery host.", - "field" => "dident"); - } - } - - if ($_POST['enabledbg'] == "yes") { - if (! $_POST['debug'] <> "") { - $error_bucket[] = array("error" => "You must specify a non-zero value for the debug parameter.", - "field" => "debug"); - } - if (! $_POST['dopt'] <> "") { - $error_bucket[] = array("error" => "You must specify a non-zero value for the debug options.", - "field" => "dopt"); - } - } - - if ($_POST['enableldap'] == "yes") { - if (! $_POST['ldaphost'] <> "") { - $error_bucket[] = array("error" => "You must specify a valid server name value for the LDAP host.", - "field" => "ldaphost"); - } else { - foreach (explode(' ', $_POST['ldaphost']) as $ts) { - if (!is_domain($ts)) { - $error_bucket[] = array("error" => "A LDAP host name may only contain the characters a-z, 0-9, '-' and '.'.", - "field" => "ldaphost"); - break; - } - } - } - if (! $_POST['ldapfilter'] <> "") { - $error_bucket[] = array("error" => "You must specify a non-zero value for the LDAP filter option or you may not be able to get any query result.", - "field" => "ldapfilter"); - } - if (! $_POST['ldapbase'] <> "") { - $error_bucket[] = array("error" => "You must specify a non-zero value for the LDAP base option or you may not be able to get any query result.", - "field" => "ldapbase"); - } - } - - /* misc settings */ - if ($_POST['foatt'] && !is_numericint($_POST['foatt'])) { - $error_bucket[] = array("error" => "You must specify a integer based value for the number of failover attempts.", - "field" => "foatt"); - } - if ($_POST['enablesbl'] == "yes") { - if (! $_POST['sblhost'] <> "") { - $error_bucket[] = array("error" => "You must specify a valid server name value for the SBL host.", - "field" => "sblhost"); - } else { - foreach (explode(' ', $_POST['sblhost']) as $ts) { - if (!is_domain($ts)) { - $error_bucket[] = array("error" => "A SBL host name may only contain the characters a-z, 0-9, '-' and '.'.", - "field" => "sblhost"); - break; - } - } - } - } - if(isset($_POST['enablenoti'])) { - if($_POST['dspamcontact'] == "") { - $error_bucket[] = array("error" => "It is necessary to provide a support contact, if you want DSPAM to send notification messages.", - "field" => "dspamcontact"); - } - if(empty($_POST['whichdomain'])) { - if ($_POST['dspamdomain'] == "") { - $error_bucket[] = array("error" => "You must specify a valid domain name that should be used while sending DSPAM related mail messages.", - "field" => "dspamdomain"); - } else { - if (!is_domain($_POST['dspamdomain'])) { - $error_bucket[] = array("error" => "You must specify a valid domain name that should be used while sending DSPAM related mail messages.", - "field" => "dspamdomain"); - } - } - } - } - - /* Maintanance Settings */ - if (! $_POST['psig'] || $_POST['psig'] == "") { - $error_bucket[] = array("error" => "You must specify a value for the number of signatures to be purged.", - "field" => "psig"); - } else if (! $_POST['psig'] == "off") { - if (!is_numericint($_POST['psig'])) { - $error_bucket[] = array("error" => "You must specify a valide integer value for the number of signatures to be purged.", - "field" => "psig"); - } - } - if (! $_POST['pneut'] || $_POST['pneut'] == "") { - $error_bucket[] = array("error" => "You must specify a value for the number of neutrals to be purged.", - "field" => "pneut"); - } else if (! $_POST['pneut'] == "off") { - if (!is_numericint($_POST['pneut'])) { - $error_bucket[] = array("error" => "You must specify a valide integer value for the number of neutrals to be purged.", - "field" => "pneut"); - } - } - if (! $_POST['punu'] || $_POST['punu'] == "") { - $error_bucket[] = array("error" => "You must specify a value for the number of unused tokens to be purged.", - "field" => "punu"); - } else if (! $_POST['punu'] == "off") { - if (!is_numericint($_POST['punu'])) { - $error_bucket[] = array("error" => "You must specify a valide integer value for the number of unused tokens to be purged.", - "field" => "punu"); - } - } - if (! $_POST['phapa'] || $_POST['phapa'] == "") { - $input_errors[] = "You must specify a value for the number of hapaxes to be purged."; - $input_error_fields[] = "phapa"; - } else if (! $_POST['phapa'] == "off") { - if (!is_numericint($_POST['phapa'])) { - $error_bucket[] = array("error" => "You must specify a valide integer value for the number of hapaxes to be purged.", - "field" => "phapa"); - } - } - if (! $_POST['pones'] || $_POST['pones'] == "") { - $error_bucket[] = array("error" => "You must specify a value for the number of tokens with only 1 spam hit to be purged.", - "field" => "pones"); - } else if (! $_POST['pones'] == "off") { - if (!is_numericint($_POST['pones'])) { - $error_bucket[] = array("error" => "You must specify a valide integer value for the number of tokens with only 1 spam hit to be purged.", - "field" => "pones"); - } - } - if (! $_POST['ponei'] || $_POST['ponei'] == "") { - $error_bucket[] = array("error" => "You must specify a value for the number of tokens with only 1 innocent hit to be purged.", - "field" => "ponei"); - } else if (! $_POST['ponei'] == "off") { - if (!is_numericint($_POST['ponei'])) { - $error_bucket[] = array("error" => "You must specify a valide integer value for the number of tokens with only 1 innocent hit to be purged.", - "field" => "ponei"); - } - } - - /* System Settings */ - if (! is_ipaddr($_POST['locmx'])) { - $error_bucket[] = array("error" => "You must specify a valid IP address for the local MX parameter.", - "field" => "locmx"); - } - if ($_POST['maxmsgs'] && !is_numericint($_POST['maxmsgs'])) { - $error_bucket[] = array("error" => "You must specify a integer based value for the maximum message size.", - "field" => "maxmsgs"); - } - - /* ClamAV Settings */ - if ($_POST['enableclam'] == "yes") { - if (! is_port($_POST['clamport'])) { - $error_bucket[] = array("error" => "You must specify a valid port value for the ClamAV host.", - "field" => "clamport"); - } - if (! $_POST['clamhost'] <> "") { - $error_bucket[] = array("error" => "You must specify a valid server name value for the ClamAV host.", - "field" => "clamhost"); - } else { - foreach (explode(' ', $_POST['clamhost']) as $ts) { - if (!is_domain($ts)) { - $error_bucket[] = array("error" => "A ClamAV host name may only contain the characters a-z, 0-9, '-' and '.'.", - "field" => "clamhost"); - break; - } - } - } - } - - /* */ - /* DSPAM Daemon Settings (Server) */ - /* */ - - /* at least the DSPAM thin client (dspamc) - * should force the user to configure the - * DSPAM daemon. - */ - if (isset($_POST['dsthinc'])) { - if (! is_port($_POST['dsport'])) { - $error_bucket[] = array("error" => "You must specify a valid port value for the DSPAM host.", - "field" => "dsport"); - } - if ($_POST['dsqsize'] && !is_numericint($_POST['dsqsize'])) { - $error_bucket[] = array("error" => "You must specify a valid integer value as a number for the server queue size.", - "field" => "dsqsize"); - } - if (! $_POST['dspid'] <> "") { - $error_bucket[] = array("error" => "You must specify a valid value as PID file for the DSPAM server.", - "field" => "dspid"); - } - if ($_POST['dssmode'] == "standard") { - if (! $_POST['serverparam'] <> "") { - $error_bucket[] = array("error" => "You must specify some valid parameters to be passed to the LMTP server.", - "field" => "serverparam"); - } - if (! $_POST['serverid'] <> "") { - $error_bucket[] = array("error" => "You must specify a valid identification string to be passed to the LMTP server.", - "field" => "serverid"); - } - if ($_POST['serversock'] && $_POST['serversock'] <> "") { - if (strpos($_POST['serversock'], '/') === false) { - $error_bucket[] = array("error" => "You must specify a valid value for the location of a Unix domain socket.", - "field" => "serversock"); - } - } - } - } - - /* DSPAM Daemon Settings (Client) */ - if ($_POST['enabledsclient'] == "yes") { - if (! $_POST['dsclhost'] <> "") { - $error_bucket[] = array("error" => "You must specify a valid server name value for the DSPAM client host.", - "field" => "dsclhost"); - } else { - foreach (explode(' ', $_POST['dsclhost']) as $ts) { - if (!is_domain($ts)) { - $error_bucket[] = array("error" => "A DSPAM client host name may only contain the characters a-z, 0-9, '-' and '.'.", - "field" => "dsclhost"); - break; - } - } - } - if (! is_port($_POST['dsclport'])) { - $error_bucket[] = array("error" => "You must specify a valid port value for the DSPAM client host.", - "field" => "dsclport"); - } - if (! $_POST['dsclident'] <> "") { - $error_bucket[] = array("error" => "You must specify a valid value as identification string for the DSPAM client.", - "field" => "dsclident"); - } - } - - if (is_array($error_bucket)) - foreach($error_bucket as $elem) - $input_errors[] =& $elem["error"]; - - /* if this is an AJAX caller then handle via JSON */ - if(isAjax() && is_array($input_errors)) { - input_errors2Ajax($input_errors); - exit; - } - - if (!$input_errors) { - $config['installedpackages']['dspam']['config'][0]['storage-driver'] = $_POST['sdriver']; - unset($config['installedpackages']['dspam']['config'][0]['dbsettings']); - - if($_POST['sdriver'] == "mysql") { - /* ====================================================================== */ - /* == String and integer values == */ - /* ====================================================================== */ - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-server'] = $_POST['msqlserver']; - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-port'] = $_POST['msqlport']; - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-user'] = $_POST['msqluser']; - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-password'] = $_POST['msqlpwd']; - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-database'] = $_POST['msqldb']; - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-ccache'] = $_POST['msqlccache']; - /* ====================================================================== */ - /* == Boolean values == */ - /* ====================================================================== */ - if($_POST['msqlcomp'] == "yes") - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-compress'] = $_POST['msqlcomp']; - else - unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-compress']); - if($_POST['msqlsuqt'] == "yes") - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-squote'] = $_POST['msqlsuqt']; - else - unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-squote']); - if($_POST['msqluid'] == "yes") - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-uid'] = $_POST['msqluid']; - else - unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-uid']); - } else if($_POST['sdriver'] == "sqlite") { - /* ====================================================================== */ - /* == String and integer values == */ - /* ====================================================================== */ - if ($_POST['slitepr']) - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['sqlite-pragma'] = $_POST['slitepr']; - } else if($_POST['sdriver'] == "bdb") { - /* NOP */ - } else if($_POST['sdriver'] == "pgsql") { - /* ====================================================================== */ - /* == String and integer values == */ - /* ====================================================================== */ - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-server'] = $_POST['pgserver']; - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-port'] = $_POST['pgport']; - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-user'] = $_POST['pguser']; - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-password'] = $_POST['pgpwd']; - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-database'] = $_POST['pgdb']; - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-ccache'] = $_POST['pgccache']; - /* ====================================================================== */ - /* == Boolean values == */ - /* ====================================================================== */ - if($_POST['pguid'] == "yes") - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-uid'] = $_POST['pguid']; - else - unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-uid']); - } else if($_POST['sdriver'] == "oracle") { - /* ====================================================================== */ - /* == String and integer values == */ - /* ====================================================================== */ - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['ora-server'] = $_POST['oraserver']; - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['ora-user'] = $_POST['orauser']; - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['ora-password'] = $_POST['orapwd']; - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['ora-schema'] = $_POST['orasch']; - } else if($_POST['sdriver'] == "hash") { - /* ====================================================================== */ - /* == String and integer values == */ - /* ====================================================================== */ - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-rec-max'] = $_POST['hsrmax']; - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-max-ext'] = $_POST['hsmxex']; - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-ext-size'] = $_POST['hsexsz']; - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-max-seek'] = $_POST['hsmxse']; - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-co-user'] = $_POST['hsccus']; - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-co-cache'] = $_POST['hscoca']; - /* ====================================================================== */ - /* == Boolean values == */ - /* ====================================================================== */ - if($_POST['hsatex'] == "yes") - $config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-auto-ex'] = $_POST['hsatex']; - else - unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-auto-ex']); - } - - $config['installedpackages']['dspam']['config'][0]['tdelivery-agent'] = $_POST['dagent']; - $config['installedpackages']['dspam']['config'][0]['thin-client'] = $_POST['dsthinc']; - - if($_POST['tcpipdel'] == "yes") { - $config['installedpackages']['dspam']['config'][0]['tcpip-delivery'] = $_POST['tcpipdel']; - $config['installedpackages']['dspam']['config'][0]['tcpip-delivery-host'] = $_POST['dhost']; - $config['installedpackages']['dspam']['config'][0]['tcpip-delivery-port'] = $_POST['dport']; - $config['installedpackages']['dspam']['config'][0]['tcpip-delivery-ident'] = $_POST['dident']; - $config['installedpackages']['dspam']['config'][0]['tcpip-delivery-proto'] = $_POST['delproto']; - } else { - unset($config['installedpackages']['dspam']['config'][0]['tcpip-delivery']); - unset($config['installedpackages']['dspam']['config'][0]['tcpip-delivery-host']); - unset($config['installedpackages']['dspam']['config'][0]['tcpip-delivery-port']); - unset($config['installedpackages']['dspam']['config'][0]['tcpip-delivery-ident']); - unset($config['installedpackages']['dspam']['config'][0]['tcpip-delivery-proto']); - } - - $config['installedpackages']['dspam']['config'][0]['delivery-onfail'] = $_POST['onfail']; - - if($_POST['enabledbg'] == "yes") { - $config['installedpackages']['dspam']['config'][0]['debug-enable'] = $_POST['enabledbg']; - $config['installedpackages']['dspam']['config'][0]['debug-whom'] = $_POST['debug']; - $config['installedpackages']['dspam']['config'][0]['debug-options'] = $_POST['dopt']; - } else { - unset($config['installedpackages']['dspam']['config'][0]['debug-enable']); - unset($config['installedpackages']['dspam']['config'][0]['debug-whom']); - unset($config['installedpackages']['dspam']['config'][0]['debug-options']); - } - - /* DSPAM engine settings */ - $config['installedpackages']['dspam']['config'][0]['training-mode'] = $_POST['tmode']; - if($_POST['testct'] == "yes") { - $config['installedpackages']['dspam']['config'][0]['test-cond-training'] = $_POST['testct']; - } else { - unset($config['installedpackages']['dspam']['config'][0]['test-cond-training']); - } - $config['installedpackages']['dspam']['config'][0]['pvalue'] = $_POST['pvalue']; - if($_POST['ipdrive'] == "yes") { - $config['installedpackages']['dspam']['config'][0]['improbability-drive'] = $_POST['ipdrive']; - } else { - unset($config['installedpackages']['dspam']['config'][0]['improbability-drive']); - } - - /* LDAP related settings */ - if($_POST['enableldap'] == "yes") { - $config['installedpackages']['dspam']['config'][0]['ldap-enable'] = $_POST['enableldap']; - $config['installedpackages']['dspam']['config'][0]['ldap-mode'] = $_POST['ldapmode']; - $config['installedpackages']['dspam']['config'][0]['ldap-host'] = $_POST['ldaphost']; - $config['installedpackages']['dspam']['config'][0]['ldap-filter'] = $_POST['ldapfilter']; - $config['installedpackages']['dspam']['config'][0]['ldap-base'] = $_POST['ldapbase']; - } else { - unset($config['installedpackages']['dspam']['config'][0]['ldap-enable']); - unset($config['installedpackages']['dspam']['config'][0]['ldap-mode']); - unset($config['installedpackages']['dspam']['config'][0]['ldap-host']); - unset($config['installedpackages']['dspam']['config'][0]['ldap-filter']); - unset($config['installedpackages']['dspam']['config'][0]['ldap-base']); - } - - /* misc settings */ - $config['installedpackages']['dspam']['config'][0]['failover-attempts'] = $_POST['foatt']; - if($_POST['enablesbl'] == "yes") { - $config['installedpackages']['dspam']['config'][0]['sbl-enable'] = $_POST['enablesbl']; - $config['installedpackages']['dspam']['config'][0]['sbl-host'] = $_POST['sblhost']; - } else { - unset($config['installedpackages']['dspam']['config'][0]['sbl-enable']); - unset($config['installedpackages']['dspam']['config'][0]['sbl-host']); - } - if($_POST['enablerbl'] == "yes") { - $config['installedpackages']['dspam']['config'][0]['rbl-inoculate'] = $_POST['enablerbl']; - } else { - unset($config['installedpackages']['dspam']['config'][0]['rbl-inoculate']); - } - if($_POST['enablenoti'] == "yes") { - $config['installedpackages']['dspam']['config'][0]['notification-email'] = $_POST['enablenoti']; - $config['installedpackages']['dspam']['config'][0]['dspam-contact'] = $_POST['dspamcontact']; - } else { - unset($config['installedpackages']['dspam']['config'][0]['notification-email']); - unset($config['installedpackages']['dspam']['config'][0]['dspam-domain']); - unset($config['installedpackages']['dspam']['config'][0]['dspam-contact']); - } - if($_POST['whichdomain'] == "yes") { - unset($config['installedpackages']['dspam']['config'][0]['dspam-domain']); - } else { - $config['installedpackages']['dspam']['config'][0]['dspam-domain'] = $_POST['dspamdomain']; - } - - /* Maintainance Settings */ - $config['installedpackages']['dspam']['config'][0]['purge-signatures'] = $_POST['psig']; - $config['installedpackages']['dspam']['config'][0]['purge-neutral'] = $_POST['pneut']; - $config['installedpackages']['dspam']['config'][0]['purge-unused'] = $_POST['punu']; - $config['installedpackages']['dspam']['config'][0]['purge-hapaxes'] = $_POST['phapa']; - $config['installedpackages']['dspam']['config'][0]['purge-hits-1s'] = $_POST['pones']; - $config['installedpackages']['dspam']['config'][0]['purge-hits-1i'] = $_POST['ponei']; - - /* System Settings */ - $config['installedpackages']['dspam']['config'][0]['local-mx'] = $_POST['locmx']; - $config['installedpackages']['dspam']['config'][0]['local-mx'] = $_POST['locmx']; - if($_POST['enablesysl'] == "yes") { - $config['installedpackages']['dspam']['config'][0]['system-log'] = $_POST['enablesysl']; - } else { - unset($config['installedpackages']['dspam']['config'][0]['system-log']); - } - if($_POST['enableusel'] == "yes") { - $config['installedpackages']['dspam']['config'][0]['user-log'] = $_POST['enableusel']; - } else { - unset($config['installedpackages']['dspam']['config'][0]['user-log']); - } - $config['installedpackages']['dspam']['config'][0]['filter-opt'] = $_POST['optinout']; - if($_POST['enableptoh'] == "yes") { - $config['installedpackages']['dspam']['config'][0]['parse-to-headers'] = $_POST['enableptoh']; - } else { - unset($config['installedpackages']['dspam']['config'][0]['parse-to-headers']); - } - if($_POST['enablecmop'] == "yes") { - $config['installedpackages']['dspam']['config'][0]['change-mode-on-parse'] = $_POST['enablecmop']; - } else { - unset($config['installedpackages']['dspam']['config'][0]['change-mode-on-parse']); - } - if($_POST['enablecuop'] == "yes") { - $config['installedpackages']['dspam']['config'][0]['change-user-on-parse'] = $_POST['enablecuop']; - } else { - unset($config['installedpackages']['dspam']['config'][0]['change-user-on-parse']); - } - if($_POST['enablecuop'] == "yes") { - $config['installedpackages']['dspam']['config'][0]['change-user-on-parse'] = $_POST['enablecuop']; - } else { - unset($config['installedpackages']['dspam']['config'][0]['change-user-on-parse']); - } - if($_POST['enablebmta'] == "yes") { - $config['installedpackages']['dspam']['config'][0]['broken-mta-settings'] = $_POST['enablebmta']; - } else { - unset($config['installedpackages']['dspam']['config'][0]['broken-mta-settings']); - } - $config['installedpackages']['dspam']['config'][0]['max-message-size'] = $_POST['maxmsgs']; - if($_POST['procbias'] == "yes") { - $config['installedpackages']['dspam']['config'][0]['processor-bias'] = $_POST['procbias']; - } else { - unset($config['installedpackages']['dspam']['config'][0]['processor-bias']); - } - - /* ClamAV related settings */ - if($_POST['enableclam'] == "yes") { - $config['installedpackages']['dspam']['config'][0]['clamav-enable'] = $_POST['enableclam']; - $config['installedpackages']['dspam']['config'][0]['clamav-port'] = $_POST['clamport']; - $config['installedpackages']['dspam']['config'][0]['clamav-host'] = $_POST['clamhost']; - $config['installedpackages']['dspam']['config'][0]['clamav-response'] = $_POST['clamresp']; - } else { - unset($config['installedpackages']['dspam']['config'][0]['clamav-enable']); - unset($config['installedpackages']['dspam']['config'][0]['clamav-port']); - unset($config['installedpackages']['dspam']['config'][0]['clamav-host']); - unset($config['installedpackages']['dspam']['config'][0]['clamav-response']); - } - - /* DSPAM daemon settings */ - $config['installedpackages']['dspam']['config'][0]['dspam-server-port'] = $_POST['dsport']; - $config['installedpackages']['dspam']['config'][0]['dspam-server-queue-size'] = $_POST['dsqsize']; - $config['installedpackages']['dspam']['config'][0]['dspam-server-pid'] = $_POST['dspid']; - $config['installedpackages']['dspam']['config'][0]['dspam-server-mode'] = $_POST['dssmode']; - $config['installedpackages']['dspam']['config'][0]['dspam-server-params'] = $_POST['serverparam']; - $config['installedpackages']['dspam']['config'][0]['dspam-server-id'] = $_POST['serverid']; - $config['installedpackages']['dspam']['config'][0]['dspam-server-socket'] = $_POST['serversock']; - - /* DSPAM client settings */ - if($_POST['enabledsclient'] == "yes") { - $config['installedpackages']['dspam']['config'][0]['dspam-client-enable'] = $_POST['enabledsclient']; - $config['installedpackages']['dspam']['config'][0]['dspam-client-host'] = $_POST['dsclhost']; - $config['installedpackages']['dspam']['config'][0]['dspam-client-port'] = $_POST['dsclport']; - $config['installedpackages']['dspam']['config'][0]['dspam-client-id'] = $_POST['dsclident']; - } else { - unset($config['installedpackages']['dspam']['config'][0]['dspam-client-enable']); - unset($config['installedpackages']['dspam']['config'][0]['dspam-client-host']); - unset($config['installedpackages']['dspam']['config'][0]['dspam-client-port']); - unset($config['installedpackages']['dspam']['config'][0]['dspam-client-id']); - } - - write_config(); - - $retval = 0; - conf_mount_rw(); - config_lock(); - $retval = dspam_configure(); - config_unlock(); - $savemsg = get_std_save_message($retval); - conf_mount_ro(); - } -} - -/* did the user send a request to delete an item? */ -if ($_GET['act'] == "del") { - if ($_GET['what'] == "tuser" && $t_users[$_GET['id']]) { - unset($t_users[$_GET['id']]); - write_config(); - pfSenseHeader("dspam-settings.php"); - exit; - } else if ($_GET['what'] == "feat" && $t_features[$_GET['id']]) { - unset($t_features[$_GET['id']]); - write_config(); - pfSenseHeader("dspam-settings.php"); - exit; - } else if ($_GET['what'] == "algo" && $t_algos[$_GET['id']]) { - unset($t_algos[$_GET['id']]); - write_config(); - pfSenseHeader("dspam-settings.php"); - exit; - } else if ($_GET['what'] == "pref" && $t_prefs[$_GET['id']]) { - unset($t_prefs[$_GET['id']]); - write_config(); - pfSenseHeader("dspam-settings.php"); - exit; - } else if ($_GET['what'] == "overr" && $t_overr[$_GET['id']]) { - unset($t_overr[$_GET['id']]); - write_config(); - pfSenseHeader("dspam-settings.php"); - exit; - } else if ($_GET['what'] == "header" && $t_headers[$_GET['id']]) { - unset($t_headers[$_GET['id']]); - write_config(); - pfSenseHeader("dspam-settings.php"); - exit; - } else if ($_GET['what'] == "bmta" && $t_bmtas[$_GET['id']]) { - unset($t_bmtas[$_GET['id']]); - write_config(); - pfSenseHeader("dspam-settings.php"); - exit; - } else if ($_GET['what'] == "spwd" && $t_spwds[$_GET['id']]) { - unset($t_spwds[$_GET['id']]); - write_config(); - pfSenseHeader("dspam-settings.php"); - exit; - } -} - - /* if ajax is calling, give them an update message */ - if(isAjax()) - print_info_box_np($savemsg); - - include("head.inc"); - /* put your custom HTML head content here */ - /* using some of the $pfSenseHead function calls */ - $jscriptstr = <<<EOD -<script type="text/javascript"> -<!-- - -EOD; - - $jscriptstr .= getJScriptFunction(5); - if (empty($_POST)) - $jscriptstr .= getJScriptFunction(6); - $jscriptstr .= <<<EOD -//--> -</script> -EOD; - - $pfSenseHead->addScript($jscriptstr); - echo $pfSenseHead->getHTML();?> - -<body link="#000000" vlink="#000000" alink="#000000" <?php if (empty($_POST)) { echo "onLoad='checkDisabledState(document.iform);'"; } ?>> - <?php include("fbegin.inc"); ?> - <form action="dspam-settings.php" method="post" name="iform" id="iform"> - <input type="hidden" name="sectionid" id="sectionid" value="<?=$pconfig['sectionid'];?>" /> - <?php if ($input_errors) print_input_errors($input_errors); ?> - <?php if ($savemsg) print_info_box($savemsg); ?> - <p> - <span class="vexpl"> - <span class="red"> - <strong>Note: </strong> - </span> - the options on this page are intended for use by advanced users only. - Any setting found on this page is directly going into <code>dspam.conf</code>. - Make sure you do not mess with settings, you do not understand. - </span> - </p> - <p> - <span class="vexpl">If you submit this page, the DSPAM daemon process will be restarted.</span> - </p> - <br /> - <table width="99%" border="0" cellpadding="0" cellspacing="0"> - <tr> - <td> - <?php - $tab_array = array(); - $tab_array[] = array("System Status", false, "/dspam-admin.php"); - $tab_array[] = array("User Statistics", false, "/dspam-admin-stats.php"); - $tab_array[] = array("Administration", false, "/dspam-admin-prefs.php"); - $tab_array[] = array("Settings", true, "/dspam-settings.php"); - $tab_array[] = array("Control Center", false, "/dspam-perf.php"); - display_top_tabs($tab_array); - ?> - </td> - </tr> - <tr> - <td> - <div id="mainarea"> - <table id="maintable" name="maintable" class="tabcont" width="100%" border="0" cellpadding="0" cellspacing="0"> - <tr> - <td> - <p><strong>Settings</strong></p> - <ul style="font-size:0.95em; font-family:Verdana,Arial,sans-serif"> - <li><a href="#db" class="redlnk">Database Settings<?php if ($pconfig['sectionid'] == "db") echo '<span class="red"> »last modified«</span>'; ?></a></li> - <li><a href="#del" class="redlnk">Delivery Settings<?php if ($pconfig['sectionid'] == "del") echo '<span class="red"> »last modified«</span>'; ?></a></li> - <li><a href="#priv" class="redlnk">DSPAM Privileges<?php if ($pconfig['sectionid'] == "priv") echo '<span class="red"> »last modified«</span>'; ?></a></li> - <li><a href="#dbg" class="redlnk">DSPAM Debugging Options<?php if ($pconfig['sectionid'] == "dbg") echo '<span class="red"> »last modified«</span>'; ?></a></li> - <li><a href="#eng" class="redlnk">DSPAM Engine Settings<?php if ($pconfig['sectionid'] == "eng") echo '<span class="red"> »last modified«</span>'; ?></a></li> - <?php if (checkForLDAPSupport()): ?> - <li><a href="#ldap" class="redlnk">LDAP Settings<?php if ($pconfig['sectionid'] == "ldap") echo '<span class="red"> »last modified«</span>'; ?></a></li> - <?php endif; ?> - <li><a href="#misc" class="redlnk">Miscellaneous Settings<?php if ($pconfig['sectionid'] == "misc") echo '<span class="red"> »last modified«</span>'; ?></a></li> - <li><a href="#main" class="redlnk">Maintainance Settings<?php if ($pconfig['sectionid'] == "main") echo '<span class="red"> »last modified«</span>'; ?></a></li> - <li><a href="#sys" class="redlnk">System Settings<?php if ($pconfig['sectionid'] == "sys") echo '<span class="red"> »last modified«</span>'; ?></a></li> - <?php if (checkForClamAVSupport()): ?> - <li><a href="#clam" class="redlnk">ClamAV Engine Settings<?php if ($pconfig['sectionid'] == "clam") echo '<span class="red"> »last modified«</span>'; ?></a></li> - <?php endif; ?> - <li><a href="#srv" class="redlnk">DSPAM Daemon Settings (Server)<?php if ($pconfig['sectionid'] == "srv") echo '<span class="red"> »last modified«</span>'; ?></a></li> - <li><a href="#cli" class="redlnk">DSPAM Daemon Settings (Client)<?php if ($pconfig['sectionid'] == "cli") echo '<span class="red"> »last modified«</span>'; ?></a></li> - </ul> - <br /> - </td> - </tr> - <tr> - <td> - <table id="sortabletable0" name="sortabletable0" width="100%" border="0" cellpadding="10" cellspacing="0"> - <tr> - <td colspan="2" valign="top" class="listtopic"><a name="db" style="visibility: hidden;"> </a>Database Settings</td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Storage Driver</td> - <td width="78%" class="vtable"> - <select name="sdriver" onChange="toggleDBSettings();" class="formselect"> - <?php if (checkForMySQLSupport()): ?> - <option value="mysql" <?php if($pconfig['sdriver'] == "mysql") echo('selected="selected"');?>>mysql</option> - <?php endif; ?> - <?php if (checkForSQLiteSupport()): ?> - <option value="sqlite" <?php if($pconfig['sdriver'] == "sqlite") echo('selected="selected"');?>>sqlite</option> - <?php endif; ?> - <option value="bdb" <?php if($pconfig['sdriver'] == "bdb") echo('selected="selected"');?>>bdb</option> - <?php if (checkForPgSQLSupport()): ?> - <option value="pgsql" <?php if($pconfig['sdriver'] == "pgsql") echo('selected="selected"');?>>pgsql</option> - <?php endif; ?> - <option value="oracle" <?php if($pconfig['sdriver'] == "oracle") echo('selected="selected"');?>>oracle</option> - <option value="hash" <?php if($pconfig['sdriver'] == "hash") echo('selected="selected"');?>>hash</option> - </select> - <strong>Specifies the storage driver backend (library) to use.</strong> - <p> - <span class="vexpl"> - IMPORTANT: Switching storage drivers requires more than merely changing this option. - If you do not wish to lose all of your data, you will need to migrate it to the new - backend before making this change. - </span> - </p> - </td> - </tr> - <?php if ($pconfig['sdriver'] == "mysql" && checkForMySQLSupport()): ?> - <tbody id="DBmysql" style="display: table-row-group;"> - <?php else: ?> - <tbody id="DBmysql" style="display: none;"> - <?php endif; ?> - <tr> - <td width="22%" valign="top" class="vncell">MySQL Server</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("msqlserver", "formfld host"); ?> name="msqlserver" id="msqlserver" value="<?=htmlspecialchars($pconfig['msqlserver']);?>" /> - <strong> - Either a reference to a Unix domain socket or a reference to a specific host. - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">MySQL Port</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("msqlport", "formfld unknown"); ?> name="msqlport" id="msqlport" value="<?=htmlspecialchars($pconfig['msqlport']);?>" /> - <strong> - Use this variable if you are going to a MySQL server instance using TCP/IP instead of a socket connection. - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">MySQL User</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("msqluser", "formfld user"); ?> name="msqluser" id="msqluser" value="<?=htmlspecialchars($pconfig['msqluser']);?>" <?php if ($_POST && $input_error_fields && in_array("msqluser", $input_error_fields)) echo 'style="background-color: red;" onFocus="this.style.backgroundColor = \'white\';" onBlur="this.style.backgroundColor = \'red\';"'; ?>/> - <strong> - Username, that will be used to connect to a MySQL server instance. - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">MySQL Password</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("msqlpwd", "formfld pwd"); ?> name="msqlpwd" id="msqlpwd" value="<?=htmlspecialchars($pconfig['msqlpwd']);?>" <?php if ($_POST && $input_error_fields && in_array("msqlpwd", $input_error_fields)) echo 'style="background-color: red;" onFocus="this.style.backgroundColor = \'white\';" onBlur="this.style.backgroundColor = \'red\';"'; ?>/> - <strong> - Password, that will be used to connect to a MySQL server instance. - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">MySQL Database</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("msqldb", "formfld unknown"); ?> name="msqldb" id="msqldb" value="<?=htmlspecialchars($pconfig['msqldb']);?>" <?php if ($_POST && $input_error_fields && in_array("msqldb", $input_error_fields)) echo 'style="background-color: red;" onFocus="this.style.backgroundColor = \'white\';" onBlur="this.style.backgroundColor = \'red\';"'; ?>/> - <strong> - Database name, that contains DSPAM data. - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">MySQL Compress</td> - <td width="78%" class="vtable"> - <input type="checkbox" class="formfld" name="msqlcomp" id="msqlcomp" value="yes" <?php if (isset($pconfig['msqlcomp'])) echo 'checked="checked"'; ?> /> - <strong> - Indicates whether communication data between DSPAM and MySQL should be compressed. - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">MySQL Supress Quote</td> - <td width="78%" class="vtable"> - <input type="checkbox" class="formfld" name="msqlsuqt" id="msqlsuqt" value="yes" <?php if (isset($pconfig['msqlsuqt'])) echo 'checked="checked"'; ?> /> - <strong> - Use this if you have the 4.1 quote bug (see doc/mysql.txt). - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell"> </td> - <td width="78%" class="vtable"> - <p> - <span class="vexpl"> - If you're running DSPAM in client/server (daemon) mode, uncomment the - setting below to override the default connection cache size (the number - of connections the server pools between all clients). The connection cache - represents the maximum number of database connections *available* and should - be set based on the maximum number of concurrent connections you're likely - to have. Each connection may be used by only one thread at a time, so all - other threads _will block_ until another connection becomes available. - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">MySQL Connection Cache</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("msqlccache", "formfld unknown"); ?> name="msqlccache" id="msqlccache" value="<?=htmlspecialchars($pconfig['msqlccache']);?>" <?php if ($_POST && $input_error_fields && in_array("msqlccache", $input_error_fields)) echo 'style="background-color: red;" onFocus="this.style.backgroundColor = \'white\';" onBlur="this.style.backgroundColor = \'red\';"'; ?>/> - <strong> - Conection cache default set to 10. - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell"> </td> - <td width="78%" class="vtable"> - <p> - <span class="vexpl"> - MySQL supports the insertion of the user id into the DSPAM - signature. This allows you to create one single spam or fp alias - (pointing to some arbitrary user), and the uid in the signature will - switch to the correct user. Result: you need only one spam alias - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">MySQL UID In Signature</td> - <td width="78%" class="vtable"> - <input type="checkbox" class="formfld" name="msqluid" id="msqluid" value="yes" <?php if (isset($pconfig['msqluid'])) echo 'checked="checked"'; ?> /> - <strong> - Insert user id into the DSPAM signature. - </strong> - </td> - </tr> - </tbody> - <?php if ($pconfig['sdriver'] == "sqlite" && checkForSQLiteSupport()): ?> - <tbody id="DBsqlite" style="display: table-row-group;"> - <?php else: ?> - <tbody id="DBsqlite" style="display: none;"> - <?php endif; ?> - <tr> - <td width="22%" valign="top" class="vncell">SQLite Pragma</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("slitepr", "formfld unknown"); ?> name="slitepr" id="slitepr" value="<?=htmlspecialchars($pconfig['slitepr']);?>" /> - <strong> - A particular SQLite pragma command to be used. - </strong> - <p> - <span class="vexpl"> - See: <a href="http://sqlite.org/pragma.html" target="_blank">http://sqlite.org/pragma.html</a> - </span> - </p> - </td> - </tr> - </tbody> - <?php if ($pconfig['sdriver'] == "bdb"): ?> - <tbody id="DBbdb" style="display: table-row-group;"> - <?php else: ?> - <tbody id="DBbdb" style="display: none;"> - <?php endif; ?> - <tr> - <td width="22%" valign="top" class="vncell"> </td> - <td width="78%" class="vtable"> - <strong> - Nothing to be configured here ! - </strong> - </td> - </tr> - </tbody> - <?php if ($pconfig['sdriver'] == "pgsql" && checkForPgSQLSupport()): ?> - <tbody id="DBpgsql" style="display: table-row-group;"> - <?php else: ?> - <tbody id="DBpgsql" style="display: none;"> - <?php endif; ?> - <tr> - <td width="22%" valign="top" class="vncell">PostgreSQL Server</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("pgserver", "formfld host"); ?> name="pgserver" id="pgserver" value="<?=htmlspecialchars($pconfig['pgserver']);?>" /> - <strong> - A reference to a specific host that is running a PostgreSQL instance. - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">PostgreSQL Port</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("pgport", "formfld unknown"); ?> name="pgport" id="pgport" value="<?=htmlspecialchars($pconfig['pgport']);?>" /> - <strong> - A number that represents the port a specific PostgreSQL instance is listening to. - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">PostgreSQL User</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("pguser", "formfld user"); ?> name="pguser" id="pguser" value="<?=htmlspecialchars($pconfig['pguser']);?>" /> - <strong> - Username, that will be used to connect to a PostgreSQL server instance. - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">PostgreSQL Password</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("pgpwd", "formfld pwd"); ?> name="pgpwd" id="pgpwd" value="<?=htmlspecialchars($pconfig['pgpwd']);?>"/> - <strong> - Password, that will be used to connect to a PostgreSQL server instance. - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">PostgreSQL Database</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("pgdb", "formfld unknown"); ?> name="pgdb" id="pgdb" value="<?=htmlspecialchars($pconfig['pgdb']);?>" /> - <strong> - Database name, that contains DSPAM data. - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell"> </td> - <td width="78%" class="vtable"> - <p> - <span class="vexpl"> - If you're running DSPAM in client/server (daemon) mode, uncomment the - setting below to override the default connection cache size (the number - of connections the server pools between all clients). The connection cache - represents the maximum number of database connections *available* and should - be set based on the maximum number of concurrent connections you're likely - to have. Each connection may be used by only one thread at a time, so all - other threads _will block_ until another connection becomes available. - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">PostgreSQL Connection Cache</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("pgccache", "formfld unknown"); ?> name="pgccache" id="pgccache" value="<?=htmlspecialchars($pconfig['pgccache']);?>" /> - <strong> - Conection cache default set to 3. - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell"> </td> - <td width="78%" class="vtable"> - <p> - <span class="vexpl"> - PostgreSQL supports the insertion of the user id into the DSPAM - signature. This allows you to create one single spam or fp alias - (pointing to some arbitrary user), and the uid in the signature will - switch to the correct user. Result: you need only one spam alias - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">PostgreSQL UID In Signature</td> - <td width="78%" class="vtable"> - <input type="checkbox" class="formfld" name="pguid" id="pguid" value="yes" <?php if (isset($pconfig['pguid'])) echo 'checked="checked"'; ?> /> - <strong> - Insert user id into the DSPAM signature. - </strong> - </td> - </tr> - </tbody> - <?php if ($pconfig['sdriver'] == "oracle"): ?> - <tbody id="DBoracle" style="display: table-row-group;"> - <?php else: ?> - <tbody id="DBoracle" style="display: none;"> - <?php endif; ?> - <tr> - <td width="22%" valign="top" class="vncell">Attention !</td> - <td width="78%" class="vtable"> - <strong style="color: red;"> - This feature is currently unsupported ! - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Oracle Server</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("oraserver", "formfld host"); ?> name="oraserver" id="oraserver" value="<?=htmlspecialchars($pconfig['oraserver']);?>" /> - <strong> - A reference to a specific host that is running an Oracle database instance. - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Oracle User</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("orauser", "formfld user"); ?> name="orauser" id="orauser" value="<?=htmlspecialchars($pconfig['orauser']);?>" /> - <strong> - Username, that will be used to connect to a Oracle database server instance. - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Oracle Password</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("orapwd", "formfld pwd"); ?> name="orapwd" id="orapwd" value="<?=htmlspecialchars($pconfig['orapwd']);?>" /> - <strong> - Password, that will be used to connect to a Oracle database server instance. - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Oracle Schema</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("orasch", "formfld unknown"); ?> name="orasch" id="orasch" value="<?=htmlspecialchars($pconfig['orasch']);?>" /> - <strong> - Schema name, that contains DSPAM data. - </strong> - </td> - </tr> - </tbody> - <?php if ($pconfig['sdriver'] == "hash"): ?> - <tbody id="DBhash" style="display: table-row-group;"> - <?php else: ?> - <tbody id="DBhash" style="display: none;"> - <?php endif; ?> - <tr> - <td width="22%" valign="top" class="vncell">Hash Rec Max</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("hsrmax", "formfld unknown"); ?> name="hsrmax" id="hsrmax" value="<?=htmlspecialchars($pconfig['hsrmax']);?>" /> - <strong> - Default number of records to create in the initial segment when building hash files. - </strong> - <p> - <span class="vexpl"> - 100,000 yields files 1.6MB in size, but can fill up fast, so be sure to increase this - (to a million or more) if you're not using autoextend. - </span> - </p> - <p> - <span class="vexpl"> - Primes List: - <pre> -53, 97, 193, 389, 769, 1543, 3079, 6151, 12289, 24593, 49157, 98317, 196613, -393241, 786433, 1572869, 3145739, 6291469, 12582917, 25165843, 50331653, -100663319, 201326611, 402653189, 805306457, 1610612741, 3221225473, -4294967291 - </pre> - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Hash Auto Extend</td> - <td width="78%" class="vtable"> - <input type="checkbox" class="formfld" name="hsatex" id="hsatex" value="yes" <?php if (isset($pconfig['hsatex'])) echo 'checked="checked"'; ?> /> - <strong> - Autoextend hash databases when they fill up. This allows them to continue - to train by adding extents (extensions) to the file. - </strong> - <p> - <span class="vexpl"> - Note: There will be a small delay during the growth process, - as everything needs to be closed and remapped. - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Hash Max Extents</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("hsmxex", "formfld unknown"); ?> name="hsmxex" id="hsmxex" value="<?=htmlspecialchars($pconfig['hsmxex']);?>" /> - <strong> - The maximum number of extents that may be created in a single hash file. - </strong> - <p> - <span class="vexpl"> - Note: Set this to zero for unlimited. - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Hash Extent Size</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("hsexsz", "formfld unknown"); ?> name="hsexsz" id="hsexsz" value="<?=htmlspecialchars($pconfig['hsexsz']);?>" /> - <strong> - The record size for newly created extents. - </strong> - <p> - <span class="vexpl"> - Note: Creating this too small could result in many extents - being created. Creating this too large could result in - excessive disk space usage. - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Hash Max Seek</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("hsmxse", "formfld unknown"); ?> name="hsmxse" id="hsmxse" value="<?=htmlspecialchars($pconfig['hsmxse']);?>" /> - <strong> - The maximum number of records to seek to insert a new record - before failing or adding a new extent. - </strong> - <p> - <span class="vexpl"> - Note: Setting this too high will exhaustively scan each segment - and kill performance. Typically, a low value is acceptable as - even older extents will continue to fill over time. - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Hash Concurrent User</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("hsccus", "formfld unknown"); ?> name="hsccus" id="hsccus" value="<?=htmlspecialchars($pconfig['hsccus']);?>" /> - <strong> - If you are using a single, stateful hash database in daemon mode, - specifying a concurrent user will cause the user to be permanently - mapped into memory and shared via rwlocks. - </strong> - <p> - <span class="vexpl"> - Note: Leave this field blank, if you do not want to use this option. - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Hash Connection Cache</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("hscoca", "formfld unknown"); ?> name="hscoca" id="hscoca" value="<?=htmlspecialchars($pconfig['hscoca']);?>" /> - <strong> - If running in daemon mode, this is the max # of concurrent - connections that will be supported. - </strong> - <p> - <span class="vexpl"> - Note: If you are using HashConcurrentUser, this option is ignored, - as all connections are read write locked instead of mutex locked. - </span> - </p> - </td> - </tr> - </tbody> - <tr> - <td width="22%" valign="top"> </td> - <td width="78%"> - <!-- <input name="Submit" type="submit" class="formbtn" value="Save" onclick="enable_change(true)" /> --> - <input id="submitt" name="Submit" type="submit" class="formbtn" value="<?=gettext("Save");?>" onclick="document.iform.sectionid.value = 'db';" /> - </td> - </tr> - <tr> - <td colspan="2" class="list" height="12"> </td> - </tr> - <tr> - <td colspan="2" valign="top" class="listtopic"><a name="del" style="visibility: hidden;"> </a>Delivery Settings</td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Trusted Delivery Agent</td> - <td width="78%" class="vtable"> - <select name="dagent" class="formselect"> - <option value="procmail" <?php if($pconfig['dagent'] == "procmail") echo('selected="selected"');?>>procmail</option> - <option value="mail" <?php if($pconfig['dagent'] == "mail") echo('selected="selected"');?>>mail</option> - <option value="mail.local" <?php if($pconfig['dagent'] == "mail.local") echo('selected="selected"');?>>mail.local</option> - <option value="deliver" <?php if($pconfig['dagent'] == "deliver") echo('selected="selected"');?>>deliver</option> - <option value="maildrop" <?php if($pconfig['dagent'] == "maildrop") echo('selected="selected"');?>>maildrop</option> - <option value="exim" <?php if($pconfig['dagent'] == "exim") echo('selected="selected"');?>>exim</option> - </select> - <strong>Specifies the local delivery agent DSPAM should call when delivering mail as a trusted user.</strong> - <p> - <span class="vexpl"> - Note: Use %u to specify the user DSPAM is processing mail for. It is generally a good idea to - allow the MTA to specify the pass-through arguments at run-time, but they may also be specified - here. - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">DSPAM Thin Client</td> - <td width="78%" class="vtable"> - <input type="checkbox" name="dsthinc" id="dsthinc" value="yes" <?php if (isset($pconfig['dsthinc'])) echo 'checked="checked"'; ?> /> - <strong>Use <code>dspamc</code> instead of the <code>dspam</code> binary.</strong> - <p> - <span class="vexpl"> - Note: This requires to enable the dspam daemon as well (section: <i>DSPAM Daemon Settings (Server)</i>). - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">TCP/IP Based Delivery</td> - <td width="78%" class="vtable"> - <input type="checkbox" name="tcpipdel" id="tcpipdel" value="yes" <?php if (isset($pconfig['tcpipdel'])) echo 'checked="checked"'; ?> onClick="enable_change(false, 5);" /> - <strong>Use TCP/IP based delivery.</strong> - <p> - <span class="vexpl"> - Note: This option needs to be ticked if you are going to deliver via LMTP or SMTP. - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Deliver Host</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("dhost", "formfld host"); ?> name="dhost" id="dhost" value="<?=htmlspecialchars($pconfig['dhost']);?>" <?php if (! isset($pconfig['tcpipdel'])) echo 'disabled="disabled"'; ?> /> - <strong>Alternatively, you may wish to use SMTP or LMTP delivery to deliver your message to the mail server.</strong> - <p> - <span class="vexpl"> - Note: You will need to configure with <code>--enable-daemon</code> to use host delivery, - however you do not need to operate in daemon mode. Specify an IP address or UNIX path to a - domain socket below as a host. - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Deliver Port</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("dport", "formfld unknown"); ?> name="dport" id="dport" value="<?=htmlspecialchars($pconfig['dport']);?>" <?php if (! isset($pconfig['tcpipdel'])) echo 'disabled="disabled"'; ?> /> - <strong>Port number of a particular host.</strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Deliver Ident</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("dident", "formfld unknown"); ?> name="dident" id="dident" value="<?=htmlspecialchars($pconfig['dident']);?>" <?php if (! isset($pconfig['tcpipdel'])) echo 'disabled="disabled"'; ?> /> - <strong>A particular identification string</strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">TCP/IP Delivery Protocol</td> - <td width="78%" class="vtable"> - <select name="delproto" class="formselect" <?php if (! isset($pconfig['tcpipdel'])) echo 'disabled="disabled"'; ?>> - <option value="smtp" <?php if($pconfig['delproto'] == "smtp") echo('selected="selected"');?>>smtp</option> - <option value="lmtp" <?php if($pconfig['delproto'] == "lmtp") echo('selected="selected"');?>>lmtp</option> - </select> - <strong>A particular protocol typ. Either <acronym title="Simple Mail Transfer Protocol">SMTP</acronym> - or <acronym title="Local Mail Transfer Protocol">LMTP</acronym>.</strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">On Fail</td> - <td width="78%" class="vtable"> - <select name="onfail" class="formselect"> - <option value="error" <?php if($pconfig['onfail'] == "error") echo('selected="selected"');?>>error</option> - <option value="unlearn" <?php if($pconfig['onfail'] == "unlearn") echo('selected="selected"');?>>unlearn</option> - </select> - <strong>What to do if local delivery or quarantine should fail.</strong> - <p> - <span class="vexpl"> - Note: If set to "unlearn", DSPAM will unlearn the message prior to exiting with an un - successful return code. The default option, "error" will not unlearn the message but - return the appropriate error code. The unlearn option is use-ful on some systems where local - delivery failures will cause the message to be requeued for delivery, and could result in the - message being processed multiple times. During a very large failure, however, this could cause - a significant load increase. - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top"> </td> - <td width="78%"> - <!-- <input name="Submit" type="submit" class="formbtn" value="Save" onclick="enable_change(true)" /> --> - <input id="submitt" name="Submit" type="submit" class="formbtn" value="<?=gettext("Save");?>" onclick="document.iform.sectionid.value = 'del';" /> - </td> - </tr> - <tr> - <td colspan="2" class="list" height="12"> </td> - </tr> - <tr> - <td colspan="2" valign="top" class="listtopic"><a name="priv" style="visibility: hidden;"> </a>DSPAM Privileges</td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Trusted Users</td> - <td width="78%" class="vtable"> - <strong>Unix users which are allowed to perform certain actions.</strong> - <p> - <span class="vexpl"> - Note: Only the users specified below will be allowed to perform - administrative functions in DSPAM such as setting the active user and - accessing tools. All other users attempting to run DSPAM will be restricted; - their uids will be forced to match the active username and they will not be - able to specify delivery agent privileges or use tools. - </span> - </p> - <table class="tabcont" width="100%" border="0" cellpadding="0" cellspacing="0"> - <tr> - <td width="55%" class="listhdrr"><?=gettext("UNIX username");?></td> - <td width="35%" class="listhdr"><?=gettext("Description");?></td> - <td width="10%" class="list"></td> - </tr> - <?php if(is_array($t_users)): ?> - <?php $i = 0; foreach ($t_users as $user): ?> - <?php if($user['name'] <> ""): ?> - - <tr> - <td class="listlr" ondblclick="document.location='dspam-settings-tuser.php?id=<?=$i;?>§ionid=priv';"> - <?=htmlspecialchars($user['name']);?> - </td> - <td class="listbg" ondblclick="document.location='dspam-settings-tuser.php?id=<?=$i;?>§ionid=priv';"> - <font color="#FFFFFF"><?=htmlspecialchars($user['descr']);?> </font> - </td> - <td valign="middle" nowrap class="list"> - <table border="0" cellspacing="0" cellpadding="1"> - <tr> - <td valign="middle"><a href="dspam-settings-tuser.php?id=<?=$i;?>§ionid=priv"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_e.gif" width="17" height="17" border="0"></a></td> - <td valign="middle"><a href="dspam-settings.php?act=del&what=tuser&id=<?=$i;?>§ionid=priv" onclick="return confirm('<?=gettext("Do you really want to delete this mapping?");?>')"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" width="17" height="17" border="0"></a></td> - </tr> - </table> - </td> - </tr> - - <?php endif; ?> - <?php $i++; endforeach; ?> - <?php endif; ?> - <tr> - <td class="list" colspan="3"></td> - <td class="list"> - <table border="0" cellspacing="0" cellpadding="1"> - <tr> - <td valign="middle"><a href="dspam-settings-tuser.php?sectionid=priv"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" width="17" height="17" border="0"></a></td> - </tr> - </table> - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td width="22%" valign="top"> </td> - <td width="78%"> - <!-- <input name="Submit" type="submit" class="formbtn" value="Save" onclick="enable_change(true)" /> --> - <input id="submitt" name="Submit" type="submit" class="formbtn" value="<?=gettext("Save");?>" onclick="document.iform.sectionid.value = 'priv';" /> - </td> - </tr> - <tr> - <td colspan="2" class="list" height="12"> </td> - </tr> - <tr> - <td valign="top" class="listtopic"><a name="dbg" style="visibility: hidden;"> </a>DSPAM Debugging Options</td> - <td align="right" valign="top" class="listtopic"> - <input type="checkbox" name="enabledbg" id="enabledbg" value="yes" <?php if (isset($pconfig['enabledbg'])) echo 'checked="checked"'; ?> onClick="enable_change(false, 0);" /> - <strong>Enable</strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Debug</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("debug", "formfld unknown"); ?> name="debug" id="debug" value="<?=htmlspecialchars($pconfig['debug']);?>" <?php if (! isset($pconfig['enabledbg'])) echo 'disabled="disabled"'; ?> /> - <strong>Enables debugging for some or all users.</strong> - <p> - <span class="vexpl"> - IMPORTANT: DSPAM must be compiled with debug support in order to use this option. - DSPAM should never be running in production with debug active unless you are - troubleshooting problems. - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Debug Options</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("dopt", "formfld unknown"); ?> name="dopt" id="dopt" value="<?=htmlspecialchars($pconfig['dopt']);?>" <?php if (! isset($pconfig['enabledbg'])) echo 'disabled="disabled"'; ?> /> - <strong>One or more of: process, classify, spam, fp, inoculation, corpus</strong> - <p> - <span class="vexpl"> - <pre> -process standard message processing -classify message classification using --classify -spam error correction of missed spam -fp error correction of false positives -inoculation message inoculations (source=inoculation) -corpus corpusfed messages (source=corpus) - </pre> - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top"> </td> - <td width="78%"> - <!-- <input name="Submit" type="submit" class="formbtn" value="Save" onclick="enable_change(true)" /> --> - <input id="submitt" name="Submit" type="submit" class="formbtn" value="<?=gettext("Save");?>" onclick="document.iform.sectionid.value = 'dbg';" /> - </td> - </tr> - <tr> - <td colspan="2" class="list" height="12"> </td> - </tr> - <tr> - <td colspan="2" valign="top" class="listtopic"><a name="eng" style="visibility: hidden;"> </a>DSPAM Engine Settings</td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Training Mode</td> - <td width="78%" class="vtable"> - <select name="tmode" class="formselect"> - <option value="toe" <?php if($pconfig['tmode'] == "toe") echo('selected="selected"');?>>toe</option> - <option value="tum" <?php if($pconfig['tmode'] == "tum") echo('selected="selected"');?>>tum</option> - <option value="teft" <?php if($pconfig['tmode'] == "teft") echo('selected="selected"');?>>teft</option> - <option value="notrain" <?php if($pconfig['tmode'] == "notrain") echo('selected="selected"');?>>notrain</option> - </select> - <strong> - The default training mode to use for all operations, when one has not been - specified on the commandline or in the user's preferences. - </strong> - <p> - <span class="vexpl"> - Acceptable values are: toe, tum, teft, notrain - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Test Conditional Training</td> - <td width="78%" class="vtable"> - <input name="testct" type="checkbox" id="testct" value="yes" <?php if (isset($pconfig['testct'])) echo 'checked="checked"'; ?> /> - <strong> - By default, dspam will retrain certain errors - until the condition is no longer met. - </strong> - <p> - <span class="vexpl"> - Note: This usually accelerates learning. Some people argue that this can increase - the risk of errors, however. - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Features</td> - <td width="78%" class="vtable"> - <strong> - Specify features to activate by default; can also be specified - on the commandline. See the documentation for a list of available features. - If _any_ features are specified on the commandline, these are ignored. - </strong> - <p> - <span class="vexpl"> - Note: For standard "CRM114" Markovian weighting, use sbph - </span> - </p> - <table class="tabcont" width="100%" border="0" cellpadding="0" cellspacing="0"> - <tr> - <td width="55%" class="listhdrr"><?=gettext("DSPAM Feature");?></td> - <td width="35%" class="listhdr"><?=gettext("Description");?></td> - <td width="10%" class="list"></td> - </tr> - <?php if(is_array($t_features)): ?> - <?php $i = 0; foreach ($t_features as $feature): ?> - <?php if($feature['name'] <> ""): ?> - - <tr> - <td class="listlr" ondblclick="document.location='dspam-settings-feat.php?id=<?=$i;?>§ionid=eng';"> - <?=htmlspecialchars($feature['name']);?> - </td> - <td class="listbg" ondblclick="document.location='dspam-settings-feat.php?id=<?=$i;?>§ionid=eng';"> - <font color="#FFFFFF"><?=htmlspecialchars($feature['descr']);?> </font> - </td> - <td valign="middle" nowrap class="list"> - <table border="0" cellspacing="0" cellpadding="1"> - <tr> - <td valign="middle"><a href="dspam-settings-feat.php?id=<?=$i;?>§ionid=eng"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_e.gif" width="17" height="17" border="0"></a></td> - <td valign="middle"><a href="dspam-settings.php?act=del&what=feat&id=<?=$i;?>§ionid=eng" onclick="return confirm('<?=gettext("Do you really want to delete this mapping?");?>')"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" width="17" height="17" border="0"></a></td> - </tr> - </table> - </td> - </tr> - - <?php endif; ?> - <?php $i++; endforeach; ?> - <?php endif; ?> - <tr> - <td class="list" colspan="3"></td> - <td class="list"> - <table border="0" cellspacing="0" cellpadding="1"> - <tr> - <td valign="middle"><a href="dspam-settings-feat.php?sectionid=eng"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" width="17" height="17" border="0"></a></td> - </tr> - </table> - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Algorithms</td> - <td width="78%" class="vtable"> - <strong> - Specify the statistical algorithms to use, overriding any - defaults configured in the build. - </strong> - <p> - <span class="vexpl"> - The options are: - <pre> -naive Naive-Bayesian (All Tokens) -graham Graham-Bayesian ("A Plan for Spam") -burton Burton-Bayesian (SpamProbe) -robinson Robinson's Geometric Mean Test (Obsolete) -chi-square Fisher-Robinson's Chi-Square Algorithm - </pre> - </span> - </p> - <p> - <span class="vexpl"> - You may have multiple algorithms active simultaneously, but it is strongly - recommended that you group Bayesian algorithms with other Bayesian - algorithms, and any use of Chi-Square remain exclusive. - </p> - <p> - <span class="vexpl"> - NOTE: For standard "CRM114" Markovian weighting, use ‘naive’, or consider - using ‘burton’ for slightly better accuracy. - </span> - </p> - <p> - <span class="vexpl"> - Don't mess with this unless you know what you're doing - </span> - </p> - <table class="tabcont" width="100%" border="0" cellpadding="0" cellspacing="0"> - <tr> - <td width="55%" class="listhdrr"><?=gettext("DSPAM Algorithm");?></td> - <td width="35%" class="listhdr"><?=gettext("Description");?></td> - <td width="10%" class="list"></td> - </tr> - <?php if(is_array($t_algos)): ?> - <?php $i = 0; foreach ($t_algos as $algo): ?> - <?php if($algo['name'] <> ""): ?> - - <tr> - <td class="listlr" ondblclick="document.location='dspam-settings-algo.php?id=<?=$i;?>§ionid=eng';"> - <?=htmlspecialchars($algo['name']);?> - </td> - <td class="listbg" ondblclick="document.location='dspam-settings-algo.php?id=<?=$i;?>§ionid=eng';"> - <font color="#FFFFFF"><?=htmlspecialchars($algo['descr']);?> </font> - </td> - <td valign="middle" nowrap class="list"> - <table border="0" cellspacing="0" cellpadding="1"> - <tr> - <td valign="middle"><a href="dspam-settings-algo.php?id=<?=$i;?>§ionid=eng"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_e.gif" width="17" height="17" border="0"></a></td> - <td valign="middle"><a href="dspam-settings.php?act=del&what=algo&id=<?=$i;?>§ionid=eng" onclick="return confirm('<?=gettext("Do you really want to delete this mapping?");?>')"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" width="17" height="17" border="0"></a></td> - </tr> - </table> - </td> - </tr> - - <?php endif; ?> - <?php $i++; endforeach; ?> - <?php endif; ?> - <tr> - <td class="list" colspan="3"></td> - <td class="list"> - <table border="0" cellspacing="0" cellpadding="1"> - <tr> - <td valign="middle"><a href="dspam-settings-algo.php?sectionid=eng"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" width="17" height="17" border="0"></a></td> - </tr> - </table> - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">PValue</td> - <td width="78%" class="vtable"> - <select name="pvalue" class="formselect"> - <option value="graham" <?php if($pconfig['pvalue'] == "toe") echo('selected="selected"');?>>graham</option> - <option value="robinson" <?php if($pconfig['pvalue'] == "toe") echo('selected="selected"');?>>robinson</option> - <option value="markov" <?php if($pconfig['pvalue'] == "toe") echo('selected="selected"');?>>markov</option> - </select> - <strong> - Specify the technique used for calculating PValues, overriding any defaults - configured in the build. - </strong> - <p> - <span class="vexpl"> - These options are: - <pre> -graham Graham's Technique ("A Plan for Spam") -robinson Robinson's Technique -markov Markovian Weighted Technique - </pre> - </span> - </p> - <p> - <span class="vexpl"> - Unlike algorithms, you may only have one of these defined. Use of the - chi-square algorithm automatically changes this to robinson. - </span> - </p> - <p> - <span class="vexpl"> - Don't mess with this unless you know what you're doing. - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Improbability Drive</td> - <td width="78%" class="vtable"> - <input name="ipdrive" type="checkbox" id="ipdrive" value="yes" <?php if (isset($pconfig['ipdrive'])) echo 'checked="checked"'; ?> /> - <strong> - Calculate odds-ratios for ham/spam, and add to X-DSPAM-Improbability headers - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Preferences</td> - <td width="78%" class="vtable"> - <strong> - Specify any preferences to set by default, unless otherwise - overridden by the user (see next section) or a default.prefs file. - </strong> - <p> - <span class="vexpl"> - Note: If user or default.prefs are found, the user's - preferences will override any defaults. - </span> - </p> - <table class="tabcont" width="100%" border="0" cellpadding="0" cellspacing="0"> - <tr> - <td width="55%" class="listhdrr"><?=gettext("DSPAM Preference Value");?></td> - <td width="35%" class="listhdr"><?=gettext("Description");?></td> - <td width="10%" class="list"></td> - </tr> - <?php if(is_array($t_prefs)): ?> - <?php $i = 0; foreach ($t_prefs as $pref): ?> - <?php if($pref['value'] <> ""): ?> - - <tr> - <td class="listlr" ondblclick="document.location='dspam-settings-prefs.php?id=<?=$i;?>§ionid=eng';"> - <?=htmlspecialchars($pref['value']);?> - </td> - <td class="listbg" ondblclick="document.location='dspam-settings-prefs.php?id=<?=$i;?>§ionid=eng';"> - <font color="#FFFFFF"><?=htmlspecialchars($pref['descr']);?> </font> - </td> - <td valign="middle" nowrap class="list"> - <table border="0" cellspacing="0" cellpadding="1"> - <tr> - <td valign="middle"><a href="dspam-settings-prefs.php?id=<?=$i;?>§ionid=eng"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_e.gif" width="17" height="17" border="0"></a></td> - <td valign="middle"><a href="dspam-settings.php?act=del&what=pref&id=<?=$i;?>§ionid=eng" onclick="return confirm('<?=gettext("Do you really want to delete this mapping?");?>')"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" width="17" height="17" border="0"></a></td> - </tr> - </table> - </td> - </tr> - - <?php endif; ?> - <?php $i++; endforeach; ?> - <?php endif; ?> - <tr> - <td class="list" colspan="3"></td> - <td class="list"> - <table border="0" cellspacing="0" cellpadding="1"> - <tr> - <td valign="middle"><a href="dspam-settings-prefs.php?sectionid=eng"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" width="17" height="17" border="0"></a></td> - </tr> - </table> - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Overrides</td> - <td width="78%" class="vtable"> - <strong> - Specifies the user preferences which may override - configuration and commandline defaults. - </strong> - <p> - <span class="vexpl"> - Note: Any other preferences supplied by an untrusted user will be ignored. - </span> - </p> - <table class="tabcont" width="100%" border="0" cellpadding="0" cellspacing="0"> - <tr> - <td width="55%" class="listhdrr"><?=gettext("DSPAM Override Value");?></td> - <td width="35%" class="listhdr"><?=gettext("Description");?></td> - <td width="10%" class="list"></td> - </tr> - <?php if(is_array($t_overr)): ?> - <?php $i = 0; foreach ($t_overr as $over): ?> - <?php if($over['value'] <> ""): ?> - - <tr> - <td class="listlr" ondblclick="document.location='dspam-settings-overr.php?id=<?=$i;?>§ionid=eng';"> - <?=htmlspecialchars($over['value']);?> - </td> - <td class="listbg" ondblclick="document.location='dspam-settings-overr.php?id=<?=$i;?>§ionid=eng';"> - <font color="#FFFFFF"><?=htmlspecialchars($over['descr']);?> </font> - </td> - <td valign="middle" nowrap class="list"> - <table border="0" cellspacing="0" cellpadding="1"> - <tr> - <td valign="middle"><a href="dspam-settings-overr.php?id=<?=$i;?>§ionid=eng"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_e.gif" width="17" height="17" border="0"></a></td> - <td valign="middle"><a href="dspam-settings.php?act=del&what=overr&id=<?=$i;?>§ionid=eng" onclick="return confirm('<?=gettext("Do you really want to delete this mapping?");?>')"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" width="17" height="17" border="0"></a></td> - </tr> - </table> - </td> - </tr> - - <?php endif; ?> - <?php $i++; endforeach; ?> - <?php endif; ?> - <tr> - <td class="list" colspan="3"></td> - <td class="list"> - <table border="0" cellspacing="0" cellpadding="1"> - <tr> - <td valign="middle"><a href="dspam-settings-overr.php?sectionid=eng"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" width="17" height="17" border="0"></a></td> - </tr> - </table> - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td width="22%" valign="top"> </td> - <td width="78%"> - <!-- <input name="Submit" type="submit" class="formbtn" value="Save" onclick="enable_change(true)" /> --> - <input id="submitt" name="Submit" type="submit" class="formbtn" value="<?=gettext("Save");?>" onclick="document.iform.sectionid.value = 'eng';" /> - </td> - </tr> - <?php if (checkForLDAPSupport()): ?> - <tr> - <td colspan="2" class="list" height="12"> </td> - </tr> - <tr> - <td valign="top" class="listtopic"><a name="ldap" style="visibility: hidden;"> </a>LDAP Settings</td> - <td align="right" valign="top" class="listtopic"> - <input name="enableldap" type="checkbox" id="enableldap" value="yes" <?php if (isset($pconfig['enableldap'])) echo 'checked="checked"'; ?> onClick="enable_change(false, 1);" /> - <strong>Enable</strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">LDAP Mode</td> - <td width="78%" class="vtable"> - <select name="ldapmode" class="formselect" <?php if (! isset($pconfig['enableldap'])) echo 'disabled="disabled"'; ?>> - <option value="verify" selected="selected">verify</option> - </select> - <strong> - Perform various LDAP functions depending on LDAPMode variable. - </strong> - <p> - <span class="vexpl"> - Note: Presently, the only mode supported is 'verify', which will verify the - existence of an unknown user in LDAP prior to creating them as a new user in - the system. This is useful on some systems acting as gateway machines. - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">LDAP Host</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("hldaphost", "formfld host"); ?> name="ldaphost" id="ldaphost" value="<?=htmlspecialchars($pconfig['ldaphost']);?>" <?php if (! isset($pconfig['enableldap'])) echo 'disabled="disabled"'; ?> /> - <strong> - Hostname of the LDAP directory server. - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">LDAP Filter</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("ldapfilter", "formfld unknown"); ?> name="ldapfilter" id="ldapfilter" value="<?=htmlspecialchars($pconfig['ldapfilter']);?>" <?php if (! isset($pconfig['enableldap'])) echo 'disabled="disabled"'; ?> /> - <strong> - A specific query filter, that should be used while querying the LDAP server. - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">LDAP Base</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("ldapbase", "formfld unknown"); ?> name="ldapbase" id="ldapbase" value="<?=htmlspecialchars($pconfig['ldapbase']);?>" <?php if (! isset($pconfig['enableldap'])) echo 'disabled="disabled"'; ?> /> - <strong> - A particular distinguish name from where to start LDAP queries. - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top"> </td> - <td width="78%"> - <!-- <input name="Submit" type="submit" class="formbtn" value="Save" onclick="enable_change(true)" /> --> - <input id="submitt" name="Submit" type="submit" class="formbtn" value="<?=gettext("Save");?>" onclick="document.iform.sectionid.value = 'ldap';" /> - </td> - </tr> - <?php endif; ?> - <tr> - <td colspan="2" class="list" height="12"> </td> - </tr> - <tr> - <td colspan="2" valign="top" class="listtopic"><a name="misc" style="visibility: hidden;"> </a>Miscellaneous Settings</td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Failover Attempts</td> - <td width="78%" class="vtable"> - <input type="text" size="30"<?= checkForErrorClass("foatt", "formfld unknown"); ?> name="foatt" id="foatt" value="<?=htmlspecialchars($pconfig['foatt']);?>" /> - <strong> - A particular number of attempts. - </strong> - <p> - <span class="vexpl"> - If the storage fails, the agent will follow each profile's failover up to - a maximum number of failover attempts. This should be set to a maximum of - the number of profiles you have, otherwise the agent could loop and try - the same profile multiple times (unless this is your desired behavior). - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Ignore Headers</td> - <td width="78%" class="vtable"> - <p> - <span class="vexpl"> - If DSPAM is behind other tools which may add a header to - incoming emails, it may be beneficial to ignore these headers - especially - if they are coming from another spam filter. If you are _not_ using one of - these tools, however, leaving the appropriate headers commented out will - allow DSPAM to use them as telltale signs of forged email. - </span> - </p> - <table class="tabcont" width="100%" border="0" cellpadding="0" cellspacing="0"> - <tr> - <td width="55%" class="listhdrr"><?=gettext("Header Name");?></td> - <td width="35%" class="listhdr"><?=gettext("Description");?></td> - <td width="10%" class="list"></td> - </tr> - <?php if(is_array($t_headers)): ?> - <?php $i = 0; foreach ($t_headers as $header): ?> - <?php if($header['name'] <> ""): ?> - - <tr> - <td class="listlr" ondblclick="document.location='dspam-settings-header.php?id=<?=$i;?>§ionid=misc';"> - <?=htmlspecialchars($header['name']);?> - </td> - <td class="listbg" ondblclick="document.location='dspam-settings-header.php?id=<?=$i;?>§ionid=misc';"> - <font color="#FFFFFF"><?=htmlspecialchars($header['descr']);?> </font> - </td> - <td valign="middle" nowrap class="list"> - <table border="0" cellspacing="0" cellpadding="1"> - <tr> - <td valign="middle"><a href="dspam-settings-header.php?id=<?=$i;?>§ionid=misc"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_e.gif" width="17" height="17" border="0"></a></td> - <td valign="middle"><a href="dspam-settings.php?act=del&what=header&id=<?=$i;?>§ionid=misc" onclick="return confirm('<?=gettext("Do you really want to delete this mapping?");?>')"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" width="17" height="17" border="0"></a></td> - </tr> - </table> - </td> - </tr> - - <?php endif; ?> - <?php $i++; endforeach; ?> - <?php endif; ?> - <tr> - <td class="list" colspan="3"></td> - <td class="list"> - <table border="0" cellspacing="0" cellpadding="1"> - <tr> - <td valign="middle"><a href="dspam-settings-header.php?sectionid=misc"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" width="17" height="17" border="0"></a></td> - </tr> - </table> - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">SBL Lookup</td> - <td width="78%" class="vtable"> - <p> - <input type="checkbox" name="enablesbl" id="enablesbl" value="yes" <?php if (isset($pconfig['enablesbl'])) echo 'checked="checked"'; ?> onClick="enable_change(false, 2);" /> - <strong> - Enable checks against a particular <acronym title="Streamlined Blackhole List">SBL</acronym> host. - </strong> - </p> - <p> - <input type="text" size="30" c<?= checkForErrorClass("sblhost", "formfld host"); ?> name="sblhost" id="sblhost" value="<?=htmlspecialchars($pconfig['sblhost']);?>" <?php if (! isset($pconfig['enablesbl'])) echo 'disabled="disabled"'; ?> /> - <strong> - A particular SBL hostname. - </strong> - </p> - <p> - <span class="vexpl"> - Perform lookups on streamlined blackhole list servers (see - <a href="http://www.nuclearelephant.com/projects/sbl/" target="_blank">http://www.nuclearelephant.com/projects/sbl/</a>). - The streamlined blacklist - server is machine-automated, unsupervised blacklisting system designed to - provide real-time and highly accurate blacklisting based on network spread. - When performing a lookup, DSPAM will automatically learn the inbound message - as spam if the source IP is listed. Until an official public RABL server is - available, this feature is only useful if you are running your own - streamlined blackhole list server for internal reporting among multiple mail - servers. Provide the name of the lookup zone below to use. - </span> - </p> - <p> - <span class="vexpl"> - This function performs standard reverse-octet.domain lookups, and while it - will function with many RBLs, it's strongly discouraged to use those - maintained by humans as they're often inaccurate and could hurt filter - learning and accuracy. - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">RBL Inoculate</td> - <td width="78%" class="vtable"> - <input name="enablerbl" type="checkbox" id="enablerbl" value="yes" <?php if (isset($pconfig['enablerbl'])) echo 'checked="checked"'; ?> /> - <strong> - Enable <acronym title="Realtime Blackhole List">RBL</acronym> inoculation support. - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Enable Notification</td> - <td width="78%" class="vtable"> - <input name="enablenoti" type="checkbox" id="enablenoti" value="yes" <?php if (isset($pconfig['enablenoti'])) echo 'checked="checked"'; ?> onClick="enable_change(false, 2);" /> - <strong> - Enable the sending of notification emails to users (first message, quarantine full, etc.) - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">DSPAM Support Contact</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("dspamcontact", "formfld mail"); ?> name="dspamcontact" id="dspamcontact" value="<?=htmlspecialchars($pconfig['dspamcontact']);?>" <?php if (empty($pconfig['enablenoti'])) echo 'disabled="disabled"'; ?> /> - <strong> - The username of the person who provides DSPAM support for this DSPAM installation - </strong> - (This is the left most part of an email address before the @ sign). - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Email Domain Name</td> - <td width="78%" class="vtable"> - <input name="whichdomain" type="checkbox" id="whichdomain" value="yes" <?php if (empty($pconfig['dspamdomain'])) echo 'checked="checked"'; if (empty($pconfig['enablenoti'])) echo 'disabled="disabled"'; ?> onClick="toggleDSPAMDomain(false, this);" /> - <strong> - Use global domain settings while trying to send an email message. - </strong> - </td> - </tr> - <?php if (isset($pconfig['dspamdomain'])): ?> - <tbody id="emailnotitb" style="display: table-row-group;"> - <?php else: ?> - <tbody id="emailnotitb" style="display: none;"> - <?php endif; ?> - <tr> - <td width="22%" valign="top" class="vncell">DSPAM Domain Name</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("dspamdomain", "formfld url"); ?> name="dspamdomain" id="dspamdomain" value="<?=htmlspecialchars($pconfig['dspamdomain']);?>" /> - <strong> - Use this domain name while trying to send an email message. - </strong> - </td> - </tr> - </tbody> - <tr> - <td width="22%" valign="top"> </td> - <td width="78%"> - <!-- <input name="Submit" type="submit" class="formbtn" value="Save" onclick="enable_change(true)" /> --> - <input id="submitt" name="Submit" type="submit" class="formbtn" value="<?=gettext("Save");?>" onclick="document.iform.sectionid.value = 'misc';" /> - </td> - </tr> - <tr> - <td colspan="2" class="list" height="12"> </td> - </tr> - <tr> - <td colspan="2" valign="top" class="listtopic"><a name="main" style="visibility: hidden;"> </a>Maintainance Settings</td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell"> </td> - <td width="78%" class="vtable"> - <p> - <span class="vexpl"> - Set dspam_clean purge default options, if not - otherwise specified on the commandline. You may set some of - the below values to <code>off</code>, for instance if you are - using a SQL-based database backend for DSPAM. Please consult your - DSPAM manual for any details. - </span> - </p> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Purge Signatures</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("psig", "formfld unknown"); ?> name="psig" id="psig" value="<?=htmlspecialchars($pconfig['psig']);?>" /> - <strong> - Purge stale signatures - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Purge Neutral</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("pneut", "formfld unknown"); ?> name="pneut" id="pneut" value="<?=htmlspecialchars($pconfig['pneut']);?>" /> - <strong> - Purge tokens with neutralish probabilities - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Purge Unused</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("punu", "formfld unknown"); ?> name="punu" id="punu" value="<?=htmlspecialchars($pconfig['punu']);?>" /> - <strong> - Purge unused tokens - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Purge Hapaxes</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("phapa", "formfld unknown"); ?> name="phapa" id="phapa" value="<?=htmlspecialchars($pconfig['phapa']);?>" /> - <strong> - Purge tokens with less than 5 hits (hapaxes) - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Purge Hits 1S</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("pones", "formfld unknown"); ?> name="pones" id="pones" value="<?=htmlspecialchars($pconfig['pones']);?>" /> - <strong> - Purge tokens with only 1 spam hit - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Purge Hits 1I</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("ponei", "formfld unknown"); ?> name="ponei" id="ponei" value="<?=htmlspecialchars($pconfig['ponei']);?>" /> - <strong> - Purge tokens with only 1 innocent hit - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top"> </td> - <td width="78%"> - <!-- <input name="Submit" type="submit" class="formbtn" value="Save" onclick="enable_change(true)" /> --> - <input id="submitt" name="Submit" type="submit" class="formbtn" value="<?=gettext("Save");?>" onclick="document.iform.sectionid.value = 'main';" /> - </td> - </tr> - <tr> - <td colspan="2" class="list" height="12"> </td> - </tr> - <tr> - <td colspan="2" valign="top" class="listtopic"><a name="sys" style="visibility: hidden;"> </a>System Settings</td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Local MX</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("locmx", "formfld host"); ?> name="locmx" id="locmx" value="<?=htmlspecialchars($pconfig['locmx']);?>" /> - <strong> - Local Mail Exchangers: Used for source address tracking, tells DSPAM which - mail exchangers are local and therefore should be ignored in the Received: - header when tracking the source of an email. Note: you should use the address - of the host as appears between brackets [ ] in the Received header. - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell"> </td> - <td width="78%" class="vtable"> - <span class="vexpl"> - Disabling logging for users will make usage graphs unavailable to - them. Disabling system logging will make admin graphs unavailable. - </span> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Enable System Log</td> - <td width="78%" class="vtable"> - <input name="enablesysl" type="checkbox" id="enablesysl" value="yes" <?php if (isset($pconfig['enablesysl'])) echo 'checked="checked"'; ?> /> - <strong> - Enable system logging. - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Enable User Log</td> - <td width="78%" class="vtable"> - <input name="enableusel" type="checkbox" id="enableusel" value="yes" <?php if (isset($pconfig['enableusel'])) echo 'checked="checked"'; ?> /> - <strong> - Enable user logging. - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Opt Settings</td> - <td width="78%" class="vtable"> - <select name="optinout" class="formselect"> - <option value="out" <?php if($pconfig['optinout'] == "out") echo('selected="selected"');?>>out</option> - <option value="in" <?php if($pconfig['optinout'] == "in") echo('selected="selected"');?>>in</option> - </select> - <p> - <span class="vexpl"> - Opt: in or out; determines DSPAM's default filtering behavior. If this value - is set to in, users must opt-in to filtering by dropping a .dspam file in - <code>/var/dspam/opt-in/user.dspam</code> (or if you have homedirs configured, a .dspam - folder in their home directory). The default is opt-out, which means all - users will be filtered unless a <code>.nodspam</code> file is dropped in - <code>/var/dspam/opt-out/user.nodspam</code> - <span class="vexpl"> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell"> </td> - <td width="78%" class="vtable"> - <span class="vexpl"> - In lieu of setting up individual aliases for each user, - DSPAM can be configured to automatically parse the To: address for spam and - false positive forwards. From there, it can be configured to either set the - DSPAM user based on the username specified in the header and/or change the - training class and source accordingly. The options below can be used to - customize most common types of header parsing behavior to avoid the need for - multiple aliases, or if using LMTP, aliases entirely.. - </span> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Parse To Headers</td> - <td width="78%" class="vtable"> - <input name="enableptoh" type="checkbox" id="enableptoh" value="yes" <?php if (isset($pconfig['enableptoh'])) echo 'checked="checked"'; ?> /> - <strong> - Parse the <i>To:</i> headers of an incoming message. - </strong> - <p> - <span class="vexpl"> - This must be set to ‘on’ to use either of the following features. - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Change Mode On Parse</td> - <td width="78%" class="vtable"> - <input name="enablecmop" type="checkbox" id="enablecmop" value="yes" <?php if (isset($pconfig['enablecmop'])) echo 'checked="checked"'; ?> /> - <strong> - Automatically change the class (to spam or innocent). - </strong> - <p> - <span class="vexpl"> - This depends on whether spam- or notspam- was specified, and change - the source to ‘error’. This is convenient if you're not - using aliases at all, but are delivering via LMTP. - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Change User On Parse</td> - <td width="78%" class="vtable"> - <input name="enablecuop" type="checkbox" id="enablecuop" value="yes" <?php if (isset($pconfig['enablecuop'])) echo 'checked="checked"'; ?> /> - <strong> - Automatically change the username to match that specified in the <i>To:</i> header. - </strong> - <p> - <span class="vexpl"> - For example, <code>spam-bob@domain.tld</code> will set the username - to bob, ignoring any --user passed in. This may not always be desirable if - you are using virtual email addresses as usernames. Options: - on or user take the portion before the @ sign only - full take everything after the initial {spam,notspam}-. - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Broken MTA Settings</td> - <td width="78%" class="vtable"> - <input name="enablebmta" type="checkbox" id="enablebmta" value="yes" <?php if (isset($pconfig['enablebmta'])) echo 'checked="checked"'; ?> /> - <strong> - Enable broken MTA settings. - </strong> - <p> - <span class="vexpl"> - Broken MTA Options: Some MTAs don't support the proper functionality - necessary. In these cases you can activate certain features in DSPAM to - compensate. ‘returnCodes’ causes DSPAM to return an exit code of 99 if - the message is spam, 0 if not, or a negative code if an error has occured. - Specifying ‘case’ causes DSPAM to force the input usernames to lowercase. - Spceifying ‘lineStripping’ causes DSPAM to strip ˆM's from messages passed - </span> - </p> - <table class="tabcont" width="100%" border="0" cellpadding="0" cellspacing="0"> - <tr> - <td width="55%" class="listhdrr"><?=gettext("Broken MTA Option");?></td> - <td width="35%" class="listhdr"><?=gettext("Description");?></td> - <td width="10%" class="list"></td> - </tr> - <?php if(is_array($t_bmtas)): ?> - <?php $i = 0; foreach ($t_bmtas as $bmta): ?> - <?php if($bmta['name'] <> ""): ?> - - <tr> - <td class="listlr" ondblclick="document.location='dspam-settings-bmta.php?id=<?=$i;?>§ionid=sys';"> - <?=htmlspecialchars($bmta['name']);?> - </td> - <td class="listbg" ondblclick="document.location='dspam-settings-bmta.php?id=<?=$i;?>§ionid=sys';"> - <font color="#FFFFFF"><?=htmlspecialchars($bmta['descr']);?> </font> - </td> - <td valign="middle" nowrap class="list"> - <table border="0" cellspacing="0" cellpadding="1"> - <tr> - <td valign="middle"><a href="dspam-settings-bmta.php?id=<?=$i;?>§ionid=sys"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_e.gif" width="17" height="17" border="0"></a></td> - <td valign="middle"><a href="dspam-settings.php?act=del&what=bmta&id=<?=$i;?>§ionid=sys" onclick="return confirm('<?=gettext("Do you really want to delete this mapping?");?>')"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" width="17" height="17" border="0"></a></td> - </tr> - </table> - </td> - </tr> - - <?php endif; ?> - <?php $i++; endforeach; ?> - <?php endif; ?> - <tr> - <td class="list" colspan="3"></td> - <td class="list"> - <table border="0" cellspacing="0" cellpadding="1"> - <tr> - <td valign="middle"><a href="dspam-settings-bmta.php?sectionid=sys"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" width="17" height="17" border="0"></a></td> - </tr> - </table> - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Max Message Size</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("maxmsgs", "formfld unknown"); ?> name="maxmsgs" id="maxmsgs" value="<?=htmlspecialchars($pconfig['maxmsgs']);?>" /> - <strong> - You may specify a maximum message size for DSPAM to process. - </strong> - <p> - <span class="vexpl"> - If the message is larger than the maximum size, it will be delivered - without processing. Value is in bytes. - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Processor Bias</td> - <td width="78%" class="vtable"> - <input type="checkbox" name="procbias" id="procbias" value="yes" <?php if (isset($pconfig['procbias'])) echo 'checked="checked"'; ?> /> - <strong> - Bias causes the filter to lean more toward ‘innocent’, and - usually greatly reduces false positives. It is the default behavior of - most Bayesian filters (including dspam). - </strong> - <p> - <span class="vexpl"> - Note: You probably DONT want this if you're using Markovian Weighting, - unless you are paranoid about false positives. - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top"> </td> - <td width="78%"> - <!-- <input name="Submit" type="submit" class="formbtn" value="Save" onclick="enable_change(true)" /> --> - <input id="submitt" name="Submit" type="submit" class="formbtn" value="<?=gettext("Save");?>" onclick="document.iform.sectionid.value = 'sys';" /> - </td> - </tr> - <tr> - <td colspan="2" class="list" height="12"> </td> - </tr> - <?php if (checkForClamAVSupport()): ?> - <tr> - <td valign="top" class="listtopic"><a name="clam" style="visibility: hidden;"> </a>ClamAV Engine Settings</td> - <td align="right" valign="top" class="listtopic"> - <input name="enableclam" type="checkbox" id="enableclam" value="yes" <?php if (isset($pconfig['enableclam'])) echo 'checked="checked"'; ?> onClick="enable_change(false, 3);" /> - <strong>Enable</strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell"> </td> - <td width="78%" class="vtable"> - <p> - <span class="vexpl"> - If you are running clamd, DSPAM can perform stream-based - virus checking using TCP. Uncomment the values below to enable virus - checking. - </span> - </p> - <p> - <span class="vexpl"> - ClamAVResponse: - <dl> - <dt>reject</dt> - <dd>(reject or drop the message with a permanent failure)</dd> - <dt>accept</dt> - <dd>(accept the message and quietly drop the message)</dd> - <dt>spam</dt> - <dd>(treat as spam and quarantine/tag/whatever)</dd> - </dl> - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">ClamAV Port</td> - <td width="78%" class="vtable"> - <p> - <input type="text" size="30" <?= checkForErrorClass("clamport", "formfld unknown"); ?> name="clamport" id="clamport" value="<?=htmlspecialchars($pconfig['clamport']);?>" <?php if (! isset($pconfig['enableclam'])) echo 'disabled="disabled"'; ?> /> - <strong> - A number that specifies the port the ClamAV daemon is listening to. - </strong> - </p> - <p> - <span class="vexpl"> - If the message is larger than the maximum size, it will be delivered - without processing. Value is in bytes. - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">ClamAV Host</td> - <td width="78%" class="vtable"> - <input type="text" size="30" <?= checkForErrorClass("clamhost", "formfld host"); ?> name="clamhost" id="clamhost" value="<?=htmlspecialchars($pconfig['clamhost']);?>" <?php if (! isset($pconfig['enableclam'])) echo 'disabled="disabled"'; ?> /> - <strong> - An IP address that points to the host the ClamAV daemon is running on. - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">ClamAV Response</td> - <td width="78%" class="vtable"> - <select name="clamresp" class="formselect" <?php if (! isset($pconfig['enableclam'])) echo 'disabled="disabled"'; ?>> - <option value="reject" <?php if($pconfig['clamresp'] == "reject") echo('selected="selected"');?>>reject</option> - <option value="accept" <?php if($pconfig['clamresp'] == "accept") echo('selected="selected"');?>>accept</option> - <option value="spam" <?php if($pconfig['clamresp'] == "spam") echo('selected="selected"');?>>spam</option> - </select> - <strong> - The action that should take place, if ClamAV reports a positive. - </strong> - </td> - </tr> - <tr> - <td width="22%" valign="top"> </td> - <td width="78%"> - <!-- <input name="Submit" type="submit" class="formbtn" value="Save" onclick="enable_change(true)" /> --> - <input id="submitt" name="Submit" type="submit" class="formbtn" value="<?=gettext("Save");?>" onclick="document.iform.sectionid.value = 'clam';" /> - </td> - </tr> - <tr> - <td colspan="2" class="list" height="12"> </td> - </tr> - <?php endif; ?> - <tr> - <td colspan="2" valign="top" class="listtopic"><a name="srv" style="visibility: hidden;"> </a>DSPAM Daemon Settings (Server)</td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell"> </td> - <td width="78%" class="vtable"> - <span class="vexpl"> - If you are running DSPAM as a daemonized server using - <code>--daemon</code>, the following parameters will override the default. Use the - ServerPass option to set up accounts for each client machine. The DSPAM - server will process and deliver the message based on the parameters - specified. If you want the client machine to perform delivery, use - the <code>--stdout</code> option in conjunction with a local setup. - </span> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Server Port</td> - <td width="78%" class="vtable"> - <p> - <input type="text" size="30" <?= checkForErrorClass("dsport", "formfld unknown"); ?> name="dsport" id="dsport" value="<?=htmlspecialchars($pconfig['dsport']);?>" /> - <strong> - A number that specifies the port the DSPAM daemon is listening to. - </strong> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Server Queue Size</td> - <td width="78%" class="vtable"> - <p> - <input type="text" size="30" <?= checkForErrorClass("dsqsize", "formfld unknown"); ?> name="dsqsize" id="dsqsize" value="<?=htmlspecialchars($pconfig['dsqsize']);?>" /> - <strong> - A number that specifies the server's queue size. - </strong> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Server PID</td> - <td width="78%" class="vtable"> - <p> - <input type="text" size="30" <?= checkForErrorClass("dspid", "formfld file"); ?> name="dspid" id="dspid" value="<?=htmlspecialchars($pconfig['dspid']);?>" /> - <strong> - Keep this is sync with <code>/usr/local/etc/rc.d/dspam.rc</code> script. - </strong> - </p> - <p> - <span class="vexpl"> - Note: Don't change this value unless you know what you are doing. - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Server Mode</td> - <td width="78%" class="vtable"> - <p> - <select name="dssmode" class="formselect"> - <option value="dspam" <?php if($pconfig['dssmode'] == "dspam") echo('selected="selected"');?>>dspam</option> - <option value="standard" <?php if($pconfig['dssmode'] == "standard") echo('selected="selected"');?>>standard</option> - <option value="auto" <?php if($pconfig['dssmode'] == "auto") echo('selected="selected"');?>>auto</option> - </select> - <strong> - Specifies the type of LMTP server to start. - </strong> - <p> - <span class="vexpl"> - This can be one of: - <dl> - <dt>dspam</dt> - <dd>DSPAM-proprietary DLMTP server, for communicating with dspamc</dd> - <dt>standard</dt> - <dd>Standard LMTP server, for communicating with Postfix or other MTA</dd> - <dt>auto</dt> - <dd>Speak both DLMTP and LMTP; auto-detect by ServerPass.IDENT</dd> - </dl> - </span> - </p> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" rowspan="2" class="vncell"> </td> - <td width="78%" class="vtable"> - <p> - <span class="vexpl"> - If supporting DLMTP (dspam) mode, dspam clients will require authentication - as they will be passing in parameters. The idents below will be used to - determine which clients will be speaking DLMTP, so if you will be using - both LMTP and DLMTP from the same host, be sure to use something other - than the server's hostname below (which will be sent by the MTA during a - standard LMTP LHLO). - </span> - </p> - <table class="tabcont" width="100%" border="0" cellpadding="0" cellspacing="0"> - <tr> - <td width="55%" class="listhdrr"><?=gettext("DLMTP Password Value");?></td> - <td width="35%" class="listhdr"><?=gettext("Description");?></td> - <td width="10%" class="list"></td> - </tr> - <?php if(is_array($t_spwds)): ?> - <?php $i = 0; foreach ($t_spwds as $spwd): ?> - <?php if($spwd['value'] <> ""): ?> - - <tr> - <td class="listlr" ondblclick="document.location='dspam-settings-spwd.php?id=<?=$i;?>§ionid=srv';"> - <?=htmlspecialchars($spwd['value']);?> - </td> - <td class="listbg" ondblclick="document.location='dspam-settings-spwd.php?id=<?=$i;?>§ionid=srv';"> - <font color="#FFFFFF"><?=htmlspecialchars($spwd['descr']);?> </font> - </td> - <td valign="middle" nowrap class="list"> - <table border="0" cellspacing="0" cellpadding="1"> - <tr> - <td valign="middle"><a href="dspam-settings-spwd.php?id=<?=$i;?>§ionid=srv"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_e.gif" width="17" height="17" border="0"></a></td> - <td valign="middle"><a href="dspam-settings.php?act=del&what=spwd&id=<?=$i;?>§ionid=srv" onclick="return confirm('<?=gettext("Do you really want to delete this mapping?");?>')"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" width="17" height="17" border="0"></a></td> - </tr> - </table> - </td> - </tr> - - <?php endif; ?> - <?php $i++; endforeach; ?> - <?php endif; ?> - <tr> - <td class="list" colspan="3"></td> - <td class="list"> - <table border="0" cellspacing="0" cellpadding="1"> - <tr> - <td valign="middle"><a href="dspam-settings-spwd.php?sectionid=srv"><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" width="17" height="17" border="0"></a></td> - </tr> - </table> - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td width="78%" class="vtable"> - <p> - <span class="vexpl"> - If supporting standard LMTP mode, server parameters will need to be specified - here, as they will not be passed in by the mail server. The ServerIdent - specifies the 250 response code ident sent back to connecting clients and - should be set to the hostname of your server, or an alias. - </span> - </p> - <p> - <span class="vexpl"> - Note: If you specify <code>--user</code> in ServerParameters, the RCPT TO will be used - only for delivery, and not set as the active user for processing. - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Server Parameters</td> - <td width="78%" class="vtable"> - <p> - <input type="text" size="30" class="formfld unknown" name="serverparam" id="serverparam" value="<?=htmlspecialchars($pconfig['serverparam']);?>" /> - <strong> - Parameters which will be passed to the LMTP server. - </strong> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Server Ident</td> - <td width="78%" class="vtable"> - <p> - <input type="text" size="30" <?= checkForErrorClass("serverid", "formfld host"); ?> name="serverid" id="serverid" value="<?=htmlspecialchars($pconfig['serverid']);?>" /> - <strong> - An identification string which will be used to be passed to the LMTP server. - </strong> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Server Domain Socket Path</td> - <td width="78%" class="vtable"> - <p> - <input type="text" size="30" <?= checkForErrorClass("serversock", "formfld file"); ?> name="serversock" id="serversock" value="<?=htmlspecialchars($pconfig['serversock']);?>" /> - <strong> - A local Unix domain socket. - </strong> - </p> - <p> - <span class="vexpl"> - If you wish to use a local domain socket instead of a TCP socket, uncomment - the following. It is strongly recommended you use local domain sockets if - you are running the client and server on the same machine, as it eliminates - much of the bandwidth overhead. - </span> - </p> - <p> - <span class="vexpl"> - Keep this is sync with <code>/usr/local/etc/rd.d/dspam.rc</code> script - </span> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top"> </td> - <td width="78%"> - <!-- <input name="Submit" type="submit" class="formbtn" value="Save" onclick="enable_change(true)" /> --> - <input id="submitt" name="Submit" type="submit" class="formbtn" value="<?=gettext("Save");?>" onclick="document.iform.sectionid.value = 'srv';" /> - </td> - </tr> - <tr> - <td colspan="2" class="list" height="12"> </td> - </tr> - <tr> - <td valign="top" class="listtopic"><a name="cli" style="visibility: hidden;"> </a>DSPAM Daemon Settings (Client)</td> - <td align="right" valign="top" class="listtopic"> - <input name="enabledsclient" type="checkbox" id="enabledsclient" value="yes" <?php if (isset($pconfig['enabledsclient'])) echo 'checked="checked"'; ?> onClick="enable_change(false, 4);" /> - <strong>Enable</strong> - </td> - </tr> - - <tr> - <td width="22%" valign="top" class="vncell"> </td> - <td width="78%" class="vtable"> - <p> - <span class="vexpl"> - If you are running DSPAM in client/server mode, uncomment and - set these variables. A ClientHost beginning with a <code>/</code> - will be treated as a domain socket. - </span> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Client Host</td> - <td width="78%" class="vtable"> - <p> - <input type="text" size="30" <?= checkForErrorClass("dsclhost", "formfld host"); ?> name="dsclhost" id="dsclhost" value="<?=htmlspecialchars($pconfig['dsclhost']);?>" <?php if (! isset($pconfig['enabledsclient'])) echo 'disabled="disabled"'; ?> /> - <strong> - A IP address or a Unix domain socket. - </strong> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Client Port</td> - <td width="78%" class="vtable"> - <p> - <input type="text" size="30" <?= checkForErrorClass("dsclhost", "formfld host"); ?> name="dsclport" id="dsclport" value="<?=htmlspecialchars($pconfig['dsclport']);?>" <?php if (! isset($pconfig['enabledsclient'])) echo 'disabled="disabled"'; ?> /> - <strong> - Will be only used if this client uses TCP/IP communication. - </strong> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top" class="vncell">Client Ident</td> - <td width="78%" class="vtable"> - <p> - <input type="text" size="30" <?= checkForErrorClass("dsclident", "formfld unknown"); ?> name="dsclident" id="dsclident" value="<?=htmlspecialchars($pconfig['dsclident']);?>" <?php if (! isset($pconfig['enabledsclient'])) echo 'disabled="disabled"'; ?> /> - <strong> - A string that will be used to identify the client against a server. - </strong> - </p> - </td> - </tr> - <tr> - <td width="22%" valign="top"> </td> - <td width="78%"> - <!-- <input name="Submit" type="submit" class="formbtn" value="Save" onclick="enable_change(true)" /> --> - <input id="submitt" name="Submit" type="submit" class="formbtn" value="<?=gettext("Save");?>" onclick="document.iform.sectionid.value = 'cli';" /> - </td> - </tr> - </table> - </td> - </tr> - </table> - </div> - </td> - </tr> - </table> - </form> - <br> - <?= checkForInputErrors(); ?> -<? - } else { -?> -<?php - $input_errors[] = "Access to this particular site was denied. You need DSPAM admin access rights to be able to view it."; - - include("head.inc"); - echo $pfSenseHead->getHTML(); -?> -<?php include("fbegin.inc");?> -<?php if ($input_errors) print_input_errors($input_errors);?> -<?php if ($savemsg) print_info_box($savemsg);?> - <body link="#000000" vlink="#000000" alink="#000000"> - <table width="100%" border="0" cellpadding="6" cellspacing="0"> - <tr> - <td valign="top" class="listtopic">Access denied for: <?=$HTTP_SERVER_VARS['AUTH_USER']?></td> - </tr> - </table> -<?php - } // end of access denied code -?> -<?php include("fend.inc"); ?> -</body> -</html>
\ No newline at end of file |