Function: spam-check-blackholes
spam-check-blackholes is a byte-compiled function defined in
spam.el.gz.
Signature
(spam-check-blackholes)
Documentation
Check the Received headers for blackholed relays.
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/spam.el.gz
(defun spam-check-blackholes ()
"Check the Received headers for blackholed relays."
(let ((headers (message-fetch-field "received"))
ips matches)
(when headers
(with-temp-buffer
(insert headers)
(goto-char (point-min))
(gnus-message 6 "Checking headers for relay addresses")
(while (re-search-forward
"\\([0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+\\)" nil t)
(gnus-message 9 "Blackhole search found host IP %s." (match-string 1))
(push (spam-reverse-ip-string (match-string 1))
ips)))
(dolist (server spam-blackhole-servers)
(dolist (ip ips)
(unless (and spam-blackhole-good-server-regex
;; match against the reversed (again) IP string
(string-match
spam-blackhole-good-server-regex
(spam-reverse-ip-string ip)))
(unless matches
(let ((query-string (concat ip "." server)))
(if spam-use-dig
(let ((query-result (query-dig query-string)))
(when query-result
(gnus-message 6 "(DIG): positive blackhole check `%s'"
query-result)
(push (list ip server query-result)
matches)))
;; else, if not using dig.el
(when (dns-query query-string)
(gnus-message 6 "positive blackhole check")
(push (list ip server (dns-query query-string 'TXT))
matches)))))))))
(when matches
spam-split-group)))