Subject: Re: Progressing various sieve drafts

From: [email-masked]
Date: Mon, 19 Aug 2002 19:19:33 -0700 (PDT)

> Nigel Swinson wrote:
> >
> > > Folks, we now have a bunch of sieve drafts on the table. Is it time to
> > > start some of them through the standards process? If so, which ones?
> >
> > I'd like to see the regex draft through to a standard.  Very useful and
> > don't think it's changed very much recently.  Ken?
> >
> > http://search.ietf.org/internet-drafts/draft-murchison-sieve-regex-06.txt

> Most of the changes have been editorial.  I think in order for it do get
> through the standards process we will probably need to do something
> about internationalization/localization (unless Ned thinks otherwise):

> 0.3.   Open Issues

>     The major open issue with this draft is what to do, if anything,
>     about localization/internationalization.  Are [POSIX.2] collating
>     sequences and character equivalents sufficient?

POSIX regexp is awkward in that it is locale based, and we really don't want
that. OTOH, it is clearly the definition of choice for regexps. I think the way
this is handled in the TCL regexp package is the right way to go: In that case
regexp always operates in the "Unicode" locale. If we want to do fancier things
with normalization and such we should do it via stringprep and tie it in with a
comparator.

Does POSIX.2 actually define additional collating sequences or any
character equivalents? If not, I think simply stating that this has to
operate in the "Unicode" locale is the way to go.

				Ned

Date: Mon, 19 Aug 2002 19:19:33 -0700 (PDT)
From: [email-masked]
Subject: Re: Progressing various sieve drafts
To: Ken Murchison <[email-masked]>
Cc: [email-masked]
Sender: [email-masked]

> Nigel Swinson wrote:
> >
> > > Folks, we now have a bunch of sieve drafts on the table. Is it time to
> > > start some of them through the standards process? If so, which ones?
> >
> > I'd like to see the regex draft through to a standard.  Very useful and
> > don't think it's changed very much recently.  Ken?
> >
> > http://search.ietf.org/internet-drafts/draft-murchison-sieve-regex-06.txt

> Most of the changes have been editorial.  I think in order for it do get
> through the standards process we will probably need to do something
> about internationalization/localization (unless Ned thinks otherwise):

> 0.3.   Open Issues

>     The major open issue with this draft is what to do, if anything,
>     about localization/internationalization.  Are [POSIX.2] collating
>     sequences and character equivalents sufficient?

POSIX regexp is awkward in that it is locale based, and we really don't want
that. OTOH, it is clearly the definition of choice for regexps. I think the way
this is handled in the TCL regexp package is the right way to go: In that case
regexp always operates in the "Unicode" locale. If we want to do fancier things
with normalization and such we should do it via stringprep and tie it in with a
comparator.

Does POSIX.2 actually define additional collating sequences or any
character equivalents? If not, I think simply stating that this has to
operate in the "Unicode" locale is the way to go.

				Ned

Subject: Re: Error in rfc3028? Only one elsif allowed per if?
From: Tim Showalter <[email-masked]>
To: Marc Mutz <[email-masked]>
Cc: [email-masked]
Date: 12 Aug 2002 14:21:52 -0700
Sender: [email-masked]

I think the intent is clear (i.e., same as perl or Bourne shell), but
the text is murky at best.  I'm not sure I want to defend the semantics
so that we get the right meaning--it's not worth it and I might lose.
:-)

I'll try to fix it in the next iteration.  Unfortunately since
if/elsif/else has been abstracted out of the grammar, the usual ways of
expressing them are not available.

If the intent isn't clear, you can have exactly one if clause, zero or
more elsif clauses, and zero or one else clause, in that order.

That is, If MAY be followed by an elsif or else clause.  Elsif MAY be
followed by an elsif or else clause.  Elsif MUST follow an elsif or if.
Else MUST follow an elsif or if.

Tim

From: "Bart Schaefer" <[email-masked]>
Date: Mon, 12 Aug 2002 00:40:08 +0000
Comments: In reply to Marc Mutz <[email-masked]> "Re: Error in rfc3028? Only one elsif allowed per if?" (Aug 12,  1:04am)
To: Marc Mutz <[email-masked]>
Subject: Re: Error in rfc3028? Only one elsif allowed per if?
Cc: [email-masked]
Sender: [email-masked]

On Aug 12,  1:04am, Marc Mutz wrote:
} Subject: Re: Error in rfc3028? Only one elsif allowed per if?
}
} On Sunday 11 August 2002 17:05, Simon Josefsson wrote:
} <snip>
} > > an elsif MUST only follow an if, and an else MUST follow only
} > > either an ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
} > >    if or an elsif.
} >
} > It says "an elsif", not "one elsif" -- having several elsif's per if
} > seems fine, as they "follow" the if in some sense.
} 
} If I follow that reasoning, then there are also multiple else's allowed 
} after a single if ;-) - the formulation is the same for both elsif and 
} else.

No:

"only follow" --> must not appear before something

"follow only" --> must not appear after any other thing

-- 
Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com

Zsh: http://www.zsh.org | PHPerl Project: http://phperl.sourceforge.net   

From: Marc Mutz <[email-masked]>
Organization: KDE
To: Simon Josefsson <[email-masked]>
Subject: Re: Error in rfc3028? Only one elsif allowed per if?
Date: Mon, 12 Aug 2002 01:04:54 +0200
Cc: [email-masked]
Content-Description: clearsigned data
Sender: [email-masked]

On Sunday 11 August 2002 17:05, Simon Josefsson wrote:
<snip>
> >    There are three pieces to if: "if", "elsif", and "else".  Each
> > is actually a separate command in terms of the grammar.  However,
> > an elsif MUST only follow an if, and an else MUST follow only
> > either an ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >    if or an elsif.  An error occurs if these conditions are not
> > met.
> >
> > Error or intentional?
>
> It says "an elsif", not "one elsif" -- having several elsif's per if
> seems fine, as they "follow" the if in some sense.

If I follow that reasoning, then there are also multiple else's allowed 
after a single if ;-) - the formulation is the same for both elsif and 
else.

>  "an elsif MUST
> only directly follow an if or elsif" is more clear though, the word
> "follow" is not strictly defined in the language, I think.

- -> [email-masked]?subject=errata%20rfc3028
?

Marc

BTW: Do you intend to make the capabilities available in the metadata 
map for the managesieve slave you wrote for KDE? Or shall I do that?

- -- 
Mutig warf sich die kleine Überwachungskamera zwischen Täter Opfer!
                                        --Rena Tangens / FoeBuD e.V.

To: Marc Mutz <[email-masked]>
Cc: [email-masked]
Subject: Re: Error in rfc3028? Only one elsif allowed per if?
From: Simon Josefsson <[email-masked]>
Date: Sun, 11 Aug 2002 17:05:56 +0200
Lines: 21
Sender: [email-masked]

Marc Mutz <[email-masked]> writes:

> Hi!
>
> I just stumbled across this one:
>
> rfc3028:
> 3.1.     Control Structure If
>
>    There are three pieces to if: "if", "elsif", and "else".  Each is
>    actually a separate command in terms of the grammar.  However, an
>    elsif MUST only follow an if, and an else MUST follow only either an
>    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>    if or an elsif.  An error occurs if these conditions are not met.
>
> Error or intentional?

It says "an elsif", not "one elsif" -- having several elsif's per if
seems fine, as they "follow" the if in some sense.  "an elsif MUST
only directly follow an if or elsif" is more clear though, the word
"follow" is not strictly defined in the language, I think.

From: Marc Mutz <[email-masked]>
Organization: KDE
To: [email-masked]
Subject: Error in rfc3028? Only one elsif allowed per if?
Date: Sun, 11 Aug 2002 15:51:12 +0200
Content-Description: clearsigned data
Sender: [email-masked]

Hi!

I just stumbled across this one:

rfc3028:
3.1.     Control Structure If

   There are three pieces to if: "if", "elsif", and "else".  Each is
   actually a separate command in terms of the grammar.  However, an
   elsif MUST only follow an if, and an else MUST follow only either an
   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   if or an elsif.  An error occurs if these conditions are not met.

Error or intentional?

Marc

- -- 
If free-software authors lose the right to disclaim all warranties and
find themselves getting sued over the performance of the programs
they've written, they'll stop contributing free software to the world.
 -- Bruce Perens: Open Sources: Voices from the Open Source Revolution

Date: Fri, 02 Aug 2002 09:10:23 -0700 (PDT)
From: [email-masked]
Subject: Re: sieve filter file size limitations
To: patrick conlin <[email-masked]>
Cc: [email-masked]
Sender: [email-masked]

> I am wondering if there are any filter file size limitations inherent in the
> sieve spec. I am using sieve to create channel-level junk mail filters for
> the company's mail server, and have lately run into a problem. If I add any
> more entries to the file, all mail delivery fails, and I get messages from
> the postmaster about "Status: 5.0.0 (Mailbox filter evaluation error)." I'm
> running the iplanet messaging server 5.1

You really shouldn't be asking questions about a particular company's
implementation of sieve here. This list is for discussion of the sieve
language. I would suggest that you take this conversation to the
[email-masked] list, which is a general discussion list for iMS.

Be that as it may, the sieve specification is quite clear about this: While it
does not impose any limits of its own, the specification says that
Implementations are free to impose limits on the size of certain constructs. So
this is not a violation of the sieve specification. 

				Ned

Date: Fri, 02 Aug 2002 11:58:26 -0400
From: patrick conlin <[email-masked]>
Subject: sieve filter file size limitations
To: [email-masked]
Sender: [email-masked]

> This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

--Boundary_(ID_H5iM1ZasjtEatbNyQb10iw)
Content-type: text/plain; charset=US-ASCII
Content-transfer-encoding: 7BIT

Hello all,

I am wondering if there are any filter file size limitations inherent in the
sieve spec. I am using sieve to create channel-level junk mail filters for
the company's mail server, and have lately run into a problem. If I add any
more entries to the file, all mail delivery fails, and I get messages from
the postmaster about "Status: 5.0.0 (Mailbox filter evaluation error)." I'm
running the iplanet messaging server 5.1

I have attached a copy of the filter file for your perusal.

Any help would be appreciated. If this is out of scope for this list, I
apologize.

-=p=-

--Boundary_(ID_H5iM1ZasjtEatbNyQb10iw)
Content-type: text/plain; name=spamcatcher.filter; x-mac-creator=4C4D414E;
 x-mac-type=54455854
Content-transfer-encoding: 7BIT
Content-disposition: attachment; filename=spamcatcher.filter

# simple sieve mail filter for channel-level use on iplanet messaging server

# created by patrick conlin 04.12.02

# last modified 07.17.02

## make sure the email hasn't already been redirected

if header :contains "Received" "ORCPT" {
keep;}

## if the From field matches domains we like, keep it

elsif address :domain :contains "From" [
	".edu",
	"activetradermag.com",
	"adstockphotos.com",
	"afdesigns.com",
	"aiga.org",
	"aigany.org",
	"bendcable.com",
	"bloomberg.com",
	"bn.com",
	"borisart.com",
	"brokeland.com",
	"cantv.net",
	"career-intelligence.com",
	"countingdown.com",
	"deltek.com",
	"desertdolphin.com",
	"dowjones.com",
	"drugstore.com",
	"ediets.com",
	"eonline.com",
	"evergreeninvestments.com",
	"execpay.com",
	"farber.net",
	"fmr.com",
	"fontbureau.com",
	"forbesdigital.com",
	"foxpath.com",
	"furniturefan.com",
	"gap.com",
	"gecapital.com",
	"gettyimages.com",
	"gtnet.com",
	"heilmanphoto.com",
	"iinews.com",
	"interlocken.org",
	"internet.com",
	"intrepidmuseum.org",
	"ipcress.org",
	"kwcorp.com",
	"lyntongardiner.com",
	"mac.com",
	"marketingsherpa.com",
	"marketwatchmail.com",
	"marylandsquare.com",
	"mindspring.com",
	"nycares.org",
	"nytimes.com",
	"petsmart.com",
	"pillsburywinthrop.com",
	"portfolioview.com",
	"reubenbutchart.com",
	"rhinoskin.com",
	"smartmarkt.com",
	"smartmoney.com",
	"sonicrecruit.com",
	"theuseful.com",
	"villagevoice.com",
	"wbinews.com",
	"writershouse.com",
	"xonetwork.com"] {
keep;}

## if the subject line contains text that we like, keep it

elsif header :contains "subject" [
	"nywici",
	"wwwac"] {
keep;}

## if the From field matches the following addresses, keep it

elsif address :all :contains "From" [
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",	# julie kim
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",		# mara strasberg
	"[email-masked]",		# pia cantoni
	"[email-masked]",
	"[email-masked]",	# julie kim
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",		# julie kim
	"[email-masked]",		# julie kim
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",		# jeanne levin
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",		# john milly
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",		# rafael weil
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",		# mara strasberg
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",		# julie kim
	"[email-masked]",
	"[email-masked]",
	"[email-masked]",
	"[email-masked]"] {
keep;}

## if the From field matches suspicious domains, redirect to [email-masked]

elsif address :domain :contains "From" [
	"4u.com",
	"address.com",
	"adpromailer.com",
	"adpromailer.net",
	"adprooffers.net",
	"adprosender.com",
	"adprosender.net",
	"allflip.com",
	"animeigo.com",
	"arabia.com",
	"ayna.com",
	"bigfoot.com",
	"businesscreditusa.com",
	"caramail.com",
	"consumerpackage.net",
	"cyberclicks.com",
	"dailydeals4you.com",
	"databynet.com",
	"dlbdirect.com",
	"e-klk.com",
	"emaildelivery.org",
	"emailoffersdirect.com",
	"emsiweb.com",
	"eudoramail.com",
	"export2000.ro",
	"flashmail.com",
	"flowgo.com",
	"funfabdeals.com",
	"gamblinglinks.com",
	"gossipflash.com",
	"hotmail.com",
	"infousa.com",
	"int01e.com",
	"irstupid.com",
	"itsonlybest.com",
	"julib.com",
	"kooloffers.com",
	"korea.com",
	"legacy.it",
	"link2buy.com",
	"mail.com",
	"migada.com",
	"milespree.com",
	"nexdeals.com",
	"offer888.com",
	"offer888.net",
	"offerbymail.com",
	"opmnetwork.net",
	"polbox.com",
	"quickinspirations.com",
	"real-net.net",
	"rsc02.com",
	"sky08.com",
	"smartcruit.com",
	"speedi-list.com",
	"subscriberbase.net",
	"urbanasian.com",
	"venomjeans.com",
	"vmadmin.com",
	"winning.com",
	"xmr3.com",
	"xumx.com",
	"yahoo.com",
	"ynmail.com"] {
redirect "[email-masked]";}

## if the subject line contains suspicious text, redirect to [email-masked]

elsif header :contains "subject" [
	"          ",
	"adult",
	"adv",
	"*anything*about*anyone*",
	"cartridges",
	"credit",
	"*credit*card*",
	"dvd",
	"*find*out*",
	"free",
	"inkjet",
	"leads",
	"loans",
	"*look*great*",
	"*lower*interest*rates*",
	"*make*money*",
	"money",
	"*more*info*inside*",
	"mortgage",
	"mtg",
	"overweight",
	"*pay*off*",
	"penile",
	"penis",
	"refinance",
	"romance",
	"removal",
	"septic",
	"sex",
	"*teen*",
	"viagra",
	"xxx",
	"*you*may*have*"] {
redirect "[email-masked]";}

## if the To, Cc, or Bcc fields do not match the following domains, redirect to [email-masked]

elsif not address :domain :contains ["To", "Cc", "Bcc"] [
	"acm.org",
	"americansforathirdway.com",
	"artic.edu",
	"barebones.com",
	"bitterlemons.org",
	"bloomberg.com",
	"chartoftheday.com",
	"chowhound.com",
	"cnnimail12.cnn.com",
	"dailycandy.com",
	"darediablo.com",
	"deloitte.com",
	"envirolink.org",
	"girlsclub.org",
	"imc.org",
	"internetwire.com",
	"jiscmail.ac.uk",
	"list.ediets.com",
	"list.onetravel.com",
	"lists.evolt.org",
	"lists.samba.org",
	"lists.sierraclub.org",
	"listserv.acns.nwu.edu",
	"listserv.dowjones.com",
	"listserv.performancebike.com",
	"listserv.webster.m-w.com",
	"lockbox24.com",
	"lucas-online.info",
	"majordomo.pobox.com",
	"mariascoop.com",
	"mwhse.com",
	"nywici.org",
	"packer.edu",
	"pallottateamworks.com",
	"rosswords.com",
	"rtn.columbiarecordsemail.com",
	"shamash.org",
	"ssc.com",
	"structurehouse.com",
	"treebranch.com",
	"uiuc.edu",
	"velo.qc.ca",
	"webb.org",
	"webelists.com",
	"wechsler.com",
	"wordsmith.org",
	"workbookstock.com",
	"yahoogroups.com",
	"yiwh.org",
	"ysaleagues.com"] {
redirect "[email-masked]";}

--Boundary_(ID_H5iM1ZasjtEatbNyQb10iw)--