Merge changes made in Gnus trunk.
nnir.el (nnir-request-expire-articles): Only allow article deletion. message.el (message-bogus-recipient-p): Set address to "" if nil. gnus-gravatar.el (gnus-gravatar-transform-address): Fix error when email address is nil. proto-stream.el (proto-stream-open-network-only): New function to have a way to specify non-STARTTLS upgrade connections.
This commit is contained in:
parent
2b7f50d877
commit
3b84b00502
7 changed files with 66 additions and 32 deletions
|
@ -14445,6 +14445,9 @@ remote system. If both Emacs and the server supports it, the
|
|||
connection will be upgraded to an encrypted @acronym{STARTTLS}
|
||||
connection automatically.
|
||||
|
||||
@item network-only
|
||||
The same as the above, but don't do automatic @acronym{STARTTLS} upgrades.
|
||||
|
||||
@findex nntp-open-tls-stream
|
||||
@item nntp-open-tls-stream
|
||||
Opens a connection to a server over a @dfn{secure} channel. To use
|
||||
|
|
|
@ -1,3 +1,21 @@
|
|||
2010-12-10 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
* proto-stream.el (proto-stream-open-network-only): New function to
|
||||
have a way to specify non-STARTTLS upgrade connections.
|
||||
|
||||
2010-12-10 Julien Danjou <julien@danjou.info>
|
||||
|
||||
* gnus-gravatar.el (gnus-gravatar-transform-address): Fix error when
|
||||
email address is nil.
|
||||
|
||||
* message.el (message-bogus-recipient-p): Set address to "" if nil.
|
||||
|
||||
2010-12-10 Andrew Cohen <cohen@andy.bu.edu>
|
||||
|
||||
* nnir.el (nnir-request-expire-articles): Ignore expiry except for
|
||||
deletion.
|
||||
(nnir-run-imap): Only need to parse list once.
|
||||
|
||||
2010-12-09 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
* shr.el (shr-tag-script): Ignore <script>.
|
||||
|
|
|
@ -65,7 +65,7 @@ If nil, default to `gravatar-size'."
|
|||
(when (or force
|
||||
(not (and gnus-gravatar-too-ugly
|
||||
(or (string-match gnus-gravatar-too-ugly
|
||||
(cadr address))
|
||||
(or (cadr address) ""))
|
||||
(and name
|
||||
(string-match gnus-gravatar-too-ugly
|
||||
name))))))
|
||||
|
|
|
@ -4261,9 +4261,10 @@ matching entry in `message-bogus-addresses'."
|
|||
;; FIXME: How about "foo@subdomain", when the MTA adds ".domain.tld"?
|
||||
(let (found)
|
||||
(mapc (lambda (address)
|
||||
(setq address (cadr address))
|
||||
(setq address (or (cadr address) ""))
|
||||
(when
|
||||
(or (not
|
||||
(or (string= "" address)
|
||||
(not
|
||||
(or
|
||||
(not (string-match "@" address))
|
||||
(string-match
|
||||
|
@ -4277,7 +4278,7 @@ matching entry in `message-bogus-addresses'."
|
|||
"\\|")
|
||||
message-bogus-addresses)))
|
||||
(string-match re address))))
|
||||
(push address found)))
|
||||
(push address found)))
|
||||
;;
|
||||
(mail-extract-address-components recipients t))
|
||||
found))
|
||||
|
|
|
@ -688,23 +688,25 @@ Add an entry here when adding a new search engine.")
|
|||
(gnus-group-real-name to-newsgroup)))))
|
||||
|
||||
(deffoo nnir-request-expire-articles (articles group &optional server force)
|
||||
(let ((articles-by-group (nnir-categorize
|
||||
articles nnir-article-group nnir-article-ids))
|
||||
not-deleted)
|
||||
(while (not (null articles-by-group))
|
||||
(let* ((group-articles (pop articles-by-group))
|
||||
(artgroup (car group-articles))
|
||||
(articleids (cadr group-articles))
|
||||
(artlist (sort (mapcar 'cdr articleids) '<)))
|
||||
(unless (gnus-check-backend-function 'request-expire-articles
|
||||
artgroup)
|
||||
(error "The group %s does not support article deletion" artgroup))
|
||||
(unless (gnus-check-server (gnus-find-method-for-group artgroup))
|
||||
(error "Couldn't open server for group %s" artgroup))
|
||||
(push (gnus-request-expire-articles
|
||||
artlist artgroup force)
|
||||
not-deleted)))
|
||||
(sort (delq nil not-deleted) '<)))
|
||||
(if force
|
||||
(let ((articles-by-group (nnir-categorize
|
||||
articles nnir-article-group nnir-article-ids))
|
||||
not-deleted)
|
||||
(while (not (null articles-by-group))
|
||||
(let* ((group-articles (pop articles-by-group))
|
||||
(artgroup (car group-articles))
|
||||
(articleids (cadr group-articles))
|
||||
(artlist (sort (mapcar 'cdr articleids) '<)))
|
||||
(unless (gnus-check-backend-function 'request-expire-articles
|
||||
artgroup)
|
||||
(error "The group %s does not support article deletion" artgroup))
|
||||
(unless (gnus-check-server (gnus-find-method-for-group artgroup))
|
||||
(error "Couldn't open server for group %s" artgroup))
|
||||
(push (gnus-request-expire-articles
|
||||
artlist artgroup force)
|
||||
not-deleted)))
|
||||
(sort (delq nil not-deleted) '<))
|
||||
articles))
|
||||
|
||||
(deffoo nnir-warp-to-article ()
|
||||
(let* ((cur (if (> (gnus-summary-article-number) 0)
|
||||
|
@ -792,12 +794,13 @@ details on the language and supported extensions"
|
|||
(nnir-imap-make-query
|
||||
criteria qstring)))))
|
||||
(mapc
|
||||
(lambda (artnum) (push (vector group artnum 100) artlist)
|
||||
(setq arts (1+ arts)))
|
||||
(and (car result)
|
||||
(delete 0 (mapcar #'string-to-number
|
||||
(cdr (assoc "SEARCH"
|
||||
(cdr result)))))))
|
||||
(lambda (artnum)
|
||||
(let ((artn (string-to-number artnum)))
|
||||
(when (> artn 0)
|
||||
(push (vector group artn 100)
|
||||
artlist)
|
||||
(setq arts (1+ arts)))))
|
||||
(and (car result) (cdr (assoc "SEARCH" (cdr result)))))
|
||||
(message "Searching %s... %d matches" group arts)))
|
||||
(message "Searching %s...done" group))
|
||||
(quit nil))
|
||||
|
@ -1581,8 +1584,10 @@ server is of form 'backend:name'."
|
|||
(or nnir-summary-line-format gnus-summary-line-format))
|
||||
(remove-hook 'gnus-summary-article-delete-hook 'gnus-registry-action t)
|
||||
(remove-hook 'gnus-summary-article-move-hook 'gnus-registry-action t)
|
||||
(remove-hook 'gnus-summary-article-expire-hook 'gnus-registry-action t)
|
||||
(add-hook 'gnus-summary-article-delete-hook 'nnir-registry-action t t)
|
||||
(add-hook 'gnus-summary-article-move-hook 'nnir-registry-action t t)))
|
||||
(add-hook 'gnus-summary-article-move-hook 'nnir-registry-action t t)
|
||||
(add-hook 'gnus-summary-article-expire-hook 'nnir-registry-action t t)))
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -87,6 +87,8 @@ host.
|
|||
|
||||
Direct connections:
|
||||
- `nntp-open-network-stream' (the default),
|
||||
- `network-only' (the same as the above, but don't do automatic
|
||||
STARTTLS upgrades).
|
||||
- `nntp-open-ssl-stream',
|
||||
- `nntp-open-tls-stream',
|
||||
- `nntp-open-netcat-stream'.
|
||||
|
@ -1267,6 +1269,7 @@ password contained in '~/.nntp-authinfo'."
|
|||
(let ((coding-system-for-read nntp-coding-system-for-read)
|
||||
(coding-system-for-write nntp-coding-system-for-write)
|
||||
(map '((nntp-open-network-stream network)
|
||||
(network-only network-only)
|
||||
(nntp-open-ssl-stream tls)
|
||||
(nntp-open-tls-stream tls))))
|
||||
(if (assoc nntp-open-connection-function map)
|
||||
|
|
|
@ -75,10 +75,11 @@ is a string representing the capabilities of the server (if any).
|
|||
The PARAMETERS is a keyword list that can have the following
|
||||
values:
|
||||
|
||||
:type -- either `network', `tls', `shell' or `starttls'. If
|
||||
omitted, the default is `network'. `network' will be
|
||||
opportunistically upgraded to STARTTLS if both the server and
|
||||
Emacs supports it.
|
||||
:type -- either `network', `network-only, `tls', `shell' or
|
||||
`starttls'. If omitted, the default is `network'. `network'
|
||||
will be opportunistically upgraded to STARTTLS if both the server
|
||||
and Emacs supports it. If you don't want STARTTLS upgrades, use
|
||||
`network-only'.
|
||||
|
||||
:end-of-command -- a regexp saying what the end of a command is.
|
||||
This defaults to \"\\n\".
|
||||
|
@ -109,6 +110,9 @@ command to switch on STARTTLS otherwise."
|
|||
stream)
|
||||
greeting capabilities))))
|
||||
|
||||
(defun proto-stream-open-network-only (name buffer host service parameters)
|
||||
(open-network-stream name buffer host service))
|
||||
|
||||
(defun proto-stream-open-network (name buffer host service parameters)
|
||||
(let* ((start (with-current-buffer buffer (point)))
|
||||
(stream (open-network-stream name buffer host service))
|
||||
|
|
Loading…
Add table
Reference in a new issue