* Sieve support? @ 2001-10-21 13:01 Simon Josefsson 2001-10-21 14:02 ` Kai Großjohann ` (3 more replies) 0 siblings, 4 replies; 23+ messages in thread From: Simon Josefsson @ 2001-10-21 13:01 UTC (permalink / raw) Does anyone think adding NAGY Andras and my Sieve stuff [1] to Gnus would be a good idea? It isn't specific to Gnus, but I guess most people who use IMAP in Emacs uses Gnus, so maybe it isn't such a bad place for it. (And Sieve seem to be fairly IMAP-centric so far.) [1] http://josefsson.org/sieve/ ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Sieve support? 2001-10-21 13:01 Sieve support? Simon Josefsson @ 2001-10-21 14:02 ` Kai Großjohann 2001-10-22 1:21 ` Daniel Pittman ` (2 subsequent siblings) 3 siblings, 0 replies; 23+ messages in thread From: Kai Großjohann @ 2001-10-21 14:02 UTC (permalink / raw) Cc: ding It would be great to have Sieve support in Gnus. Then it will be part of Emacs shortly (for some definitions of short), so that other packages (Wanderlust, MEW?) can use it, too. kai -- Lisp is kinda like tpircstsoP ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Sieve support? 2001-10-21 13:01 Sieve support? Simon Josefsson 2001-10-21 14:02 ` Kai Großjohann @ 2001-10-22 1:21 ` Daniel Pittman 2001-11-01 0:53 ` Simon Josefsson 2001-11-03 18:58 ` possible gnus-sieve bug NAGY Andras 3 siblings, 0 replies; 23+ messages in thread From: Daniel Pittman @ 2001-10-22 1:21 UTC (permalink / raw) On Sun, 21 Oct 2001, Simon Josefsson wrote: > Does anyone think adding NAGY Andras and my Sieve stuff [1] to Gnus > would be a good idea? Yup. > It isn't specific to Gnus, but I guess most people who use IMAP in > Emacs uses Gnus, so maybe it isn't such a bad place for it. (And Sieve > seem to be fairly IMAP-centric so far.) Maybe not ... but it's certainly very strongly related to being an IMAP client, which Gnus is, and it's not ideal to have to source closely related tools from somewhere else. :) Daniel -- I was born when she kissed me. I died when she left me. I lived a few weeks while she loved me. -- Dixon Steele (Humphrey Bogart), _In a lonely place_ ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Sieve support? 2001-10-21 13:01 Sieve support? Simon Josefsson 2001-10-21 14:02 ` Kai Großjohann 2001-10-22 1:21 ` Daniel Pittman @ 2001-11-01 0:53 ` Simon Josefsson 2001-11-01 16:08 ` Kai Großjohann 2001-11-03 18:58 ` possible gnus-sieve bug NAGY Andras 3 siblings, 1 reply; 23+ messages in thread From: Simon Josefsson @ 2001-11-01 0:53 UTC (permalink / raw) [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain; charset=iso-2022-7bit-dos, Size: 7551 bytes --] Simon Josefsson <jas@extundo.com> writes: > Does anyone think adding NAGY Andras and my Sieve stuff [1] to Gnus > would be a good idea? Noone complained so I added it. Unless you press `D u' or `D g' in the group buffer, you should never see it. Kudos to NAGY Andras for the work on gnus-sieve.el! Some documentation: \f In the "Group Parameters" section: `sieve' This parameter contains a Sieve test that should match incoming mail that should be placed in this group. From this group parameter, a Sieve `IF' control structure is generated, having the test as the condition and `fileinto "group.name";' as the body. For example, if the INBOX.list.sieve group has the `(sieve address "sender" "sieve-admin@extundo.com")' group parameter, when translating the group parameter into a Sieve script (*note Sieve Commands::) the following Sieve code is generated: if address \"sender\" \"sieve-admin@extundo.com\" { fileinto \"INBOX.list.sieve\"; } The Sieve language is described in RFC 3028. *Note Top: (sieve)Top. \f In the "Misc Group Stuff" chapter, a new node was added: Sieve Commands -------------- Sieve is a server-side mail filtering language. In Gnus you can use the `sieve' group parameter (*note Group Parameters::) to specify sieve rules that should apply to each group. Gnus provides two commands to translate all these group parameters into a proper Sieve script that can be transfered to the server somehow. The generated Sieve script is placed in `gnus-sieve-file' (by default `~/.sieve'). The code Gnus generates is placed between two delimiters, `gnus-sieve-region-start' and `gnus-sieve-region-end', so you may write additional Sieve code outside these delimiters that will not be removed the next time you regenerate the Sieve script. *Note Top: (sieve)Top. `D g' Regenerate a Sieve script from the `sieve' group parameters and put you into the `gnus-sieve-file' without saving it. `D u' Regenerates the Gnus managed part of `gnus-sieve-file' using the `sieve' group parameters, save the file and upload it to the server using the `sieveshell' program. \f And a new texi file was added that document the Sieve package separately from Gnus: Sieve Support for Emacs *********************** This manual documents the Emacs Sieve package. It is intended as a users manual for Sieve Mode and Manage Sieve, and as a reference manual for the `sieve-manage' protocol Emacs Lisp API. Sieve is a language for server-side filtering of mail. The language is documented in RFC 3028. This manual does not attempt to document the language, so keep RFC 3028 around. * Menu: * Installation:: Getting ready to use the package. * Sieve Mode:: Editing Sieve scripts. * Managing Sieve:: Managing Sieve scripts on a remote server. * Manage Sieve API :: Interfacing to the Manage Sieve Protocol API. * Standards:: A summary of RFCs and working documents used. * Index:: Function and variable index. Installation ************ The Sieve package should come with your Emacs version, and should be ready for use directly. However, to manually set up the package you can put the following commands in your `~/.emacs': (autoload 'sieve-mode "sieve-mode") (setq auto-mode-alist (cons '("\\.si\\(v\\|eve\\)\\'" . sieve-mode) auto-mode-alist)) Sieve Mode ********** Sieve mode provides syntax-based indentation, font-locking support and other handy functions to make editing Sieve scripts easier. Use `M-x sieve-mode' to switch to this major mode. This command runs the hook `sieve-mode-hook'. Sieve mode is derived from `c-mode', and is very similar except for the syntax of comments. The keymap (`sieve-mode-map') is inherited from `c-mode', as are the the variables for customizing indentation. Sieve mode has its own abbrev table (`sieve-mode-abbrev-table') and syntax table (`sieve-mode-syntax-table'). In addition to the editing utility functions, Sieve mode also contains bindings to manage Sieve scripts remotely. *note Managing Sieve::. `C-c RET' Open a connection to a remote server using the Managesieve protocol. `C-c C-l' Upload the Sieve script to the currently open server. Managing Sieve ************** Manage Sieve is a special mode used to display Sieve scripts available on a remote server. It can be invoked with `M-x sieve-manage RET', which queries the user for a server and if necessary, user credentials to use. When a server has been succesfully contacted, the Manage Sieve buffer looks something like: Server : mailserver:2000 2 scripts on server, press RET on a script name edits it, or press RET on <new script> to create a new script. <new script> ACTIVE .sieve template.siv One of the scripts are highlighted, and standard point navigation commands (`<up>', `<down>' etc) can be used to navigate the list. The following commands are available in the Manage Sieve buffer: `m' Activates the currently highlighted script. `u' Deactivates the currently highlighted script. `M-C-?' Deactivates all scripts. `r' Remove currently highlighted script. `RET' `mouse-2' `f' Bury the server buffer and download the currently highlighted script into a new buffer for editing in Sieve mode (*note Sieve Mode::). `o' Create a new buffer in another window containing the currently highlighted script for editing in Sieve mode (*note Sieve Mode::). `q' Bury the Manage Sieve buffer without closing the connection. `?' `h' Displays help in the minibuffer. Manage Sieve API **************** The `sieve-manage.el' library contains low-level functionality for talking to a server with the MANAGESIEVE protocol. A number of user-visible variables exist, which all can be customized in the `sieve' group (`M-x customize-group RET sieve RET'): `sieve-manage-default-user' Sets the default username. `sieve-manage-default-port' Sets the default port to use, the suggested port number is `2000'. `sieve-manage-log' If non-nil, should be a string naming a buffer where a protocol trace is dumped (for debugging purposes). The API functions include: `sieve-manage-open' Open connection to managesieve server, returning a buffer to be used by all other API functions. `sieve-manage-opened' Check if a server is open or not. `sieve-manage-close' Close a server connection. `sieve-manage-authenticate' Authenticate to the server. `sieve-manage-capability' Return a list of capabilities the server support. `sieve-manage-listscripts' List scripts on the server. `sieve-manage-havespace' Returns non-nil iff server have roam for a script of given size. `sieve-manage-getscript' Download script from server. `sieve-manage-putscript' Upload script to server. `sieve-manage-setactive' Indicate which script on the server should be active. Standards ********* The Emacs Sieve package implements all or parts of a small but hopefully growing number of RFCs and drafts documents. This chapter lists the relevant ones. They can all be fetched from `http://quimby.gnus.org/notes/'. "RFC3028" Sieve: A Mail Filtering Language. "draft-martin-managesieve-03" A Protocol for Remotely Managing Sieve Scripts ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Sieve support? 2001-11-01 0:53 ` Simon Josefsson @ 2001-11-01 16:08 ` Kai Großjohann 2001-11-01 16:50 ` Simon Josefsson 0 siblings, 1 reply; 23+ messages in thread From: Kai Großjohann @ 2001-11-01 16:08 UTC (permalink / raw) Simon Josefsson <jas@extundo.com> writes: > if address \"sender\" \"sieve-admin@extundo.com\" { > fileinto \"INBOX.list.sieve\"; > } My hand-crafted script looks similar, but adds "stop" after "fileinto". Thoughts? kai -- Lisp is kinda like tpircstsoP ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Sieve support? 2001-11-01 16:08 ` Kai Großjohann @ 2001-11-01 16:50 ` Simon Josefsson 2001-11-02 8:25 ` Kai Großjohann 2001-11-03 0:35 ` NAGY Andras 0 siblings, 2 replies; 23+ messages in thread From: Simon Josefsson @ 2001-11-01 16:50 UTC (permalink / raw) Cc: ding Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Großjohann) writes: > Simon Josefsson <jas@extundo.com> writes: > >> if address \"sender\" \"sieve-admin@extundo.com\" { >> fileinto \"INBOX.list.sieve\"; >> } > > My hand-crafted script looks similar, but adds "stop" after > "fileinto". Thoughts? I don't think the automatically generated code should ever invoke "stop", since you may want to put Sieve code after the Gnus generated code block. Do you agree? If you're thinking about crossposting, there is `gnus-sieve-crosspost'. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Sieve support? 2001-11-01 16:50 ` Simon Josefsson @ 2001-11-02 8:25 ` Kai Großjohann 2001-11-02 8:50 ` Simon Josefsson 2001-11-02 17:48 ` Amos Gouaux 2001-11-03 0:35 ` NAGY Andras 1 sibling, 2 replies; 23+ messages in thread From: Kai Großjohann @ 2001-11-02 8:25 UTC (permalink / raw) Simon Josefsson <jas@extundo.com> writes: > I don't think the automatically generated code should ever invoke > "stop", since you may want to put Sieve code after the Gnus generated > code block. Do you agree? Well, err, it would invoke stop only inside the if... > If you're thinking about crossposting, there is `gnus-sieve-crosspost'. Does that mean I get something like if foo { fileinto "bar"; stop; } when crossposting is off and if foo { fileinto "bar"; } when crossposting is on? That's what I wanted to suggest, too. kai -- Lisp is kinda like tpircstsoP ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Sieve support? 2001-11-02 8:25 ` Kai Großjohann @ 2001-11-02 8:50 ` Simon Josefsson 2001-11-02 9:14 ` Kai Großjohann 2001-11-02 17:48 ` Amos Gouaux 1 sibling, 1 reply; 23+ messages in thread From: Simon Josefsson @ 2001-11-02 8:50 UTC (permalink / raw) Cc: ding On Fri, 2 Nov 2001, Kai Großjohann wrote: > > I don't think the automatically generated code should ever invoke > > "stop", since you may want to put Sieve code after the Gnus generated > > code block. Do you agree? > > Well, err, it would invoke stop only inside the if... Really? I don't know Sieve, but the following seems to be the only explanation about "stop" in the RFC, and it looks like it quits the whole script. I've never used "stop" though, so I may be misreading the RFC. 3.3. Control Structure Stop Syntax: stop The "stop" action ends all processing. If no actions have been executed, then the keep action is taken. > > If you're thinking about crossposting, there is `gnus-sieve-crosspost'. > > Does that mean I get something like > > if foo { > fileinto "bar"; > stop; > } > > when crossposting is off and > > if foo { > fileinto "bar"; > } > > when crossposting is on? That's what I wanted to suggest, too. Right now you get if foo { fileinto "foo" } elsif bar { fileinto "bar } if `gnus-sieve-crosspost' is nil, and if foo { fileinto "foo"; } if bar { fileinto "bar"; } otherwise. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Sieve support? 2001-11-02 8:50 ` Simon Josefsson @ 2001-11-02 9:14 ` Kai Großjohann 2001-11-02 12:39 ` Simon Josefsson 0 siblings, 1 reply; 23+ messages in thread From: Kai Großjohann @ 2001-11-02 9:14 UTC (permalink / raw) Cc: ding Simon Josefsson <jas@extundo.com> writes: >> Well, err, it would invoke stop only inside the if... > > Really? I don't know Sieve, but the following seems to be the only > explanation about "stop" in the RFC, and it looks like it quits the whole > script. I've never used "stop" though, so I may be misreading the RFC. I meant: it only invokes `stop' if the condition matches. >> Does that mean I get something like >> >> if foo { >> fileinto "bar"; >> stop; >> } >> >> when crossposting is off and >> >> if foo { >> fileinto "bar"; >> } >> >> when crossposting is on? That's what I wanted to suggest, too. > > Right now you get > > if foo { > fileinto "foo" > } > elsif bar { > fileinto "bar > } > > if `gnus-sieve-crosspost' is nil, and > > if foo { > fileinto "foo"; > } > if bar { > fileinto "bar"; > } > > otherwise. Ah, yes, I think I used to have your style, too. But then somewhere I read about problems with nesting depths. So I converted your if/elseif style into mine. Hm. But you're right -- in your case it would be possible to add more action after the whole if/elseif/else statement. Hm. To learn more, I'd have to know more about how your idea constructs the whole Sieve script -- where are the group specific rules inserted and what happens when the user changes group rules and how is the other part of the script preserved... I can't test your sieve mechanism because I'm using an old Cyrus version which uses an old sieve protocol. Though of course I could test your rule-generating part. Hm. But I've already got so many useful rules :-) kai -- Lisp is kinda like tpircstsoP ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Sieve support? 2001-11-02 9:14 ` Kai Großjohann @ 2001-11-02 12:39 ` Simon Josefsson 2001-11-02 16:24 ` Kai Großjohann 0 siblings, 1 reply; 23+ messages in thread From: Simon Josefsson @ 2001-11-02 12:39 UTC (permalink / raw) Cc: ding On Fri, 2 Nov 2001, Kai Großjohann wrote: > Ah, yes, I think I used to have your style, too. But then somewhere > I read about problems with nesting depths. So I converted your > if/elseif style into mine. Hm, using a large if/elsif-block shouldn't count as nesting? Or maybe the implementation just rewrites the elseif into a else + if. Hm, RFC 3028 says implementations should support 15 levels of nesting, and I got one or two magnitude more rules than that, so I think it's ok. > To learn more, I'd have to know more about how your idea constructs > the whole Sieve script -- where are the group specific rules inserted > and what happens when the user changes group rules and how is the > other part of the script preserved... > > I can't test your sieve mechanism because I'm using an old Cyrus > version which uses an old sieve protocol. > > Though of course I could test your rule-generating part. Hm. But > I've already got so many useful rules :-) No problemo -- just D g and then insert your current Sieve script before/after the Gnus generated block. Then you can migrate some of the rules into group parameters incrementally. Maybe the old Cyrus protocol is "close" enough to the current protocol. I'll look in the archives to see how your server reacted, maybe only the greeting is different.. Or use `D u' which doesn't use the sieve protocol, but rather the installsieve program that comes with Cyrus IMAPD to talk to the server. This parts need some more documentation though, you probably need to frob `gnus-sieve-method'. (Perhaps the `gnus-sieve-method' variable should be removed, maybe this should be solved differently -- e.g. D g / D u asking the user which method to generate the rules on, or add the commands to the server buffer where the method to use is implicit.) ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Sieve support? 2001-11-02 12:39 ` Simon Josefsson @ 2001-11-02 16:24 ` Kai Großjohann 2001-11-02 17:52 ` Amos Gouaux 0 siblings, 1 reply; 23+ messages in thread From: Kai Großjohann @ 2001-11-02 16:24 UTC (permalink / raw) Cc: ding Simon Josefsson <jas@extundo.com> writes: > Or use `D u' which doesn't use the sieve protocol, but rather the > installsieve program that comes with Cyrus IMAPD to talk to the server. Ah! That would be fine. I do installsieve -p 2000 -m cram-md5 -i $FILE $IMAP_HOST And then I see this prompt: Please enter your password: After that, I type the passwd and Bob's my uncle. If the current installsieve program behaves the same, then I could indeed use `D u'. Now on to the real work to do the group parameters. kai -- Lisp is kinda like tpircstsoP ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Sieve support? 2001-11-02 16:24 ` Kai Großjohann @ 2001-11-02 17:52 ` Amos Gouaux 2001-11-02 22:29 ` Kai Großjohann 0 siblings, 1 reply; 23+ messages in thread From: Amos Gouaux @ 2001-11-02 17:52 UTC (permalink / raw) >>>>> On Fri, 02 Nov 2001 17:24:57 +0100, >>>>> Kai Großjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE> (kg) writes: kg> installsieve -p 2000 -m cram-md5 -i $FILE $IMAP_HOST Actually, in the CVS for Cyrus 2.1 installsieve is depreciated, being replaced by an interactive sieveshell command. I would think it would be better to talk the protocol to the timsieved server. Just because you upload a script doesn't mean it has to be made active.... -- Amos ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Sieve support? 2001-11-02 17:52 ` Amos Gouaux @ 2001-11-02 22:29 ` Kai Großjohann 2001-11-04 14:49 ` Steinar Bang 0 siblings, 1 reply; 23+ messages in thread From: Kai Großjohann @ 2001-11-02 22:29 UTC (permalink / raw) Cc: ding Amos Gouaux <amos+lists.ding@utdallas.edu> writes: >>>>>> On Fri, 02 Nov 2001 17:24:57 +0100, >>>>>> Kai Großjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE> (kg) writes: > > kg> installsieve -p 2000 -m cram-md5 -i $FILE $IMAP_HOST > > Actually, in the CVS for Cyrus 2.1 installsieve is depreciated, > being replaced by an interactive sieveshell command. I would think > it would be better to talk the protocol to the timsieved server. > Just because you upload a script doesn't mean it has to be made > active.... But I'm still using Cyrus 1.6 which speaks a way outdated version of the protocol, so the stuff in Simon's Sieve code which speaks the protocol does not work for me. Once I get the Powers That Be to upgrade our Cyrus, I'll be happy to use the protocol. kai -- Lisp is kinda like tpircstsoP ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Sieve support? 2001-11-02 22:29 ` Kai Großjohann @ 2001-11-04 14:49 ` Steinar Bang 2001-11-04 17:35 ` Amos Gouaux 0 siblings, 1 reply; 23+ messages in thread From: Steinar Bang @ 2001-11-04 14:49 UTC (permalink / raw) >>>>> Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Großjohann): > But I'm still using Cyrus 1.6 which speaks a way outdated version of > the protocol, so the stuff in Simon's Sieve code which speaks the > protocol does not work for me. Hm... debian woody has 1.5.19, and it's categorized as non-free. I'm wondering if there are unofficial .deb packages somewhere? Hmm... looks like Cyrus 2 is on the way, for the one who waits <http://bugs.debian.org/108942> The problem with a manual install of 2.x would be upgrading the mail spool, as I understand...? ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Sieve support? 2001-11-04 14:49 ` Steinar Bang @ 2001-11-04 17:35 ` Amos Gouaux 2001-11-04 18:06 ` Simon Josefsson 0 siblings, 1 reply; 23+ messages in thread From: Amos Gouaux @ 2001-11-04 17:35 UTC (permalink / raw) >>>>> On Sun, 04 Nov 2001 15:49:22 +0100, >>>>> Steinar Bang <sb@dod.no> (sb) writes: sb> Hmm... looks like Cyrus 2 is on the way, for the one who waits sb> <http://bugs.debian.org/108942> If not yet running 2.x, I would wait until 2.1 is released. Many bugs have been fixed in this up-coming release. I'd even say that 2.x out of CVS would be better than one of the 2.0 releases. Rapidly evolving stuff, but then folks here know all about that. sb> The problem with a manual install of 2.x would be upgrading the mail sb> spool, as I understand...? Not the spool, but yes, the mailboxes file. The state information in the spool is updated as folders are accessed. Personally, I think folks are also better off doing the compiles themself instead of using pre-compiled packages. Seems like many folks run into problems because the pre-compiled stuff isn't always in sync with the numerous dependencies, most particularly Berkeley DB. -- Amos ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Sieve support? 2001-11-04 17:35 ` Amos Gouaux @ 2001-11-04 18:06 ` Simon Josefsson 2001-11-04 18:44 ` Amos Gouaux 0 siblings, 1 reply; 23+ messages in thread From: Simon Josefsson @ 2001-11-04 18:06 UTC (permalink / raw) Cc: ding Amos Gouaux <amos+lists.ding@utdallas.edu> writes: >>>>>> On Sun, 04 Nov 2001 15:49:22 +0100, >>>>>> Steinar Bang <sb@dod.no> (sb) writes: > > sb> Hmm... looks like Cyrus 2 is on the way, for the one who waits > sb> <http://bugs.debian.org/108942> > > If not yet running 2.x, I would wait until 2.1 is released. Many > bugs have been fixed in this up-coming release. I'd even say that > 2.x out of CVS would be better than one of the 2.0 releases. > Rapidly evolving stuff, but then folks here know all about that. I've been running the same 2.x release for almost a year... > Personally, I think folks are also better off doing the compiles > themself instead of using pre-compiled packages. Seems like many > folks run into problems because the pre-compiled stuff isn't always > in sync with the numerous dependencies, most particularly Berkeley DB. Are you saying that if you compile the package yourself, you _won't_ get Berkeley DB problems? Wow! :-) (I'm stuck at the 2.x release I'm using just because of libdb problems, all db utilities crash when I export the SASL db, and no matter which version of libdb I compile with, the new Cyrus doesn't like my current db. I have working binaries but no way of compiling new working ones. Libdb is double-plus ungood.) ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Sieve support? 2001-11-04 18:06 ` Simon Josefsson @ 2001-11-04 18:44 ` Amos Gouaux 0 siblings, 0 replies; 23+ messages in thread From: Amos Gouaux @ 2001-11-04 18:44 UTC (permalink / raw) >>>>> On Sun, 04 Nov 2001 19:06:21 +0100, >>>>> Simon Josefsson <jas@extundo.com> (sj) writes: sj> I've been running the same 2.x release for almost a year... In production, been running a CVS pull from 20010930 (we had a requirement for the altnamespace). I know 2.x worked prior to that because we've been running them on our development box. However, it looks like 2.1 will have more loose ends wrapped up, at least from what I've seen/heard. sj> Are you saying that if you compile the package yourself, you _won't_ sj> get Berkeley DB problems? Wow! :-) Well, no. Just seems like many folks have gotten snagged by version mis-matches. Though, can't say I've seen Berkeley DB problems myself. (Fingers crossed.) sj> (I'm stuck at the 2.x release I'm using just because of libdb sj> problems, all db utilities crash when I export the SASL db, and no sj> matter which version of libdb I compile with, the new Cyrus doesn't sj> like my current db. I have working binaries but no way of compiling sj> new working ones. Libdb is double-plus ungood.) Hmmm... don't know if it would help, but I found the SASL sources out of CVS to be a bit more stable than the 1.5.24 release. I think what's in CVS under the cyrus-sasl name is something like a post 1.5.27. -- Amos ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Sieve support? 2001-11-02 8:25 ` Kai Großjohann 2001-11-02 8:50 ` Simon Josefsson @ 2001-11-02 17:48 ` Amos Gouaux 2001-11-02 19:59 ` Simon Josefsson 1 sibling, 1 reply; 23+ messages in thread From: Amos Gouaux @ 2001-11-02 17:48 UTC (permalink / raw) >>>>> On Fri, 02 Nov 2001 09:25:16 +0100, >>>>> Kai Großjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE> (kg) writes: kg> if foo { kg> fileinto "bar"; kg> stop; kg> } I've tended to do this for mailing list folder stuffing. Main reason for it is out of paranoia that if I've got a vacation item at the bottom of the script, there's no way at all that a list or list admin will have to deal with it. -- Amos ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Sieve support? 2001-11-02 17:48 ` Amos Gouaux @ 2001-11-02 19:59 ` Simon Josefsson 0 siblings, 0 replies; 23+ messages in thread From: Simon Josefsson @ 2001-11-02 19:59 UTC (permalink / raw) Cc: ding Amos Gouaux <amos+lists.ding@utdallas.edu> writes: >>>>>> On Fri, 02 Nov 2001 09:25:16 +0100, >>>>>> Kai Großjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE> (kg) writes: > > kg> if foo { > kg> fileinto "bar"; > kg> stop; > kg> } > > I've tended to do this for mailing list folder stuffing. Main > reason for it is out of paranoia that if I've got a vacation item at > the bottom of the script, there's no way at all that a list or list > admin will have to deal with it. I guess this is what most people want so I changed it to use "stop" when not crossposting -- I also changed the default to do crossposting, to be consistent with the rest of Gnus. Thanks to Kai for bringing this up. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Sieve support? 2001-11-01 16:50 ` Simon Josefsson 2001-11-02 8:25 ` Kai Großjohann @ 2001-11-03 0:35 ` NAGY Andras 1 sibling, 0 replies; 23+ messages in thread From: NAGY Andras @ 2001-11-03 0:35 UTC (permalink / raw) On Thu, 01 Nov 2001, at 17:50, Simon Josefsson <jas@extundo.com> wrote: > I don't think the automatically generated code should ever invoke > "stop", since you may want to put Sieve code after the Gnus generated > code block. Do you agree? Yes, that's why I would still prefer the elsif way. On Fri, 02 Nov 2001, at 18:48, Amos Gouaux <amos+lists.ding@utdallas.edu> wrote: > kg> if foo { > kg> fileinto "bar"; > kg> stop; > kg> } > > I've tended to do this for mailing list folder stuffing. Main > reason for it is out of paranoia that if I've got a vacation item at > the bottom of the script, there's no way at all that a list or list > admin will have to deal with it. Well, you can set crosspost to nil, and add something like else { # vacation stuff, storing in "mail.misc", etc } after the generated part. How about a trade-off? :-) Let's introduce a new variable instead of -crosspost, defining which control structures to use when building the script? Say, gnus-sieve-script-flavour: if (default): [if () { fileinto }]*, crossposting elsif: `if ... [elsif () { fileinto } ]*', no crossposting, no stop stop: [if () { fileinto; stop; }]*, no crossposting, with stop Andras ^ permalink raw reply [flat|nested] 23+ messages in thread
* possible gnus-sieve bug 2001-10-21 13:01 Sieve support? Simon Josefsson ` (2 preceding siblings ...) 2001-11-01 0:53 ` Simon Josefsson @ 2001-11-03 18:58 ` NAGY Andras 2001-11-03 19:06 ` Simon Josefsson 3 siblings, 1 reply; 23+ messages in thread From: NAGY Andras @ 2001-11-03 18:58 UTC (permalink / raw) Gnus-sieve has this function: (defun gnus-sieve-guess-rule-for-article () "Guess a sieve rule based on RFC822 article in buffer. Return NIL if no rule could be guessed." (when (message-fetch-field "sender") `(sieve address "sender" ,(regexp-quote (message-fetch-field "sender"))))) AFAIK, the default `comparator' in Sieve tests is `:is' (exact match), therefore the regexp-quote is not required here; actually I think rules generated this way should not work at all. What do you think? Andras ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: possible gnus-sieve bug 2001-11-03 18:58 ` possible gnus-sieve bug NAGY Andras @ 2001-11-03 19:06 ` Simon Josefsson 2001-11-04 13:17 ` NAGY Andras 0 siblings, 1 reply; 23+ messages in thread From: Simon Josefsson @ 2001-11-03 19:06 UTC (permalink / raw) Cc: ding On Sat, 3 Nov 2001, NAGY Andras wrote: > Gnus-sieve has this function: > > (defun gnus-sieve-guess-rule-for-article () > "Guess a sieve rule based on RFC822 article in buffer. > Return NIL if no rule could be guessed." > (when (message-fetch-field "sender") > `(sieve address "sender" ,(regexp-quote (message-fetch-field "sender"))))) > > AFAIK, the default `comparator' in Sieve tests is `:is' (exact match), > therefore the regexp-quote is not required here; actually I think > rules generated this way should not work at all. What do you think? Arhm, erhm, well, Cyrus Sieve uses fnmatch() even with :is (I believe) which is sort of like regexps, so I escaped the rule. Now, future version will probably do the escaping in the server (this was recently discussed on the cyrus-imap list) so maybe we should remove it. (But I haven't upgraded yet...) But yes, it is wrong. OTOH it would be nice to rewrite the function into something much more intelligent and with a nicer interface. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: possible gnus-sieve bug 2001-11-03 19:06 ` Simon Josefsson @ 2001-11-04 13:17 ` NAGY Andras 0 siblings, 0 replies; 23+ messages in thread From: NAGY Andras @ 2001-11-04 13:17 UTC (permalink / raw) On Sat, 03 Nov 2001, at 20:06, Simon Josefsson <jas@extundo.com> wrote: > On Sat, 3 Nov 2001, NAGY Andras wrote: > >> Gnus-sieve has this function: >> >> (defun gnus-sieve-guess-rule-for-article () >> "Guess a sieve rule based on RFC822 article in buffer. >> Return NIL if no rule could be guessed." >> (when (message-fetch-field "sender") >> `(sieve address "sender" ,(regexp-quote (message-fetch-field "sender"))))) >> >> AFAIK, the default `comparator' in Sieve tests is `:is' (exact match), >> therefore the regexp-quote is not required here; actually I think >> rules generated this way should not work at all. What do you think? > > Arhm, erhm, well, Cyrus Sieve uses fnmatch() even with :is (I believe) > which is sort of like regexps, so I escaped the rule. Now > will probably do the escaping in the server (this was recently discussed > on the cyrus-imap list) so maybe we should remove it. (But I haven't > upgraded yet...) > > But yes, it is wrong. OTOH it would be nice to rewrite the function into > something much more intelligent and with a nicer interface. ^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2001-11-04 18:44 UTC | newest] Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2001-10-21 13:01 Sieve support? Simon Josefsson 2001-10-21 14:02 ` Kai Großjohann 2001-10-22 1:21 ` Daniel Pittman 2001-11-01 0:53 ` Simon Josefsson 2001-11-01 16:08 ` Kai Großjohann 2001-11-01 16:50 ` Simon Josefsson 2001-11-02 8:25 ` Kai Großjohann 2001-11-02 8:50 ` Simon Josefsson 2001-11-02 9:14 ` Kai Großjohann 2001-11-02 12:39 ` Simon Josefsson 2001-11-02 16:24 ` Kai Großjohann 2001-11-02 17:52 ` Amos Gouaux 2001-11-02 22:29 ` Kai Großjohann 2001-11-04 14:49 ` Steinar Bang 2001-11-04 17:35 ` Amos Gouaux 2001-11-04 18:06 ` Simon Josefsson 2001-11-04 18:44 ` Amos Gouaux 2001-11-02 17:48 ` Amos Gouaux 2001-11-02 19:59 ` Simon Josefsson 2001-11-03 0:35 ` NAGY Andras 2001-11-03 18:58 ` possible gnus-sieve bug NAGY Andras 2001-11-03 19:06 ` Simon Josefsson 2001-11-04 13:17 ` NAGY Andras
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).