diff options
author | Daniel Stefan Haischt <dsh@pfsense.org> | 2006-07-15 22:16:04 +0000 |
---|---|---|
committer | Daniel Stefan Haischt <dsh@pfsense.org> | 2006-07-15 22:16:04 +0000 |
commit | 3eab27426aa39497d87a9fb768fd860f924e10be (patch) | |
tree | 729d886e70f6cd07f138bd72cf6308a1908ec9db /packages/dspam/www/wizards | |
parent | 5ea99d5d96bb72340cdb7d24e1258cb07b5cdfa1 (diff) | |
download | pfsense-packages-3eab27426aa39497d87a9fb768fd860f924e10be.tar.gz pfsense-packages-3eab27426aa39497d87a9fb768fd860f924e10be.tar.bz2 pfsense-packages-3eab27426aa39497d87a9fb768fd860f924e10be.zip |
- initial version of the DSPAM package
Diffstat (limited to 'packages/dspam/www/wizards')
-rw-r--r-- | packages/dspam/www/wizards/dspam-lda-proxy.png | bin | 0 -> 20556 bytes | |||
-rw-r--r-- | packages/dspam/www/wizards/dspam-pop-proxy.png | bin | 0 -> 18247 bytes | |||
-rw-r--r-- | packages/dspam/www/wizards/dspam-smtp-relay.png | bin | 0 -> 30404 bytes | |||
-rw-r--r-- | packages/dspam/www/wizards/dspam_wizard.xml | 1830 |
4 files changed, 1830 insertions, 0 deletions
diff --git a/packages/dspam/www/wizards/dspam-lda-proxy.png b/packages/dspam/www/wizards/dspam-lda-proxy.png Binary files differnew file mode 100644 index 00000000..7a4565ec --- /dev/null +++ b/packages/dspam/www/wizards/dspam-lda-proxy.png diff --git a/packages/dspam/www/wizards/dspam-pop-proxy.png b/packages/dspam/www/wizards/dspam-pop-proxy.png Binary files differnew file mode 100644 index 00000000..fa373385 --- /dev/null +++ b/packages/dspam/www/wizards/dspam-pop-proxy.png diff --git a/packages/dspam/www/wizards/dspam-smtp-relay.png b/packages/dspam/www/wizards/dspam-smtp-relay.png Binary files differnew file mode 100644 index 00000000..07f554c8 --- /dev/null +++ b/packages/dspam/www/wizards/dspam-smtp-relay.png diff --git a/packages/dspam/www/wizards/dspam_wizard.xml b/packages/dspam/www/wizards/dspam_wizard.xml new file mode 100644 index 00000000..659eaff1 --- /dev/null +++ b/packages/dspam/www/wizards/dspam_wizard.xml @@ -0,0 +1,1830 @@ +<?xml version="1.0" encoding="utf-8" ?> +<pfsensewizard> +<!-- + Tags which can be used to exec arbitrary PHP code: + + <stepsubmitbeforesave /> + <stepsubmitphpaction /> + <stepbeforeformdisplay /> + <formvalidate /> + <disableallfieldsbydefault /> + <stepafterformdisplay /> + <javascriptafterformdisplay /> +--> +<copyright> +/* + dspam_wizard.xml + part of pfSense (http://www.pfsense.org/) + + Copyright (C) 2006 Daniel S. Haischt + All rights reserved. +*/ +</copyright> +<totalsteps>15</totalsteps> +<title>Services: DSPAM: DSPAM Wizard</title> +<step> + <id>1</id> + <includefile>dspam.inc</includefile> + <title>DSPAM Setup Wizard</title> + <disableheader>true</disableheader> + <description>This wizard will guide you through the initial configuration of the DSPAM filter.</description> + <fields> + <field> + <name>Next</name> + <type>submit</type> + </field> + </fields> +</step> +<step> + <id>2</id> + <includefile>dspam.inc</includefile> + <title>DSPAM Profile Selection</title> + <disableheader>true</disableheader> + <description>DSPAM can be used in different network environment. Hence we are providing three distinct profiles to suit different DSPAM use cases. Please select a particular profile from the below profile selection.</description> + <fields> + <field> + <name>dspamprofile</name> + <type>radio</type> + <bindstofield>installedpackages->dspam->config->0->dspam-profile</bindstofield> + <description> + <center> + <p> +When your mail server gets ready to deliver mail to a user's mailbox it calls +a delivery agent of some sort. On most UNIX systems, this is procmail, maildrop, +mail.local, or a similar tool. When used as a delivery proxy, the DSPAM agent +is called in place of your existing agent - or better put, it can masquerade +as the local delivery agent. DSPAM then processes the message and will call +the /real/ delivery agent to pass the good mail into the user's mailbox, +quarantining the bad mail. DSPAM can optionally tag and deliver both spam +and legitimate mail. + </p> + <p> +In the diagram below, MTA refers to Mail Transfer Agent, or your mail server +software: Postfix, Sendmail, Exim, etc. LDA refers to the Local Delivery +Agent: Procmail, Maildrop, etc.. + </p> + </center> + </description> + <value>lda</value> + <dontdisplayname /> + <typehint><center><img src="/wizards/dspam-lda-proxy.png" alt="DSPAM acts as a LDA proxy" border="0" /></center></typehint> + </field> + <field> + <name>dspamprofile</name> + <type>radio</type> + <bindstofield>installedpackages->dspam->config->0->dspam-profile</bindstofield> + <description> + <center> +If you don't want to tinker with your existing mail server setup, DSPAM can +be combined with one of a few open source programs designed to act as a POP3 +proxy. This means spam is filtered whenever the user checks their mail, +rather than when it is delivered. The benefit to this is that you can set up +a small machine on your network that will connect to your existing mail server, +so no integration is needed. It also allows your users to arbitarily point their +mail client at it if they desire filtering. The drawback to this approach is +that the POP3 protocol has no way to tell the mail client that a message is +spam, and so the user will have to download the spam (tagged, of course). + </center> + </description> + <value>pop</value> + <dontdisplayname /> + <typehint><center><img src="/wizards/dspam-pop-proxy.png" alt="DSPAM will be invoked by a POP3 proxy" border="0" /></center></typehint> + </field> + <field> + <name>dspamprofile</name> + <type>radio</type> + <bindstofield>installedpackages->dspam->config->0->dspam-profile</bindstofield> + <description> + <center> +Newer versions of DSPAM have seen features that allow it to function more +easily as an SMTP relay. An SMTP relay sits in front of your existing mail +server (requiring no integration). To use an SMTP relay, the MX records for +your domains are repointed to the relay machine running DSPAM. DSPAM then +relays the good (and optionally bad) mail to the existing SMTP server. This +allows you to use DSPAM with even a Windows-based destination mail server +as no integration is necessary. See doc/relay.txt for one example of how to +do this with Postfix. + </center> + </description> + <value>smtp</value> + <dontdisplayname /> + <typehint><center><img src="/wizards/dspam-smtp-relay.png" alt="DSPAM acts as a SMTP realy" border="0" /></center></typehint> + </field> + <field> + <name>Next</name> + <type>submit</type> + </field> + </fields> + <stepsubmitphpaction> + if($_POST['dspamprofile'] != "") { + + /* set default trusted users */ + $config['installedpackages']['dspam']['config'][0]['tuser'][0]['name'] = "root"; + $config['installedpackages']['dspam']['config'][0]['tuser'][0]['descr'] = "desc"; + $config['installedpackages']['dspam']['config'][0]['tuser'][1]['name'] = "mail"; + $config['installedpackages']['dspam']['config'][0]['tuser'][1]['descr'] = "desc"; + $config['installedpackages']['dspam']['config'][0]['tuser'][2]['name'] = "mailnull"; + $config['installedpackages']['dspam']['config'][0]['tuser'][2]['descr'] = "desc"; + $config['installedpackages']['dspam']['config'][0]['tuser'][3]['name'] = "smmsp"; + $config['installedpackages']['dspam']['config'][0]['tuser'][3]['descr'] = "desc"; + $config['installedpackages']['dspam']['config'][0]['tuser'][4]['name'] = "daemon"; + $config['installedpackages']['dspam']['config'][0]['tuser'][4]['descr'] = "desc"; + /* set default features */ + $config['installedpackages']['dspam']['config'][0]['feature'][0]['name'] = "chained"; + $config['installedpackages']['dspam']['config'][0]['feature'][0]['descr'] = "desc"; + $config['installedpackages']['dspam']['config'][0]['feature'][1]['name'] = "whitelist"; + $config['installedpackages']['dspam']['config'][0]['feature'][1]['descr'] = "desc"; + /* set default algorithms */ + $config['installedpackages']['dspam']['config'][0]['algorithm'][0]['name'] = "graham"; + $config['installedpackages']['dspam']['config'][0]['algorithm'][0]['descr'] = "desc"; + $config['installedpackages']['dspam']['config'][0]['algorithm'][1]['name'] = "burton"; + $config['installedpackages']['dspam']['config'][0]['algorithm'][1]['descr'] = "desc"; + /* set default prefs */ + $config['installedpackages']['dspam']['config'][0]['preference'][0]['value'] = "\"spamAction=quarantine\""; + $config['installedpackages']['dspam']['config'][0]['preference'][0]['descr'] = "desc"; + $config['installedpackages']['dspam']['config'][0]['preference'][1]['value'] = "\"signatureLocation=message\""; + $config['installedpackages']['dspam']['config'][0]['preference'][1]['descr'] = "desc"; + $config['installedpackages']['dspam']['config'][0]['preference'][2]['value'] = "\"showFactors=on\""; + $config['installedpackages']['dspam']['config'][0]['preference'][2]['descr'] = "desc"; + /* set default overrides */ + $config['installedpackages']['dspam']['config'][0]['override'][0]['value'] = "trainingMode"; + $config['installedpackages']['dspam']['config'][0]['override'][0]['descr'] = "desc"; + $config['installedpackages']['dspam']['config'][0]['override'][1]['value'] = "spamAction spamSubject"; + $config['installedpackages']['dspam']['config'][0]['override'][1]['descr'] = "desc"; + $config['installedpackages']['dspam']['config'][0]['override'][2]['value'] = "statisticalSedation"; + $config['installedpackages']['dspam']['config'][0]['override'][2]['descr'] = "desc"; + $config['installedpackages']['dspam']['config'][0]['override'][3]['value'] = "enableBNR"; + $config['installedpackages']['dspam']['config'][0]['override'][3]['descr'] = "desc"; + $config['installedpackages']['dspam']['config'][0]['override'][4]['value'] = "enableWhitelist"; + $config['installedpackages']['dspam']['config'][0]['override'][4]['descr'] = "desc"; + $config['installedpackages']['dspam']['config'][0]['override'][5]['value'] = "signatureLocation"; + $config['installedpackages']['dspam']['config'][0]['override'][5]['descr'] = "desc"; + $config['installedpackages']['dspam']['config'][0]['override'][6]['value'] = "showFactors"; + $config['installedpackages']['dspam']['config'][0]['override'][6]['descr'] = "desc"; + $config['installedpackages']['dspam']['config'][0]['override'][7]['value'] = "optIn optOut"; + $config['installedpackages']['dspam']['config'][0]['override'][7]['descr'] = "desc"; + $config['installedpackages']['dspam']['config'][0]['override'][8]['value'] = "whitelistThreshold"; + $config['installedpackages']['dspam']['config'][0]['override'][8]['descr'] = "desc"; + + if($_POST['dspamprofile'] == "lda" || $_POST['dspamprofile'] == "pop") { + $config['installedpackages']['dspam']['config'][0]['tdelivery-agent'] = "mail"; + /* TCP/IP based deliver is not needed */ + 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'] = "error"; + + /* We will asume that the user is going to use the dspam and not the dspamc + * binary. Hence we are unsetting server/client settings. + */ + unset($config['installedpackages']['dspam']['config'][0]['dspam-server-port']); + unset($config['installedpackages']['dspam']['config'][0]['dspam-server-queue-size']); + unset($config['installedpackages']['dspam']['config'][0]['dspam-server-pid']); + unset($config['installedpackages']['dspam']['config'][0]['dspam-server-mode']); + unset($config['installedpackages']['dspam']['config'][0]['dspam-server-params']); + unset($config['installedpackages']['dspam']['config'][0]['dspam-server-id']); + unset($config['installedpackages']['dspam']['config'][0]['dspam-server-socket']); + /* Client */ + 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']); + } else if($_POST['dspamprofile'] == "smtp") { + /* TCP/IP based deliver is not needed */ + $config['installedpackages']['dspam']['config'][0]['tcpip-delivery'] = "on"; + $config['installedpackages']['dspam']['config'][0]['tcpip-delivery-host'] = "127.0.0.1"; + $config['installedpackages']['dspam']['config'][0]['tcpip-delivery-port'] = "25"; + $config['installedpackages']['dspam']['config'][0]['tcpip-delivery-ident'] = "localhost"; + $config['installedpackages']['dspam']['config'][0]['tcpip-delivery-proto'] = "smtp"; + $config['installedpackages']['dspam']['config'][0]['delivery-onfail'] = "error"; + + /* We will asume that the user is going to use the dspam and not the dspamc + * binary. Hence we are unsetting server/client settings. + */ + $config['installedpackages']['dspam']['config'][0]['dspam-server-port'] = "24"; + $config['installedpackages']['dspam']['config'][0]['dspam-server-queue-size'] = "32"; + $config['installedpackages']['dspam']['config'][0]['dspam-server-pid'] = "/var/run/dspam/dspam.pid"; + $config['installedpackages']['dspam']['config'][0]['dspam-server-mode'] = "standard"; + $config['installedpackages']['dspam']['config'][0]['dspam-server-params'] = "--deliver=innocent -d %u"; + $config['installedpackages']['dspam']['config'][0]['dspam-server-id'] = "localhost"; + $config['installedpackages']['dspam']['config'][0]['dspam-server-socket'] = "/var/run/dspam/dspam.sock"; + /* server passwords */ + $config['installedpackages']['dspam']['config'][0]['server-pwd'][0]['value'] = "secret"; + $config['installedpackages']['dspam']['config'][0]['server-pwd'][0]['descr'] = "desc"; + $config['installedpackages']['dspam']['config'][0]['server-pwd'][1]['value'] = "password"; + $config['installedpackages']['dspam']['config'][0]['server-pwd'][1]['descr'] = "desc"; + /* Client */ + $config['installedpackages']['dspam']['config'][0]['dspam-client-enable'] = "on"; + $config['installedpackages']['dspam']['config'][0]['dspam-client-host'] = "/tmp/dspam.sock"; + $config['installedpackages']['dspam']['config'][0]['dspam-client-port'] = "24"; + $config['installedpackages']['dspam']['config'][0]['dspam-client-id'] = "secret@Relay1"; + } + + write_config(); + } + </stepsubmitphpaction> +</step> +<step> + <id>3</id> + <includefile>dspam.inc</includefile> + <title>Database Settings</title> + <description> + On this screen you will set the storage driver type that will be used to store + DSPAM tokens. After having completed this wizard you have to configure the + database that you did select herein. + </description> + <fields> + <field> + <name>storagedriver</name> + <type>select</type> + <bindstofield>installedpackages->dspam->config->0->storage-driver</bindstofield> + <description>Specifies the storage driver backend (library) to use.</description> + <default_value>mysql</default_value> + <onchange>toggleDBSettings();</onchange> + <size>1</size> + <options> + <option> + <name>mysql</name> + <value>mysql</value> + </option> + <option> + <name>sqlite</name> + <value>sqlite</value> + </option> + <option> + <name>bdb</name> + <value>bdb</value> + </option> + <option> + <name>pgsql</name> + <value>pgsql</value> + </option> + <option> + <name>oracle</name> + <value>oracle</value> + </option> + <option> + <name>hash</name> + <value>hash</value> + </option> + </options> + </field> + <field> + <name>msqlserver</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->mysql-server</bindstofield> + <description>Either a reference to a Unix domain socket or a reference to a specific host.</description> + <default_value>/tmp/mysql.sock</default_value> + <validate>^[a-z0-9.|/]+$</validate> + <message>Server name field is invalid</message> + <required /> + </field> + <field> + <name>msqlport</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->mysql-port</bindstofield> + <description>Use this variable if you are going to a MySQL server instance using TCP/IP instead of a socket connection.</description> + <default_value>3306</default_value> + <validate>^[0-9]+$</validate> + <message>Port field is invalid</message> + <required /> + </field> + <field> + <name>msqluser</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->mysql-user</bindstofield> + <description>Username, that will be used to connect to a MySQL server instance.</description> + <default_value>dspam</default_value> + <required /> + </field> + <field> + <name>msqlpwd</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->mysql-password</bindstofield> + <description>Password, that will be used to connect to a MySQL server instance.</description> + <default_value>dspam</default_value> + <required /> + </field> + <field> + <name>msqldb</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->mysql-database</bindstofield> + <description>Database name, that contains DSPAM data.</description> + <default_value>dspam</default_value> + <required /> + </field> + <field> + <name>msqlcomp</name> + <type>checkbox</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->mysql-compress</bindstofield> + <description>Indicates whether communication data between DSPAM and MySQL should be compressed.</description> + <default_value>on</default_value> + </field> + <field> + <name>msqlsuqt</name> + <type>checkbox</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->mysql-squote</bindstofield> + <description>Use this if you have the 4.1 quote bug (see doc/mysql.txt).</description> + </field> + <field> + <name>msqlccache</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->mysql-ccache</bindstofield> + <description>Conection cache default set to 10.</description> + <default_value>10</default_value> + <validate>^[0-9]+$</validate> + <message>Connection cache field is invalid</message> + <required /> + </field> + <field> + <name>msqluid</name> + <type>checkbox</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->mysql-uid</bindstofield> + <description>Insert user id into the DSPAM signature.</description> + <default_value>on</default_value> + </field> + <field> + <name>slitepr</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->sqlite-pragma</bindstofield> + <description>A particular SQLite pragma command to be used.</description> + </field> + <field> + <name>pgserver</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->pgsql-server</bindstofield> + <description>A reference to a specific host that is running a PostgreSQL instance.</description> + <default_value>127.0.0.1</default_value> + <validate>^[a-z0-9.|-]+$</validate> + <message>Server name field is invalid</message> + <required /> + </field> + <field> + <name>pgport</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->pgsql-port</bindstofield> + <description>A number that represents the port a specific PostgreSQL instance is listening to.</description> + <default_value>5432</default_value> + <validate>^[0-9]+$</validate> + <message>Port field is invalid</message> + <required /> + </field> + <field> + <name>pguser</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->pgsql-user</bindstofield> + <description>Username, that will be used to connect to a PostgreSQL server instance.</description> + <default_value>dspam</default_value> + <required /> + </field> + <field> + <name>pgpwd</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->pgsql-password</bindstofield> + <description>Password, that will be used to connect to a PostgreSQL server instance.</description> + <default_value>dspam</default_value> + <required /> + </field> + <field> + <name>pgdb</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->pgsql-database</bindstofield> + <description>Database name, that contains DSPAM data.</description> + <default_value>dspam</default_value> + <required /> + </field> + <field> + <name>pgccache</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->pgsql-ccache</bindstofield> + <description>Conection cache default set to 3.</description> + <default_value>3</default_value> + <validate>^[0-9]+$</validate> + <message>Connection cache field is invalid</message> + <required /> + </field> + <field> + <name>pguid</name> + <type>checkbox</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->pgsql-uid</bindstofield> + <description>Insert user id into the DSPAM signature.</description> + <default_value>on</default_value> + </field> + <field> + <name>oraserver</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->ora-server</bindstofield> + <description>A reference to a specific host that is running an Oracle database instance.</description> + <size>50</size> + <default_value>"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SID=PROD)))"</default_value> + <required /> + </field> + <field> + <name>orauser</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->ora-user</bindstofield> + <description>Username, that will be used to connect to a Oracle database server instance.</description> + <default_value>dspam</default_value> + <required /> + </field> + <field> + <name>orapwd</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->ora-password</bindstofield> + <description>Password, that will be used to connect to a Oracle database server instance.</description> + <default_value>dspam</default_value> + <required /> + </field> + <field> + <name>orasch</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->ora-schema</bindstofield> + <description>Schema name, that contains DSPAM data.</description> + <default_value>dspam</default_value> + <required /> + </field> + <field> + <name>hsrmax</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->hash-rec-max</bindstofield> + <description>Default number of records to create in the initial segment when building hash files.</description> + <default_value>98317</default_value> + <validate>^[0-9]+$</validate> + <message>Default number of record field is invalid</message> + <required /> + </field> + <field> + <name>hsatex</name> + <type>checkbox</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->hash-auto-ex</bindstofield> + <description>Autoextend hash databases when they fill up. This allows them to continue to train by adding extents (extensions) to the file.</description> + <default_value>on</default_value> + <required /> + </field> + <field> + <name>hsmxex</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->hash-max-ext</bindstofield> + <description>The maximum number of extents that may be created in a single hash file.</description> + <default_value>0</default_value> + <validate>^[0-9]+$</validate> + <message>Default number of record field is invalid</message> + <required /> + </field> + <field> + <name>hsexsz</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->hash-ext-size</bindstofield> + <description>The record size for newly created extents.</description> + <default_value>49157</default_value> + <validate>^[0-9]+$</validate> + <message>Default number of record field is invalid</message> + <required /> + </field> + <field> + <name>hsmxse</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->hash-max-seek</bindstofield> + <description>The maximum number of records to seek to insert a new record before failing or adding a new extent.</description> + <default_value>100</default_value> + <validate>^[0-9]+$</validate> + <message>Default number of record field is invalid</message> + <required /> + </field> + <field> + <name>hsccus</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->hash-co-user</bindstofield> + <description>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.</description> + <default_value>user</default_value> + <required /> + </field> + <field> + <name>hscoca</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dbsettings->0->hash-co-cache</bindstofield> + <description>If running in daemon mode, this is the max # of concurrent connections that will be supported.</description> + <default_value>10</default_value> + <validate>^[0-9]+$</validate> + <message>Default number of record field is invalid</message> + <required /> + </field> + <field> + <name>Next</name> + <type>submit</type> + </field> + </fields> + <stepsubmitphpaction> + if ($_POST['storagedriver'] == "mysql") { + /* ============================================================================================= */ + /* == SQLite == */ + /* ============================================================================================= */ + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['sqlite-pragma']); + /* ============================================================================================= */ + /* == PostgreSQL == */ + /* ============================================================================================= */ + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-server']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-port']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-user']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-password']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-database']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-ccache']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-uid']); + /* ============================================================================================= */ + /* == Oracle == */ + /* ============================================================================================= */ + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['ora-server']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['ora-user']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['ora-password']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['ora-schema']); + /* ============================================================================================= */ + /* == Hash == */ + /* ============================================================================================= */ + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-rec-max']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-auto-ex']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-max-ext']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-ext-size']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-max-seek']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-co-user']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-co-cache']); + } else if ($_POST['storagedriver'] == "sqlite") { + /* ============================================================================================= */ + /* == MySQL == */ + /* ============================================================================================= */ + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-server']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-port']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-user']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-password']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-database']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-compress']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-squote']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-ccache']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-uid']); + /* ============================================================================================= */ + /* == PostgreSQL == */ + /* ============================================================================================= */ + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-server']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-port']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-user']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-password']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-database']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-ccache']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-uid']); + /* ============================================================================================= */ + /* == Oracle == */ + /* ============================================================================================= */ + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['ora-server']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['ora-user']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['ora-password']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['ora-schema']); + /* ============================================================================================= */ + /* == Hash == */ + /* ============================================================================================= */ + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-rec-max']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-auto-ex']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-max-ext']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-ext-size']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-max-seek']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-co-user']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-co-cache']); + } else if ($_POST['storagedriver'] == "bdb") { + /* NOP */ + } else if ($_POST['storagedriver'] == "pgsql") { + /* ============================================================================================= */ + /* == MySQL == */ + /* ============================================================================================= */ + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-server']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-port']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-user']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-password']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-database']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-compress']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-squote']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-ccache']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-uid']); + /* ============================================================================================= */ + /* == SQLite == */ + /* ============================================================================================= */ + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['sqlite-pragma']); + /* ============================================================================================= */ + /* == Oracle == */ + /* ============================================================================================= */ + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['ora-server']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['ora-user']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['ora-password']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['ora-schema']); + /* ============================================================================================= */ + /* == Hash == */ + /* ============================================================================================= */ + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-rec-max']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-auto-ex']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-max-ext']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-ext-size']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-max-seek']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-co-user']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-co-cache']); + } else if ($_POST['storagedriver'] == "oracle") { + /* ============================================================================================= */ + /* == MySQL == */ + /* ============================================================================================= */ + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-server']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-port']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-user']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-password']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-database']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-compress']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-squote']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-ccache']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-uid']); + /* ============================================================================================= */ + /* == SQLite == */ + /* ============================================================================================= */ + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['sqlite-pragma']); + /* ============================================================================================= */ + /* == PostgreSQL == */ + /* ============================================================================================= */ + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-server']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-port']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-user']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-password']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-database']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-ccache']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-uid']); + /* ============================================================================================= */ + /* == Hash == */ + /* ============================================================================================= */ + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-rec-max']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-auto-ex']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-max-ext']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-ext-size']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-max-seek']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-co-user']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['hash-co-cache']); + } else if ($_POST['storagedriver'] == "hash") { + /* ============================================================================================= */ + /* == MySQL == */ + /* ============================================================================================= */ + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-server']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-port']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-user']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-password']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-database']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-compress']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-squote']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-ccache']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['mysql-uid']); + /* ============================================================================================= */ + /* == SQLite == */ + /* ============================================================================================= */ + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['sqlite-pragma']); + /* ============================================================================================= */ + /* == PostgreSQL == */ + /* ============================================================================================= */ + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-server']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-port']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-user']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-password']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-database']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-ccache']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['pgsql-uid']); + /* ============================================================================================= */ + /* == Oracle == */ + /* ============================================================================================= */ + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['ora-server']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['ora-user']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['ora-password']); + unset($config['installedpackages']['dspam']['config'][0]['dbsettings'][0]['ora-schema']); + } + </stepsubmitphpaction> + <javascriptafterformdisplay> + function toggleDBSettings(idx) { + if (idx) + idx = idx; + else + idx = document.iform.storagedriver.selectedIndex; + + switch (idx) { + case 0: /* mysql */ + /* mysql specifics */ + trNode = document.iform.msqlserver.parentNode.parentNode; + trNode.style.display = "table-row"; + trNode = document.iform.msqlport.parentNode.parentNode; + trNode.style.display = "table-row"; + trNode = document.iform.msqluser.parentNode.parentNode; + trNode.style.display = "table-row"; + trNode = document.iform.msqlpwd.parentNode.parentNode; + trNode.style.display = "table-row"; + trNode = document.iform.msqldb.parentNode.parentNode; + trNode.style.display = "table-row"; + trNode = document.iform.msqlcomp.parentNode.parentNode; + trNode.style.display = "table-row"; + trNode = document.iform.msqlsuqt.parentNode.parentNode; + trNode.style.display = "table-row"; + trNode = document.iform.msqlccache.parentNode.parentNode; + trNode.style.display = "table-row"; + trNode = document.iform.msqluid.parentNode.parentNode; + trNode.style.display = "table-row"; + /* sqlite specifics */ + trNode = document.iform.slitepr.parentNode.parentNode; + trNode.style.display = "none"; + /* pgsql specifics */ + trNode = document.iform.pgserver.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pgport.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pguser.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pgpwd.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pgdb.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pgccache.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pguid.parentNode.parentNode; + trNode.style.display = "none"; + /* oracle specifics */ + trNode = document.iform.oraserver.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.orauser.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.orapwd.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.orasch.parentNode.parentNode; + trNode.style.display = "none"; + /* hash specifics */ + trNode = document.iform.hsrmax.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hsatex.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hsmxex.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hsexsz.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hsmxse.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hsccus.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hscoca.parentNode.parentNode; + trNode.style.display = "none"; + break; + case 1: /* sqlite */ + /* mysql specifics */ + trNode = document.iform.msqlserver.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqlport.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqluser.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqlpwd.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqldb.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqlcomp.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqlsuqt.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqlccache.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqluid.parentNode.parentNode; + trNode.style.display = "none"; + /* sqlite specifics */ + trNode = document.iform.slitepr.parentNode.parentNode; + trNode.style.display = "table-row"; + /* pgsql specifics */ + trNode = document.iform.pgserver.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pgport.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pguser.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pgpwd.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pgdb.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pgccache.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pguid.parentNode.parentNode; + trNode.style.display = "none"; + /* oracle specifics */ + trNode = document.iform.oraserver.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.orauser.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.orapwd.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.orasch.parentNode.parentNode; + trNode.style.display = "none"; + /* hash specifics */ + trNode = document.iform.hsrmax.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hsatex.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hsmxex.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hsexsz.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hsmxse.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hsccus.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hscoca.parentNode.parentNode; + trNode.style.display = "none"; + break; + case 2: /* bdb */ + /* mysql specifics */ + trNode = document.iform.msqlserver.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqlport.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqluser.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqlpwd.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqldb.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqlcomp.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqlsuqt.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqlccache.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqluid.parentNode.parentNode; + trNode.style.display = "none"; + /* sqlite specifics */ + trNode = document.iform.slitepr.parentNode.parentNode; + trNode.style.display = "none"; + /* pgsql specifics */ + trNode = document.iform.pgserver.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pgport.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pguser.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pgpwd.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pgdb.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pgccache.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pguid.parentNode.parentNode; + trNode.style.display = "none"; + /* oracle specifics */ + trNode = document.iform.oraserver.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.orauser.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.orapwd.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.orasch.parentNode.parentNode; + trNode.style.display = "none"; + /* hash specifics */ + trNode = document.iform.hsrmax.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hsatex.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hsmxex.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hsexsz.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hsmxse.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hsccus.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hscoca.parentNode.parentNode; + trNode.style.display = "none"; + break; + case 3: /* pgsql */ + /* mysql specifics */ + trNode = document.iform.msqlserver.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqlport.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqluser.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqlpwd.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqldb.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqlcomp.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqlsuqt.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqlccache.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqluid.parentNode.parentNode; + trNode.style.display = "none"; + /* sqlite specifics */ + trNode = document.iform.slitepr.parentNode.parentNode; + trNode.style.display = "none"; + /* pgsql specifics */ + trNode = document.iform.pgserver.parentNode.parentNode; + trNode.style.display = "table-row"; + trNode = document.iform.pgport.parentNode.parentNode; + trNode.style.display = "table-row"; + trNode = document.iform.pguser.parentNode.parentNode; + trNode.style.display = "table-row"; + trNode = document.iform.pgpwd.parentNode.parentNode; + trNode.style.display = "table-row"; + trNode = document.iform.pgdb.parentNode.parentNode; + trNode.style.display = "table-row"; + trNode = document.iform.pgccache.parentNode.parentNode; + trNode.style.display = "table-row"; + trNode = document.iform.pguid.parentNode.parentNode; + trNode.style.display = "table-row"; + /* oracle specifics */ + trNode = document.iform.oraserver.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.orauser.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.orapwd.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.orasch.parentNode.parentNode; + trNode.style.display = "none"; + /* hash specifics */ + trNode = document.iform.hsrmax.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hsatex.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hsmxex.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hsexsz.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hsmxse.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hsccus.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hscoca.parentNode.parentNode; + trNode.style.display = "none"; + break; + case 4: /* oracle */ + /* mysql specifics */ + trNode = document.iform.msqlserver.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqlport.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqluser.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqlpwd.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqldb.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqlcomp.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqlsuqt.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqlccache.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqluid.parentNode.parentNode; + trNode.style.display = "none"; + /* sqlite specifics */ + trNode = document.iform.slitepr.parentNode.parentNode; + trNode.style.display = "none"; + /* pgsql specifics */ + trNode = document.iform.pgserver.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pgport.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pguser.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pgpwd.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pgdb.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pgccache.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pguid.parentNode.parentNode; + trNode.style.display = "none"; + /* oracle specifics */ + trNode = document.iform.oraserver.parentNode.parentNode; + trNode.style.display = "table-row"; + trNode = document.iform.orauser.parentNode.parentNode; + trNode.style.display = "table-row"; + trNode = document.iform.orapwd.parentNode.parentNode; + trNode.style.display = "table-row"; + trNode = document.iform.orasch.parentNode.parentNode; + trNode.style.display = "table-row"; + /* hash specifics */ + trNode = document.iform.hsrmax.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hsatex.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hsmxex.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hsexsz.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hsmxse.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hsccus.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.hscoca.parentNode.parentNode; + trNode.style.display = "none"; + break; + case 5: /* hash */ + /* mysql specifics */ + trNode = document.iform.msqlserver.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqlport.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqluser.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqlpwd.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqldb.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqlcomp.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqlsuqt.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqlccache.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.msqluid.parentNode.parentNode; + trNode.style.display = "none"; + /* sqlite specifics */ + trNode = document.iform.slitepr.parentNode.parentNode; + trNode.style.display = "none"; + /* pgsql specifics */ + trNode = document.iform.pgserver.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pgport.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pguser.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pgpwd.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pgdb.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pgccache.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.pguid.parentNode.parentNode; + trNode.style.display = "none"; + /* oracle specifics */ + trNode = document.iform.oraserver.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.orauser.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.orapwd.parentNode.parentNode; + trNode.style.display = "none"; + trNode = document.iform.orasch.parentNode.parentNode; + trNode.style.display = "none"; + /* hash specifics */ + trNode = document.iform.hsrmax.parentNode.parentNode; + trNode.style.display = "table-row"; + trNode = document.iform.hsatex.parentNode.parentNode; + trNode.style.display = "table-row"; + trNode = document.iform.hsmxex.parentNode.parentNode; + trNode.style.display = "table-row"; + trNode = document.iform.hsexsz.parentNode.parentNode; + trNode.style.display = "table-row"; + trNode = document.iform.hsmxse.parentNode.parentNode; + trNode.style.display = "table-row"; + trNode = document.iform.hsccus.parentNode.parentNode; + trNode.style.display = "table-row"; + trNode = document.iform.hscoca.parentNode.parentNode; + trNode.style.display = "table-row"; + break; + } + } + + toggleDBSettings(0); + </javascriptafterformdisplay> +</step> +<step> + <id>4</id> + <includefile>dspam.inc</includefile> + <title>Delivery Settings</title> + <description> + On this page you will specify how DSPAM should deliver email messages to + their final destination. This could be either a local delivery method or + a TCP/IP based delivery method. + </description> + <fields> + <field> + <name>dagent</name> + <description>Specifies the local delivery agent DSPAM should call when delivering mail as a trusted user.</description> + <type>select</type> + <options> + <option> + <name>procmail</name> + <value>procmail</value> + </option> + <option> + <name>mail</name> + <value>mail</value> + </option> + <option> + <name>mail.local</name> + <value>mail.local</value> + </option> + <option> + <name>deliver</name> + <value>deliver</value> + </option> + <option> + <name>maildrop</name> + <value>maildrop</value> + </option> + <option> + <name>exim</name> + <value>exim</value> + </option> + </options> + <bindstofield>installedpackages->dspam->config->0->tdelivery-agent</bindstofield> + </field> + <field> + <donotdisable>true</donotdisable> + <name>dspamc</name> + <description>Use <code>dspamc</code> instead of <code>dspam</code> to locally deliver mails from the MTA to the user's mailbox (this pulls in DSPAM client/server settings).</description> + <type>checkbox</type> + </field> + <field> + <donotdisable>true</donotdisable> + <name>tcpipdel</name> + <description>Use TCP/IP based delivery. This option needs to be ticked if you are going to deliver via LMTP or SMTP.</description> + <type>checkbox</type> + <bindstofield>installedpackages->dspam->config->0->tcpip-delivery</bindstofield> + <enablefields>dhost,dport,dident,delproto</enablefields> + </field> + <field> + <name>dhost</name> + <type>input</type> + <donotdisable>false</donotdisable> + <bindstofield>installedpackages->dspam->config->0->tcpip-delivery-host</bindstofield> + <description>Alternatively, you may wish to use SMTP or LMTP delivery to deliver your message to the mail server.</description> + <validate>^[a-z0-9.|-]+$</validate> + <message>Host name field is invalid</message> + </field> + <field> + <name>dport</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->tcpip-delivery-port</bindstofield> + <description>Port number of a particular host.</description> + <validate>^[0-9]+$</validate> + <message>Port field is invalid</message> + </field> + <field> + <name>dident</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->tcpip-delivery-ident</bindstofield> + <description>A particular identification string.</description> + </field> + <field> + <name>delproto</name> + <description>A particular protocol typ. Either SMTP or LMTP.</description> + <type>select</type> + <options> + <option> + <name>ltmp</name> + <value>lmtp</value> + </option> + <option> + <name>smtp</name> + <value>smtp</value> + </option> + </options> + <bindstofield>installedpackages->dspam->config->0->tcpip-delivery-proto</bindstofield> + </field> + <field> + <name>onfail</name> + <description>What to do if local delivery or quarantine should fail.</description> + <type>select</type> + <options> + <option> + <name>error</name> + <value>error</value> + </option> + <option> + <name>unlearn</name> + <value>unlearn</value> + </option> + </options> + <bindstofield>installedpackages->dspam->config->0->delivery-onfail</bindstofield> + </field> + <field> + <name>Next</name> + <type>submit</type> + </field> + </fields> + <stepsubmitphpaction> + if($_POST['dspamc'] != "") { + /* DSPAM server settings */ + $config['installedpackages']['dspam']['config'][0]['dspam-server-port'] = "24"; + $config['installedpackages']['dspam']['config'][0]['dspam-server-queue-size'] = "32"; + $config['installedpackages']['dspam']['config'][0]['dspam-server-pid'] = "/var/run/dspam/dspam.pid"; + $config['installedpackages']['dspam']['config'][0]['dspam-server-mode'] = "auto"; + $config['installedpackages']['dspam']['config'][0]['dspam-server-params'] = "--deliver=innocent -d %u"; + $config['installedpackages']['dspam']['config'][0]['dspam-server-id'] = "abysseleven.abyssworld.de"; + $config['installedpackages']['dspam']['config'][0]['dspam-server-socket'] = "/var/run/dspam/dspam.sock"; + + /* server passwords */ + $config['installedpackages']['dspam']['config'][0]['server-pwd'][0]['value'] = "secret"; + $config['installedpackages']['dspam']['config'][0]['server-pwd'][0]['descr'] = "desc"; + $config['installedpackages']['dspam']['config'][0]['server-pwd'][1]['value'] = "password"; + $config['installedpackages']['dspam']['config'][0]['server-pwd'][1]['descr'] = "desc"; + + /* DSPAM client settings */ + $config['installedpackages']['dspam']['config'][0]['dspam-client-enable'] = "on"; + $config['installedpackages']['dspam']['config'][0]['dspam-client-host'] = "/tmp/dspam.sock"; + $config['installedpackages']['dspam']['config'][0]['dspam-client-port'] = "24"; + $config['installedpackages']['dspam']['config'][0]['dspam-client-id'] = "secret@Relay1"; + write_config(); + } + </stepsubmitphpaction> +</step> +<step> + <id>5</id> + <includefile>dspam.inc</includefile> + <title> DSPAM Debugging Options</title> + <description> + Usually the DSPAM binary that ships with pfSense does not contain debugging symbols. + Hence it makes little sense to enable debugging options. If you are quite certain that + your DSPAM distribution comes with debugging enabled you may tweak the below debugging + options. + </description> + <fields> + <field> + <donotdisable>true</donotdisable> + <name>enabledbg</name> + <description>Enable debugging.</description> + <type>checkbox</type> + <bindstofield>installedpackages->dspam->config->0->debug-enable</bindstofield> + <enablefields>debug,dopt</enablefields> + </field> + <field> + <name>debug</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->debug-whom</bindstofield> + <description>Enables debugging for some or all users.</description> + </field> + <field> + <name>dopt</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->debug-options</bindstofield> + <description>One or more of: process, classify, spam, fp, inoculation, corpus</description> + </field> + <field> + <name>Next</name> + <type>submit</type> + </field> + </fields> +</step> +<step> + <id>6</id> + <includefile>dspam.inc</includefile> + <title>DSPAM Engine Settings</title> + <description> + On this page you will find some specific options required to operate the DSPAM engine. Please + consult your <code>dspam.conf</code> for a detailed explanation of each option. + If you are unsure about the meaning of a particular option, please use the default values. + </description> + <fields> + <field> + <name>tmode</name> + <description> + The default training mode to use for all operations, when one has not + been specified on the commandline or in the user's preferences (default: teft). + </description> + <type>select</type> + <default_value>teft</default_value> + <options> + <option> + <name>toe</name> + <value>toe</value> + </option> + <option> + <name>tum</name> + <value>tum</value> + </option> + <option> + <name>teft</name> + <value>teft</value> + </option> + <option> + <name>notrain</name> + <value>notrain</value> + </option> + </options> + <bindstofield>installedpackages->dspam->config->0->training-mode</bindstofield> + </field> + <field> + <donotdisable>true</donotdisable> + <name>testct</name> + <default_value>on</default_value> + <description> + By default, dspam will retrain certain errors until the condition is + no longer met (default: enabled). + </description> + <type>checkbox</type> + <bindstofield>installedpackages->dspam->config->0->test-cond-training</bindstofield> + </field> + <field> + <name>pvalue</name> + <description> + Specify the technique used for calculating PValues, overriding any + defaults configured in the build (default: graham). + </description> + <type>select</type> + <default_value>teft</default_value> + <options> + <option> + <name>graham</name> + <value>graham</value> + </option> + <option> + <name>robinson</name> + <value>robinso</value> + </option> + <option> + <name>markov</name> + <value>markov</value> + </option> + </options> + <bindstofield>installedpackages->dspam->config->0->pvalue</bindstofield> + </field> + <field> + <donotdisable>true</donotdisable> + <name>ipdrive</name> + <default_value>on</default_value> + <description> + Calculate odds-ratios for ham/spam, and add to X-DSPAM-Improbability + headers (default: disabled). + </description> + <type>checkbox</type> + <bindstofield>installedpackages->dspam->config->0->improbability-drive</bindstofield> + </field> + <field> + <name>Next</name> + <type>submit</type> + </field> + </fields> +</step> +<step> + <id>7</id> + <includefile>dspam.inc</includefile> + <title>LDAP Settings</title> + <description> + DSPAM comes with the ability to verify users agains user records stored within a LDAP directory. + If using this option, it would be for example possible to verify mail users against Windows + user entries stored within an Active Directory. Please consider this feature as somewhat experimental. + </description> + <fields> + <field> + <donotdisable>true</donotdisable> + <name>enableldap</name> + <description>Enable checks against a LDAP directory.</description> + <type>checkbox</type> + <bindstofield>installedpackages->dspam->config->0->ldap-enable</bindstofield> + <enablefields>ldapmode,ldaphost,ldapfilter,ldapbase</enablefields> + </field> + <field> + <name>ldapmode</name> + <description> + Perform various LDAP functions depending on LDAPMode variable. + </description> + <type>select</type> + <default_value>verify</default_value> + <options> + <option> + <name>verify</name> + <value>verify</value> + </option> + </options> + <bindstofield>installedpackages->dspam->config->0->ldap-mode</bindstofield> + </field> + <field> + <name>ldaphost</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->ldap-host</bindstofield> + <description>Hostname of the LDAP directory server.</description> + </field> + <field> + <name>ldapfilter</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->ldap-filter</bindstofield> + <description>A specific query filter, that should be used while querying the LDAP server.</description> + </field> + <field> + <name>ldapbase</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->ldap-base</bindstofield> + <description>A particular distinguish name from where to start LDAP queries.</description> + </field> + <field> + <name>Next</name> + <type>submit</type> + </field> + </fields> +</step> +<step> + <id>8</id> + <includefile>dspam.inc</includefile> + <title>Miscellaneous Settings</title> + <description> + On this page we will give you an opertunity to fine-tune the DSPAM engine. As mentioned earlier, + if you are unsure about the meaning of a particular option, use its default value. + </description> + <fields> + <field> + <name>foatt</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->failover-attempts</bindstofield> + <description>A particular number of attempts (default: 1).</description> + </field> + <field> + <donotdisable>true</donotdisable> + <name>enablesbl</name> + <description>Enable checks against a particular SBL host (default: disabled).</description> + <type>checkbox</type> + <bindstofield>installedpackages->dspam->config->0->sbl-enable</bindstofield> + <enablefields>sblhost</enablefields> + </field> + <field> + <name>sblhost</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->sbl-host</bindstofield> + <description>A particular SBL hostname (default: none).</description> + <size>30</size> + </field> + <field> + <donotdisable>true</donotdisable> + <name>enablerbl</name> + <description>Enable RBL inoculation support (default: disabled).</description> + <type>checkbox</type> + <bindstofield>installedpackages->dspam->config->0->rbl-inoculate</bindstofield> + </field> + <field> + <donotdisable>true</donotdisable> + <name>enablenoti</name> + <description>Enable the sending of notification emails to users (first message, quarantine full, etc. default: disabled).</description> + <type>checkbox</type> + <bindstofield>installedpackages->dspam->config->0->notification-email</bindstofield> + </field> + <field> + <name>Next</name> + <type>submit</type> + </field> + </fields> +</step> +<step> + <id>9</id> + <includefile>dspam.inc</includefile> + <title>Maintainance Settings</title> + <description> + DSPAM stores token data etc. in some kind of a database (e.g. a RDBMS or flat files). + Over time, this token data may consume lots of space. Hence it makes sense to run + certain routines to clean up unused data. + </description> + <fields> + <field> + <name>psig</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->purge-signatures</bindstofield> + <description>Purge stale signatures (default: 14).</description> + </field> + <field> + <name>pneut</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->purge-neutral</bindstofield> + <description>Purge tokens with neutralish probabilities (default: 90).</description> + </field> + <field> + <name>punu</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->purge-unused</bindstofield> + <description>Purge unused tokens (default: 90).</description> + </field> + <field> + <name>phapa</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->purge-hapaxes</bindstofield> + <description> Purge tokens with less than 5 hits (hapaxes - default: 30).</description> + </field> + <field> + <name>pones</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->purge-hits-1s</bindstofield> + <description>Purge tokens with only 1 spam hit (default: 15).</description> + </field> + <field> + <name>ponei</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->purge-hits-1i</bindstofield> + <description> Purge tokens with only 1 innocent hit (default: 15).</description> + </field> + <field> + <name>Next</name> + <type>submit</type> + </field> + </fields> +</step> +<step> + <id>10</id> + <includefile>dspam.inc</includefile> + <title>System Settings</title> + <description> + This page contains additional settings related to the DSPAM system such as logging, + message processing behaviour et cetera. + </description> + <fields> + <field> + <name>locmx</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->local-mx</bindstofield> + <description> + 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 (default: 127.0.0.1). + </description> + </field> + <field> + <donotdisable>true</donotdisable> + <name>enablesysl</name> + <description>Enable system logging (default: enabled).</description> + <type>checkbox</type> + <bindstofield>installedpackages->dspam->config->0->system-log</bindstofield> + </field> + <field> + <donotdisable>true</donotdisable> + <name>enableusel</name> + <description>Enable per user logging (default: enabled).</description> + <type>checkbox</type> + <bindstofield>installedpackages->dspam->config->0->user-log</bindstofield> + </field> + <field> + <name>optinout</name> + <description> + Opt: in or out; determines DSPAM's default filtering behavior (default: out). + </description> + <type>select</type> + <default_value>out</default_value> + <options> + <option> + <name>out</name> + <value>out</value> + </option> + <option> + <name>in</name> + <value>in</value> + </option> + </options> + <bindstofield>installedpackages->dspam->config->0->filter-opt</bindstofield> + </field> + <field> + <donotdisable>true</donotdisable> + <name>enableptoh</name> + <description>Parse the To: headers of an incoming message. (default: disabled).</description> + <type>checkbox</type> + <bindstofield>installedpackages->dspam->config->0->parse-to-headers</bindstofield> + </field> + <field> + <donotdisable>true</donotdisable> + <name>enablecmop</name> + <description>Automatically change the class (to spam or innocent - default: disabled).</description> + <type>checkbox</type> + <bindstofield>installedpackages->dspam->config->0->change-mode-on-parse</bindstofield> + </field> + <field> + <donotdisable>true</donotdisable> + <name>enablecuop</name> + <description>Automatically change the username to match that specified in the To: header (default: enabled).</description> + <type>checkbox</type> + <bindstofield>installedpackages->dspam->config->0->change-user-on-parse</bindstofield> + </field> + <field> + <name>maxmsgs</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->max-message-size</bindstofield> + <description> + You may specify a maximum message size in bytes for DSPAM to process. (default: 307200). + </description> + </field> + <field> + <donotdisable>true</donotdisable> + <name>procbias</name> + <description> + 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 (default: enabled). + </description> + <type>checkbox</type> + <bindstofield>installedpackages->dspam->config->0->processor-bias</bindstofield> + </field> + <field> + <name>Next</name> + <type>submit</type> + </field> + </fields> +</step> +<step> + <id>11</id> + <includefile>dspam.inc</includefile> + <title>ClamAV Engine Settings</title> + <description> + DSPAM comes with an additional feature which allows to scan mail messages + for malicious code (i.e. virii). If you require messages not only to be + classified as Spam/Ham but additionally to be scanned for virii, enable + to appropriate option below. + </description> + <fields> + <field> + <donotdisable>true</donotdisable> + <name>enableclam</name> + <description>Enable ClamAV Engine (default: disabled).</description> + <type>checkbox</type> + <bindstofield>installedpackages->dspam->config->0->clamav-enable</bindstofield> + <enablefields>clamport,clamhost,clamresp</enablefields> + </field> + <field> + <name>clamport</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->clamav-port</bindstofield> + <description>A number that specifies the port the ClamAV daemon is listening to (default: none).</description> + </field> + <field> + <name>clamhost</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->clamav-host</bindstofield> + <description>An IP address that points to the host the ClamAV daemon is running on (default: none).</description> + </field> + <field> + <name>clamresp</name> + <description>The action that should take place, if ClamAV reports a positive (default: none).</description> + <type>select</type> + <default_value>accept</default_value> + <options> + <option> + <name>reject</name> + <value>reject</value> + </option> + <option> + <name>accept</name> + <value>accept</value> + </option> + <option> + <name>spam</name> + <value>spam</value> + </option> + </options> + <bindstofield>installedpackages->dspam->config->0->clamav-response</bindstofield> + </field> + <field> + <name>Next</name> + <type>submit</type> + </field> + </fields> +</step> +<step> + <id>12</id> + <includefile>dspam.inc</includefile> + <title>DSPAM Daemon Settings (Server)</title> + <description> + DSPAM can be either invoked per message (i.e. a thread per message) or it + can be run as a daemon in the background. The latter option enables DSPAM + to maintain database connection pools which may increase overall performance. + Based on the profile, that you did choose initially, some of the below options + may be already set. + </description> + <fields> + <field> + <name>dsport</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dspam-server-port</bindstofield> + <description>A number that specifies the port the DSPAM daemon is listening to (default: none).</description> + </field> + <field> + <name>dsqsize</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dspam-server-queue-size</bindstofield> + <description>A number that specifies the server's queue size (default: none).</description> + </field> + <field> + <name>dspid</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dspam-server-pid</bindstofield> + <description> Keep this is sync with <code>/usr/local/etc/rc.d/dspam.rc</code> script (default: none).</description> + <size>40</size> + </field> + <field> + <name>dssmode</name> + <description>Specifies the type of LMTP server to start. (default: none).</description> + <type>select</type> + <default_value>auto</default_value> + <options> + <option> + <name>dspam</name> + <value>dspam</value> + </option> + <option> + <name>standard</name> + <value>standard</value> + </option> + <option> + <name>auto</name> + <value>auto</value> + </option> + </options> + <bindstofield>installedpackages->dspam->config->0->dspam-server-mode</bindstofield> + </field> + <field> + <name>serverparam</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dspam-server-params</bindstofield> + <description>Parameters which will be passed to the LMTP server (default: none).</description> + </field> + <field> + <name>serverid</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dspam-server-id</bindstofield> + <description>An identification string which will be used to be passed to the LMTP server (default: none).</description> + </field> + <field> + <name>serversock</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dspam-server-socket</bindstofield> + <description>A local Unix domain socket (default: none).</description> + <size>40</size> + </field> + <field> + <name>Next</name> + <type>submit</type> + </field> + </fields> +</step> +<step> + <id>13</id> + <includefile>dspam.inc</includefile> + <title>DSPAM Daemon Settings (Client)</title> + <description> + If you did configure DSPAM to run in dspam mode, it is required to configure + client settings because DSPAM needs for example to authenticate against its + server counterpart. + </description> + <fields> + <field> + <donotdisable>true</donotdisable> + <name>enabledsclient</name> + <description>Run DSPAM in client mode (default: disabled).</description> + <type>checkbox</type> + <bindstofield>installedpackages->dspam->config->0->dspam-client-enable</bindstofield> + <enablefields>dsclhost,dsclport,dsclident</enablefields> + </field> + <field> + <name>dsclhost</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dspam-client-host</bindstofield> + <description>An IP address or a Unix domain socket (default: none).</description> + </field> + <field> + <name>dsclport</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dspam-client-port</bindstofield> + <description>Will be only used if this client uses TCP/IP communication (default: none).</description> + </field> + <field> + <name>dsclident</name> + <type>input</type> + <bindstofield>installedpackages->dspam->config->0->dspam-client-id</bindstofield> + <description>A string that will be used to identify the client against a server. (default: none).</description> + <size>40</size> + </field> + <field> + <name>Next</name> + <type>submit</type> + </field> + </fields> +</step> +<step> + <id>14</id> + <includefile>dspam.inc</includefile> + <title>Reload configuration</title> + <disableheader>true</disableheader> + <description>Click 'Reload' to reload the DSPAM daemon with new changes.</description> + <fields> + <field> + <name>Reload</name> + <type>submit</type> + </field> + </fields> +</step> +<step> + <id>15</id> + <includefile>dspam.inc</includefile> + <title>Reload in progress</title> + <description> + A reload is now in progress. Please wait. <p> The system will + automatically try to access DSPAM settings in 120 page seconds. <p> + You can click on the icon above to access the site more quickly. + </description> + <javascriptafterformdisplay> + window.setTimeout('window.location.href = "/dspam-settings.php"', 120000); + </javascriptafterformdisplay> + <stepafterformdisplay> + dspam_configure(); + mwexec("/usr/local/etc/rc.d/spamd.sh stop"); + mwexec("/usr/local/etc/rc.d/spamd.sh start"); + </stepafterformdisplay> +</step> +</pfsensewizard> |