mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
gpg: remove workaround for Libgcrypt < 1.8.6
* g10/free-packet.c (is_mpi_copy_broken): Remove.
This commit is contained in:
parent
412e183e55
commit
1e25157266
@ -30,24 +30,10 @@
|
|||||||
#include "options.h"
|
#include "options.h"
|
||||||
|
|
||||||
|
|
||||||
/* Run time check to see whether mpi_copy does not copy the flags
|
/* This is a wrapper for mpi_copy which handles opaque MPIs with a
|
||||||
* properly. This was fixed in version 1.8.6. */
|
* NULL pointer as opaque data; e.g. gcry_mpi_set_opaque(a, NULL, 0).
|
||||||
static int
|
* It seems that at least gcry_mpi_set_opaque_copy does not yet handle
|
||||||
is_mpi_copy_broken (void)
|
* this correctly. */
|
||||||
{
|
|
||||||
static char result;
|
|
||||||
|
|
||||||
if (!result)
|
|
||||||
{
|
|
||||||
result = !gcry_check_version ("1.8.6");
|
|
||||||
result |= 0x80;
|
|
||||||
}
|
|
||||||
return (result & 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* This is mpi_copy with a fix for opaque MPIs which store a NULL
|
|
||||||
pointer. This will also be fixed in Libggcrypt 1.7.0. */
|
|
||||||
static gcry_mpi_t
|
static gcry_mpi_t
|
||||||
my_mpi_copy (gcry_mpi_t a)
|
my_mpi_copy (gcry_mpi_t a)
|
||||||
{
|
{
|
||||||
@ -56,17 +42,6 @@ my_mpi_copy (gcry_mpi_t a)
|
|||||||
&& !gcry_mpi_get_opaque (a, NULL))
|
&& !gcry_mpi_get_opaque (a, NULL))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if (is_mpi_copy_broken ())
|
|
||||||
{
|
|
||||||
int flag_user2 = a? gcry_mpi_get_flag (a, GCRYMPI_FLAG_USER2) : 0;
|
|
||||||
gcry_mpi_t b;
|
|
||||||
|
|
||||||
b = gcry_mpi_copy (a);
|
|
||||||
if (b && flag_user2)
|
|
||||||
gcry_mpi_set_flag (b, GCRYMPI_FLAG_USER2);
|
|
||||||
return b;
|
|
||||||
}
|
|
||||||
|
|
||||||
return gcry_mpi_copy (a);
|
return gcry_mpi_copy (a);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user