[arch-commits] Commit in gnupg/trunk (PKGBUILD ssh-ed25519.patch)

Gaetan Bisson bisson at archlinux.org
Tue Sep 22 04:12:35 UTC 2015


    Date: Tuesday, September 22, 2015 @ 06:12:35
  Author: bisson
Revision: 247052

fix FS#46378

Added:
  gnupg/trunk/ssh-ed25519.patch
Modified:
  gnupg/trunk/PKGBUILD

-------------------+
 PKGBUILD          |    9 +++++--
 ssh-ed25519.patch |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 66 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2015-09-22 04:05:59 UTC (rev 247051)
+++ PKGBUILD	2015-09-22 04:12:35 UTC (rev 247052)
@@ -6,7 +6,7 @@
 
 pkgname=gnupg
 pkgver=2.1.8
-pkgrel=2
+pkgrel=3
 pkgdesc='Complete and free implementation of the OpenPGP standard'
 url='http://www.gnupg.org/'
 license=('GPL')
@@ -20,8 +20,10 @@
               '46CC730865BB5C78EBABADCF04376F3EE0856959'
               '031EC2536E580D8EA286A9F22071B08A33BD3F06'
               'D238EA65D64C67ED4C3073F28A861B1C7EFD60D9')
-source=("ftp://ftp.gnupg.org/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2"{,.sig})
-sha1sums=('61f5bc656dd7fddd4ab67b720d47ef0651bfb727' 'SKIP')
+source=("ftp://ftp.gnupg.org/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2"{,.sig}
+        'ssh-ed25519.patch')
+sha1sums=('61f5bc656dd7fddd4ab67b720d47ef0651bfb727' 'SKIP'
+          'fd77cf366f6bd70c1d33e910044612aebe6bbe63')
 
 install=install
 
@@ -32,6 +34,7 @@
 prepare() {
 	cd "${srcdir}/${pkgname}-${pkgver}"
 	sed '/noinst_SCRIPTS = gpg-zip/c sbin_SCRIPTS += gpg-zip' -i tools/Makefile.in
+	patch -p1 -i ../ssh-ed25519.patch
 }
 
 build() {

Added: ssh-ed25519.patch
===================================================================
--- ssh-ed25519.patch	                        (rev 0)
+++ ssh-ed25519.patch	2015-09-22 04:12:35 UTC (rev 247052)
@@ -0,0 +1,60 @@
+From 7d5999f0964c9412c0e18eb1adefdb729be68cd4 Mon Sep 17 00:00:00 2001
+From: NIIBE Yutaka <gniibe at fsij.org>
+Date: Wed, 16 Sep 2015 10:37:38 +0900
+Subject: [PATCH] agent: Fix registering SSH Key of Ed25519.
+
+* agent/command-ssh.c (stream_read_string): Add the prefix of 0x40.
+
+--
+
+GnuPG-bug-id: 2096
+---
+ agent/command-ssh.c | 14 ++++++++------
+ 1 file changed, 8 insertions(+), 6 deletions(-)
+
+diff --git a/agent/command-ssh.c b/agent/command-ssh.c
+index 8868620..8be1255 100644
+--- a/agent/command-ssh.c
++++ b/agent/command-ssh.c
+@@ -580,8 +580,9 @@ stream_read_string (estream_t stream, unsigned int secure,
+ 
+ 
+ /* Read a binary string from STREAM and store it as an opaque MPI at
+-   R_MPI.  Depending on SECURE use secure memory.  If the string is
+-   too large for key material return an error.  */
++   R_MPI, adding 0x40 (this is the prefix for EdDSA key in OpenPGP).
++   Depending on SECURE use secure memory.  If the string is too large
++   for key material return an error.  */
+ static gpg_error_t
+ stream_read_blob (estream_t stream, unsigned int secure, gcry_mpi_t *r_mpi)
+ {
+@@ -607,9 +608,9 @@ stream_read_blob (estream_t stream, unsigned int secure, gcry_mpi_t *r_mpi)
+ 
+   /* Allocate space.  */
+   if (secure)
+-    buffer = xtrymalloc_secure (length? length:1);
++    buffer = xtrymalloc_secure (length+1);
+   else
+-    buffer = xtrymalloc (length?length:1);
++    buffer = xtrymalloc (length+1);
+   if (!buffer)
+     {
+       err = gpg_error_from_syserror ();
+@@ -617,11 +618,12 @@ stream_read_blob (estream_t stream, unsigned int secure, gcry_mpi_t *r_mpi)
+     }
+ 
+   /* Read data.  */
+-  err = stream_read_data (stream, buffer, length);
++  err = stream_read_data (stream, buffer + 1, length);
+   if (err)
+     goto leave;
+ 
+-  *r_mpi = gcry_mpi_set_opaque (NULL, buffer, 8*length);
++  buffer[0] = 0x40;
++  *r_mpi = gcry_mpi_set_opaque (NULL, buffer, 8*(length+1));
+   buffer = NULL;
+ 
+  leave:
+-- 
+2.1.4
+



More information about the arch-commits mailing list