I have made myself a Red Hat 7.3 RPM of the CVS Cyrus 2.2 (as of 26 Sep 2002) and installed it on some test Red Hat 7.3 systems here.
The virtual domain handling seems to "almost" work for me! What I reliably and reproducibly get is an error about a temporary file and non-delivery of email, to mailboxes in the default domain. Mail to mailboxes in truly "virtual" domains works fine. How can I best debug this further? This is defintely *not* MTA related (for reference, sendmail 8.12.5 with a slightly hacked proto.m4 to do the retention of the @domain.tld part of local addresses), because I get the same results from running deliver -l as I do from sendmail delivery attempts. Here is an example: jm@a1:~$ /usr/libexec/cyrus/deliver -l 220 mail.a1.net LMTP Cyrus v2.2.prealpha-GRC-RPM-2.2-cvs.20020926 ready lhlo junk 250-mail.a1.net 250-8BITMIME 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-SIZE 250-AUTH EXTERNAL 250 IGNOREQUOTA mail from:<[EMAIL PROTECTED]> 250 2.1.0 ok rcpt to:<[EMAIL PROTECTED]> 250 2.1.5 ok data 451 4.3.2 cannot create temporary file: No such file or directory rset 250 2.0.0 ok mail from:<[EMAIL PROTECTED]> 250 2.1.0 ok rcpt to:<[EMAIL PROTECTED]> 250 2.1.5 ok data 354 go ahead Subject: test b2 b2 . 250 2.1.5 Ok quit 221 2.0.0 bye 13:49:51 jm@a1:~$ a1.net is the default domain, b2.net is a virtual domain (no, I do not really own/use those domain names, they are sanitized). My /etc/imapd.conf is configdirectory: /var/lib/imap partition-default: /var/spool/imap admins: cyrus allowanonymouslogin: no sieveuserhomedir: no sievedir: /var/lib/imap/sieve sendmail: /usr/sbin/sendmail hashimapspool: true sasl_pwcheck_method: saslauthd sasl_mech_list: PLAIN tls_cert_file: /usr/share/ssl/certs/cyrus-imapd.pem tls_key_file: /usr/share/ssl/certs/cyrus-imapd.pem altnamespace: yes unixhierarchysep: yes autocreatequota: 100000 virtdomains: yes defaultdomain: a1.net which is just the one from Simon Matter's 2.1.9-3 RPMs with the last five lines added for my own purposes. Permissions and ownership on the relevant /var/{lib,spool}/imap/domain/* files and directories are all fine (owned by cyrus, group mail, directories 0755 and 0700 as expected, files 0600). One point of note: if I run mkimap -d a1.net the error message changes. It then complains about not finding the stage directory, but the error message shows no actual path to a file or directory at all. Also, if I comment out the last two lines of my imapd.conf to disable the virtual domain handling, mail to a normal mailbox then works fine: jm@a1:~$ /usr/libexec/cyrus/deliver -l 220 mail.a1.net LMTP Cyrus v2.2.prealpha-GRC-RPM-2.2-cvs.20020926 ready lhlo junk 250-mail.a1.net 250-8BITMIME 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-SIZE 250-AUTH EXTERNAL 250 IGNOREQUOTA mail from:<[EMAIL PROTECTED]> 250 2.1.0 ok rcpt to:<jonathan> 250 2.1.5 ok data 354 go ahead Subject: test with no virtdomains this works fine. . 250 2.1.5 Ok quit 221 2.0.0 bye jm@a1:~$ I'm happy to help debug this and move 2.2 along a little, but pointers on where to start looking, things to try, etc. would be much appreciated! Should I post syslog data from a failed delivery attempt too? If I need to read the source, what files would be a good place to start reading to find this issue? Thanks in advance, Jonathan -- Jonathan Marsden <[EMAIL PROTECTED]>