Cyrus Imap final setup problems

Nybbles2Byte nybbles2byte at gmail.com
Wed Jul 8 12:23:31 EDT 2009


Hello ,

I have a setup with the following: 

OpenSuSE 11.0 (x86_64)
Postfix 2.5.1-28.5 (x86_64)
Cyrus SASL 2.1.22-140.1 (x86_64)
Cyrus Imap 2.3.11-31.1 (x86_64)
MySQL 5.1.35-34.1
All of these are on the same computer.

I've tested SASL with the four main types (plain, login & the two md5 types) and it worked fine.

Postfix works fine and I made sure it worked before even working on Imap and SASL.

Cyrus Imap goes through SASL to MySQL but Postfix goes directly to MySQL for now. Postfix accesses the same MySQL data as Imap for its domain and user tests so they should always be in sync on authentication. Postfix communicates with Imap through LMTP.

I've done the tests in the documention step by step and Cyrus Imap passes.

I created a user with cyradm and successfully sent and received a message from my email client (The Bat!) using the the imap protocol with that user from a different computer. So far so good.

However, it stopped receiving messages after two tests and looking at the logs it said it was at it's quota limit so I went back to cyradm to set the quota (I didn't bother the first time so it was at zero) and I got a "quota permission denied" error. This was from the same admin, I created the user with and it showed that the admin had all rights.

I then used the admin to create another user and immediately tried to set the quota of that new user and got the same permission denied error. I could however remove the user that I could no set the quota for. 

That is my first problem but I have two other as follow:

Sieve is not working when I try to telnet to it and I get this error:

neutrino:~ # telnet mydomain.com sieve
Trying nnn.nn.nn.nn...
telnet: connect to address nnn.nn.nn.nn: Connection refused

This may be that it needs to be compiled and installed but I am not sure. Is it automatically installed with Cyrus Imap? I did however as per the instructions set the /etc/services for it and I commented out the other service (cisco something) that it conflicted with for port 2000.

The last thing is I am getting a "badlogin" error in my cyrus log as you can see below:

Jul  8 08:12:00 neutrino SeoWS/imap[20686]: badlogin: localhost [127.0.0.1] CRAM-MD5 [SASL(-13): user not found: no secret in database]
Jul  8 08:12:00 neutrino SeoWS/imap[20694]: sql auxprop plugin using mysql engine
Jul  8 08:12:03 neutrino SeoWS/imap[20686]: sql plugin Parse the username reg
Jul  8 08:12:03 neutrino SeoWS/imap[20686]: sql plugin try and connect to a host
Jul  8 08:12:03 neutrino SeoWS/imap[20686]: sql plugin trying to open db 'mail' on host 'localhost'
Jul  8 08:12:03 neutrino SeoWS/imap[20686]: sql plugin Parse the username reg
Jul  8 08:12:03 neutrino SeoWS/imap[20686]: sql plugin try and connect to a host
Jul  8 08:12:03 neutrino SeoWS/imap[20686]: sql plugin trying to open db 'mail' on host 'localhost'
Jul  8 08:12:03 neutrino SeoWS/imap[20686]: sql plugin Parse the username reg
Jul  8 08:12:03 neutrino SeoWS/imap[20686]: sql plugin try and connect to a host
Jul  8 08:12:03 neutrino SeoWS/imap[20686]: sql plugin trying to open db 'mail' on host 'localhost'
Jul  8 08:12:03 neutrino SeoWS/imap[20686]: begin transaction
Jul  8 08:12:03 neutrino SeoWS/imap[20686]: sql plugin create statement from userPassword reg neutrino
Jul  8 08:12:03 neutrino SeoWS/imap[20686]: sql plugin doing query SELECT `password` FROM `accounts` WHERE `user`='reg' AND `realm`='neutrino' AND `virtual` != 0;
Jul  8 08:12:03 neutrino SeoWS/imap[20686]: sql plugin: no result found
Jul  8 08:12:03 neutrino SeoWS/imap[20686]: sql plugin create statement from cmusaslsecretPLAIN reg neutrino
Jul  8 08:12:03 neutrino SeoWS/imap[20686]: sql plugin doing query SELECT `password` FROM `accounts` WHERE `user`='reg' AND `realm`='neutrino' AND `virtual` != 0;
Jul  8 08:12:03 neutrino SeoWS/imap[20686]: sql plugin: no result found
Jul  8 08:12:03 neutrino SeoWS/imap[20686]: commit transaction
Jul  8 08:12:03 neutrino SeoWS/imap[20686]: sql plugin Parse the username reg
Jul  8 08:12:03 neutrino SeoWS/imap[20686]: sql plugin try and connect to a host
Jul  8 08:12:03 neutrino SeoWS/imap[20686]: sql plugin trying to open db 'mail' on host 'localhost'
Jul  8 08:12:03 neutrino SeoWS/imap[20686]: badlogin: localhost [127.0.0.1] plaintext reg SASL(-13): user not found: checkpass failed
Jul  8 08:12:15 neutrino SeoWS/imap[20694]: accepted connection
Jul  8 08:13:39 neutrino SeoWS/imap[20707]: executed
Jul  8 08:13:39 neutrino SeoWS/imap[20707]: sql auxprop plugin using mysql engine
Jul  8 08:14:33 neutrino SeoWS/ctl_cyrusdb[20708]: checkpointing cyrus databases
Jul  8 08:14:33 neutrino SeoWS/ctl_cyrusdb[20708]: archiving log file: /var/lib/imap/db/log.0000000001
Jul  8 08:14:33 neutrino SeoWS/ctl_cyrusdb[20708]: archiving log file: /var/lib/imap/db/log.0000000001
Jul  8 08:14:33 neutrino SeoWS/ctl_cyrusdb[20708]: archiving database file: /var/lib/imap/annotations.db
Jul  8 08:14:33 neutrino SeoWS/ctl_cyrusdb[20708]: archiving database file: /var/lib/imap/mailboxes.db
Jul  8 08:14:33 neutrino SeoWS/ctl_cyrusdb[20708]: archiving log file: /var/lib/imap/db/log.0000000001
Jul  8 08:14:33 neutrino SeoWS/ctl_cyrusdb[20708]: done checkpointing cyrus databases
Jul  8 08:15:00 neutrino SeoWS/imap[20707]: accepted connection
Jul  8 08:15:00 neutrino SeoWS/imap[20712]: executed
Jul  8 08:15:00 neutrino SeoWS/imap[20712]: sql auxprop plugin using mysql engine
Jul  8 08:17:15 neutrino SeoWS/imap[20712]: accepted connection
Jul  8 08:17:15 neutrino SeoWS/imap[20756]: executed
Jul  8 08:17:15 neutrino SeoWS/imap[20756]: sql auxprop plugin using mysql engine

This makes no sense to me because I don't know where it could get the user "reg" from to do any logging in with in the first place, let alone what it is logging in for since I not receiving or sending emails right now.

I also noticed, but don't know if it is a problem or just how Imap works that the user I created showed up in two places in the cyrus store. Once in a path like ..../domain/m/mydomain.com/r/user/root/user^sales and once in a path like ..../domain/m/mydomain.com/s/user/sales. I suspect this is just the way Cyrus works but I mention it just in case it's important to know.

Help will be greatly appreciated! While I am relatively new to Linux as I have had my own Linux box for only about 6 months, I am a seasoned programmer so I'm pick up technical things quick given a pointer or two and certainly don't mind "digging around" until a problem is solved.

Below are my cyrus.conf & imap.conf files:

# standard standalone server implementation

CYRUS.CONF
START {
  # recover - do not delete this entry!
  # idled   - this is only necessary if using idled for IMAP IDLE
  recover   cmd="ctl_cyrusdb -r"
  idled	    cmd="idled"
}

# UNIX sockets start with a slash and are put into /var/lib/imap/socket
SERVICES {
  # DEFAULT DOMAIN
  imap	   	cmd="imapd" 	listen="imap"	prefork=0
# imaps		cmd="imapd -s"	listen="imaps"	prefork=0
# pop3		cmd="pop3d"	listen="pop3"	prefork=0
# pop3s		cmd="pop3d -s"	listen="pop3s"	prefork=0
  sieve		cmd="timsieved"	listen="sieve"	prefork=0
  lmtpunix	cmd="lmtpd" 	listen="/var/lib/imap/socket/lmtp" prefork=0
  notify	cmd="notifyd" 	listen="/var/lib/imap/socket/notify" proto="udp" prefork=0
}

EVENTS {
  checkpoint  cmd="ctl_cyrusdb -c"  period=30
  delprune    cmd="cyr_expire -E 3" at=0400
  tlsprune    cmd="tls_prune" 	    at=0400
# cleanup     cmd="ipurge -d 30 -f" period=60
}

IMAPD.CONF
sasl_auxprop_plugin: sql
sasl_log_level: 7

sasl_mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5

sasl_pwcheck_method: auxprop
sasl_sql_hostnames: localhost
sasl_sql_user: cyrus
sasl_sql_passwd: XXX
sasl_sql_database: mail
sasl_sql_select: SELECT `password` FROM `accounts` WHERE `user`='%u' AND `realm`='%r' AND `virtual` != 0
sasl_sql_insert: INSERT INTO `accounts` (`user`, `realm`, `password`) VALUES ('%u', '%r', '%v')
sasl_sql_update: UPDATE `accounts` SET `user`='%u',`realm`='%r',`password`='%v' WHERE `user`='%u' AND `realm`='%r'

admins: cyrus root
allowplaintext: 1
altnamespace: 1
anyoneuseracl: 0
auth_mech: unix
autocreatequota: 5
configdirectory: /var/lib/imap
drachost: localhost
dracinterval: 0

foolstupidclients: 1
hashimapspool: 1
improved_mboxlist_sort: 1
lmtp_downcase_rcpt: 1
lmtp_strict_quota: 1
logtimestamps: 1
partition-default: /var/mail/cyrus
popsubfolders: 1
poptimeout: 10
sendmail: /usr/sbin/sendmail
sievedir: /var/mail/sieve
syslog_prefix: SeoWS
unixhierarchysep: 1
virtdomains: on


-- 
Reggie                          mailto:nybbles2byte at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.andrew.cmu.edu/pipermail/info-cyrus/attachments/20090708/5f8faf6d/attachment.html 


More information about the Info-cyrus mailing list