master-master replication
Hi, list Currently I'm looking for mail solution for our company. We need two syncronized imap-servers -- server1 on colocation (for home, travelling users and several small additional offices) and server2 in our main office (in general, it's internal corporate mail). mailbox can be changed either on server1 or server2 and changes must be replicate to peer. I have red http://cyrusimap.web.cmu.edu/imapd/install-replication.html and http://cyrusimap.web.cmu.edu/imapd/install-murder.html Murder looks like overkill for our tasks and can be examined as reserv variant. I'm interesting about sync_{client,server} replication. From one hand "replication engine is designed to replicate the mailstore on standalone Cyrus servers", but, may be, it is possible with using UUID on my servers? If my idea can't be implemented with cyrus imapd 2.3.7, I would like to ask developers -- is this functionality planned and, if yes, when it will be implemented? I can be tester for this feature, if needed. WBR -- Dmitriy Kirhlarov OILspace, 26 Leninskaya sloboda, bld. 2, 2nd floor, 115280 Moscow, Russia P:+7 495 105 7247 ext.208 F:+7 495 105 7246 E:[EMAIL PROTECTED] OILspace - The resource enriched - www.oilspace.com Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: Webmail
Thanks a lot to everyone!!! I'll try all the solutions you have suggested and I'm sure I'll solve my problems! Stefano C Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Loss if IMAP permissions
Hi, Our mailbox.db file recently became corrputed, and so I wrote a little script to generate a new one, based purely on the contents of /var/spool/imap/ . The script worked fine, and I could see all the folders in cyradm, and could log in as a user with no problem. However, my import seems to have lost all directory permissions, and as such, I could not do either a folder list of see emails when logged in as an IMAP user (though I was fine as a POP3 user with seeing emails). When I manually added permissions for the user for each folder, I regained the ability to see emails and folders. Can anybody tell me what I did wrong? What I did: #!/usr/bin/perl listdirs("user"); sub listdirs ($) { my $dir = shift; my @dirs = (); opendir DIR, "/var/spool/imap/$dir"; while ($entry = readdir DIR) { next if ($entry =~ /^\./ || ! -d "/var/spool/imap/$dir/$entry"); $cyrname = $dir; $cyrname =~ s:/:.:g ; if ($dir eq "user") { $username = $entry; } else { $username = $dir; $username =~ s:^user/([^/]+).*:$1: ; } print "${cyrname}.${entry}\tdefault\t$username\tlrswipcda\n";# print "sam ${cyrname}.${entry} $username lrswipcda\n"; push @dirs, $entry; } closedir DIR; foreach (@dirs) { listdirs("$dir/$_") ; }} the hashed out line has the command I pasted into cyradm to fix the permissions problem. This generates a file with entries like this: user.robin default robin lrswipcda user.robin.Abuse default robin lrswipcdauser.robin.Clients default robin lrswipcdauser.robin.Sent_Mail default robin lrswipcda (the white space is all tabs) I then used this as the import source for the new database (after firast deleting the old one and all files in db) cat /var/imap/mailboxes.db.import | /usr/cyrus/bin/ctl_mboxlist -u I also noticed there were one or two folders with white space in their names, and that cyradm complained about this. Does anyone know how to get it to accept these? thanks, Robin Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
proxyd or imapd on unified config?
Hi all, I am actually progressing on getting a murder installation, but I am still having some problems getting it. My installation is a bit different. I have two different machines, one of them being a backend and the other one being a frontend/backend server in unified mode as well as running the mupdate process in master mode. For this, there are two different installations on that machine on different directories. Apparently, it is possible to have this configuration. Basically I have some test mailboxes and shared folders on the backend. If I start with a fresh /var/imap directories in the frontend/backend (one for the unified config, another for the mupdate process), and execute ctl_mboxlist -m on the backend, the mupdate process receives all the mailboxes information and stores it on its mailbox.db database. The frontend/backend mailboxes.db file is empty. So far this is how it should work. The frontend/backend server is running imapd processes as proxyd processes (as they should be able to proxy to the other backend, and also be able to serve if there local mailboxes. The thing is that, when I connect to the frontend/backend proxyd (imap) it replies with an "mailbox does not exist" error. It looks as it is looking in its local database instead of querying mupdate and then proxying it to the backend. So, can this configuration be done? Does any of you have a similar installation? I guess that I am right running the proxyd processes on the frontend/backend unified server, right? Any ideas? Best regards. -- Jesus Roncero <[EMAIL PROTECTED]> System Developer Tel: +44 (0) 845 666 7778 http://www.mxtelecom.com Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Question about using ipurge
We need to clean certain mails from a mailbox. Specifically we are trying to clean mails older than 30 days. So we execute (as cyrus) this command: ipurge -d 30 username It returns almost inmediately but nothing happens and the mails remain there. We didn't use -f flag because we were affraid of deleting all mailboxes. Thanks in advance A/P Andres Tarallo WD&B Consultores Montevideo - Uruguay Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
unexpunge and subfolders
If user has not deleted the whole subfolder only some of the messages then is there any way to restore those messages with unexpunge? It seems that if any subfolders is specified as an argument then then unexpuge segfaults eg.: unexpunge -a user.foo.subfolder (gdb) bt #0 0xfedb455c in strlen () from /usr/lib/libc.so.1 #1 0xfee07058 in _doprnt () from /usr/lib/libc.so.1 #2 0xfee090c8 in vsnprintf () from /usr/lib/libc.so.1 #3 0xfedd62a4 in vsyslog () from /usr/lib/libc.so.1 #4 0xfedd5de0 in syslog () from /usr/lib/libc.so.1 #5 0x000178e8 in main (argc=4, argv=0xffbffe5c) at unexpunge.c:507 unexpunge.c:507 505 if (r || expunge_fd == -1) { 506 /* mailbox corrupt/nonexistent -- skip it */ 507 syslog(LOG_WARNING, "unable to open/lock mailbox %s", argv[optind]); 508 if (doclose) mailbox_close(&mailbox); 509 return 0; 510 } -- Leena Heino University of Tampere / Computer Centre ( liinu at uta.fi ) ( http://www.uta.fi/laitokset/tkk ) Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
delayed expunge and subfolders
Is delayed expunge supposed to work in subfolders? I have this in cyrus.conf: delprune cmd="cyr_expire -E 3 -X 2" at=0400 I've understood that this is supposed to mean that if delayed expuge is used and folder annotations does not specify anything else then messages are supposed to be deleted from all folders after two days. -- Leena Heino University of Tampere / Computer Centre ( liinu at uta.fi ) ( http://www.uta.fi/laitokset/tkk ) Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: unexpunge and subfolders
On Tue, 17 Oct 2006, Leena Heino wrote: ; If user has not deleted the whole subfolder only some of the messages then is ; there any way to restore those messages with unexpunge? ; ; It seems that if any subfolders is specified as an argument then then unexpuge ; segfaults eg.: unexpunge -a user.foo.subfolder ; ; (gdb) bt ; #0 0xfedb455c in strlen () from /usr/lib/libc.so.1 ; #1 0xfee07058 in _doprnt () from /usr/lib/libc.so.1 ; #2 0xfee090c8 in vsnprintf () from /usr/lib/libc.so.1 ; #3 0xfedd62a4 in vsyslog () from /usr/lib/libc.so.1 ; #4 0xfedd5de0 in syslog () from /usr/lib/libc.so.1 ; #5 0x000178e8 in main (argc=4, argv=0xffbffe5c) at unexpunge.c:507 ; ; unexpunge.c:507 ;505 if (r || expunge_fd == -1) { ;506 /* mailbox corrupt/nonexistent -- skip it */ ;507 syslog(LOG_WARNING, "unable to open/lock mailbox %s", ; argv[optind]); ;508 if (doclose) mailbox_close(&mailbox); ;509 return 0; ;510 } Well, the crash is due to a bug in unexpunge.c, line 507 should read: syslog(LOG_WARNING, "unable to open/lock mailbox %s", argv[optind -1]); (I reported this to the cyrus bugs email address a while ago). However, if this is fixed then you will just get told 'unable to open/lock mailbox user.foo.subfolder'. I have virtdomains enabled and use: unexpunge -l fiddaman.net\!user.xxx.mailing_lists.cyrus for example, which works fine. Not sure what you do for the default domain or with virtdomains disabled, maybe try '\!user.foo.subfolder' ? HTH. Andy Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: delayed expunge and subfolders
Is delayed expunge supposed to work in subfolders? I have this in cyrus.conf: delprune cmd="cyr_expire -E 3 -X 2" at=0400 I've understood that this is supposed to mean that if delayed expuge is used and folder annotations does not specify anything else then messages are supposed to be deleted from all folders after two days. More information. I tried to run the cyr_expire from shell and it segfaulted: $ cyr_expire -E 3 -X 2 -v expunging deleted messages in mailboxes older than 2 days Segmentation Fault (gdb) bt #0 process_records (mailbox=0xffbff078, newindex=0xe2dd0, index_base=0xfeca , exists=21, deleted=0xe5b88, numdeleted=0xffbfbed4, quotadeleted=0xffbfbee8, numansweredflag=0xffbfbee4, numdeletedflag=0xffbfbee0, numflaggedflag=0xffbfbedc, newcache=0xe2dc0, new_cache_total_size=0xffbfbed8, expunge_fd=-1, last_offset=0, decideproc=0x16e18 , deciderock=0xffbffd58, expunge_flags=2) at mailbox.c:1930 #1 0x0001ad08 in mailbox_expunge (mailbox=0xffbff078, decideproc=0x16e18 , deciderock=0xffbffd58, flags=-4210808) at mailbox.c:2306 #2 0x000170c8 in expire (name=0xffbff5d8 "user.atmaso", matchlen=-4197520, maycreate=1, rock=0xffbffd58) at cyr_expire.c:224 #3 0x0002034c in find_cb (rockp=0xffbffca8, key=0xfc89b330 , keylen=11, data=0xfc89b340 , datalen=37) at mboxlist.c:1973 #4 0x00039d24 in myforeach (db=0xe4ad8, prefix=0xffbff8c8 "*", prefixlen=0, goodp=0x1ffbc , cb=0x20268 , rock=0xffbffca8, tid=0x0) at cyrusdb_skiplist.c:996 #5 0x00020944 in mboxlist_findall (namespace=0x0, pattern=0xffbffd88 "*", isadmin=1, userid=0x0, auth_state=0xffbff8c8, proc=0, rock=0xffbffca8) at mboxlist.c:2165 #6 0x000173f8 in main (argc=6, argv=0xffbffe64) at cyr_expire.c:310 mailbox.c:1930 1927 /* Compute size of this record */ 1928 cacheitembegin = cacheitem = mailbox->cache_base + cache_offset; 1929 for (cache_ent = 0; cache_ent < NUM_CACHE_FIELDS; cache_ent++) { 1930 cacheitem = CACHE_ITEM_NEXT(cacheitem); 1931 } 1932 cache_record_size = (cacheitem - cacheitembegin); 1933 *new_cache_total_size += cache_record_size; 1934 1935 /* fwrite will automatically call write() in a sane way */ -- Leena Heino University of Tampere / Computer Centre ( liinu at uta.fi ) ( http://www.uta.fi/laitokset/tkk ) Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Virtual domains, sendmail, aliases
Hello, We've tried to use sendmail with Cyrus virtual domains and createonpost=yes. Our mailer accept mail for domain1 while the machine name of the mailer belongs to domain2. When a mail arrive, the mailbox is created under the domain2 while we would like it would have been created under the domain1. We use cyrusv2d as the delivering agent and the domain1 is the in /etc/mail/local-host-names because we want to be able to use /etc/aliases for this domain. Is there someone using sendmail, cyrus virtual domains and /etc/aliases ? Any experience with Sendmail and cyrus virtual domains is also appreciated. Regards. JN Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: Question about using ipurge
On Tue, 17 Oct 2006, AndrXs Tarallo wrote: We need to clean certain mails from a mailbox. Specifically we are trying to clean mails older than 30 days. So we execute (as cyrus) this command: ipurge -d 30 username It returns almost inmediately but nothing happens and the mails remain there. We didn't use -f flag because we were affraid of deleting all mailboxes. Thanks in advance Have you tried using "ipurge -d 30 user.username"? Andy Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: Question about using ipurge
On Tue, 17 Oct 2006, Andrew Morgan wrote: On Tue, 17 Oct 2006, AndrXs Tarallo wrote: We need to clean certain mails from a mailbox. Specifically we are trying to clean mails older than 30 days. So we execute (as cyrus) this command: ipurge -d 30 username It returns almost inmediately but nothing happens and the mails remain there. We didn't use -f flag because we were affraid of deleting all mailboxes. Thanks in advance Have you tried using "ipurge -d 30 user.username"? Whoops, the manpage says: Ipurge by default only deletes mail below shared folders, which means that mails in mailbox(es) below INBOX.* and user.* stay untouched. Use the option -f to also delete mail in mailbox(es) below these folders. So you'll have to use the -f option. Andy Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: Question about using ipurge
* Andrew Morgan <[EMAIL PROTECTED]> [20061017 10:17]: > On Tue, 17 Oct 2006, Andrew Morgan wrote: > > >On Tue, 17 Oct 2006, AndrXs Tarallo wrote: > > > >>We need to clean certain mails from a mailbox. Specifically we are > >>trying to clean mails older than 30 days. So we execute (as cyrus) > >>this command: > >> > >>ipurge -d 30 username > >> > >>It returns almost inmediately but nothing happens and the mails remain > >>there. We didn't use -f flag because we were affraid of deleting all > >>mailboxes. > >> > >>Thanks in advance > > > >Have you tried using "ipurge -d 30 user.username"? > Perhaps you should consider using the expiration annotation on the mailbox(es) in question. Mailboxes with expiration annotations are pruned via a periodic 'cyr_expire' event in cyrus.conf. Here's a sample entry in the cyrus.conf events section: EVENTS { ... prune cmd="cyr_expire -E 3" at=0400 ... } For more details see the man page, cyr_expire(8). Ben Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
renaming a mailbox fails
Hello, within cyradm I'm trying to rename a folder. My goal would be to rename a mailbox from user/[EMAIL PROTECTED] to backup/2006-10-17/[EMAIL PROTECTED] or backup/2006-10-17/[EMAIL PROTECTED] But renaming always fails, even with really simple renames: rename user/[EMAIL PROTECTED] user/[EMAIL PROTECTED] renamemailbox: Operation is not supported on mailbox What am I doing wrong? > lam user/[EMAIL PROTECTED] [EMAIL PROTECTED] lrswipcda Is any right missing? Regards Marten Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: renaming a mailbox fails
* Marten Lehmann <[EMAIL PROTECTED]> [20061017 10:43]: > Hello, > > within cyradm I'm trying to rename a folder. > > My goal would be to rename a mailbox from > > user/[EMAIL PROTECTED] > > to > > backup/2006-10-17/[EMAIL PROTECTED] or > backup/2006-10-17/[EMAIL PROTECTED] > > But renaming always fails, even with really simple renames: > > rename user/[EMAIL PROTECTED] user/[EMAIL PROTECTED] > > renamemailbox: Operation is not supported on mailbox > > What am I doing wrong? > > > lam user/[EMAIL PROTECTED] > [EMAIL PROTECTED] lrswipcda > > Is any right missing? Set 'allowusermoves' to '1' in imapd.conf? From the imapd.conf man page: allowusermoves: 0 Allow moving user accounts (with associated meta‐data) via RENAME or XFER. Note that measures should be taken to make sure that the user being moved is not logged in, and can not login during the move. Failure to do so may result in the user’s meta‐data (seen state, subscriptions, etc) being corrupted or out of date. Ben Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: renaming a mailbox fails
On Tue, 17 Oct 2006, Marten Lehmann wrote: Hello, within cyradm I'm trying to rename a folder. My goal would be to rename a mailbox from user/[EMAIL PROTECTED] to backup/2006-10-17/[EMAIL PROTECTED] or backup/2006-10-17/[EMAIL PROTECTED] But renaming always fails, even with really simple renames: rename user/[EMAIL PROTECTED] user/[EMAIL PROTECTED] renamemailbox: Operation is not supported on mailbox What am I doing wrong? lam user/[EMAIL PROTECTED] [EMAIL PROTECTED] lrswipcda Is any right missing? Have you set "allowusermoves: 1" in imapd.conf? Andy Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: different certs for pop3 and imap
Hello, imap_tls_cert_file: /etc/ssl/certs/cyrus-imap.pem imap_tls_key_file: /etc/ssl/private/cyrus-imap.key pop3_tls_cert_file: /etc/ssl/certs/cyrus-pop3.pem pop3_tls_key_file: /etc/ssl/private/cyrus-pop3.key thanks for your help. I just want to add that you have to write pop3s_ and imaps_, otherwise I get errors like this: imaps[12998]: imaps: required OpenSSL options not present imaps[12998]: Fatal error: imaps: required OpenSSL options not present master[12920]: process 12998 exited, status 75 master[12920]: service imaps pid 12998 in READY state: terminated abnormally master[13000]: about to exec /usr/lib/cyrus-imapd/imapd Regards Marten Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: renaming a mailbox fails
Hello, Set 'allowusermoves' to '1' in imapd.conf? thanks. However, I still get "renamemailbox: Operation is not supported on mailbox" as soon as I try to rename out of the "user/" prefix. Is there any possibility to rename a mailbox to something like "backup/[EMAIL PROTECTED]"? Regards Marten Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
unified murder and GSSAPI
Has anyone gotten a unified Murder and GSSAPI configuration working? The documentation is lacking, to say the least. This is what I'm trying to do: 1 master mupdate server 8 unified frontend/backend servers I want all the servers to authenticate with each other via K5 GSSAPI. Ideally, I would like them to use a shared K5 keytab with the principle name service/murder to communicate with each other. On the mupdate server, in the cyrus.conf file, I have: authcmd="/usr/bin/k5start -H 60 -l 10h -f /etc/keytab.murder -k /var/tmp/murder.k5.tgt service/murder mupdate cmd="mupdate -m" listen=3905 prefork=1 (k5start is similar to ksrvtgt.) In imapd.conf, I have admins: service/murder On the initial testing backend server, I have the following in imapd.conf: mupdate_server: mupdate_config: unified mupdate_port: 3905 force_sasl_client_mech: GSSAPI Yet when I switch over the cyrus user, set my KRB5CCNAME to the correctly generated service/murder ticket and try to run ctl_mboxlist -mw, I get the following in my syslog: ctl_mboxlist[13748]: couldn't authenticate to backend server: generic failure ctl_mboxlist[13847]: GSSAPI Error: Miscellaneous failure (Server not found in Kerberos database) Any ideas or pointers at better documentation on how to get this working? -- Huaqing Zheng Beer and Code Wrangler at Large Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html