A problem with sieve-vacation
Hello, although I read in the mailing list I could not discover what I configured wrong. Reject or fileinto is no problem, only vacation. I know this topic has been discussed a few times, but I don´t get away with this problem alone. Thanks - Dietmar Rahlfs P.S.: If I forgot to write necessary information, please inform me. == My setting: sendmail version 8.11.2, cyrus-imapd 2.0.13. Linux kernel 2.2.19. Immediately before I edited /usr/sieve/r/rahlfs/default to change the vacation text. Then I sent an e-mail from the host felix to lrp where the cyrus IMAP cought it. /var/log/messages: May 18 09:29:46 lrp master[27712]: about to exec /usr/cyrus/bin/lmtpd May 18 09:29:46 lrp service-lmtpunix[27712]: executed May 18 09:29:46 lrp lmtpd[27712]: accepted connection May 18 09:29:46 lrp lmtpd[27712]: lmtp connection preauth'd as postman May 18 09:29:47 lrp master[75]: process 27712 exited, status 0 /var/log/mail May 18 09:29:46 lrp sendmail[27708]: f4I7TkX27708: from=[EMAIL PROTECTED], size=312, class=0, nrcpts=1, msgid=[EMAIL PROTECTED], proto=ESMTP, daemon=MTA, relay=Felix.rz.fh-ulm.de [141.59.42.14] May 18 09:29:46 lrp sendmail[27710]: f4I7TkX27708: to=[EMAIL PROTECTED], delay=00:00:00, xdelay=00:00:00, mailer=cyrus, pri=120312, relay=cyrus, dsn=2.0.0, stat=Sent Mail file under /var/spool/imap/user: Return-Path: [EMAIL PROTECTED] X-Sieve: cmu-sieve 2.0 Return-Path: [EMAIL PROTECTED] Received: from felix.rz.fh-ulm.de (Felix.rz.fh-ulm.de [141.59.42.14]) by lrp.rz.fh-ulm.de (8.11.2/8.11.2) with ESMTP id f4I7TkX27708 for [EMAIL PROTECTED]; Fri, 18 May 2001 09:29:46 +0200 Received: (from root@localhost) by felix.rz.fh-ulm.de (8.9.3/8.9.3) id JAA00969 for [EMAIL PROTECTED]; Fri, 18 May 2001 09:29:47 +0200 Date: Fri, 18 May 2001 09:29:47 +0200 From: [EMAIL PROTECTED] Message-Id: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: zzz zzz /usr/sieve/r/rahlfs/default: require [vacation,reject,fileinto]; vacation testing3; In /etc/sendmail.cf (also tested without the P flag): Mcyrus, P=/usr/cyrus/bin/deliver, F=PlsDFMnqA5@/:SmXz, S=EnvFromL, R=EnvToL/HdrToL, U=cyrus:mail, T=DNS/RFC822/X-Unix, A=deliver -e -l Mcyrusbb, P=/usr/cyrus/bin/deliver, F=PlsDFMnu, S=EnvFromL, R=EnvToL/HdrToL, U=cyrus:mail, T=DNS/RFC822/X-Unix, A=deliver -e -l sendmail.mc: divert(0)dnl OSTYPE(linux) DOMAIN(generic) FEATURE(`always_add_domain') FEATURE(`nouucp',`reject') define(`confLOCAL_MAILER',`cyrus')dnl define(`confCW_FILE',`/etc/mail/local-host-names')dnl define(`confBIND_OPTS',`-DNSRCH -DEFNAMES')dnl define(`CYRUS_MAILER_FLAGS', `A5@/:SmXz')dnl define(`CYRUS_MAILER_ARGS', `deliver -e -l')dnl define(`CYRUS_BB_MAILER_ARGS', `deliver -e -l')dnl define(`confMAX_MESSAGE_SIZE',`2500')dnl MAILER(local) MAILER(smtp) MAILER(cyrus) LOCAL_RULE_0 Rbb + $+ @ $=w . $#cyrusbb $: $1
Re: A problem with sieve-vacation
Try changing your script to: require [vacation,reject,fileinto]; vacation :addresses [EMAIL PROTECTED] testing3; Dietmar Rahlfs wrote: Hello, although I read in the mailing list I could not discover what I configured wrong. Reject or fileinto is no problem, only vacation. I know this topic has been discussed a few times, but I don´t get away with this problem alone. Thanks - Dietmar Rahlfs P.S.: If I forgot to write necessary information, please inform me. == My setting: sendmail version 8.11.2, cyrus-imapd 2.0.13. Linux kernel 2.2.19. Immediately before I edited /usr/sieve/r/rahlfs/default to change the vacation text. Then I sent an e-mail from the host felix to lrp where the cyrus IMAP cought it. /var/log/messages: May 18 09:29:46 lrp master[27712]: about to exec /usr/cyrus/bin/lmtpd May 18 09:29:46 lrp service-lmtpunix[27712]: executed May 18 09:29:46 lrp lmtpd[27712]: accepted connection May 18 09:29:46 lrp lmtpd[27712]: lmtp connection preauth'd as postman May 18 09:29:47 lrp master[75]: process 27712 exited, status 0 /var/log/mail May 18 09:29:46 lrp sendmail[27708]: f4I7TkX27708: from=[EMAIL PROTECTED], size=312, class=0, nrcpts=1, msgid=[EMAIL PROTECTED], proto=ESMTP, daemon=MTA, relay=Felix.rz.fh-ulm.de [141.59.42.14] May 18 09:29:46 lrp sendmail[27710]: f4I7TkX27708: to=[EMAIL PROTECTED], delay=00:00:00, xdelay=00:00:00, mailer=cyrus, pri=120312, relay=cyrus, dsn=2.0.0, stat=Sent Mail file under /var/spool/imap/user: Return-Path: [EMAIL PROTECTED] X-Sieve: cmu-sieve 2.0 Return-Path: [EMAIL PROTECTED] Received: from felix.rz.fh-ulm.de (Felix.rz.fh-ulm.de [141.59.42.14]) by lrp.rz.fh-ulm.de (8.11.2/8.11.2) with ESMTP id f4I7TkX27708 for [EMAIL PROTECTED]; Fri, 18 May 2001 09:29:46 +0200 Received: (from root@localhost) by felix.rz.fh-ulm.de (8.9.3/8.9.3) id JAA00969 for [EMAIL PROTECTED]; Fri, 18 May 2001 09:29:47 +0200 Date: Fri, 18 May 2001 09:29:47 +0200 From: [EMAIL PROTECTED] Message-Id: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: zzz zzz /usr/sieve/r/rahlfs/default: require [vacation,reject,fileinto]; vacation testing3; In /etc/sendmail.cf (also tested without the P flag): Mcyrus, P=/usr/cyrus/bin/deliver, F=PlsDFMnqA5@/:SmXz, S=EnvFromL, R=EnvToL/HdrToL, U=cyrus:mail, T=DNS/RFC822/X-Unix, A=deliver -e -l Mcyrusbb, P=/usr/cyrus/bin/deliver, F=PlsDFMnu, S=EnvFromL, R=EnvToL/HdrToL, U=cyrus:mail, T=DNS/RFC822/X-Unix, A=deliver -e -l sendmail.mc: divert(0)dnl OSTYPE(linux) DOMAIN(generic) FEATURE(`always_add_domain') FEATURE(`nouucp',`reject') define(`confLOCAL_MAILER',`cyrus')dnl define(`confCW_FILE',`/etc/mail/local-host-names')dnl define(`confBIND_OPTS',`-DNSRCH -DEFNAMES')dnl define(`CYRUS_MAILER_FLAGS', `A5@/:SmXz')dnl define(`CYRUS_MAILER_ARGS', `deliver -e -l')dnl define(`CYRUS_BB_MAILER_ARGS', `deliver -e -l')dnl define(`confMAX_MESSAGE_SIZE',`2500')dnl MAILER(local) MAILER(smtp) MAILER(cyrus) LOCAL_RULE_0 Rbb + $+ @ $=w . $#cyrusbb $: $1 -- 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
Re: Patch to change dots to slashes.
This is a modification of my earlier patch to enable changing the mailbox delimiter to a different character (eg. a slash), which was based almost entirely on David Fuchs' original patch to change the delimiter to a slash. This patch fixes a problem where the changed delimiter wasn't recognized in patten searches (eg. LSUB %). The actual change from the previous patches is immediately below, but I'm including the full patch (including this latest fix) at the end of this message for completeness. --- cyrus-imapd-2.0.12/lib/glob.c Thu Dec 21 09:53:49 2000 +++ cyrus-imapd-2.0.12/lib/glob.c Thu May 17 18:13:21 2001 @@ -80,7 +80,7 @@ g = (glob *) fs_get(sizeof (glob) + slen + strlen(str) + 1); if (g != 0) { strcpy(g-inbox, inbox); - g-sep_char = '.'; + g-sep_char = DELIMITER_CHAR; dst = g-str; /* if we're doing a substring match, put a '*' prefix (1) */ if (flags GLOB_SUBSTRING) { I haven't had time yet to see how this patch applies to the recently release cyrus-imapd-2.0.13. Cheers, Chris, OnTheNet --- Full patch with original note This is a patch to enable changing the mailbox delimiter to an different character, such as a slash. This patch is mostly a modified version of David Fuchs' original patch to change the dot delimiter to a slash. The major differences are: o You can change the delimiter to any character (within reason!) by changing two #defines in imap/mailbox.h: #define DELIMITER_CHAR '/' #define DELIMITER_STR / o It adds some sanity checking for mailbox names. In particular it explicity disallows mailbox names of cyrus.cache, cyrus.index etc., and explicitly disallows patterns like './' (which includes '../'). See badmboxpatterns in imap/mboxname.c. o There are one or two additional places over David's patch where I think the delimiter needs to be changed. Note: this patch has not yet seen extensive use in a high traffic environment, so... Buyer Beware! One thing it might be nice to see, but I haven't had the time to implement, is setting the delimiter character using the configure script. Cheers, Chris, OnTheNet diff -u -r cyrus-imapd-2.0.12/imap/acapmbox.c cyrus-imapd-2.0.12/imap/acapmbox.c --- cyrus-imapd-2.0.12/imap/acapmbox.c Sat Feb 17 05:54:43 2001 +++ cyrus-imapd-2.0.12/imap/acapmbox.c Thu Apr 12 17:26:16 2001 @@ -93,12 +93,12 @@ const char *server, const char *name) { if (!server) server = config_servername; -if (!strncmp(name, user., 5)) { +if (!strncmp(name, user DELIMITER_STR, 5)) { char *p; /* user+detail */ strcpy(postaddr, name + 5); - p = strchr(postaddr, '.'); + p = strchr(postaddr, DELIMITER_CHAR); if (p) *p = '+'; strcat(postaddr, @); strcat(postaddr, server); @@ -243,9 +243,11 @@ /* needs to convert from mUTF7 to UTF-8 */ snprintf(ret, MAX_MAILBOX_PATH, %s/%s, global_dataset, mailbox_name); +#if DELIMITER_CHAR != '/' for (j = strlen(global_dataset); ret[j] != '\0'; j++) { - if (ret[j] == '.') ret[j] = '/'; + if (ret[j] == DELIMITER_CHAR) ret[j] = '/'; } +#endif return 0; } @@ -266,9 +268,11 @@ } strcpy(ret, entryname + gdlen + 1); +#if DELIMITER_CHAR != '/' for (j = 0; ret[j] != '\0'; j++) { - if (ret[j] == '/') ret[j] = '.'; + if (ret[j] == '/') ret[j] = DELIMITER_CHAR; } +#endif return 0; } diff -u -r cyrus-imapd-2.0.12/imap/arbitron.c cyrus-imapd-2.0.12/imap/arbitron.c --- cyrus-imapd-2.0.12/imap/arbitron.c Wed May 24 06:52:12 2000 +++ cyrus-imapd-2.0.12/imap/arbitron.c Thu Apr 12 13:40:53 2001 @@ -162,10 +162,10 @@ int useridlen = tab - line; /* Don't report users reading their own private mailboxes */ -if (!strncasecmp(arbitronargs-name, user., 5) - !memchr(line, '.', useridlen) +if (!strncasecmp(arbitronargs-name, user DELIMITER_STR, 5) + !memchr(line, DELIMITER_CHAR, useridlen) !strncasecmp(arbitronargs-name+5, line, useridlen) - (arbitronargs-name[5+useridlen] == '.' || + (arbitronargs-name[5+useridlen] == DELIMITER_CHAR || arbitronargs-name[5+useridlen] == '\0')) { return 0; } diff -u -r cyrus-imapd-2.0.12/imap/duplicate.c cyrus-imapd-2.0.12/imap/duplicate.c --- cyrus-imapd-2.0.12/imap/duplicate.c Sat Jan 27 13:05:52 2001 +++ cyrus-imapd-2.0.12/imap/duplicate.c Thu Apr 12 15:08:49 2001 @@ -75,6 +75,7 @@ #include imapconf.h #include exitcodes.h #include xmalloc.h +#include mailbox.h #include duplicate.h @@ -160,11 +161,11 @@ char *idx; char c; -idx = strchr(mbox,'.'); /* skip past user. */ -if (idx == NULL) { /* no '.' so just use mbox */ +idx = strchr(mbox, DELIMITER_CHAR); /* skip past user. */ +if (idx == NULL) { /* no DELIMITER so just use mbox */ idx = mbox; } else { - idx++;