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.7.2/random/rndlinux.c
--- libgcrypt-1.8.0.orig/random/rndlinux.c 2017-07-21 17:45:39.193291437 +0200
+++ libgcrypt-1.8.0/random/rndlinux.c 2017-07-21 17:48:44.539152641 +0200
@@ -40,7 +40,9 @@
#include "g10lib.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_random = -1;
+ static int fd_configured = -1;
static int only_urandom = -1;
static unsigned char ever_opened;
int fd;
int n;
@@ -138,6 +143,11 @@ _gcry_rndlinux_gather_random (void (*add
@@ -150,6 +155,11 @@ _gcry_rndlinux_gather_random (void (*add
close (fd_urandom);
fd_urandom = -1;
}
@ -51,7 +51,7 @@ Index: libgcrypt-1.7.2/random/rndlinux.c
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
graceful behaviour if the rarely needed close operation has been
used and the device needs to be re-opened later. */
@ -65,7 +65,7 @@ Index: libgcrypt-1.7.2/random/rndlinux.c
+ return -1;
+ }
+
if (level >= 2)
if (level >= GCRY_VERY_STRONG_RANDOM && !only_urandom)
{
if (fd_random == -1)
{
@ -74,9 +74,7 @@ Index: libgcrypt-1.7.2/random/rndlinux.c
ever_opened |= 1;
}
fd = fd_random;
}
- else
+ else if (level != -1)
@@ -203,7 +223,7 @@ _gcry_rndlinux_gather_random (void (*add
{
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.7.2/cipher/bufhelp.h
@@ -91,7 +91,7 @@ do_bytes:
--- libgcrypt-1.8.0.orig/cipher/bufhelp.h
+++ libgcrypt-1.8.0/cipher/bufhelp.h
@@ -109,7 +109,7 @@ do_bytes:
for (; len; len--)
*dst++ = *src++;
#endif /*__GNUC__ >= 4 && (__x86_64__ || __i386__)*/
@ -11,7 +11,7 @@ Index: libgcrypt-1.7.2/cipher/bufhelp.h
/* Optimized function for buffer xoring */
@@ -128,7 +128,7 @@ do_bytes:
@@ -146,7 +146,7 @@ do_bytes:
/* Handle tail. */
for (; len; len--)
*dst++ = *src1++ ^ *src2++;
@ -20,7 +20,7 @@ Index: libgcrypt-1.7.2/cipher/bufhelp.h
/* Optimized function for in-place buffer xoring. */
@@ -200,7 +200,7 @@ do_bytes:
@@ -218,7 +218,7 @@ do_bytes:
/* Handle tail. */
for (; len; len--)
*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
@@ -253,7 +253,7 @@ do_bytes:
@@ -271,7 +271,7 @@ do_bytes:
*dst_xor++ = *srcdst_cpy ^ *src_xor++;
*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
@@ -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]);
return !diff;
@ -46,8 +46,8 @@ Index: libgcrypt-1.7.2/cipher/bufhelp.h
+} __attribute__ ((optimize("no-strict-aliasing")))
#ifndef BUFHELP_FAST_UNALIGNED_ACCESS
@@ -291,14 +291,14 @@ static inline u32 buf_get_be32(const voi
#ifndef BUFHELP_UNALIGNED_ACCESS
@@ -309,14 +309,14 @@ static inline u32 buf_get_be32(const voi
const byte *in = _buf;
return ((u32)in[0] << 24) | ((u32)in[1] << 16) | \
((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)
{
@@ -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[2] = val >> 8;
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)
{
@@ -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[1] = val >> 8;
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
@@ -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[4] << 24) | ((u64)in[5] << 16) | \
((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)
{
@@ -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[3] << 24) | ((u64)in[2] << 16) | \
((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)
{
@@ -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[6] = val >> 8;
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)
{
@@ -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[1] = val >> 8;
out[0] = val;
-}
+} __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)
{
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
@@ -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)
{
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")))
#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

View File

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