From 6c361d03194a4c8470c2866197a82f7e3ec58b05 Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Fri, 9 Sep 2005 03:20:19 +0000 Subject: [PATCH] Revision: miles@gnu.org--gnu-2005/gnus--devo--0--patch-195 Merge from gnus--rel--5.10 Patches applied: * gnus--rel--5.10 (patch 112-114) - Update from CVS 2005-09-07 Reiner Steib * lisp/spam-report.el (spam-report-gmane): Make it work without X-Report-Spam header. Gmane now only provides Archived-At. This is only used if `spam-report-gmane-use-article-number' is nil. (spam-report-gmane-spam-header): Removed. Not used anymore. 2005-09-06 Reiner Steib * lisp/mml-smime.el: Remove defvar of gnus-extract-address-components. --- lisp/ChangeLog | 9 +++++++++ lisp/mml-smime.el | 2 -- lisp/spam-report.el | 45 ++++++++++++++++++++++++++++++--------------- 3 files changed, 39 insertions(+), 17 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a167e7441..2c790c085 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,10 @@ 2005-09-07 Reiner Steib + * spam-report.el (spam-report-gmane): Make it work without + X-Report-Spam header. Gmane now only provides Archived-At. This + is only used if `spam-report-gmane-use-article-number' is nil. + (spam-report-gmane-spam-header): Removed. Not used anymore. + * gnus-sum.el (gnus-thread-sort-by-recipient): New function to make `gnus-summary-sort-by-recipient' work with threading. @@ -11,6 +16,10 @@ * gnus-art.el (gnus-mime-display-single): Revert 2004-10-07 change. Decode text/* parts content before displaying. +2005-09-06 Reiner Steib + + * mml-smime.el: Remove defvar of gnus-extract-address-components. + 2005-09-06 Katsumi Yamaoka * mm-view.el (mm-display-inline-fontify): Disable support modes. diff --git a/lisp/mml-smime.el b/lisp/mml-smime.el index b29048911..cf6e8913e 100644 --- a/lisp/mml-smime.el +++ b/lisp/mml-smime.el @@ -29,8 +29,6 @@ (eval-when-compile (require 'cl)) -(defvar gnus-extract-address-components) - (require 'smime) (require 'mm-decode) (autoload 'message-narrow-to-headers "message") diff --git a/lisp/spam-report.el b/lisp/spam-report.el index aa05528f0..145a30b15 100644 --- a/lisp/spam-report.el +++ b/lisp/spam-report.el @@ -49,12 +49,6 @@ instead." (regexp :value "^nntp\+.*:gmane\.")) :group 'spam-report) -(defcustom spam-report-gmane-spam-header - "^X-Report-Spam: http://\\([^/]+\\)\\(.*\\)$" - "String matching Gmane spam-reporting header. Two match groups are needed." - :type 'regexp - :group 'spam-report) - (defcustom spam-report-gmane-use-article-number t "Whether the article number (faster!) or the header should be used." :type 'boolean @@ -137,20 +131,41 @@ Reports is as ham when HAM is set." article)) (with-current-buffer nntp-server-buffer (gnus-request-head article gnus-newsgroup-name) - (goto-char (point-min)) - (if (re-search-forward spam-report-gmane-spam-header nil t) - (let* ((host (match-string 1)) - (report (match-string 2)) - (url (format "http://%s%s" host report))) - (gnus-message 7 "Reporting spam through URL %s..." url) - (spam-report-url-ping host report)) - (gnus-message 3 "Could not find X-Report-Spam in article %d..." - article))))))) + (let ((case-fold-search t) + field host report url) + ;; First check for X-Report-Spam because it's more specific to + ;; spam reporting than Archived-At. OTOH, all new articles on + ;; Gmane don't have X-Report-Spam anymore (unless Lars changes his + ;; mind :-)). + ;; + ;; There might be more than one Archived-At header so we need to + ;; find (and transform) the one related to Gmane. + (setq field (or (gnus-fetch-field "X-Report-Spam") + (gnus-fetch-field "Archived-At"))) + (setq host (progn + (string-match + (concat "http://\\([a-z]+\\.gmane\\.org\\)" + "\\(/[^:/]+[:/][0-9]+\\)") + field) + (match-string 1 field))) + (setq report (match-string 2 field)) + (when (string-equal "permalink.gmane.org" host) + (setq host "spam.gmane.org")) + (setq url (format "http://%s%s" host report)) + (if (not (and host report url)) + (gnus-message + 3 "Could not find a spam report header in article %d..." + article) + (gnus-message 7 "Reporting spam through URL %s..." url) + (spam-report-url-ping host report)))))))) (defun spam-report-url-ping (host report) "Ping a host through HTTP, addressing a specific GET resource using the function specified by `spam-report-url-ping-function'." + ;; Example: + ;; host: "spam.gmane.org" + ;; report: "/gmane.some.group:123456" (funcall spam-report-url-ping-function host report)) (defun spam-report-url-ping-plain (host report) -- 2.25.1