[arch-commits] Commit in libgcrypt/trunk (libgcrypt-1.9.0-fix-ed25519.patch)

Christian Hesse eworm at archlinux.org
Fri Jan 29 11:34:06 UTC 2021


    Date: Friday, January 29, 2021 @ 11:34:06
  Author: eworm
Revision: 406888

upgpkg: libgcrypt 1.9.1-1

Deleted:
  libgcrypt/trunk/libgcrypt-1.9.0-fix-ed25519.patch

-----------------------------------+
 libgcrypt-1.9.0-fix-ed25519.patch |   95 ------------------------------------
 1 file changed, 95 deletions(-)

Deleted: libgcrypt-1.9.0-fix-ed25519.patch
===================================================================
--- libgcrypt-1.9.0-fix-ed25519.patch	2021-01-29 11:29:22 UTC (rev 406887)
+++ libgcrypt-1.9.0-fix-ed25519.patch	2021-01-29 11:34:06 UTC (rev 406888)
@@ -1,95 +0,0 @@
-diff --git a/cipher/ecc-curves.c b/cipher/ecc-curves.c
-index 26006d6c..900b668a 100644
---- a/cipher/ecc-curves.c
-+++ b/cipher/ecc-curves.c
-@@ -1200,13 +1200,18 @@ mpi_ec_setup_elliptic_curve (mpi_ec_t ec, int flags,
- 
-           if ((n+7)/8 != len)
-             {
--              if ((n+7)/8 < len && ec->dialect == ECC_DIALECT_ED25519)
-+              if (ec->dialect == ECC_DIALECT_ED25519)
-                 {
-                   /*
-                    * GnuPG (<= 2.2) or OpenPGP implementations with no
-                    * SOS support may remove zeros at the beginning.
-                    * Recover those zeros.
-                    */
-+                  /*
-+                   * Also, GnuPG (<= 2.2) may add additional zero at
-+                   * the beginning, when private key is moved from
-+                   * OpenPGP to gpg-agent.  Remove such a zero-prefix.
-+                   */
-                   const unsigned char *buf;
-                   unsigned char *value;
- 
-@@ -1214,13 +1219,26 @@ mpi_ec_setup_elliptic_curve (mpi_ec_t ec, int flags,
-                   if (!buf)
-                     return GPG_ERR_INV_OBJ;
- 
--                  value = xtrycalloc_secure (1, len);
-+                  value = xtrymalloc_secure (len);
-                   if (!value)
-                     return gpg_err_code_from_syserror ();
- 
--                  memset (value, 0, len - (n+7)/8);
--                  memcpy (value + len - (n+7)/8, buf, (n+7)/8);
--                  mpi_set_opaque (ec->d, value, len);
-+                  if ((n+7)/8 < len)
-+                    /* Recover zeros.  */
-+                    {
-+                      memset (value, 0, len - (n+7)/8);
-+                      memcpy (value + len - (n+7)/8, buf, (n+7)/8);
-+                    }
-+                  else if ((n+7)/8 == len + 1)
-+                    /* Remove a zero.  */
-+                    memcpy (value, buf+1, len);
-+                  else
-+                    {
-+                      xfree (value);
-+                      return GPG_ERR_INV_OBJ;
-+                    }
-+
-+                  mpi_set_opaque (ec->d, value, len*8);
-                 }
-               else
-                 {
-diff --git a/cipher/ecc.c b/cipher/ecc.c
-index b4672d3d..5d8c7607 100644
---- a/cipher/ecc.c
-+++ b/cipher/ecc.c
-@@ -688,6 +688,8 @@ ecc_sign (gcry_sexp_t *r_sig, gcry_sexp_t s_data, gcry_sexp_t keyparms)
-   mpi_ec_t ec = NULL;
-   int flags = 0;
- 
-+  _gcry_pk_util_init_encoding_ctx (&ctx, PUBKEY_OP_SIGN, 0);
-+
-   /*
-    * Extract the key.
-    */
-@@ -700,7 +702,6 @@ ecc_sign (gcry_sexp_t *r_sig, gcry_sexp_t s_data, gcry_sexp_t keyparms)
-       goto leave;
-     }
- 
--  _gcry_pk_util_init_encoding_ctx (&ctx, PUBKEY_OP_SIGN, 0);
-   ctx.flags |= flags;
-   if (ec->model == MPI_EC_EDWARDS && ec->dialect == ECC_DIALECT_SAFECURVE)
-     ctx.flags |= PUBKEY_FLAG_EDDSA;
-@@ -783,6 +784,9 @@ ecc_verify (gcry_sexp_t s_sig, gcry_sexp_t s_data, gcry_sexp_t s_keyparms)
-   mpi_ec_t ec = NULL;
-   int flags = 0;
- 
-+  _gcry_pk_util_init_encoding_ctx (&ctx, PUBKEY_OP_VERIFY,
-+                                   ecc_get_nbits (s_keyparms));
-+
-   /*
-    * Extract the key.
-    */
-@@ -804,8 +808,6 @@ ecc_verify (gcry_sexp_t s_sig, gcry_sexp_t s_data, gcry_sexp_t s_keyparms)
-       goto leave;
-     }
- 
--  _gcry_pk_util_init_encoding_ctx (&ctx, PUBKEY_OP_VERIFY,
--                                   ecc_get_nbits (s_keyparms));
-   ctx.flags |= flags;
-   if (ec->model == MPI_EC_EDWARDS && ec->dialect == ECC_DIALECT_SAFECURVE)
-     ctx.flags |= PUBKEY_FLAG_EDDSA;



More information about the arch-commits mailing list