SnertSoft: We Serve Your Server

Barricade MX

smtpf 2.1.2
«An SMTP Filtering Proxy»


Mail Log Messages

The default verbose logging level for smtpf is to display all warnings and informational messages. Error messages are always reported. The debugging log messages are not explained. Each log message has a timestamp when the message was generated, the smtpf process name and ID, the session ID of the current connected SMTP client, followed by the message number and text of the message.

Below is a list of log messages in numerical order, with a brief explination and/or a link to the documentation where the options responsible are explained in more detail.

ERR #100 pattern delimiter error: "%.50s..."
Failed to find the end bang (!) delimiter of a !simple! pattern. See access-map about right-hand-side pattern lists.
ERR #103 network delimiter error: "%.50s..."
Failed to find the end square-bracket (]) delimiter of a [network/cidr] pattern. See access-map about right-hand-side pattern lists.
ERR #105 network specifier error: "%.50s..."
ERR #106 network specifier error, "%.50s..."
The network portion of a [network/cidr] pattern does not parse to a valid IPv4 or IPv6 address. See access-map about right-hand-side pattern lists.
ERR #108 regular expression delimiter error: "%.50s..."
Failed to find the end slash (/) delimiter of a /regex/ pattern. See access-map about right-hand-side pattern lists.
ERR #110 regular expression error: %s "%.50s..."
ERR #112 regular expression error: %s "%.50s..."
There is an error in a /regex/ pattern that prevents it from being compiled.
WARN #115 access-map option disabled
The access-map option has been set to an empty string.
ERR #116 access-map=%s text method no longer supported
ERR #117 access-map=%s open error
The key-value-map specified by the access-map option could not be opened. Check the map type, file path, and file permissions & ownership.
INFO #119 host %s [%s] white listed
There is a Connect: tag entry for either the client name or IP address with a right-hand-side value of OK. See access-map.
INFO #124 host %s [%s] sender <%s> white listed
There is a Connect:From: combo tag entry for either the client name and sender pair or client IP address and sender pair with a right-hand-side value of OK. See access-map.
INFO #126 sender <%s> white listed
There is a From: tag entry for the sender address or their domain with a right-hand-side value of OK. See access-map.
INFO #134 host %s [%s] recipient <%s> white listed
There is a Connect:To: combo tag entry for either the client name and recipient pair or client IP address and recipient pair with a right-hand-side value of OK. See access-map.
INFO #136 sender <%s> recipient <%s> white listed
There is a From:To: combo tag entry for a sender and recipient pair with a right-hand-side value of OK. See access-map.
INFO #138 recipient <%s> white listed
There is a To: tag entry for sender's address with a right-hand-side value of OK. See access-map.
ERR #161 %s
The avastd daemon found a virus or suspicious content in the message. See avastd-policy.
ERR #163 avastd error: %s
ERR #172 cache-path=%s open error: %s (%d)
The cache database could not be opened. Check the cache.sq3 file permissions & ownership
ERR #173 cache-sync-mode=%s error
An invalid value was specified for this option.
ERR #174 cache-unicast-domain and cache-unicast-hosts are mutually exclusive options
Check the smtpf.cf file. Specify either cache-unicast-domain or cache-unicast-hosts, but not both.
ERR #175 cache-unicast-domain error: %s (%d)
ERR #176 cache-unicast-hosts error: %s (%d)
ERR #177 cache-unicast-hosts error: %s (%d)
An error in parsing the option or starting the unicast cache listener thread. See cache-unicast-domain or cache-unicast-hosts.
WARN #202 clamd-max-size=%ld reached
The size of the message passed to clamd has been reached. No additional data will be passed to clamd. See clamd-max-size.
ERR #207 %s
The clamd daemon found a virus or suspicious content in the message. See clamd-policy.
ERR #210 error parsing %s='%s': %s (%d)
See cli-content and cli-envelope.
INFO #212 started %s[%d] %s
See CLI section, and the options cli-content and cli-envelope.
ERR #213 cmdStart(%s) failed: %s (%d)
There was a problem invoking the specified command-line. Things to check are if the command is on default PATH or specify an absolute path and/or check that options are correct. See cli-content and cli-envelope.
ERR #215 write error to child=%d: %s (%d)
There was a problem closing the input stream to the CLI child process. See cli-content and cli-envelope.
ERR #220 %s[%d] terminated on signal=%d%s",
The CLI child process terminated on signal, possibly due to a program fault. See cli-content and cli-envelope.
ERR #221 exit status=%d out of range
The CLI child process returned an unsupported exit code. See cli-content and cli-envelope.
INFO #222 %s[%d] exit status=%d
The CLI child process returned a supported exit code. See cli-content and cli-envelope.
INFO #225 %s
The CLI child process standard output and standard error are logged. See cli-content and cli-envelope.
INFO #242 host %s [%s] sender <%s> white listed
ERR #257 client %s [%s] I/O error: %s (%d)
During AUTH LOGIN, there was a client read error while waiting for login name.
ERR #260 AUTH LOGIN buffer overflow caught
During AUTH LOGIN, the login user name given exceeds the size of the decoding buffer.
ERR #261 login base64 decode error
During AUTH LOGIN, the login user name could not be decoded according to Base64 rules.
ERR #262 client %s [%s] I/O error: %s (%d)
During AUTH LOGIN, there was a client read error while waiting for password.
ERR #265 password base64 decode error
During AUTH LOGIN, the password could not be decoded according to Base64 rules.
ERR #268 AUTH PLAIN buffer overflow caught
During AUTH PLAIN, the Base64 argument given exceeds the size of the decoding buffer.
ERR #270 AUTH base64 decode error
The AUTH PLAIN argument could not be decoded according to Base64 rules.
INFO #272 queuing all messages on %s [%s]
All messages from successfully authenticated clients are queued on the local route. See route-map documentation.
INFO #273 auth-id=<%s> relay=%d
WARN #281 filter_mail_table unexpected rc=%d
This is an internal error.
WARN #291 filter_rcpt_table unexpected rc=%d
This is an internal error.
INFO #294 queuing message on %s [%s] for <%s>
The message is being sent to the local route. See route-map about the local route and AUTH support.
ERR #301 chunk write error: %s (%d)
There was an I/O write error while trying to relay a DATA chunk to a forward host.
ERR #309 missing temp. file name
ERR #310 open error "%s": %s (%d)
ERR #311 seek error "%s": %s (%d)
An error trying to find and open a temporary message file which is to be relayed onto the forward hosts. See save-dir option.
ERR #312 DATA rejected by all forward hosts
All of the forward hosts for this message rejected the DATA command. This message almost never appears. If it does, check if the forward hosts have implemented any filtering that rejects at DATA, like smtpf does for grey-listing and call-back failures.
ERR #313 read error "%s": %s (%d)
An error while reading from a temporary message file, which is to be relayed onto the forward hosts. See save-dir option.
ERR #314 %s [%s] I/O error: %s (%d)
The connected client disconnected or generated an I/O error after sending the final dot to end a message, but before the SMTP response was sent.
INFO #315 pipelining byte=%.2x
ERR #316 %s [%s] I/O error: %s (%d)
The connected client disconnected or generated an I/O error after sending the final dot to end a message, but before the SMTP response was sent.
ERR #319 client %s [%s] timeout after DOT-LF; message must end with CRLF-DOT-CRLF
See rfc2821-strict-dot.
ERR #320 client %s [%s] I/O error: %s (%d)
The client appears to have disconnected. A read error occured in the DATA collection loop.
ERR #331 %s rejected message: %s
A forward host has rejected a message and a DSN has been sent,
INFO #337 %s duplicate Message-Id=%s previous session=%s
smtpf tracks what messages have already been seen and discards any message that have prevously been processed. This can occur when the client connection disappears between the time we relay the end-of-message to the forward host(s) and the client receiving an SMTP reply. When the client disconnects, it will assume a 421 response and rety sending the message later. Mean while if the forward hosts accepted the message the first time, then these retries can result in duplicate messages being received. See the dupmsg-ttl option.
WARN #346 EMEW Message-ID buffer error
The buffer used to generate the EMEW Message-ID is too small.
ERR #375 %s
The fpscand daemon found a virus or suspicious content in the message. See fpscand-policy.
ERR #378 sql=%s create error: %s %s
ERR #379 sql=%s statement error: %s %s
ERR #383 greyMakeKey() overflow caught, key={%s} truncated
INFO #387 grey listed {%s} for %ld seconds
See grey-key, grey-content, and grey-temp-fail-period options.
INFO #393 grey-content message mismatch
See grey-content option.
INFO #394 grey-content listed {%s} for %ld seconds
See grey-content and grey-temp-fail-period options.
WARN #395 %s-%s license key expires in less than %d day%s
ERR #396 license key %s must be set
ERR #397 license key date-issued is in the future, please check your system clock
ERR #398 license key has expired
ERR #399 license key %s error: %s (%d)
ERR #400 license key %s mismatch
ERR #401 license key invalid
ERR #402 license key not for %s/%s
ERR #403 license key not for %s
ERR #404 invalid license key IP address [%s]
ERR #405 lickey syntax error: %s
ERR #406 not licensed for IP [%s]
ERR #407 IP [%s] not licensed for %ld cores (max. %ld)
INFO #408 found valid licensed IP [%s]
ERR #409 license key "%s" load error: %s (%d)
ERR #410 route count error
ERR #411 route-map entries=%lu exceeds license key max-domains=%ld
ERR #412 %s load error: %s (%d)
The lickey-file option is a required option and must be the absolute path of the license key file.
WARN #429 %s [%s] HELO %s is not FQDN
See rfc2821-strict-helo option.
ERR #435 MX %s error %s
The MX record is always fetched and verified regardless of the setting of client-is-mx and mail-require-mx options.
INFO #437) CLIENT_FORMAT " is MX for %s
See client-is-mx option.
WARN #438 empty MX list after pruning
The MX list gathered from DNS is pruned to remove hosts that resolve to localhost, RFC 3330 reserved IP addresses that cannot be reached from the Internet, or have no A/AAAA record. This message is reported if the MX list is empty after pruning.
WARN #444 empty MX list after pruning
The MX list gathered from DNS is pruned to remove hosts that resolve to localhost, RFC 3330 reserved IP addresses that cannot be reached from the Internet, or have no A/AAAA record. This message is reported if the MX list is empty after pruning.
ERR #446 MX %s lookup: %s (%d)
The MX record is always fetched and verified regardless of the setting of client-is-mx and mail-require-mx options.
INFO #448 client %s [%s] is MX for %s
See client-is-mx option.
ERR #453 MX %s lookup: %s (%d)
The process checks if the connected client is a secondary MX for any of the recipients, during which a DNS MX lookup error may occur.
ERR #465 domain %s does not exist
The top level domain is unknown.
ERR #467 domain %s does not exist
ERR #468 SOA for %s lookup error: %s
ERR #469 SOA for %s does not exist
Part of the experimental is-nxdomain family of tests. Reject a domain if the host and none of its parent domains upto, but not including, the TLD have an SOA. Temp. fail if there was a DNS lookup error. Otherwise continue if the host name or any of its parent domains have an SOA before the TLD is reached.
ERR #470 domain %s does not exist
The top level domain is unknown.
ERR #472 domain %s does not exist
ERR #473 SOA for %s lookup error: %s
ERR #474 SOA for %s does not exist
Part of the experimental is-nxdomain family of tests. Reject a domain if the host and none of its parent domains upto, but not including, the TLD have an SOA. Temp. fail if there was a DNS lookup error. Otherwise continue if the host name or any of its parent domains have an SOA before the TLD is reached.
ERR #480 %s write error: %s (%d)
ERR #482 %s write error: %s (%d)
An error occurred while sending an SMTP command to a forward host.
ERR #484 %s read error: %s (%d)
ERR #486 %s read error: %s (%d)
An error occurred while reading an SMTP reply from a forward host.
ERR #490 MX %s error %s
While attempting to perfom a call-back, there was an error looking up the MX records of the sender's domain. See call-back option.
ERR #497 %s %s
While attempting to perfom a call-back, there was an error looking up the MX records of the sender's domain. See call-back option.
ERR #506 p0f address error: %s (%d)
ERR #507 p0f open error: %s (%d)
ERR #508 p0f connection error: %s (%d)
ERR #510 p0f write error: %s (%d)
ERR #511 p0f timeout error: %s (%d)
ERR #512 p0f read error: %s (%d)
ERR #513 p0f mutex unlock failed: %s (%d)
ERR #515 p0f magic number error
ERR #516 p0f query error (%d)
INFO #517 p0f %s
See p0f-socket and p0f-timeoutoptions.
ERR #519 %lu connections exceeds %ld per second
See the rate-throttle option.
INFO #523 %s found %s %s
See dns-bl, dns-gl, dns-wl, uri-bl, and uri-dns-bl options.
INFO #527 %s found %s %s
See dns-bl, dns-gl, and dns-wl options.
ERR #537 init error %s(%lu) %s: %s (%d)
A generic initialisation error reporting file and line number where it occured.
ERR #538 out of memory %s(%lu)
A generic out of memory error reporting file and line number where it occured.
ERR #539 internal error %s(%lu) %s: %s (%d)
A generic internal error reporting file and line number where it occured and some extra context. Not expected to occur outside of code development.
INFO #540 pipeline input=%ld:%s
Log any premature input from the connected client.
ERR #542 cache get error key={%s} %s(%lu)
A generic error where a module could not get a cache record for unspecified reasons. This is not the same as record not found.
ERR #544 cache put error key={%s} value={%s} %s(%lu)
A generic error where a module failed to update a cache record for unspecified reasons.
ERR #546 cache delete error key={%s} %s(%lu)
A generic error where a module failed to delete a cache record for unspecified reasons.
ERR #556 resources error %s(%lu): %s (%d)
A runtime error reporting file and line number. Check the process status and ulimit settings. Typically the only solution is to restart the process.
INFO #557 route domains=%lu addresses=%lu accounts=%lu
A summary of route types found in the route-map, used for max-domains license control. The domain, addresses, and accounts refer to records in the route-map of the form route:some.domain, route:user@some.domain, and route:user@ respectively.

The license key field max-domains is a bit of a misnomer. It should have been called max-routes, but it is easier for people to think in terms of domains and in the majority of cases routing is by-domain only.

However, our logic counts all route: records, regardless of type, towards the license's max-domains, since the same amount of work is necessary to route by-domain as by-address or by-account.

INFO #558 call-ahead host=%s rcpt=<%s> rc=%d reply="%s"
A summary of call-ahead results.
ERR #566 localhost route required
ERR #567 localhost route requires FORWARD definition
The local route is not defined and is required for correct operation. See route-map documentation.
ERR #568 mail loop from %s [%s] in localhost route
When the mail is coming from one of our smart hosts then we would like to relay outbound, not forward inbound, otherwise we end up in a loop.
INFO #570 smtp-strict-relay client %s [%s] sender <%s> denied",
See smtp-strict-relay options.
INFO #573 call-back mail=<%s> rc=%d reply="%s"
A summary of call-back results.
ERR #574 save-dir must be defined
ERR #577 delete error "%s": %s (%d)
ERR #579 temp. file name "%s": %s (%d)
ERR #580 create error "%s": %s (%d)
See save-data, save-dir option. In addition, the avastd-socket, fpscand-socket, and spamd-socket options also rely on the save-dir option being defined in order to function.
INFO #595 interface=%s ready
The interface is ready to accept connections.
ERR #596 interface=%s error: %s (%d)
An error occurred when smtpf tried to bind to the socket. The most likely cause of this is that something else is already bound to the socket, like another MTA.
ERR #813 lint option requires special license key
The lint option requires a special license key offered only for special partnership deals and is not generally available to customers.
WARN #597 interface=%s disabled
On some platforms it is possible to bind two separate sockets for IPv6 ::0 and IPv4 0.0.0.0, both on the same port. On others platforms binding a single socket to ::0 will also include 0.0.0.0 for the same port and so generate a warning that can be ignored. Using lsof(1), fstat(1), and/or netsat(1) one should be able to determine if it is an error due to another process being bound to the same port and so corrected, or simply to be ignored and the configuration adjusted to silence the warning in future. See interfaces option.
ERR #812 no matching interfaces="%s"
See interfaces option.
ERR #598 create "%s" failed: %s (%d)
See run-pid-file option.
INFO #599 ready
The SMTP service is ready to accept connections.
ERR #602 socket accept: %s (%d); th=%u cn=%u
When this error occurs, it is most likely due to two types of errors: a timeout or the process is out of file discriptors, though other network related errors may occur.

The former case (ETIMEDOUT) is trival and occurs when there is a lull in activity, in which case surplus threads are discontinued as they timeout.

The latter case (EMFILE) is more serious, in which case the process is out of file descriptors, so the thread is terminated cleanly to release resources. If this occurs in multiple threads in the accept state, then this will terminate any surplus of threads, temporarily preventing the server from answering more connections. This will allow the threads with active connections to finish, release resources, and eventually resume answering again once sufficent resources are available.

If the process got an error during socket accept and did not terminate the thread and eliminate the surplus, it might be possible to get into a tight busy loop, which contantly tries to accept a connection yet fails with EMFILE. This would slow down or prevent other threads with active connections from completing normally and possibly hang the process.

ERR #603 terminating excess thread th=%u cn=%u
INFO #604 smtpf 2.1 Copyright 2006, 2008 by SnertSoft. All rights reserved.
INFO #605 LibSnert %s %s
INFO #606 SQLite %s Public Domain by D. Richard Hipp
Version and copyright notices.
ERR #608 siq-score-discard number must -1 to disable, or 0..99
ERR #609 siq-score-reject number must -1 to disable, or 0..99
ERR #610 siq-score-tag number must -1 to disable, or 0..99
INFO #615 siq score=%d confidence=%d ttl=%u text='%.83s'
ERR #616 %s
INFO #618 siq-score=%d less than %ld, discarding message
See siq-score-reject, siq-score-tag, and siq-servers options.
ERR #628 server I/O error: %s (%d)
While trying to send a reply back to the client, the server had an I/O error. Typical cause is "broken pipe", ie. the connection with the client was lost, most likely due to the client voluntarily dropping the connection. A lot of spamware reacts on the first digit of the response, dropping the connection as soon as it gets a 4xy or 5xy indication and ignoring the rest.

Sometimes the client might disconnect during the welcome banner, because of GreetPause: tag and/or smtp-slow-reply option which impose delays. A lot of spamware is impatient and will drop the connection as a result.

ERR #630 %s [%s] sent traffic before %s reply, pause=%ld
See the access-map concerning the CommandPause: tag.
INFO #635 client [%s] has CNAME/PTR delegation %s",
INFO #636 client [%s] has CNAME/PTR delegation %s",
INFO #637 start %s [%s] f="%s" th=%u cn=%u cs=%lu",
The start of the session after the client IP checks, but before the welcome banner. When the verbose option is set to an empty string (terse mode), then the information found here is available in the session "end" log line only.
ERR #639 client %s [%s] I/O error: %s (%d)
The client appears to have disconnected. A read error occured in the SMTP command loop. Similar to "server I/O error" in nature.

Typical cause is "broken pipe", ie. the connection with the client was lost, most likely due to the client voluntarily dropping the connection. A lot of spamware reacts to the last response they receive, dropping the connection if they get a 4xy or 5xy reply.

Sometimes the client disconnects during the welcome banner, because of GreetPause: tag and/or smtp-slow-reply option which impose delays. A lot of spamware is impatient and will drop the connection as a result.

INFO #644 dropping %s [%s] after %d errors
See smtp-drop-after option.
ERR #646 spamd connect error "%s": %s (%d)
ERR #649 spamd write error: %s (%d)
WARN #656 spamd-max-size=%ld reached
ERR #657 spamd write error after %lu bytes
ERR #659 spamd read error: %s (%d)
ERR #661 spamd error: %s
ERR #663 spamd parse error: %s
ERR #664 spamd read error: %s (%d)
ERR #667 %s
INFO #668 %s
Assorted spamd errors from the 1.0 version of the spamd module.
INFO #670 spamd disabled this message
ERR #671 spamd connect error "%s": %s (%d)
ERR #675 spamd write error: %s (%d)
An I/O error trying to connect or send to spamd. See spamd-socket option.
ERR #682 spamd open error "%s": %s (%d)
An error trying to open a temporary message file to forward to spamd. See save-dir option.
WARN #684 spamd-max-size=%ld reached
The size of the message passed to spamd have been reached. No additional data will be passed to spamd. See spamd-max-size.
ERR #685 spamd read error: %s (%d)
An I/O error while reading from spamd. See spamd-socket option.
ERR #687 spamd parse error: %s
ERR #689 spamd parse error: %s
The response from spamd does not match the current supported protocol.
ERR #690 spamd read error: %s (%d)
An I/O error while reading from spamd. See spamd-socket option.
INFO #692 spamd %s [%s] %s
A summary of the spamd score for a message.
ERR #706 stats-map get key={%s} failed
ERR #708 stats-map key={%s} value={%s} truncated
ERR #710 statsSave() field name buffer overflow caught
ERR #711 statsSave() buffer overflow caught
ERR #714 stats-map=%s open error: %s (%d)
See stats-map option.
INFO #715 hourly %s was=%lu now=%lu
INFO #716 runtime %s was=%lu now=%lu
INFO #717 sender <%s> f="%s" spf-mail=%s spf-helo=%s x="%s"
The start of a message transaction. This line gives a summary of sender highlights. It cannot be suppressed. The fields are: f= flags, spf-mail= SPF result for the MAIL FROM: argument, spf-helo= SPF result for the HELO argument, and x= SMTP response.
INFO #718 recipient <%s> f="%s" x="%s"
This line gives a summary of recipient highlights. It cannot be suppressed. The fields are: f= flags and x= SMTP response.
INFO #719 data x="%s"
The start of message content. It cannot be suppressed. The fields are: x= SMTP response.
WARN #000 removed previous instance of header "%s"
INFO #720 message <%s> f="%s" b=%lu m=%s %sx="%s"
The end of a message transaction. This line gives a summary of message highlights. It cannot be suppressed. The fields are: f= flags, b= bytes sent for the message, m= smtpf message-id, s= the subject header, and x= SMTP response.
INFO #721 end i=%s p="%s" f="%s" h="%s" b=%lu t=%lu %s
The end of a connected client's session. This line gives a summary of client information. It cannot be suppressed. The fields are: i= connected client IP, p= client PTR name, f= session flags, h= HELO argument, b= bytes sent during the session, t= session time in seconds, and p0f= p0f information.
INFO #722 signal %d, slow quit cn=%u
INFO #722 signal %d, stopping sessions, cn=%u
INFO #723 signal %d, terminating process
smtpf is going through the process of shutting down.
INFO #724 signal %d received, cn=%u
A special signal not currently acted upon was received. Normally this message should never be seen.
INFO #725 signal %d, terminating process
smtpf is going through the process of shutting down.
ERR #726 sigaltstack() failed, size=%lu: %s (%d)
A fatal initialisation error occured while setting up signal handlers.
ERR #727 user "%s" not found
ERR #728 group "%s" not found
ERR #729 chown("%s", "%s", "%s") error: %s (%d)
Failure to set user and group ownership on a specific file or directory.
ERR #730 chmod("%s", %o) error: %s (%d)
Failure to set file permission on a specific file or directory.
ERR #731 unlink("%s"): %s (%d)
During process termination, the process pid file could not be removed. See run-pid-file option.
INFO #732 terminated
ERR #733 no previous instance running: %s (%d)
Generated when restart-if action was issued and no previous instance could be found to restart, in which case the process will not start.
ERR #734 host info error: %s (%d)
A fatal initialisation error while trying to obtain the host and network interface details of the machine smtpf is running on, such as host name and IP address.
ERR #735 fork failed: %s (%d)
ERR #736 set process group ID failed: %s (%d)
A fatal initialisation error while trying to become a daemon (background) process by detatching from the controlling terminal. The -daemon option can be used to run smtpf as a foreground application.
WARN #738 %s increased to %ld
INFO #764 URI <%s> white listed
See the access-map concerning the Body: tag.
INFO #769 URI <%s> white listed
See the access-map concerning the Body: tag.
ERR #785 discarded: %s
See uri-bl-policy option.
ERR #795 verbose word list too long
INFO #798 signal %d, stopping sessions, cn=%lu
INFO #799 signal %d, terminating process
INFO #802 terminated
ERR #807 %s quit error %d

- TOP -