(spam-extra-header-to-number): don't require spam-use-crm114 for
[gnus] / lisp / spam.el
index 26c0f5b..7fca078 100644 (file)
@@ -43,7 +43,6 @@
 (eval-when-compile (require 'cl))
 (eval-when-compile (require 'spam-report))
 (eval-when-compile (require 'hashcash))
-(eval-when-compile (require 'ietf-drums))
 
 (require 'gnus-sum)
 
@@ -1155,9 +1154,11 @@ backends)."
              spam-use-spamassassin-headers
              spam-use-regex-headers)
       (push 'X-Spam-Status list))
-    (when spam-use-bogofilter
+    (when (or spam-use-bogofilter
+             spam-use-regex-headers)
       (push 'X-Bogosity list))
-    (when spam-use-crm114
+    (when (or spam-use-crm114
+             spam-use-regex-headers)
       (push 'X-CRM114-Status list))
     list))
 
@@ -1181,10 +1182,6 @@ backends)."
   ".*\\b\\(?:score\\|hits\\)=\\(-?[0-9.]+\\)"
   "Regexp matching SpamAssassin score header.
 The first group must match the number.")
-;; "score" for Spamassassin 3.0 or later:
-;; X-Spam-Status: Yes, score=13.1 required=5.0 tests=DNS_FROM_RFC_ABUSE,
-;;     [...],UNDISC_RECIPS autolearn=disabled version=3.0.3
-
 
 (defun spam-extra-header-to-number (header headers)
   "Transform an extra HEADER to a number, using list of HEADERS.
@@ -1198,7 +1195,7 @@ Note this has to be fast."
                              spam-spamassassin-score-regexp
                              "\\1")))
          ;; for CRM checking, it's probably faster to just do the string match
-         ((and spam-use-crm114 (string-match "( pR: \\([0-9.-]+\\)" header-content))
+         ((string-match "( pR: \\([0-9.-]+\\)" header-content)
           (string-to-number (match-string 1 header-content)))
          ((eq header 'X-Bogosity)
           (string-to-number (gnus-replace-in-string
@@ -2081,12 +2078,12 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details."
       "Enter an address into the BBDB; implies ham (non-spam) sender"
       (dolist (from addresses)
        (when (stringp from)
-         (let* ((parsed-address (ietf-drums-parse-address from))
-                (name (or (nth 1 parsed-address) "Ham Sender"))
+         (let* ((parsed-address (gnus-extract-address-components from))
+                (name (or (nth 0 parsed-address) "Ham Sender"))
                 (remove-function (if remove
                                      'bbdb-delete-record-internal
                                    'ignore))
-                (net-address (nth 0 parsed-address))
+                (net-address (nth 1 parsed-address))
                 (record (and net-address
                              (bbdb-search-simple nil net-address))))
            (when net-address
@@ -2130,7 +2127,7 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details."
                   bbdb-hashtable))))
            (puthash 'spam-use-BBDB bbdb-cache spam-caches)))
        (when who
-         (setq who (car (ietf-drums-parse-address who)))
+         (setq who (nth 1 (gnus-extract-address-components who)))
          (if
              (if spam-cache-lookups
                  (intern-soft (downcase who) bbdb-cache)
@@ -2380,7 +2377,7 @@ REMOVE not nil, remove the ADDRESSES."
          (forward-line 1)
          ;; insert the e-mail address if detected, otherwise the raw data
          (unless (zerop (length address))
-           (let ((pure-address (car (ietf-drums-parse-address address))))
+           (let ((pure-address (nth 1 (gnus-extract-address-components address))))
              (push (or pure-address address) contents)))))
       (nreverse contents))))