Re: Delayed expunge / undeleting messages
Hi! The purpose of the delayed expunge mode appears to be to reduce the amount of disk I/O during expunge and add responsiveness to the client. But I've been thinking... I've got lots of users that accidentally delete important messages, and sometimes even ask us immediately after deleting (and expunging) those messages if they could be recovered. Now if the message was alive last night when we backed the system up, it could be recovered. But if the message was new, it couldn't. But if there is a delay in expunging the message, the file containing the mesage might just lie around in the mail spool, and could be identified reasonably easily. Is there a way to add the message back to the index? A quick hack would probably be something like copying the message file to N., where N is an unused message number, and reconstructing the mailbox. But is there another way? I always feel uncomfortable writing stuff to the mailspool bypassing Cyrus. Isn't that what unexpunge is for? List deleted messages: su - cyrus -c /usr/lib/cyrus-imapd/unexpunge -l user.x Unexpunge a single message: su - cyrus -c /usr/lib/cyrus-imapd/unexpunge -u -d -v user.x 14156 Unexpunge all deleted messages: su - cyrus -c /usr/lib/cyrus-imapd/unexpunge -a -d -v user.x Our expunge delay is 7 days and it works wonderful. Simon 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 / undeleting messages
Janne Peltonen wrote: Hi! The purpose of the delayed expunge mode appears to be to reduce the amount of disk I/O during expunge and add responsiveness to the client. But I've been thinking... I've got lots of users that accidentally delete important messages, and sometimes even ask us immediately after deleting (and expunging) those messages if they could be recovered. Now if the message was alive last night when we backed the system up, it could be recovered. But if the message was new, it couldn't. But if there is a delay in expunging the message, the file containing the mesage might just lie around in the mail spool, and could be identified reasonably easily. Is there a way to add the message back to the index? A quick hack would probably be something like copying the message file to N., where N is an unused message number, and reconstructing the mailbox. But is there another way? I always feel uncomfortable writing stuff to the mailspool bypassing Cyrus. You can use the unexpunge tool to put mail back into the mail folder. -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Rudy Gevaert [EMAIL PROTECTED] tel:+32 9 264 4734 Directie ICT, afd. Infrastructuur ICT Department, Infrastructure office Groep SystemenSystems group Universiteit Gent Ghent University Krijgslaan 281, gebouw S9, 9000 Gent, Belgie www.UGent.be -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 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 / undeleting messages
But if there is a delay in expunging the message, the file containing the mesage might just lie around in the mail spool, and could be identified reasonably easily. Is there a way to add the message back to the index? There is a command unexpunge in Cyrus 2.3, that does exactly what you describe. -- 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: Delayed expunge / undeleting messages
On Thu, Jan 18, 2007 at 09:57:05AM +0100, Simon Matter wrote: Isn't that what unexpunge is for? On Thu, Jan 18, 2007 at 10:30:47AM +0100, Rudy Gevaert wrote: You can use the unexpunge tool to put mail back into the mail folder. On Thu, Jan 18, 2007 at 12:09:06PM +0200, Leena Heino wrote: There is a command unexpunge in Cyrus 2.3, that does exactly what you describe. Thanks, all. :) I've been trying to read the documentation completely before asking abt things on this list, but this time I seem to have been lazy... ;) --Janne Peltonen 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
Replication and failover
Hi! Is there documentation abt replication failover scenarios anywhere? I can, of course, conjure up a thing or two, but I'd like to see how other people have resolved 'corrupted mailspool - services to the replica - maintenance - resync master - services back to the master' situations. I did a short Google, but didn't find much of notice. --Janne Peltonen Email admin Univ. of Helsinki 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 / undeleting messages
Hi run unexpunge as user cyrus unexpunge [-C altconfig] -l mailbox unexpunge [-C altconfig] -a [-d] [-v] mailbox unexpunge [-C altconfig] -u [-d] [-v] mailbox uid... Quoting Janne Peltonen [EMAIL PROTECTED]: Hi! The purpose of the delayed expunge mode appears to be to reduce the amount of disk I/O during expunge and add responsiveness to the client. But I've been thinking... I've got lots of users that accidentally delete important messages, and sometimes even ask us immediately after deleting (and expunging) those messages if they could be recovered. Now if the message was alive last night when we backed the system up, it could be recovered. But if the message was new, it couldn't. But if there is a delay in expunging the message, the file containing the mesage might just lie around in the mail spool, and could be identified reasonably easily. Is there a way to add the message back to the index? A quick hack would probably be something like copying the message file to N., where N is an unused message number, and reconstructing the mailbox. But is there another way? I always feel uncomfortable writing stuff to the mailspool bypassing Cyrus. --Janne Peltonen Email admin Univ. of Helsinki 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 M.Menge Tel.: (49) 7071/29-70316 Universitaet Tuebingen Fax.: (49) 7071/29-5912 Zentrum fuer Datenverarbeitung mail: [EMAIL PROTECTED] Waechterstrasse 76 72074 Tuebingen smime.p7s Description: S/MIME krytographische Unterschrift 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: IMAP sync tool (rsync for IMAP)
I'd started taking this offline because it's not entirely on-topic for info-cyrus, but I realize that it has broad impact... On Jan 3 2007, at 8:37 PM, Jo Rhett wrote: On Jan 3, 2007, at 9:20 AM, James Miller wrote: I have 2 users left on an OLD Cyrus installation I want to get off and was hoping to use imapsync. It seemed to work just fine except dates of the messages from the old server to the new were not retained. All of the messages have the date they were imported instead. You need the syncinternaldates. Did you do a sync already without that option? You need to toast the destination and resync it to get the dates fixed... --syncinternaldates stopped working at imapsync 1.200 (current is 1.204), as a side effect of the append_string-append_file change suggested by John Capo and Florin Andrei earlier in this thread, on Dec 26, 2006. That change was made to avoid memory exhaustion, see http://www.mail-archive.com/info-cyrus@lists.andrew.cmu.edu/msg31296.html The underlying problem is that at least as of Mail::IMAPClient 2.2.9, the append_file function doesn't handle INTERNALDATE at all. A bunch of people here have talked about minor patches to Mail::IMAPClient. Has anyone added the $d argument to append_file and verified functionality? Most clients display Date: header, but some may show or use INTERNALDATE. For example, the Zimbra web interface is incapable of showing or sorting by Date:. See also http://www.zimbra.com/forums/showthread.php?p=33880#post33880 -- Rich Graves [EMAIL PROTECTED] Sr UNIX and Security Administrator Ofc 507-646-7079 Cell 952-292-6529 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
Strange IMAPd problem
Hi! I have set up Cyrus IMAPd 2.2 using the Debian testing package available. While everything seems to be ok; I can login using cyradm and create a mailbox using cm user.mur10001 Now trying to use that mailbox (with imtest for example) I keep getting IO errors. This is what's in the log file: Jan 18 16:51:03 box-k-07 cyrus/imap[17730]: IOERROR: opening box-k-07.tascel.net!box-k-07.tascel.net!box-k-07.tascel.net!default/cyrus.header: No such file or directory The fully qualified domain name (FQDN) of the host is box-k-07.tascel.net. But why is that in there three times??? Regards, Torsten 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
cyr_expire SIGSEGV
Hi! I've a cyrus-imapd-2.3.7-7 built from the src.rpm at invoca.ch running on FC5. I use the delayed expunge feature. My cyrus.conf therefor has delprune cmd=cyr_expire -E 3 -X 2 at=0400 Most of the time cyr_expire runs it crashes with SIGBUS or SIGSEGV. It also crashes if I start it manually after it crashed during the night. Doing a strace and reconstruct -ring the user last accessed makes cyr_expire happy again... at least for this users mailboxes. I've activated coredumps and the backtrace always shows: #0 0x0804e6f0 in cyrus_mutex_free () #1 0x08053213 in cyrus_mutex_free () #2 0x0804cb50 in expire () #3 0x0805a955 in mboxlist_findall () #4 0x0808ef0e in mboxlist_findall () #5 0x08057fc2 in mboxlist_findall () #6 0x0804cfa7 in expire () #7 0x004554e4 in __libc_start_main () from /lib/libc.so.6 #8 0x0804c6f1 in ?? () The last lines from strace shows write access to the quota file stat64(/var/spool/imap/user/x/Trash/cyrus.expunge, {st_mode=S_IFREG|0600, st_size=736, ...}) = 0 mmap2(NULL, 736, PROT_READ, MAP_SHARED, 9, 0) = 0xb66ba000 lseek(9, 736, SEEK_SET) = 736 open(/var/spool/imap/user/x/Trash/cyrus.expunge.NEW, O_RDWR|O_CREAT|O_TRUNC, 0666) = 12 time(NULL) = 1169137631 write(10, \0\0\0\357\0\0\0\0\0\0\0\t\0\0\0`\0\0\0P\0\0\0\0E\257?..., 96) = 96 _llseek(10, 0, [0], SEEK_SET) = 0 read(10, \0\0\0\357\0\0\0\0\0\0\0\t\0\0\0`\0\0\0P\0\0\0\0E\257?..., 4096) = 96 _llseek(10, 96, [96], SEEK_SET) = 0 open(/var/lib/imap/quota/g/user.x, O_RDWR) = 13 fcntl64(13, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}) = 0 fstat64(13, {st_mode=S_IFREG|0600, st_size=16, ...}) = 0 stat64(/var/lib/imap/quota/g/user.x, {st_mode=S_IFREG|0600, st_size=16, ...}) = 0 fstat64(13, {st_mode=S_IFREG|0600, st_size=16, ...}) = 0 mmap2(NULL, 16, PROT_READ, MAP_SHARED, 13, 0) = 0xb66b9000 munmap(0xb66b9000, 16) = 0 unlink(/var/lib/imap/quota/g/user.x.NEW) = -1 ENOENT (No such file or directory) open(/var/lib/imap/quota/g/user.x.NEW, O_RDWR|O_CREAT|O_TRUNC, 0666) = 14 fcntl64(14, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}) = 0 lseek(14, 0, SEEK_SET) = 0 write(14, 30244719\n512000\n, 16) = 16 ftruncate(14, 16) = 0 fsync(14) = 0 fstat64(14, {st_mode=S_IFREG|0600, st_size=16, ...}) = 0 rename(/var/lib/imap/quota/g/user.x.NEW, /var/lib/imap/quota/g/user.x) = 0 fcntl64(14, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=0, len=0}) = 0 close(14) = 0 fcntl64(13, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=0, len=0}) = 0 close(13) = 0 fstat64(12, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb66b9000 time(NULL) = 1169137631 --- SIGSEGV (Segmentation fault) @ 0 (0) --- +++ killed by SIGSEGV (core dumped) +++ Any ideas? Regards, Wolfgang Breyha -- Wolfgang Breyha [EMAIL PROTECTED] | http://www.blafasel.at/ Vienna University Computer Center | Austria 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
combining a users's messages?
I am in process of moving my users from a POP3/local mail store to IMAP4/cyrus. One user has many messages all in little tiny folders. I can copy the messages from one folder to another folder on the server. Is there a command to tell/have cyrus to rebuild the binary index files? /var/spool/imap/users/X/X/cyrus.cache /var/spool/imap/users/X/X/cyrus.header /var/spool/imap/users/X/X/cyrus.index /var/spool/imap/users/X/X/cyrus.seen and /var/lib/imap/user/X/X.seen /var/lib/imap/user/X/X.sub # rpm -qa | grep cyrus cyrus-sasl-md5-2.1.20-6 cyrus-imapd-2.2.12-6.fc4 cyrus-sasl-plain-2.1.20-6 cyrus-imapd-devel-2.2.12-6.fc4 cyrus-sasl-devel-2.1.20-6 cyrus-sasl-2.1.20-6 cyrus-imapd-utils-2.2.12-6.fc4 Mike 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: Replication and failover
On 18 Jan 2007, at 05:41, Janne Peltonen wrote: Is there documentation abt replication failover scenarios anywhere? I can, of course, conjure up a thing or two, but I'd like to see how other people have resolved 'corrupted mailspool - services to the replica - maintenance - resync master - services back to the master' situations. I did a short Google, but didn't find much of notice. Attached is our operation group's notes on the subject. It makes reference to the tool we use to manage the OS of the machines (radmind), but it should be pretty clear what they are talking about without any radmind knowledge. :wes 1. Establish primary failure we believe that the failover procedure should take approximately 30 minutes, so the failover procedure should be invoked whenever the estimated downtime on the primary would exceed this amount of time an exception may be made if there is reason to believe that a substantial amount of data on the failed primary was not synched to the replica; we will discuss the feasibility of sanity checks which can be run prior to failover 2. Stop cyrus/sync_client on primary if necessary / remove primary from network if necessary /etc/init.d/cyrus stop /etc/init.d/sync_client stop /etc/init.d/network stop (or unplug network cable) 3. stop cyrus on the replica /etc/init.d/cyrus stop 4. Change dns so that the name of badhost-repl becomes badhost - ensure you change forward and reverse - leave original entries commented out 5. Verify dns changes are working by checking on truelies dig badhost.mail dnsrev the ip 6. Put special files of badhost-repl in place for badhost to reflect ip information of replica cd to special dir (generally /var/radmind/special/imap) cp -R badhost badhost.save cp badhost-repl/etc/sysconfig/network badhost/etc/sysconfig/network cp badhost-repl/etc/sysconfig/network-devices/ifconfig.eth0 badhost/etc/sysconfig/network-devices edit network to fix hostname vi badhost/etc/sysconfig/network 7. radmind the replica ra.sh update Update command file and/or transcripts? [Yn] y /var/radmind/client/command.K: updated /var/radmind/client/special.T: updated c ./dev/ttyS0 0600 0 0 464 special.T: + f ./etc/adsm/TSM.PWD 0444 0 0 1093046900 164 TIgISWWzEESwLKsM5TQx4CRH1hc= imap/imap-23backend.T: + f ./etc/cyrus.conf0644 0 0 1156541554 1380 HqMdPv649xvUptagZY1X489CCpo= imap/imap.T: + f ./etc/imapd.common.conf 0644 0 0 1119845235 871 kTjkwR4x0SwRuK3qvpKi2ZGwANU= imap/imap-23backend.T: + f ./etc/imapd.conf0644 0 0 1155789187 343 RIr24APHrHa8fp6YTCezsGUCK4U= special.T: + f ./etc/imapd.host.conf 0444 0 0 1156186085 104 RIgobQuTFI/HRQNmF4H4WEEoU1I= + f ./etc/krb5.keytab 0640 025 1093051728 952 hk7wwXNZgVqyiPgB8BQ55fGtULg= + f ./etc/sysconfig/network 0644 0 0 1166473054 81 pfuFsI4FuD763RKzCIXMHojQadc= + f ./etc/sysconfig/network-devices/ifconfig.eth0 0644 0 0 1166473074 78 yXkW7BokmxryTqqJKLmFl9zc3Qs= + f ./etc/sysconfig/network-devices/ifconfig.eth1 0444 0 0 1166473075 71 yvCcuy3ATic/4AXPPVa1zeoPnbo= - f ./opt/tivoli/tsm/client/ba/bin/dsm.sys 0644 0 0 1164130511 418 - + f ./var/imap/hostname.pem 0444 0 0 1155787168 2920 Hyfrb/Sg4WkWHp/dUYHe8q9/cv4= 8. /etc/init.d/network restart hostname badhost (remember to use fqdn) pkill syslogd ksyslogd or reboot (your choice) 9. start cyrus su cyrus (get tickets) /usr/local/heimdal-k5/bin/kinit -k -l 25h imap/[EMAIL PROTECTED] ctl_mboxlist -m -w (no output is good!!!) if ok (exit so you are root) init 3 10. comment out replnag until new replica is brought up 11. restart nefu to catch ip change *** bringing up a new replica, hopefully on same hardware ** 1. update DNS for new replica 2. set up special files of badhost-repl cd to special dir (generally /var/radmind/special/imap) cp -R badhost-repl badhost-repl.save cp badhost.save/etc/sysconfig/network badhost-repl/etc/sysconfig/network cp badhost.save/etc/sysconfig/network-devices/ifconfig.eth0 badhost-repl/etc/sysconfig/network-devices edit network to fix hostname vi badhost-repl/etc/sysconfig/network 3. reload new replica with existing command file 4. boot new replica start cyrus 5. generate list of mailboxes sync to get mailboxes ctl_mboxlist -d /tmp/users awk '{ print $1 }' /tmp/users | xargs sync_client -v -l -m 6. start sync client *** switch back during next maintenance window *** 1. stop cyrus on primary init 2 2. verify that /var/imap/sync is empty (no pending syncs), if
Re: Delayed expunge / undeleting messages
A bunch of people already pointed out unexpunge, so I'll point out that the delayed expunge / unexpunge functionality doesn't help if the user deletes a whole folder. See: https://bugzilla.andrew.cmu.edu/show_bug.cgi?id=2871 for the problem report and a patch for a proposed solution. :wes On 18 Jan 2007, at 02:34, Janne Peltonen wrote: The purpose of the delayed expunge mode appears to be to reduce the amount of disk I/O during expunge and add responsiveness to the client. But I've been thinking... I've got lots of users that accidentally delete important messages, and sometimes even ask us immediately after deleting (and expunging) those messages if they could be recovered. Now if the message was alive last night when we backed the system up, it could be recovered. But if the message was new, it couldn't. But if there is a delay in expunging the message, the file containing the mesage might just lie around in the mail spool, and could be identified reasonably easily. Is there a way to add the message back to the index? A quick hack would probably be something like copying the message file to N., where N is an unused message number, and reconstructing the mailbox. But is there another way? I always feel uncomfortable writing stuff to the mailspool bypassing Cyrus. 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: sieve autocreate
On Mon, 2007-01-15 at 16:58 +0100, Paul Dekkers wrote: P.S. I think it's the variable extension in sieve that could provide this, if not for the fact that setdate has been removed from the specification (which I think would be what I'm looking for) and that the variable extension is not supported with Cyrus... yes, that's correct. with variables as it ended up (it has been approved for publication, so the specification is fixed), you'll need to make a match on the Date header, or use the date extension. http://www.ietf.org/internet-drafts/draft-ietf-sieve-variables-08.txt http://tools.ietf.org/wg/sieve/draft-freed-sieve-date-index-03.txt -- Kjetil T. 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: Replication and failover
Attached is our operation group's notes on the subject. It makes reference to the tool we use to manage the OS of the machines (radmind), but it should be pretty clear what they are talking about without any radmind knowledge. As an FYI, we have a similar procedure to this, the main differences are: 1. We don't change the DNS. Instead we give each machine a primary IP address, but we also create IP addresses for cyrusXmaster and cyrusXreplica names(where X is numbers for each machine). When we swap roles, we rebind the different IPs to the particular machines and send ARPs to clear the router table, rather than changing the DNS. This means you can always access the master as cyrusXmaster from every machine without having to worry about DNS getting out of sync. 2. Every machine has cyrus-master.conf, cyrus-replica.conf, imapd-master.conf and imapd-replica.conf. We just symlink cyrus.conf and imapd.conf to the appropriate file depending on what mode the machine is currently in Rob 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
DB type comparison
I know I've seen it before, but I've been having a hard time finding a good comparison of the different db types supported by cyrus and their respective strengths/weaknesses. Does anyone have a link they could share? Thanks in advance, -Blake 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: Can murder be used for IMAP server migration?
On Thu, Jan 04, 2007 at 07:47:54AM -0500, Ken Murchison wrote: Gary Mills wrote: On Wed, Jan 03, 2007 at 08:18:15AM -0500, Ken Murchison wrote: Gary Mills wrote: Can I use the old server as both a front end and one of the back ends for a murder configuration, with the new server as the second back end? Will that allow me to migrate mailboxes at my convenience? How do I prevent a port conflict between the IMAP server and the proxy on the old server? You'll have to run the frontend + mupdate master on a separate machine. so the frontend has to run there. Of course, the old IMAP server has to run there too. Is there not a way to have the old IMAP server listen on different ports, so that only the frontend connects to it? If not, could it listen on a secondary IP address only? It *might* make sense to upgrade the existing server to 2.3.x, since imapd can both proxy and serve local mailboxes (a unified Murder). Is there any documentation on how to configure and manage a unified Murder? I couldn't find anything in the 2.3.7 source that described it. In fact, the examples in the documentation still show the proxy daemons, which no longer exist. -- -Gary Mills--Unix Support--U of M Academic Computing and Networking- 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
The annoyance of repeating Makefiles
I've noticed for some time that whenever I type `make' in the Cyrus source tree, it always recompiles something. A repeated make should evenually stop compiling but this one never does. The worst offenders are the various perl Makefiles which rebuild Makefile from Makefile.PL every time, instead of only doing it when it's out of date. This causes the perl modules to be recompiled. As well, imap/Makefile recreates xversion.h each time, resulting in more recompiles. This behavior is annoying because I build the Cyrus software on a development server but then install it on other servers where there is no compiler and the source tree is mounted read-only. This breaks `make install', which should only install things, not recompile them. Can this be fixed, or am I condemned to hack Makefiles myself? -- -Gary Mills--Unix Support--U of M Academic Computing and Networking- 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: IMAP sync tool (rsync for IMAP)
Hello, This problem really annoys most people, including me. The old version kills all the system memory and even create zombie. syncinternaldates option is very important to many mail client. By missing this option, I think this is a GREAT impact. Hopely you guys find a prompt solution. Greatly thanks Patrick - Original Message - From: Rich Graves [EMAIL PROTECTED] To: info-cyrus@lists.andrew.cmu.edu Sent: Thursday, January 18, 2007 11:51 PM Subject: Re: IMAP sync tool (rsync for IMAP) I'd started taking this offline because it's not entirely on-topic for info-cyrus, but I realize that it has broad impact... On Jan 3 2007, at 8:37 PM, Jo Rhett wrote: On Jan 3, 2007, at 9:20 AM, James Miller wrote: I have 2 users left on an OLD Cyrus installation I want to get off and was hoping to use imapsync. It seemed to work just fine except dates of the messages from the old server to the new were not retained. All of the messages have the date they were imported instead. You need the syncinternaldates. Did you do a sync already without that option? You need to toast the destination and resync it to get the dates fixed... --syncinternaldates stopped working at imapsync 1.200 (current is 1.204), as a side effect of the append_string-append_file change suggested by John Capo and Florin Andrei earlier in this thread, on Dec 26, 2006. That change was made to avoid memory exhaustion, see http://www.mail-archive.com/info-cyrus@lists.andrew.cmu.edu/msg31296.html The underlying problem is that at least as of Mail::IMAPClient 2.2.9, the append_file function doesn't handle INTERNALDATE at all. A bunch of people here have talked about minor patches to Mail::IMAPClient. Has anyone added the $d argument to append_file and verified functionality? Most clients display Date: header, but some may show or use INTERNALDATE. For example, the Zimbra web interface is incapable of showing or sorting by Date:. See also http://www.zimbra.com/forums/showthread.php?p=33880#post33880 -- Rich Graves [EMAIL PROTECTED] Sr UNIX and Security Administrator Ofc 507-646-7079 Cell 952-292-6529 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 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
using skiplist for quotas.db
we're running Cyrus 2.2.12 on a server with many virtual domains and users. currently, we're using quotalegacy, but running quota(8) requires reading many directories (1736 to be exact) to enumerate the quota roots (keys) and opening the quota file for each of more than 100k users. usually, this completes in 1-2 minutes, but during high I/O load on the system (backup), it can take 15 minutes. so I wonder, will skiplist be a better choice? obviously running quota(8) will be a very cheap operation, but I'm worried about contention on the quota database during delivery etc. (these users are for the most part not actively using the system -- they get less than one message per day each(!) -- so I probably worry too much.) also, will the skiplist file get fragmented? if so, is there a tool to defragment it? -- Kjetil T. 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