SHA256
1
0
forked from pool/libgcrypt

Accepting request 512433 from devel:libraries:c_c++

1

OBS-URL: https://build.opensuse.org/request/show/512433
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libgcrypt?expand=0&rev=66
This commit is contained in:
Dominique Leuenberger 2017-08-29 09:33:52 +00:00 committed by Git OBS Bridge
commit 3938bc27a3
8 changed files with 82 additions and 52 deletions

View File

@ -1,7 +1,7 @@
Index: libgcrypt-1.7.2/random/rndlinux.c Index: libgcrypt-1.8.0/random/rndlinux.c
=================================================================== ===================================================================
--- libgcrypt-1.7.2.orig/random/rndlinux.c --- libgcrypt-1.8.0.orig/random/rndlinux.c 2017-07-21 17:45:39.193291437 +0200
+++ libgcrypt-1.7.2/random/rndlinux.c +++ libgcrypt-1.8.0/random/rndlinux.c 2017-07-21 17:48:44.539152641 +0200
@@ -40,7 +40,9 @@ @@ -40,7 +40,9 @@
#include "g10lib.h" #include "g10lib.h"
#include "rand-internal.h" #include "rand-internal.h"
@ -36,10 +36,10 @@ Index: libgcrypt-1.7.2/random/rndlinux.c
static int fd_urandom = -1; static int fd_urandom = -1;
static int fd_random = -1; static int fd_random = -1;
+ static int fd_configured = -1; + static int fd_configured = -1;
static int only_urandom = -1;
static unsigned char ever_opened; static unsigned char ever_opened;
int fd; int fd;
int n; @@ -150,6 +155,11 @@ _gcry_rndlinux_gather_random (void (*add
@@ -138,6 +143,11 @@ _gcry_rndlinux_gather_random (void (*add
close (fd_urandom); close (fd_urandom);
fd_urandom = -1; fd_urandom = -1;
} }
@ -51,7 +51,7 @@ Index: libgcrypt-1.7.2/random/rndlinux.c
return 0; return 0;
} }
@@ -165,20 +175,30 @@ _gcry_rndlinux_gather_random (void (*add @@ -190,11 +200,21 @@ _gcry_rndlinux_gather_random (void (*add
that we always require the device to be existent but want a more that we always require the device to be existent but want a more
graceful behaviour if the rarely needed close operation has been graceful behaviour if the rarely needed close operation has been
used and the device needs to be re-opened later. */ used and the device needs to be re-opened later. */
@ -65,7 +65,7 @@ Index: libgcrypt-1.7.2/random/rndlinux.c
+ return -1; + return -1;
+ } + }
+ +
if (level >= 2) if (level >= GCRY_VERY_STRONG_RANDOM && !only_urandom)
{ {
if (fd_random == -1) if (fd_random == -1)
{ {
@ -74,9 +74,7 @@ Index: libgcrypt-1.7.2/random/rndlinux.c
ever_opened |= 1; ever_opened |= 1;
} }
fd = fd_random; fd = fd_random;
} @@ -203,7 +223,7 @@ _gcry_rndlinux_gather_random (void (*add
- else
+ else if (level != -1)
{ {
if (fd_urandom == -1) if (fd_urandom == -1)
{ {

View File

@ -1,8 +1,8 @@
Index: libgcrypt-1.7.2/cipher/bufhelp.h Index: libgcrypt-1.8.0/cipher/bufhelp.h
=================================================================== ===================================================================
--- libgcrypt-1.7.2.orig/cipher/bufhelp.h --- libgcrypt-1.8.0.orig/cipher/bufhelp.h
+++ libgcrypt-1.7.2/cipher/bufhelp.h +++ libgcrypt-1.8.0/cipher/bufhelp.h
@@ -91,7 +91,7 @@ do_bytes: @@ -109,7 +109,7 @@ do_bytes:
for (; len; len--) for (; len; len--)
*dst++ = *src++; *dst++ = *src++;
#endif /*__GNUC__ >= 4 && (__x86_64__ || __i386__)*/ #endif /*__GNUC__ >= 4 && (__x86_64__ || __i386__)*/
@ -11,7 +11,7 @@ Index: libgcrypt-1.7.2/cipher/bufhelp.h
/* Optimized function for buffer xoring */ /* Optimized function for buffer xoring */
@@ -128,7 +128,7 @@ do_bytes: @@ -146,7 +146,7 @@ do_bytes:
/* Handle tail. */ /* Handle tail. */
for (; len; len--) for (; len; len--)
*dst++ = *src1++ ^ *src2++; *dst++ = *src1++ ^ *src2++;
@ -20,7 +20,7 @@ Index: libgcrypt-1.7.2/cipher/bufhelp.h
/* Optimized function for in-place buffer xoring. */ /* Optimized function for in-place buffer xoring. */
@@ -200,7 +200,7 @@ do_bytes: @@ -218,7 +218,7 @@ do_bytes:
/* Handle tail. */ /* Handle tail. */
for (; len; len--) for (; len; len--)
*dst1++ = (*dst2++ ^= *src++); *dst1++ = (*dst2++ ^= *src++);
@ -29,7 +29,7 @@ Index: libgcrypt-1.7.2/cipher/bufhelp.h
/* Optimized function for combined buffer xoring and copying. Used by mainly /* Optimized function for combined buffer xoring and copying. Used by mainly
@@ -253,7 +253,7 @@ do_bytes: @@ -271,7 +271,7 @@ do_bytes:
*dst_xor++ = *srcdst_cpy ^ *src_xor++; *dst_xor++ = *srcdst_cpy ^ *src_xor++;
*srcdst_cpy++ = temp; *srcdst_cpy++ = temp;
} }
@ -38,7 +38,7 @@ Index: libgcrypt-1.7.2/cipher/bufhelp.h
/* Optimized function for combined buffer xoring and copying. Used by mainly /* Optimized function for combined buffer xoring and copying. Used by mainly
@@ -279,7 +279,7 @@ buf_eq_const(const void *_a, const void @@ -297,7 +297,7 @@ buf_eq_const(const void *_a, const void
diff -= !!(a[i] - b[i]); diff -= !!(a[i] - b[i]);
return !diff; return !diff;
@ -46,8 +46,8 @@ Index: libgcrypt-1.7.2/cipher/bufhelp.h
+} __attribute__ ((optimize("no-strict-aliasing"))) +} __attribute__ ((optimize("no-strict-aliasing")))
#ifndef BUFHELP_FAST_UNALIGNED_ACCESS #ifndef BUFHELP_UNALIGNED_ACCESS
@@ -291,14 +291,14 @@ static inline u32 buf_get_be32(const voi @@ -309,14 +309,14 @@ static inline u32 buf_get_be32(const voi
const byte *in = _buf; const byte *in = _buf;
return ((u32)in[0] << 24) | ((u32)in[1] << 16) | \ return ((u32)in[0] << 24) | ((u32)in[1] << 16) | \
((u32)in[2] << 8) | (u32)in[3]; ((u32)in[2] << 8) | (u32)in[3];
@ -64,7 +64,7 @@ Index: libgcrypt-1.7.2/cipher/bufhelp.h
static inline void buf_put_be32(void *_buf, u32 val) static inline void buf_put_be32(void *_buf, u32 val)
{ {
@@ -307,7 +307,7 @@ static inline void buf_put_be32(void *_b @@ -325,7 +325,7 @@ static inline void buf_put_be32(void *_b
out[1] = val >> 16; out[1] = val >> 16;
out[2] = val >> 8; out[2] = val >> 8;
out[3] = val; out[3] = val;
@ -73,7 +73,7 @@ Index: libgcrypt-1.7.2/cipher/bufhelp.h
static inline void buf_put_le32(void *_buf, u32 val) static inline void buf_put_le32(void *_buf, u32 val)
{ {
@@ -316,7 +316,7 @@ static inline void buf_put_le32(void *_b @@ -334,7 +334,7 @@ static inline void buf_put_le32(void *_b
out[2] = val >> 16; out[2] = val >> 16;
out[1] = val >> 8; out[1] = val >> 8;
out[0] = val; out[0] = val;
@ -82,7 +82,7 @@ Index: libgcrypt-1.7.2/cipher/bufhelp.h
/* Functions for loading and storing unaligned u64 values of different /* Functions for loading and storing unaligned u64 values of different
@@ -328,7 +328,7 @@ static inline u64 buf_get_be64(const voi @@ -346,7 +346,7 @@ static inline u64 buf_get_be64(const voi
((u64)in[2] << 40) | ((u64)in[3] << 32) | \ ((u64)in[2] << 40) | ((u64)in[3] << 32) | \
((u64)in[4] << 24) | ((u64)in[5] << 16) | \ ((u64)in[4] << 24) | ((u64)in[5] << 16) | \
((u64)in[6] << 8) | (u64)in[7]; ((u64)in[6] << 8) | (u64)in[7];
@ -91,7 +91,7 @@ Index: libgcrypt-1.7.2/cipher/bufhelp.h
static inline u64 buf_get_le64(const void *_buf) static inline u64 buf_get_le64(const void *_buf)
{ {
@@ -337,7 +337,7 @@ static inline u64 buf_get_le64(const voi @@ -355,7 +355,7 @@ static inline u64 buf_get_le64(const voi
((u64)in[5] << 40) | ((u64)in[4] << 32) | \ ((u64)in[5] << 40) | ((u64)in[4] << 32) | \
((u64)in[3] << 24) | ((u64)in[2] << 16) | \ ((u64)in[3] << 24) | ((u64)in[2] << 16) | \
((u64)in[1] << 8) | (u64)in[0]; ((u64)in[1] << 8) | (u64)in[0];
@ -100,7 +100,7 @@ Index: libgcrypt-1.7.2/cipher/bufhelp.h
static inline void buf_put_be64(void *_buf, u64 val) static inline void buf_put_be64(void *_buf, u64 val)
{ {
@@ -350,7 +350,7 @@ static inline void buf_put_be64(void *_b @@ -368,7 +368,7 @@ static inline void buf_put_be64(void *_b
out[5] = val >> 16; out[5] = val >> 16;
out[6] = val >> 8; out[6] = val >> 8;
out[7] = val; out[7] = val;
@ -109,16 +109,16 @@ Index: libgcrypt-1.7.2/cipher/bufhelp.h
static inline void buf_put_le64(void *_buf, u64 val) static inline void buf_put_le64(void *_buf, u64 val)
{ {
@@ -363,7 +363,7 @@ static inline void buf_put_le64(void *_b @@ -381,7 +381,7 @@ static inline void buf_put_le64(void *_b
out[2] = val >> 16; out[2] = val >> 16;
out[1] = val >> 8; out[1] = val >> 8;
out[0] = val; out[0] = val;
-} -}
+} __attribute__ ((optimize("no-strict-aliasing"))) +} __attribute__ ((optimize("no-strict-aliasing")))
#else /*BUFHELP_FAST_UNALIGNED_ACCESS*/ #else /*BUFHELP_UNALIGNED_ACCESS*/
@@ -377,24 +377,24 @@ typedef struct bufhelp_u32_s @@ -395,24 +395,24 @@ typedef struct bufhelp_u32_s
static inline u32 buf_get_be32(const void *_buf) static inline u32 buf_get_be32(const void *_buf)
{ {
return be_bswap32(((const bufhelp_u32_t *)_buf)->a); return be_bswap32(((const bufhelp_u32_t *)_buf)->a);
@ -147,7 +147,7 @@ Index: libgcrypt-1.7.2/cipher/bufhelp.h
typedef struct bufhelp_u64_s typedef struct bufhelp_u64_s
@@ -407,24 +407,24 @@ typedef struct bufhelp_u64_s @@ -425,24 +425,24 @@ typedef struct bufhelp_u64_s
static inline u64 buf_get_be64(const void *_buf) static inline u64 buf_get_be64(const void *_buf)
{ {
return be_bswap64(((const bufhelp_u64_t *)_buf)->a); return be_bswap64(((const bufhelp_u64_t *)_buf)->a);
@ -175,4 +175,4 @@ Index: libgcrypt-1.7.2/cipher/bufhelp.h
+} __attribute__ ((optimize("no-strict-aliasing"))) +} __attribute__ ((optimize("no-strict-aliasing")))
#endif /*BUFHELP_FAST_UNALIGNED_ACCESS*/ #endif /*BUFHELP_UNALIGNED_ACCESS*/

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:948276ea47e6ba0244f36a17b51dcdd52cfd1e664b0a1ac3bc82134fb6cec199
size 2897853

Binary file not shown.

3
libgcrypt-1.8.0.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:23e49697b87cc4173b03b4757c8df4314e3149058fa18bdc4f82098f103d891b
size 2963266

BIN
libgcrypt-1.8.0.tar.bz2.sig Normal file

Binary file not shown.

View File

@ -1,3 +1,41 @@
-------------------------------------------------------------------
Mon Jul 24 23:43:40 UTC 2017 - jengelh@inai.de
- RPM group fixes.
-------------------------------------------------------------------
Fri Jul 21 15:50:14 UTC 2017 - astieger@suse.com
- libgcrypt 1.8.0:
* New cipher mode XTS
* New hash function Blake-2
* New function gcry_mpi_point_copy.
* New function gcry_get_config.
* GCRYCTL_REINIT_SYSCALL_CLAMP allows to init nPth after Libgcrypt.
* New gobal configuration file /etc/gcrypt/random.conf.
* GCRYCTL_PRINT_CONFIG does now also print build information for
libgpg-error and the used compiler version.
* GCRY_CIPHER_MODE_CFB8 is now supported.
* A jitter based entropy collector is now used in addition to the
other entropy collectors.
* Optimized gcry_md_hash_buffers for SHA-256 and SHA-512.
random pool lock).
* Interface changes relative to the 1.7.0 release:
gcry_get_config NEW function.
gcry_mpi_point_copy NEW function.
GCRYCTL_REINIT_SYSCALL_CLAMP NEW macro.
GCRY_MD_BLAKE2B_512 NEW constant.
GCRY_MD_BLAKE2B_384 NEW constant.
GCRY_MD_BLAKE2B_256 NEW constant.
GCRY_MD_BLAKE2B_160 NEW constant.
GCRY_MD_BLAKE2S_256 NEW constant.
GCRY_MD_BLAKE2S_224 NEW constant.
GCRY_MD_BLAKE2S_160 NEW constant.
GCRY_MD_BLAKE2S_128 NEW constant.
GCRY_CIPHER_MODE_XTS NEW constant.
gcry_md_info DEPRECATED.
- Refresh patch libgcrypt-1.6.3-aliasing.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Jun 29 09:49:44 UTC 2017 - astieger@suse.com Thu Jun 29 09:49:44 UTC 2017 - astieger@suse.com

View File

@ -21,10 +21,10 @@
%define libsoname %{name}20 %define libsoname %{name}20
%define cavs_dir %{_libexecdir}/%{name}/cavs %define cavs_dir %{_libexecdir}/%{name}/cavs
Name: libgcrypt Name: libgcrypt
Version: 1.7.8 Version: 1.8.0
Release: 0 Release: 0
Summary: The GNU Crypto Library Summary: The GNU Crypto Library
License: GPL-2.0+ and LGPL-2.1+ and GPL-3.0+ License: GPL-2.0+ AND LGPL-2.1+ AND GPL-3.0+
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Url: http://directory.fsf.org/wiki/Libgcrypt Url: http://directory.fsf.org/wiki/Libgcrypt
Source: ftp://ftp.gnupg.org/gcrypt/libgcrypt/%{name}-%{version}.tar.bz2 Source: ftp://ftp.gnupg.org/gcrypt/libgcrypt/%{name}-%{version}.tar.bz2
@ -58,9 +58,8 @@ Patch32: libgcrypt-fips_run_selftest_at_constructor.patch
Patch34: libgcrypt-1.6.3-aliasing.patch Patch34: libgcrypt-1.6.3-aliasing.patch
BuildRequires: automake >= 1.14 BuildRequires: automake >= 1.14
BuildRequires: fipscheck BuildRequires: fipscheck
BuildRequires: libgpg-error-devel >= 1.13 BuildRequires: libgpg-error-devel >= 1.25
BuildRequires: libtool BuildRequires: libtool
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description %description
Libgcrypt is a general purpose library of cryptographic building Libgcrypt is a general purpose library of cryptographic building
@ -70,8 +69,8 @@ understanding of applied cryptography is required to use Libgcrypt.
%package -n %{libsoname} %package -n %{libsoname}
Summary: The GNU Crypto Library Summary: The GNU Crypto Library
License: GPL-2.0+ and LGPL-2.1+ License: GPL-2.0+ AND LGPL-2.1+
Group: Development/Libraries/C and C++ Group: System/Libraries
%description -n %{libsoname} %description -n %{libsoname}
Libgcrypt is a general purpose crypto library based on the code used in Libgcrypt is a general purpose crypto library based on the code used in
@ -79,8 +78,8 @@ GnuPG (alpha version).
%package -n %{libsoname}-hmac %package -n %{libsoname}-hmac
Summary: HMAC checksums for the GNU Crypto Library Summary: HMAC checksums for the GNU Crypto Library
License: GPL-2.0+ and LGPL-2.1+ License: GPL-2.0+ AND LGPL-2.1+
Group: Development/Libraries/C and C++ Group: System/Libraries
Requires: %{libsoname} = %{version}-%{release} Requires: %{libsoname} = %{version}-%{release}
%description -n %{libsoname}-hmac %description -n %{libsoname}-hmac
@ -90,7 +89,7 @@ for integrity checking the library, as required by FIPS 140-2.
%package devel %package devel
Summary: The GNU Crypto Library Summary: The GNU Crypto Library
License: GFDL-1.1 and GPL-2.0+ and LGPL-2.1+ and MIT License: GFDL-1.1 AND GPL-2.0+ AND LGPL-2.1+ AND MIT
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: %{libsoname} = %{version} Requires: %{libsoname} = %{version}
Requires: glibc-devel Requires: glibc-devel
@ -108,7 +107,7 @@ library.
%package cavs %package cavs
Summary: The GNU Crypto Library Summary: The GNU Crypto Library
License: GFDL-1.1 and GPL-2.0+ and LGPL-2.1+ and MIT License: GFDL-1.1 AND GPL-2.0+ AND LGPL-2.1+ AND MIT
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: %{libsoname} = %{version} Requires: %{libsoname} = %{version}
Requires: %{libsoname}-hmac Requires: %{libsoname}-hmac
@ -119,7 +118,7 @@ CAVS testing framework for libgcrypt
%if 0%{?separate_hmac256_binary} %if 0%{?separate_hmac256_binary}
%package hmac256 %package hmac256
Summary: The GNU Crypto Library Summary: The GNU Crypto Library
License: GPL-2.0+ and LGPL-2.1+ License: GPL-2.0+ AND LGPL-2.1+
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: %{libsoname} = %{version} Requires: %{libsoname} = %{version}
Requires: libgpg-error-devel Requires: libgpg-error-devel
@ -161,7 +160,7 @@ autoreconf -fi
date=$(date -u +%{Y}-%{m}-%{dT}%{H}:%{M}+0000 -r %{SOURCE99}) date=$(date -u +%{Y}-%{m}-%{dT}%{H}:%{M}+0000 -r %{SOURCE99})
sed -e "s,BUILD_TIMESTAMP=.*,BUILD_TIMESTAMP=$date," -i configure sed -e "s,BUILD_TIMESTAMP=.*,BUILD_TIMESTAMP=$date," -i configure
export CFLAGS="%{optflags} $(getconf LFS_CFLAGS)" export CFLAGS="%{optflags} $(getconf LFS_CFLAGS)"
%configure --with-pic \ %configure \
--enable-noexecstack \ --enable-noexecstack \
--disable-static \ --disable-static \
--enable-m-guard \ --enable-m-guard \
@ -191,10 +190,10 @@ fipshmac src/.libs/libgcrypt.so.??
# Nice idea. however this uses /dev/random, which hangs # Nice idea. however this uses /dev/random, which hangs
# on hardware without random feeds. # on hardware without random feeds.
# so lets not run it inside OBS # so lets not run it inside OBS
# make check # make %{?_smp_mflags} check
%install %install
make %{?_smp_mflags} DESTDIR=%{buildroot} install %make_install
rm %{buildroot}%{_libdir}/%{name}.la rm %{buildroot}%{_libdir}/%{name}.la
# cavs # cavs
@ -214,18 +213,15 @@ mv %{buildroot}%{_bindir}/drbg_test %{buildroot}%{cavs_dir}
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gcrypt.info.gz %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcrypt.info.gz
%files -n %{libsoname} %files -n %{libsoname}
%defattr(-,root,root)
%doc COPYING.LIB %doc COPYING.LIB
%{_libdir}/%{name}.so.* %{_libdir}/%{name}.so.*
%files -n %{libsoname}-hmac %files -n %{libsoname}-hmac
%defattr(-,root,root)
%if 0%{?build_hmac256} %if 0%{?build_hmac256}
%{_libdir}/.libgcrypt.so.*.hmac %{_libdir}/.libgcrypt.so.*.hmac
%endif # %if 0%{?build_hmac256} %endif # %if 0%{?build_hmac256}
%files devel %files devel
%defattr(-,root,root)
%doc AUTHORS COPYING COPYING.LIB ChangeLog NEWS README THANKS TODO %doc AUTHORS COPYING COPYING.LIB ChangeLog NEWS README THANKS TODO
%{_infodir}/gcrypt.info%{ext_info} %{_infodir}/gcrypt.info%{ext_info}
%{_bindir}/dumpsexp %{_bindir}/dumpsexp
@ -237,14 +233,12 @@ mv %{buildroot}%{_bindir}/drbg_test %{buildroot}%{cavs_dir}
%if 0%{?separate_hmac256_binary} %if 0%{?separate_hmac256_binary}
%files hmac256 %files hmac256
%defattr(-,root,root)
%endif # %if 0%{?separate_hmac256_binary} %endif # %if 0%{?separate_hmac256_binary}
%{_bindir}/hmac256 %{_bindir}/hmac256
%{_bindir}/.hmac256.hmac %{_bindir}/.hmac256.hmac
%doc %{_mandir}/man1/hmac256.1* %doc %{_mandir}/man1/hmac256.1*
%files cavs %files cavs
%defattr(-,root,root)
%{_libexecdir}/%{name} %{_libexecdir}/%{name}
%changelog %changelog