summaryrefslogtreecommitdiff
path: root/lisp/gnus
diff options
context:
space:
mode:
authorMiles Bader <miles@gnu.org>2006-11-20 02:43:10 +0000
committerMiles Bader <miles@gnu.org>2006-11-20 02:43:10 +0000
commitb07e014310fd5536f85ffff82ec87ccacd2992ba (patch)
tree93b29c65ee2665e2c757fc9db2afd6df12db4144 /lisp/gnus
parentb98f7445751fdaf08c83d47542d756812a1efcd2 (diff)
downloademacs-b07e014310fd5536f85ffff82ec87ccacd2992ba.tar.gz
Merge from gnus--rel--5.10
Patches applied: * gnus--rel--5.10 (patch 167) - Update from CVS 2006-11-18 Andreas Seltenreich <uwi7@rz.uni-karlsruhe.de> * lisp/gnus/mm-uu.el (mm-uu-pgp-signed-extract-1): Make last fix more thorough and comment it. * lisp/gnus/nnslashdot.el (nnslashdot-retrieve-headers-1): Update regexp. Revision: emacs@sv.gnu.org/emacs--devo--0--patch-518
Diffstat (limited to 'lisp/gnus')
-rw-r--r--lisp/gnus/ChangeLog7
-rw-r--r--lisp/gnus/mm-uu.el12
-rw-r--r--lisp/gnus/nnslashdot.el2
3 files changed, 18 insertions, 3 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 95e8bff4d16..196c0e6ff71 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,10 @@
+2006-11-18 Andreas Seltenreich <uwi7@rz.uni-karlsruhe.de>
+
+ * mm-uu.el (mm-uu-pgp-signed-extract-1): Make last fix more thorough
+ and comment it.
+
+ * nnslashdot.el (nnslashdot-retrieve-headers-1): Update regexp.
+
2006-11-15 Reiner Steib <Reiner.Steib@gmx.de>
* gnus-util.el (gnus-extract-address-components): Improve comment.
diff --git a/lisp/gnus/mm-uu.el b/lisp/gnus/mm-uu.el
index b1ed0b7af4e..311dce0d1b2 100644
--- a/lisp/gnus/mm-uu.el
+++ b/lisp/gnus/mm-uu.el
@@ -373,8 +373,16 @@ Return that buffer."
mm-security-handle 'gnus-details
(format "Clear verification not supported by `%s'.\n" mml2015-use))))
(goto-char (point-min))
- (if (re-search-forward "\n[\t ]*\n" nil t)
- (delete-region (point-min) (point)))
+ (forward-line)
+ ;; We need to be careful not to strip beyond the armor headers.
+ ;; Previously, an attacker could replace the text inside our
+ ;; markup with trailing garbage by injecting whitespace into the
+ ;; message.
+ (while (looking-at "Hash:") ; The only header allowed in cleartext
+ (forward-line)) ; signatures according to RFC2440.
+ (when (looking-at "[\t ]*$")
+ (forward-line))
+ (delete-region (point-min) (point))
(if (re-search-forward mm-uu-pgp-beginning-signature nil t)
(delete-region (match-beginning 0) (point-max)))
(goto-char (point-min))
diff --git a/lisp/gnus/nnslashdot.el b/lisp/gnus/nnslashdot.el
index 37ecaf0f32b..0b19fd0ead6 100644
--- a/lisp/gnus/nnslashdot.el
+++ b/lisp/gnus/nnslashdot.el
@@ -142,7 +142,7 @@
(setq article (if (and article (< start article)) article start))
(goto-char point)
(while (re-search-forward
- "<a name=\"\\([0-9]+\\)\">\\([^<]+\\)</a>.*\n.*\n.*score:\\([^)]+\\))"
+ "<a name=\"\\([0-9]+\\)\">\\([^<]+\\)\\(?:.*\n\\)\\{2,10\\}.*score:\\([^)]+\\))"
nil t)
(setq cid (match-string 1)
subject (match-string 2)