Package: release.debian.org
Severity: normal
Tags: jessie
User: release.debian....@packages.debian.org
Usertags: pu

Hi, the release team,

I'd like to update package semi in jessie to fix an important bug.

See this changelog and the attached debdiff.

    semi (1.14.7~0.20120428-14+deb8u1) jessie; urgency=medium
    
      * New patch 020_encrypt.patch to fix incorrect keys in encryption
        (closes: #784712)
    
     -- Tatsuya Kinoshita <t...@debian.org>  Fri, 08 May 2015 09:09:01 +0900

Please let me know if I can upload it.

Thanks,
-- 
Tatsuya Kinoshita
diffstat for semi-1.14.7~0.20120428 semi-1.14.7~0.20120428

 changelog                 |    7 ++
 patches/020_encrypt.patch |  114 ++++++++++++++++++++++++++++++++++++++++++++++
 patches/series            |    1 
 3 files changed, 122 insertions(+)

diff -Nru semi-1.14.7~0.20120428/debian/changelog 
semi-1.14.7~0.20120428/debian/changelog
--- semi-1.14.7~0.20120428/debian/changelog     2014-10-26 09:55:50.000000000 
+0900
+++ semi-1.14.7~0.20120428/debian/changelog     2015-05-08 09:10:00.000000000 
+0900
@@ -1,3 +1,10 @@
+semi (1.14.7~0.20120428-14+deb8u1) jessie; urgency=medium
+
+  * New patch 020_encrypt.patch to fix incorrect keys in encryption
+    (closes: #784712)
+
+ -- Tatsuya Kinoshita <t...@debian.org>  Fri, 08 May 2015 09:09:01 +0900
+
 semi (1.14.7~0.20120428-14) unstable; urgency=medium
 
   * Sync 010_semi-epg.patch from wanderlust on 2014-10-25
diff -Nru semi-1.14.7~0.20120428/debian/patches/020_encrypt.patch 
semi-1.14.7~0.20120428/debian/patches/020_encrypt.patch
--- semi-1.14.7~0.20120428/debian/patches/020_encrypt.patch     1970-01-01 
09:00:00.000000000 +0900
+++ semi-1.14.7~0.20120428/debian/patches/020_encrypt.patch     2015-05-08 
09:06:24.000000000 +0900
@@ -0,0 +1,114 @@
+Subject: Fix incorrect keys in encryption
+Origin: 
https://github.com/wanderlust/semi/commit/da44c8e0ea6baf5dac2b8debf86f720a541f31a5
+Bug: https://github.com/wanderlust/semi/issues/9
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=784712
+
+diff --git a/mime-edit.el b/mime-edit.el
+index af64dc8..e7f2ea9 100644
+--- a/mime-edit.el
++++ b/mime-edit.el
+@@ -2222,6 +2222,7 @@ USAGE is a symbol denoting the intended usage."
+                            (std11-field-body "From" mail-header-separator))
+                          ""))))
+       keys default-keys)
++    (setq signer (and signer (concat "<" signer ">")))
+     (if mime-edit-pgp-verbose
+       (epa-select-keys
+        context
+@@ -2375,23 +2376,34 @@ If no one is selected, symmetric encryption will be 
performed.  ")
+ (defvar mime-edit-encrypt-recipient-fields-list '("From" "To" "cc"))
+ 
+ (defun mime-edit-make-encrypt-recipient-header ()
+-  (let* ((names mime-edit-encrypt-recipient-fields-list)
+-       (values (std11-field-bodies names nil mail-header-separator))
+-       (from (car values))
+-       header recipients)
+-    (while (and names values)
+-      (let ((name (car names))
+-          (value (car values)))
+-      (when (and (stringp value) (null (string-equal value "")))
+-        (setq header (concat header (format "%s: %s\n" name value)))
+-        (when (or mime-edit-pgp-encrypt-to-self
+-                  (null (string-equal name "From")))
+-          (setq recipients (cons value recipients)))))
+-      (setq names (cdr names)
+-          values (cdr values))
+-      )
+-    (setq recipients (mapconcat 'eval recipients " ,"))
+-    (vector from recipients header)
++  (let ((field-names (mapcar 'downcase
++                           mime-edit-encrypt-recipient-fields-list))
++      header recipients name value)
++    (save-excursion
++      (save-restriction
++      (std11-narrow-to-header mail-header-separator)
++      (goto-char (point-min))
++      (while (re-search-forward
++              (concat "^\\(" std11-field-name-regexp "\\):[ \t]*") nil t)
++        (when (member (downcase (match-string 1)) field-names)
++          (setq name (buffer-substring-no-properties
++                      (match-beginning 1) (match-end 1))
++                value (buffer-substring-no-properties
++                       (match-end 0) (std11-field-end)))
++          (when (and (stringp value) (null (string-equal value "")))
++            (setq header (cons (format "%s: %s\n" name value) header))
++            (when (or mime-edit-pgp-encrypt-to-self
++                      (null (string-equal (downcase name) "from")))
++              (setq recipients (cons (mapcar
++                                      'std11-address-string
++                                      (std11-parse-addresses-string value))
++                                     recipients))))))))
++    (cons (apply #'nconc
++               (mapcar (lambda (recipient)
++                         (or (epg-expand-group config recipient)
++                             (list (concat "<" recipient ">"))))
++                       (apply #'nconc recipients)))
++        (apply #'concat (nreverse header)))
+     ))
+ 
+ (defun mime-edit-encrypt-pgp-mime (beg end boundary)
+@@ -2399,18 +2411,8 @@ If no one is selected, symmetric encryption will be 
performed.  ")
+     (save-restriction
+       (let* ((config (epg-configuration))
+            (ret (mime-edit-make-encrypt-recipient-header))
+-           (recipients (aref ret 1))
+-           (header (aref ret 2)))
+-      (setq recipients
+-            (apply #'nconc
+-                   (mapcar (lambda (recipient)
+-                             (setq recipient
+-                                   (nth 1 (std11-extract-address-components
+-                                           recipient)))
+-                             (or (epg-expand-group config recipient)
+-                                 (list recipient)))
+-                           (delete "" (split-string recipients
+-                                                    "[ \f\t\n\r\v,]+")))))
++           (recipients (car ret))
++           (header (cdr ret)))
+         (narrow-to-region beg end)
+         (let* ((ret
+                 (mime-edit-translate-region beg end boundary))
+@@ -2531,8 +2533,8 @@ Content-Description: S/MIME Digital Signature
+   (save-excursion
+     (save-restriction
+       (let* ((ret (mime-edit-make-encrypt-recipient-header))
+-           (recipients (aref ret 1))
+-           (header (aref ret 2)))
++           (recipients (car ret))
++           (header (cdr ret)))
+         (narrow-to-region beg end)
+         (let* ((ret
+                 (mime-edit-translate-region beg end boundary))
+@@ -2556,11 +2558,7 @@ Content-Description: S/MIME Digital Signature
+                 "\
+ Select recipients for encryption.
+ If no one is selected, symmetric encryption will be performed.  "
+-                (mapcar (lambda (recipient)
+-                          (nth 1 (std11-extract-address-components
+-                                  recipient)))
+-                        (delete "" (split-string recipients 
+-                                                 "[ \f\t\n\r\v,]+"))))))
++                recipients)))
+         (delete-region (point-min)(point-max))
+         (goto-char beg)
+         (insert (format "--[[application/pkcs7-mime;
diff -Nru semi-1.14.7~0.20120428/debian/patches/series 
semi-1.14.7~0.20120428/debian/patches/series
--- semi-1.14.7~0.20120428/debian/patches/series        2013-07-06 
21:17:44.000000000 +0900
+++ semi-1.14.7~0.20120428/debian/patches/series        2015-05-08 
08:20:25.000000000 +0900
@@ -1 +1,2 @@
 010_semi-epg.patch
+020_encrypt.patch

Attachment: pgpyQmqXK7EU_.pgp
Description: PGP signature

Reply via email to