Brandon High | 1 Feb 2003 01:20

ctl_deliver not finishing

I'm having a bit of a problem on our IMAP server. There are several
instances of ctl_deliver, some running for over 2 days.

# ps -ef|grep deliver
   cyrus   331   303 27   Jan 29 ?       2671:33 ctl_deliver -E 3
   cyrus  6736   303 26 12:48:32 ?       112:04 ctl_deliver -E 3
   cyrus  2647   303 27   Jan 30 ?       1281:16 ctl_deliver -E 3

Looking at /var/adm/messages, process 331 generated the following error:
Jan 29 12:48:40 ix ctl_deliver[331]: DBERROR db4: DB_ENV->log_flush: LSN past current end-of-log

The system is Solaris 5.7, cyrus-imapd-2.1.5, cyrus-sasl-2.1.5,
db-4.0.14

Any idea on recovering the problem gracefully? What might be causing it,
and any fixes?

Thanks
-B

--

-- 
Brandon High                                          bhigh <at> epinions.com
Epinions, Inc.                                 Unix System Administrator
He who laughs last thinks slowest.

Phil Howard | 1 Feb 2003 01:55

Re: looking for Cyrus mail format documentation

On Fri, Jan 31, 2003 at 09:57:40AM -0500, John Alton Tamplin wrote:

| Earl R Shannon wrote:
| 
| > But that does now beg the question. There must be some form of
| > coordination between the various processes as they access the
| > mail store. Can this not be abstracted out and put in an API to
| > make it easier for people to write their own applications?  I would
| > venture a guess to say that the API already exists in some form,
| > it just needs to be formalized and published.
| 
| The point is if you expose the internal API for accessing the mailstore 
| you are stuck with it and can't make changes.  I can't imagine there is 
| a big need for this or other people wanting to write code to implement 
| that API, so if you really want to do this it is probably better as Rob 
| suggested to just link to the Cyrus code that manipulates it (and watch 
| for version skew between programs accessing the mail store).

One of the needs I have is to build a two-way mail store replica.  Either
node may be delivered to, and either node may be accessed by the user but
only one at a time.  The two nodes are topologically and geographically
far apart, and bandwidth between them is to be considered costly and thus
should be not much more than the cost of actually transferring content.
If mail arrives at one, it should be replicated to the other ASAP.  If
mail is deleted at one, it should be deleted from the other ASAP.  If
mail is moved around between folders unchanged, it should be moved the
same on the other without transferring content.  Now here is the big one:
If the two nodes are unreachable between each other, changes have to be
stored in a way they can be re-syncronized when reachability is again
established.  And this may involve some changes to both and some issues
(Continue reading)

OBATA Akio | 1 Feb 2003 02:21
Picon

Re: cyradm: Login failed: generic failure at ... Cyrus/IMAP/Admin.pm

On Fri, 31 Jan 2003 14:14:53 +0100
Dennis Leist <suse-programming <at> electro-mail.de> wrote:

> #> cyradm --user cyrus --auth login localhost
> IMAP Password:
>               Login failed: generic failure at 
> /usr/lib/perl/5.6.1/Cyrus/IMAP/Admin.pm line 114
> cyradm: cannot authenticate to server with login as cyrus
(snip)
> sasl_pwcheck_method: saslauthd

In this configuration, PLAIN and LOGIN authentications use
saslauthd instead of sasldb.
Are you running saslauthd? 

--

-- 
Happy Go Lucky!
OBATA Akio / obata <at> zit.to

John A. Tamplin | 1 Feb 2003 02:33
Favicon

Re: looking for Cyrus mail format documentation

Phil Howard wrote:

>One of the needs I have is to build a two-way mail store replica.  Either
>node may be delivered to, and either node may be accessed by the user but
>only one at a time.  The two nodes are topologically and geographically
>far apart, and bandwidth between them is to be considered costly and thus
>should be not much more than the cost of actually transferring content.
>If mail arrives at one, it should be replicated to the other ASAP.  If
>mail is deleted at one, it should be deleted from the other ASAP.  If
>mail is moved around between folders unchanged, it should be moved the
>same on the other without transferring content.  Now here is the big one:
>If the two nodes are unreachable between each other, changes have to be
>stored in a way they can be re-syncronized when reachability is again
>established.  And this may involve some changes to both and some issues
>that have to be dealt with as best as possible such as noting dates of
>changes (it can be assumed the two nodes are time syncronized).
>
>This is one of needs I have.
>
Then I would suggest a better way of doing that than trying to figure 
out what changes have happened by looking at low-level data structures 
would be to put proxies in front of Cyrus (LMTP, IMAP, and if you use it 
POP).  The proxies would pass the data on to the local Cyrus to do the 
action as well as contacting the other proxy to duplicate the work.  If 
the other proxy is not accessible, keep a log of the work that needs to 
be performed (but allowing disconnected operation when the other node is 
not truly down will likely lead to changes that can't be automatically 
resolved -- better would be to have 3, run two-phase commit and only 
commit if you get agreement of two, but that may not be practical) and 
do those changes when the other proxy comes back up.  The level of 
(Continue reading)

Phil Howard | 1 Feb 2003 05:36

Re: looking for Cyrus mail format documentation

On Fri, Jan 31, 2003 at 08:33:41PM -0500, John A. Tamplin wrote:

| Phil Howard wrote:
| 
| >One of the needs I have is to build a two-way mail store replica.  Either
| >node may be delivered to, and either node may be accessed by the user but
| >only one at a time.  The two nodes are topologically and geographically
| >far apart, and bandwidth between them is to be considered costly and thus
| >should be not much more than the cost of actually transferring content.
| >If mail arrives at one, it should be replicated to the other ASAP.  If
| >mail is deleted at one, it should be deleted from the other ASAP.  If
| >mail is moved around between folders unchanged, it should be moved the
| >same on the other without transferring content.  Now here is the big one:
| >If the two nodes are unreachable between each other, changes have to be
| >stored in a way they can be re-syncronized when reachability is again
| >established.  And this may involve some changes to both and some issues
| >that have to be dealt with as best as possible such as noting dates of
| >changes (it can be assumed the two nodes are time syncronized).
| >
| >This is one of needs I have.
| >
| Then I would suggest a better way of doing that than trying to figure 
| out what changes have happened by looking at low-level data structures 
| would be to put proxies in front of Cyrus (LMTP, IMAP, and if you use it 
| POP).  The proxies would pass the data on to the local Cyrus to do the 
| action as well as contacting the other proxy to duplicate the work.  If 
| the other proxy is not accessible, keep a log of the work that needs to 
| be performed (but allowing disconnected operation when the other node is 
| not truly down will likely lead to changes that can't be automatically 
| resolved -- better would be to have 3, run two-phase commit and only 
(Continue reading)

Phil Howard | 1 Feb 2003 14:10

2 more questions: domains and tags

I do not see any documentation on the website, nor in the FAQ,
about how this is handled.  The concern I have is that so many
mail systems of UNIX origin handle this poorly, so I want to
make sure I'm not heading down a dead end path.

1.  How does Cyrus-IMAP handle multiple domains on the same mail
    server?  In particular, bob <at> example.com and bob <at> example.net
    being totally different, must be different mailboxes, and
    must login distinctively, preferrably as "bob <at> example.com"
    and as "bob <at> example.net" respectively (not "bob1" and "bob2").

    Is this done so transparently with Cyrus-IMAP that it didn't
    even need mention?  Or is it not done at all?

    Also, is there a way to allow an administrative access that
    applies to just users of a specific domain?

2.  How does Cyrus-IMAP handle tagged email addresses?  What I
    mean are addresses with "-" (or in some configurations "+")
    appended to the LHS of the email address, followed by some
    arbitrary identifiers the user establishes.  Currently in
    my shell based email setup, a user can set up a .forward-foo
    file which specifies how the mail tagged with -foo is handled
    or where delivered.  If the .forward-foo files does not exist
    then it is just handled as if it was not tagged, by the
    "Delivered-To:" header still includes the tag.

    Will Cyrus-IMAP deliver these tagged addresses into different
    mailboxes, inboxes, or folders, if they exist?  Will it still
    deliver to the principle mailbox if not?  Or will it try to
(Continue reading)

David Brandt | 1 Feb 2003 15:35
Picon

Renaming user mailboxes

Hi,
im trying to figure out how to rename a user mailbox.
I know it supported by now, but i saw a patch on the mailing list for an 
older version. Before fighting with the code i want to ask here if 
theres a patch that fits into 2.1.11?

--

-- 
David 'esi' Brandt - wakka.de staff
david <at> wakka.de - irc://irc.wakka.de/#wakka - icq:13272332
http://www.wakka.de Get your wheep

Bryntez | 1 Feb 2003 16:06

Strange sieve problem....

Hi list..
I have trouble connecting to sieve. Everything else works fine.
I'm using RedHat 7.3. I've tried Simons rpms also, but the same error
occures. I'm using Cyrus Sasl 2.1.11 and Cyrus Imap 2.1.11.
The system is a "web-cyradm" based config with MySQL and Postfix.

saslauthd -a pam& are working fine against smtp, pop and imap.

im the "pam.d" dir, there's "imap", "pop", "sieve" and "smtp" with the
same content in them, pointing to "/lib/security/pam_mysql.so etc..."

When I telnet localhost sieve, I get:
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
"IMPLEMENTATION" "Cyrus timsieved v2.1.11"
"SASL" "LOGIN PLAIN"
"SIEVE" "fileinto reject envelope vacation imapflags notify subaddress
relational
regex"
OK

When trying to use sivtest with plain, this happens:
sivtest -u cyrus -a cyrus -m plain -p 2000 localhost
S: "IMPLEMENTATION" "Cyrus timsieved v2.1.11"
S: "SASL" "LOGIN PLAIN"
S: "SIEVE" "fileinto reject envelope vacation imapflags notify subaddress
relational regex"
S: OK
Please enter your password:
(Continue reading)

Rob Siemborski | 1 Feb 2003 17:34
Picon

Re: 2 more questions: domains and tags

On Sat, 1 Feb 2003, Phil Howard wrote:

>     Is this done so transparently with Cyrus-IMAP that it didn't
>     even need mention?  Or is it not done at all?

There are some unofficial hacks to do virtual domains in 2.1, there's
reasonable support for it in 2.2.

>     Will Cyrus-IMAP deliver these tagged addresses into different
>     mailboxes, inboxes, or folders, if they exist?  Will it still
>     deliver to the principle mailbox if not?  Or will it try to
>     create tha tagged folder if it does not exist?  Also, Is there
>     a way for the user to specify a forwarding address instead of
>     a local delivery?

A LHS of "foo+bar" will do roughly the following:

- run through a sieve script, if the script takes any action, that
happens.

- if a message is just "kept" (or there is no sieve script), then it will
attempt to file into user.foo.bar, if 'anyone' (or whoever the message is
authorized as) doesn't have the 'p' permission, this will fail.

- message is filed into the INBOX as a last resort.

-Rob

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Rob Siemborski * Andrew Systems Group * Cyert Hall 207 * 412-268-7456
(Continue reading)

Rob Siemborski | 1 Feb 2003 17:31
Picon

Re: looking for Cyrus mail format documentation

On Fri, 31 Jan 2003, Phil Howard wrote:

> | Of course replicating some things such as seen state will be quite
> | painful, and you may need to do some hacks to keep uids unique between
> | the machines.
>
> How does Cyrus manage uids?  I hope these are not uids in /etc/passwd.

No, they're the unique identifier numbers for each message.  I believe the
problem John was asking about is, what happens if you have, say, an APPEND
happen to a mailbox on both servers while they are not in communication
with eachother.

When they resync, each has a new message with the same unique identifier,
but different contents.  This isn't a situation that can be recoverd from
just be looking at the contents of the filesystem.

Doing replicated IMAP stores (espeically geographicly distanct ones) is
not an easy problem.

-Rob

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Rob Siemborski * Andrew Systems Group * Cyert Hall 207 * 412-268-7456
Research Systems Programmer * /usr/contributed Gatekeeper


Gmane