Re: SMS notification in a cyrus-imapd environment

2005-07-27 Thread Jure Pecar
On Wed, 27 Jul 2005 09:52:22 +0200 (CEST)
"Simon Matter" <[EMAIL PROTECTED]> wrote:

> I'm interested to hear how people implemented SMS text notification in a
> cyrus-imapd environment.

I'm keeping it as simple as possible with freely available tools.

Webmail user has a checkbox if he wants to forward his mail to sms. That
generates a sieve rule to redirect his mail to [EMAIL PROTECTED]
MTA (postfix) notices the domain and routes the mail via dedicated transport
to a mail2sms script, that strips it down and takes care of the strane sms
chartable and then forwards the msg to our local mobile operater via their
ssl channel.

All this has some added cruft (which mails to forward and when, billing,
user <-> phonenum mapping, ...) but works ok.


-- 

Jure Pečar
http://jure.pecar.org/

---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html


Re: cyrus quota beavior

2005-07-01 Thread Jure Pecar
On Fri, 01 Jul 2005 09:37:40 -0400
Ken Murchison <[EMAIL PROTECTED]> wrote:

> Christian Anton wrote:
> 
> > The problem: It is not anymore possible to delete this mail because most
> > of my  users use IMAP or squirrelmail and when they "delete" a message
> > it ist moved  to "Trash"-Folder. Moving a message is not possible
> > because the mailbox is  OVER quota.
> > 
> > Is it possible to make cyrus not only reject mails when the quota is
> > already  reached but rejecting them if they would not fit in the
> > mailbox?
> 
> Not without a patch, but it shouldn't be too difficult.  This would be a 
> good feature candidate that you should add to bugzilla.

I'd suggest patching your webmail instead to directly mark mail as deleted
and then expunge it in case it cannot copy it to trash, maybe with a warning
to the user about that. I know that at least JAWMail is working that way.

-- 

Jure Pečar
http://jure.pecar.org/

---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html


Re: Preserving seen state when converting from mbox

2003-09-25 Thread Jure Pecar
On Thu, 25 Sep 2003 15:04:48 -0400 (EDT)
Igor Brezac <[EMAIL PROTECTED]> wrote:

> I do not think you have enough time to transfer several gigs (if not more)
> of email in just a few hours over IMAP protocol. 

Just for the reference, it took us about two weeks to transfer about 300gb
of mailspool from one live system to another (with perdition in front), on a
reasonably fast hw, with custom php scripts doing imap2imap copy (and
related user imgration) in parallel.


-- 

Jure Pecar


Re: Sql based Spamassassin with sieve

2003-09-15 Thread Jure Pecar
On Mon, 15 Sep 2003 09:24:41 -0600
Darron Froese <[EMAIL PROTECTED]> wrote:

> On Monday, September 15, 2003, at 01:53 AM, Joakim Ryden wrote:
> 
> >>> How about this?
> >>> http://au2.spamassassin.org/full/2.5x/dist/sql/README
> >>>
> >>> works for me.
> >>> --
> >>> darron froese
> >> I started from that page too. My actual problem is How Do I tell
> >cyrus> ( or sieve ) to run spamassassin with the user name to whom the
> >mail> is addressed

I didn't follow this thread from the beginning, but the solution is very
simple to me.

In the contrib directory of spamassassin (i think) is a script
spamcheck.py, which is a simple pyton script that takes mail as an input,
checks it with the spamd and delivers it via lmtp.

In postfix 2.x you can set peruser transport maps, if you dont want to set
this script up as a default mailbox transport.

It has been working for me perfectly for about a year (yes with peruser
sql prefs), now i've moved on to amavisd-new ... 

--

Jure Pecar


Re: database recovery...

2003-09-10 Thread Jure Pecar
On Wed, 10 Sep 2003 10:48:34 -0400 (EDT)
Igor Brezac <[EMAIL PROTECTED]> wrote:

> My installation of cyrus 2.2-CVS on Solaris 9 shows the same memory
> footprint per process.  20M is taken by mmap(), the rest is shared
> physical memory and about 1M of 'private' physical memory per process
> (imapd, pop3d, lmtpd, etc).


2.2.1 looks OK on linux ... process sizes are around 1.5mb.


--

Jure Pecar


Re: Cyrus Server Migration

2003-09-04 Thread Jure Pecar
On Thu, 4 Sep 2003 10:01:33 -0500
"Andrew Brink" <[EMAIL PROTECTED]> wrote:

> 1.  ext2 or ext3, we are also considering a cluster solution using a
> shared File system (GFS) Any experiences with these?

reiserfs or xfs.

shared fs ... it's probably less painfull to just have shared storage that
is mounted only from one box at a time.

> 2.  db3 or db4?  The previous server we have has some of the famous
> locker problems and other db4 problems (we believe).  Rob, maybe you can
> bless the "official" db version to use. I am fine using db4, provided
> that people are successfully using it in production.

db3; i heard that latest versions have solved issues with db4.


--

Jure Pecar


Re: cyrus accounts and monitoring activity/usage

2003-08-25 Thread Jure Pecar
On Mon, 25 Aug 2003 11:15:52 -0700 (PDT)
joe ritter <[EMAIL PROTECTED]> wrote:

> I am interested in looking at stats such as users that
> have never logged in, users that have accessed their
> account in the last 30 days, 60 days and 90 days etc.

We're using auxprop with mysql auth and it was trivial to add a couple more
lines into sasl to do another sql query upon auth attempt to update
last_seen field with now(). Then it is trivial to rank users among those
that visit daily, weekly, monthly or only once in a while ... 

I still have to take some time and develop this further to run separate
queries on successful login and on failed login ... 


-- 

Jure Pecar


Re: robustness ...

2003-08-03 Thread Jure Pecar
On Fri, 1 Aug 2003 09:59:30 -0400 (EDT)
Rob Siemborski <[EMAIL PROTECTED]> wrote:

> Of course, once you're running on a corrupted file system, all bets are
> off.  Any number of things could be wrong: the binaries could have been
> damaged, files may have been reassembled incorrectly, or even be missing
> entirely.

Corrupted binaries are easy to detect and replace; corrupted data is not.
But lets limit the problem scope to the cases, when cyrus starts processing
certain file and hits some unexpected stuff. One such case i reported about
two months ago, looping on the broken skiplist files.
 
> Cyrus does go to great lengths to defend itself against crashes during
> transactional operations (so that data isn't partially committed if the
> system crashes), but defending against general filesystem corruption is
> an entirely different animal.
> 
> Given the amount of memory mapping involved in Cyrus, asking it to
> successfully operate given a corrupt filesystem is sort of like telling
> any program to operate in the face of unreliable main memory.  Sure, if
> you're being very very careful you may be able to get some semblance of
> correct behavior, but you'll also take huge performance hit in the common
> (un-corrupted) case, and you still may not be able to survive in the
> corruption case.

I agree. However, lets just try to get the known problems sorted out, before
even thinking of a general fit-all-crashes-and-corruptions solution.

> Cyrus does provide tools to help recover from filesystem crashes.  These
> include the database recovery utilities, the chk_cyrus utility (which we
> wrote after a severe filesystem crash of our own!), reconstruct, and so
> on.

chk_cyrus is a nice addition, indeed. I cooked up a bunch of shell scripts
to do something similliar, parsing the raw mailboxes dump output and looking
for directories in the fs.

> Should we strive to do better?  Probably, but when faced with a decision
> of whether to track down a problem in Cyrus during normal operation, or
> track down a problem in Cyrus in the face of filesystem corruption, I'm
> going to have to pick the former almost every time, since it has wider
> applicability and there already exist tools to return the Cyrus data store
> back to a consistent state.

Fully agree. Well, the reason i wrote this mail in the first place could
easily be labeled as a problem during normal operation :)
 
> In any case, if you are so worried about resilience in your software, why
> are you using alpha quality software on your production system?

Mostly for these two reasons:
a) features 
b) testing

Virtdomains are a much needed feature, so i got a cvs snapshot running on my
personal sever as soon as Ken commited them into cvs. It worked well enough,
so i went on and got 2.2a in production.  It worked excellent untill
hardware bit me, and only then some problems came up, which Ken fixed
promptly (thanks again, Ken).

You see, i'm still young enough to afford a sleepless week or two every now
and then. And if i can help to spare someone else such expirience, i'd
gladly do so. Since i'm not a programmer myself, just a poor sysadmin, i do
the way i can: to whine about all the unusuall problems i notice :)

-- 

Jure Pecar


robustness ...

2003-08-01 Thread Jure Pecar

I was running a cvs snapshot of 2.2 from august 2002 for my personal mail
till now, when i upgraded to 2.2.1.

A folder for info-cyrus developed some strange behaviour a couple of
months ago: some clients would see a bounch of mail that was no longer
there (sylpheed), some clients would see it ok (sylpheed-claws), some
clients would not display it at al (jawmail webmail). It somehow became
corrupted in some subtle way. (reconstruct was not functional in that
snapshot)

So on to upgrade ... pretty straightforward, much less fun that i
expected. First lets see what's up with the info-cyrus folder: looks ok, i
try to delete the last mail that was delivered into it, imapd crashes:

Program received signal SIGSEGV, Segmentation fault.
mailbox_expunge (mailbox=0x8119be0, iscurrentdir=1, decideproc=0,
deciderock=0x0) at mailbox.c:1884
1884cacheitem = CACHE_ITEM_NEXT(cacheitem);
(gdb) bt
#0  mailbox_expunge (mailbox=0x8119be0, iscurrentdir=1, decideproc=0,
#deciderock=0x0) at mailbox.c:1884 1  0x08054944 in cmd_expunge
#(tag=0x8133598 "53", sequence=0x0) at imapd.c:3354 2  0x0804ed87 in
#cmdloop () at imapd.c:907 3  0x0804dfdb in service_main (argc=1,
#argv=0x8128ed0, envp=0xbb5c) at imapd.c:569 4  0x0804cece in main
#(argc=1, argv=0xbb54, envp=0xbb5c) at service.c:514 5  0x401da627
#in __libc_start_main (main=0x804c6a4 , argc=1, ubp_av=0xbb54,
#init=0x804b354 <_init>, fini=0x80920a0 <_fini>, 
rtld_fini=0x4000dcd4 <_dl_fini>, stack_end=0xbb4c) at
../sysdeps/generic/libc-start.c:129

Luckily, reconstruct -r fixed the problems.


Why am i writing all this? 
I still think that imapd should not crash or do other unreasonable things
(like looping with 100% cpu consumption) when confronted with corrupted
files. I had many interesting expiriences on our production system, where
fs badly crashed. IMHO Cyrus still needs some work in the robustness area.

If only i'd know more about programming ... 

--

Jure Pecar


Re: Cyrus 2.2.1-BETA Released

2003-07-31 Thread Jure Pecar
On Wed, 30 Jul 2003 17:02:08 -0400 (EDT)
Rob Siemborski <[EMAIL PROTECTED]> wrote:

> You want to get the copy from CVS though, not the included one, otherwise
> you'll lose all of your current sript activations (though not the scripts
> themselves).
> 
> -Rob

Thanks for the tip ... 

... but either i'm stupid (must be the hour ..) or your cvs is seriously
messed up ... i just pulled the cyrus HEAD branch to find out it has no
masssievec, not even sievec! They are not visible through cvsweb, i tried
HEAD, MAIN, cyrus-release-2-2-1. Also install-upgrade docs looked kinda old.

Then i pulled 2.2.1 tarball and it was all there ... how come?

Anyway it's gonna be a nice long night (ehm, morning) before i get this
mailbox running on 2.2.1 ... :)

-- 

Jure Pecar


Re: Cyrus 2.2.1-BETA Released

2003-07-30 Thread Jure Pecar
On Thu, 17 Jul 2003 11:20:20 -0400 (EDT)
Rob Siemborski <[EMAIL PROTECTED]> wrote:

> Additionally, the
> sieve bytecode now is stored in network byte order and is therefore
> portable across architectures. 

What does this mean to us that run 2.2a in production? :) 
Is this backward compatible / will be converted on the fly or would we have
to recommit every sieve script?


-- 

Jure Pecar


Re: ctl_cyrusdb looping

2003-06-17 Thread Jure Pecar
On Tue, 17 Jun 2003 10:54:06 -0400 (EDT)
Rob Siemborski <[EMAIL PROTECTED]> wrote:


> Most likely it was processing your duplicate delivery database, which
> can be quite large and take some time to process (you can generally tell
> what is going on by truss/strace on the process).
> 
> Options you have are to just delete it or to wait.  Killing the process
> in the middle of recovery is probably not ideal.
> 
> If you're using Berkeley DB for your duplicate delivery database, you
> many want to look at increasing your checkpoint frequency.  This could
> help reduce the amount of log that needs to be played back during
> recovery.
> 
> -Rob

I'm seeing the same on my 2.2.0a here ... deliverdb is now at 826mb, i
have checkpoint event set with period=10 and i find one or two ctl_deliver
processes running, eating all the cputime available. strace shows it's
chewing the db files as it should ... Maybe i should experiment with -E 2
or even 1 ... 

What are the consequences of removing deliver.db? As i understand, nothing
critical.

Killing ctl_deliver usualy results in a lmtp hang and cyrus restart is
needed to recover.

I think it would be smart for ctl_deliver to check if some other
ctl_deliver process is already running ... 

--

Jure Pecar


Re: Corruption?

2003-06-12 Thread Jure Pecar
On 12 Jun 2003 11:17:15 -0700
Patrick Nelson <[EMAIL PROTECTED]> wrote:

> Had my Cyrus server lockup... not cyrus related... but when I rebooted
> the server my users could not get their mailbox contents.
> 
> The error thats listed from Evolution when trying to view the, say INBOX
> is:
> 
> Error while 'Opening folder imap://@/INBOX': No
> such folder INBOX
> 
> Looking at the /var/log/messages I see that the user authenticated and
> then I see an error like:
> 
>   master[]: process  exited, signaled
> to death by 7
> 
> How can I fix this?
> 
> 

If you had a harddisk crash, check your binaries.

Dump your mailboxes.db into plaintext format and see what you got there.
Fix, undump back. (It's handy to have some other clean cyrus setup to
compare the plaintext format; be sure not to forget the \t at the end of
each line)

Check other database files if they contain some weird data (strings 
should reveal if any fs blocks were strangely relinked by fsck as you should
spot parts of mails & other junk in files where they should not be)

When you get the imap login done and imapd dies at the point of . select
inbox, the usual culprit is the corrupted seen file. Delete it for each user
that has problems.


Good luck,

-- 

Jure Pecar


Re: more fun ...

2003-06-03 Thread Jure Pecar
On Mon, 2 Jun 2003 22:49:29 +0200
Jure Pecar <[EMAIL PROTECTED]> wrote:


> It looks like i'll have to dump mailboxes.db to a flatfile, fix all the
> acl errors and reimport it tonight ... 

after rebuild & fix up, now it's no longer [EMAIL PROTECTED], it's
[EMAIL PROTECTED] that's showing up ... 

# telnet mailstore 143
Trying ...
Connected to mailstore.
Escape character is '^]'.
* OK mailstore.domain.com Cyrus IMAP4 v2.2.0-ALPHA server ready
. login [EMAIL PROTECTED] 
. OK User logged in
. create user/[EMAIL PROTECTED]
. OK Completed
. create [EMAIL PROTECTED]
. OK Completed
. getacl user/[EMAIL PROTECTED]
* ACL user/[EMAIL PROTECTED] [EMAIL PROTECTED] lrswipcda
[EMAIL PROTECTED] lrswipcda
. OK Completed
. getacl [EMAIL PROTECTED]
* ACL [EMAIL PROTECTED] anyone lrs

any explanation here? to me it looks like somethign is messed up somewhere
in the unixhiersep/vdomains area ... but still, i'm pretty sure this worked
ok before ... 


-- 

Jure Pecar


more fun ...

2003-06-03 Thread Jure Pecar

While still recovering from the fs corruption, i've hit some more weird
things in 2.2a.

Consider this:

mailstore.domain.com> cm user/[EMAIL PROTECTED]
mailstore.domain.com> lam user/[EMAIL PROTECTED]
[EMAIL PROTECTED] lrswipcda
[EMAIL PROTECTED] lrswipcda

like ... WTF? where do these ACLs come from? I wouldn't object much to cyrus
admin user set like this, but the second line ... 

Anyway, i've stepped through mailbox creation with gdb and this is where
things start to look wrong first:

mboxlist_mycreatemailboxcheck (name=0xbffeb110 "domain.com!user.notyethere",
new_mbtype=0, partition=0x0, isadmin=1, userid=0x8136848 "[EMAIL PROTECTED]",
auth_state=0x8137720, newacl=0xbffe9e54, newpartition=0xbffe9e58, RMW=1,
localonly=0, force_user_create=0, tid=0xbffe9e5c) at mboxlist.c:350

350 switch (r) {
375 parentlen = 0;
376 while ((parentlen==0) && (p = strrchr(parent, '.')) && !strchr(p,
'!')) {
398 }
377 *p = '\0';
379 r = mboxlist_mylookup(parent, NULL, NULL, &parentpartition, 

mboxlist_mylookup (name=0xbffe9bf0 "domain.com!user", typep=0x0, pathp=0x0,
partp=0xbffe9bdc, aclp=0xbffe9be0, 
tid=0xbffe9e5c, wrlock=0) at mboxlist.c:162


I'm sure this was functioning perfectly well before the crash.

The only major thing i did that i imagine could affect this in some way was
a rebuild of a mailboxes.db from a filesystem using a variant of the shell
script found on cyrus-utils.sf.net ... 

It looks like i'll have to dump mailboxes.db to a flatfile, fix all the acl
errors and reimport it tonight ... 

-- 

Jure Pecar


Re: wishlist for 2.2 final

2003-05-29 Thread Jure Pecar
On Thu, 29 May 2003 09:07:42 -0400 (EDT)
Rob Siemborski <[EMAIL PROTECTED]> wrote:

> Uh, this has been possible for quite some time (like, since the 2.0
> series).
> 
> e.x. sieveshell -u otheruser -a adminuser server

uhm, in timsieved too? then i must be doing something wrong. will take
another look.
 
> > anything else on the CMU's list before 2.2? and, any ETA for 2.2? :)
> 
> ANNOTATEMORE support. Possibly BINARY support.  When its ready.

nice.

--

Jure Pecar


Re: wishlist for 2.2 final

2003-05-29 Thread Jure Pecar
On Wed, 28 May 2003 23:25:50 -0400 (EDT)
Igor Brezac <[EMAIL PROTECTED]> wrote:


> Do you mean db4 (4.1.25)?  If so, yes.  I am testing the patch as we
> speak, but I believe it will solve the lockers issue and recovery problems
> after cyrus restart.  This should also fix issues with berkeley
> mailboxes.db some folks have reported.  Although, people should use
> skiplist for mailboxes.db.  The patches will be in the cvs soon.

excellent.
 
i might have another one for the 'reliability' section:

* if skiplist seen state file is corrupted (content mixed up with some other
file), imapd tends to go in a loop consuming 100% cpu and doing nothing (at
least strace shows nothing). reconstruct didnt fix this (should it?).


-- 

Jure Pecar


wishlist for 2.2 final

2003-05-29 Thread Jure Pecar

OK, after running 2.2a in production for two months and just finished
recovering from an ugly disk crash & corruption, here are some of my whishes
for 2.2 final:

* figure out db3 lockers. i see some work here by igor brezac; igor, does
your patch solve the issue entirely?

* option (something like -v) for ctl_* and reconstruct tools to be way more
verbose; when admin feels that some tool is misbehaving, an option like this
could save hours of figuring out what's going on.

* timsieved to allow admin user to set users' scripts. i think this was
mentioned some time ago already.


anything else on the CMU's list before 2.2? and, any ETA for 2.2? :)


after i get our system's hardware in order i'll take a look at making
reconstruct.c more verbose ...


-- 

Jure Pecar


Re: sieve in 2.2a

2003-04-06 Thread Jure Pecar
On Sun, 6 Apr 2003 03:51:12 +0200
Jure Pecar <[EMAIL PROTECTED]> wrote:

> Any hints how to debug this further?

Ok i found out what is going on here, it's the fulldirhash that's messed
somewhere in the lmtp. See bug #2005 in bugzilla for details.


PS. I'm willing to shorten someone's amazon wishlist (or equivalnet) if this
gets fixed up by yesterday ;)


-- 

Jure Pecar


sieve in 2.2a

2003-04-05 Thread Jure Pecar

Hi all,


What's the sieve status in the 2.2a? Is it supposed to work?

I have a simple script:

redirect "[EMAIL PROTECTED]";
keep;

that looks fine if run by the sieve test app. However, i never see the mail
actually hitting the maillog; looks like sieve does not call sendmail at
all. I have sendmail set in imapd.conf that points to the sendmail binary.

With debug logs on, i see sieve: executed, sieve accepted connection, sieve
login and sieve: entered bc_action_emit with filelen: 16 and thats about it.

Any hints how to debug this further?



-- 

Jure Pecar


Re: postfix doesn't know cyrus user

2003-04-04 Thread Jure Pecar
On Fri, 4 Apr 2003 16:32:39 +0200
"Maik Knittel" <[EMAIL PROTECTED]> wrote:

> hello,
>  
> after we've got cyrus running, we have another problem.
> We can't send mail with postfix (smtp). It seems that
> Postfix doesn't know the cyrus user.

you have to set up the local_recipient_table map that lists all users that
you want to accept mail for. how you do that greatly depends on your
setup.

--

Jure Pecar


timesieved && cyrus admin user

2003-04-02 Thread Jure Pecar

Hi all,

As cyrus admin user i can login to imap and manage mailboxes, ACLs & stuff.
Can i do the same for sieve and timsieved? During a migration from our old
setup to new i would also like to migrate our legacy forwarding & stuff to
sieve, but have yet to figure out how. I'm using fulldirhash so finding out
where exaclty the user's sieve dir is on disk and planting his script there
is not really an option.

-- 

Jure Pecar


Re: interesting limitation

2003-03-31 Thread Jure Pecar
On Mon, 31 Mar 2003 10:42:39 -0500 (EST)
Dave O <[EMAIL PROTECTED]> wrote:

> 
> 2 level hashing would work, but I don't know if Cyrus supports that.  It
> would most likely be trivial to implement.
> 
> eg spool/s/sm/user/smith

Yes, i was thinking about that too ... In fact i would prefer it over
fulldir hash code, because this way i always know where on disk the user's
mailbox is. 

--

Jure Pecar


interesting limitation

2003-03-29 Thread Jure Pecar

Hi all,

Recently i was testing a 2.2 branch on linux with Veritas vxfs. I wanted to
create 20 users in the form of userN, where n is 1..20. I soon found
out that vxfs won't let me create more than 32k subdirs in one dir.

This is clearly a limitation of the filesystem. How does other filesystems
handle this?

The solution here is full dir hash. But, the next limit is at 26*32k users.
Is anyone actually nearing this number of users on a single box? Probably
not, but who knows what the future may bring ... 


-- 

Jure Pecar


Re: cyrus 2.2 from yesterday cvs

2003-02-23 Thread Jure Pecar
On Sun, 23 Feb 2003 15:55:14 -0500 (EST)
Igor Brezac <[EMAIL PROTECTED]> wrote:

> Do you get a syslog entry for each failed authentication from
> saslauthd: AUTHFAIL: [EMAIL PROTECTED] service=pop3...?  If this is
> the case, things are working fine.

no, i get AUTHFAIL: user=test service=imap realm= [internal error ]
when using [EMAIL PROTECTED] as username.

-- 

Jure Pecar


Re: cyrus 2.2 from yesterday cvs

2003-02-23 Thread Jure Pecar

I hit another problem:

I have a mysql plugin for saslauthd, which i put together (and posted here
about half a year ago). Among the first lines of auth_mysql() i print out
the values i get for login and realm.

If i test it with testsaslauthd, i get [EMAIL PROTECTED] as the login and
empty realm, which i then split internally and insert into mysql query i
read from conf file. It works perfectly.

However, using imtest or telnet to pop3/imap ports, i see that i get test as
login and empty realm. So something between imapd and saslauthd eats away
the @domain part.

This only happens if enable virtdomains in imapd.conf. If i turn it off, i
get @domain part in the login as expected.

Ken?


-- 

Jure Pecar


cyrus 2.2 from yesterday cvs

2003-02-19 Thread Jure Pecar
Hi all, 

I started playing with the recent cvs code. Basically i want to set up a
multidomain server with one default domain and mysql auxprop auth. So i
have this in imapd.conf (among other things):

admins: cyrus
allowplaintext: yes
defaultdomain: example.com
hashimapspool: 1
imapidresponse: 1
loginrealms: example.com
unixhirearcysep: 1
virtdomains: 1
sasl_pwcheck_method: auxprop
sasl_mysql_statement: select password_plain from users where username='%u'
and realm='%r'
sasl_mysql_verbose: yes


Here are my current findings:


cyradm still does not compile to a working state outofthebox. Looks like
env variables like BDB_LIB and SASL_LIB are not passed down to perl/imap.
When exporting them by hand and going through standard 'perl Makefile.PL;
make; make install' it works.


There's a comment at the top of sasl*/plugins/mysql.c which states that '
%r is the realm which could be the kerbros realm, the FQDN of the computer
the sasl app is on or what ever is after the @ on a username'. Looking at
the code it looks like 'whatever is after @ on a username' take precedence
over server FQDN (line 276 of plugins/mysql.c in sasl-2.1.12).
Now, if i try to log in with imtest, it looks like it does not care what
is after @ at all. Regardless if i set -a [EMAIL PROTECTED] or -u
[EMAIL PROTECTED] or both, i get such log entries: mysql plugin doing
query select password_plain from users where username='cyrus' and
realm='myhost.example.com'. Same goes for IMAP logins.


I have a default domain set in imapd.conf. I created its ondisk hirearchy
with mkimap -d example.com and expect its mailboxes to appear underneath.
However, mailboxes under default domain appear at the top level, as if
virtdomains is off. (is this intentional? i havent run mkimap without -d
yet) If i want to set quota for them i get System I/O error (the relevant
config/quota directories are not present). If i create another domain,
blah.net, and create some mailboxes under it, they appear properly and i
can set their quota.



Now it's entirely possible that i'm doing something wrong. In this case,
i'd like to know what :)


My environment is rehdat 7.3 with all updates.

--

Jure Pecar



Re: imapd's hang when maxchild count is reached

2003-02-05 Thread Jure Pecar
On Wed, 05 Feb 2003 15:21:26 -0500
Scott Adkins <[EMAIL PROTECTED]> wrote:

> I solved this problem a long time ago by passing an environment variable
> from the master process to the child process when the child process is
> spawned indicating that the server is full.  I used CYRUS_MAXCHILD, and
> the child process already checks for the CYRUS_VERBOSE variable when it
> starts in order to properly set the debugging level.  If that variable
> was set, then the child would output an error message indicating that the
> server was full and to try again later.  It would then close the client
> connection and then exit.
> 
> A couple things to note:
> 
>   1) I prefer the client to be notified when the server is full and not
>  simply get connection refused messages or have the email client just
>  sit there, appearing to hang, while the server waits for a connection
>  to become free.
> 
>   2) My method worked, but it didn't take advantage of the process reuse
>  feature.  Basically, the master process only gets one chance to pass
>  an environment variable off to the child process.  So, once that
>  variable is set in the child, the child will always believe that the
>  max has been reached.  That is why I had the child process go away,
>  as it is basically useless after handling that one connection.
> 
>   3) If there was a good way for the master to notify the child process
>  on each connection pass (either when passing the connection to an
>  already available child, or when passing the connectioin to a newly
>  spawn child) what the current status of maxchild is, then it would
>  be quite efficient to send the server full messages, close the
>  connection and wait for the master process to hand it another.  I
>  don't know enough about how the master and child process communicate
>  to know how to make this work.
> 
> Scott


Now that you're discussing the mechanisms to refuse new connections politely
because of some condition, i would like to suggest another condition to
check: system loadavg. Some programs (sendmail for example) know how to
reject connections if loadavg is >= some admin defined value. 

-- 

Jure Pecar



Re: Latest on Cyrus and GFS?

2003-01-17 Thread jure pecar
On Friday 17 January 2003 21:01, Jared Watkins wrote:
> I've not been able to find the answer to the GFS question in the archives..
> so here goes.
>
> If one were using a dual attach scsi cabinet.. or fibre channel..  would it
> possible to use cyrus on GFS from two or more servers all with r/w access?

well, as cyrus is primarily i/o hungry (as any other mail app) there's no real 
benefit of having multiple machines doing i/o on the same storage ... the 
most such setup can give you is more weird problems.

i'm doing one of these 'shared' storage setups these days too. the solution i 
chose is kimberlite, well, RH advanced server actually, where i have only one 
box using the storage at a time. the other box can still be usefull, for 
example chewing mails with spamassassin. in case there is some problem with 
either of the boxen, the healty one can take over the service.

--

Jure Pecar



Re: cyrus 2.2 status

2002-12-13 Thread Jure Pecar
On Thu, 12 Dec 2002 20:31:41 -0500
Ken Murchison <[EMAIL PROTECTED]> wrote:

> I addition to what Rob already mentioned, there needs to be more work
> done on documenting the virtdomain support and tying some loose ends.

Yes, virtdomains are actually the #1 thing i'm interested in cyrus 2.2 ...
I'm sure there are more people interested, so i think it would be nice to
provide either a stable, known working cvs branch of 2.2 or a patch with a
backport of virtdomains stuff to 2.1. I'm willing to help here, just give
me some directions.

--

Jure Pecar



cyrus 2.2 status

2002-12-12 Thread Jure Pecar
Hi all,

what is the current status of the cyrus 2.2 cvs branch? judging by the cvs
commits lately, there are just various little cleanups here and there ... is
there anything big left on the TODO list for 2.2?

my little wish would be the sql cyrusdb interface, discussed here a week or
two ago, even if marked exeprimental or something.


-- 

Jure Pecar



cyrus on vxfs

2002-12-06 Thread Jure Pecar
Hi all,

I'm sure some of you use vxfs on solaris for cyrus mail spool ... What are
your expiriences? Tunning tips? Maybe any vxfs on linux expiriences out
there?

Thanks,

--

Jure Pecar



Re: PostgreSQL backend: a waste of time?

2002-11-25 Thread Jure Pecar
On Mon, 25 Nov 2002 10:04:03 -0600
[EMAIL PROTECTED] wrote:

> Seems kinda ironic in a way---doesn't MySQL use BerkeleyDB?  I guess
> it's all in the indexing/caching

yes, it is one of the choices for table type. others are MyISAM and
InnoDB, the latter supports transactions and is as fast as oracle if not a
bit faster.

--

Jure Pecar



Re: Best way to backup cyrus system (lots of inodes!)

2002-11-21 Thread Jure Pecar
On Thu, 21 Nov 2002 13:04:22 -0500
Steve Barber <[EMAIL PROTECTED]> wrote:

> Is anyone successfully implementing any sort of incremental backup
> solution in a large production environment?

Other than filesystem snapshots (if your underlying volume manager knows
about it) i don't see some very usefull/efficient backuping tools for
large mail spools. For example, i still rely only on raid mirrors :) which
leaves me cold in case of rm -rf / (or some such) but safe in case a disk
deceides to die.

Puting all the mail spools in the RDBMS just for the ease of backuping ...
i heard from the Oracle people that their DB is already 30% slower than
plain fs and cyrus is already very i/o demanding ... i don't want to
introduce another bottleneck. Altough, implementing all the little
databases cyrus has (mailboxes, duplicate deliveries, ...) in some RDBMS
might be usefull for large setups. Which still leaves the backuping
problem intact ... 

--

Jure Pecar



max users per cyrus instance

2002-10-21 Thread Jure Pecar

With all the talk about the distributed filesystems, I have a related
question:

How many users do you have per cyrus instance?

My expirience from our webmail setup is 150k users on a single box with 10
10k rpm scsi disks. CPU load is hovering around 5% (4 500mhz p3 xeons),
loadavg around 10 most of the day. Clearly i/o wait is the cause here. 

I'm planning to expand onto some nice fibrechannel disk arrays with 15 disks
and want to know if one cyrus instance would hold up to 600k users. Does
anyone have such numbers in production? What combination of cyrus mailstore
hashing and filesystems offered by linux today would be most interesting in
such scenario?

--


Jure Pecar



msg08775/pgp0.pgp
Description: PGP signature


Re: Unexplained heavy loads lately on Cyrus servers

2002-10-02 Thread Jure Pecar

On Wed, 02 Oct 2002 16:34:31 -0400
twk <[EMAIL PROTECTED]> wrote:

> In the last 2 weeks or so, both sets of servers have been running under a
> much larger load than usual, which does not seem to correlate with any
> know events (significantly more accounts, network problems, etc.). We have
> added more memory to some of these systems, and sometimes an additional
> drive just for swap.

Hmm ... i can add a 'me too' ... i'm running cyrus 2.0.16 on a free webmail
service and in the last few months the loadavg was jumping high enough for
the sendmail to stop accepting connections. Now i managed to move the MTA to
frondend MXes, but the load didnt drop as much as i expect it would ... it's
still hovering around 5. Since cpuload is about the same, this must be
related to some increased i/o activity.
Only half a year ago this same box was humming nicely with approx the same
nubmer of users ... 



--


Jure Pecar



msg08495/pgp0.pgp
Description: PGP signature


Re: Cyrus continues to stop working.. no fix available?

2002-05-14 Thread Jure Pecar

On Tue, 14 May 2002 00:23:07 -0500
Dustin Puryear <[EMAIL PROTECTED]> wrote:

> This is extremely interesting. Michael, do you find this happens at 
> seemingly random times though? We can go a week or two with no
> problems, and then bam, I get a 911. Of course, our volume is
> considerably lower than yours. Another issue, and one that may
> differentiate our problems from yours (but hopefully not as your at
> least have a work-around), is that I can sometimes restart Cyrus, and
> even after a restart, no new connections are serviced. (They connect,
> but get no service.) I've found that when this happens Cyrus will
> often appear to work for a VERY short while, and then revert back to
> the point where connections occur but no service (pop3d) responds.
> 
> Shouldn't a restart completely fix the problem? If so we may be
> fighting something different. A reboot also doesn't always clear up
> the problem. Again, Cyrus will come up, but then fail shortly
> thereafter.

I've seen the exact same behaviour you're describing here on Linux when
there's a lack of available entropy. Pop3d is more susceptible to this
problem, because it calls some sasl functions that read some bits from
/dev/random. I didn't check why exactly are they necessary and why imapd
does not use these functions. Linux gathers entropy from disk i/o events
and keyboard keystrokes iirc, but i saw it drain even on an extremly
busy mail server. Imapd goes on, but pop3d processes just pile up, each
one accepting a connection but not starting any service. During the peak
hours i've seen this effect numerous times, resulting in too many open
files and thus blocking other processes. One of the solutions is to
recompile the kernel with the netdev-random patches
(http://www.tech9.net/rml/linux/), and if this does not help, find
/dev/random references in the sasl library and replace them with
/dev/urandom. Iirc it's only defined in one place.

-- 


Jure Pecar


msg07742/pgp0.pgp
Description: PGP signature


Re: Cyrus IMAPd v2.1.3 and sasl_checkapop()

2002-04-03 Thread Jure Pecar

Quoting David Fuchs <[EMAIL PROTECTED]>:


> configure: error: libsasl2 without working sasl_checkapop.  Cannot
> continue.

For me it worked only after i put LDFLAGS and CPPFLAGS pointing to the sasl2
place in front of ./configure ...

--

Jure Pecar



Re: Cyrus IMAPd v2.1.3 and sasl_checkapop()

2002-04-03 Thread Jure Pecar

Quoting David Fuchs <[EMAIL PROTECTED]>:


> configure: error: libsasl2 without working sasl_checkapop.  Cannot
> continue.

For me it worked only after i put LDFLAGS and CPPFLAGS pointing to the sasl2
place in front of ./configure ...

--

Jure Pecar



Re: DB vs. Flat File

2002-02-05 Thread Jure Pecar

On Mon, 04 Feb 2002 20:15:22 -0500
Walter Wong <[EMAIL PROTECTED]> wrote:

> With the release of Cyrus IMAP 2.1.2 there will be a new backend option: 
> skiplist.
> 
> We have already moved our development system to use it and performance 
> seems very good. I expect we'll be moving our production system to it 
> within a few months. It should not suffer from the same problems with 
> insert/modify operations that the flat file has and it has better list 
> speed than DB.
> 

Is there any particular reason mysql cannot be used for this purpose? As i understand 
things this backend only has a need for a lot of simple queries and this is where 
mysql works best.

-- 


Jure Pecar



Re: sieve & sasl2

2002-01-31 Thread Jure Pecar

On Thu, 31 Jan 2002 14:04:22 -0500
Darren Nickerson <[EMAIL PROTECTED]> wrote:

> I had the same problem, which turned out to be due to an incorrect path to
> sasl2's plugins. I have sasl and sasl2 coexisting on the same box, so:
> 
>   /usr/lib/sasl2
>   /usr/lib/sasl

same here, expect that /usr/lib/sasl2 is a symlink pointig to the 
/opt/saslV2/lib/sasl2.
 
> are two very different beasts. Sadly, when I had compiled sasl2, I had
> forgotten to give configure the:
> 
>   --with-plugindir=/usr/lib/sasl2
> 
> flag. So it was looking in the default (incorrect version) /usr/lib/sasl and was 
>failing to load the plugins.
> 

Oh, i see it now. I specified /opt/saslV2/usr/lib/sasl2 for plugin dir ... Thanks for 
the hint :)

-- 


Jure Pecar



sieve & sasl2

2002-01-31 Thread Jure Pecar

Hi list,

I have a cyrus 2.1.1 authenticating via saslauthd -a pam. When i telnet to
sieve port, i get:

$ telnet 0 2000
Trying 0.0.0.0...
Connected to 0.
Escape character is '^]'.
"IMPLEMENTATION" "Cyrus timsieved v1.1.0"
"SIEVE" "fileinto reject envelope vacation imapflags notify subaddress
regex" OK


According to documentation, there should be available authentication
methods listed after "SIEVE", but there are none. I also don't see any
auth mechanisms in imtest.


$ ls -p /usr/lib/sasl2
cyrus.conf@libcrammd5.so.2.0.0libkerberos4.la   
libplain.so@ Cyrus.conf@libdigestmd5.la   
libkerberos4.so@   libplain.so.2@ libanonymous.la   
libdigestmd5.so@   libkerberos4.so.2@ libplain.so.2.0.0
libanonymous.so@   libdigestmd5.so.2@ libkerberos4.so.2.0.0 
libsasldb.la libanonymous.so.2@ libdigestmd5.so.2.0.0  libotp.la  
   libsasldb.so@ libanonymous.so.2.0.0  libgssapiv2.la
libotp.so@ libsasldb.so.2@ libcrammd5.la 
libgssapiv2.so@libotp.so.2@   libsasldb.so.2.0.0
libcrammd5.so@ libgssapiv2.so.2@  libotp.so.2.0.0
libcrammd5.so.2@   libgssapiv2.so.2.0.0   libplain.la

Both cyrus.conf files point to /etc/imapd.conf.


What am i doing wrong?

--

Jure Pecar



Re: user unknown?

2002-01-15 Thread Jure Pecar

On Tue, 15 Jan 2002 15:14:53 -0500
Lawrence Greenfield <[EMAIL PROTECTED]> wrote:

> The admin users always use the standard namespace.
> 
> So you want to
> 
> cm user/test
> 
> Larry


Now thats much better :) I knew it was something simple. Lmtp is now aware of where to 
deliver.

Thanks for hint :)

-- 


Jure Pecar



Re: user unknown?

2002-01-15 Thread Jure Pecar

On Tue, 15 Jan 2002 15:09:33 -0500
Lawrence Greenfield <[EMAIL PROTECTED]> wrote:

> the mailbox for the user named "test" is called "user.test".
> 
> you want to
> 
> cm user.test
> 

but not with 

unixhierarchysep: yes
altnamespace: yes

in this case i get user^test directory on disk and lmtp still rejects rcpt to: 
or  with user unknown.

-- 


Jure Pecar



Re: user unknown?

2002-01-15 Thread Jure Pecar

On Tue, 15 Jan 2002 14:39:03 -0500
Lawrence Greenfield <[EMAIL PROTECTED]> wrote:

> You're authenticating as an administrative user?

Yes. I have admins: cyrus line in imapd.conf.
 
> So for my mailbox, cyradm should be like:
> mail1.andrew.cmu.edu> lm user.leg
> user.leg (\HasChildren)  
> mail1.andrew.cmu.edu> 

$ cyradm -u cyrus imap
IMAP Password: 
  imap> 
imap> cm test
imap> sam test test all
imap> sam test cyrus all
imap> lm test
test (\HasNoChildren)


$ telnet imap 24
Trying 192.168.200.4...
Connected to imap.
Escape character is '^]'.
220 mail.animeslovenija.org LMTP Cyrus v2.1.1 ready
lhlo feather2.animeslovenija.org
250-mail.animeslovenija.org
250-8BITMIME
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-SIZE
250-AUTH EXTERNAL
250 IGNOREQUOTA
mail from:<[EMAIL PROTECTED]>
250 2.1.0 ok
rcpt to:
550 5.1.1 User unknown
quit
221 2.0.0 bye
Connection closed by foreign host.


> Do the log files have anything interesting?

on debug level, nothing.


strace of lmtp process is equally noninformative:

read(0, "rcpt to:\r\n", 4096) = 16
select(1, [0], NULL, NULL, {0, 0})  = 0 (Timeout)
write(1, "550 5.1.1 User unknown\r\n", 24) = 24


-- 


Jure Pecar



user unknown?

2002-01-15 Thread Jure Pecar

Hi list,

I'm putting together a new imap server. Sasl, cyrus, authentication works
ok, i can add new user through cyradmin and set its ACLs. Now telneting to
lmtp port and trying to send mail to that user results in 550 5.1.1 User
unknown error message. Why?

I think i must be doing something wrong since i managed to came to this
point with cyrus 2.0.16 and with 2.1.1. If i understand cyrus correctly,
user -> mailbox mapping is all done in cyrus and is not related to how
auth stuff works. So where could i go wrong?

Thanks for hints.

Output  of ver command in cyradm:

name   : Cyrus IMAPD
version: v2.1.1 2002/01/14 20:08:56
vendor : Project Cyrus
support-url: http://asg.web.cmu.edu/cyrus
os : Linux
os-version : 2.4.12-ac3
environment: Cyrus SASL 2.1.0
 Sleepycat Software: Berkeley DB 3.1.17: (July 31, 2000)
 OpenSSL 0.9.6 24 Sep 2000
 CMU Sieve 2.0
 TCP Wrappers
 lock = flock
 auth = unix
 idle = poll
 notify = unix
 dirhash = full
 mboxlist = db3

/etc/imapd.conf (with mostly defaults)

configdirectory: /db/cyrus/config
defaultpartition: default
partition-default: /data/cyrus/data
umask: 077
servername: mail.animeslovenija.org
allowanonymouslogin: no
allowplaintext: yes
quotawarn: 90
timeout: 30
imapidlepoll: 60
poptimeout: 10
admins: cyrus
autocreatequota: 1
singleinstancestore: yes
duplicatesuppression: yes
sieveusehomedir: false
sievedir: /data/cyrus/sieve
sendmail: /usr/sbin/sendmail
postmaster: postmaster
hashimapspool: true
sieve_maxscriptsize: 64
sieve_maxscripts: 10
sasl_maximum_layer: 256
sasl_minimum_layer: 0
sasl_pwcheck_method: saslauthd
lmtpsocket: /db/cyrus/config/socket/lmtp
idlesocket: /data/cyrus/idled
notifysocket: /data/cyrus/notify
unixhierarchysep: yes
altnamespace: yes
userprefix: Other Users
sharedprefix: Shared Folders
logtimestamps: yes


/etc/cyrus.conf:

# standard standalone server implementation

START {
  # do not delete these entries!
# for cyrus 2.0.x 
#  mboxlist cmd="ctl_mboxlist -r"
#  deliver  cmd="ctl_deliver -r"

# for cyrus 2.1.x
   recover cmd="ctl_cyrusdb -r"

  # this is only necessary if using idled for IMAP IDLE
#  idledcmd="idled"
}

# UNIX sockets start with a slash and are put into /var/imap/socket
SERVICES {
  # add or remove based on preferences
  imap  cmd="imapd" listen="imap" prefork=0
#  imapscmd="imapd -s" listen="imaps" prefork=0
  pop3  cmd="pop3d" listen="pop3" prefork=0
#  pop3scmd="pop3d -s" listen="pop3s" prefork=0
  sieve cmd="timsieved" listen="sieve" prefork=0

  # at least one LMTP is required for delivery
  lmtp  cmd="lmtpd -a" listen="192.168.200.4:lmtp" prefork=1
  lmtpunix  cmd="lmtpd -a" listen="/var/imap/socket/lmtp" prefork=0
}

EVENTS {
  # this is required
  checkpoint   cmd="ctl_cyrusdb -c" period=30

  # this is only necessary if using duplicate delivery suppression
  delprune  cmd="ctl_deliver -E 3" period=1440
}


saslauthd is running with -a pam, which calls pam_mysql and goes down to
mysql db. auth is working. btw, when will something like mysql plugin for
saslauthd be available? :)

--

Jure Pecar



/dev/random and sasl ...

2002-01-04 Thread jure pecar

Hi list,

We just had a sudden pike of activity on our mail server. The result is that 
pop3d simply stopped working. Pop3d processes are just getting spawned, but 
they do nothing.  If i telnet to port 110 the connection gets established, 
but i dont get the greeting from cyrus. Imapd works ok as ever.

I managed to strace a pop3d just after it started, and it stopped on:
...
open("/data/cyrus/config/proc/27611", O_RDWR|O_CREAT|O_TRUNC, 0666) = 13
fstat64(0xd, 0xb544)= 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) 
= 0x40dec000
_llseek(13, 0, [0], SEEK_SET)   = 0
write(13, "pop.user's.domain[his.ip"..., 40) = 40
_llseek(13, 0, [40], SEEK_CUR)  = 0
ftruncate(13, 40)   = 0
open("/dev/random", O_RDONLY)   = 15
read(15,

where it sits still. 

This is cyrus-2.0.17cvs from around dec 15., running on redhat 6.2 with 
2.4.17 kernel.

Now afaik /dev/random is blocking if it's out of entropy, while /dev/urandom 
is not. Is there a reason why using /dev/random at all? I see frequent 
slowdowns in response time of pop3 and this could well be the reason.

I can't find any reference to /dev/random in cyrus ... so where can i look 
for code that calls it? I'd like to find out why it is not /dev/urandom ...

Ah, it's probably in sasl. True, config.h ... Is there a reason not to use 
/dev/urandom there? Any side effects if i change that and recompile?

--

Jure Pecar



cvs down?

2001-12-27 Thread Jure Pecar

Any reason for the cvs server to be down?

$ cvs -d :pserver:[EMAIL PROTECTED]:/cvs login
(Logging in to [EMAIL PROTECTED])
CVS password: 
cvs [login aborted]: connect to cvs.andrew.cmu.edu:2401 failed: Connection timed out


-- 


Jure Pecar



Re: Webmail for Cyrus Imap ?

2001-12-12 Thread Jure Pecar

On Tue, 11 Dec 2001 22:18:34 -0500
"Alex Kamalov" <[EMAIL PROTECTED]> wrote:

> Guys,
> 
> I was wondering if anyone can tell me a preferred webmail interface for
> cyrus-imap ? Which one should I use that could be relatively painless,
> albeit with functionality ?
> 

Try jawmail (jawmail.sf.net), up & running in <5min. 


-- 


Jure Pecar



cvs

2001-11-20 Thread Jure Pecar

All that talk about cyrus 2.1 and sasl v2 made me want to take a look at it ... webcvs 
lists just too many branches to choose from :) so which one do i pick? 
imapd-sasl-v2(-base) or cyrus-2_1 ?


-- 


Jure Pecar



user.sub question

2001-09-13 Thread Jure Pecar


Hi list,

We're running a ~100.000 users free webmail service, based on cyrus and ldap. 
Recently, some of our users started complaining that they can't see their subfolders 
anymore. I found the .sub files and also found this from the doc/server-design file:

* User directory: 
The subdirectory "user" under the configuration directory contains
files with per-user information.  For each user "USER" with an INBOX, it
may contain the file "USER.sub".  The file contains a list of the
user's subscribed mailboxes.

Most of the .sub files I see are empty (zero lenght), altough _all_ of our users have 
sent-mail subfolder. I found some .sub files that only contained user.username line, 
and some that looked like what I would expect (user.username, user.username.sent-mail, 
user.username.somesubfolder). Of those that were complaining, I found that some didn't 
have .sub file and some have them, both empty and with a some subfolders.

So I'm a bit confused here ... Is anyone willing to explain this stuff in more detail 
than there is in server-design doc file? Or at least suggest me which source files to 
dig through to find out how is all that supposed to work? Or, better yet, suggest me a 
way to fix those users' mailboxes?

We're using cyrus 2.0.14.


-- 


Jure Pecar