| 1 | ## $Id: dspam.conf.in,v 1.103 2011/11/10 00:27:34 tomhendr Exp $ |
|---|
| 2 | ## dspam.conf -- DSPAM configuration file |
|---|
| 3 | ## |
|---|
| 4 | |
|---|
| 5 | # |
|---|
| 6 | # DSPAM Home: Specifies the base directory to be used for DSPAM storage |
|---|
| 7 | # |
|---|
| 8 | Home @dspam_home@ |
|---|
| 9 | |
|---|
| 10 | # |
|---|
| 11 | # StorageDriver: Specifies the storage driver backend (library) to use. |
|---|
| 12 | # You'll only need to set this if you are using dynamic storage driver plugins |
|---|
| 13 | # from a binary distribution. The default build statically links the storage |
|---|
| 14 | # driver (when only one is specified at configure time), overriding this |
|---|
| 15 | # setting, which only comes into play if multiple storage drivers are specified |
|---|
| 16 | # at configure time. When using dynamic linking, be sure to include the path |
|---|
| 17 | # to the library if necessary, and some systems may use an extension other |
|---|
| 18 | # than .so (e.g. OSX uses .dylib). |
|---|
| 19 | # |
|---|
| 20 | # Options include: |
|---|
| 21 | # |
|---|
| 22 | # libmysql_drv.so libpgsql_drv.so libsqlite_drv.so |
|---|
| 23 | # libsqlite3_drv.so libhash_drv.so |
|---|
| 24 | # |
|---|
| 25 | # IMPORTANT: Switching storage drivers requires more than merely changing |
|---|
| 26 | # this option. If you do not wish to lose all of your data, you will need to |
|---|
| 27 | # migrate it to the new backend before making this change. |
|---|
| 28 | # |
|---|
| 29 | StorageDriver @libdir@/dspam/@storage_driver@ |
|---|
| 30 | |
|---|
| 31 | # |
|---|
| 32 | # Trusted Delivery Agent: Specifies the local delivery agent DSPAM should call |
|---|
| 33 | # when delivering mail as a trusted user. Use %u to specify the user DSPAM is |
|---|
| 34 | # processing mail for. It is generally a good idea to allow the MTA to specify |
|---|
| 35 | # the pass-through arguments at run-time, but they may also be specified here. |
|---|
| 36 | # |
|---|
| 37 | # Most operating system defaults: |
|---|
| 38 | #TrustedDeliveryAgent "/usr/bin/procmail" # Linux |
|---|
| 39 | #TrustedDeliveryAgent "/usr/bin/mail" # Solaris |
|---|
| 40 | #TrustedDeliveryAgent "/usr/libexec/mail.local" # FreeBSD |
|---|
| 41 | #TrustedDeliveryAgent "/usr/bin/procmail" # Cygwin |
|---|
| 42 | # |
|---|
| 43 | # Other popular configurations: |
|---|
| 44 | #TrustedDeliveryAgent "/usr/cyrus/bin/deliver" # Cyrus |
|---|
| 45 | #TrustedDeliveryAgent "/bin/maildrop" # Maildrop |
|---|
| 46 | #TrustedDeliveryAgent "/usr/local/sbin/exim -oMr spam-scanned" # Exim |
|---|
| 47 | # |
|---|
| 48 | TrustedDeliveryAgent "@delivery_agent@" |
|---|
| 49 | |
|---|
| 50 | # |
|---|
| 51 | # Untrusted Delivery Agent: Specifies the local delivery agent and arguments |
|---|
| 52 | # DSPAM should use when delivering mail and running in untrusted user mode. |
|---|
| 53 | # Because DSPAM will not allow pass-through arguments to be specified to |
|---|
| 54 | # untrusted users, all arguments should be specified here. Use %u to specify |
|---|
| 55 | # the user DSPAM is processing mail for. This configuration parameter is only |
|---|
| 56 | # necessary if you plan on allowing untrusted processing. |
|---|
| 57 | # |
|---|
| 58 | #UntrustedDeliveryAgent "/usr/bin/procmail -d %u" |
|---|
| 59 | |
|---|
| 60 | # |
|---|
| 61 | # SMTP or LMTP Delivery: Alternatively, you may wish to use SMTP or LMTP |
|---|
| 62 | # delivery to deliver your message to the mail server instead of using a |
|---|
| 63 | # delivery agent. You will need to configure with --enable-daemon to use host |
|---|
| 64 | # delivery, however you do not need to operate in daemon mode. Specify an IP |
|---|
| 65 | # address or UNIX path to a domain socket below as a host. |
|---|
| 66 | # |
|---|
| 67 | # If you would like to set up DeliveryHost's on a per-domain basis, use |
|---|
| 68 | # the syntax: DeliveryHost.example.org 1.2.3.4 |
|---|
| 69 | # |
|---|
| 70 | #DeliveryHost 127.0.0.1 |
|---|
| 71 | #DeliveryPort 24 |
|---|
| 72 | #DeliveryIdent localhost |
|---|
| 73 | #DeliveryProto LMTP |
|---|
| 74 | |
|---|
| 75 | # |
|---|
| 76 | # FallbackDomains: If you want to specify certain domains as fallback domains, |
|---|
| 77 | # enable this option. For example, you could create a user @example.org, and |
|---|
| 78 | # if bob@example.org does not resolve to a known user on the system, the user |
|---|
| 79 | # could default to your @example.org user. NOTE: This also requires designating |
|---|
| 80 | # fallbackDomain for the domain name; |
|---|
| 81 | # e.g. dspam_admin ch pref example.org fallbackDomain on |
|---|
| 82 | # |
|---|
| 83 | #FallbackDomains on |
|---|
| 84 | |
|---|
| 85 | # |
|---|
| 86 | # Quarantine Agent: DSPAM's default behavior is to quarantine all mail it |
|---|
| 87 | # thinks is spam. If you wish to override this behavior, you may specify |
|---|
| 88 | # a quarantine agent which will be called with all messages DSPAM thinks is |
|---|
| 89 | # spam. Use %u to specify the user DSPAM is processing mail for. |
|---|
| 90 | # |
|---|
| 91 | #QuarantineAgent "/usr/bin/procmail -d spam" |
|---|
| 92 | |
|---|
| 93 | # |
|---|
| 94 | # DSPAM can optionally process "plused users" (addresses in the user+detail |
|---|
| 95 | # form) by truncating the username just before the "+", so all internal |
|---|
| 96 | # processing occurs for "user", but delivery will be performed for |
|---|
| 97 | # "user+detail". This is only useful if the LDA can handle "plused users" |
|---|
| 98 | # (for example Cyrus IMAP) and when configured for LMTP delivery above |
|---|
| 99 | # |
|---|
| 100 | #EnablePlusedDetail on |
|---|
| 101 | |
|---|
| 102 | # |
|---|
| 103 | # Character to use as seperator between user names and address extensions. |
|---|
| 104 | # If you change this value then please adjust QuarantineMailbox to use the |
|---|
| 105 | # new specified character. The default is '+'. |
|---|
| 106 | # |
|---|
| 107 | #PlusedCharacter + |
|---|
| 108 | |
|---|
| 109 | # |
|---|
| 110 | # Turn this feature on if you want to force DSPAM to lowercase the "plused |
|---|
| 111 | # users" username. |
|---|
| 112 | # |
|---|
| 113 | #PlusedUserLowercase on |
|---|
| 114 | |
|---|
| 115 | # |
|---|
| 116 | # Quarantine Mailbox: DSPAM's LMTP code can send spam mail using LMTP to a |
|---|
| 117 | # "plused" mailbox (such as user+quarantine) leaving quarantine processing |
|---|
| 118 | # for retraining or deletion to be performed by the LDA and the mail client. |
|---|
| 119 | # "plused" mailboxes are supported by Cyrus IMAP and possibly other LDAs. If |
|---|
| 120 | # you don't set/change PlusedCharacter then the mailbox name must have the + |
|---|
| 121 | # since the + is the default used character. |
|---|
| 122 | # |
|---|
| 123 | #QuarantineMailbox +quarantine |
|---|
| 124 | |
|---|
| 125 | # |
|---|
| 126 | # OnFail: What to do if local delivery or quarantine should fail. If set |
|---|
| 127 | # to "unlearn", DSPAM will unlearn the message prior to exiting with an |
|---|
| 128 | # un successful return code. The default option, "error" will not unlearn |
|---|
| 129 | # the message but return the appropriate error code. The unlearn option |
|---|
| 130 | # is use-ful on some systems where local delivery failures will cause the |
|---|
| 131 | # message to be requeued for delivery, and could result in the message |
|---|
| 132 | # being processed multiple times. During a very large failure, however, |
|---|
| 133 | # this could cause a significant load increase. |
|---|
| 134 | # |
|---|
| 135 | OnFail error |
|---|
| 136 | |
|---|
| 137 | # |
|---|
| 138 | # Trusted Users: Only the users specified below will be allowed to perform |
|---|
| 139 | # administrative functions in DSPAM such as setting the active user and |
|---|
| 140 | # accessing tools. All other users attempting to run DSPAM will be restricted; |
|---|
| 141 | # their uids will be forced to match the active username and they will not be |
|---|
| 142 | # able to specify delivery agent privileges or use tools. |
|---|
| 143 | # |
|---|
| 144 | Trust root |
|---|
| 145 | Trust dspam |
|---|
| 146 | Trust apache |
|---|
| 147 | Trust mail |
|---|
| 148 | Trust mailnull |
|---|
| 149 | Trust smmsp |
|---|
| 150 | Trust daemon |
|---|
| 151 | #Trust nobody |
|---|
| 152 | #Trust majordomo |
|---|
| 153 | |
|---|
| 154 | # |
|---|
| 155 | # Debugging: Enables debugging for some or all users. IMPORTANT: DSPAM must |
|---|
| 156 | # be compiled with debug support in order to use this option. DSPAM should |
|---|
| 157 | # never be running in production with debug active unless you are |
|---|
| 158 | # troubleshooting problems. |
|---|
| 159 | # |
|---|
| 160 | # DebugOpt: One or more of: process, classify, spam, fp, inoculation, corpus |
|---|
| 161 | # process standard message processing |
|---|
| 162 | # classify message classification using --classify |
|---|
| 163 | # spam error correction of missed spam |
|---|
| 164 | # fp error correction of false positives |
|---|
| 165 | # inoculation message inoculations (source=inoculation) |
|---|
| 166 | # corpus corpusfed messages (source=corpus) |
|---|
| 167 | # |
|---|
| 168 | #Debug * |
|---|
| 169 | #Debug bob bill |
|---|
| 170 | # |
|---|
| 171 | #DebugOpt process spam fp |
|---|
| 172 | |
|---|
| 173 | # |
|---|
| 174 | # ClassAlias: Alias a particular class to spam/nonspam. This is useful if |
|---|
| 175 | # classifying things other than spam. |
|---|
| 176 | # |
|---|
| 177 | #ClassAliasSpam badstuff |
|---|
| 178 | #ClassAliasNonspam goodstuff |
|---|
| 179 | |
|---|
| 180 | # |
|---|
| 181 | # Training Mode: The default training mode to use for all operations, when |
|---|
| 182 | # one has not been specified on the commandline or in the user's preferences. |
|---|
| 183 | # Acceptable values are: |
|---|
| 184 | # toe Train on Error (Only) |
|---|
| 185 | # teft Train Everything (Trains on every message) |
|---|
| 186 | # tum Train Until Mature (Train only tokens without enough data) |
|---|
| 187 | # notrain Do not train or store signatures (large ISP systems, post-train) |
|---|
| 188 | # |
|---|
| 189 | TrainingMode teft |
|---|
| 190 | |
|---|
| 191 | # |
|---|
| 192 | # TestConditionalTraining: By default, dspam will retrain certain errors |
|---|
| 193 | # until the condition is no longer met. This usually accelerates learning. |
|---|
| 194 | # Some people argue that this can increase the risk of errors, however. |
|---|
| 195 | # |
|---|
| 196 | TestConditionalTraining on |
|---|
| 197 | |
|---|
| 198 | # |
|---|
| 199 | # Features: Specify features to activate by default; can also be specified |
|---|
| 200 | # on the commandline. See the documentation for a list of available features. |
|---|
| 201 | # If _any_ features are specified on the commandline, these are ignored. |
|---|
| 202 | # |
|---|
| 203 | #Feature noise |
|---|
| 204 | Feature whitelist |
|---|
| 205 | |
|---|
| 206 | # Training Buffer: The training buffer waters down statistics during training. |
|---|
| 207 | # It is designed to prevent false positives, but can also dramatically reduce |
|---|
| 208 | # dspam's catch rate during initial training. This can be a number from 0 |
|---|
| 209 | # (no buffering) to 10 (maximum buffering). If you are paranoid about false |
|---|
| 210 | # positives, you should probably enable this option. |
|---|
| 211 | # |
|---|
| 212 | #Feature tb=5 |
|---|
| 213 | |
|---|
| 214 | # |
|---|
| 215 | # Algorithms: Specify the statistical algorithms to use, overriding any |
|---|
| 216 | # defaults configured in the build. The options are: |
|---|
| 217 | # naive Naive-Bayesian (All Tokens) |
|---|
| 218 | # graham Graham-Bayesian ("A Plan for Spam") |
|---|
| 219 | # burton Burton-Bayesian (SpamProbe) |
|---|
| 220 | # robinson Robinson's Geometric Mean Test (Obsolete) |
|---|
| 221 | # chi-square Fisher-Robinson's Chi-Square Algorithm |
|---|
| 222 | # |
|---|
| 223 | # You may have multiple algorithms active simultaneously, but it is strongly |
|---|
| 224 | # recommended that you group Bayesian algorithms with other Bayesian |
|---|
| 225 | # algorithms, and any use of Chi-Square remain exclusive. |
|---|
| 226 | # |
|---|
| 227 | # NOTE: For standard "CRM114" Markovian weighting, use 'naive', or consider |
|---|
| 228 | # using 'burton' for slightly better accuracy |
|---|
| 229 | # |
|---|
| 230 | # Don't mess with this unless you know what you're doing |
|---|
| 231 | # |
|---|
| 232 | #Algorithm chi-square |
|---|
| 233 | #Algorithm naive |
|---|
| 234 | Algorithm graham burton |
|---|
| 235 | |
|---|
| 236 | # |
|---|
| 237 | # Tokenizer: Specify the tokenizer to use. The tokenizer is the piece |
|---|
| 238 | # responsible for parsing the message into individual tokens. Depending on |
|---|
| 239 | # how many resources you are willing to trade off vs. accuracy, you may |
|---|
| 240 | # choose to use a less or more detailed tokenizer: |
|---|
| 241 | # word uniGram (single word) tokenizer |
|---|
| 242 | # Tokenizes message into single individual words/tokens |
|---|
| 243 | # example: "free" and "viagra" |
|---|
| 244 | # chain biGram (chained tokens) tokenizer (default) |
|---|
| 245 | # Single words + chains adjacent tokens together |
|---|
| 246 | # example: "free" and "viagra" and "free viagra" |
|---|
| 247 | # sbph Sparse Binary Polynomial Hashing tokenizer |
|---|
| 248 | # Creates sparse token patterns across sliding window of 5-tokens |
|---|
| 249 | # example: "the quick * fox jumped" and "the * * fox jumped" |
|---|
| 250 | # osb Orthogonal Sparse biGram tokenizer |
|---|
| 251 | # Similar to SBPH, but only uses the biGrams |
|---|
| 252 | # example: "the * * fox" and "the * * * jumped" |
|---|
| 253 | # |
|---|
| 254 | # In general the reccomendation is to use 'osb' for new installations. |
|---|
| 255 | # The default value of 'chain' remains here as not to surprise anyone upgrading |
|---|
| 256 | # that has not changed from the default value. |
|---|
| 257 | # |
|---|
| 258 | Tokenizer chain |
|---|
| 259 | |
|---|
| 260 | # |
|---|
| 261 | # PValue: Specify the technique used for calculating Probability Values, |
|---|
| 262 | # overriding any defaults configured in the build. These options are: |
|---|
| 263 | # bcr Bayesian Chain Rule (Graham's Technique - "A Plan for Spam") |
|---|
| 264 | # robinson Robinson's Technique (used in Chi-Square) |
|---|
| 265 | # markov Markovian Weighted Technique (for Markovian discrimination) |
|---|
| 266 | # |
|---|
| 267 | # Unlike the "Algorithms" property, you may only have one of these defined. |
|---|
| 268 | # Use of the chi-square algorithm automatically changes this to robinson. |
|---|
| 269 | # |
|---|
| 270 | # Don't mess with this unless you know what you're doing. |
|---|
| 271 | # |
|---|
| 272 | #PValue robinson |
|---|
| 273 | #PValue markov |
|---|
| 274 | PValue bcr |
|---|
| 275 | |
|---|
| 276 | # |
|---|
| 277 | # WebStats: Enable this if you are using the CGI, which writes .stats files |
|---|
| 278 | WebStats on |
|---|
| 279 | |
|---|
| 280 | # |
|---|
| 281 | # ImprobabilityDrive: Calculate odds-ratios for ham/spam, and add to |
|---|
| 282 | # X-DSPAM-Improbability headers |
|---|
| 283 | # |
|---|
| 284 | #ImprobabilityDrive on |
|---|
| 285 | |
|---|
| 286 | # |
|---|
| 287 | # Preferences: Specify any preferences to set by default, unless otherwise |
|---|
| 288 | # overridden by the user (see next section) or a default.prefs file. |
|---|
| 289 | # If user or default.prefs are found, the user's preferences will override any |
|---|
| 290 | # defaults. |
|---|
| 291 | # |
|---|
| 292 | Preference "trainingMode=TEFT" # { TOE | TUM | TEFT | NOTRAIN } -> default:teft |
|---|
| 293 | Preference "spamAction=quarantine" # { quarantine | tag | deliver } -> default:quarantine |
|---|
| 294 | Preference "spamSubject=[SPAM]" # { string } -> default:[SPAM] |
|---|
| 295 | Preference "statisticalSedation=5" # { 0 - 10 } -> default:0 |
|---|
| 296 | Preference "enableBNR=on" # { on | off } -> default:off |
|---|
| 297 | Preference "enableWhitelist=on" # { on | off } -> default:on |
|---|
| 298 | Preference "signatureLocation=message" # { message | headers } -> default:message |
|---|
| 299 | Preference "tagSpam=off" # { on | off } |
|---|
| 300 | Preference "tagNonspam=off" # { on | off } |
|---|
| 301 | Preference "showFactors=off" # { on | off } -> default:off |
|---|
| 302 | Preference "optIn=off" # { on | off } |
|---|
| 303 | Preference "optOut=off" # { on | off } |
|---|
| 304 | Preference "whitelistThreshold=10" # { Integer } -> default:10 |
|---|
| 305 | Preference "makeCorpus=off" # { on | off } -> default:off |
|---|
| 306 | Preference "storeFragments=off" # { on | off } -> default:off |
|---|
| 307 | Preference "localStore=" # { on | off } -> default:username |
|---|
| 308 | Preference "processorBias=on" # { on | off } -> default:on |
|---|
| 309 | Preference "fallbackDomain=off" # { on | off } -> default:off |
|---|
| 310 | Preference "trainPristine=off" # { on | off } -> default:off |
|---|
| 311 | Preference "optOutClamAV=off" # { on | off } -> default:off |
|---|
| 312 | Preference "ignoreRBLLookups=off" # { on | off } -> default:off |
|---|
| 313 | Preference "RBLInoculate=off" # { on | off } -> default:off |
|---|
| 314 | Preference "notifications=off" # { on | off } -> default:off |
|---|
| 315 | |
|---|
| 316 | # |
|---|
| 317 | # Overrides: Specifies the user preferences which may override configuration |
|---|
| 318 | # and commandline defaults. Any other preferences supplied by an untrusted user |
|---|
| 319 | # will be ignored. |
|---|
| 320 | # |
|---|
| 321 | AllowOverride enableBNR |
|---|
| 322 | AllowOverride enableWhitelist |
|---|
| 323 | AllowOverride fallbackDomain |
|---|
| 324 | AllowOverride ignoreGroups |
|---|
| 325 | AllowOverride ignoreRBLLookups |
|---|
| 326 | AllowOverride localStore |
|---|
| 327 | AllowOverride makeCorpus |
|---|
| 328 | AllowOverride optIn |
|---|
| 329 | AllowOverride optOut |
|---|
| 330 | AllowOverride optOutClamAV |
|---|
| 331 | AllowOverride processorBias |
|---|
| 332 | AllowOverride RBLInoculate |
|---|
| 333 | AllowOverride showFactors |
|---|
| 334 | AllowOverride signatureLocation |
|---|
| 335 | AllowOverride spamAction |
|---|
| 336 | AllowOverride spamSubject |
|---|
| 337 | AllowOverride statisticalSedation |
|---|
| 338 | AllowOverride storeFragments |
|---|
| 339 | AllowOverride tagNonspam |
|---|
| 340 | AllowOverride tagSpam |
|---|
| 341 | AllowOverride trainPristine |
|---|
| 342 | AllowOverride trainingMode |
|---|
| 343 | AllowOverride whitelistThreshold |
|---|
| 344 | AllowOverride dailyQuarantineSummary |
|---|
| 345 | AllowOverride notifications |
|---|
| 346 | |
|---|
| 347 | # --- MySQL --- |
|---|
| 348 | |
|---|
| 349 | # |
|---|
| 350 | # Storage driver settings: Specific to a particular storage driver. Uncomment |
|---|
| 351 | # the configuration specific to your installation, if applicable. |
|---|
| 352 | # |
|---|
| 353 | #MySQLServer /var/lib/mysql/mysql.sock |
|---|
| 354 | #MySQLPort |
|---|
| 355 | #MySQLUser dspam |
|---|
| 356 | #MySQLPass changeme |
|---|
| 357 | #MySQLDb dspam |
|---|
| 358 | #MySQLCompress true |
|---|
| 359 | #MySQLReconnect true |
|---|
| 360 | |
|---|
| 361 | # If you are using replication for clustering, you can also specify a separate |
|---|
| 362 | # server to perform all writes to. |
|---|
| 363 | # |
|---|
| 364 | #MySQLWriteServer /var/lib/mysql/mysql.sock |
|---|
| 365 | #MySQLWritePort |
|---|
| 366 | #MySQLWriteUser dspam |
|---|
| 367 | #MySQLWritePass changeme |
|---|
| 368 | #MySQLWriteDb dspam_write |
|---|
| 369 | #MySQLCompress true |
|---|
| 370 | #MySQLReconnect true |
|---|
| 371 | |
|---|
| 372 | # If your replication isn't close to real-time, your retraining might fail if |
|---|
| 373 | # the signature isn't found. One workaround for this is to use the write |
|---|
| 374 | # database for all signature reads: |
|---|
| 375 | # |
|---|
| 376 | #MySQLReadSignaturesFromWriteDb on |
|---|
| 377 | |
|---|
| 378 | # If you're running DSPAM in client/server (daemon) mode, uncomment the |
|---|
| 379 | # setting below to override the default connection cache size (the number |
|---|
| 380 | # of connections the server pools between all clients). The connection cache |
|---|
| 381 | # represents the maximum number of database connections *available* and should |
|---|
| 382 | # be set based on the maximum number of concurrent connections you're likely |
|---|
| 383 | # to have. Each connection may be used by only one thread at a time, so all |
|---|
| 384 | # other threads _will block_ until another connection becomes available. |
|---|
| 385 | # |
|---|
| 386 | #MySQLConnectionCache 10 |
|---|
| 387 | |
|---|
| 388 | # If you're using vpopmail or some other type of virtual setup and wish to |
|---|
| 389 | # change the table dspam uses to perform username/uid lookups, you can over- |
|---|
| 390 | # ride it below |
|---|
| 391 | |
|---|
| 392 | #MySQLVirtualTable dspam_virtual_uids |
|---|
| 393 | #MySQLVirtualUIDField uid |
|---|
| 394 | #MySQLVirtualUsernameField username |
|---|
| 395 | |
|---|
| 396 | # UIDInSignature: MySQL supports the insertion of the user id into the DSPAM |
|---|
| 397 | # signature. This allows you to create one single spam or fp alias |
|---|
| 398 | # (pointing to some arbitrary user), and the uid in the signature will |
|---|
| 399 | # switch to the correct user. Result: you need only one spam alias |
|---|
| 400 | |
|---|
| 401 | #MySQLUIDInSignature on |
|---|
| 402 | |
|---|
| 403 | # --- PostgreSQL --- |
|---|
| 404 | |
|---|
| 405 | # For PgSQLServer you can Use a TCP/IP address or a socket. If your socket is |
|---|
| 406 | # in /var/run/postgresql/.s.PGSQL.5432 specify just the path where the socket |
|---|
| 407 | # resits (without .s.PGSQL.5432). |
|---|
| 408 | |
|---|
| 409 | #PgSQLServer /var/run/postgresql/ |
|---|
| 410 | #PgSQLPort |
|---|
| 411 | #PgSQLUser dspam |
|---|
| 412 | #PgSQLPass changeme |
|---|
| 413 | #PgSQLDb dspam |
|---|
| 414 | |
|---|
| 415 | # If you're running DSPAM in client/server (daemon) mode, uncomment the |
|---|
| 416 | # setting below to override the default connection cache size (the number |
|---|
| 417 | # of connections the server pools between all clients). |
|---|
| 418 | # |
|---|
| 419 | #PgSQLConnectionCache 3 |
|---|
| 420 | |
|---|
| 421 | # UIDInSignature: PgSQL supports the insertion of the user id into the DSPAM |
|---|
| 422 | # signature. This allows you to create one single spam or fp alias |
|---|
| 423 | # (pointing to some arbitrary user), and the uid in the signature will |
|---|
| 424 | # switch to the correct user. Result: you need only one spam alias |
|---|
| 425 | |
|---|
| 426 | #PgSQLUIDInSignature on |
|---|
| 427 | |
|---|
| 428 | # If you're using vpopmail or some other type of virtual setup and wish to |
|---|
| 429 | # change the table dspam uses to perform username/uid lookups, you can over- |
|---|
| 430 | # ride it below |
|---|
| 431 | |
|---|
| 432 | #PgSQLVirtualTable dspam_virtual_uids |
|---|
| 433 | #PgSQLVirtualUIDField uid |
|---|
| 434 | #PgSQLVirtualUsernameField username |
|---|
| 435 | |
|---|
| 436 | # --- SQLite --- |
|---|
| 437 | |
|---|
| 438 | #SQLitePragma "synchronous = OFF" |
|---|
| 439 | |
|---|
| 440 | # --- Hash --- |
|---|
| 441 | |
|---|
| 442 | # |
|---|
| 443 | # HashRecMax: Default number of records to create in the initial segment when |
|---|
| 444 | # building hash files. 100,000 yields files 1.6MB in size, but can fill up |
|---|
| 445 | # fast, so be sure to increase this (to a million or more) if you're not using |
|---|
| 446 | # autoextend. |
|---|
| 447 | # |
|---|
| 448 | # NOTE: If you're using a heavy-weight tokenizer, such as SBPH, you should be |
|---|
| 449 | # looking for settings in the 'millions' of records. |
|---|
| 450 | # |
|---|
| 451 | # Primes List: |
|---|
| 452 | # 53, 97, 193, 389, 769, 1543, 3079, 6151, 12289, 24593, 49157, 98317, 196613, |
|---|
| 453 | # 393241, 786433, 1572869, 3145739, 6291469, 12582917, 25165843, 50331653, |
|---|
| 454 | # 100663319, 201326611, 402653189, 805306457, 1610612741, 3221225473, |
|---|
| 455 | # 4294967291 |
|---|
| 456 | # |
|---|
| 457 | HashRecMax 98317 |
|---|
| 458 | |
|---|
| 459 | # |
|---|
| 460 | # HashAutoExtend: Autoextend hash databases when they fill up. This allows |
|---|
| 461 | # them to continue to train by adding extents (extensions) to the file. There |
|---|
| 462 | # will be a small delay during the growth process, as everything needs to be |
|---|
| 463 | # closed and remapped. |
|---|
| 464 | # |
|---|
| 465 | HashAutoExtend on |
|---|
| 466 | |
|---|
| 467 | # |
|---|
| 468 | # HashMaxExtents: The maximum number of extents that may be created in a single |
|---|
| 469 | # hash file. Set this to zero for unlimited |
|---|
| 470 | # |
|---|
| 471 | HashMaxExtents 0 |
|---|
| 472 | |
|---|
| 473 | # |
|---|
| 474 | # HashExtentSize: The initial record size for newly created extents. Creating |
|---|
| 475 | # this too small could result in many extents being created. Creating this too |
|---|
| 476 | # large could result in excessive disk space usage. Typically, a value close |
|---|
| 477 | # to half of the HashRecMax size is good. |
|---|
| 478 | # |
|---|
| 479 | HashExtentSize 49157 |
|---|
| 480 | |
|---|
| 481 | # |
|---|
| 482 | # HashPctIncrease: Increase the next extent size by n% from the size of the |
|---|
| 483 | # last extent. This is useful in accommodating systems where the default |
|---|
| 484 | # HashExtentSize can be too small for certain high-volume users, and can also |
|---|
| 485 | # help keep seeks nice and speedy and/or prevent too many unnecessary extents |
|---|
| 486 | # from being created when using a low HashMaxSeek. The default behavior, when |
|---|
| 487 | # HashPctIncrease is not used, is to always use # HashExtentSize with no |
|---|
| 488 | # increase. |
|---|
| 489 | # |
|---|
| 490 | HashPctIncrease 10 |
|---|
| 491 | |
|---|
| 492 | # |
|---|
| 493 | # HashMaxSeek: The maximum number of record seeks when inserting a new record |
|---|
| 494 | # before failing or adding a new extent. This ultimately translates into the |
|---|
| 495 | # max # of acceptable seeks per segment. Setting this too high will exhaustively |
|---|
| 496 | # scan each segment and hurt performance. Typically, a low value is acceptable |
|---|
| 497 | # as even older extents will continue to fill as training progresses. |
|---|
| 498 | # |
|---|
| 499 | HashMaxSeek 10 |
|---|
| 500 | |
|---|
| 501 | # |
|---|
| 502 | # HashConcurrentUser: If you are using a single, stateful hash database in |
|---|
| 503 | # daemon mode, specifying a concurrent user below will cause the user to be |
|---|
| 504 | # permanently mapped into memory and shared via rwlocks. This is very fast and |
|---|
| 505 | # very cool if you are running a "userless" relay appliance. |
|---|
| 506 | # |
|---|
| 507 | #HashConcurrentUser user |
|---|
| 508 | |
|---|
| 509 | # |
|---|
| 510 | # HashConnectionCache: If running in daemon mode, this is the max # of |
|---|
| 511 | # concurrent connections that will be supported. NOTE: If you are using |
|---|
| 512 | # HashConcurrentUser, this option is ignored, as all connections are read- |
|---|
| 513 | # write locked instead of mutex locked. |
|---|
| 514 | # |
|---|
| 515 | HashConnectionCache 10 |
|---|
| 516 | |
|---|
| 517 | |
|---|
| 518 | # --- ExtLookup --- |
|---|
| 519 | |
|---|
| 520 | # ExtLookup: Perform various external lookup functions depending on user- |
|---|
| 521 | # defined variables. ExtLookup can either be set to 'on' or 'off'. The |
|---|
| 522 | # behavior of such lookups are defined by the use of ExtLookupMode, which |
|---|
| 523 | # can be set to 'verify', 'map' and 'strict'. |
|---|
| 524 | # |
|---|
| 525 | # verify Will cause dspam to validate the user, prior to |
|---|
| 526 | # creating the user entry in the system. |
|---|
| 527 | # |
|---|
| 528 | # map Will cause dspam to try to map the user address |
|---|
| 529 | # to a certain unique identifier. |
|---|
| 530 | # |
|---|
| 531 | # strict Will cause dspam to enforce both 'verify' and 'map'. |
|---|
| 532 | # |
|---|
| 533 | # ExtLookupDriver will set the engine behind the lookups. For now the only |
|---|
| 534 | # supported mechanisms are 'ldap' and 'program'. The first will make dspam |
|---|
| 535 | # talk directly to the configured LDAP server. The second will prefrom the |
|---|
| 536 | # various lookup functions by running a certain binary program or executable |
|---|
| 537 | # script. The program MUST be a binary executable or a script with a well |
|---|
| 538 | # defined interpreter in its first line ( #!/path/to/interpreter ). There |
|---|
| 539 | # are plans to support TLS/SSL connections to backend databases. |
|---|
| 540 | # |
|---|
| 541 | #ExtLookup on # Turns on/off external lookup |
|---|
| 542 | #ExtLookupMode strict # available modes are 'verify', 'map' and 'strict'. |
|---|
| 543 | # 'strict' enforces both verify and map |
|---|
| 544 | #ExtLookupDriver ldap # Currently only ldap and program are supported. |
|---|
| 545 | # There are plans to support both MySQL and Postgres. |
|---|
| 546 | #ExtLookupServer ldap.example.org # Can either be a database hostname or the full path to |
|---|
| 547 | # an executable lookup program and its arguments. |
|---|
| 548 | #ExtLookupPort 389 # Desired port when connecting to the lookup database. |
|---|
| 549 | #ExtLookupDB "ou=Users,dc=domain,dc=com" # Can either be an LDAP search base or a database name (TODO). |
|---|
| 550 | #ExtLookupQuery "(&(objectClass=qmailUser)(|(mail=%u)(mailAlternateAddress=%u)))" # Can either be an LDAP search filter or an SQL query (TODO) |
|---|
| 551 | #ExtLookupLDAPAttribute "mail" # Attribute to be used when ExtLookupDriver is 'ldap' |
|---|
| 552 | # and ExtLookupMode 'map' or 'strict' |
|---|
| 553 | #ExtLookupLDAPScope sub # Can be set to 'base', 'sub' or 'one'. Only used when ExtLookupDriver is 'ldap'. |
|---|
| 554 | #ExtLookupLDAPVersion 3 # Sets the LDAP protocol version (1, 2 or 3) |
|---|
| 555 | #ExtLookupLogin "cn=admin,dc=domain,dc=com" # Login to be used when connecting to any direct database backend. |
|---|
| 556 | #ExtLookupPassword itsasecret # Password to use with ExtLookupLogin. |
|---|
| 557 | #ExtLookupCrypto tls # Sets the use of TLS on backend communication (only compatible with LDAPv3) |
|---|
| 558 | |
|---|
| 559 | |
|---|
| 560 | # --- Profiles --- |
|---|
| 561 | |
|---|
| 562 | # |
|---|
| 563 | # You can specify multiple storage profiles, and specify the server to |
|---|
| 564 | # use on the commandline with --profile. For example: |
|---|
| 565 | # |
|---|
| 566 | #Profile DECAlpha |
|---|
| 567 | #MySQLServer.DECAlpha 10.0.0.1 |
|---|
| 568 | #MySQLPort.DECAlpha 3306 |
|---|
| 569 | #MySQLUser.DECAlpha dspam |
|---|
| 570 | #MySQLPass.DECAlpha changeme |
|---|
| 571 | #MySQLDb.DECAlpha dspam |
|---|
| 572 | #MySQLCompress.DECAlpha true |
|---|
| 573 | #MySQLReconnect.DECAlpha true |
|---|
| 574 | # |
|---|
| 575 | #Profile Sun420R |
|---|
| 576 | #MySQLServer.Sun420R 10.0.0.2 |
|---|
| 577 | #MySQLPort.Sun420R 3306 |
|---|
| 578 | #MySQLUser.Sun420R dspam |
|---|
| 579 | #MySQLPass.Sun420R changeme |
|---|
| 580 | #MySQLDb.Sun420R dspam |
|---|
| 581 | #MySQLCompress.Sun420R false |
|---|
| 582 | #MySQLReconnect.Sun420R true |
|---|
| 583 | # |
|---|
| 584 | #DefaultProfile DECAlpha |
|---|
| 585 | |
|---|
| 586 | # |
|---|
| 587 | # If you're using storage profiles, you can set failovers for each profile. |
|---|
| 588 | # Of course, if you'll be failing over to another database, that database |
|---|
| 589 | # must have the same information as the first. If you're using a global |
|---|
| 590 | # database with no training, this should be relatively simple. If you're |
|---|
| 591 | # configuring per-user data, however, you'll need to set up some type of |
|---|
| 592 | # replication between databases. |
|---|
| 593 | # |
|---|
| 594 | #Failover.DECAlpha SUN420R |
|---|
| 595 | #Failover.Sun420R DECAlpha |
|---|
| 596 | |
|---|
| 597 | # If the storage fails, the agent will follow each profile's failover up to |
|---|
| 598 | # a maximum number of failover attempts. This should be set to a maximum of |
|---|
| 599 | # the number of profiles you have, otherwise the agent could loop and try |
|---|
| 600 | # the same profile multiple times (unless this is your desired behavior). |
|---|
| 601 | # |
|---|
| 602 | #FailoverAttempts 1 |
|---|
| 603 | |
|---|
| 604 | # |
|---|
| 605 | # Ignored headers: If DSPAM is behind other tools which may add a header to |
|---|
| 606 | # incoming emails, it may be beneficial to ignore these headers - especially |
|---|
| 607 | # if they are coming from another spam filter. If you are _not_ using one of |
|---|
| 608 | # these tools, however, leaving the appropriate headers commented out will |
|---|
| 609 | # allow DSPAM to use them as telltale signs of forged email. |
|---|
| 610 | # |
|---|
| 611 | #IgnoreHeader X-Spam-Status |
|---|
| 612 | #IgnoreHeader X-Spam-Scanned |
|---|
| 613 | #IgnoreHeader X-Virus-Scanner-Result |
|---|
| 614 | |
|---|
| 615 | # |
|---|
| 616 | # Lookup: Perform lookups on streamlined blackhole list servers (see |
|---|
| 617 | # http://www.nuclearelephant.com/projects/sbl/). The streamlined blacklist |
|---|
| 618 | # server is machine-automated, unsupervised blacklisting system designed to |
|---|
| 619 | # provide real-time and highly accurate blacklisting based on network spread. |
|---|
| 620 | # When performing a lookup, DSPAM will automatically learn the inbound message |
|---|
| 621 | # as spam if the source IP is listed. Until an official public RABL server is |
|---|
| 622 | # available, this feature is only useful if you are running your own |
|---|
| 623 | # streamlined blackhole list server for internal reporting among multiple mail |
|---|
| 624 | # servers. Provide the name of the lookup zone below to use. |
|---|
| 625 | # |
|---|
| 626 | # This function performs standard reverse-octet.domain lookups, and while it |
|---|
| 627 | # will function with many RBLs, it's strongly discouraged to use those |
|---|
| 628 | # maintained by humans as they're often inaccurate and could hurt filter |
|---|
| 629 | # learning and accuracy. |
|---|
| 630 | # |
|---|
| 631 | #Lookup "sbl.example.org" |
|---|
| 632 | |
|---|
| 633 | # |
|---|
| 634 | # RBLInoculate: If you want to inoculate the user from RBL'd messages it would |
|---|
| 635 | # have otherwise missed, set this to on. |
|---|
| 636 | # |
|---|
| 637 | #RBLInoculate off |
|---|
| 638 | |
|---|
| 639 | # |
|---|
| 640 | # Notifications: Enable the sending of notification emails to users (first |
|---|
| 641 | # message, quarantine full, etc.) |
|---|
| 642 | # |
|---|
| 643 | Notifications off |
|---|
| 644 | |
|---|
| 645 | # TxtDirectory: the directory that holds the templates for notification |
|---|
| 646 | # messages (see Notifications) and tagging (see tagSpam/tagNonspam). |
|---|
| 647 | # |
|---|
| 648 | #TxtDirectory @dspam_home@/txt |
|---|
| 649 | |
|---|
| 650 | # |
|---|
| 651 | # QuarantineWarnSize: You may specify a size when DSPAM should send a "Quarantine |
|---|
| 652 | # Full" message to each user. This is only working if you enable notifications |
|---|
| 653 | # (see above). Value is in bytes. Default is 2097152 -> 2MB. |
|---|
| 654 | # |
|---|
| 655 | #QuarantineWarnSize 2097152 |
|---|
| 656 | |
|---|
| 657 | # |
|---|
| 658 | # Purge configuration: Set dspam_clean purge default options, if not otherwise |
|---|
| 659 | # specified on the commandline |
|---|
| 660 | # |
|---|
| 661 | PurgeSignatures 14 # Stale signatures |
|---|
| 662 | PurgeNeutral 90 # Tokens with neutralish probabilities |
|---|
| 663 | PurgeUnused 90 # Unused tokens |
|---|
| 664 | PurgeHapaxes 30 # Tokens with less than 5 hits (hapaxes) |
|---|
| 665 | PurgeHits1S 15 # Tokens with only 1 spam hit |
|---|
| 666 | PurgeHits1I 15 # Tokens with only 1 innocent hit |
|---|
| 667 | |
|---|
| 668 | # |
|---|
| 669 | # Purge configuration for SQL-based installations using purge.sql |
|---|
| 670 | # |
|---|
| 671 | #PurgeSignature off # Specified in purge.sql |
|---|
| 672 | #PurgeNeutral 90 |
|---|
| 673 | #PurgeUnused off # Specified in purge.sql |
|---|
| 674 | #PurgeHapaxes off # Specified in purge.sql |
|---|
| 675 | #PurgeHits1S off # Specified in purge.sql |
|---|
| 676 | #PurgeHits1I off # Specified in purge.sql |
|---|
| 677 | |
|---|
| 678 | # |
|---|
| 679 | # Local Mail Exchangers: Used for source address tracking, tells DSPAM which |
|---|
| 680 | # mail exchangers are local and therefore should be ignored in the Received: |
|---|
| 681 | # header when tracking the source of an email. Note: you should use the address |
|---|
| 682 | # of the host as appears between brackets [ ] in the Received header. |
|---|
| 683 | # By default DSPAM is considering the following IPs always as LocalMX: |
|---|
| 684 | # 10.0.0.0/8 - Private IP addresses (RFC 1918) |
|---|
| 685 | # 127.0.0.0/8 - Localhost Loopback Address (RFC 1700) |
|---|
| 686 | # 169.254.0.0/16 - Zeroconf / APIPA (RFC 3330) |
|---|
| 687 | # 172.16.0.0/12 - Private IP addresses (RFC 1918) |
|---|
| 688 | # 192.168.0.0/16 - Private IP addresses (RFC 1918) |
|---|
| 689 | # |
|---|
| 690 | LocalMX 127.0.0.1 |
|---|
| 691 | |
|---|
| 692 | # |
|---|
| 693 | # Logging: Disabling logging for users will make usage graphs unavailable to |
|---|
| 694 | # them. Disabling system logging will make admin graphs unavailable. |
|---|
| 695 | # |
|---|
| 696 | SystemLog on |
|---|
| 697 | UserLog on |
|---|
| 698 | |
|---|
| 699 | # |
|---|
| 700 | # TrainPristine: for systems where the original message remains server side |
|---|
| 701 | # and can therefore be presented in pristine format for retraining. This option |
|---|
| 702 | # will cause DSPAM to cease all writing of signatures and DSPAM headers to the |
|---|
| 703 | # message, and deliver the message in as pristine format as possible. This mode |
|---|
| 704 | # REQUIRES that the original message in its pristine format (as of delivery) |
|---|
| 705 | # be presented for retraining, as in the case of webmail, imap, or other |
|---|
| 706 | # applications where the message is actually kept server-side during reading, |
|---|
| 707 | # and is preserved. DO NOT use this switch unless the original message can be |
|---|
| 708 | # presented for retraining with the ORIGINAL HEADERS and NO MODIFICATIONS. |
|---|
| 709 | # |
|---|
| 710 | # NOTE: You can't use this setting with dspam_trian; if you're going to use it, |
|---|
| 711 | # wait until after you train any corpora. |
|---|
| 712 | # |
|---|
| 713 | #TrainPristine on |
|---|
| 714 | |
|---|
| 715 | # |
|---|
| 716 | # Opt: in or out; determines DSPAM's default filtering behavior. If this value |
|---|
| 717 | # is set to in, users must opt-in to filtering by dropping a .dspam file in |
|---|
| 718 | # /var/dspam/opt-in/user.dspam (or if you have homedirs configured, a .dspam |
|---|
| 719 | # folder in their home directory). The default is opt-out, which means all |
|---|
| 720 | # users will be filtered unless a .nodspam file is dropped in |
|---|
| 721 | # /var/dspam/opt-out/user.nodspam |
|---|
| 722 | # |
|---|
| 723 | Opt out |
|---|
| 724 | |
|---|
| 725 | # |
|---|
| 726 | # TrackSources: specify which (if any) source addresses to track and report |
|---|
| 727 | # them to syslog (mail.info). This is useful if you're running a firewall or |
|---|
| 728 | # blacklist and would like to use this information. Spam reporting also drops |
|---|
| 729 | # RABL blacklist files (see http://www.nuclearelephant.com/projects/rabl/). |
|---|
| 730 | # |
|---|
| 731 | #TrackSources spam nonspam virus |
|---|
| 732 | |
|---|
| 733 | # |
|---|
| 734 | # ParseToHeaders: In lieu of setting up individual aliases for each user, |
|---|
| 735 | # DSPAM can be configured to automatically parse the To: address for spam and |
|---|
| 736 | # false positive forwards. From there, it can be configured to either set the |
|---|
| 737 | # DSPAM user based on the username specified in the header and/or change the |
|---|
| 738 | # training class and source accordingly. The options below can be used to |
|---|
| 739 | # customize most common types of header parsing behavior to avoid the need for |
|---|
| 740 | # multiple aliases, or if using LMTP, aliases entirely.. |
|---|
| 741 | # |
|---|
| 742 | # ParseToHeader: Parse the To: headers of an incoming message. This must be |
|---|
| 743 | # set to 'on' to use either of the following features. |
|---|
| 744 | # |
|---|
| 745 | # ChangeModeOnParse: Automatically change the class (to spam or innocent) |
|---|
| 746 | # depending on whether spam- or notspam- was specified, and change the source |
|---|
| 747 | # to 'error'. This is convenient if you're not using aliases at all, but |
|---|
| 748 | # are delivering via LMTP. |
|---|
| 749 | # |
|---|
| 750 | # ChangeUserOnParse: Automatically change the username to match that specified |
|---|
| 751 | # in the To: header. For example, spam-bob@example.org will set the username |
|---|
| 752 | # to bob, ignoring any --user passed in. This may not always be desirable if |
|---|
| 753 | # you are using virtual email addresses as usernames. Options: |
|---|
| 754 | # on or user take the portion before the @ sign only |
|---|
| 755 | # full take everything after the initial {spam,notspam}-. |
|---|
| 756 | # |
|---|
| 757 | #ParseToHeaders on |
|---|
| 758 | #ChangeModeOnParse on |
|---|
| 759 | #ChangeUserOnParse on |
|---|
| 760 | |
|---|
| 761 | # |
|---|
| 762 | # Broken MTA Options: Some MTAs don't support the proper functionality |
|---|
| 763 | # necessary. In these cases you can activate certain features in DSPAM to |
|---|
| 764 | # compensate. 'returnCodes' causes DSPAM to return an exit code of 99 if |
|---|
| 765 | # the message is spam, 0 if not, or a negative code if an error has occured. |
|---|
| 766 | # Specifying 'case' causes DSPAM to force the input usernames to lowercase. |
|---|
| 767 | # Specifying 'lineStripping' causes DSPAM to strip ^M's from messages passed |
|---|
| 768 | # in. |
|---|
| 769 | # |
|---|
| 770 | #Broken returnCodes |
|---|
| 771 | #Broken case |
|---|
| 772 | #Broken lineStripping |
|---|
| 773 | |
|---|
| 774 | # |
|---|
| 775 | # MaxMessageSize: You may specify a maximum message size for DSPAM to process. |
|---|
| 776 | # If the message is larger than the maximum size, it will be delivered |
|---|
| 777 | # without processing. Value is in bytes. |
|---|
| 778 | # |
|---|
| 779 | #MaxMessageSize 4194304 |
|---|
| 780 | |
|---|
| 781 | # --- ClamAV --- |
|---|
| 782 | |
|---|
| 783 | # |
|---|
| 784 | # Virus Checking: If you are running clamd, DSPAM can perform stream-based |
|---|
| 785 | # virus checking using TCP. Uncomment the values below to enable virus |
|---|
| 786 | # checking. |
|---|
| 787 | # |
|---|
| 788 | # ClamAVResponse: reject (reject or drop the message with a permanent failure) |
|---|
| 789 | # accept (accept the message and quietly drop the message) |
|---|
| 790 | # spam (treat as spam and quarantine/tag/whatever) |
|---|
| 791 | # |
|---|
| 792 | #ClamAVPort 3310 |
|---|
| 793 | #ClamAVHost 127.0.0.1 |
|---|
| 794 | #ClamAVResponse accept |
|---|
| 795 | |
|---|
| 796 | # --- CLIENT / SERVER --- |
|---|
| 797 | |
|---|
| 798 | # |
|---|
| 799 | # Daemonized Server: If you are running DSPAM as a daemonized server using |
|---|
| 800 | # --daemon, the following parameters will override the default. Use the |
|---|
| 801 | # ServerPass option to set up accounts for each client machine. The DSPAM |
|---|
| 802 | # server will process and deliver the message based on the parameters |
|---|
| 803 | # specified. If you want the client machine to perform delivery, use |
|---|
| 804 | # the --stdout option in conjunction with a local setup. |
|---|
| 805 | # |
|---|
| 806 | # ServerHost: Not enabling ServerHost will bind DSPAM server to all available |
|---|
| 807 | # interfaces. |
|---|
| 808 | # |
|---|
| 809 | #ServerHost 127.0.0.1 |
|---|
| 810 | #ServerPort 24 |
|---|
| 811 | #ServerQueueSize 32 |
|---|
| 812 | #ServerPID /var/run/dspam.pid |
|---|
| 813 | |
|---|
| 814 | # |
|---|
| 815 | # ServerMode specifies the type of LMTP server to start. This can be one of: |
|---|
| 816 | # dspam: DSPAM-proprietary DLMTP server, for communicating with dspamc |
|---|
| 817 | # standard: Standard LMTP server, for communicating with Postfix or other MTA |
|---|
| 818 | # auto: Speak both DLMTP and LMTP; auto-detect by ServerPass.IDENT |
|---|
| 819 | # |
|---|
| 820 | #ServerMode dspam |
|---|
| 821 | |
|---|
| 822 | # If supporting DLMTP (dspam) mode, dspam clients will require authentication |
|---|
| 823 | # as they will be passing in parameters. The idents below will be used to |
|---|
| 824 | # determine which clients will be speaking DLMTP, so if you will be using |
|---|
| 825 | # both LMTP and DLMTP from the same host, be sure to use something other |
|---|
| 826 | # than the server's hostname below (which will be sent by the MTA during a |
|---|
| 827 | # standard LMTP LHLO). |
|---|
| 828 | # |
|---|
| 829 | #ServerPass.Relay1 "secret" |
|---|
| 830 | #ServerPass.Relay2 "password" |
|---|
| 831 | |
|---|
| 832 | # If supporting standard LMTP mode, server parameters will need to be specified |
|---|
| 833 | # here, as they will not be passed in by the mail server. The ServerIdent |
|---|
| 834 | # specifies the 250 response code ident sent back to connecting clients and |
|---|
| 835 | # should be set to the hostname of your server, or an alias. |
|---|
| 836 | # |
|---|
| 837 | # NOTE: If you specify --user in ServerParameters, the RCPT TO will be |
|---|
| 838 | # used only for delivery, and not set as the active user for processing. |
|---|
| 839 | # |
|---|
| 840 | #ServerParameters "--deliver=innocent -d %u" |
|---|
| 841 | #ServerIdent "localhost.localdomain" |
|---|
| 842 | |
|---|
| 843 | # If you wish to use a local domain socket instead of a TCP socket, uncomment |
|---|
| 844 | # the following. It is strongly recommended you use local domain sockets if |
|---|
| 845 | # you are running the client and server on the same machine, as it eliminates |
|---|
| 846 | # much of the bandwidth overhead. |
|---|
| 847 | # |
|---|
| 848 | #ServerDomainSocketPath "/tmp/dspam.sock" |
|---|
| 849 | |
|---|
| 850 | # |
|---|
| 851 | # Client Mode: If you are running DSPAM in client/server mode, uncomment and |
|---|
| 852 | # set these variables. A ClientHost beginning with a / will be treated as |
|---|
| 853 | # a domain socket. |
|---|
| 854 | # |
|---|
| 855 | #ClientHost /tmp/dspam.sock |
|---|
| 856 | #ClientIdent "secret@Relay1" |
|---|
| 857 | # |
|---|
| 858 | #ClientHost 127.0.0.1 |
|---|
| 859 | #ClientPort 24 |
|---|
| 860 | #ClientIdent "secret@Relay1" |
|---|
| 861 | |
|---|
| 862 | # --- RABL --- |
|---|
| 863 | |
|---|
| 864 | # RABLQueue: Touch files in the RABL queue |
|---|
| 865 | # If you are a reporting streamlined blackhole list participant, you can |
|---|
| 866 | # touch ip addresses within the directory the rabl_client process is watching. |
|---|
| 867 | # |
|---|
| 868 | #RABLQueue /var/spool/rabl |
|---|
| 869 | |
|---|
| 870 | # --- --- |
|---|
| 871 | |
|---|
| 872 | # DataSource: If you are using any type of data source that does not include |
|---|
| 873 | # email-like headers (such as documents), uncomment the line below. This |
|---|
| 874 | # will cause the entire input to be treated like a message "body" |
|---|
| 875 | # |
|---|
| 876 | #DataSource document |
|---|
| 877 | |
|---|
| 878 | # ProcessorWordFrequency: By default, words are only counted once per message. |
|---|
| 879 | # If you are classifying large documents, however, you may wish to count once |
|---|
| 880 | # per occurrence instead. |
|---|
| 881 | # |
|---|
| 882 | #ProcessorWordFrequency occurrence |
|---|
| 883 | |
|---|
| 884 | # ProcessorURLContext: By default, a URL context is generated for URLs, which |
|---|
| 885 | # records their tokens as separate from words found in documents. To use |
|---|
| 886 | # URL tokens in the same context as words, turn this feature off. |
|---|
| 887 | # |
|---|
| 888 | ProcessorURLContext on |
|---|
| 889 | |
|---|
| 890 | # ProcessorBias: Bias causes the filter to lean more toward 'innocent', and |
|---|
| 891 | # usually greatly reduces false positives. It is the default behavior of |
|---|
| 892 | # most Bayesian filters (including dspam). |
|---|
| 893 | # |
|---|
| 894 | # NOTE: You probably DONT want this if you're using Markovian Weighting, unless |
|---|
| 895 | # you are paranoid about false positives. |
|---|
| 896 | # |
|---|
| 897 | ProcessorBias on |
|---|
| 898 | |
|---|
| 899 | # StripRcptDomain: Cut the domain (including the at sign) from recipients. |
|---|
| 900 | # This is particularly useful if the recipient name is equal to real user |
|---|
| 901 | # accounts as recipients with domains tend to cause permission issues with |
|---|
| 902 | # dspam-web. |
|---|
| 903 | # |
|---|
| 904 | StripRcptDomain off |
|---|
| 905 | |
|---|
| 906 | # GroupConfig: The configuration file for groups. See the README file |
|---|
| 907 | # for details on how to enable users to combine their training data to |
|---|
| 908 | # get better results. |
|---|
| 909 | GroupConfig @dspam_home@/group |
|---|
| 910 | |
|---|
| 911 | # --- Split Configuration File Support --- |
|---|
| 912 | |
|---|
| 913 | # Include a directory with configuration items. |
|---|
| 914 | #Include /etc/dspam/dspam.d/ |
|---|
| 915 | |
|---|
| 916 | # --- --- |
|---|
| 917 | |
|---|
| 918 | ## EOF |
|---|