Bug#369882: cyrus-doc-2.2 upgrade issues

Ross Boylan ross at biostat.ucsf.edu
Fri Jun 16 22:46:11 UTC 2006


On Fri, 2006-06-16 at 18:43 -0300, Henrique de Moraes Holschuh wrote:
> On Fri, 16 Jun 2006, Ross Boylan wrote:

> > Are you referring to any files other than .sieve?
> > If .sieve in home directories is not compiled there is a performance
> > penalty, and possibly a late discovery of syntax errors penalty, but I
> > don't see how this would lead to anything terrible.
> 
> Well, if CMU changed Cyrus in 2.2 to deal with that extra external
> interface, no, there is no harm.  As I said, I am just not aware of it.
By "external interfaces" I take it you mean ways for cyrus to use sieve
scripts in user home directories, outside of the sealed server.  Right?
I'm running Debian cyrus 2.1 with that option enabled now:

# If enabled, cyrdeliver will look for Sieve scripts in user's home
# directories: ~user/.sieve.
sieveusehomedir: true

So I don't think it's new.

> > This sounds as if it involves messing with stuff in directories that
> > cyrus manages.  I think that's what one is doing if following the
> 
> Yes.  Which is why I consider placing sieve files anywhere else than inside
> Cyrus' spool/admin directories a bad mistake.  But as I said, it might well
> have nowadays an extra external interface (user .sieve files?), in which
> case you are not messing with internal stuff.  I am just not aware there is
> such a thing.
OK.  So it sounds as if my interpretation might be right:
1) if sieveusehomedir is true then scripts are not pre-compiled, and no
action is necessary on upgrade (hmm, I'm not sure if this option
disables sieve scripts on the server, or just gives ~/.sieve first crack
at filtering.  If the latter, one would still need to proceed to the
next step).
2) if there are sieve scripts on the "sealed" server then one must
compile them using the instructions and tools provided upstream.
> 
> > The phrase "(outside of home directories)" in the upstream advice is
> > obscure to me, but I think it means that the operation works on the
> > scripts in the server, not in the home directories.
> 
> Probably, in which case it really needs to be clarified :-)
> 
> > Does this mean you recommend against enabling sieveusehomedir, against
> > doing the command line starting with masssievec above, or something
> > else?
> 
> It means that, UNLESS Cyrus now has an external interface for "sieve files
> on user homes *where they can be freely modified by the user*", it is an
> extremely bad idea to have those files anywhere outside the Cyrus black
> box.
> 
My reading is that cyrus does not implement the extremeley bad idea, so
things are OK.  But what do I know?

Thanks for all the info.

To recap my best guess at how to upgrade 2.1->2.2 on debian
1) The main databases used by cyrus either have not changed in format,
or are upgraded automatically (that would be good to check.  Concretely,
do 2.1 and 2.2 use the same bdb version?  If not, how do they cope with
that?).  This part of the upgrade differs from the upstream upgrade
procedure.
2) sieve scripts on the server need to be compiled, as described
upstream
3) sieve scripts in user home directories can be left as is.
4) there may be some additional tweaks to the configuration file that
are necessary.  Some elements have been renamed, and admins and
lmtp_admins no longer combine.





More information about the Pkg-Cyrus-imapd-Debian-devel mailing list