]> code.citadel.org Git - citadel.git/blobdiff - citadel/modules/sieve/serv_sieve.c
* Applied dtx patch for receiving second level headers in Sieve module
[citadel.git] / citadel / modules / sieve / serv_sieve.c
index 2551a600efd5f1c39b0f0fdd9c9d9437e1701eba..6c793c0df9a97dc33b9569195b23e92a468708a9 100644 (file)
@@ -518,7 +518,10 @@ void sieve_do_msg(long msgnum, void *userdata) {
 
        CtdlLogPrintf(CTDL_DEBUG, "Performing sieve processing on msg <%ld>\n", msgnum);
 
-       msg = CtdlFetchMessage(msgnum, 0);
+       /*
+        * Make sure you include message body so you can get those second-level headers ;)
+        */
+       msg = CtdlFetchMessage(msgnum, 1);
        if (msg == NULL) return;
 
        /*
@@ -535,12 +538,6 @@ void sieve_do_msg(long msgnum, void *userdata) {
        CC->redirect_len = 0;
        CC->redirect_alloc = 0;
 
-       if (u == NULL)
-       {
-               CtdlLogPrintf(CTDL_EMERG, "userdata got clobbz0red!  aaaaaaaaghhh!!!!\n");
-               abort();
-       }
-
        /*
         * libSieve clobbers the stack if it encounters badly formed
         * headers.  Sanitize our headers by stripping nonprintable
@@ -633,32 +630,14 @@ void sieve_do_msg(long msgnum, void *userdata) {
 
        CtdlFreeMessage(msg);
 
-       if (u == NULL)
-       {
-               CtdlLogPrintf(CTDL_EMERG, "userdata got clobbz0red!  aaaaaaaaghhh!!!!\n");
-               abort();
-       }
-
        sieve2_setvalue_string(sieve2_context, "allheaders", my.rfc822headers);
        
-       if (u == NULL)
-       {
-               CtdlLogPrintf(CTDL_EMERG, "userdata got clobbz0red!  aaaaaaaaghhh!!!!\n");
-               abort();
-       }
-
        CtdlLogPrintf(CTDL_DEBUG, "Calling sieve2_execute()\n");
        res = sieve2_execute(sieve2_context, &my);
        if (res != SIEVE2_OK) {
                CtdlLogPrintf(CTDL_CRIT, "sieve2_execute() returned %d: %s\n", res, sieve2_errstr(res));
        }
 
-       if (u == NULL)
-       {
-               CtdlLogPrintf(CTDL_EMERG, "userdata got clobbz0red!  aaaaaaaaghhh!!!!\n");
-               abort();
-       }
-
        free(my.rfc822headers);
        my.rfc822headers = NULL;
 
@@ -671,12 +650,6 @@ void sieve_do_msg(long msgnum, void *userdata) {
                CtdlDeleteMessages(CC->room.QRname, &msgnum, 1, "");
        }
 
-       if (u == NULL)
-       {
-               CtdlLogPrintf(CTDL_EMERG, "userdata got clobbz0red!  aaaaaaaaghhh!!!!\n");
-               abort();
-       }
-
        CtdlLogPrintf(CTDL_DEBUG, "Completed sieve processing on msg <%ld>\n", msgnum);
        u->lastproc = msgnum;