Handles the AUTHENTICATE command.
Handles the DELETESCRIPT command.
Returns true if this ManageSieveCommand has finished executing: and false if execute() hasn't been called, or if it has work left to do.
Returns input encoded either as a managesieve quoted or literal string. Quoted is preferred, if possible.
Verifies that parsing has reached the end of the argument list, and logs an error else.
This Archiveopteryx extension explains what a sieve script (the first argument) does with a given message. It is intended for automated testing.
The command takes a number of name-value pairs as aguments. The possible names are from, to, keep, script and message. The arguments are syntactically valid addresses, mailbox name, sieve scripts and messages.
It runs the script on the rest of the data and reports what actions would be performed, if any, and whether the script completed. (If the message is not available, the script may or may not be able to complete.)
NOTE: This command uses static storage. If two managesieve clients use it at the same time, they'll overwrite each other's data.
Handles the GETSCRIPT command.
Handles the HAVESPACE command. Accepts any name and size, then reports OK: We don't do hard quotas.
Handles the LISTSCRIPTS command.
Records that this command is to be rejected, optionally with message.
Does nothing, either simply or with inscrutable features.
Returns the next number from the client, or sends a NO if there isn't a number (in the 32-bit range).
Handles the PUTSCRIPT command.
Silently creates any mailboxes referred to by fileinto commands, provided they're in the user's own namespace.
This solves the major problem caused fileinto commands that refer to unknown mailbox names. People can still delete or rename mailboxes while a script refers to them, and it's possible to fileinto "/users/someoneelse/inbox", but those are much smaller problem by comparison.
I also like the timing of this: Uploading a script containing fileinto "x" creates x at once (instead of later, which sendmail does).
The RENAMESCRIPT command. Nothing out of the ordinary.
Handles the SETACTIVE command.
Tells this command to parse args. This is usually the command's own arguments, but can also be supplementary data supplied later. SASL authentication uses supplmenetary data.
Handles the STARTTLS command.
Returns the next argument from the client, which must be a string, or sends a NO.
Skips whitespace in the argument list. Should perhaps report an error if there isn't any? Let's keep it as it is, though.
This web page based on source code belonging to The Archiveopteryx Developers. All rights reserved.