# HG changeset patch # User Katsumi Yamaoka # Date 1286373759 0 # Node ID 6ab940f572a94f6dc9ef4b3a7106d611498e0da5 # Parent 647b7ac5007c27c93e1da32e3ff539961800d46c sieve-manage.el: Add authenticate function. sieve-manage.el (sieve-manage-open): Use sieve-manage-default-port. diff -r 647b7ac5007c -r 6ab940f572a9 doc/misc/ChangeLog --- a/doc/misc/ChangeLog Wed Oct 06 13:21:07 2010 +0000 +++ b/doc/misc/ChangeLog Wed Oct 06 14:02:39 2010 +0000 @@ -1,5 +1,7 @@ 2010-10-06 Julien Danjou + * sieve.texi (Manage Sieve API): Document sieve-manage-authenticate. + * message.texi (PGP Compatibility): Remove reference to gpg-2comp, broken link. diff -r 647b7ac5007c -r 6ab940f572a9 doc/misc/sieve.texi --- a/doc/misc/sieve.texi Wed Oct 06 13:21:07 2010 +0000 +++ b/doc/misc/sieve.texi Wed Oct 06 14:02:39 2010 +0000 @@ -292,6 +292,10 @@ @findex sieve-manage-close Close a server connection. +@item sieve-manage-authenticate +@findex sieve-manage-authenticate +Authenticate to the server. + @item sieve-manage-capability @findex sieve-manage-capability Return a list of capabilities the server supports. diff -r 647b7ac5007c -r 6ab940f572a9 lisp/gnus/ChangeLog --- a/lisp/gnus/ChangeLog Wed Oct 06 13:21:07 2010 +0000 +++ b/lisp/gnus/ChangeLog Wed Oct 06 14:02:39 2010 +0000 @@ -1,3 +1,13 @@ +2010-10-06 Julien Danjou + + * sieve-manage.el: Update example in `Commentary'. + + * sieve.el (sieve-open-server): Use sieve-manage-authenticate. + + * sieve-manage.el (sieve-manage-open): Use sieve-manage-default-port, + not 2000. + (sieve-manage-authenticate): Re-add function. + 2010-10-06 Lars Magne Ingebrigtsen * shr.el (shr-insert): Get 'space transition right. diff -r 647b7ac5007c -r 6ab940f572a9 lisp/gnus/sieve-manage.el --- a/lisp/gnus/sieve-manage.el Wed Oct 06 13:21:07 2010 +0000 +++ b/lisp/gnus/sieve-manage.el Wed Oct 06 14:02:39 2010 +0000 @@ -50,9 +50,11 @@ ;; ;; and that's it. Example of a managesieve session in *scratch*: ;; +;; (with-current-buffer (sieve-manage-open "mail.example.com") +;; (sieve-manage-authenticate) +;; (sieve-manage-listscripts)) ;; -;; (sieve-manage-listscripts my-buf) -;; ("vacation" "testscript" ("splitmail") "badscript") +;; => ((active . "main") "vacation") ;; ;; References: ;; @@ -387,7 +389,7 @@ If nil, chooses the best stream the server is capable of. Optional argument BUFFER is buffer (buffer, or string naming buffer) to work in." - (setq buffer (or buffer (format " *sieve* %s:%d" server (or port 2000)))) + (setq buffer (or buffer (format " *sieve* %s:%d" server (or port sieve-manage-default-port)))) (with-current-buffer (get-buffer-create buffer) (mapc 'make-local-variable sieve-manage-local-variables) (sieve-manage-disable-multibyte) @@ -444,6 +446,17 @@ (sieve-manage-erase) buffer))) +(defun sieve-manage-authenticate (&optional buffer) + "Authenticate on server in BUFFER. +Return `sieve-manage-state' value." + (with-current-buffer (or buffer (current-buffer)) + (if (eq sieve-manage-state 'nonauth) + (when (funcall (nth 2 (assq sieve-manage-auth + sieve-manage-authenticator-alist)) + (current-buffer)) + (setq sieve-manage-state 'auth)) + sieve-manage-state))) + (defun sieve-manage-opened (&optional buffer) "Return non-nil if connection to managesieve server in BUFFER is open. If BUFFER is nil then the current buffer is used." diff -r 647b7ac5007c -r 6ab940f572a9 lisp/gnus/sieve.el --- a/lisp/gnus/sieve.el Wed Oct 06 13:21:07 2010 +0000 +++ b/lisp/gnus/sieve.el Wed Oct 06 14:02:39 2010 +0000 @@ -320,17 +320,12 @@ (insert "\n")))) (defun sieve-open-server (server &optional port) + "Open SERVER (on PORT) and authenticate." (with-current-buffer ;; open server (set (make-local-variable 'sieve-manage-buffer) (sieve-manage-open server)) - ;; authenticate - (if (eq sieve-manage-state 'nonauth) - (if (funcall (nth 2 (assq sieve-manage-auth - sieve-manage-authenticator-alist)) - (current-buffer)) - (setq sieve-manage-state 'auth)) - (eq sieve-manage-state 'auth)))) + (sieve-manage-authenticate))) (defun sieve-refresh-scriptlist () (interactive)