;ELC   
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.



(byte-code "\300\301!\210\300\302!\210\303\304\305\"\210\306\307\310\311\312\313\312\314&\210\315\316\317\320\321DD\322\323\324%\210\315\325\317\320\326DD\327\323\330%\210\315\331\317\320\332DD\333\323\334%\210\315\335\317\320\336DD\337\323\340%\210\315\341\317\320\342DD\343\323\344%\207" [require gnus gnus-sum autoload mm-url-insert "mm-url" custom-declare-group spam-report nil "Spam reporting configuration." :group mail news custom-declare-variable spam-report-gmane-regex funcall function #[0 "\300\207" [nil] 1 #1=""] "Regexp matching Gmane newsgroups, e.g. \"^nntp\\+.*:gmane\\.\"\nIf you are using spam.el, consider setting gnus-spam-process-newsgroups\nor the gnus-group-spam-exit-processor-report-gmane group/topic parameter\ninstead." :type (radio (const nil) (regexp :value "^nntp\\+.*:gmane\\.")) spam-report-gmane-use-article-number #[0 "\300\207" [t] 1 #1#] "Whether the article number (faster!) or the header should be used.\n\nYou must set this to nil if you don't read Gmane groups directly\nfrom news.gmane.org, e.g. when using local newsserver such as\nleafnode." boolean spam-report-url-ping-function #[0 "\300\207" [spam-report-url-ping-plain] 1 #1#] "Function to use for url ping spam reporting.\nThe function must accept the arguments `host' and `report'." (choice (const :tag "Connect directly" spam-report-url-ping-plain) (const :tag "Use the external program specified in `mm-url-program'" spam-report-url-ping-mm-url) (const :tag "Store request URLs in `spam-report-requests-file'" spam-report-url-to-file) (function :tag "User defined function" nil)) spam-report-requests-file #[0 "\301\302\303#\207" [gnus-directory nnheader-concat "spam/" "spam-report-requests.url"] 4 #1#] "File where spam report request are stored." file spam-report-resend-to #[0 "\300\207" [nil] 1 #1#] "Email address that spam articles are resent to when reporting.\nIf not set, the user will be prompted to enter a value which will be\nsaved for future use." (choice (const :tag "Prompt" nil) string)] 8)
#@245 Internal variable for `spam-report-agentize' and `spam-report-deagentize'.
This variable will store the value of `spam-report-url-ping-function' from
before `spam-report-agentize' was run, so that `spam-report-deagentize' can
undo that change.
(defvar spam-report-url-ping-temp-agent-function nil (#$ . 2098))
#@115 Report an article as spam by resending via email.
Reports is as ham when HAM is set.

(fn ARTICLES &optional HAM)
(defalias 'spam-report-resend #[513 "\211\2059 \211@\302\303\304\203 \305\202 \306%\210\204\" \307\310\311!\"\210\312\313\211\211$\210r	q\210\314!\210)A\266\202\202 \207" [spam-report-resend-to gnus-original-article-buffer gnus-message 6 "Reporting %s article %d to <%s>..." "ham" "spam" customize-set-variable read-from-minibuffer "email address to resend SPAM/HAM to? " gnus-summary-select-article nil message-resend] 10 (#$ . 2415)])
#@65 Report an article as ham by resending via email.

(fn ARTICLES)
(defalias 'spam-report-resend-ham #[257 "\300\301\"\207" [spam-report-resend t] 4 (#$ . 2984)])
#@58 Number of reports to send before waiting for a response.
(defconst spam-report-gmane-max-requests 4 (#$ . 3151))
#@150 When non-nil, wait until we get a server response.
This makes sure we don't DOS the host, if many reports are
submitted at once.  Internal variable.
(defvar spam-report-gmane-wait nil (#$ . 3271))
#@73 Report ARTICLES as ham (unregister) through Gmane.

(fn &rest ARTICLES)
(defalias 'spam-report-gmane-ham #[128 "\302\211\205 \211@T\262\246\302U\303\304\"\210)A\266\202\202 \207" [spam-report-gmane-max-requests spam-report-gmane-wait 0 spam-report-gmane-internal t] 7 (#$ . 3474) [(gnus-summary-work-articles current-prefix-arg) (gnus-summary-mode)]])
#@61 Report ARTICLES as spam through Gmane.

(fn &rest ARTICLES)
(defalias 'spam-report-gmane-spam #[128 "\302\211\205 \211@T\262\246\302U\303\304\"\210)A\266\202\202 \207" [spam-report-gmane-max-requests spam-report-gmane-wait 0 spam-report-gmane-internal nil] 7 (#$ . 3842) [(gnus-summary-work-articles current-prefix-arg) (gnus-summary-mode)]])
(defalias 'spam-report-gmane 'spam-report-gmane-spam)
#@93 Report ARTICLE as spam or not-spam through Gmane, depending on UNSPAM.

(fn UNSPAM ARTICLE)
(defalias 'spam-report-gmane-internal #[514 "\205	\203 \306	\"\205\203 \307\202 \310\311\312\313$\210\314!@\315=\203K \316\317\320\317\321\322\323\324\322\325\326\327\n\"\3308\262\211\331H\262###P\"\202\203m \316\332\333\306\334\"\203c \211\335\225\336O\202d \211\262#\"\202r\fq\210\337 \210\340\"\210\341\336\211\211\211\342\343!\206\217 \342\344!\206\217 \342\345!\262;\204\265 \342\346!\211\262\203\306 \306\347\"\203\306 \317\350\351\"P\262\262\202\306 \306\352\"\210\350\351\"\262\350\353\"\262\203\341 \354\230\203\332 \262\322\355\356#\262\332\357#\262\203\355 \203\355 \211\204\366 \311\330\360	#\202 \311\361\362#\210\316\")\266\205)\262\207" [gnus-newsgroup-name spam-report-gmane-regex gnus-newsgroup-data spam-report-gmane-use-article-number nntp-server-buffer case-fold-search string-match "unspam.gmane.org" "spam.gmane.org" gnus-message 6 "Reporting article %d to %s..." gnus-find-method-for-group nnweb spam-report-url-ping "/" string-replace ":" replace-regexp-in-string "^.*article.gmane.org/" "" "/raw" ":silent" gnus-data-find-in 3 8 format "/%s:%d" "^[^:]+:" 0 nil erase-buffer gnus-request-head t gnus-fetch-field "X-Report-Spam" "X-Report-Unspam" "Archived-At" "Xref" "[^ ]+ +\\([^ ]+\\)" match-string 1 "http://\\([a-z]+\\.gmane\\.org\\)\\(/[^:/]+[:/][0-9]+\\)" 2 "permalink.gmane.org" "/\\([0-9]+\\)$" ":\\1" "http://%s%s" "Could not find a spam report header in article %d..." 7 "Reporting article through URL %s..."] 18 (#$ . 4255)])
#@145 Ping a host through HTTP, addressing a specific GET resource using
the function specified by `spam-report-url-ping-function'.

(fn HOST REPORT)
(defalias 'spam-report-url-ping #[514 "\"\207" [spam-report-url-ping-function] 5 (#$ . 5880)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable spam-report-user-mail-address funcall function #[0 ";\205\n \301\302\303#\207" [user-mail-address string-replace "@" "<at>"] 4 ""] "Mail address of this user used for spam reports to Gmane.\nThis is initialized based on `user-mail-address'." :type (choice string (const :tag "Don't expose address" nil)) :version "23.1"] 8)
(defvar spam-report-user-agent (byte-code "\203\f \301\302\303\304 $\207\301\305\303\304 #\207" [spam-report-user-mail-address format "%s (%s) %s" "spam-report.el" gnus-extended-version "%s %s"] 5))
#@81 Ping a host through HTTP, addressing a specific GET resource.

(fn HOST REPORT)
(defalias 'spam-report-url-ping-plain #[514 "\302\303\304\305\"r\211q\210\306\307\"\216\310\311\312 \313$\211\262\204! \314\315\"\210\316!e\302\223\210\317\302\"\210\320\321\322	$\"\210	\205a \323\324\325#\210\326!\327>\203[ \330 \331U\203[ \332\333\"\210\202D \323\324\334#*\207" [spam-report-user-agent spam-report-gmane-wait nil generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] open-network-stream "URL ping" buffer-name 80 error "Could not open connection to %s" process-mark set-process-query-on-exit-flag process-send-string format "GET %s HTTP/1.1\nUser-Agent: %s\nHost: %s\n\n" gnus-message 7 "Waiting for response from %s..." process-status (open run) buffer-size 0 accept-process-output 1 "Waiting for response from %s... done"] 11 (#$ . 6742)])
#@268 Report all queued requests from `spam-report-requests-file'.

If FILE is given, use it instead of `spam-report-requests-file'.
If KEEP is t, leave old requests in the file.  If KEEP is the
symbol `ask', query before flushing the queue file.

(fn &optional FILE KEEP)
(defalias 'spam-report-process-queue #[512 "\304=\203 \305\306!\210\202 \307\310\311#\210\204 	\262r\312!q\210eb\210m\204R \313\314\315 \316#\203R \317 \n\246\320U\307\321\322\323\324!\323\325!$\210\323\324!\323\325!\"\210)\324y\210\202# \211\203e \211\326=\203w \327\330\331p\"!\203w \307\310\332	#\210\333 \210\334 \210\335p!\202| \307\310\336	#)\207" [spam-report-url-ping-function spam-report-requests-file spam-report-gmane-max-requests spam-report-gmane-wait spam-report-url-to-file error "Cannot process requests when `spam-report-url-ping-function' is `spam-report-url-to-file'." gnus-message 7 "Processing requests using `%s'." find-file-noselect re-search-forward "http://\\([^/]+\\)\\(/.*\\) *$" point-at-eol t line-number-at-pos 0 6 "Reporting %s%s..." match-string 1 2 ask y-or-n-p format-message "Flush requests from `%s'? " "Flushing request file `%s'" erase-buffer save-buffer kill-buffer "Keeping requests in `%s'"] 8 (#$ . 7666) (byte-code "\302\303\304!\305\306!%	D\207" [spam-report-requests-file current-prefix-arg read-file-name "File: " file-name-directory nil file-name-nondirectory] 7)])
#@158 Ping a host through HTTP, addressing a specific GET resource.
Use the external program specified in `mm-url-program' to connect
to server.

(fn HOST REPORT)
(defalias 'spam-report-url-ping-mm-url #[514 "\300\301\302\"r\211q\210\303\304\"\216\305\306#\307\302\"\262*\207" [generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] format "http://%s%s" mm-url-insert] 7 (#$ . 9066)])
#@144 Collect spam report requests in `spam-report-requests-file'.
Customize `spam-report-url-ping-function' to use this function.

(fn HOST REPORT)
(defalias 'spam-report-url-to-file #[514 "\301\302#\303\304!!\210\305\306\307$\210\310\311\312\"r\211q\210\313\314\"\216c\210\315 \210\316ed#*\207" [spam-report-requests-file format "http://%s%s" gnus-make-directory file-name-directory gnus-message 9 "Writing URL `%s' to file `%s'" generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] newline append-to-file] 9 (#$ . 9514)])
#@188 Add spam-report support to the Agent.
Spam reports will be queued with \[spam-report-url-to-file] when
the Agent is unplugged, and will be submitted in a batch when the
Agent is plugged.
(defalias 'spam-report-agentize #[0 "\300\301\302\"\210\300\303\304\"\207" [add-hook gnus-agent-plugged-hook spam-report-plug-agent gnus-agent-unplugged-hook spam-report-unplug-agent] 3 (#$ . 10108) nil])
#@131 Remove spam-report support from the Agent.
Spam reports will be queued with the method used when
\[spam-report-agentize] was run.
(defalias 'spam-report-deagentize #[0 "\300\301\302\"\210\300\303\304\"\207" [remove-hook gnus-agent-plugged-hook spam-report-plug-agent gnus-agent-unplugged-hook spam-report-unplug-agent] 3 (#$ . 10507) nil])
#@77 Adjust spam report settings for plugged state.
Process queued spam reports.
(defalias 'spam-report-plug-agent #[0 "\302=\204	 \303 \210\206 \304\211\207" [spam-report-url-ping-temp-agent-function spam-report-url-ping-function spam-report-url-to-file spam-report-process-queue spam-report-url-ping-plain] 2 (#$ . 10853)])
#@51 Restore spam report settings for unplugged state.
(defalias 'spam-report-unplug-agent #[0 "\302\211\207" [spam-report-url-ping-function spam-report-url-ping-temp-agent-function spam-report-url-to-file] 2 (#$ . 11184)])
(provide 'spam-report)
