[gnus git] branch mml-refactoring updated: m0-13-102-g2d3d778 =3= Remove lisp/tests/mml-gpghome/random_seed from version control ; gnustest-mml-sec.el: Remove require cl. ; Apply patch by Katsumi Yamaoka <[email protected]>

Jens Lechtenboerger <[email protected]> Fri, 18 Dec 2015 16:32:23 +0100
Newsgroups gmane.emacs.gnus.cvs
Message-ID <[email protected]>
       via  2d3d778b406e905202296cd67188fb0e7bd435eb (commit)
       via  bacd305b98dad514e7bc7e23fd5b6df9b07ba2e3 (commit)
       via  e26126c0b6ee991385aecdca105e808d931db1c7 (commit)
      from  e97ce06d84422df0e4d6906c2b33f527f10a3390 (commit)


- Log -----------------------------------------------------------------
commit 2d3d778b406e905202296cd67188fb0e7bd435eb
Author: Jens Lechtenboerger <[email protected]>
Date:   Fri Dec 18 16:27:34 2015 +0100

    Remove lisp/tests/mml-gpghome/random_seed from version control

diff --git a/lisp/tests/mml-gpghome/random_seed b/lisp/tests/mml-gpghome/random_seed
deleted file mode 100644
index 8e48315..0000000
Binary files a/lisp/tests/mml-gpghome/random_seed and /dev/null differ

commit bacd305b98dad514e7bc7e23fd5b6df9b07ba2e3
Author: Jens Lechtenboerger <[email protected]>
Date:   Thu Dec 17 17:37:45 2015 +0100

    gnustest-mml-sec.el: Remove require cl.

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index a5b6857..38e93cb 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,7 @@
+2015-12-17  Jens Lechtenboerger  <[email protected]>
+
+	* gnustest-mml-sec.el: Remove require cl.
+
 2015-12-16  Katsumi Yamaoka  <[email protected]>
 
 	* mml-sec.el (mml-secure-smime-sign-with-sender): Remove duplicate.
diff --git a/lisp/tests/gnustest-mml-sec.el b/lisp/tests/gnustest-mml-sec.el
index a64269f..e9533bb 100644
--- a/lisp/tests/gnustest-mml-sec.el
+++ b/lisp/tests/gnustest-mml-sec.el
@@ -24,7 +24,6 @@
 
 (require 'ert)
 
-(require 'cl); mapcan
 (require 'message)
 (require 'epa)
 (require 'epg)

commit e26126c0b6ee991385aecdca105e808d931db1c7
Author: Jens Lechtenboerger <[email protected]>
Date:   Thu Dec 17 17:29:56 2015 +0100

    Apply patch by Katsumi Yamaoka  <[email protected]>

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index fc261cb..a5b6857 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,106 @@
+2015-12-16  Katsumi Yamaoka  <[email protected]>
+
+	* mml-sec.el (mml-secure-smime-sign-with-sender): Remove duplicate.
+	(mml-secure-cust-record-keys): Use gnus-union instead of cl-union.
+	(mml1991-cache-passphrase, mml1991-passphrase-cache-expiry):
+	Suppress byte-compile warning for old (X)Emacsen.
+	(mml-secure-check-sub-key):
+	Use gnus-string-match-p instead of string-match-p.
+	(mml-secure-select-preferred-keys):
+	Don't use mapcan that is a cl runtime function.
+
+	* mml-smime.el (mml-smime-cache-passphrase)
+	(mml-smime-passphrase-cache-expiry):
+	* mml1991.el (mml1991-cache-passphrase)
+	(mml1991-passphrase-cache-expiry):
+	* mml2015.el (mml2015-cache-passphrase)
+	(mml2015-passphrase-cache-expiry):
+	Fix version that indicates when those variables were made obsolete.
+
+2015-12-13  Jens Lechtenboerger  <[email protected]>
+
+	Refactor mml-smime.el, mml1991.el, mml2015.el
+
+	Cf. discussion on ding mailing list, messages in
+	<http://thread.gmane.org/gmane.emacs.gnus.general/86228>.
+	Common code from the three files mml-smime.el, mml1991.el, and
+	mml2015.el is moved to mml-sec.el.  Auxiliary functions are added
+	to gnus-util.el.
+
+	The code is supported by test cases with necessary test keys.
+
+	Documentation in message.texi is updated.
+
+	* gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
+	New functions.
+
+	* mml-sec.el: Require gnus-util and epg.
+	(epa--select-keys): Autoload.
+	(mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
+	(mml-secure-openpgp-signers): New user option;
+	make mml1991-signers and mml2015-signers obsolete aliases to it.
+	(mml-secure-smime-signers): New user option;
+	make mml-smime-signers an obsolete alias to it.
+	(mml-secure-openpgp-encrypt-to-self): New user option;
+	make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
+	aliases to it.
+	(mml-secure-smime-encrypt-to-self): New user option;
+	make mml-smime-encrypt-to-self an obsolete alias to it.
+	(mml-secure-openpgp-sign-with-sender): New user option;
+	make mml2015-sign-with-sender an obsolete alias to it.
+	(mml-secure-smime-sign-with-sender): New user option;
+	make mml-smime-sign-with-sender an obsolete alias to it.
+	(mml-secure-openpgp-always-trust): New user option;
+	make mml2015-always-trust an obsolete alias to it.
+	(mml-secure-fail-when-key-problem, mml-secure-key-preferences):
+	New user options.
+	(mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
+	(mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
+	(mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
+	(mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
+	(mml-secure-passphrase-callback, mml-secure-check-user-id)
+	(mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
+	(mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
+	(mml-secure-fingerprint, mml-secure-filter-keys)
+	(mml-secure-normalize-cust-name, mml-secure-select-keys)
+	(mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
+	(mml-secure-self-recipients, mml-secure-recipients)
+	(mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.
+
+	* mml-smime.el: Require epg;
+	refactor declaration and autoloading of epg functions.
+	(mml-smime-use): Doc fix.
+	(mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
+	Obsolete.
+	(mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
+	Use format instead of gnus-format-message.
+	(mml-smime-epg-secret-key-id-list): Remove variable.
+	(mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
+	(mml-smime-epg-find-usable-secret-key): Remove functions.
+	(mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.
+
+	* mml1991.el (mml1991-cache-passphrase)
+	(mml1991-passphrase-cache-expiry): Obsolete.
+	(mml1991-epg-secret-key-id-list): Remove variable.
+	(mml1991-epg-passphrase-callback, mml1991-epg-find-usable-key)
+	(mml1991-epg-find-usable-secret-key): Remove functions.
+	(mml1991-epg-sign, mml1991-epg-encrypt): Refactor.
+
+	* mml2015.el (mml2015-cache-passphrase)
+	(mml2015-passphrase-cache-expiry): Obsolete.
+	(mml2015-epg-secret-key-id-list): Remove variable.
+	(mml2015-epg-passphrase-callback, mml2015-epg-check-user-id)
+	(mml2015-epg-check-sub-key, mml2015-epg-find-usable-key)
+	(mml2015-epg-find-usable-secret-key): Remove functions.
+	(mml2015-epg-decrypt, mml2015-epg-clear-decrypt, mml2015-epg-sign)
+	(mml2015-epg-encrypt): Refactor.
+
+	* tests/gnustest-gnus-util.el:
+	* tests/gnustest-mml-sec.README:
+	* tests/gnustest-mml-sec.el:
+	* tests/mml-gpghome/gpg-agent.conf:
+	* tests/mml-gpghome/trustlist.txt: New files.
+
 2015-12-04  Daiki Ueno  <[email protected]>
 
 	* qp.el (quoted-printable-encode-region): Bind `case-fold-search' to
diff --git a/lisp/mml-sec.el b/lisp/mml-sec.el
index 0751eec..142c4bb 100644
--- a/lisp/mml-sec.el
+++ b/lisp/mml-sec.el
@@ -455,10 +455,6 @@ https://debbugs.gnu.org/cgi/bugreport.cgi?bug=18718"
   :group 'mime-security
   :type 'boolean)
 
-(defcustom mml-secure-smime-sign-with-sender nil
-  "If t, use message sender to find an S/MIME key to sign with."
-  :group 'mime-security
-  :type 'boolean)
 (define-obsolete-variable-alias
   'mml2015-always-trust 'mml-secure-openpgp-always-trust)
 ;mml1991-always-trust did never exist.
@@ -507,7 +503,7 @@ Return keys."
   (let* ((usage-prefs (mml-secure-cust-usage-lookup context usage))
 	 (curr-fprs (cdr (assoc name (cdr usage-prefs))))
 	 (key-fprs (mapcar 'mml-secure-fingerprint keys))
-	 (new-fprs (cl-union curr-fprs key-fprs :test 'equal)))
+	 (new-fprs (gnus-union curr-fprs key-fprs)))
     (if curr-fprs
 	(setcdr (assoc name (cdr usage-prefs)) new-fprs)
       (setcdr usage-prefs (cons (cons name new-fprs) (cdr usage-prefs))))
@@ -539,6 +535,9 @@ Return t if a customization for NAME was present (and has been removed)."
     (password-cache-remove key-id))
   (setq mml-secure-secret-key-id-list nil))
 
+(defvar mml1991-cache-passphrase)
+(defvar mml1991-passphrase-cache-expiry)
+
 (defun mml-secure-cache-passphrase-p (protocol)
   "Return t if OpenPGP or S/MIME passphrases should be cached for PROTOCOL.
 Passphrase caching in Emacs is NOT recommended.  Use gpg-agent instead."
@@ -651,8 +650,8 @@ be present in the keyring."
 		       ;; In contrast, signing requires secret key.
 		       (mml-secure-secret-key-exists-p context subkey))
 		   (or (not fingerprint)
-		       (string-match-p (concat fingerprint "$") fpr)
-		       (string-match-p (concat fingerprint "$")
+		       (gnus-string-match-p (concat fingerprint "$") fpr)
+		       (gnus-string-match-p (concat fingerprint "$")
 					    (epg-sub-key-fingerprint subkey))))
 	      (throw 'break t)))))))
 
@@ -693,7 +692,9 @@ When `mml-secure-fail-when-key-problem' is t, fail with an error in
 case of missing, outdated, or multiple keys."
   ;; Loosely based on code appearing inside mml2015-epg-sign and
   ;; mml2015-epg-encrypt.
-  (mapcan
+  (apply
+   #'nconc
+   (mapcar
     (lambda (name)
       (let* ((keys (mml-secure-find-usable-keys context name usage))
 	     (keyno (length keys)))
@@ -705,7 +706,7 @@ case of missing, outdated, or multiple keys."
 		 (error "No %s key for %s" usage name)))
 	      ((= 1 keyno) keys)
 	      (t (mml-secure-select-keys context name keys usage)))))
-   names))
+    names)))
 
 (defun mml-secure-fingerprint (key)
   "Return fingerprint for public KEY."
diff --git a/lisp/mml-smime.el b/lisp/mml-smime.el
index 612885d..8e4032a 100644
--- a/lisp/mml-smime.el
+++ b/lisp/mml-smime.el
@@ -67,7 +67,7 @@ for the `smime' command coming with OpenSSL first.  EasyPG is recommended."
   :type 'boolean)
 (make-obsolete-variable 'mml-smime-cache-passphrase
 			'mml-secure-cache-passphrase
-			"25.0.50")
+			"25.1")
 
 (defcustom mml-smime-passphrase-cache-expiry mml-secure-passphrase-cache-expiry
   "How many seconds the passphrase is cached.
@@ -77,7 +77,7 @@ Whether the passphrase is cached at all is controlled by
   :type 'integer)
 (make-obsolete-variable 'mml-smime-passphrase-cache-expiry
 			'mml-secure-passphrase-cache-expiry
-			"25.0.50")
+			"25.1")
 
 (defcustom mml-smime-signers nil
   "A list of your own key ID which will be used to sign a message."
diff --git a/lisp/mml1991.el b/lisp/mml1991.el
index 6db396a..e94b612 100644
--- a/lisp/mml1991.el
+++ b/lisp/mml1991.el
@@ -65,7 +65,7 @@
   "If t, cache passphrase.")
 (make-obsolete-variable 'mml1991-cache-passphrase
 			'mml-secure-cache-passphrase
-			"25.0.50")
+			"25.1")
 
 (defvar mml1991-passphrase-cache-expiry mml-secure-passphrase-cache-expiry
   "How many seconds the passphrase is cached.
@@ -73,7 +73,7 @@ Whether the passphrase is cached at all is controlled by
 `mml1991-cache-passphrase'.")
 (make-obsolete-variable 'mml1991-passphrase-cache-expiry
 			'mml-secure-passphrase-cache-expiry
-			"25.0.50")
+			"25.1")
 
 (defvar mml1991-signers nil
   "A list of your own key ID which will be used to sign a message.")
diff --git a/lisp/mml2015.el b/lisp/mml2015.el
index 4145c4d..fede9b7 100644
--- a/lisp/mml2015.el
+++ b/lisp/mml2015.el
@@ -113,7 +113,7 @@ Valid packages include `epg', `pgg' and `mailcrypt'.")
   :type 'boolean)
 (make-obsolete-variable 'mml2015-cache-passphrase
 			'mml-secure-cache-passphrase
-			"25.0.50")
+			"25.1")
 
 (defcustom mml2015-passphrase-cache-expiry mml-secure-passphrase-cache-expiry
   "How many seconds the passphrase is cached.
@@ -123,7 +123,7 @@ Whether the passphrase is cached at all is controlled by
   :type 'integer)
 (make-obsolete-variable 'mml2015-passphrase-cache-expiry
 			'mml-secure-passphrase-cache-expiry
-			"25.0.50")
+			"25.1")
 
 (defcustom mml2015-signers nil
   "A list of your own key ID(s) which will be used to sign a message.
diff --git a/texi/ChangeLog b/texi/ChangeLog
index 8ed86dd..ace431e 100644
--- a/texi/ChangeLog
+++ b/texi/ChangeLog
@@ -1,3 +1,10 @@
+2015-12-13  Jens Lechtenboerger  <[email protected]>
+
+	* message.texi (Security, Using S/MIME):
+	Update for refactoring mml-smime.el, mml1991.el, mml2015.el.
+	(Using OpenPGP): Rename from "Using PGP/MIME"; update contents.
+	(Passphrase caching, Encrypt-to-self, Bcc Warning): New sections.
+
 2015-09-16  Paul Eggert  <[email protected]>
 
 	* gnus-faq.texi (FAQ 5-8):

-----------------------------------------------------------------------
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we listed those
revisions in full, above.

Summary of changes:
 lisp/ChangeLog                     |  107 ++++++++++++++++++++++++++++++++++++
 lisp/mml-sec.el                    |   43 ++++++++-------
 lisp/mml-smime.el                  |    4 +-
 lisp/mml1991.el                    |    4 +-
 lisp/mml2015.el                    |    4 +-
 lisp/tests/gnustest-mml-sec.el     |    1 -
 lisp/tests/mml-gpghome/random_seed |  Bin 600 -> 0 bytes
 texi/ChangeLog                     |    7 +++
 8 files changed, 142 insertions(+), 28 deletions(-)
 delete mode 100644 lisp/tests/mml-gpghome/random_seed

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Gnus Project".

The branch, mml-refactoring has been updated


hooks/post-receive
-- 
Gnus Project