SIEVE weirdness

Simon Matter simon.matter at ch.sauter-bc.com
Thu Feb 12 01:14:31 EST 2004


> A friend of mine has tried to get Cyrus 2.1.5 running on RHEL 3 and all
> works except sieve.
>
> Doing something like 'sieveshell -u cyrus -a cyrus' prompts for the
> password over and over.
>
> The error message I get is
> Feb  5 17:09:48 agentsmith timsieved[4172]: unable to open Berkeley db
> /etc/sasldb2: Invalid argument
> Feb  5 17:09:48 agentsmith timsieved[4172]: unable to open Berkeley db
> /etc/sasldb2: Invalid argument
> Feb  5 17:09:48 agentsmith timsieved[4172]: no secret in database
> Feb  5 17:09:48 agentsmith timsieved[4172]: badlogin:
> localhost.localdomain[127.0.0.1] DIGEST-MD5 authentication failure
>
> Seems like a problem with the auth method, but when I look in
> /etc/imapd.conf he's using saslauthd ...
>
> postmaster: postmaster
> configdirectory: /var/lib/imap/
> partition-default: /var/spool/imap
> admins: cyrus
> allowanonymouslogin: no
> allowplaintext: yes
> sasl_mech_list: PLAIN DIGEST-MD5 shadow pwcheck
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
What exactly do you want here? Since you are using saslauthd as
sasl_pwcheck_method, you very likely use PAM/shadow to authenticate. Then,
just use 'sasl_mech_list: PLAIN'. IIRC sieveshell is different from the
other cyrus tools when it comes to using different mechs. Of course you
need /etc/pam.d/sieve with proper config.

Simon

> servername: agentsmith.novussententia.com
> autocreatequota: 10000
> reject8bit: no
> quotawarn: 90
> timeout: 30
> poptimeout: 10
> sasl_pwcheck_method: saslauthd
> sievedir: /usr/sieve
> sendmail: /usr/sbin/sendmail
> sieve_maxscriptsize: 32
> sieveuserhomedir: no
> sieve_maxscripts: 5
> tls_ca_file: /var/lib/imap/cacert.pem
> tls_cert_file: /var/lib/imap/server.crt
> tls_key_file: /var/lib/imap/server.key
>
> His cyrus.conf:
>
> START {
>   # do not delete this entry!
>   mboxlist      cmd="ctl_cyrusdb -r"
>   deliver       cmd="ctl_deliver -r"
>   recover       cmd="ctl_cyrusdb -r"
>
>   # this is only necessary if using idled for IMAP IDLE
> #  idled                cmd="idled"
> }
>
> # UNIX sockets start with a slash and are put into /var/lib/imap/sockets
> SERVICES {
>   # add or remove based on preferences
>   imap          cmd="imapd" listen="imap" prefork=5
>   imaps         cmd="imapd -s" listen="imaps" prefork=1
>   #pop3         cmd="pop3d" listen="pop3" prefork=3
>   #pop3s        cmd="pop3d -s" listen="pop3s" prefork=1
>   sieve         cmd="timsieved" listen="localhost:sieve" prefork=0
>   lmtpunix      cmd="lmtpd" listen="/var/lib/imap/socket/lmtp" prefork=0
>
>   # this is only necessary if using notifications
> #  notify       cmd="notifyd" listen="/var/lib/imap/socket/notify"
> proto="udp" prefork=1
> }
>
> EVENTS {
>   # this is required
>   checkpoint    cmd="ctl_cyrusdb -c" period=30
>
>   # this is only necessary if using duplicate delivery suppression
>   delprune      cmd="ctl_deliver -E 3" at=0400
>
>   # this is only necessary if caching TLS sessions
>   tlsprune      cmd="tls_prune" at=0400
>   squatter      cmd="squatter -r user" period=1440
> }
>
> He can login via IMAP just fine.  I even see in the logs where it accepts
> the password as type 'plain'.  Below is a strace where we try to
> authenticate via sieveshell.  I see it trying to open /etc/shadow, but not
> sasldb
>
> [pid  4163] <... accept resumed> {sa_family=AF_UNIX, path=@}, [2]) = 7
> [pid  4163] fcntl64(6, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=0,
> len=1} <unfinished ...>
> [pid  4162] <... fcntl64 resumed> )     = 0
> [pid  4163] <... fcntl64 resumed> )     = 0
> [pid  4162] accept(5,  <unfinished ...>
> [pid  4163] read(7, "\0\6", 2)          = 2
> [pid  4163] read(7, "csmith", 6)        = 6
> [pid  4163] read(7, "\0\5", 2)          = 2
> [pid  4163] read(7, "fr00t", 5)         = 5
> [pid  4163] read(7, "\0\4", 2)          = 2
> [pid  4163] read(7, "smtp", 4)          = 4
> [pid  4163] read(7, "\0\0", 2)          = 2
> [pid  4163] socket(PF_UNIX, SOCK_STREAM, 0) = 8
> [pid  4163] connect(8, {sa_family=AF_UNIX, path="/var/run/.nscd_socket"},
> 110) = -1 ENOENT (No such file or directory)
> [pid  4163] close(8)                    = 0
> [pid  4163] open("/etc/nsswitch.conf", O_RDONLY) = 8
> [pid  4163] fstat64(8, {st_mode=S_IFREG|0644, st_size=1686, ...}) = 0
> [pid  4163] mmap2(NULL, 4096, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb75ea000
> [pid  4163] read(8, "#\n# /etc/nsswitch.conf\n#\n# An ex"..., 4096) = 1686
> [pid  4163] read(8, "", 4096)           = 0
> [pid  4163] close(8)                    = 0
> [pid  4163] munmap(0xb75ea000, 4096)    = 0
> [pid  4163] open("/etc/ld.so.cache", O_RDONLY) = 8
> [pid  4163] fstat64(8, {st_mode=S_IFREG|0644, st_size=38297, ...}) = 0
> [pid  4163] old_mmap(NULL, 38297, PROT_READ, MAP_PRIVATE, 8, 0) =
> 0xb75e1000
> [pid  4163] close(8)                    = 0
> [pid  4163] open("/lib/libnss_files.so.2", O_RDONLY) = 8
> [pid  4163] read(8,
> "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000\35\0"..., 512) = 512
> [pid  4163] fstat64(8, {st_mode=S_IFREG|0755, st_size=51924, ...}) = 0
> [pid  4163] old_mmap(NULL, 46720, PROT_READ|PROT_EXEC, MAP_PRIVATE, 8, 0)
> = 0xb73ce000
> [pid  4163] old_mmap(0xb73d9000, 4096, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED, 8, 0xa000) = 0xb73d9000
> [pid  4163] close(8)                    = 0
> [pid  4163] munmap(0xb75e1000, 38297)   = 0
> [pid  4163] open("/etc/passwd", O_RDONLY) = 8
> [pid  4163] fcntl64(8, F_GETFD)         = 0
> [pid  4163] fcntl64(8, F_SETFD, FD_CLOEXEC) = 0
> [pid  4163] fstat64(8, {st_mode=S_IFREG|0644, st_size=2261, ...}) = 0
> [pid  4163] mmap2(NULL, 4096, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb75ea000
> [pid  4163] read(8, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 2261
> [pid  4163] close(8)                    = 0
> [pid  4163] munmap(0xb75ea000, 4096)    = 0
> [pid  4163] time(NULL)                  = 1076018980
> [pid  4163] open("/etc/shadow", O_RDONLY) = 8
> [pid  4163] fcntl64(8, F_GETFD)         = 0
> [pid  4163] fcntl64(8, F_SETFD, FD_CLOEXEC) = 0
> [pid  4163] fstat64(8, {st_mode=S_IFREG|0600, st_size=1863, ...}) = 0
> [pid  4163] mmap2(NULL, 4096, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb75ea000
> [pid  4163] read(8, "root:$1$q5CN0a6g$EKr/kJsRo5u9IMS"..., 4096) = 1863
> [pid  4163] close(8)                    = 0
> [pid  4163] munmap(0xb75ea000, 4096)    = 0
> [pid  4163] write(7, "\0\2", 2)         = 2
> [pid  4163] write(7, "OK", 2)           = 2
> [pid  4163] close(7)                    = 0
> [pid  4163] fcntl64(6, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=0,
> len=1} <unfinished ...>
> [pid  4162] <... accept resumed> {sa_family=AF_UNIX, path=@}, [2]) = 7
> [pid  4162] fcntl64(6, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=0,
> len=1} <unfinished ...>
> [pid  4160] <... fcntl64 resumed> )     = 0
> [pid  4162] <... fcntl64 resumed> )     = 0
> [pid  4160] accept(5,  <unfinished ...>
> [pid  4162] read(7, "\0\5", 2)          = 2
> [pid  4162] read(7, "cyrus", 5)         = 5
> [pid  4162] read(7, "\0\5", 2)          = 2
> [pid  4162] read(7, "cyru$", 5)         = 5
> [pid  4162] read(7, "\0\5", 2)          = 2
> [pid  4162] read(7, "sieve", 5)         = 5
> [pid  4162] read(7, "\0\0", 2)          = 2
> [pid  4162] socket(PF_UNIX, SOCK_STREAM, 0) = 8
> [pid  4162] connect(8, {sa_family=AF_UNIX, path="/var/run/.nscd_socket"},
> 110) = -1 ENOENT (No such file or directory)
> [pid  4162] close(8)                    = 0
> [pid  4162] open("/etc/nsswitch.conf", O_RDONLY) = 8
> [pid  4162] fstat64(8, {st_mode=S_IFREG|0644, st_size=1686, ...}) = 0
> [pid  4162] mmap2(NULL, 4096, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb75ea000
> [pid  4162] read(8, "#\n# /etc/nsswitch.conf\n#\n# An ex"..., 4096) = 1686
> [pid  4162] read(8, "", 4096)           = 0
> [pid  4162] close(8)                    = 0
> [pid  4162] munmap(0xb75ea000, 4096)    = 0
> [pid  4162] open("/etc/ld.so.cache", O_RDONLY) = 8
> [pid  4162] fstat64(8, {st_mode=S_IFREG|0644, st_size=38297, ...}) = 0
> [pid  4162] old_mmap(NULL, 38297, PROT_READ, MAP_PRIVATE, 8, 0) =
> 0xb75e1000
> [pid  4162] close(8)                    = 0
> [pid  4162] open("/lib/libnss_files.so.2", O_RDONLY) = 8
> [pid  4162] read(8,
> "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000\35\0"..., 512) = 512
> [pid  4162] fstat64(8, {st_mode=S_IFREG|0755, st_size=51924, ...}) = 0
> [pid  4162] old_mmap(NULL, 46720, PROT_READ|PROT_EXEC, MAP_PRIVATE, 8, 0)
> = 0xb73ce000
> [pid  4162] old_mmap(0xb73d9000, 4096, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED, 8, 0xa000) = 0xb73d9000
> [pid  4162] close(8)                    = 0
> [pid  4162] munmap(0xb75e1000, 38297)   = 0
> [pid  4162] open("/etc/passwd", O_RDONLY) = 8
> [pid  4162] fcntl64(8, F_GETFD)         = 0
> [pid  4162] fcntl64(8, F_SETFD, FD_CLOEXEC) = 0
> [pid  4162] fstat64(8, {st_mode=S_IFREG|0644, st_size=2261, ...}) = 0
> [pid  4162] mmap2(NULL, 4096, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb75ea000
> [pid  4162] read(8, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 2261
> [pid  4162] close(8)                    = 0
> [pid  4162] munmap(0xb75ea000, 4096)    = 0
> [pid  4162] time(NULL)                  = 1076018993
> [pid  4162] open("/etc/shadow", O_RDONLY) = 8
> [pid  4162] fcntl64(8, F_GETFD)         = 0
> [pid  4162] fcntl64(8, F_SETFD, FD_CLOEXEC) = 0
> [pid  4162] fstat64(8, {st_mode=S_IFREG|0600, st_size=1863, ...}) = 0
> [pid  4162] mmap2(NULL, 4096, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb75ea000
> [pid  4162] read(8, "root:$1$q5CN0a6g$EKr/kJsRo5u9IMS"..., 4096) = 1863
> [pid  4162] close(8)                    = 0
> [pid  4162] munmap(0xb75ea000, 4096)    = 0
> [pid  4162] write(7, "\0\2", 2)         = 2
> [pid  4162] write(7, "OK", 2)           = 2
> [pid  4162] close(7)                    = 0
> [pid  4162] fcntl64(6, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=0,
> len=1} <unfinished ...>
>
> Any idea on what's going wrong?
>
> --
> Brian
> ---
> Home Page: http://asg.web.cmu.edu/cyrus
> Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
> List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
>


---
Home Page: http://asg.web.cmu.edu/cyrus
Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html




More information about the Info-cyrus mailing list