I'm in the process of migrating from MessagingDirect's SMS software to 
Cyrus. I need to stop off at 1.6.24 on the way to my goal of getting to 
version 2.x

Everything was going along very well, until I ran into a problem with 
pruning the delivery database (deliver -E).

On Solaris platforms which don't have DB available, deliver -E fails to 
prune anything, ever. The problem starts in deliver.c, in the 
_prune_actual_db routine. In it, there's a call to...

checkdelivered("", 0, "", 0);

(only called when DB not available)

Within checkdelivered, a call is then made to _get_db_name which will 
then end up with it (_get_db_name) always returning .../deliverdb/deliver-q
to checkdelivered (which in itself is disastrous if you actually have real 
entries in the "q" database).

The other problem within checkdelivered is the static "initialized" 
variable. This now seems not to take account of the multiple databases 
available with 1.6.24 (compared with the earlier 1.4 which I used to run), 
so it's not a trivial hack (for me) to pass over the "c" variable from 
prunedelivered to _prune_actual_db and then to checkdelivered.

While I now know what the problem is, and could get around it by installing
DB on my systems, I'm concerned that these being very busy systems, 
Sleepycat's warning that...

"Opening a database in Berkeley DB version 2 is a much heavier-weight 
operation than it was in Berkeley DB 1.85. Therefore, if your historic 
applications were written to open a database, perform a single operation, 
and close the database, you may observe performance degradation."

will be bad news for my systems.

(Disregarding the problems of getting 1.6.24 to build with DB - under 
Solaris!)

The alternative is not to run with duplicate delivery suppression, but 
then that would mean not being able to use SIEVE (and would not be popular 
with our users).


Has anyone, by any chance, got any kind of workaround/fix for this?

Cheers,

Richard Hopkins,
Information Services,
Computer Centre,
University of Bristol,
Bristol, BS8 1UD, UK

Tel +44 117 928 7859
Fax +44 117 929 1576

RFC-822: [EMAIL PROTECTED]

Reply via email to