Sam,
Thanks for the explanation. I'll set an explicit idle timeout to avoid the
current problem (as suggested by another response on the list as well). I
look forward to 4.0.5. Other than this one problem (which of course had to
happen while I was gone), spamdyke has been great.
Kris
On Mon, Oct 06, 2008 at 09:26:41AM -0500, Sam Clippinger wrote:
> The problem is that remote servers (spambots) are not disconnecting
> after getting a rejection message. When spamdyke sends a rejection code
> and there's no chance the connection could be allowed (e.g. no
> whitelists remain to be matched), it disconnects qmail and allows the
> qmail process to exit. spamdyke then continues imitating an SMTP server
> for the remainder of the connection. However, because spamdyke 4.0 has
> no idle timeout by default, it's up to the remote server to disconnect.
>
> I changed this in spamdyke 4.0.5-beta2. Now, when qmail is disconnected
> and no idle timeout is set, spamdyke will reset the idle timeout to 20
> minutes. This matches qmail's idle timeout, so the resulting behavior
> should match qmail's before spamdyke was installed.
>
> Version 4.0.5 is very close. Over the weekend, I believe I found the
> cause of David's segmentation faults (woohoo!). All that remains is a
> bit more testing on my systems and some final testing on David's server
> to make sure the bug is gone.
>
> -- Sam Clippinger
>
> David Stiller wrote:
> > Hi Kris,
> >
> > admins normally shouldn't "clean up" logs - you'd be lost, if someone
> > attacks your machine, or you'd have to
> > analyze something like this :-). Tell your co-admins to keep logs for a
> > minimum of a week, with logrotate or
> > something similar.
> >
> > Concerning the "hanging" Spamdyke process i bet it'll be fixed in the
> > next release. Sam and me are debugging
> > a segmentation fault and he also he already fixed a problem with
> > deprecated (probably never closing) processes.
> >
> > Have a look in your /var/log/messages, if you can find a segmentation
> > fault at 20:27 from yesterday, if yes,
> > you probably hit the same bug as i did on SuSE.
> >
> > Kind regards,
> > David
> >
> > Kris Van Hees schrieb:
> >
> >> I had a problem where my mail server stopped being able to service
> >> connections
> >> because I had as many hanging spamdyke processes as was allowed in my
> >> tcpserver
> >> config (-c option). Unfortunately, the processes were cleaned up by
> >> another
> >> admin before I could look at them.
> >>
> >> And then, I just ran into the same situation again, where a spamdyke
> >> process
> >> is hanging, and has been hanging for 2.5 hours so far. Here is output from
> >> log-level debug in spamdyke (XXXXX substituted for domain name):
> >>
> >> Oct 5 20:27:16 saffron spamdyke[3978]:
> >> DEBUG(filter_rdns_missing()@filter.c:841): checking for missing rDNS;
> >> rdns: (unknown)
> >> Oct 5 20:27:16 saffron spamdyke[3978]: FILTER_RDNS_MISSING ip: 77.30.98.26
> >> Oct 5 20:27:16 saffron spamdyke[3978]:
> >> DEBUG(filter_ip_whitelist()@filter.c:1120): searching IP whitelist
> >> file(s); ip: 77.30.98.26
> >> Oct 5 20:27:17 saffron spamdyke[3978]:
> >> DEBUG(filter_recipient_relay()@filter.c:2176): checking relaying;
> >> relay-level: 3 recipient: [EMAIL PROTECTED] ip: 77.30.98.26 rdns:
> >> (unknown) local_recipient: true relaying_allowed: false
> >> Oct 5 20:27:17 saffron spamdyke[3978]: DENIED_RDNS_MISSING from: [EMAIL
> >> PROTECTED] to: [EMAIL PROTECTED] origin_ip: 77.30.98.26 origin_rdns:
> >> (unknown) auth: (unknown)
> >>
> >> I would have expected the connection to be dropped at this point, and
> >> spamdyke
> >> to exit. Looking at lsof -i output for this process, I get:
> >>
> >> spamdyke 3978 qmaild 0u IPv4 732880026 TCP
> >> saffron.alchar.org:smtp->77.30.98.26:56004 (ESTABLISHED)
> >> spamdyke 3978 qmaild 1u IPv4 732880026 TCP
> >> saffron.alchar.org:smtp->77.30.98.26:56004 (ESTABLISHED)
> >> spamdyke 3978 qmaild 3u IPv4 732880028 UDP *:41956
> >>
> >> So, the connection is still alive. Netstat -an confirms this:
> >>
> >> tcp 0 0 192.168.0.1:25 77.30.98.26:56004
> >> ESTABLISHED
> >>
> >> Looking at strace output, spamdyke is stuck in a select loop, waiting for
> >> something:
> >>
> >> Process 3978 attached - interrupt to quit
> >> select(1, [0], NULL, NULL, {1, 580000}) = 0 (Timeout)
> >> time(NULL) = 1223261329
> >> select(1, [0], NULL, NULL, {2, 0}) = 0 (Timeout)
> >> time(NULL) = 1223261331
> >> select(1, [0], NULL, NULL, {2, 0}) = 0 (Timeout)
> >> time(NULL) = 1223261333
> >> select(1, [0], NULL, NULL, {2, 0} <unfinished ...>
> >> Process 3978 detached
> >>
> >> Looking at the process using gdb didn't show anything interesting, because
> >> the
> >> backtrace is trash (possibly in part due to me stripping the spamdyke
> >> executable). It simply lists the top frame as:
> >>
> >> #0 0xb7ec39f8 in select () from /lib/tls/libc.so.6
> >>
> >> and the rest if garbage. Smells like possible memory corruption.
> >>
> >> Anyone seen something like this? This is with spamdyke 4.0.4.
> >>
> >> Kris
> >>
> >>
> >>
> >
> > _______________________________________________
> > spamdyke-users mailing list
> > [email protected]
> > http://www.spamdyke.org/mailman/listinfo/spamdyke-users
> >
> _______________________________________________
> spamdyke-users mailing list
> [email protected]
> http://www.spamdyke.org/mailman/listinfo/spamdyke-users
--
Never underestimate a Mage with:
- the Intelligence to cast Magic Missile,
- the Constitution to survive the first hit, and
- the Dexterity to run fast enough to avoid being hit a second time.
_______________________________________________
spamdyke-users mailing list
[email protected]
http://www.spamdyke.org/mailman/listinfo/spamdyke-users