cyrus-imapd 2.2 and timsieved problems

Carsten Hoeger choeger at suse.de
Tue Aug 23 05:00:09 EDT 2005


Hi,

I'm unable to do a successfull PLAIN authentication with timsieved on
cyrus-imapd 2.2 (tried with 2.2.3 and 2.2.12).

I've no problem to authenticate with timsieved of 2.1.16, however.

I have a test user called choeger with password system. I'm able to
authenticate against imapd without problems:

telnet localhost imap
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK d141 Cyrus IMAP4 v2.2.3 server ready
. auth plain 
. BAD Please login first
. authenticate plain
+ 
Y2hvZWdlcgBjaG9lZ2VyAHN5c3RlbQ==
. OK Success (no protection)

(Note: I enabled PLAIN without using TLS/SSL in removing SASL_SEC_NOPLAINTEXT
 from secprops in imapd.c)

The same authstring does not work with timsieved:

telnet localhost sieve
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
"IMPLEMENTATION" "Cyrus timsieved v2.2.3"
"SASL" "LOGIN PLAIN"
"SIEVE" "fileinto reject envelope vacation imapflags notify subaddress
relational regex"
OK
AUTHENTICATE "PLAIN" {33+}
Y2hvZWdlcgBjaG9lZ2VyAHN5c3RlbQ==
NO "Authentication Error"
Connection closed by foreign host.


On an old server running 2.1.16 it works:

telnet imapdevel sieve
Trying 10.10.0.9...
Connected to imapdevel.
Escape character is '^]'.
"IMPLEMENTATION" "Cyrus timsieved v2.1.16"
"SASL" "LOGIN PLAIN"
"SIEVE" "fileinto reject envelope vacation imapflags notify subaddress
relational regex"
"STARTTLS"
OK
AUTHENTICATE "PLAIN" {33+}
Y2hvZWdlcgBjaG9lZ2VyAHN5c3RlbQ==
OK


Even worse: When I use sieveshell to contact timsieved of cyrus-imapd 2.2,
timsieved segfaults. This is the ethereal captured protocol:


"IMPLEMENTATION" "Cyrus timsieved v2.2.3"
"SASL" "LOGIN PLAIN"
"SIEVE" "fileinto reject envelope vacation imapflags notify subaddress
relational regex"
OK
AUTHENTICATE "LOGIN"
{12}
VXNlcm5hbWU6
{12+}
Y2hvZWdlcg==
{12}
UGFzc3dvcmQ6
{12+}
U2FsYWhtMQ==
NO "Authentication Error"
AUTHENTICATE "PLAIN" {32+}
Y2hvZWdlcgBjaG9lZ2VyAFNhbGFobTE=
NO "Authentication Error"
OK "Logout Complete"

And then, timsieved segfaults.

This is the backtrace of timsieved:

#1  0x40035617 in sasl_server_start (conn=0x8138728, mech=0x81344e4 "PLAIN", 
    clientin=0x817d860 "choeger", clientinlen=22, serverout=0xbfffc6c8, 
    serveroutlen=0xbfffc6c4) at server.c:1303
#2  0x0805156c in cmd_authenticate (sieved_out=0x8134298, sieved_in=0x8134228, 
    mechanism_name=0x81344e0, initial_challenge=0x817db78, errmsg=0xbfffd748)
    at parser.c:524
#3  0x08050d8d in parser (sieved_out=0x8134298, sieved_in=0x8134228)
    at parser.c:181
#4  0x0805051e in cmdloop () at timsieved.c:163
#5  0x0805099f in service_main (argc=1, argv=0x8132008, envp=0xbffff51c)
    at timsieved.c:289
#6  0x0804db0f in main (argc=1, argv=0xbffff514, envp=0xbffff51c)
    at service.c:546


The code in line 1303 of lib/server.c (that's sourcecode of cyrus-sasl version
2.1.18, most recent version == same behaviour):

            s_conn->mech->plug->mech_dispose(conn->context,
                                             s_conn->sparams->utils);

Using a debugger shows, that s_conn->mech->plug->mech_dispose() points to 0 in
that case.

I'm currently trying to find out, where the problem is. I can't say, that I am
a SASL expert, so any help is appreciated.

-- 
With best regards,

Carsten Hoeger
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : https://lists.andrew.cmu.edu/mailman/private/info-cyrus/attachments/20050823/6a4a3150/attachment.bin


More information about the Info-cyrus mailing list