diff options
| author | Julien Danjou | 2010-10-06 14:02:39 +0000 |
|---|---|---|
| committer | Katsumi Yamaoka | 2010-10-06 14:02:39 +0000 |
| commit | fd9ba500f5f58549e0210a2334c38ba0916257d9 (patch) | |
| tree | f48ac3770cf2620d10643b67e604c5ff88a20a46 /lisp | |
| parent | 356242428b39c85760780f961ba40672d8e2d8b3 (diff) | |
| download | emacs-fd9ba500f5f58549e0210a2334c38ba0916257d9.tar.gz emacs-fd9ba500f5f58549e0210a2334c38ba0916257d9.zip | |
sieve-manage.el: Add authenticate function.
sieve-manage.el (sieve-manage-open): Use sieve-manage-default-port.
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/gnus/ChangeLog | 10 | ||||
| -rw-r--r-- | lisp/gnus/sieve-manage.el | 19 | ||||
| -rw-r--r-- | lisp/gnus/sieve.el | 9 |
3 files changed, 28 insertions, 10 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 08c5282728e..0ffc7599cba 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,13 @@ | |||
| 1 | 2010-10-06 Julien Danjou <julien@danjou.info> | ||
| 2 | |||
| 3 | * sieve-manage.el: Update example in `Commentary'. | ||
| 4 | |||
| 5 | * sieve.el (sieve-open-server): Use sieve-manage-authenticate. | ||
| 6 | |||
| 7 | * sieve-manage.el (sieve-manage-open): Use sieve-manage-default-port, | ||
| 8 | not 2000. | ||
| 9 | (sieve-manage-authenticate): Re-add function. | ||
| 10 | |||
| 1 | 2010-10-06 Lars Magne Ingebrigtsen <larsi@gnus.org> | 11 | 2010-10-06 Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 2 | 12 | ||
| 3 | * shr.el (shr-insert): Get 'space transition right. | 13 | * shr.el (shr-insert): Get 'space transition right. |
diff --git a/lisp/gnus/sieve-manage.el b/lisp/gnus/sieve-manage.el index 370a53d4ac9..c542632a5a0 100644 --- a/lisp/gnus/sieve-manage.el +++ b/lisp/gnus/sieve-manage.el | |||
| @@ -50,9 +50,11 @@ | |||
| 50 | ;; | 50 | ;; |
| 51 | ;; and that's it. Example of a managesieve session in *scratch*: | 51 | ;; and that's it. Example of a managesieve session in *scratch*: |
| 52 | ;; | 52 | ;; |
| 53 | ;; (with-current-buffer (sieve-manage-open "mail.example.com") | ||
| 54 | ;; (sieve-manage-authenticate) | ||
| 55 | ;; (sieve-manage-listscripts)) | ||
| 53 | ;; | 56 | ;; |
| 54 | ;; (sieve-manage-listscripts my-buf) | 57 | ;; => ((active . "main") "vacation") |
| 55 | ;; ("vacation" "testscript" ("splitmail") "badscript") | ||
| 56 | ;; | 58 | ;; |
| 57 | ;; References: | 59 | ;; References: |
| 58 | ;; | 60 | ;; |
| @@ -387,7 +389,7 @@ Optional argument AUTH indicates authenticator to use, see | |||
| 387 | If nil, chooses the best stream the server is capable of. | 389 | If nil, chooses the best stream the server is capable of. |
| 388 | Optional argument BUFFER is buffer (buffer, or string naming buffer) | 390 | Optional argument BUFFER is buffer (buffer, or string naming buffer) |
| 389 | to work in." | 391 | to work in." |
| 390 | (setq buffer (or buffer (format " *sieve* %s:%d" server (or port 2000)))) | 392 | (setq buffer (or buffer (format " *sieve* %s:%d" server (or port sieve-manage-default-port)))) |
| 391 | (with-current-buffer (get-buffer-create buffer) | 393 | (with-current-buffer (get-buffer-create buffer) |
| 392 | (mapc 'make-local-variable sieve-manage-local-variables) | 394 | (mapc 'make-local-variable sieve-manage-local-variables) |
| 393 | (sieve-manage-disable-multibyte) | 395 | (sieve-manage-disable-multibyte) |
| @@ -444,6 +446,17 @@ to work in." | |||
| 444 | (sieve-manage-erase) | 446 | (sieve-manage-erase) |
| 445 | buffer))) | 447 | buffer))) |
| 446 | 448 | ||
| 449 | (defun sieve-manage-authenticate (&optional buffer) | ||
| 450 | "Authenticate on server in BUFFER. | ||
| 451 | Return `sieve-manage-state' value." | ||
| 452 | (with-current-buffer (or buffer (current-buffer)) | ||
| 453 | (if (eq sieve-manage-state 'nonauth) | ||
| 454 | (when (funcall (nth 2 (assq sieve-manage-auth | ||
| 455 | sieve-manage-authenticator-alist)) | ||
| 456 | (current-buffer)) | ||
| 457 | (setq sieve-manage-state 'auth)) | ||
| 458 | sieve-manage-state))) | ||
| 459 | |||
| 447 | (defun sieve-manage-opened (&optional buffer) | 460 | (defun sieve-manage-opened (&optional buffer) |
| 448 | "Return non-nil if connection to managesieve server in BUFFER is open. | 461 | "Return non-nil if connection to managesieve server in BUFFER is open. |
| 449 | If BUFFER is nil then the current buffer is used." | 462 | If BUFFER is nil then the current buffer is used." |
diff --git a/lisp/gnus/sieve.el b/lisp/gnus/sieve.el index e988cb759de..ca181c2e7b3 100644 --- a/lisp/gnus/sieve.el +++ b/lisp/gnus/sieve.el | |||
| @@ -320,17 +320,12 @@ Server : " server ":" (or port "2000") " | |||
| 320 | (insert "\n")))) | 320 | (insert "\n")))) |
| 321 | 321 | ||
| 322 | (defun sieve-open-server (server &optional port) | 322 | (defun sieve-open-server (server &optional port) |
| 323 | "Open SERVER (on PORT) and authenticate." | ||
| 323 | (with-current-buffer | 324 | (with-current-buffer |
| 324 | ;; open server | 325 | ;; open server |
| 325 | (set (make-local-variable 'sieve-manage-buffer) | 326 | (set (make-local-variable 'sieve-manage-buffer) |
| 326 | (sieve-manage-open server)) | 327 | (sieve-manage-open server)) |
| 327 | ;; authenticate | 328 | (sieve-manage-authenticate))) |
| 328 | (if (eq sieve-manage-state 'nonauth) | ||
| 329 | (if (funcall (nth 2 (assq sieve-manage-auth | ||
| 330 | sieve-manage-authenticator-alist)) | ||
| 331 | (current-buffer)) | ||
| 332 | (setq sieve-manage-state 'auth)) | ||
| 333 | (eq sieve-manage-state 'auth)))) | ||
| 334 | 329 | ||
| 335 | (defun sieve-refresh-scriptlist () | 330 | (defun sieve-refresh-scriptlist () |
| 336 | (interactive) | 331 | (interactive) |