Christian Schulte wrote:
Bob Tito wrote:

Christian Schulte wrote:

Bob Tito wrote:



Does the attached patch fix the problem ? At least it was reproduceable now and the patch fixed it here.



Hi Christian,

For starters it is good the hear that you are able to reproduce the problem... to finish it.. *IT WORKS* Thanks a lot!!

But... bacause of the limited amount of people with this problem is very specific to my config ?


Hi,

its a general problem with unixhierarchysep and sieve fileinto for users with dots in theire names. The cause I did not notice it earlier was that I never really updated from 2.2.3 to 2.2.4 or 2.2.5. Starting with 2.2.3 I made a link from /usr/local/cyrus22 -> /usr/local/cyrus2.2.3 so that I do not have to touch the configfiles for any updates but then just forgot to update the link to /usr/local/cyrus2.2.4 and /usr/local/cyrus2.2.5. Updating cyrus mainly is very early in the morning. That could explain that :-)
The patch looks to me more like a workaround and just fixes the problem. Maybe Ken or Rob will come up with a much more elegant solution.

Please try this patch instead. I don't think we need to pass the namespace to run_sieve() as an additional argument since its already part of sieve_msgdata_t.



*** lmtp_sieve.c.~1.7.~ 2004-05-31 19:18:23.000000000 -0400 --- lmtp_sieve.c 2004-05-31 19:18:55.000000000 -0400 *************** *** 830,835 **** --- 830,836 ---- script_data_t *sdata = NULL; sieve_bytecode_t *bc = NULL; char userbuf[MAX_MAILBOX_NAME+1]; + char authuserbuf[MAX_MAILBOX_NAME+1];

        sdata = (script_data_t *) xmalloc(sizeof(script_data_t));

***************
*** 838,846 ****
            strlcat(userbuf, "@", sizeof(userbuf));
            strlcat(userbuf, domain, sizeof(userbuf));
        }
        sdata->username = userbuf;
        sdata->mailboxname = mailbox;
!       sdata->authstate = auth_newstate(userbuf);

        r = sieve_script_load(fname, &bc);
        if (r == SIEVE_OK) {
--- 839,852 ----
            strlcat(userbuf, "@", sizeof(userbuf));
            strlcat(userbuf, domain, sizeof(userbuf));
        }
+       strlcpy(authuserbuf, userbuf, sizeof(authuserbuf));
+       if (config_getswitch(IMAPOPT_UNIXHIERARCHYSEP)) {
+           mboxname_hiersep_toexternal(msgdata->namespace, authuserbuf,
+                                       domain ? strcspn(authuserbuf, "@") : 0);
+       }
        sdata->username = userbuf;
        sdata->mailboxname = mailbox;
!       sdata->authstate = auth_newstate(authuserbuf);

        r = sieve_script_load(fname, &bc);
        if (r == SIEVE_OK) {

--
Kenneth Murchison     Oceana Matrix Ltd.
Software Engineer     21 Princeton Place
716-662-8973 x26      Orchard Park, NY 14127
--PGP Public Key--    http://www.oceana.com/~ken/ksm.pgp
---
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

Reply via email to