Mercurial > emacs
annotate lisp/gnus/spam-report.el @ 68648:067115a6e738
Update years in copyright notice; nfc.
author | Thien-Thi Nguyen <ttn@gnuvola.org> |
---|---|
date | Mon, 06 Feb 2006 12:31:40 +0000 |
parents | 1077b8039c32 |
children | d9dde5b81e71 |
rev | line source |
---|---|
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
1 ;;; spam-report.el --- Reporting spam |
64754
fafd692d1e40
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
64085
diff
changeset
|
2 |
68633
1077b8039c32
Update copyright notices of all files in the gnus directory.
Romain Francoise <romain@orebokech.com>
parents:
65691
diff
changeset
|
3 ;; Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. |
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
4 |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
5 ;; Author: Teodor Zlatanov <tzz@lifelogs.com> |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
6 ;; Keywords: network |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
7 |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
8 ;; This file is part of GNU Emacs. |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
9 |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
10 ;; GNU Emacs is free software; you can redistribute it and/or modify |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
11 ;; it under the terms of the GNU General Public License as published by |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
12 ;; the Free Software Foundation; either version 2, or (at your option) |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
13 ;; any later version. |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
14 |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
15 ;; GNU Emacs is distributed in the hope that it will be useful, |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
18 ;; GNU General Public License for more details. |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
19 |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
20 ;; You should have received a copy of the GNU General Public License |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
21 ;; along with GNU Emacs; see the file COPYING. If not, write to the |
64085 | 22 ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
23 ;; Boston, MA 02110-1301, USA. | |
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
24 |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
25 ;;; Commentary: |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
26 |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
27 ;;; This module addresses a few aspects of spam reporting under Gnus. Page |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
28 ;;; breaks are used for grouping declarations and documentation relating to |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
29 ;;; each particular aspect. |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
30 |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
31 ;;; Code: |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
32 (require 'gnus) |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
33 (require 'gnus-sum) |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
34 |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
35 (eval-and-compile |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
36 (autoload 'mm-url-insert "mm-url")) |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
37 |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
38 (defgroup spam-report nil |
62755
0d1a48b1ca68
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-324
Miles Bader <miles@gnu.org>
parents:
62428
diff
changeset
|
39 "Spam reporting configuration." |
0d1a48b1ca68
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-324
Miles Bader <miles@gnu.org>
parents:
62428
diff
changeset
|
40 :group 'mail |
0d1a48b1ca68
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-324
Miles Bader <miles@gnu.org>
parents:
62428
diff
changeset
|
41 :group 'news) |
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
42 |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
43 (defcustom spam-report-gmane-regex nil |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
44 "Regexp matching Gmane newsgroups, e.g. \"^nntp\\+.*:gmane\\.\" |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
45 If you are using spam.el, consider setting gnus-spam-process-newsgroups |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
46 or the gnus-group-spam-exit-processor-report-gmane group/topic parameter |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
47 instead." |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
48 :type '(radio (const nil) |
58835
9bdd97960431
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-716
Miles Bader <miles@gnu.org>
parents:
56927
diff
changeset
|
49 (regexp :value "^nntp\+.*:gmane\.")) |
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
50 :group 'spam-report) |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
51 |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
52 (defcustom spam-report-gmane-use-article-number t |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
53 "Whether the article number (faster!) or the header should be used." |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
54 :type 'boolean |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
55 :group 'spam-report) |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
56 |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
57 (defcustom spam-report-url-ping-function |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
58 'spam-report-url-ping-plain |
61822
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
59 "Function to use for url ping spam reporting. |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
60 The function must accept the arguments `host' and `report'." |
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
61 :type '(choice |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
62 (const :tag "Connect directly" |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
63 spam-report-url-ping-plain) |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
64 (const :tag "Use the external program specified in `mm-url-program'" |
61822
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
65 spam-report-url-ping-mm-url) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
66 (const :tag "Store request URLs in `spam-report-requests-file'" |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
67 spam-report-url-to-file) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
68 (function :tag "User defined function" nil)) |
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
69 :group 'spam-report) |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
70 |
61822
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
71 (defcustom spam-report-requests-file |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
72 (nnheader-concat gnus-directory "spam/" "spam-report-requests.url") |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
73 ;; Is there a convention for the extension of such a file? |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
74 ;; Should we use `spam-directory'? |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
75 "File where spam report request are stored." |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
76 :type 'file |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
77 :group 'spam-report) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
78 |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
79 (defvar spam-report-url-ping-temp-agent-function nil |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
80 "Internal variable for `spam-report-agentize' and `spam-report-deagentize'. |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
81 This variable will store the value of `spam-report-url-ping-function' from |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
82 before `spam-report-agentize' was run, so that `spam-report-deagentize' can |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
83 undo that change.") |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
84 |
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
85 (defun spam-report-gmane (&rest articles) |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
86 "Report an article as spam through Gmane" |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
87 (dolist (article articles) |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
88 (when (and gnus-newsgroup-name |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
89 (or (null spam-report-gmane-regex) |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
90 (string-match spam-report-gmane-regex gnus-newsgroup-name))) |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
91 (gnus-message 6 "Reporting spam article %d to spam.gmane.org..." article) |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
92 (if spam-report-gmane-use-article-number |
64754
fafd692d1e40
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
64085
diff
changeset
|
93 (spam-report-url-ping |
61822
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
94 "spam.gmane.org" |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
95 (format "/%s:%d" |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
96 (gnus-group-real-name gnus-newsgroup-name) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
97 article)) |
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
98 (with-current-buffer nntp-server-buffer |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
99 (gnus-request-head article gnus-newsgroup-name) |
65388
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
100 (let ((case-fold-search t) |
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
101 field host report url) |
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
102 ;; First check for X-Report-Spam because it's more specific to |
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
103 ;; spam reporting than Archived-At. OTOH, all new articles on |
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
104 ;; Gmane don't have X-Report-Spam anymore (unless Lars changes his |
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
105 ;; mind :-)). |
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
106 ;; |
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
107 ;; There might be more than one Archived-At header so we need to |
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
108 ;; find (and transform) the one related to Gmane. |
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
109 (setq field (or (gnus-fetch-field "X-Report-Spam") |
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
110 (gnus-fetch-field "Archived-At"))) |
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
111 (setq host (progn |
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
112 (string-match |
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
113 (concat "http://\\([a-z]+\\.gmane\\.org\\)" |
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
114 "\\(/[^:/]+[:/][0-9]+\\)") |
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
115 field) |
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
116 (match-string 1 field))) |
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
117 (setq report (match-string 2 field)) |
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
118 (when (string-equal "permalink.gmane.org" host) |
65446
eb0fd19f4e01
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-540
Miles Bader <miles@gnu.org>
parents:
65388
diff
changeset
|
119 (setq host "spam.gmane.org") |
eb0fd19f4e01
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-540
Miles Bader <miles@gnu.org>
parents:
65388
diff
changeset
|
120 (setq report (gnus-replace-in-string |
eb0fd19f4e01
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-540
Miles Bader <miles@gnu.org>
parents:
65388
diff
changeset
|
121 report "/\\([0-9]+\\)$" ":\\1"))) |
65388
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
122 (setq url (format "http://%s%s" host report)) |
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
123 (if (not (and host report url)) |
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
124 (gnus-message |
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
125 3 "Could not find a spam report header in article %d..." |
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
126 article) |
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
127 (gnus-message 7 "Reporting spam through URL %s..." url) |
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
128 (spam-report-url-ping host report)))))))) |
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
129 |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
130 (defun spam-report-url-ping (host report) |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
131 "Ping a host through HTTP, addressing a specific GET resource using |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
132 the function specified by `spam-report-url-ping-function'." |
65388
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
133 ;; Example: |
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
134 ;; host: "spam.gmane.org" |
45be648405bb
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-536
Miles Bader <miles@gnu.org>
parents:
64754
diff
changeset
|
135 ;; report: "/gmane.some.group:123456" |
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
136 (funcall spam-report-url-ping-function host report)) |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
137 |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
138 (defun spam-report-url-ping-plain (host report) |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
139 "Ping a host through HTTP, addressing a specific GET resource." |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
140 (let ((tcp-connection)) |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
141 (with-temp-buffer |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
142 (or (setq tcp-connection |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
143 (open-network-stream |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
144 "URL ping" |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
145 (buffer-name) |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
146 host |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
147 80)) |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
148 (error "Could not open connection to %s" host)) |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
149 (set-marker (process-mark tcp-connection) (point-min)) |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
150 (process-send-string |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
151 tcp-connection |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
152 (format "GET %s HTTP/1.1\nUser-Agent: %s (spam-report.el)\nHost: %s\n\n" |
65691
cb3218d6e82a
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-561
Miles Bader <miles@gnu.org>
parents:
65446
diff
changeset
|
153 report (gnus-extended-version) host))))) |
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
154 |
61822
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
155 ;;;###autoload |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
156 (defun spam-report-process-queue (&optional file keep) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
157 "Report all queued requests from `spam-report-requests-file'. |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
158 |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
159 If FILE is given, use it instead of `spam-report-requests-file'. |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
160 If KEEP is t, leave old requests in the file. If KEEP is the |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
161 symbol `ask', query before flushing the queue file." |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
162 (interactive |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
163 (list (read-file-name |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
164 "File: " |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
165 (file-name-directory spam-report-requests-file) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
166 spam-report-requests-file |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
167 nil |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
168 (file-name-nondirectory spam-report-requests-file)) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
169 current-prefix-arg)) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
170 (if (eq spam-report-url-ping-function 'spam-report-url-to-file) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
171 (error (concat "Cannot process requests when " |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
172 "`spam-report-url-ping-function' is " |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
173 "`spam-report-url-to-file'.")) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
174 (gnus-message 7 "Processing requests using `%s'." |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
175 spam-report-url-ping-function)) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
176 (or file (setq file spam-report-requests-file)) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
177 (save-excursion |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
178 (set-buffer (find-file-noselect file)) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
179 (goto-char (point-min)) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
180 (while (and (not (eobp)) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
181 (re-search-forward |
62428
9f49da4a429d
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-314
Miles Bader <miles@gnu.org>
parents:
61822
diff
changeset
|
182 "http://\\([^/]+\\)\\(/.*\\) *$" (gnus-point-at-eol) t)) |
61822
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
183 (funcall spam-report-url-ping-function (match-string 1) (match-string 2)) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
184 (forward-line 1)) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
185 (if (or (eq keep nil) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
186 (and (eq keep 'ask) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
187 (y-or-n-p |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
188 (format |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
189 "Flush requests from `%s'? " (current-buffer))))) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
190 (progn |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
191 (gnus-message 7 "Flushing request file `%s'" |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
192 spam-report-requests-file) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
193 (erase-buffer) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
194 (save-buffer) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
195 (kill-buffer (current-buffer))) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
196 (gnus-message 7 "Keeping requests in `%s'" spam-report-requests-file)))) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
197 |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
198 ;;;###autoload |
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
199 (defun spam-report-url-ping-mm-url (host report) |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
200 "Ping a host through HTTP, addressing a specific GET resource. Use |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
201 the external program specified in `mm-url-program' to connect to |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
202 server." |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
203 (with-temp-buffer |
62907
88db2adda4b7
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-339
Miles Bader <miles@gnu.org>
parents:
62755
diff
changeset
|
204 (let ((url (format "http://%s%s" host report))) |
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
205 (mm-url-insert url t)))) |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
206 |
61822
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
207 ;;;###autoload |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
208 (defun spam-report-url-to-file (host report) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
209 "Collect spam report requests in `spam-report-requests-file'. |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
210 Customize `spam-report-url-ping-function' to use this function." |
62907
88db2adda4b7
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-339
Miles Bader <miles@gnu.org>
parents:
62755
diff
changeset
|
211 (let ((url (format "http://%s%s" host report)) |
61822
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
212 (file spam-report-requests-file)) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
213 (gnus-make-directory (file-name-directory file)) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
214 (gnus-message 9 "Writing URL `%s' to file `%s'" url file) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
215 (with-temp-buffer |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
216 (insert url) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
217 (newline) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
218 (append-to-file (point-min) (point-max) file)))) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
219 |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
220 ;;;###autoload |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
221 (defun spam-report-agentize () |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
222 "Add spam-report support to the Agent. |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
223 Spam reports will be queued with \\[spam-report-url-to-file] when |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
224 the Agent is unplugged, and will be submitted in a batch when the |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
225 Agent is plugged." |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
226 (interactive) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
227 (add-hook 'gnus-agent-plugged-hook 'spam-report-plug-agent) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
228 (add-hook 'gnus-agent-unplugged-hook 'spam-report-unplug-agent)) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
229 |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
230 ;;;###autoload |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
231 (defun spam-report-deagentize () |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
232 "Remove spam-report support from the Agent. |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
233 Spam reports will be queued with the method used when |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
234 \\[spam-report-agentize] was run." |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
235 (interactive) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
236 (remove-hook 'gnus-agent-plugged-hook 'spam-report-plug-agent) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
237 (remove-hook 'gnus-agent-unplugged-hook 'spam-report-unplug-agent)) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
238 |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
239 (defun spam-report-plug-agent () |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
240 "Adjust spam report settings for plugged state. |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
241 Process queued spam reports." |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
242 ;; Process the queue, unless the user only wanted to report to a file |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
243 ;; anyway. |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
244 (unless (equal spam-report-url-ping-temp-agent-function |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
245 'spam-report-url-to-file) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
246 (spam-report-process-queue)) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
247 ;; Set the reporting function, if we have memorized something otherwise, |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
248 ;; stick with plain URL reporting. |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
249 (setq spam-report-url-ping-function |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
250 (or spam-report-url-ping-temp-agent-function |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
251 'spam-report-url-ping-plain))) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
252 |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
253 (defun spam-report-unplug-agent () |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
254 "Restore spam report settings for unplugged state." |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
255 ;; save the old value |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
256 (setq spam-report-url-ping-temp-agent-function |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
257 spam-report-url-ping-function) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
258 ;; store all reports to file |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
259 (setq spam-report-url-ping-function |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
260 'spam-report-url-to-file)) |
de8a95c880bd
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-277
Miles Bader <miles@gnu.org>
parents:
58835
diff
changeset
|
261 |
56927
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
262 (provide 'spam-report) |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
263 |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
264 ;;; arch-tag: f6683295-ec89-4ab5-8803-8cc842293022 |
55fd4f77387a
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-523
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
265 ;;; spam-report.el ends here. |