[pkg-horde] Bug#863502: unblock: php-horde-crypt/2.7.8-1
Mathieu Parent
sathieu at debian.org
Sat May 27 20:40:06 UTC 2017
Package: release.debian.org
Severity: normal
User: release.debian.org at packages.debian.org
Usertags: unblock
Please unblock package php-horde-crypt
This update:
- Fixes Command injection: CVE-2017-7413, and CVE-2017-7414 (Closes: #859635),
already in 2.7.5-2 (so this bug is a superset of #861715)
- Adds suport for GnuPG 2 (Closes: #854819: from upstream + 2 patches from me)
- Correctly specify either sha-1 or sha-256 when signing a smime message
- A small PHP style change (while-loop replaced by for-loop)
- improved test suite
- Add gnupg as a test dependency (Closes: #849151): debtests now passing.
- and a bunch of comment changes (s/2016/2017, ...)
I've attached:
- A complete, unreadable debdiff (because PEAR packages change path on each
upstream release
- A complete git diff, still mostly polluted
- A code-only diff (git-diff, removing comments changes and testsuite
improvements)
unblock php-horde-crypt/2.7.8-1
-- System Information:
Debian Release: 9.0
APT prefers testing-debug
APT policy: (500, 'testing-debug'), (500, 'testing')
Architecture: amd64
(x86_64)
Foreign Architectures: i386
Kernel: Linux 4.9.0-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: php-horde-crypt_2.7.8-1.debdiff
Type: text/x-diff
Size: 1402835 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-horde-hackers/attachments/20170527/a182cfbd/attachment-0001.diff>
-------------- next part --------------
diff --git a/Horde_Crypt-2.7.5/doc/Horde/Crypt/COPYING b/Horde_Crypt-2.7.8/doc/Horde/Crypt/COPYING
similarity index 100%
rename from Horde_Crypt-2.7.5/doc/Horde/Crypt/COPYING
rename to Horde_Crypt-2.7.8/doc/Horde/Crypt/COPYING
diff --git a/Horde_Crypt-2.7.5/lib/Horde/Crypt.php b/Horde_Crypt-2.7.8/lib/Horde/Crypt.php
similarity index 92%
rename from Horde_Crypt-2.7.5/lib/Horde/Crypt.php
rename to Horde_Crypt-2.7.8/lib/Horde/Crypt.php
index f4a7dd5..01d8198 100644
--- a/Horde_Crypt-2.7.5/lib/Horde/Crypt.php
+++ b/Horde_Crypt-2.7.8/lib/Horde/Crypt.php
@@ -1,14 +1,14 @@
<?php
/**
- * Copyright 2002-2016 Horde LLC (http://www.horde.org/)
+ * Copyright 2002-2017 Horde LLC (http://www.horde.org/)
*
* See the enclosed file COPYING for license information (LGPL). If you
* did not receive this file, see http://www.horde.org/licenses/lgpl21.
*
- * @category Horde
- * @copyright 2002-2016 Horde LLC
- * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
- * @package Crypt
+ * @author Michael Slusarz <slusarz at horde.org>
+ * @category Horde
+ * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
+ * @package Crypt
*/
/**
@@ -17,7 +17,7 @@
*
* @author Michael Slusarz <slusarz at horde.org>
* @category Horde
- * @copyright 2002-2016 Horde LLC
+ * @copyright 2002-2017 Horde LLC
* @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
* @package Crypt
*/
diff --git a/Horde_Crypt-2.7.5/lib/Horde/Crypt/Exception.php b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Exception.php
similarity index 63%
rename from Horde_Crypt-2.7.5/lib/Horde/Crypt/Exception.php
rename to Horde_Crypt-2.7.8/lib/Horde/Crypt/Exception.php
index 5dfad5b..52fae76 100644
--- a/Horde_Crypt-2.7.5/lib/Horde/Crypt/Exception.php
+++ b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Exception.php
@@ -1,8 +1,6 @@
<?php
/**
- * Exception handler for the horde/Crypt package.
- *
- * Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+ * Copyright 2010-2017 Horde LLC (http://www.horde.org/)
*
* See the enclosed file COPYING for license information (LGPL). If you
* did not receive this file, see http://www.horde.org/licenses/lgpl21.
@@ -12,6 +10,16 @@
* @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
* @package Crypt
*/
+
+/**
+ * Exception handler for the horde/Crypt package.
+ *
+ * @author Michael Slusarz <slusarz at horde.org>
+ * @category Horde
+ * @copyright 2010-2017 Horde LLC
+ * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
+ * @package Crypt
+ */
class Horde_Crypt_Exception extends Horde_Exception_Wrapped
{
}
diff --git a/Horde_Crypt-2.7.5/lib/Horde/Crypt/Pgp.php b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp.php
similarity index 99%
rename from Horde_Crypt-2.7.5/lib/Horde/Crypt/Pgp.php
rename to Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp.php
index 8d96525..5182f7c 100644
--- a/Horde_Crypt-2.7.5/lib/Horde/Crypt/Pgp.php
+++ b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp.php
@@ -1,14 +1,15 @@
<?php
/**
- * Copyright 2002-2016 Horde LLC (http://www.horde.org/)
+ * Copyright 2002-2017 Horde LLC (http://www.horde.org/)
*
* See the enclosed file COPYING for license information (LGPL). If you
* did not receive this file, see http://www.horde.org/licenses/lgpl21.
*
- * @category Horde
- * @copyright 2002-2016 Horde LLC
- * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
- * @package Crypt
+ * @author Michael Slusarz <slusarz at horde.org>
+ * @author Jan Schneider <jan at horde.org>
+ * @category Horde
+ * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
+ * @package Crypt
*/
/**
@@ -20,7 +21,7 @@
* @author Michael Slusarz <slusarz at horde.org>
* @author Jan Schneider <jan at horde.org>
* @category Horde
- * @copyright 2002-2016 Horde LLC
+ * @copyright 2002-2017 Horde LLC
* @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
* @package Crypt
*/
diff --git a/Horde_Crypt-2.7.5/lib/Horde/Crypt/Pgp/Backend.php b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend.php
similarity index 96%
rename from Horde_Crypt-2.7.5/lib/Horde/Crypt/Pgp/Backend.php
rename to Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend.php
index b623a8f..e2ff45d 100644
--- a/Horde_Crypt-2.7.5/lib/Horde/Crypt/Pgp/Backend.php
+++ b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend.php
@@ -1,14 +1,14 @@
<?php
/**
- * Copyright 2015-2016 Horde LLC (http://www.horde.org/)
+ * Copyright 2015-2017 Horde LLC (http://www.horde.org/)
*
* See the enclosed file COPYING for license information (LGPL). If you
* did not receive this file, see http://www.horde.org/licenses/lgpl21.
*
- * @category Horde
- * @copyright 2015-2016 Horde LLC
- * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
- * @package Crypt
+ * @author Michael Slusarz <slusarz at horde.org>
+ * @category Horde
+ * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
+ * @package Crypt
*/
/**
@@ -20,10 +20,10 @@
*
* @author Michael Slusarz <slusarz at horde.org>
* @category Horde
- * @copyright 2015-2016 Horde LLC
- * @internal
+ * @copyright 2015-2017 Horde LLC
* @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
* @package Crypt
+ * @internal
*/
class Horde_Crypt_Pgp_Backend
{
diff --git a/Horde_Crypt-2.7.5/lib/Horde/Crypt/Pgp/Backend/Binary.php b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend/Binary.php
similarity index 95%
rename from Horde_Crypt-2.7.5/lib/Horde/Crypt/Pgp/Backend/Binary.php
rename to Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend/Binary.php
index 0b786ff..2d71888 100644
--- a/Horde_Crypt-2.7.5/lib/Horde/Crypt/Pgp/Backend/Binary.php
+++ b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend/Binary.php
@@ -1,14 +1,14 @@
<?php
/**
- * Copyright 2015-2016 Horde LLC (http://www.horde.org/)
+ * Copyright 2015-2017 Horde LLC (http://www.horde.org/)
*
* See the enclosed file COPYING for license information (LGPL). If you
* did not receive this file, see http://www.horde.org/licenses/lgpl21.
*
- * @category Horde
- * @copyright 2015-2016 Horde LLC
- * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
- * @package Crypt
+ * @author Michael Slusarz <slusarz at horde.org>
+ * @category Horde
+ * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
+ * @package Crypt
*/
/**
@@ -20,10 +20,10 @@
*
* @author Michael Slusarz <slusarz at horde.org>
* @category Horde
- * @copyright 2015-2016 Horde LLC
- * @internal
+ * @copyright 2015-2017 Horde LLC
* @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
* @package Crypt
+ * @internal
*/
class Horde_Crypt_Pgp_Backend_Binary
extends Horde_Crypt_Pgp_Backend
@@ -77,6 +77,26 @@ extends Horde_Crypt_Pgp_Backend
'--yes',
'--homedir ' . $this->_tempdir
);
+
+ /* GnuPG 2 requires specifying the pinentry-mode. */
+ $result = $this->_callGpg(array('--version'), 'r');
+ if (preg_match('/gpg \(GnuPG\) (\d+\.\d+\.\d+)/', $result->stdout, $version) &&
+ version_compare($version[1], '2.1.0', '>')) {
+ if (version_compare($version[1], '2.1.12', '>=')) {
+ $this->_gnupg[] = '--pinentry-mode loopback';
+ file_put_contents(
+ $this->_tempdir . '/gpg-agent.conf',
+ 'allow-loopback-pinentry'
+ );
+ } else {
+ throw new Horde_Crypt_Exception(
+ sprintf(
+ Horde_Crypt_Translation::t("Unsupported GnuPG version %s detected. Only versions < 2.1 and > 2.1.11 are supported."),
+ $version[1]
+ )
+ );
+ }
+ }
}
/**
@@ -433,7 +453,7 @@ extends Horde_Crypt_Pgp_Backend
$cmdline[] = $keyring;
$cmdline[] = '--encrypt';
foreach (array_keys($params['recips']) as $val) {
- $cmdline[] = '--recipient ' . $val;
+ $cmdline[] = '--recipient ' . escapeshellarg($val);
}
} else {
$cmdline[] = '--symmetric';
@@ -552,7 +572,7 @@ extends Horde_Crypt_Pgp_Backend
'--armor',
'--always-trust',
'--batch',
- '--charset ' . (isset($params['charset']) ? $params['charset'] : 'UTF-8'),
+ '--charset ' . (isset($params['charset']) ? escapeshellarg($params['charset']) : 'UTF-8'),
$keyring,
'--verify'
);
diff --git a/Horde_Crypt-2.7.5/lib/Horde/Crypt/Pgp/Keyserver.php b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Keyserver.php
similarity index 97%
rename from Horde_Crypt-2.7.5/lib/Horde/Crypt/Pgp/Keyserver.php
rename to Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Keyserver.php
index 3b95f3a..facf886 100644
--- a/Horde_Crypt-2.7.5/lib/Horde/Crypt/Pgp/Keyserver.php
+++ b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Keyserver.php
@@ -1,14 +1,14 @@
<?php
/**
- * Copyright 2002-2016 Horde LLC (http://www.horde.org/)
+ * Copyright 2002-2017 Horde LLC (http://www.horde.org/)
*
* See the enclosed file COPYING for license information (LGPL). If you
* did not receive this file, see http://www.horde.org/licenses/lgpl21.
*
- * @category Horde
- * @copyright 2002-2016 Horde LLC
- * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
- * @package Crypt
+ * @author Michael Slusarz <slusarz at horde.org>
+ * @category Horde
+ * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
+ * @package Crypt
*/
/**
@@ -19,7 +19,7 @@
*
* @author Michael Slusarz <slusarz at horde.org>
* @category Horde
- * @copyright 2002-2016 Horde LLC
+ * @copyright 2002-2017 Horde LLC
* @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
* @package Crypt
* @since 2.4.0
diff --git a/Horde_Crypt-2.7.5/lib/Horde/Crypt/Pgp/Parse.php b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Parse.php
similarity index 95%
rename from Horde_Crypt-2.7.5/lib/Horde/Crypt/Pgp/Parse.php
rename to Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Parse.php
index 518b3e7..9cbac24 100644
--- a/Horde_Crypt-2.7.5/lib/Horde/Crypt/Pgp/Parse.php
+++ b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Parse.php
@@ -1,14 +1,14 @@
<?php
/**
- * Copyright 2002-2016 Horde LLC (http://www.horde.org/)
+ * Copyright 2002-2017 Horde LLC (http://www.horde.org/)
*
* See the enclosed file COPYING for license information (LGPL). If you
* did not receive this file, see http://www.horde.org/licenses/lgpl21.
*
- * @category Horde
- * @copyright 2002-2016 Horde LLC
- * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
- * @package Crypt
+ * @author Michael Slusarz <slusarz at horde.org>
+ * @category Horde
+ * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
+ * @package Crypt
*/
/**
@@ -16,7 +16,7 @@
*
* @author Michael Slusarz <slusarz at horde.org>
* @category Horde
- * @copyright 2002-2016 Horde LLC
+ * @copyright 2002-2017 Horde LLC
* @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
* @package Crypt
* @since 2.4.0
@@ -159,7 +159,7 @@ class Horde_Crypt_Pgp_Parse
$new_part = new Horde_Mime_Part();
$new_part->setType('multipart/mixed');
- while (list(,$val) = each($parts)) {
+ for ($val = reset($parts); $val; $val = next($parts)) {
switch ($val['type']) {
case self::ARMOR_TEXT:
$part = new Horde_Mime_Part();
@@ -198,7 +198,7 @@ class Horde_Crypt_Pgp_Parse
break;
case self::ARMOR_SIGNED_MESSAGE:
- if ((list(,$sig) = each($parts)) &&
+ if (($sig = next($parts)) &&
($sig['type'] == self::ARMOR_SIGNATURE)) {
$part = new Horde_Mime_Part();
$part->setType('multipart/signed');
@@ -223,8 +223,6 @@ class Horde_Crypt_Pgp_Parse
$part->addPart($part1);
$part->addPart($part2);
$new_part->addPart($part);
-
- next($parts);
}
}
}
diff --git a/Horde_Crypt-2.7.5/lib/Horde/Crypt/Smime.php b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Smime.php
similarity index 98%
rename from Horde_Crypt-2.7.5/lib/Horde/Crypt/Smime.php
rename to Horde_Crypt-2.7.8/lib/Horde/Crypt/Smime.php
index cb8455d..f40a6dd 100644
--- a/Horde_Crypt-2.7.5/lib/Horde/Crypt/Smime.php
+++ b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Smime.php
@@ -1,8 +1,6 @@
<?php
/**
- * Library to interact with the OpenSSL library and implement S/MIME.
- *
- * Copyright 2002-2016 Horde LLC (http://www.horde.org/)
+ * Copyright 2002-2017 Horde LLC (http://www.horde.org/)
*
* See the enclosed file COPYING for license information (LGPL). If you
* did not receive this file, see http://www.horde.org/licenses/lgpl21.
@@ -13,6 +11,17 @@
* @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
* @package Crypt
*/
+
+/**
+ * Library to interact with the OpenSSL library and implement S/MIME.
+ *
+ * @author Mike Cochrane <mike at graftonhall.co.nz>
+ * @author Michael Slusarz <slusarz at horde.org>
+ * @category Horde
+ * @copyright 2002-2017 Horde LLC
+ * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
+ * @package Crypt
+ */
class Horde_Crypt_Smime extends Horde_Crypt
{
/**
@@ -235,8 +244,9 @@ class Horde_Crypt_Smime extends Horde_Crypt
'protocol',
'application/pkcs7-signature'
);
- // Per RFC 5751 [3.4.3.2], 'sha1' has been deprecated for 'sha-1'.
- $smime_part->setContentTypeParameter('micalg', 'sha-1');
+ $smime_part->setContentTypeParameter(
+ 'micalg', $mime_message->getContentTypeParameter('micalg')
+ );
$smime_part->addPart($mime_part);
$smime_part->addPart($smime_sign);
diff --git a/Horde_Crypt-2.7.5/lib/Horde/Crypt/Translation.php b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Translation.php
similarity index 76%
rename from Horde_Crypt-2.7.5/lib/Horde/Crypt/Translation.php
rename to Horde_Crypt-2.7.8/lib/Horde/Crypt/Translation.php
index d5b8df9..856015a 100644
--- a/Horde_Crypt-2.7.5/lib/Horde/Crypt/Translation.php
+++ b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Translation.php
@@ -1,10 +1,11 @@
<?php
/**
- * Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+ * Copyright 2010-2017 Horde LLC (http://www.horde.org/)
*
* See the enclosed file COPYING for license information (LGPL). If you
* did not receive this file, see http://www.horde.org/licenses/lgpl21.
*
+ * @author Jan Schneider <jan at horde.org>
* @category Horde
* @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
* @package Crypt
@@ -13,9 +14,11 @@
/**
* Horde_Crypt_Translation is the translation wrapper class for Horde_Crypt.
*
- * @author Jan Schneider <jan at horde.org>
- * @category Horde
- * @package Crypt
+ * @author Jan Schneider <jan at horde.org>
+ * @category Horde
+ * @copyright 2010-2017 Horde LLC
+ * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
+ * @package Crypt
*/
class Horde_Crypt_Translation extends Horde_Translation_Autodetect
{
diff --git a/Horde_Crypt-2.7.5/locale/Horde_Crypt.pot b/Horde_Crypt-2.7.8/locale/Horde_Crypt.pot
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/Horde_Crypt.pot
rename to Horde_Crypt-2.7.8/locale/Horde_Crypt.pot
diff --git a/Horde_Crypt-2.7.5/locale/ar/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/ar/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/ar/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/ar/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/ar/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/ar/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/ar/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/ar/LC_MESSAGES/Horde_Crypt.po
index 257c249..b109f5a 100644
--- a/Horde_Crypt-2.7.5/locale/ar/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/ar/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Arabic translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/bg/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/bg/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/bg/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/bg/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/bg/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/bg/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/bg/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/bg/LC_MESSAGES/Horde_Crypt.po
index c44375e..199ee66 100644
--- a/Horde_Crypt-2.7.5/locale/bg/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/bg/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Bulgarian translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/bs/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/bs/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/bs/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/bs/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/bs/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/bs/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/bs/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/bs/LC_MESSAGES/Horde_Crypt.po
index 0aa1db9..f51a229 100644
--- a/Horde_Crypt-2.7.5/locale/bs/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/bs/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Bosnian translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/ca/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/ca/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/ca/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/ca/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/ca/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/ca/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/ca/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/ca/LC_MESSAGES/Horde_Crypt.po
index a6fd2fd..bb25729 100644
--- a/Horde_Crypt-2.7.5/locale/ca/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/ca/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Catalan translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/cs/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/cs/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/cs/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/cs/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/cs/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/cs/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/cs/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/cs/LC_MESSAGES/Horde_Crypt.po
index 8d77b94..aaf0138 100644
--- a/Horde_Crypt-2.7.5/locale/cs/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/cs/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Czech translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/da/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/da/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/da/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/da/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/da/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/da/LC_MESSAGES/Horde_Crypt.po
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/da/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/da/LC_MESSAGES/Horde_Crypt.po
diff --git a/Horde_Crypt-2.7.5/locale/de/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/de/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/de/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/de/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/de/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/de/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/de/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/de/LC_MESSAGES/Horde_Crypt.po
index 6a93a4a..8f07df2 100644
--- a/Horde_Crypt-2.7.5/locale/de/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/de/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# German translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Jan Schneider <jan at horde.org>, 2010-2016.
#
diff --git a/Horde_Crypt-2.7.5/locale/el/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/el/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/el/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/el/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/el/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/el/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/el/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/el/LC_MESSAGES/Horde_Crypt.po
index 3f1c9fb..7d84d11 100644
--- a/Horde_Crypt-2.7.5/locale/el/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/el/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Greek translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/es/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/es/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/es/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/es/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/es/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/es/LC_MESSAGES/Horde_Crypt.po
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/es/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/es/LC_MESSAGES/Horde_Crypt.po
diff --git a/Horde_Crypt-2.7.5/locale/et/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/et/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/et/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/et/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/et/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/et/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/et/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/et/LC_MESSAGES/Horde_Crypt.po
index 111eb10..32c42a8 100644
--- a/Horde_Crypt-2.7.5/locale/et/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/et/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Estonian translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/eu/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/eu/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/eu/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/eu/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/eu/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/eu/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/eu/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/eu/LC_MESSAGES/Horde_Crypt.po
index 984b7cf..5da6939 100644
--- a/Horde_Crypt-2.7.5/locale/eu/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/eu/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Basque translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/fa/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/fa/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/fa/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/fa/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/fa/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/fa/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/fa/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/fa/LC_MESSAGES/Horde_Crypt.po
index 647b64d..cc67862 100644
--- a/Horde_Crypt-2.7.5/locale/fa/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/fa/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Persian translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/fi/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/fi/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/fi/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/fi/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/fi/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/fi/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/fi/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/fi/LC_MESSAGES/Horde_Crypt.po
index 7c2bf33..d8adece 100644
--- a/Horde_Crypt-2.7.5/locale/fi/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/fi/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Finnish translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Leena Heino <liinu at uta.fi>, 2010-2012.
#
diff --git a/Horde_Crypt-2.7.5/locale/fr/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/fr/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/fr/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/fr/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/fr/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/fr/LC_MESSAGES/Horde_Crypt.po
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/fr/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/fr/LC_MESSAGES/Horde_Crypt.po
diff --git a/Horde_Crypt-2.7.5/locale/gl/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/gl/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/gl/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/gl/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/gl/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/gl/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/gl/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/gl/LC_MESSAGES/Horde_Crypt.po
index 4126cf9..4567814 100644
--- a/Horde_Crypt-2.7.5/locale/gl/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/gl/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Galician translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/he/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/he/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/he/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/he/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/he/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/he/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/he/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/he/LC_MESSAGES/Horde_Crypt.po
index bcf7b39..606ee20 100644
--- a/Horde_Crypt-2.7.5/locale/he/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/he/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Hebrew translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/hr/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/hr/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/hr/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/hr/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/hr/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/hr/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/hr/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/hr/LC_MESSAGES/Horde_Crypt.po
index f4adf94..5133202 100644
--- a/Horde_Crypt-2.7.5/locale/hr/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/hr/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Croatian translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Valentin Vidic <Valentin.Vidic at CARNet.hr>, 2011.
#
diff --git a/Horde_Crypt-2.7.5/locale/hu/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/hu/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/hu/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/hu/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/hu/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/hu/LC_MESSAGES/Horde_Crypt.po
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/hu/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/hu/LC_MESSAGES/Horde_Crypt.po
diff --git a/Horde_Crypt-2.7.5/locale/id/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/id/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/id/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/id/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/id/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/id/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/id/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/id/LC_MESSAGES/Horde_Crypt.po
index e9e1cdf..ccc1b1f 100644
--- a/Horde_Crypt-2.7.5/locale/id/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/id/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Indonesian translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/is/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/is/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/is/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/is/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/is/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/is/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/is/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/is/LC_MESSAGES/Horde_Crypt.po
index e1ca5f0..ef5b2fd 100644
--- a/Horde_Crypt-2.7.5/locale/is/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/is/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Icelandic translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/it/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/it/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/it/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/it/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/it/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/it/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/it/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/it/LC_MESSAGES/Horde_Crypt.po
index 7299f14..b94554f 100644
--- a/Horde_Crypt-2.7.5/locale/it/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/it/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Italian translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/ja/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/ja/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/ja/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/ja/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/ja/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/ja/LC_MESSAGES/Horde_Crypt.po
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/ja/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/ja/LC_MESSAGES/Horde_Crypt.po
diff --git a/Horde_Crypt-2.7.5/locale/km/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/km/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/km/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/km/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/km/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/km/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/km/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/km/LC_MESSAGES/Horde_Crypt.po
index 08d37da..d1f29b5 100644
--- a/Horde_Crypt-2.7.5/locale/km/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/km/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Khmer translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/ko/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/ko/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/ko/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/ko/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/ko/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/ko/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/ko/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/ko/LC_MESSAGES/Horde_Crypt.po
index 846603f..c54e463 100644
--- a/Horde_Crypt-2.7.5/locale/ko/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/ko/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Korean translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/lt/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/lt/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/lt/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/lt/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/lt/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/lt/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/lt/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/lt/LC_MESSAGES/Horde_Crypt.po
index e19ecd3..aa479dc 100644
--- a/Horde_Crypt-2.7.5/locale/lt/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/lt/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Lithuanian translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Vilius ?umskas <vilius at lnk.lt>, 2011.
#
diff --git a/Horde_Crypt-2.7.5/locale/lv/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/lv/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/lv/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/lv/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/lv/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/lv/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/lv/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/lv/LC_MESSAGES/Horde_Crypt.po
index c5ab31a..eeae09e 100644
--- a/Horde_Crypt-2.7.5/locale/lv/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/lv/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Latvian translations for Horde_Crypt package.
-# Copyright 2011-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2011-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt package.
# Automatically generated, 2011.
#
diff --git a/Horde_Crypt-2.7.5/locale/mk/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/mk/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/mk/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/mk/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/mk/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/mk/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/mk/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/mk/LC_MESSAGES/Horde_Crypt.po
index 2e51cd2..867cf2b 100644
--- a/Horde_Crypt-2.7.5/locale/mk/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/mk/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Macedonian translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/nb/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/nb/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/nb/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/nb/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/nb/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/nb/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/nb/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/nb/LC_MESSAGES/Horde_Crypt.po
index 3b5a43a..393d7d0 100644
--- a/Horde_Crypt-2.7.5/locale/nb/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/nb/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Norwegian Bokmal translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/nl/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/nl/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/nl/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/nl/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/nl/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/nl/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/nl/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/nl/LC_MESSAGES/Horde_Crypt.po
index 73a57fd..2fdb548 100644
--- a/Horde_Crypt-2.7.5/locale/nl/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/nl/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Dutch translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
#
# Arjen de Korte <build+horde at de-korte.org>, 2012.
msgid ""
diff --git a/Horde_Crypt-2.7.5/locale/nn/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/nn/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/nn/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/nn/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/nn/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/nn/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/nn/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/nn/LC_MESSAGES/Horde_Crypt.po
index c1fc152..d16bd71 100644
--- a/Horde_Crypt-2.7.5/locale/nn/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/nn/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Norwegian Nynorsk translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/pl/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/pl/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/pl/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/pl/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/pl/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/pl/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/pl/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/pl/LC_MESSAGES/Horde_Crypt.po
index 9e41429..364527a 100644
--- a/Horde_Crypt-2.7.5/locale/pl/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/pl/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Polish translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/pt/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/pt/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/pt/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/pt/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/pt/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/pt/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/pt/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/pt/LC_MESSAGES/Horde_Crypt.po
index c5039f3..759acb9 100644
--- a/Horde_Crypt-2.7.5/locale/pt/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/pt/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Portuguese translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/pt_BR/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/pt_BR/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/pt_BR/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/pt_BR/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/pt_BR/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/pt_BR/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/pt_BR/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/pt_BR/LC_MESSAGES/Horde_Crypt.po
index 31e8524..6a94991 100644
--- a/Horde_Crypt-2.7.5/locale/pt_BR/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/pt_BR/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Portuguese translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/ro/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/ro/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/ro/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/ro/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/ro/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/ro/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/ro/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/ro/LC_MESSAGES/Horde_Crypt.po
index 002c66a..84f8987 100644
--- a/Horde_Crypt-2.7.5/locale/ro/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/ro/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Romanian translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/ru/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/ru/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/ru/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/ru/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/ru/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/ru/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/ru/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/ru/LC_MESSAGES/Horde_Crypt.po
index 977e8a9..32e4087 100644
--- a/Horde_Crypt-2.7.5/locale/ru/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/ru/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Russian translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/sk/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/sk/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/sk/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/sk/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/sk/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/sk/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/sk/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/sk/LC_MESSAGES/Horde_Crypt.po
index a04da76..03e7ca7 100644
--- a/Horde_Crypt-2.7.5/locale/sk/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/sk/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Slovak translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
# Martin Matu?ka <martin at matuska.org>, 2008
diff --git a/Horde_Crypt-2.7.5/locale/sl/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/sl/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/sl/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/sl/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/sl/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/sl/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/sl/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/sl/LC_MESSAGES/Horde_Crypt.po
index 1c8171b..20dec82 100644
--- a/Horde_Crypt-2.7.5/locale/sl/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/sl/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Slovenian translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/sv/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/sv/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/sv/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/sv/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/sv/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/sv/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/sv/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/sv/LC_MESSAGES/Horde_Crypt.po
index 7f993c1..bea9f78 100644
--- a/Horde_Crypt-2.7.5/locale/sv/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/sv/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Swedish translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/tr/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/tr/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/tr/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/tr/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/tr/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/tr/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/tr/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/tr/LC_MESSAGES/Horde_Crypt.po
index 0b14434..99a0d33 100644
--- a/Horde_Crypt-2.7.5/locale/tr/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/tr/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Turkish translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/uk/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/uk/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/uk/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/uk/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/uk/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/uk/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/uk/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/uk/LC_MESSAGES/Horde_Crypt.po
index 1a0bd43..6f54f80 100644
--- a/Horde_Crypt-2.7.5/locale/uk/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/uk/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Ukrainian translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
#
msgid ""
diff --git a/Horde_Crypt-2.7.5/locale/zh_CN/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/zh_CN/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/zh_CN/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/zh_CN/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/zh_CN/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/zh_CN/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/zh_CN/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/zh_CN/LC_MESSAGES/Horde_Crypt.po
index 83c43b8..675771d 100644
--- a/Horde_Crypt-2.7.5/locale/zh_CN/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/zh_CN/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Chinese translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/locale/zh_TW/LC_MESSAGES/Horde_Crypt.mo b/Horde_Crypt-2.7.8/locale/zh_TW/LC_MESSAGES/Horde_Crypt.mo
similarity index 100%
rename from Horde_Crypt-2.7.5/locale/zh_TW/LC_MESSAGES/Horde_Crypt.mo
rename to Horde_Crypt-2.7.8/locale/zh_TW/LC_MESSAGES/Horde_Crypt.mo
diff --git a/Horde_Crypt-2.7.5/locale/zh_TW/LC_MESSAGES/Horde_Crypt.po b/Horde_Crypt-2.7.8/locale/zh_TW/LC_MESSAGES/Horde_Crypt.po
similarity index 99%
rename from Horde_Crypt-2.7.5/locale/zh_TW/LC_MESSAGES/Horde_Crypt.po
rename to Horde_Crypt-2.7.8/locale/zh_TW/LC_MESSAGES/Horde_Crypt.po
index 73d4513..106c00c 100644
--- a/Horde_Crypt-2.7.5/locale/zh_TW/LC_MESSAGES/Horde_Crypt.po
+++ b/Horde_Crypt-2.7.8/locale/zh_TW/LC_MESSAGES/Horde_Crypt.po
@@ -1,5 +1,5 @@
# Chinese translations for Horde_Crypt module.
-# Copyright 2010-2016 Horde LLC (http://www.horde.org/)
+# Copyright 2010-2017 Horde LLC (http://www.horde.org/)
# This file is distributed under the same license as the Horde_Crypt module.
# Automatically generated, 2010.
#
diff --git a/Horde_Crypt-2.7.5/test/Horde/Crypt/AllTests.php b/Horde_Crypt-2.7.8/test/Horde/Crypt/AllTests.php
similarity index 100%
rename from Horde_Crypt-2.7.5/test/Horde/Crypt/AllTests.php
rename to Horde_Crypt-2.7.8/test/Horde/Crypt/AllTests.php
diff --git a/Horde_Crypt-2.7.5/test/Horde/Crypt/Pgp/BinaryTest.php b/Horde_Crypt-2.7.8/test/Horde/Crypt/Pgp/BinaryTest.php
similarity index 77%
rename from Horde_Crypt-2.7.5/test/Horde/Crypt/Pgp/BinaryTest.php
rename to Horde_Crypt-2.7.8/test/Horde/Crypt/Pgp/BinaryTest.php
index 3e3eb73..1defcbf 100644
--- a/Horde_Crypt-2.7.5/test/Horde/Crypt/Pgp/BinaryTest.php
+++ b/Horde_Crypt-2.7.8/test/Horde/Crypt/Pgp/BinaryTest.php
@@ -27,7 +27,12 @@ extends Horde_Crypt_Pgp_TestBase
));
}
- return array(new Horde_Crypt_Pgp_Backend_Binary($gnupg));
+ $backends = array(new Horde_Crypt_Pgp_Backend_Binary($gnupg));
+ if (!empty($c['gnupg2'])) {
+ $backends[] = new Horde_Crypt_Pgp_Backend_Binary($c['gnupg2']);
+ }
+
+ return $backends;
}
}
diff --git a/Horde_Crypt-2.7.5/test/Horde/Crypt/Pgp/TestBase.php b/Horde_Crypt-2.7.8/test/Horde/Crypt/Pgp/TestBase.php
similarity index 76%
rename from Horde_Crypt-2.7.5/test/Horde/Crypt/Pgp/TestBase.php
rename to Horde_Crypt-2.7.8/test/Horde/Crypt/Pgp/TestBase.php
index 4c319b5..3cdbee8 100644
--- a/Horde_Crypt-2.7.5/test/Horde/Crypt/Pgp/TestBase.php
+++ b/Horde_Crypt-2.7.8/test/Horde/Crypt/Pgp/TestBase.php
@@ -14,21 +14,14 @@ abstract class Horde_Crypt_Pgp_TestBase
extends Horde_Test_Case
{
private $_language;
- private $_pgp;
/* Returns the list of backends to test. */
abstract protected function _setUp();
protected function setUp()
{
- $backends = $this->_setUp();
-
@date_default_timezone_set('GMT');
$this->_language = getenv('LANGUAGE');
-
- $this->_pgp = Horde_Crypt::factory('Pgp', array(
- 'backends' => $backends
- ));
}
protected function tearDown()
@@ -36,7 +29,21 @@ extends Horde_Test_Case
putenv('LANGUAGE=' . $this->_language);
}
- public function testBug6601()
+ public function backendProvider()
+ {
+ $pgp = array();
+ foreach ($this->_setUp() as $backend) {
+ $pgp[] = array(Horde_Crypt::factory('Pgp', array(
+ 'backends' => array($backend)
+ )));
+ }
+ return $pgp;
+ }
+
+ /**
+ * @dataProvider backendProvider
+ */
+ public function testBug6601($pgp)
{
$data = $this->_getFixture('bug_6601.asc');
@@ -54,17 +61,21 @@ Key ID: 0xF3C01D42
Key Fingerprint: 5912D91D4C79C6701FFF148604A67B37F3C01D42
',
- $this->_pgp->pgpPrettyKey($data)
+ $pgp->pgpPrettyKey($data)
);
}
- // decrypt() message
- public function testPgpDecrypt()
+ /**
+ * decrypt() message
+ *
+ * @dataProvider backendProvider
+ */
+ public function testPgpDecrypt($pgp)
{
// Encrypted data is in ISO-8859-1 format
$crypt = $this->_getFixture('pgp_encrypted.txt');
- $decrypt = $this->_pgp->decrypt($crypt, array(
+ $decrypt = $pgp->decrypt($crypt, array(
'passphrase' => 'Secret',
'privkey' => $this->_getPrivateKey(),
'pubkey' => $this->_getPublicKey(),
@@ -92,12 +103,15 @@ The quick brown fox jumps over the lazy dog.
);
}
- public function testPgpDecryptSymmetric()
+ /**
+ * @dataProvider backendProvider
+ */
+ public function testPgpDecryptSymmetric($pgp)
{
// Encrypted data is in ISO-8859-1 format
$crypt = $this->_getFixture('pgp_encrypted_symmetric.txt');
- $decrypt = $this->_pgp->decrypt($crypt, array(
+ $decrypt = $pgp->decrypt($crypt, array(
'passphrase' => 'Secret',
'type' => 'message'
));
@@ -122,11 +136,14 @@ The quick brown fox jumps over the lazy dog.
);
}
- public function testPgpEncrypt()
+ /**
+ * @dataProvider backendProvider
+ */
+ public function testPgpEncrypt($pgp)
{
$clear = $this->_getFixture('clear.txt');
- $out = $this->_pgp->encrypt($clear, array(
+ $out = $pgp->encrypt($clear, array(
'recips' => array('me at example.com' => $this->_getPublicKey()),
'type' => 'message'
));
@@ -151,11 +168,14 @@ Version: GnuPG %s
);
}
- public function testPgpEncryptSymmetric()
+ /**
+ * @dataProvider backendProvider
+ */
+ public function testPgpEncryptSymmetric($pgp)
{
$clear = $this->_getFixture('clear.txt');
- $out = $this->_pgp->encrypt($clear, array(
+ $out = $pgp->encrypt($clear, array(
'passphrase' => 'Secret',
'symmetric' => true,
'type' => 'message'
@@ -175,31 +195,40 @@ Version: GnuPG %s
);
}
- public function testPgpEncryptedSymmetrically()
+ /**
+ * @dataProvider backendProvider
+ */
+ public function testPgpEncryptedSymmetrically($pgp)
{
$this->assertFalse(
- $this->_pgp->encryptedSymmetrically(
+ $pgp->encryptedSymmetrically(
$this->_getFixture('pgp_encrypted.txt')
)
);
$this->assertTrue(
- $this->_pgp->encryptedSymmetrically(
+ $pgp->encryptedSymmetrically(
$this->_getFixture('pgp_encrypted_symmetric.txt')
)
);
}
- public function testGetSignersKeyID()
+ /**
+ * @dataProvider backendProvider
+ */
+ public function testGetSignersKeyID($pgp)
{
$this->assertEquals(
'BADEABD7',
- $this->_pgp->getSignersKeyID($this->_getFixture('pgp_signed.txt'))
+ $pgp->getSignersKeyID($this->_getFixture('pgp_signed.txt'))
);
}
- public function testPgpPacketInformation()
+ /**
+ * @dataProvider backendProvider
+ */
+ public function testPgpPacketInformation($pgp)
{
- $out = $this->_pgp->pgpPacketInformation($this->_getPublicKey());
+ $out = $pgp->pgpPacketInformation($this->_getPublicKey());
$this->assertArrayHasKey(
'public_key',
@@ -222,7 +251,7 @@ Version: GnuPG %s
$out['keyid']
);
- $out = $this->_pgp->pgpPacketInformation($this->_getPrivateKey());
+ $out = $pgp->pgpPacketInformation($this->_getPrivateKey());
$this->assertArrayHasKey(
'secret_key',
@@ -246,9 +275,12 @@ Version: GnuPG %s
);
}
- public function testPgpPacketSignature()
+ /**
+ * @dataProvider backendProvider
+ */
+ public function testPgpPacketSignature($pgp)
{
- $out = $this->_pgp->pgpPacketSignature(
+ $out = $pgp->pgpPacketSignature(
$this->_getPublicKey(),
'me at example.com'
);
@@ -258,7 +290,7 @@ Version: GnuPG %s
$out['keyid']
);
- $out = $this->_pgp->pgpPacketSignature(
+ $out = $pgp->pgpPacketSignature(
$this->_getPrivateKey(),
'me at example.com'
);
@@ -268,7 +300,7 @@ Version: GnuPG %s
$out['keyid']
);
- $out = $this->_pgp->pgpPacketSignature(
+ $out = $pgp->pgpPacketSignature(
$this->_getPrivateKey(),
'foo at example.com'
);
@@ -279,9 +311,12 @@ Version: GnuPG %s
);
}
- public function testPgpPacketSignatureByUidIndex()
+ /**
+ * @dataProvider backendProvider
+ */
+ public function testPgpPacketSignatureByUidIndex($pgp)
{
- $out = $this->_pgp->pgpPacketSignatureByUidIndex(
+ $out = $pgp->pgpPacketSignatureByUidIndex(
$this->_getPublicKey(),
'id1'
);
@@ -291,7 +326,7 @@ Version: GnuPG %s
$out['keyid']
);
- $out = $this->_pgp->pgpPacketSignatureByUidIndex(
+ $out = $pgp->pgpPacketSignatureByUidIndex(
$this->_getPrivateKey(),
'id1'
);
@@ -301,7 +336,7 @@ Version: GnuPG %s
$out['keyid']
);
- $out = $this->_pgp->pgpPacketSignatureByUidIndex(
+ $out = $pgp->pgpPacketSignatureByUidIndex(
$this->_getPrivateKey(),
'id2'
);
@@ -312,7 +347,10 @@ Version: GnuPG %s
);
}
- public function testPgpPrettyKey()
+ /**
+ * @dataProvider backendProvider
+ */
+ public function testPgpPrettyKey($pgp)
{
putenv('LANGUAGE=C');
@@ -329,7 +367,7 @@ Key ID: 0xBADEABD7
Key Fingerprint: 966F4BA9569DE6F65E8253977CA74426BADEABD7
',
- $this->_pgp->pgpPrettyKey($this->_getPublicKey())
+ $pgp->pgpPrettyKey($this->_getPublicKey())
);
$this->assertEquals(
@@ -345,24 +383,24 @@ Key ID: 0xBADEABD7
Key Fingerprint: 966F4BA9569DE6F65E8253977CA74426BADEABD7
',
- $this->_pgp->pgpPrettyKey($this->_getPrivateKey())
+ $pgp->pgpPrettyKey($this->_getPrivateKey())
);
}
/**
* @dataProvider pgpGetFingerprintsFromKeyProvider
*/
- public function testPgpGetFingerprintsFromKey($expected, $key)
+ public function testPgpGetFingerprintsFromKey($pgp, $expected, $key)
{
$this->assertEquals(
$expected,
- $this->_pgp->getFingerprintsFromKey($key)
+ $pgp->getFingerprintsFromKey($key)
);
}
public function pgpGetFingerprintsFromKeyProvider()
{
- return array(
+ $fingerprints = array(
array(
array(
'0xBADEABD7' => '966F4BA9569DE6F65E8253977CA74426BADEABD7'
@@ -376,11 +414,21 @@ Key Fingerprint: 966F4BA9569DE6F65E8253977CA74426BADEABD7
$this->_getPrivateKey()
)
);
+ $args = $this->backendProvider();
+ foreach ($args as &$arg) {
+ foreach ($fingerprints as $fingerprint) {
+ $arg = array_merge($arg, $fingerprint);
+ }
+ }
+ return $args;
}
- public function pgpPublicKeyMIMEPart()
+ /**
+ * @dataProvider backendProvider
+ */
+ public function pgpPublicKeyMIMEPart($pgp)
{
- $mime_part = $this->_pgp->publicKeyMIMEPart($this->_getPublicKey());
+ $mime_part = $pgp->publicKeyMIMEPart($this->_getPublicKey());
$this->assertEquals(
'application/pgp-keys',
@@ -416,11 +464,14 @@ umO5uT5yDcir3zwqUAxzBAkE4ACcCtGfb6usaTKnNXo+ZuLoHiOwIE4=
);
}
- public function testPgpSign()
+ /**
+ * @dataProvider backendProvider
+ */
+ public function testPgpSign($pgp)
{
$clear = $this->_getFixture('clear.txt');
- $out = $this->_pgp->encrypt($clear, array(
+ $out = $pgp->encrypt($clear, array(
'passphrase' => 'Secret',
'privkey' => $this->_getPrivateKey(),
'pubkey' => $this->_getPublicKey(),
@@ -438,7 +489,7 @@ Version: GnuPG %s
$out
);
- $out = $this->_pgp->encrypt($clear, array(
+ $out = $pgp->encrypt($clear, array(
'passphrase' => 'Secret',
'privkey' => $this->_getPrivateKey(),
'pubkey' => $this->_getPublicKey(),
@@ -475,11 +526,14 @@ Version: GnuPG %s
);
}
- public function testDecryptSignature()
+ /**
+ * @dataProvider backendProvider
+ */
+ public function testDecryptSignature($pgp)
{
date_default_timezone_set('GMT');
- $out = $this->_pgp->decrypt(
+ $out = $pgp->decrypt(
$this->_getFixture('clear.txt'),
array(
'pubkey' => $this->_getPublicKey(),
@@ -490,7 +544,7 @@ Version: GnuPG %s
$this->assertNotEmpty($out->result);
- $out = $this->_pgp->decrypt(
+ $out = $pgp->decrypt(
$this->_getFixture('pgp_signed.txt'),
array(
'pubkey' => $this->_getPublicKey(),
@@ -500,7 +554,7 @@ Version: GnuPG %s
$this->assertNotEmpty($out->result);
- $out = $this->_pgp->decrypt(
+ $out = $pgp->decrypt(
$this->_getFixture('pgp_signed2.txt'),
array(
'pubkey' => $this->_getPublicKey(),
@@ -511,18 +565,27 @@ Version: GnuPG %s
$this->assertNotEmpty($out->result);
}
- public function testVerifyPassphrase()
+ /**
+ * @dataProvider backendProvider
+ */
+ public function testVerifyPassphraseCorrect($pgp)
{
$this->assertTrue(
- $this->_pgp->verifyPassphrase(
+ $pgp->verifyPassphrase(
$this->_getPublicKey(),
$this->_getPrivateKey(),
'Secret'
)
);
+ }
+ /**
+ * @dataProvider backendProvider
+ */
+ public function testVerifyPassphraseIncorrect($pgp)
+ {
$this->assertFalse(
- $this->_pgp->verifyPassphrase(
+ $pgp->verifyPassphrase(
$this->_getPublicKey(),
$this->_getPrivateKey(),
'Wrong'
@@ -530,10 +593,13 @@ Version: GnuPG %s
);
}
- public function testGetPublicKeyFromPrivateKey()
+ /**
+ * @dataProvider backendProvider
+ */
+ public function testGetPublicKeyFromPrivateKey($pgp)
{
$this->assertNotNull(
- $this->_pgp->getPublicKeyFromPrivateKey($this->_getPrivateKey())
+ $pgp->getPublicKeyFromPrivateKey($this->_getPrivateKey())
);
}
diff --git a/Horde_Crypt-2.7.5/test/Horde/Crypt/PgpKeyserverTest.php b/Horde_Crypt-2.7.8/test/Horde/Crypt/PgpKeyserverTest.php
similarity index 100%
rename from Horde_Crypt-2.7.5/test/Horde/Crypt/PgpKeyserverTest.php
rename to Horde_Crypt-2.7.8/test/Horde/Crypt/PgpKeyserverTest.php
diff --git a/Horde_Crypt-2.7.5/test/Horde/Crypt/PgpParseTest.php b/Horde_Crypt-2.7.8/test/Horde/Crypt/PgpParseTest.php
similarity index 100%
rename from Horde_Crypt-2.7.5/test/Horde/Crypt/PgpParseTest.php
rename to Horde_Crypt-2.7.8/test/Horde/Crypt/PgpParseTest.php
diff --git a/Horde_Crypt-2.7.5/test/Horde/Crypt/SmimeTest.php b/Horde_Crypt-2.7.8/test/Horde/Crypt/SmimeTest.php
similarity index 100%
rename from Horde_Crypt-2.7.5/test/Horde/Crypt/SmimeTest.php
rename to Horde_Crypt-2.7.8/test/Horde/Crypt/SmimeTest.php
diff --git a/Horde_Crypt-2.7.5/test/Horde/Crypt/bootstrap.php b/Horde_Crypt-2.7.8/test/Horde/Crypt/bootstrap.php
similarity index 100%
rename from Horde_Crypt-2.7.5/test/Horde/Crypt/bootstrap.php
rename to Horde_Crypt-2.7.8/test/Horde/Crypt/bootstrap.php
diff --git a/Horde_Crypt-2.7.5/test/Horde/Crypt/conf.php.dist b/Horde_Crypt-2.7.8/test/Horde/Crypt/conf.php.dist
similarity index 60%
rename from Horde_Crypt-2.7.5/test/Horde/Crypt/conf.php.dist
rename to Horde_Crypt-2.7.8/test/Horde/Crypt/conf.php.dist
index aec961a..b891ef0 100644
--- a/Horde_Crypt-2.7.5/test/Horde/Crypt/conf.php.dist
+++ b/Horde_Crypt-2.7.8/test/Horde/Crypt/conf.php.dist
@@ -1,2 +1,3 @@
<?php
$conf['gnupg'] = '/usr/bin/gpg';
+$conf['gnupg2'] = false;
diff --git a/Horde_Crypt-2.7.5/test/Horde/Crypt/fixtures/bug_6601.asc b/Horde_Crypt-2.7.8/test/Horde/Crypt/fixtures/bug_6601.asc
similarity index 100%
rename from Horde_Crypt-2.7.5/test/Horde/Crypt/fixtures/bug_6601.asc
rename to Horde_Crypt-2.7.8/test/Horde/Crypt/fixtures/bug_6601.asc
diff --git a/Horde_Crypt-2.7.5/test/Horde/Crypt/fixtures/clear.txt b/Horde_Crypt-2.7.8/test/Horde/Crypt/fixtures/clear.txt
similarity index 100%
rename from Horde_Crypt-2.7.5/test/Horde/Crypt/fixtures/clear.txt
rename to Horde_Crypt-2.7.8/test/Horde/Crypt/fixtures/clear.txt
diff --git a/Horde_Crypt-2.7.5/test/Horde/Crypt/fixtures/pgp_encrypted.txt b/Horde_Crypt-2.7.8/test/Horde/Crypt/fixtures/pgp_encrypted.txt
similarity index 100%
rename from Horde_Crypt-2.7.5/test/Horde/Crypt/fixtures/pgp_encrypted.txt
rename to Horde_Crypt-2.7.8/test/Horde/Crypt/fixtures/pgp_encrypted.txt
diff --git a/Horde_Crypt-2.7.5/test/Horde/Crypt/fixtures/pgp_encrypted_symmetric.txt b/Horde_Crypt-2.7.8/test/Horde/Crypt/fixtures/pgp_encrypted_symmetric.txt
similarity index 100%
rename from Horde_Crypt-2.7.5/test/Horde/Crypt/fixtures/pgp_encrypted_symmetric.txt
rename to Horde_Crypt-2.7.8/test/Horde/Crypt/fixtures/pgp_encrypted_symmetric.txt
diff --git a/Horde_Crypt-2.7.5/test/Horde/Crypt/fixtures/pgp_private.asc b/Horde_Crypt-2.7.8/test/Horde/Crypt/fixtures/pgp_private.asc
similarity index 100%
rename from Horde_Crypt-2.7.5/test/Horde/Crypt/fixtures/pgp_private.asc
rename to Horde_Crypt-2.7.8/test/Horde/Crypt/fixtures/pgp_private.asc
diff --git a/Horde_Crypt-2.7.5/test/Horde/Crypt/fixtures/pgp_public.asc b/Horde_Crypt-2.7.8/test/Horde/Crypt/fixtures/pgp_public.asc
similarity index 100%
rename from Horde_Crypt-2.7.5/test/Horde/Crypt/fixtures/pgp_public.asc
rename to Horde_Crypt-2.7.8/test/Horde/Crypt/fixtures/pgp_public.asc
diff --git a/Horde_Crypt-2.7.5/test/Horde/Crypt/fixtures/pgp_signature.txt b/Horde_Crypt-2.7.8/test/Horde/Crypt/fixtures/pgp_signature.txt
similarity index 100%
rename from Horde_Crypt-2.7.5/test/Horde/Crypt/fixtures/pgp_signature.txt
rename to Horde_Crypt-2.7.8/test/Horde/Crypt/fixtures/pgp_signature.txt
diff --git a/Horde_Crypt-2.7.5/test/Horde/Crypt/fixtures/pgp_signed.txt b/Horde_Crypt-2.7.8/test/Horde/Crypt/fixtures/pgp_signed.txt
similarity index 100%
rename from Horde_Crypt-2.7.5/test/Horde/Crypt/fixtures/pgp_signed.txt
rename to Horde_Crypt-2.7.8/test/Horde/Crypt/fixtures/pgp_signed.txt
diff --git a/Horde_Crypt-2.7.5/test/Horde/Crypt/fixtures/pgp_signed2.txt b/Horde_Crypt-2.7.8/test/Horde/Crypt/fixtures/pgp_signed2.txt
similarity index 100%
rename from Horde_Crypt-2.7.5/test/Horde/Crypt/fixtures/pgp_signed2.txt
rename to Horde_Crypt-2.7.8/test/Horde/Crypt/fixtures/pgp_signed2.txt
diff --git a/Horde_Crypt-2.7.5/test/Horde/Crypt/fixtures/smime_subjectAltName.pem b/Horde_Crypt-2.7.8/test/Horde/Crypt/fixtures/smime_subjectAltName.pem
similarity index 100%
rename from Horde_Crypt-2.7.5/test/Horde/Crypt/fixtures/smime_subjectAltName.pem
rename to Horde_Crypt-2.7.8/test/Horde/Crypt/fixtures/smime_subjectAltName.pem
diff --git a/Horde_Crypt-2.7.5/test/Horde/Crypt/phpunit.xml b/Horde_Crypt-2.7.8/test/Horde/Crypt/phpunit.xml
similarity index 100%
rename from Horde_Crypt-2.7.5/test/Horde/Crypt/phpunit.xml
rename to Horde_Crypt-2.7.8/test/Horde/Crypt/phpunit.xml
diff --git a/debian/changelog b/debian/changelog
index 9c4f720..c61e151 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,20 @@
+php-horde-crypt (2.7.8-1) unstable; urgency=medium
+
+ * New upstream version 2.7.8
+ - with GnuPG 2 support (incomplete)
+ - Remove 0001-Escape-user-provided-recipients-and-charset-data.patch, merged
+ * Add gnupg as a test dependency (Closes: #849151)
+ * Fix GnuPG 2 support (from https://github.com/horde/horde/pull/221)
+
+ -- Mathieu Parent <sathieu at debian.org> Sat, 27 May 2017 22:14:43 +0200
+
+php-horde-crypt (2.7.5-2) unstable; urgency=medium
+
+ * Escape user provided recipients and charset data. Fixes CVE-2017-7413 and
+ CVE-2017-7414 (Closes: #859635)
+
+ -- Mathieu Parent <sathieu at debian.org> Wed, 03 May 2017 07:15:32 +0200
+
php-horde-crypt (2.7.5-1) unstable; urgency=medium
* New upstream version 2.7.5
diff --git a/debian/patches/0001-Horde_Crypt-Fix-getFingerprintsFromKey-test-with-gpg.patch b/debian/patches/0001-Horde_Crypt-Fix-getFingerprintsFromKey-test-with-gpg.patch
new file mode 100644
index 0000000..9f93c23
--- /dev/null
+++ b/debian/patches/0001-Horde_Crypt-Fix-getFingerprintsFromKey-test-with-gpg.patch
@@ -0,0 +1,43 @@
+From a9e6ac7d33c06cd4500f95dd6004f7736d7340eb Mon Sep 17 00:00:00 2001
+From: Mathieu Parent <math.parent at gmail.com>
+Date: Thu, 18 May 2017 22:39:35 +0200
+Subject: [PATCH 1/2] Horde_Crypt: Fix getFingerprintsFromKey test with gpg
+ 2.1.18
+
+Using --with-colons and --fixed-list-mode ensure stable formating.
+---
+ Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend/Binary.php | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend/Binary.php b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend/Binary.php
+index 2d71888ec0..5d80705eb6 100644
+--- a/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend/Binary.php
++++ b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend/Binary.php
+@@ -382,6 +382,8 @@ extends Horde_Crypt_Pgp_Backend
+ array(
+ '--fingerprint',
+ $keyring,
++ '--with-colons',
++ '--fixed-list-mode',
+ ),
+ 'r',
+ null,
+@@ -397,10 +399,11 @@ extends Horde_Crypt_Pgp_Backend
+ $lines = explode("\n", $result->stdout);
+
+ foreach ($lines as $line) {
+- if (preg_match('/pub\s+\w+\/(\w{8})/', $line, $matches)) {
+- $keyid = '0x' . $matches[1];
+- } elseif ($keyid && preg_match('/^\s+[\s\w]+=\s*([\w\s]+)$/m', $line, $matches)) {
+- $fingerprints[$keyid] = str_replace(' ', '', $matches[1]);
++ $fields = explode(':', $line);
++ if ($fields[0] == 'pub') {
++ $keyid = '0x' . substr($fields[4], -8);
++ } elseif ($keyid && ($fields[0] == 'fpr')) {
++ $fingerprints[$keyid] = $fields[9];
+ $keyid = null;
+ }
+ }
+--
+2.11.0
+
diff --git a/debian/patches/0002-Horde_Crypt-Fix-GetSignersKeyID-test-with-gpg-2.1.18.patch b/debian/patches/0002-Horde_Crypt-Fix-GetSignersKeyID-test-with-gpg-2.1.18.patch
new file mode 100644
index 0000000..45eb17c
--- /dev/null
+++ b/debian/patches/0002-Horde_Crypt-Fix-GetSignersKeyID-test-with-gpg-2.1.18.patch
@@ -0,0 +1,34 @@
+From de53721f027b135e3a43a0de0a0a3896d2bb249b Mon Sep 17 00:00:00 2001
+From: Mathieu Parent <math.parent at gmail.com>
+Date: Thu, 18 May 2017 22:56:41 +0200
+Subject: [PATCH 2/2] Horde_Crypt: Fix GetSignersKeyID test with gpg 2.1.18
+
+Output format has changed.
+---
+ Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend/Binary.php | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend/Binary.php b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend/Binary.php
+index 5d80705eb6..9ec105cd66 100644
+--- a/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend/Binary.php
++++ b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend/Binary.php
+@@ -364,10 +364,16 @@ extends Horde_Crypt_Pgp_Backend
+ true
+ );
+
++ // GnuPG 1
+ if (preg_match('/gpg:\sSignature\smade.*ID\s+([A-F0-9]{8})\s+/', $result->stderr, $matches)) {
+ return $matches[1];
+ }
+
++ // GnuPG 2
++ if (preg_match('/gpg:\sSignature\smade.*using\s+\S+\s+key\s+([A-F0-9]{16})\s+/s', $result->stderr, $matches)) {
++ return substr($matches[1], -8);
++ }
++
+ throw new Horde_Crypt_Exception(_("Cannot read PGP key ID"));
+ }
+
+--
+2.11.0
+
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..9407700
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,2 @@
+0001-Horde_Crypt-Fix-getFingerprintsFromKey-test-with-gpg.patch
+0002-Horde_Crypt-Fix-GetSignersKeyID-test-with-gpg-2.1.18.patch
diff --git a/debian/tests/control b/debian/tests/control
index 7731959..7fd6289 100644
--- a/debian/tests/control
+++ b/debian/tests/control
@@ -1,3 +1,3 @@
Tests: phpunit
Restrictions: needs-recommends
-Depends: @, php-cli, php-horde-test
+Depends: @, php-cli, php-horde-test, gnupg
diff --git a/package.xml b/package.xml
index ad884c5..dec40ad 100644
--- a/package.xml
+++ b/package.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<package packagerversion="1.10.1" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd">
+<package packagerversion="1.10.3" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd">
<name>Horde_Crypt</name>
<channel>pear.horde.org</channel>
<summary>Horde Cryptography API</summary>
@@ -16,10 +16,10 @@
<email>jan at horde.org</email>
<active>yes</active>
</lead>
- <date>2016-12-16</date>
- <time>16:57:15</time>
+ <date>2017-05-03</date>
+ <time>13:32:12</time>
<version>
- <release>2.7.5</release>
+ <release>2.7.8</release>
<api>2.7.0</api>
</version>
<stability>
@@ -28,106 +28,107 @@
</stability>
<license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
<notes>
-* [jan] Fix label for S/MIME Encrypted Key Usage attribute.
+* [jan] Detect unsupported GnuPG versions.
+* [jan] Fix detection of new GnuPG API (Remi Collet <remi at remirepo.net>, PR #220).
</notes>
<contents>
<dir baseinstalldir="/" name="/">
<file baseinstalldir="/" md5sum="321bf41f280cf805086dd5a720b37785" name="doc/Horde/Crypt/COPYING" role="doc" />
- <file baseinstalldir="/" md5sum="2fa1d14e7a6c76ce493d045700db63ea" name="lib/Horde/Crypt/Pgp/Backend/Binary.php" role="php" />
- <file baseinstalldir="/" md5sum="95f9719239468f925721b4da2e93a0e3" name="lib/Horde/Crypt/Pgp/Backend.php" role="php" />
- <file baseinstalldir="/" md5sum="d05f247a567912e3e412f0ecc28d44cb" name="lib/Horde/Crypt/Pgp/Keyserver.php" role="php" />
- <file baseinstalldir="/" md5sum="e92c09c2fad2d4b4a8790887a2c6bfaf" name="lib/Horde/Crypt/Pgp/Parse.php" role="php" />
- <file baseinstalldir="/" md5sum="4c210bee685bad483fadd90cbea82f15" name="lib/Horde/Crypt/Exception.php" role="php" />
- <file baseinstalldir="/" md5sum="43aa56fbae521a914689085de8db33a2" name="lib/Horde/Crypt/Pgp.php" role="php" />
- <file baseinstalldir="/" md5sum="c231756068e522d90911107c4bcdb326" name="lib/Horde/Crypt/Smime.php" role="php" />
- <file baseinstalldir="/" md5sum="0cb3b13d1fd98ef68bed46091cdea973" name="lib/Horde/Crypt/Translation.php" role="php">
+ <file baseinstalldir="/" md5sum="928ff5d0ff1626480cc7443e9f93a535" name="lib/Horde/Crypt/Pgp/Backend/Binary.php" role="php" />
+ <file baseinstalldir="/" md5sum="0c54f31669cce20eb2c789b2d336e5bd" name="lib/Horde/Crypt/Pgp/Backend.php" role="php" />
+ <file baseinstalldir="/" md5sum="729620a8ebc0e84b2e415239f6b0355c" name="lib/Horde/Crypt/Pgp/Keyserver.php" role="php" />
+ <file baseinstalldir="/" md5sum="787768310d1b8111142a426465c5196c" name="lib/Horde/Crypt/Pgp/Parse.php" role="php" />
+ <file baseinstalldir="/" md5sum="a0b8d77b280c859c13e677008728e1b0" name="lib/Horde/Crypt/Exception.php" role="php" />
+ <file baseinstalldir="/" md5sum="ed0e40588c69dab1bd9a73e2f1566ee1" name="lib/Horde/Crypt/Pgp.php" role="php" />
+ <file baseinstalldir="/" md5sum="fc8412134a115db2d5bb2b0d0383d5e2" name="lib/Horde/Crypt/Smime.php" role="php" />
+ <file baseinstalldir="/" md5sum="80ac434cfa2dc73cf157b0cbb9de6e94" name="lib/Horde/Crypt/Translation.php" role="php">
<tasks:replace from="@data_dir@" to="data_dir" type="pear-config" />
</file>
- <file baseinstalldir="/" md5sum="f0dfed7158fc436632621d1e6a832c28" name="lib/Horde/Crypt.php" role="php" />
+ <file baseinstalldir="/" md5sum="f552f814bb63db07286fffa15c48a404" name="lib/Horde/Crypt.php" role="php" />
<file baseinstalldir="/" md5sum="c1ece32ec41eb8e21264470af59b012e" name="locale/ar/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="159783c6ca9da27ec1fb6b6f343a2a5f" name="locale/ar/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="a6d0cda8c3d4e5b9a3204073c5be3165" name="locale/ar/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="c4822558dd9fe3fc766983b057430e45" name="locale/bg/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="c23ac1d31417192091f4e07010fc8502" name="locale/bg/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="ba3d4263c47f289c1bdaea6d48bb2bd5" name="locale/bg/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="cedd01e7b308ee6e695bfb839b81cd5c" name="locale/bs/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="72d4a7ea48101c585f20d844ad4deb70" name="locale/bs/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="8a5d9336e2fc4d2814bbc4deb65d5465" name="locale/bs/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="b6dbcad692d57dda6554d31b4a8dfd31" name="locale/ca/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="7cfe41ac69ba21ef0317c44245a401e6" name="locale/ca/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="626900b3547553f51761eed76b565423" name="locale/ca/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="a154f8a91b15a924dd8e5437b2ee1060" name="locale/cs/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="b321302ad198da4da698409efddb0e6d" name="locale/cs/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="775972e451924c6623495f0a31485939" name="locale/cs/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="81597a2bb118de29611d5b87cdacaffb" name="locale/da/LC_MESSAGES/Horde_Crypt.mo" role="data" />
<file baseinstalldir="/" md5sum="9e2042505c80f037569a0558ab62da7c" name="locale/da/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="ccaa4035219679a1cc748ecb87d7ef34" name="locale/de/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="d981a920abfc520c1441ade6666da0f3" name="locale/de/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="29df57cad826347cd9ba38b32cdc6f48" name="locale/de/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="df040c38703aa9aa93950f7322a2e097" name="locale/el/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="cfa6c7c30c9fd6572060a3c5b21b6962" name="locale/el/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="a2300c1a72df5fb06a72dcb8a939244d" name="locale/el/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="84f77cdf7cb07970c021146139888358" name="locale/es/LC_MESSAGES/Horde_Crypt.mo" role="data" />
<file baseinstalldir="/" md5sum="e772d51bbba74813883d9ca0ecc815f7" name="locale/es/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="203e6f007fe7e331494452a3a2059034" name="locale/et/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="9e02b413b129eb87b71a5d2666af1a83" name="locale/et/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="729e0c0a7c6451c549c81b6a39194ae1" name="locale/et/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="09b5dc1b37ebdacdaf17721717dad173" name="locale/eu/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="1c7ec7e25602ee2934f43198fdffdcbc" name="locale/eu/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="6a4b935ee5cfb84fb43727f55e760c02" name="locale/eu/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="c936725466075a9f77091c163c416e2d" name="locale/fa/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="0a0eec6160766f9c83ba87c198780bda" name="locale/fa/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="92763ec6920e8094bb6d300521e1e4f0" name="locale/fa/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="ebbf718fee5b20b6045a5fd31e45f693" name="locale/fi/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="377397d0bf4b577141fd53fb87137e5f" name="locale/fi/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="f864ad19ab4ef9f2e7ada2c7c43364a9" name="locale/fi/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="0c2577851f922f378694f53c68eadfcc" name="locale/fr/LC_MESSAGES/Horde_Crypt.mo" role="data" />
<file baseinstalldir="/" md5sum="3bd0c432cc3abe1828cc997ab83f0982" name="locale/fr/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="c60a48afe3aaf13caae9983f12e3cf4b" name="locale/gl/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="a8c1484d315471d73d107929d33c14ce" name="locale/gl/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="beddf67ad563e65a8839509c41dcb329" name="locale/gl/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="a38121978f6655971d57384e9623e131" name="locale/he/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="f814f2c7cfeaa3909894faeb85f612ef" name="locale/he/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="cee3738f98604bf385f2b9ed6fa90943" name="locale/he/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="5a4b4d68149592d7e628be0e309dcefb" name="locale/hr/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="2e15c2f9474a94c75b623b88bb29cea3" name="locale/hr/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="c8a8a40a5e1686c7cc61cd79353f3162" name="locale/hr/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="58833c6c716616cee449ba88cba716db" name="locale/hu/LC_MESSAGES/Horde_Crypt.mo" role="data" />
<file baseinstalldir="/" md5sum="9c32bd3c5ea363ab99b2e138446c8add" name="locale/hu/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="abe8c201fa304e3add7ad0896a7c8686" name="locale/id/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="21ba4b94eb5a0feab094155d129c1178" name="locale/id/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="5e37410c094f87740333bdff814e626b" name="locale/id/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="91e66c270077cbbf4ec21b429318bc6c" name="locale/is/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="1036ac173530779eca233ad2801fe62b" name="locale/is/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="4cb588babc67c87aca6606f74c8628a0" name="locale/is/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="bc5f98e62cb6020d70e4e145e0c7e033" name="locale/it/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="6bac1a1aa2445d75ffeb02fbbfa955b1" name="locale/it/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="0a66205379bf2ed5466077fc719ad5b4" name="locale/it/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="198b5c1441992bb34684335a827c36b4" name="locale/ja/LC_MESSAGES/Horde_Crypt.mo" role="data" />
<file baseinstalldir="/" md5sum="2b12ab1d5cb69a895736d37ba821ffcd" name="locale/ja/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="0962bbc2c05e8466fdd88ba8a2c794c0" name="locale/km/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="b82240f47cdfd6b113fd012f76137293" name="locale/km/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="104cf1f24fd3eba8e3b6e461fffdf952" name="locale/km/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="6d4fae28c4e31c889ac39ecdaef0dab3" name="locale/ko/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="37d339f8142184b6948962b56a1b440c" name="locale/ko/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="18470c8be05da3fc0e7f937cd0d23ec5" name="locale/ko/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="1719207f65582e41a8ff6ebb4725a5f3" name="locale/lt/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="324d98c11701db91f26c11e5503fce47" name="locale/lt/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="19087145750dfd83e1df83db85dde2a0" name="locale/lt/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="35d548167583bfa3a38e821e8da58a03" name="locale/lv/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="e9679ea6f87b3167ae1082d4598e0ad0" name="locale/lv/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="dc4a3464bf7ee5ba2ae2457f3d39489e" name="locale/lv/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="ae2011b033fe569deccae28da585f776" name="locale/mk/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="978cee74fce080be5e48c0c622b007ec" name="locale/mk/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="74e0475e88c48c118ec3c867565e7c6b" name="locale/mk/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="865a0b7ce1d74251f792ce2512bbf53d" name="locale/nb/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="50db4fa40abc5a1b2e76519c84e137f9" name="locale/nb/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="dda567e6a58fdc412493d76bebd76bf8" name="locale/nb/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="02709616eaa93c5027df2a2ad60d6aa5" name="locale/nl/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="bf44cd3ccf0edefdca0f784fc792344d" name="locale/nl/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="cd0254cca4ee64ed3d054a9b642fd087" name="locale/nl/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="fc2be186c609ee17afd455f254b4466c" name="locale/nn/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="1444a87c66de8413616be80f1deefc03" name="locale/nn/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="63316375949036de174677bf249f30fa" name="locale/nn/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="def5345bd96d8c1974cc577b784a2e93" name="locale/pl/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="068362e66da2f4432e19aebf8561253d" name="locale/pl/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="fd6cb1e01296b9b356b4b01307ae5dee" name="locale/pl/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="d0a4adf36ab7f3ebb3f2657e1ad9fe7d" name="locale/pt/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="1961d5b31d737862691d7a5f5714c87c" name="locale/pt/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="511e0e66406f497714fa02b7145d54a1" name="locale/pt/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="1276ffe6d4fab1394140fa4ef3112bfa" name="locale/pt_BR/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="7b2f31d72c41d29c8b69fe3daeef5a06" name="locale/pt_BR/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="0310fa8f4a3a031584e32c860b64aebe" name="locale/pt_BR/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="78038e5f26ced13e0a44c7eabfc9f7ba" name="locale/ro/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="8e4149a8abcdc300d24da01e9ec84497" name="locale/ro/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="cb477a1f41ebb5cd1b5b79dd78c37214" name="locale/ro/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="ce5b109f67a954c2cc031d142d6afd6c" name="locale/ru/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="56c1eb77de679c64011153a1d1aa2de2" name="locale/ru/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="a662853d17a3ccfd8c67eecfc5d97daa" name="locale/ru/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="a19ded1020d704a8295e83bef811b854" name="locale/sk/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="519e13a6d6e467cc18dd4b1abdcf769a" name="locale/sk/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="b67d95735b3bbad36cee5ce65a8cf97e" name="locale/sk/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="f2bb9698e90c7b0964854559d8cfc265" name="locale/sl/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="d0022c52eb40bd0f0cf555ea9849b0c2" name="locale/sl/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="3fc3274a412503190d6c2c2e21f31757" name="locale/sl/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="6cb784c16056c8feab4ba502fd4b14e8" name="locale/sv/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="3c7c4c8f4fc806399290e9f01e9ecb53" name="locale/sv/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="5dc897effe8d323e99a0e11f2b4dec36" name="locale/sv/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="9d2705b40fcf135c2786f9286f012945" name="locale/tr/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="3c31f23d9da8b923a1afa71cf62b853c" name="locale/tr/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="c37f3568fe08c5dacbbad9e346c4b089" name="locale/tr/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="4c8a3b41d835fd99affff35623e4f47f" name="locale/uk/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="9b9c6094f3dae02df50eb6b5bfeda5c6" name="locale/uk/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="2277db1ebe500344fcf2d3609c410a66" name="locale/uk/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="d6fef12b972ac8bba15dbadbe4d24e60" name="locale/zh_CN/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="123e98ba19efe6ae76448591bb100e72" name="locale/zh_CN/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="c6bc56fb2ee2ece83b386503ea5d493d" name="locale/zh_CN/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="cabdd64a674d02d96501e1ac588c30e8" name="locale/zh_TW/LC_MESSAGES/Horde_Crypt.mo" role="data" />
- <file baseinstalldir="/" md5sum="2d7a255c91fcc7dbab861d176986bec6" name="locale/zh_TW/LC_MESSAGES/Horde_Crypt.po" role="data" />
+ <file baseinstalldir="/" md5sum="e6256ef8abb5c3655063653bf6047bbd" name="locale/zh_TW/LC_MESSAGES/Horde_Crypt.po" role="data" />
<file baseinstalldir="/" md5sum="437c5ec0af228d856e4f2fdfe9601ea6" name="locale/Horde_Crypt.pot" role="data" />
<file baseinstalldir="/" md5sum="9b9f80ab5004e863e896d6b07080356a" name="test/Horde/Crypt/fixtures/bug_6601.asc" role="test" />
<file baseinstalldir="/" md5sum="d8b74210c071777add8eafc9ce001094" name="test/Horde/Crypt/fixtures/clear.txt" role="test" />
@@ -139,11 +140,11 @@
<file baseinstalldir="/" md5sum="d2fc2b5297b2fd24170e2edc254905b3" name="test/Horde/Crypt/fixtures/pgp_signed.txt" role="test" />
<file baseinstalldir="/" md5sum="40a005225e2f7c4d7208305345507cd5" name="test/Horde/Crypt/fixtures/pgp_signed2.txt" role="test" />
<file baseinstalldir="/" md5sum="707933f201a7b2a724ae2669044f7ac1" name="test/Horde/Crypt/fixtures/smime_subjectAltName.pem" role="test" />
- <file baseinstalldir="/" md5sum="321fdcbd2122c6663478ff1e3372971a" name="test/Horde/Crypt/Pgp/BinaryTest.php" role="test" />
- <file baseinstalldir="/" md5sum="bba8842eb7e3e94665292af42e86d3a6" name="test/Horde/Crypt/Pgp/TestBase.php" role="test" />
+ <file baseinstalldir="/" md5sum="75bc07f712d83b208b727d8e196a788e" name="test/Horde/Crypt/Pgp/BinaryTest.php" role="test" />
+ <file baseinstalldir="/" md5sum="157ed10914507df1174997065aec1fbd" name="test/Horde/Crypt/Pgp/TestBase.php" role="test" />
<file baseinstalldir="/" md5sum="8bc9518b9c0576806c82d9413489d099" name="test/Horde/Crypt/AllTests.php" role="test" />
<file baseinstalldir="/" md5sum="0a5018f0726d4673850fece3ad4d72c0" name="test/Horde/Crypt/bootstrap.php" role="test" />
- <file baseinstalldir="/" md5sum="50dafb62b9148a337d718b904eb2a97d" name="test/Horde/Crypt/conf.php.dist" role="test" />
+ <file baseinstalldir="/" md5sum="88b797d327dc637d336fc72fb142182a" name="test/Horde/Crypt/conf.php.dist" role="test" />
<file baseinstalldir="/" md5sum="f08fcbae617e5b518f85529c1b5e07ba" name="test/Horde/Crypt/PgpKeyserverTest.php" role="test" />
<file baseinstalldir="/" md5sum="3cc1f7d147f5c70561ef8967bd67b87b" name="test/Horde/Crypt/PgpParseTest.php" role="test" />
<file baseinstalldir="/" md5sum="090ce475b8a9773a240e954334988c75" name="test/Horde/Crypt/phpunit.xml" role="test" />
@@ -1073,5 +1074,52 @@ Initial release as a PEAR package
* [jan] Fix label for S/MIME Encrypted Key Usage attribute.
</notes>
</release>
+ <release>
+ <version>
+ <release>2.7.6</release>
+ <api>2.7.0</api>
+ </version>
+ <stability>
+ <release>stable</release>
+ <api>stable</api>
+ </stability>
+ <date>2017-04-04</date>
+ <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
+ <notes>
+* [mjr] SECURITY: Fix remote code execution vulnerability (CVE-2017-7413, and CVE-2017-7414).
+ </notes>
+ </release>
+ <release>
+ <version>
+ <release>2.7.7</release>
+ <api>2.7.0</api>
+ </version>
+ <stability>
+ <release>stable</release>
+ <api>stable</api>
+ </stability>
+ <date>2017-05-03</date>
+ <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
+ <notes>
+* [mjr] Correctly specify either sha-1 or sha-256 when signing a smime message.
+* [jan] Support GnuPG 2.1+ too (Bug #14014).
+ </notes>
+ </release>
+ <release>
+ <version>
+ <release>2.7.8</release>
+ <api>2.7.0</api>
+ </version>
+ <stability>
+ <release>stable</release>
+ <api>stable</api>
+ </stability>
+ <date>2017-05-03</date>
+ <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
+ <notes>
+* [jan] Detect unsupported GnuPG versions.
+* [jan] Fix detection of new GnuPG API (Remi Collet <remi at remirepo.net>, PR #220).
+ </notes>
+ </release>
</changelog>
</package>
-------------- next part --------------
diff --git a/Horde_Crypt-2.7.5/lib/Horde/Crypt/Pgp/Backend/Binary.php b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend/Binary.php
similarity index 95%
rename from Horde_Crypt-2.7.5/lib/Horde/Crypt/Pgp/Backend/Binary.php
rename to Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend/Binary.php
index 0b786ff..2d71888 100644
--- a/Horde_Crypt-2.7.5/lib/Horde/Crypt/Pgp/Backend/Binary.php
+++ b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend/Binary.php
@@ -77,6 +77,26 @@ extends Horde_Crypt_Pgp_Backend
'--yes',
'--homedir ' . $this->_tempdir
);
+
+ /* GnuPG 2 requires specifying the pinentry-mode. */
+ $result = $this->_callGpg(array('--version'), 'r');
+ if (preg_match('/gpg \(GnuPG\) (\d+\.\d+\.\d+)/', $result->stdout, $version) &&
+ version_compare($version[1], '2.1.0', '>')) {
+ if (version_compare($version[1], '2.1.12', '>=')) {
+ $this->_gnupg[] = '--pinentry-mode loopback';
+ file_put_contents(
+ $this->_tempdir . '/gpg-agent.conf',
+ 'allow-loopback-pinentry'
+ );
+ } else {
+ throw new Horde_Crypt_Exception(
+ sprintf(
+ Horde_Crypt_Translation::t("Unsupported GnuPG version %s detected. Only versions < 2.1 and > 2.1.11 are supported."),
+ $version[1]
+ )
+ );
+ }
+ }
}
/**
@@ -433,7 +453,7 @@ extends Horde_Crypt_Pgp_Backend
$cmdline[] = $keyring;
$cmdline[] = '--encrypt';
foreach (array_keys($params['recips']) as $val) {
- $cmdline[] = '--recipient ' . $val;
+ $cmdline[] = '--recipient ' . escapeshellarg($val);
}
} else {
$cmdline[] = '--symmetric';
@@ -552,7 +572,7 @@ extends Horde_Crypt_Pgp_Backend
'--armor',
'--always-trust',
'--batch',
- '--charset ' . (isset($params['charset']) ? $params['charset'] : 'UTF-8'),
+ '--charset ' . (isset($params['charset']) ? escapeshellarg($params['charset']) : 'UTF-8'),
$keyring,
'--verify'
);
diff --git a/Horde_Crypt-2.7.5/lib/Horde/Crypt/Pgp/Parse.php b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Parse.php
similarity index 95%
rename from Horde_Crypt-2.7.5/lib/Horde/Crypt/Pgp/Parse.php
rename to Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Parse.php
index 518b3e7..9cbac24 100644
--- a/Horde_Crypt-2.7.5/lib/Horde/Crypt/Pgp/Parse.php
+++ b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Parse.php
@@ -159,7 +159,7 @@ class Horde_Crypt_Pgp_Parse
$new_part = new Horde_Mime_Part();
$new_part->setType('multipart/mixed');
- while (list(,$val) = each($parts)) {
+ for ($val = reset($parts); $val; $val = next($parts)) {
switch ($val['type']) {
case self::ARMOR_TEXT:
$part = new Horde_Mime_Part();
@@ -198,7 +198,7 @@ class Horde_Crypt_Pgp_Parse
break;
case self::ARMOR_SIGNED_MESSAGE:
- if ((list(,$sig) = each($parts)) &&
+ if (($sig = next($parts)) &&
($sig['type'] == self::ARMOR_SIGNATURE)) {
$part = new Horde_Mime_Part();
$part->setType('multipart/signed');
@@ -223,8 +223,6 @@ class Horde_Crypt_Pgp_Parse
$part->addPart($part1);
$part->addPart($part2);
$new_part->addPart($part);
-
- next($parts);
}
}
}
diff --git a/Horde_Crypt-2.7.5/lib/Horde/Crypt/Smime.php b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Smime.php
similarity index 98%
rename from Horde_Crypt-2.7.5/lib/Horde/Crypt/Smime.php
rename to Horde_Crypt-2.7.8/lib/Horde/Crypt/Smime.php
index cb8455d..f40a6dd 100644
--- a/Horde_Crypt-2.7.5/lib/Horde/Crypt/Smime.php
+++ b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Smime.php
@@ -235,8 +244,9 @@ class Horde_Crypt_Smime extends Horde_Crypt
'protocol',
'application/pkcs7-signature'
);
- // Per RFC 5751 [3.4.3.2], 'sha1' has been deprecated for 'sha-1'.
- $smime_part->setContentTypeParameter('micalg', 'sha-1');
+ $smime_part->setContentTypeParameter(
+ 'micalg', $mime_message->getContentTypeParameter('micalg')
+ );
$smime_part->addPart($mime_part);
$smime_part->addPart($smime_sign);
diff --git a/debian/changelog b/debian/changelog
index 9c4f720..c61e151 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,20 @@
+php-horde-crypt (2.7.8-1) unstable; urgency=medium
+
+ * New upstream version 2.7.8
+ - with GnuPG 2 support (incomplete)
+ - Remove 0001-Escape-user-provided-recipients-and-charset-data.patch, merged
+ * Add gnupg as a test dependency (Closes: #849151)
+ * Fix GnuPG 2 support (from https://github.com/horde/horde/pull/221)
+
+ -- Mathieu Parent <sathieu at debian.org> Sat, 27 May 2017 22:14:43 +0200
+
+php-horde-crypt (2.7.5-2) unstable; urgency=medium
+
+ * Escape user provided recipients and charset data. Fixes CVE-2017-7413 and
+ CVE-2017-7414 (Closes: #859635)
+
+ -- Mathieu Parent <sathieu at debian.org> Wed, 03 May 2017 07:15:32 +0200
+
php-horde-crypt (2.7.5-1) unstable; urgency=medium
* New upstream version 2.7.5
diff --git a/debian/patches/0001-Horde_Crypt-Fix-getFingerprintsFromKey-test-with-gpg.patch b/debian/patches/0001-Horde_Crypt-Fix-getFingerprintsFromKey-test-with-gpg.patch
new file mode 100644
index 0000000..9f93c23
--- /dev/null
+++ b/debian/patches/0001-Horde_Crypt-Fix-getFingerprintsFromKey-test-with-gpg.patch
@@ -0,0 +1,43 @@
+From a9e6ac7d33c06cd4500f95dd6004f7736d7340eb Mon Sep 17 00:00:00 2001
+From: Mathieu Parent <math.parent at gmail.com>
+Date: Thu, 18 May 2017 22:39:35 +0200
+Subject: [PATCH 1/2] Horde_Crypt: Fix getFingerprintsFromKey test with gpg
+ 2.1.18
+
+Using --with-colons and --fixed-list-mode ensure stable formating.
+---
+ Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend/Binary.php | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend/Binary.php b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend/Binary.php
+index 2d71888ec0..5d80705eb6 100644
+--- a/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend/Binary.php
++++ b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend/Binary.php
+@@ -382,6 +382,8 @@ extends Horde_Crypt_Pgp_Backend
+ array(
+ '--fingerprint',
+ $keyring,
++ '--with-colons',
++ '--fixed-list-mode',
+ ),
+ 'r',
+ null,
+@@ -397,10 +399,11 @@ extends Horde_Crypt_Pgp_Backend
+ $lines = explode("\n", $result->stdout);
+
+ foreach ($lines as $line) {
+- if (preg_match('/pub\s+\w+\/(\w{8})/', $line, $matches)) {
+- $keyid = '0x' . $matches[1];
+- } elseif ($keyid && preg_match('/^\s+[\s\w]+=\s*([\w\s]+)$/m', $line, $matches)) {
+- $fingerprints[$keyid] = str_replace(' ', '', $matches[1]);
++ $fields = explode(':', $line);
++ if ($fields[0] == 'pub') {
++ $keyid = '0x' . substr($fields[4], -8);
++ } elseif ($keyid && ($fields[0] == 'fpr')) {
++ $fingerprints[$keyid] = $fields[9];
+ $keyid = null;
+ }
+ }
+--
+2.11.0
+
diff --git a/debian/patches/0002-Horde_Crypt-Fix-GetSignersKeyID-test-with-gpg-2.1.18.patch b/debian/patches/0002-Horde_Crypt-Fix-GetSignersKeyID-test-with-gpg-2.1.18.patch
new file mode 100644
index 0000000..45eb17c
--- /dev/null
+++ b/debian/patches/0002-Horde_Crypt-Fix-GetSignersKeyID-test-with-gpg-2.1.18.patch
@@ -0,0 +1,34 @@
+From de53721f027b135e3a43a0de0a0a3896d2bb249b Mon Sep 17 00:00:00 2001
+From: Mathieu Parent <math.parent at gmail.com>
+Date: Thu, 18 May 2017 22:56:41 +0200
+Subject: [PATCH 2/2] Horde_Crypt: Fix GetSignersKeyID test with gpg 2.1.18
+
+Output format has changed.
+---
+ Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend/Binary.php | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend/Binary.php b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend/Binary.php
+index 5d80705eb6..9ec105cd66 100644
+--- a/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend/Binary.php
++++ b/Horde_Crypt-2.7.8/lib/Horde/Crypt/Pgp/Backend/Binary.php
+@@ -364,10 +364,16 @@ extends Horde_Crypt_Pgp_Backend
+ true
+ );
+
++ // GnuPG 1
+ if (preg_match('/gpg:\sSignature\smade.*ID\s+([A-F0-9]{8})\s+/', $result->stderr, $matches)) {
+ return $matches[1];
+ }
+
++ // GnuPG 2
++ if (preg_match('/gpg:\sSignature\smade.*using\s+\S+\s+key\s+([A-F0-9]{16})\s+/s', $result->stderr, $matches)) {
++ return substr($matches[1], -8);
++ }
++
+ throw new Horde_Crypt_Exception(_("Cannot read PGP key ID"));
+ }
+
+--
+2.11.0
+
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..9407700
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,2 @@
+0001-Horde_Crypt-Fix-getFingerprintsFromKey-test-with-gpg.patch
+0002-Horde_Crypt-Fix-GetSignersKeyID-test-with-gpg-2.1.18.patch
diff --git a/debian/tests/control b/debian/tests/control
index 7731959..7fd6289 100644
--- a/debian/tests/control
+++ b/debian/tests/control
@@ -1,3 +1,3 @@
Tests: phpunit
Restrictions: needs-recommends
-Depends: @, php-cli, php-horde-test
+Depends: @, php-cli, php-horde-test, gnupg
diff --git a/package.xml b/package.xml
index ad884c5..dec40ad 100644
--- a/package.xml
+++ b/package.xml
@@ -16,10 +16,10 @@
<email>jan at horde.org</email>
<active>yes</active>
</lead>
- <date>2016-12-16</date>
- <time>16:57:15</time>
+ <date>2017-05-03</date>
+ <time>13:32:12</time>
<version>
- <release>2.7.5</release>
+ <release>2.7.8</release>
<api>2.7.0</api>
</version>
<stability>
@@ -1073,5 +1074,52 @@ Initial release as a PEAR package
* [jan] Fix label for S/MIME Encrypted Key Usage attribute.
</notes>
</release>
+ <release>
+ <version>
+ <release>2.7.6</release>
+ <api>2.7.0</api>
+ </version>
+ <stability>
+ <release>stable</release>
+ <api>stable</api>
+ </stability>
+ <date>2017-04-04</date>
+ <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
+ <notes>
+* [mjr] SECURITY: Fix remote code execution vulnerability (CVE-2017-7413, and CVE-2017-7414).
+ </notes>
+ </release>
+ <release>
+ <version>
+ <release>2.7.7</release>
+ <api>2.7.0</api>
+ </version>
+ <stability>
+ <release>stable</release>
+ <api>stable</api>
+ </stability>
+ <date>2017-05-03</date>
+ <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
+ <notes>
+* [mjr] Correctly specify either sha-1 or sha-256 when signing a smime message.
+* [jan] Support GnuPG 2.1+ too (Bug #14014).
+ </notes>
+ </release>
+ <release>
+ <version>
+ <release>2.7.8</release>
+ <api>2.7.0</api>
+ </version>
+ <stability>
+ <release>stable</release>
+ <api>stable</api>
+ </stability>
+ <date>2017-05-03</date>
+ <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
+ <notes>
+* [jan] Detect unsupported GnuPG versions.
+* [jan] Fix detection of new GnuPG API (Remi Collet <remi at remirepo.net>, PR #220).
+ </notes>
+ </release>
</changelog>
</package>
More information about the pkg-horde-hackers
mailing list