Re: Delayed expunge / undeleting messages

2007-01-18 Thread Simon Matter
 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

2007-01-18 Thread Rudy Gevaert

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

2007-01-18 Thread Leena Heino

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

2007-01-18 Thread Janne Peltonen
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

2007-01-18 Thread Janne Peltonen
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

2007-01-18 Thread Michael Menge

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)

2007-01-18 Thread Rich Graves
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

2007-01-18 Thread Torsten Schlabach

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

2007-01-18 Thread Wolfgang Breyha
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?

2007-01-18 Thread Mike
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

2007-01-18 Thread Wesley Craig

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

2007-01-18 Thread Wesley Craig
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

2007-01-18 Thread Kjetil Torgrim Homme
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

2007-01-18 Thread Rob Mueller

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

2007-01-18 Thread Blake Hudson
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?

2007-01-18 Thread Gary Mills
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

2007-01-18 Thread Gary Mills
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)

2007-01-18 Thread Patrick T. Tsang

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

2007-01-18 Thread Kjetil Torgrim Homme
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