A problem with sieve-vacation

2001-05-18 Thread Dietmar Rahlfs

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

2001-05-18 Thread Ken Murchison

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.

2001-05-18 Thread Chris Dunlop

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++;