[git] GpgOL - branch, nomapi, updated. gpgol-1.4.0-57-g3600d2b

by Andre Heinecke cvs at cvs.gnupg.org
Tue Sep 27 13:22:06 CEST 2016


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 "GnuPG extension for MS Outlook".

The branch, nomapi has been updated
       via  3600d2b2e9193458e47d3849dcd2df58429aed05 (commit)
       via  88bf7d19654ba1e0726fcbdc19e99e5704e75182 (commit)
      from  1ae8bc5317557369a68d7270104b2e03bb4dd263 (commit)

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

- Log -----------------------------------------------------------------
commit 3600d2b2e9193458e47d3849dcd2df58429aed05
Author: Andre Heinecke <aheinecke at intevation.de>
Date:   Tue Sep 27 13:21:00 2016 +0200

    tests: Add more S/MIME tests
    
    * tests/data/smime-encrypted.mbox,
     tests/data/smime-encrypted.plain,
     tests/data/smime-opaque-signed-encrypted-attachment.mbox,
     tests/data/smime-opaque-signed-encrypted-attachment.plain: New.
    * tests/t-parser.cpp: Use new files.

diff --git a/tests/data/smime-encrypted.mbox b/tests/data/smime-encrypted.mbox
new file mode 100644
index 0000000..6b6d6a0
--- /dev/null
+++ b/tests/data/smime-encrypted.mbox
@@ -0,0 +1,22 @@
+From test at example.com Sat, 13 Apr 2013 01:54:30 +0200
+From: test <test at example.com>
+To: you at you.com
+Subject: test
+Date: Sat, 13 Apr 2013 01:54:30 +0200
+Message-ID: <1576646.QQxzHWx8dA at tabin>
+X-KMail-Identity: 505942601
+User-Agent: KMail/4.10.2 (Linux/3.9.0-rc4-experimental-amd64; KDE/4.10.60; x86_64; git-fc9b82c; 2013-04-11)
+MIME-Version: 1.0
+Content-Type: application/pkcs7-mime; name="smime.p7m"; smime-type="enveloped-data"
+Content-Transfer-Encoding: base64
+Content-Disposition: attachment; filename="smime.p7m"
+
+MIAGCSqGSIb3DQEHA6CAMIACAQAxgfwwgfkCAQAwYjBVMQswCQYDVQQGEwJVUzENMAsGA1UECgwE
+S0RBQjEWMBQGA1UEAwwNdW5pdHRlc3QgY2VydDEfMB0GCSqGSIb3DQEJARYQdGVzdEBleGFtcGxl
+LmNvbQIJANNFIDoYY4XJMA0GCSqGSIb3DQEBAQUABIGAJwmmaOeidXUHSQGOf2OBIsPYafVqdORe
+y54pEXbXiAfSVUWgI4a9CsiWwcDX8vlaX9ZLLr+L2VmOfr6Yc5214yxzausZVvnUFjy6LUXotuEX
+tSar4EW7XI9DjaZc1l985naMsTx9JUa5GyQ9J6PGqhosAKpKMGgKkFAHaOwE1/IwgAYJKoZIhvcN
+AQcBMBQGCCqGSIb3DQMHBAieDfmz3WGbN6CABHgEpsLrNn0PAZTDUfNomDypvSCl5bQH+9cKm80m
+upMV2r8RBiXS7OaP4SpCxq18afDTTPatvboHIoEX92taTbq8soiAgEs6raSGtEYZNvFL0IYqm7MA
+o5HCOmjiEcInyPf14lL3HnPk10FaP3hh58qTHUh4LPYtL7UECOZELYnUfUVhAAAAAAAAAAAAAA==
+
diff --git a/tests/data/smime-encrypted.plain b/tests/data/smime-encrypted.plain
new file mode 100644
index 0000000..2542d49
--- /dev/null
+++ b/tests/data/smime-encrypted.plain
@@ -0,0 +1 @@
+The quick brown fox jumped over the lazy dog.
\ No newline at end of file
diff --git a/tests/data/smime-opaque-signed-encrypted-attachment.mbox b/tests/data/smime-opaque-signed-encrypted-attachment.mbox
new file mode 100644
index 0000000..2b1a076
--- /dev/null
+++ b/tests/data/smime-opaque-signed-encrypted-attachment.mbox
@@ -0,0 +1,50 @@
+From test at example.com Thu Jun 09 12:52:44 2016
+From: test at example.com
+To: test at example.com
+Subject: Opaque S/MIME signed and encrypted message with attachment
+Date: Thu, 09 Jun 2016 14:52:44 +0200
+MIME-Version: 1.0
+Content-Type: application/pkcs7-mime; name="smime.p7m"; smime-type="enveloped-data"
+Content-Transfer-Encoding: base64
+Content-Disposition: attachment; filename="smime.p7m"
+
+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
diff --git a/tests/data/smime-opaque-signed-encrypted-attachment.plain b/tests/data/smime-opaque-signed-encrypted-attachment.plain
new file mode 100644
index 0000000..e910548
--- /dev/null
+++ b/tests/data/smime-opaque-signed-encrypted-attachment.plain
@@ -0,0 +1 @@
+This is an Opaque S/MIME encrypted and signed message with attachment
diff --git a/tests/t-parser.cpp b/tests/t-parser.cpp
index 9e43d5e..b6b9f33 100644
--- a/tests/t-parser.cpp
+++ b/tests/t-parser.cpp
@@ -75,6 +75,20 @@ struct
     NULL,
     0,
     "utf-8"},
+  { DATADIR "/smime-encrypted.mbox",
+    MSGTYPE_GPGOL_OPAQUE_ENCRYPTED,
+    DATADIR "/smime-encrypted.plain",
+    NULL,
+    NULL,
+    0,
+    "us-ascii"},
+  { DATADIR "/smime-opaque-signed-encrypted-attachment.mbox",
+    MSGTYPE_GPGOL_OPAQUE_ENCRYPTED,
+    DATADIR "/smime-opaque-signed-encrypted-attachment.plain",
+    NULL,
+    NULL,
+    1,
+    "us-ascii"},
   { NULL, MSGTYPE_UNKNOWN, NULL, NULL, NULL, 0, NULL }
 };
 

commit 88bf7d19654ba1e0726fcbdc19e99e5704e75182
Author: Andre Heinecke <aheinecke at intevation.de>
Date:   Tue Sep 27 13:18:54 2016 +0200

    Handle smime encrypted signature
    
    * src/parsecontroller.cpp (is_opaque_signed): New. Check
    for opaque signed data with gpgme_data_identify.
    (ParseController::parse): Verify signed data.

diff --git a/src/parsecontroller.cpp b/src/parsecontroller.cpp
index 872d454..acec830 100644
--- a/src/parsecontroller.cpp
+++ b/src/parsecontroller.cpp
@@ -93,6 +93,15 @@ operation_for_type(msgtype_t type, bool *decrypt,
     }
 }
 
+static bool
+is_opaque_signed (Data &data)
+{
+  data.seek (0, SEEK_SET);
+  auto id = data.type();
+  data.seek (0, SEEK_SET);
+  return id == Data::CMSSigned;
+}
+
 std::string
 ParseController::parse()
 {
@@ -136,9 +145,10 @@ ParseController::parse()
       auto combined_result = ctx->decryptAndVerify(input, output);
       m_decrypt_result = combined_result.first;
       m_verify_result = combined_result.second;
-      if (!m_decrypt_result.error () &&
+      if ((!m_decrypt_result.error () &&
           m_verify_result.signatures ().empty() &&
-          m_outputprovider->signature ())
+          m_outputprovider->signature ()) ||
+          is_opaque_signed (output))
         {
           /* There is a signature in the output. So we have
              to verify it now as an extra step. */

-----------------------------------------------------------------------

Summary of changes:
 src/parsecontroller.cpp                            | 14 +++++-
 tests/data/smime-encrypted.mbox                    | 22 ++++++++++
 tests/data/smime-encrypted.plain                   |  1 +
 .../smime-opaque-signed-encrypted-attachment.mbox  | 50 ++++++++++++++++++++++
 .../smime-opaque-signed-encrypted-attachment.plain |  1 +
 tests/t-parser.cpp                                 | 14 ++++++
 6 files changed, 100 insertions(+), 2 deletions(-)
 create mode 100644 tests/data/smime-encrypted.mbox
 create mode 100644 tests/data/smime-encrypted.plain
 create mode 100644 tests/data/smime-opaque-signed-encrypted-attachment.mbox
 create mode 100644 tests/data/smime-opaque-signed-encrypted-attachment.plain


hooks/post-receive
-- 
GnuPG extension for MS Outlook
http://git.gnupg.org




More information about the Gnupg-commits mailing list