Commit cc52b6cc authored by Ted Zlatanov's avatar Ted Zlatanov Committed by Katsumi Yamaoka
Browse files

lisp/gnus/auth-source.el: When a data token is "machine", abort parsing the current line

parent 9822de72
2013-06-17 Teodor Zlatanov <tzz@lifelogs.com>
* auth-source.el (auth-source-current-line): New function.
(auth-source-netrc-parse-entries): When a data token is "machine",
assume we're in the wrong place and abort parsing the current line.
2013-06-17 Lars Magne Ingebrigtsen <larsi@gnus.org> 2013-06-17 Lars Magne Ingebrigtsen <larsi@gnus.org>
   
* eww.el (eww-tag-select): Don't render totally empty <select> forms. * eww.el (eww-tag-select): Don't render totally empty <select> forms.
......
...@@ -1055,6 +1055,13 @@ Note that the MAX parameter is used so we can exit the parse early." ...@@ -1055,6 +1055,13 @@ Note that the MAX parameter is used so we can exit the parse early."
(auth-source-netrc-parse-next-interesting) (auth-source-netrc-parse-next-interesting)
(match-string-no-properties 1))) (match-string-no-properties 1)))
;; with thanks to org-mode
(defsubst auth-source-current-line (&optional pos)
(save-excursion
(and pos (goto-char pos))
;; works also in narrowed buffer, because we start at 1, not point-min
(+ (if (bolp) 1 0) (count-lines 1 (point)))))
(defun auth-source-netrc-parse-entries(check max) (defun auth-source-netrc-parse-entries(check max)
"Parse up to MAX netrc entries, passed by CHECK, from the current buffer." "Parse up to MAX netrc entries, passed by CHECK, from the current buffer."
(let ((adder (lambda(check alist all) (let ((adder (lambda(check alist all)
...@@ -1071,6 +1078,8 @@ Note that the MAX parameter is used so we can exit the parse early." ...@@ -1071,6 +1078,8 @@ Note that the MAX parameter is used so we can exit the parse early."
(when (and alist (when (and alist
(or default (or default
(equal item "machine"))) (equal item "machine")))
(auth-source-do-trivia
"auth-source-netrc-parse-entries: got entry %S" alist)
(setq all (funcall adder check alist all) (setq all (funcall adder check alist all)
alist nil)) alist nil))
;; In default entries, we don't have a next token. ;; In default entries, we don't have a next token.
...@@ -1079,11 +1088,21 @@ Note that the MAX parameter is used so we can exit the parse early." ...@@ -1079,11 +1088,21 @@ Note that the MAX parameter is used so we can exit the parse early."
(push (cons "machine" t) alist) (push (cons "machine" t) alist)
;; Not a default entry. Grab the next item. ;; Not a default entry. Grab the next item.
(when (setq item2 (auth-source-netrc-parse-one)) (when (setq item2 (auth-source-netrc-parse-one))
(push (cons item item2) alist)))) ;; Did we get a "machine" value?
(if (equal item2 "machine")
(progn
(gnus-error 1
"%s: Unexpected 'machine' token at line %d"
"auth-source-netrc-parse-entries"
(auth-source-current-line))
(forward-line 1))
(push (cons item item2) alist)))))
;; Clean up: if there's an entry left over, use it. ;; Clean up: if there's an entry left over, use it.
(when alist (when alist
(setq all (funcall adder check alist all))) (setq all (funcall adder check alist all))
(auth-source-do-trivia
"auth-source-netrc-parse-entries: got2 entry %S" alist))
(nreverse all))) (nreverse all)))
(defvar auth-source-passphrase-alist nil) (defvar auth-source-passphrase-alist nil)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment