[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