;;
;; `sieve-manage-authenticate'
;; `sieve-manage-listscripts'
+;; `sieve-manage-deletescript'
+;; `sieve-manage-getscript'
;; performs managesieve protocol actions
;;
;; and that's it. Example of a managesieve session in *scratch*:
;; Release history:
;;
;; 2001-10-31 Committed to Oort Gnus.
-;;
-;; $Id: sieve-manage.el,v 1.1.1.1 2002-01-06 22:11:34 yamaoka Exp $
+;; 2002-07-27 Added DELETESCRIPT. Suggested by Ned Ludd.
;;; Code:
(defcustom sieve-manage-authenticators '(cram-md5 plain)
"Priority of authenticators to consider when authenticating to server.")
-(defcustom sieve-manage-authenticator-alist
+(defcustom sieve-manage-authenticator-alist
'((cram-md5 sieve-manage-cram-md5-p sieve-manage-cram-md5-auth)
(plain sieve-manage-plain-p sieve-manage-plain-auth))
"Definition of authenticators.
;; (condition-case ()
(while (or (not user) (not passwd))
(setq user (or sieve-manage-username
- (read-from-minibuffer
+ (read-from-minibuffer
(concat "Managesieve username for "
sieve-manage-server ": ")
(or user sieve-manage-default-user))))
(setq passwd (or sieve-manage-password
(sieve-manage-read-passwd
- (concat "Managesieve password for " user "@"
+ (concat "Managesieve password for " user "@"
sieve-manage-server ": "))))
(when (and user passwd)
(if (funcall loginfunc user passwd)
(sieve-manage-send (concat "AUTHENTICATE \"PLAIN\" \""
(base64-encode-string
(concat (char-to-string 0)
- user
+ user
(char-to-string 0)
passwd))
"\""))
(let* ((done (sieve-manage-interactive-login
buffer
(lambda (user passwd)
- (sieve-manage-send "AUTHENTICATE \"CRAM-MD5\" \"\"")
+ (sieve-manage-send "AUTHENTICATE \"CRAM-MD5\"")
(sieve-manage-send
(concat
"\""
(if (funcall (nth 1 (assq stream
sieve-manage-stream-alist)) buffer)
(setq stream-changed
- (not (eq (or sieve-manage-stream
+ (not (eq (or sieve-manage-stream
sieve-manage-default-stream)
stream))
sieve-manage-stream stream
(if (sieve-manage-open-1 buffer)
(message "sieve: Reconnecting with stream `%s'...done"
sieve-manage-stream)
- (message "sieve: Reconnecting with stream `%s'...failed"
+ (message "sieve: Reconnecting with stream `%s'...failed"
sieve-manage-stream))
(setq sieve-manage-capability nil))
(if (sieve-manage-opened buffer)
;; Choose authenticator
(when (and (null sieve-manage-auth)
(not (eq sieve-manage-state 'auth)))
- (let ((auths sieve-manage-authenticators))
+ (let ((auths sieve-manage-authenticators))
(while (setq auth (pop auths))
(if (funcall (nth 1 (assq
auth
sieve-manage-client-eol content))
(sieve-manage-parse-okno)))
+(defun sieve-manage-deletescript (name &optional buffer)
+ (with-current-buffer (or buffer (current-buffer))
+ (sieve-manage-send (format "DELETESCRIPT \"%s\"" name))
+ (sieve-manage-parse-okno)))
+
(defun sieve-manage-getscript (name output-buffer &optional buffer)
(with-current-buffer (or buffer (current-buffer))
(sieve-manage-send (format "GETSCRIPT \"%s\"" name))