SOLVED Re: [2.3.1] Sieve daemon : closes connection at once on some conditions (?)

Vincent Deffontaines vincent.deffontaines at inl.fr
Thu Feb 23 10:15:27 EST 2006


On Jeu 16 février 2006 17:51, Vincent Deffontaines a écrit :
> Ken Murchison wrote:
>> Vincent Deffontaines wrote:
>>
>>> Greetings,
>>>
>>> I am having a quite weird behaviour from the sieve daemon.
>>>
>>> I have in my config (SERVICES) :
>>> sieve         cmd="timsieved" listen="sieve" prefork=0
>>>
>>> The daemon listens fine on TCP port 2000.
>>>
>>> If I telnet to localhost on port 2000, I get :
>>> Trying 127.0.0.1...
>>> Connected to sexa-mail1.ecn.loc.
>>> Escape character is '^]'.
>>> "IMPLEMENTATION" "Cyrus timsieved v2.3.1"
>>> "SASL" "PLAIN"
>>> "SIEVE" "comparator-i;ascii-numeric fileinto reject vacation imapflags
>>> notify envelope relational regex subaddress copy"
>>> "STARTTLS"
>>> OK
>>>
>>> Which I am happy with.
>>>
>>> If I telnet from another box from the same network (10.0.0.0/8), I get
>>> the
>>> same prompt.
>>>
>>> If I telnet to it from a host on another network (dmz - 192.168.X) :
>>> Trying 10.1.122.49...
>>> Connected to sexa-mail.ecn.loc.
>>> Escape character is '^]'.
>>> Connection closed by foreign host.
>>>
>>> The connection opens, and gets closed straight away.
>>> So this is not a firewall nor a routing problem. I get in the logs on
>>> the
>>> sieve server :
>>> Feb 15 23:20:25 sexa-mail1 master[26216]: about to exec
>>> /usr/cyrus/bin/timsieved
>>> Feb 15 23:20:25 myhost sieve[26216]: executed
>>> Feb 15 23:20:25 myhost sieve[26216]: telling master 2
>>> Feb 15 23:20:25 myhost sieve[26216]: accepted connection
>>> Feb 15 23:20:25 myhost sieve[26216]: telling master 3
>>> Feb 15 23:20:25 myhost master[17464]: service sieve pid 26216 in READY
>>> state: now unavailable and in BUSY state
>>> Feb 15 23:20:25 myhost master[17464]: service sieve now has 0 ready
>>> workers
>>> Feb 15 23:20:25 myhost master[17464]: service sieve pid 26216 in BUSY
>>> state: now serving connection
>>> Feb 15 23:20:25 myhost master[17464]: service sieve now has 0 ready
>>> workers
>>> Feb 15 23:20:25 myhost master[17464]: process 26216 exited, status 0
>>> Feb 15 23:20:25 myhost master[17464]: service sieve now has 0 ready
>>> workers
>>>
>>> So the process just closes the connection and exits with status 0.
>>>
>>> Is there some config option that I don't know of?
>>> Is there something obvious I am not seeing?
>>> Why is there no prompt when connecting from that host?
>>
>>
>> Are you using TCP wrappers or something?  Is some other process (xinetd)
>> listening on port 2000?
>>
>
> Not using TCP wrappers (well hosts.allow and hosts.deny are both empty).
> And it is cyrus that listens on port 2000 :
>
> tcp        0      0 0.0.0.0:2000            0.0.0.0:*
> LISTEN     17464/master
>
>
> Vincent

I have found out what happens. This is in no way a Cyrus problem.
Tcpdumping -xx on both server and client has shown that the Sieve server
was sending the Greeting banner, just before a connection being reset by
the firewall. The client was never receiving the banner.

I guess that's what one gets (and deserves) for using a WinGate firewall :-P

Weirdly enough, the wingate "firewall" breaks the sieve protocol on port
2000, but not on port 2001. Of couse, nothing in the filtering rules
reflects that.

However, I thought I'd just post this info, just in case other clueless
wingate users wonder about weird things, and just to solve this problem in
case anyone reads this thread later.

Cheers,

Vincent




More information about the Info-cyrus mailing list