Re: problem with procmail
2003-03-29 00:36:57
At 23:23 2003-03-28 -0500, Dan Gahlinger did say:
the latest one off of procmail.org, i figured that would be obvious.
Nothing is a given. People obtain programs from far too many sources to
expect that they're ever using anything _current_ (even "current" *nix
distros which include packages don't always include the "current"
version). Furthermore "the current version" or the "latest version" isn't
as concise as a simple version number. 3.22 is recognized as the current
non-devel release version. There's an even "more current version", but
that's not the same.
Pedantic? You bet - this stuff is significant for some problems.
The latter is wholly unnecessary given the nature of the error, as you'll
find when you run 'man procmail'.
read the man pages, didn't help.
procmail man page is utterly useless.
You must be referring to a different procmail package.
man procmail | grep -A10 -i suspicious
and your reference to the man page doesn't help me at all.
suspicious procmailrc in the manpage says, and I quote:
Yup. Your post sure made it sound like you had no idea what that error
message was about, which implied you hadn't read that portion of the
manpage at all - for instance, you didn't follow up with the mention of the
error with anything resembling "I checked the perms on .forward, and
they're r--r--r--, while the .procmail is rw-------". Nope, just:
the only thing I've gotten recently is in /var/adm/messages which says
"suspicious rcfile" pointing to my .procmailrc - why ?
And you're calling _me_ obtuse? Gimme a break - your message rather
clearly gave the impression that you had no idea what the error meant or
why you'd be getting it. Enter the reference to the manpage. Don't get
angry at me for suggesting that you search the manpage for a reference to
the error message.
which is incorrect. the owner IS me, and the mail IS to me. so, you tell
me and it is NOT group writeable, neither the file nor the directory.
and is not world writeable, either the file nor the directory.
Your original message made no reference to having confirmed the perms or
ownership on the file. Actually reporting what the perms and ownership
are, rather than reporting "they're all correct" is far better form in any
event - remember, you're the one who is experiencing mail problems, so
apparently SOMETHING isn't right, and all things being equal, it's probably
somehting _you_ did, or you'd have found gobs of references to "solaris &
procmail" in a search of the list archives. Perhaps you're sitting too
close to your monitor to see it, or making incorrect assumptions about
things. It happens, even to experienced developers.
No doubt, deleting the files and restoring them from backups created them
with a fresh, un-fscked-up set of permissions, and that's why you're
suddenly able to process mail successfully. Of course, having never
declared what the original perms and ownerships were, nobody can make a
comparison, can they?
Well, your mail log should reveal what action your MTA took when the
message was rejected by procmail. Surely, there's an explanation as to
why your email is bouncing (since, if it isn't heading into your mail
spool, it is bouncing, or being requeued, as in EX_TEMPFAIL - the "exit
75" bit in the .forward).
it doesn't. sorry to burst your bubble. nothing in the log.
It may be time to switch MTAs or do something like set your MTA up to
actually log delivery information, because when the MTA hands off to the
local delivery agent, if there's an error, the MTA should be logging it
(and that's aside from procmail being invoked from your .forward).
FTR, earlier, I simulated a few bodged .forward file configs (and also the
absence of a .procmailrc in conjunction with a valid .forward), in an
attempt to reproduce the sort of vague "absolutely nothing's being logged"
condition you reported, and the following was logged *BY THE MTA*, as a
function of failing to take successful action on the .forward file:
Mar 28 15:50:27 wargames sm-mta[32422]: h2SNoQZe032421: to="|IFS=' ' &&
exec /usr/local/bin/procmail -f- || exit 75 #someuser",
ctladdr=<someuser(_at_)test(_dot_)domain(_dot_)tld> (1001/100), delay=00:00:00,
xdelay=00:00:00, mailer=prog, pri=31186, dsn=5.3.0, stat=unknown mailer
error 126
Mar 28 15:51:52 wargames sm-mta[32433]: h2SNppZe032432: to="|IFS=' ' &&
exec /usr/bin/procmail -f- || exit 75 #someuser",
ctladdr=<someuser(_at_)test(_dot_)domain(_dot_)tld> (1001/100), delay=00:00:00,
xdelay=00:00:00, mailer=prog, pri=31186, dsn=2.0.0, stat=Sent
Mar 28 16:24:27 wargames sm-mta[32537]: h2T0OQZe032536: to="|IFS=' ' &&
p=/usr/local/bin/procmail && test -x $p && exec $p -Yf- || exit 75
#someuser", ctladdr=<someuser(_at_)test(_dot_)domain(_dot_)tld> (1001/100), delay=00:00:00,
xdelay=00:00:00, mailer=prog, pri=31186, dsn=4.0.0, stat=Deferred: prog
mailer (/bin/sh) exited with EX_TEMPFAIL
If your host doesn't log something similar - even for the now successful
deliveries - you need to spend some time in the other "utterly useles"
manpages and resources for your MTA and *nix system.
the mail is NOT bouncing. how's that for a clue? it's just sitting there
in the queue.
Heh. Check my disclaimer page, way down near the bottom. To summarize: if
your original .forward was bodged, sendmail (your MTA, not procmail) will
have STORED that bodged syntax into the queue file, and won't give a flying
hoot about whether you change the contents of the .forward, remove the
.forward, or even restart the MTA. Now, I don't know what you're running
for an MTA, and at this point, I really don't care - but there's a good
chance that it similarly "optimizes" the resolution of the local delivery
and caches its initial resolution for the delivery, and that's it until it
delivers or times out.
it eventually gets delivered if I turn procmail off.
I'll avoid being obtuse and assume you did this with the built-in on/off
switch, since there's easily over 1/2 dozen different methods one could go
about "turning procmail off" depending upon how you're invoking it.
there are no EX_TEMPFAIL messages in ANY logs.
do you have another theory you want to test?
No, I provided several pointers to sources of information to you, despite
an inadequate picture of your complete problem, and they didn't pan out for
you, including apparently, running the diagnostic script.
I see only one, and have no idea whether this is the one which relates to
the symptoms you're describing as sometimes happening. Is there a
.procmailrc file when you're using this one, does it cause the above log
entries, etc?
oh please. don't be so obtuse. can't you read? ok, I'll type it again:
"I've tried it with and without a .procmailrc file"
ok, so that's at least 2 combinations.
With no specific correlation between the results - say, the existance of
the error in the logfile, or differences in the queue or bounce.
and with three different .forwards.
The details of two of which you did not provide in your original message,
BTW. The variety of .forward syntaxes is large, as is the variety of ways
in which someone can bodge the syntax, which CAN lead to ongoing delivery
problem with queued messages.
and the third (ahem) is with -f- and -Yf- using the long obtuse examples,
Your third example then is completely redundant. -Yf- rather clearly
includes f-. I don't know why anyone would think that would fix anything,
but hey, if I were in an airplane in a nosedive, I'd probably just start
toggling switches too, hoping that something would change.
here: "|IFS=' ' && p=/usr/local/bin/procmail && test -f $p && exec $p -Yf-
|| exit 75 #YOUR_LOGIN_NAME"
which is a lot of excess crap.
Q: did you ever confirm the actual path of procmail on your system? Yea,
that "excess crap" tells us you're using a specific path. Which, JFTR, the
procdiag script would report, and you could easily confirm it against.
so here's an overview just because you like being obtuse:
You want to get hostile because I pointed out that your original message
lacked any connections between SPECIFIC invocations and SPECIFIC results
and warning messages? C'mon, don't blame me if you didn't provide
sufficient data in your original post to diagnose _anything_ about your
problem.
Version?
Perms?
Ownership?
Path validity?
MTA logs?
MTA reactions?
I challenge you to try and get a mechanic to properly diagnose your car
when you provide him as much information as you provided in your original
post. Also, if you respond in a like fashion to the mechanic when he asks
you to check and report that information, don't be surprised if he hangs up
on you and returns to his paying customers.
I suspect when you have _no_ .procmailrc, the /var/adm/messages error
isn't the same. This interrelates with that _one_complete_test_scenario_
bit I just mentioned.
without a procmailrc file I get nothing in the logs. or at least I did in
my tests.
Ah, 'zactly - you reported a problem, but didn't correlate the symptoms to
any of your specific tests, just dumped out a jumble of miscellaneous
characteristics, and one of your .forward formats, which wasn't necessarily
correlated to the one error message you reported from your system log.
Surely, if you think about it for a bit, you'll realize that nobody can
help you if there's inadequate description of tests and their individual
results on your part?
The solution is in the manpages. Also, check out:
<http://www.professional.org/procmail/procdiag.sh>
Download it, carefully *READ* it, then invoke it. It should point out
some of the more common user-induced faults.
read it. tell me what I missed. I read it several times actually.
eyes started to glaze over, so I stopped.
I wrote the script specifically to avoid playing 20 questions with people
who for some reason choose to avoid answering the questions completely when
they're the ones experiencing problems. If after you've reviewed the file,
you're satisified that it won't delete the contents of your account,
overwrite your kernel, or forward sensitive files to leet crackers in a
third world nation, you might consider RUNNING the script and reviewing the
output.
Not surprisingly, a number of people have downloaded it and a short while
later, their problems mysteriously went away, apparently without any
connection to the various diagnostics output by the script, such as rc file
perms/ownership, which is a common gotcha for procmail newbies.
I've been a regular contributor on this for approaching ten years, and in
that time, the number of times people have omitted or outright jumbled
significant diagnostic information in the quest to avoid revealing too much
about their configuration defies quantification because it's happened so
many times. Whenever possible, you should _DIRECTLY_QUOTE_ logged errors,
_DIRECTLY_QUOTE_ .forward and pertinent portions of rcfiles,
_DIRECTLY_QUOTE_ permissions and ownerships, right from the output of 'ls
-al'. Indirectly summarizing such things, or rewriting portions of scripts
on the fly when posting them in an email, often conceals the real problem
because such methods are imprecise and prone to operator fsckups.
Next time, don't take it like a personal assault when someone points out
that you didn't provide sufficient information for a diagnosis, and they
ask for clarification.
---
Sean B. Straw / Professional Software Engineering
Procmail disclaimer: <http://www.professional.org/procmail/disclaimer.html>
Please DO NOT carbon me on list replies. I'll get my copy from the list.
_______________________________________________
procmail mailing list
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail
|
|