sendmail suddenly stops using popauth.db in pop-before-smtp??
am 15.11.2007 21:26:29 von John MurtariFolks,
Got hit with a rather strange problem this morning.
Our sendmail 8.13.1 normally runs in conjunction with POP before
SMTP using a popauth.db file (RHEL 4 Server). No changes have
been made in months to the sendmail.cf used by the server, nor
the handling of the popauth.db, nor to sendmail itself.
We had made a minor change to access.db and restarted
sendmail when it started rejecting external email with our standard
"Relaying denied" message. It didn't make any sense, we backed out
the access.db change, restarted, and that still didn't clear anything.
We then went to another server we had not touched at all and saw the
same problem after a restart.
In etc mail we have:
-rw-r--r-- 1 root root 12288 Nov 15 14:22 popauth.db
> makemap -u hash popauth
134.245.15.1 1195153832
166.84.1.3 1195154073
Tried connecting from the 166.84.1.3 address and got
relaying denied. Ran an address test (not sure on the warnings,
the FullAddr does appear twice with an identical def, the
Local_check_rcpt appears twice, different defs. My mc file is
also at the end. Any help in tracking this down would be
appreciated very much!
John
> (root-hammer)/etc/mail>sendmail -bt -d21.4
WARNING: Ruleset FullAddr has multiple definitions
WARNING: Ruleset Local_check_rcpt has multiple definitions
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter
> .D{client_addr}166.84.1.3
> check_rcpt
check_rcpt input: < joe @ smoe . com >
checkrcpt input: < joe @ smoe . com >
Local_check_rcpt input: < joe @ smoe . com >
rewritten as: < b > < joe @ smoe . com >
rewritten as: < joe @ smoe . com >
rewrite: RHS $&{client_addr} => "166.84.1.3"
rewritten as: < joe @ smoe . com > $| < 166 . 84 . 1 . 3 >
RelayTLS input:
rewrite: RHS $&{verify} => "(NULL)"
rewritten as: < ? >
rewritten as: NO
RelayTLS returns: NO
rewritten as: < joe @ smoe . com > $| NO
rewritten as: < joe @ smoe . com >
rewrite: RHS $&{auth_type} => "(NULL)"
rewritten as: < joe @ smoe . com > $|
rewritten as: < joe @ smoe . com >
CanonAddr input: < joe @ smoe . com >
canonify input: < joe @ smoe . com >
rewritten as: < joe @ smoe . com > < @ >
rewritten as: < joe @ smoe . com >
rewritten as: < < joe @ smoe . com > >
rewritten as: < joe @ smoe . com > >
rewritten as: < joe @ smoe . com >
rewritten as: joe @ smoe . com
rewritten as: joe < @ smoe . com >
Canonify2 input: joe < @ smoe . com >
rewrite: RHS $&{daemon_flags} => "(NULL)"
rewritten as: $| joe < @ smoe . com >
rewritten as: joe < @ smoe . com . >
Canonify2 returns: joe < @ smoe . com . >
rewritten as: joe < @ smoe . com . >
canonify returns: joe < @ smoe . com . >
Parse0 input: joe < @ smoe . com . >
rewritten as: < > joe < @ smoe . com . >
rewritten as: joe < @ smoe . com . >
Parse0 returns: joe < @ smoe . com . >
rewritten as: joe < @ smoe . com . >
CanonAddr returns: joe < @ smoe . com . >
FullAddr input: joe < @ smoe . com . >
rewritten as: joe < @ smoe . com >
rewritten as: joe < @ smoe . com >
FullAddr returns: joe < @ smoe . com >
rewritten as: < ? > joe < @ smoe . com >
rewritten as: < > joe < @ smoe . com > $| < F : joe @ smoe . com > < D : smoe . com >
SearchList input: < ! srcpt > $| < F : joe @ smoe . com > < D : smoe . com > < >
F input: < joe @ smoe . com > < ? > < ! srcpt > < >
rewritten as: < ? > < joe @ smoe . com > < ? > < ! srcpt > < >
rewritten as: < ? > < >
F returns: < ? > < >
rewritten as: < ! srcpt > $| < D : smoe . com > < > $| < ? > < >
SearchList input: < ! srcpt > $| < D : smoe . com > < >
D input: < smoe . com > < ? > < ! srcpt > < >
rewritten as: < ? > < smoe . com > < ? > < ! srcpt > < >
D input: < com > < ? > < ! srcpt > < >
rewritten as: < ? > < com > < ? > < ! srcpt > < >
rewritten as: < ? > < >
D returns: < ? > < >
rewritten as: < ? > < >
D returns: < ? > < >
rewritten as: < ! srcpt > $| < > $| < ? > < >
rewritten as: < ? >
SearchList returns: < ? >
rewritten as: < ? >
SearchList returns: < ? >
rewritten as: joe < @ smoe . com > $| < ? >
SearchList input: < ! srcpt > $| < E : * > < >
E input: < * > < ? > < ! srcpt > < >
rewritten as: < @ FRIEND > < * > < ? > < ! srcpt > < >
rewritten as: < @ FRIEND > < >
E returns: < @ FRIEND > < >
rewritten as: < ! srcpt > $| < > $| < @ FRIEND > < >
rewritten as: < @ FRIEND >
SearchList returns: < @ FRIEND >
rewritten as: joe < @ smoe . com > $| < @ FRIEND >
rewritten as: joe < @ smoe . com > $| < @ FRIEND >
rewritten as: joe < @ smoe . com >
rewrite: RHS $&{hc_switch} => "@FRIEND"
rewritten as: < @ FRIEND >
rewritten as: < @ FRIEND >
mult_rcpt_policy input: < SPAMFRIEND >
rewrite: RHS $&{mult_policy} => "(NULL)"
rewritten as: < >
rewrite: RHS $&{last_policy} => "(NULL)"
rewritten as: < >
rewrite: RHS $&{hc_switch} => "@FRIEND"
rewritten as:
mult_rcpt_policy returns:
rewritten as:
Local_check_rcpt returns:
rewritten as: < joe @ smoe . com > $|
Basic_check_rcpt input: < joe @ smoe . com >
rewrite: RHS $&{deliveryMode} => "i"
rewritten as: < i > < joe @ smoe . com >
rewritten as: < joe @ smoe . com >
Rcpt_ok input: < joe @ smoe . com >
ParseRecipient input: < joe @ smoe . com >
CanonAddr input: < joe @ smoe . com >
canonify input: < joe @ smoe . com >
rewritten as: < joe @ smoe . com > < @ >
rewritten as: < joe @ smoe . com >
rewritten as: < < joe @ smoe . com > >
rewritten as: < joe @ smoe . com > >
rewritten as: < joe @ smoe . com >
rewritten as: joe @ smoe . com
rewritten as: joe < @ smoe . com >
Canonify2 input: joe < @ smoe . com >
rewrite: RHS $&{daemon_flags} => "(NULL)"
rewritten as: $| joe < @ smoe . com >
rewritten as: joe < @ smoe . com . >
Canonify2 returns: joe < @ smoe . com . >
rewritten as: joe < @ smoe . com . >
canonify returns: joe < @ smoe . com . >
Parse0 input: joe < @ smoe . com . >
rewritten as: < > joe < @ smoe . com . >
rewritten as: joe < @ smoe . com . >
Parse0 returns: joe < @ smoe . com . >
rewritten as: joe < @ smoe . com . >
CanonAddr returns: joe < @ smoe . com . >
rewritten as: < ? > joe < @ smoe . com . >
rewritten as: < ? > joe < @ smoe . com >
rewritten as: < ? > joe < @ smoe . com >
rewritten as: joe < @ smoe . com >
ParseRecipient returns: joe < @ smoe . com >
rewritten as: joe < @ smoe . com >
RelayTLS input:
rewrite: RHS $&{verify} => "(NULL)"
rewritten as: < ? >
rewritten as: NO
RelayTLS returns: NO
rewritten as: joe < @ smoe . com > $| NO
rewritten as: joe < @ smoe . com >
rewrite: RHS $&{auth_type} => "(NULL)"
-----skip subr Local_Relay_Auth (168)
rewritten as: joe < @ smoe . com > $|
rewrite: RHS $&{auth_type} => "(NULL)"
rewritten as: joe < @ smoe . com > $|
rewritten as: joe < @ smoe . com >
D input: < smoe . com > < ? > < + To > < joe < @ smoe . com > >
rewritten as: < ? > < smoe . com > < ? > < + To > < joe < @ smoe . com > >
rewritten as: < ? > < smoe . com > < ? > < + To > < joe < @ smoe . com > >
D input: < com > < ? > < + To > < joe < @ smoe . com > >
rewritten as: < ? > < com > < ? > < + To > < joe < @ smoe . com > >
rewritten as: < ? > < com > < ? > < + To > < joe < @ smoe . com > >
rewritten as: < ? > < joe < @ smoe . com > >
D returns: < ? > < joe < @ smoe . com > >
rewritten as: < ? > < joe < @ smoe . com > >
D returns: < ? > < joe < @ smoe . com > >
rewritten as: < ? > < joe < @ smoe . com > >
rewritten as: joe < @ smoe . com >
rewritten as: < ? > joe < @ smoe . com >
rewritten as: < REMOTE > joe < @ smoe . com >
rewritten as: joe < @ smoe . com >
Rcpt_ok returns: joe < @ smoe . com >
rewritten as: < joe @ smoe . com > $| @ joe < @ smoe . com >
Relay_ok input: < joe @ smoe . com >
rewrite: RHS $&{client_addr} => "166.84.1.3"
rewritten as: 166 . 84 . 1 . 3
A input: < 166 . 84 . 1 . 3 > < ? > < + Connect > < 166 . 84 . 1 . 3 >
rewritten as: < ? > < 166 . 84 . 1 . 3 > < ? > < + Connect > < 166 . 84 . 1 . 3 >
rewritten as: < ? > < 166 . 84 . 1 . 3 > < ? > < + Connect > < 166 . 84 . 1 . 3 >
A input: < 166 . 84 . 1 > < ? > < + Connect > < 166 . 84 . 1 . 3 >
rewritten as: < ? > < 166 . 84 . 1 > < ? > < + Connect > < 166 . 84 . 1 . 3 >
rewritten as: < ? > < 166 . 84 . 1 > < ? > < + Connect > < 166 . 84 . 1 . 3 >
A input: < 166 . 84 > < ? > < + Connect > < 166 . 84 . 1 . 3 >
rewritten as: < ? > < 166 . 84 > < ? > < + Connect > < 166 . 84 . 1 . 3 >
rewritten as: < ? > < 166 . 84 > < ? > < + Connect > < 166 . 84 . 1 . 3 >
A input: < 166 > < ? > < + Connect > < 166 . 84 . 1 . 3 >
rewritten as: < ? > < 166 > < ? > < + Connect > < 166 . 84 . 1 . 3 >
rewritten as: < ? > < 166 > < ? > < + Connect > < 166 . 84 . 1 . 3 >
rewritten as: < ? > < 166 . 84 . 1 . 3 >
A returns: < ? > < 166 . 84 . 1 . 3 >
rewritten as: < ? > < 166 . 84 . 1 . 3 >
A returns: < ? > < 166 . 84 . 1 . 3 >
rewritten as: < ? > < 166 . 84 . 1 . 3 >
A returns: < ? > < 166 . 84 . 1 . 3 >
rewritten as: < ? > < 166 . 84 . 1 . 3 >
A returns: < ? > < 166 . 84 . 1 . 3 >
rewritten as: < ? > < 166 . 84 . 1 . 3 >
rewritten as: 166 . 84 . 1 . 3
rewritten as: [ 166 . 84 . 1 . 3 ]
rewrite: RHS $&{client_resolve} => "(NULL)"
rewritten as: < >
rewrite: RHS $&{client_name} => "(NULL)"
rewritten as: < @ >
Relay_ok returns: < @ >
rewritten as: O $| < @ >
rewrite: RHS $&{f} => "(NULL)"
rewritten as: $# error $@ 5 . 7 . 1 $: "550 Relaying denied without login - see http://www.bongo.com/domain-email. sender:"
Basic_check_rcpt returns: $# error $@ 5 . 7 . 1 $: "550 Relaying denied without login - see http://www.bongo.com/domain-email. sender:"
rewritten as: $# error $@ 5 . 7 . 1 $: "550 Relaying denied without login - see http://www.bongo.com/domain-email. sender:"
checkrcpt returns: $# error $@ 5 . 7 . 1 $: "550 Relaying denied without login - see http://www.bongo.com/domain-email. sender:"
rewritten as: < joe @ smoe . com > $| $# error $@ 5 . 7 . 1 $: "550 Relaying denied without login - see http://www.bongo.com/domain-email. sender:"
rewritten as: $# error $@ 5 . 7 . 1 $: "550 Relaying denied without login - see http://www.bongo.com/domain-email. sender:"
check_rcpt returns: $# error $@ 5 . 7 . 1 $: "550 Relaying denied without login - see http://www.bongo.com/domain-email. sender:"
>
--------------------- MC file
divert(-1)
include(`../m4/cf.m4')
VERSIONID(`hammer.bongo.com')dnl
OSTYPE(`linux')
FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable')dnl
FEATURE(`mailertable',`hash -o /etc/mail/mailertable')dnl
FEATURE(use_cw_file)dnl
FEATURE(use_ct_file)dnl
FEATURE(nocanonify)dnl
FEATURE(`access_db',`hash -T
define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl
FEATURE(local_procmail)dnl
FEATURE(nouucp, `reject')dnl
FEATURE(delay_checks)dnl
define(`ALIAS_FILE', `/etc/mail/aliases,/etc/mail/majordomo.aliases,/etc/mail/use r.aliases,/etc/mail/mailman.aliases')dnl
define(`confRELAY_MSG',`"550 Relaying denied without login - see http://www.bongo.com/domain-email. sender:" $&f')dnl
define(`confREJECT_MSG',`"552 spam not accepted. In case of error contact the postmaster@bongo.com."')dnl
define(`confDONT_BLAME_SENDMAIL', `forwardfileinunsafedirpath, forwardfileinunsafedirpathsafe,groupwritabledirpathsafe')dnl
FEATURE(`greet_pause', `5000')dnl 5 seconds
FEATURE(`ratecontrol', `nodelay', `terminate')dnl
FEATURE(`conncontrol', `nodelay', `terminate')dnl
define(`confCONNECTION_RATE_WINDOW_SIZE',`60')dnl
define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
define(`confMAX_DAEMON_CHILDREN', `150')dnl
define(`QUEUE_DIR',`/var/spool/mqueue/q*')dnl
QUEUE_GROUP(`queue0', `Path=/var/spool/mqueue/q0')
QUEUE_GROUP(`queue1', `Path=/var/spool/mqueue/q1')
QUEUE_GROUP(`queue2', `Path=/var/spool/mqueue/q2')
define(`confQUEUE_SORT_ORDER', `host')dnl
define(`confMIN_QUEUE_AGE', `30m')dnl
define(`confMAX_RUNNERS_PER_QUEUE', `50')dnl
define(`confNICE_QUEUE_RUN', `19')dnl
define(`confMAX_QUEUE_RUN_SIZE', `10000')dnl
define(`confMAX_QUEUE_CHILDREN', `150')dnl
define(`confCHECKPOINT_INTERVAL', `1')dnl
define(`confBIND_OPTS', `+AAONLY -DNSRCH')dnl
define(`confFAST_SPLIT',`1')dnl
define(`confTO_INITIAL', `6m')dnl
define(`confTO_CONNECT', `6m')dnl
define(`confTO_ICONNECT', `6m')dnl
define(`confTO_HELO', `6m')dnl
define(`confTO_MAIL', `11m')dnl
define(`confTO_RCPT', `10m')dnl
define(`confTO_DATAINIT', `6m')dnl
define(`confTO_DATABLOCK', `15m')dnl
define(`confTO_DATAFINAL', `2m')dnl
define(`confTO_RSET', `6m')dnl
define(`confTO_QUIT', `3m')dnl
define(`confTO_MISC', `3m')dnl
define(`confTO_COMMAND', `10m')dnl
define(`confTO_IDENT', `0s')dnl
define(`confTO_HOSTSTATUS', `25m')dnl
define(`confTO_QUEUERETURN', `2d')dnl
define(`confMAX_RCPTS_PER_MESSAGE', `100')dnl
define(`confPID_FILE', `/var/run/sendmail.pid')dnl
define(`confME_TOO', `True')dnl
define(`confCW_FILE', `/etc/mail/sendmail.cw')dnl
define(`confMAX_MESSAGE_SIZE', `20000000')dnl
define(`confQUEUE_LA', `100')dnl
define(`confREFUSE_LA', `100')dnl
define(`confDELAY_LA', `100')dnl
define(`STATUS_FILE', `/var/log/sendmail.st')dnl
define(`_MD2NAME_')dnl
define(`_QUIET_FREEWARE_')dnl
dnl START check_local definition of headerchecks
HACK(`check_dnsbl', `bl.spamcop.net' , `"Rejected see: http://spamcop.net/w3m?action=checkblock&ip="$>1',`general', `SPAMCOP')dnl
HACK(check_dnsbl_end)dnl
HACK(check_header, `Received', `HRC', `', `parse_received', `+header', `!general',`',`',`')dnl
HACK(check_header, `From', `HFR', `', `parse_address', `+header', `+all', `', `', `', `"552 Mail from spammer rejected."')dnl
HACK(check_header, `To', `HFR', `', `parse_address', `+header', `+all', `', `', `', `"552 Mail from spammer rejected."')dnl
HACK(check_header, `Reply-To', `HFR', `', `parse_address', `+header', `+all', `', `', `', `"552 Mail from spammer rejected."')dnl
HACK(check_header, `Sender', `HFR', `', `parse_address', `+header', `+all', `', `', `', `"552 Mail from spammer rejected."')dnl
HACK(check_header, `Cc', `HFR', `', `parse_address', `+header', `+all', `', `', `', `"552 Mail from spammer rejected."')dnl
HACK(check_header_end, `')dnl
HACK(check_local_patterns)dnl
HACK(check_local, `CREL,CMD2N,CMFOK,CBASM,CDNSBL,CDREG,CRES', `XSPAM')dnl
dnl END check_local main macro
HACK(`popauth')dnl
define(`POP_B4_SMTP_TAG', `')dnl
MAILER(smtp)dnl
INPUT_MAIL_FILTER(`mimedefang',`S=unix:/var/spool/MIMEDefang /mimedefang.sock,F=T,T=S:15m;R:15m;E:15m')
LOCAL_CONFIG
Kspamsubjdb hash /etc/mail/spamsubjects
HSubject: $>check_subject
LOCAL_RULESETS
Scheck_subject
R $* $: $(spamsubjdb $&{currHeader} $: OK $) $1
R REJECT $* $#error $: "553 The subject line of your message indicates a possible virus and is being rejected by our mail filters. Please change the subject line and resend."
--
John
____________________________________________________________ _______
John Murtari Software Workshop Inc.
jmurtari@following domain 315.635-1968(x-211) "TheBook.Com" (TM)
http://thebook.com/