timsieved isn't listing any auth methods

Nick Fisher Nick at nickdafish.com
Thu Oct 31 19:01:18 EST 2002


Hi People,
  I can't get timsieve to list it's one auth method... PLAIN and thus
can't get sieveshell to work. This is the second set of posts I've made so
if this seems a little familiar that's because it is ;)
I've been working on and off on this bug for about two months now :(

The problem is that timsieved isn't listing it's auth method and I don't
know why. I'm using PLAIN as my auth method becuase I'm using pam_mysql to
authenticate against a MySQL DB. I know that Plain is insecure but I have
a firewall. I have tryed a number of things mostly revolving around the
sasl2 plugins and none have helped in the least. I am intrested in ANY
wild ideas that anyone might have about what to try next but please read
the stuff below detailing what I have already tryed.

I would also be most intrested to know if anyone managed to get PLAIN auth
against PAM to work with timsieve...
Or if anyone has timsieve working with *just* the PLAIN auth method.

The one idea I still have is that timsieve isn't reading it's config data
from /etc/imapd.conf. I have no clue as to how to check if this is a
problem.... any ideas most welcome.

Many thanks.....

  Nick




>>>>>>> Things I have already tryed <<<<<<<<<<<<


libs in the workng place or libs with the wrong permissions.
I was advised to use strace on timsieved and see if there were any file
calls that couldn't be completed. I could not find any. The permissions on
my sasl2 libs are all o+rx. The strace is attached, if your good at
reading them please give it a once over (I'm not so good).

No sieve entry in /etc/pam.d. I created a sieve file in that dir with the
correct (I think) details for how to auth against the db.

sasl_minimum_layer... On the advice of a list member I added this var to
my imapd.conf with the value '0'. This didn't appear to have any effect.



>>>>>>> My Config <<<<<<<<<<<<


-------START imapd.conf-------
configdirectory:        /var/imap
partition-default:      /var/spool/imap
sievedir:               /var/imap/sieve

# Don't use an everyday user as admin.
admins:                 cyrus

#hashimapspool:         yes
allowanonymouslogin:    no
allowplaintext:         yes

# Use this if sieve-scripts could be in ~user/.sieve.
#sieveusehomedir:       yes

# Use saslauthd if you want to use pam for imap.
# But be warned: login with DIGEST-MD5 or CRAM-MD5
# is not possible using pam.
sasl_pwcheck_method:    saslauthd

# Following taken from the FAQ
postmaster: postmaster
sasl_mech_list: PLAIN LOGIN

# Added to try and get fking sieve to work
sasl_minimum_layer: 0

autocreatequota: 10000
reject8bit: no
quotawarn: 90
timeout: 30
poptimeout: 10
dracinterval: 0
drachost: localhost
#sievedir: /usr/sieve
sendmail: /usr/sbin/sendmail
sieve_maxscriptsize: 32
sieve_maxscripts: 5
unixhierarchysep: yes
-------END imapd.conf-------

-------START /etc/pam.d/sieve-------
auth    sufficient      /lib/security/pam_mysql.so user=mail passwd=******
host=localhost db=mail table=accountuser usercolumn=username
passwdcolumn=password crypt=0
account required        /lib/security/pam_mysql.so user=mail passwd=******
host=localhost db=mail table=accountuser usercolumn=username
passwdcolumn=password crypt=0
-------END /etc/pam.d/sieve-------

-------START /etc/cyrus.conf-------
START {
  # do not delete this entry!
  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/imap/socket
SERVICES {
  # add or remove based on preferences
  imap          cmd="imapd" listen="imap" prefork=0
  pop3          cmd="pop3d" listen="pop3" prefork=0
  # Don't forget to generate the needed keys for SSL or TLS
  # (see doc/html/install-configure.html)
  #imaps                cmd="imapd -s" listen="imaps" prefork=0
  #pop3s                cmd="pop3d -s" listen="pop3s" prefork=0
  sieve         cmd="timsieved" listen="sieve" prefork=0

  # at least one LMTP is required for delivery
#  lmtp         cmd="lmtpd" listen="lmtp" prefork=0
  lmtpunix      cmd="lmtpd" listen="/var/imap/socket/lmtp" prefork=0

  # this is only necessary if using notifications
#  notify       cmd="notifyd" listen="/var/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" period=1440

  # this is only necessary if caching TLS sessions
  tlsprune      cmd="tls_prune" period=1440
}
-------END cyrus.conf-------



>>>>>>> timsieved strace <<<<<<<<<<<<

root # strace /usr/cyrus/bin/timsieved -C /etc/imapd.conf
execve("/usr/cyrus/bin/timsieved", ["/usr/cyrus/bin/timsieved", "-C",
"/etc/imapd.conf"], [/* 23 vars */]) = 0
brk(0)                                  = 0x8098524
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x40016000
open("/etc/ld.so.preload", O_RDONLY)    = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
close(3)                                = 0
open("/usr/local/lib/i686/mmx/libsasl2.so.2", O_RDONLY) = -1 ENOENT (No
such file or directory)
stat64("/usr/local/lib/i686/mmx", 0xbffff044) = -1 ENOENT (No such file or
directory)
open("/usr/local/lib/i686/libsasl2.so.2", O_RDONLY) = -1 ENOENT (No such
file or directory)
stat64("/usr/local/lib/i686", 0xbffff044) = -1 ENOENT (No such file or
directory)
open("/usr/local/lib/mmx/libsasl2.so.2", O_RDONLY) = -1 ENOENT (No such
file or directory)
stat64("/usr/local/lib/mmx", 0xbffff044) = -1 ENOENT (No such file or
directory)
open("/usr/local/lib/libsasl2.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000/\0\000"...,
1024) = 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=88805, ...}) = 0
old_mmap(NULL, 81892, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40017000
mprotect(0x4002a000, 4068, PROT_NONE)   = 0
old_mmap(0x4002a000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x12000) = 0x4002a000
close(3)                                = 0
open("/usr/local/lib/libdb-3.2.so", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=15215, ...}) = 0
old_mmap(NULL, 15215, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4002b000
close(3)                                = 0
open("/usr/lib/libdb-3.2.so", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360\304"...,
1024) = 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=690248, ...}) = 0
old_mmap(NULL, 644012, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4002f000
mprotect(0x400cb000, 5036, PROT_NONE)   = 0
old_mmap(0x400cb000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x9b000) = 0x400cb000
close(3)                                = 0
open("/usr/local/lib/libssl.so.0.9.6", O_RDONLY) = -1 ENOENT (No such file
or directory)
open("/usr/lib/libssl.so.0.9.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P\201\0"..., 1024)
= 1024
fstat64(3, {st_mode=S_IFREG|0555, st_size=204936, ...}) = 0
old_mmap(NULL, 183168, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x400cd000
mprotect(0x400f7000, 11136, PROT_NONE)  = 0
old_mmap(0x400f7000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x29000) = 0x400f7000
close(3)                                = 0
open("/usr/local/lib/libcrypto.so.0.9.6", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/lib/libcrypto.so.0.9.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P\336\1"..., 1024)
= 1024
fstat64(3, {st_mode=S_IFREG|0555, st_size=865301, ...}) = 0
old_mmap(NULL, 765824, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x400fa000
mprotect(0x401a8000, 53120, PROT_NONE)  = 0
old_mmap(0x401a8000, 40960, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0xad000) = 0x401a8000
old_mmap(0x401b2000, 12160, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x401b2000
close(3)                                = 0
open("/usr/local/lib/libresolv.so.2", O_RDONLY) = -1 ENOENT (No such file
or directory)
open("/lib/libresolv.so.2", O_RDONLY)   = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\'\0\000"...,
1024) = 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=67390, ...}) = 0
old_mmap(NULL, 70656, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x401b5000
mprotect(0x401c3000, 13312, PROT_NONE)  = 0
old_mmap(0x401c3000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0xd000) = 0x401c3000
old_mmap(0x401c4000, 9216, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x401c4000
close(3)                                = 0
open("/usr/local/lib/libnsl.so.1", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/lib/libnsl.so.1", O_RDONLY)      = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 >\0\000"...,
1024) = 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=93462, ...}) = 0
old_mmap(NULL, 89628, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x401c7000
mprotect(0x401da000, 11804, PROT_NONE)  = 0
old_mmap(0x401da000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x12000) = 0x401da000
old_mmap(0x401db000, 7708, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x401db000
close(3)                                = 0
open("/usr/local/lib/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\250\224"...,
1024) = 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=1425044, ...}) = 0
old_mmap(NULL, 1241120, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x401dd000
mprotect(0x40302000, 40992, PROT_NONE)  = 0
old_mmap(0x40302000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x124000) = 0x40302000
old_mmap(0x40308000, 16416, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40308000
close(3)                                = 0
open("/usr/local/lib/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/usr/local/lib/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/lib/libdl.so.2", O_RDONLY)       = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\234\34"..., 1024)
= 1024
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x4030d000
fstat64(3, {st_mode=S_IFREG|0755, st_size=14490, ...}) = 0
old_mmap(NULL, 12396, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4030e000
mprotect(0x40310000, 4204, PROT_NONE)   = 0
old_mmap(0x40310000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x1000) = 0x40310000
close(3)                                = 0
mprotect(0x400fa000, 712704, PROT_READ|PROT_WRITE) = 0
mprotect(0x400fa000, 712704, PROT_READ|PROT_EXEC) = 0
munmap(0x4002b000, 15215)               = 0
brk(0)                                  = 0x8098524
brk(0x80986b4)                          = 0x80986b4
brk(0x8099000)                          = 0x8099000
brk(0x809c000)                          = 0x809c000
time([1036006982])                      = 1036006982
open("/etc/localtime", O_RDONLY)        = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=1267, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x4002b000
read(3, "TZif\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0\4\0"..., 4096)
= 1267
close(3)                                = 0
munmap(0x4002b000, 4096)                = 0
rt_sigaction(SIGPIPE, {0x402b5874, [], 0x4000000}, {SIG_DFL}, 8) = 0
socket(PF_UNIX, SOCK_DGRAM, 0)          = 3
fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
connect(3, {sin_family=AF_UNIX, path="/dev/log"}, 16) = 0
send(3, "<11>Oct 30 14:43:02 timsieved: c"..., 71, 0) = 71
rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
_exit(70)                               = ?






More information about the Info-cyrus mailing list