forked from pool/libgcrypt
Accepting request 172373 from home:AndreasStieger:branches:devel:libraries:c_c++
update to 1.5.2 OBS-URL: https://build.opensuse.org/request/show/172373 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libgcrypt?expand=0&rev=22
This commit is contained in:
parent
1bb0687206
commit
b6f5274965
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:309928da34941dff1d6f6687542ff3d58306d85be9e1a9906bc4f9f8e6011844
|
||||
size 5216
|
@ -1,63 +0,0 @@
|
||||
diff -ur libgcrypt-1.5.0/cipher/cipher.c libgcrypt-1.5.0f/cipher/cipher.c
|
||||
--- libgcrypt-1.5.0/cipher/cipher.c 2011-04-19 16:06:57.000000000 +0200
|
||||
+++ libgcrypt-1.5.0f/cipher/cipher.c 2011-12-25 00:45:18.391287616 +0100
|
||||
@@ -60,6 +60,12 @@
|
||||
{ &_gcry_cipher_spec_blowfish,
|
||||
&dummy_extra_spec, GCRY_CIPHER_BLOWFISH },
|
||||
#endif
|
||||
+#if USE_IDEA
|
||||
+ { &_gcry_cipher_spec_idea,
|
||||
+ &dummy_extra_spec, GCRY_CIPHER_IDEA },
|
||||
+#else
|
||||
+# warn IDEA not supported
|
||||
+#endif
|
||||
#if USE_DES
|
||||
{ &_gcry_cipher_spec_des,
|
||||
&dummy_extra_spec, GCRY_CIPHER_DES },
|
||||
diff -ur libgcrypt-1.5.0/cipher/Makefile.am libgcrypt-1.5.0f/cipher/Makefile.am
|
||||
--- libgcrypt-1.5.0/cipher/Makefile.am 2011-03-11 09:47:39.000000000 +0100
|
||||
+++ libgcrypt-1.5.0f/cipher/Makefile.am 2011-12-25 00:39:27.051857406 +0100
|
||||
@@ -51,6 +51,7 @@
|
||||
dsa.c \
|
||||
elgamal.c \
|
||||
ecc.c \
|
||||
+idea.c \
|
||||
md4.c \
|
||||
md5.c \
|
||||
rijndael.c rijndael-tables.h \
|
||||
diff -ur libgcrypt-1.5.0/configure.ac libgcrypt-1.5.0f/configure.ac
|
||||
--- libgcrypt-1.5.0/configure.ac 2011-06-29 10:53:22.000000000 +0200
|
||||
+++ libgcrypt-1.5.0f/configure.ac 2011-12-25 00:39:27.050857305 +0100
|
||||
@@ -155,7 +155,7 @@
|
||||
LIBGCRYPT_CONFIG_HOST="$host"
|
||||
|
||||
# Definitions for symmetric ciphers.
|
||||
-available_ciphers="arcfour blowfish cast5 des aes twofish serpent rfc2268 seed"
|
||||
+available_ciphers="arcfour blowfish cast5 des aes twofish serpent rfc2268 seed idea"
|
||||
available_ciphers="$available_ciphers camellia"
|
||||
enabled_ciphers=""
|
||||
|
||||
@@ -1005,6 +1005,12 @@
|
||||
AC_DEFINE(USE_CAST5, 1, [Defined if this module should be included])
|
||||
fi
|
||||
|
||||
+LIST_MEMBER(idea, $enabled_ciphers)
|
||||
+if test "$found" = "1" ; then
|
||||
+ GCRYPT_CIPHERS="$GCRYPT_CIPHERS idea.lo"
|
||||
+ AC_DEFINE(USE_IDEA, 1, [Defined if this module should be included])
|
||||
+fi
|
||||
+
|
||||
LIST_MEMBER(des, $enabled_ciphers)
|
||||
if test "$found" = "1" ; then
|
||||
GCRYPT_CIPHERS="$GCRYPT_CIPHERS des.lo"
|
||||
diff -ur libgcrypt-1.5.0/src/cipher.h libgcrypt-1.5.0f/src/cipher.h
|
||||
--- libgcrypt-1.5.0/src/cipher.h 2011-06-10 10:53:41.000000000 +0200
|
||||
+++ libgcrypt-1.5.0f/src/cipher.h 2011-12-25 00:40:25.323733275 +0100
|
||||
@@ -118,6 +118,7 @@
|
||||
|
||||
/* Declarations for the cipher specifications. */
|
||||
extern gcry_cipher_spec_t _gcry_cipher_spec_blowfish;
|
||||
+extern gcry_cipher_spec_t _gcry_cipher_spec_idea;
|
||||
extern gcry_cipher_spec_t _gcry_cipher_spec_des;
|
||||
extern gcry_cipher_spec_t _gcry_cipher_spec_tripledes;
|
||||
extern gcry_cipher_spec_t _gcry_cipher_spec_arcfour;
|
@ -1,164 +0,0 @@
|
||||
diff -ur libgcrypt-1.5.0/cipher/idea.c libgcrypt-1.5.0f/cipher/idea.c
|
||||
--- libgcrypt-1.5.0/cipher/idea.c 2011-12-25 00:45:06.747113267 +0100
|
||||
+++ libgcrypt-1.5.0f/cipher/idea.c 2011-12-25 00:45:18.393287816 +0100
|
||||
@@ -89,6 +89,9 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <assert.h>
|
||||
+#include "g10lib.h"
|
||||
+#include "types.h"
|
||||
+#include "cipher.h"
|
||||
|
||||
#if !defined(BIG_ENDIAN_HOST) && !defined(LITTLE_ENDIAN_HOST)
|
||||
/* Try to handle endianness if we didn't get it from config.h */
|
||||
@@ -103,9 +106,6 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
-typedef unsigned short u16; /* Note: Make sure this is a 16 bit type. */
|
||||
-typedef unsigned long u32; /* Note: Make sure this is a 32 bit type. */
|
||||
-
|
||||
/* end configurable stuff */
|
||||
|
||||
|
||||
@@ -116,8 +116,8 @@
|
||||
|
||||
/* local stuff */
|
||||
|
||||
-#define FNCCAST_SETKEY(f) ((int(*)(void*, unsigned char*, unsigned int))(f))
|
||||
-#define FNCCAST_CRYPT(f) ((void(*)(void*, unsigned char*, unsigned char*))(f))
|
||||
+#define FNCCAST_SETKEY(f) ((int(*)(void*, byte*, unsigned int))(f))
|
||||
+#define FNCCAST_CRYPT(f) ((void(*)(void*, byte*, byte*))(f))
|
||||
|
||||
#define IDEA_KEYSIZE 16
|
||||
#define IDEA_BLOCKSIZE 8
|
||||
@@ -131,11 +131,9 @@
|
||||
} IDEA_context;
|
||||
|
||||
|
||||
-static int do_setkey( IDEA_context *c, unsigned char *key, unsigned keylen );
|
||||
-static void encrypt_block( IDEA_context *bc, unsigned char *outbuf,
|
||||
- unsigned char *inbuf );
|
||||
-static void decrypt_block( IDEA_context *bc, unsigned char *outbuf,
|
||||
- unsigned char *inbuf );
|
||||
+static gcry_err_code_t do_setkey( void *data, const byte *key, unsigned keylen );
|
||||
+static void encrypt_block( void *data, byte *outbuf, const byte *inbuf );
|
||||
+static void decrypt_block( void *data, byte *outbuf, const byte *inbuf );
|
||||
static int selftest(int);
|
||||
|
||||
|
||||
@@ -170,7 +168,7 @@
|
||||
|
||||
|
||||
static void
|
||||
-expand_key( unsigned char *userkey, u16 *ek )
|
||||
+expand_key( const byte *userkey, u16 *ek )
|
||||
{
|
||||
int i,j;
|
||||
|
||||
@@ -233,7 +231,7 @@
|
||||
|
||||
|
||||
static void
|
||||
-cipher( unsigned char *outbuf, unsigned char *inbuf, u16 *key )
|
||||
+cipher( byte *outbuf, const byte *inbuf, u16 *key )
|
||||
{
|
||||
u16 x1, x2, x3,x4, s2, s3;
|
||||
u16 *in, *out;
|
||||
@@ -309,25 +307,28 @@
|
||||
}
|
||||
|
||||
|
||||
-static int
|
||||
-do_setkey( IDEA_context *c, unsigned char *key, unsigned keylen )
|
||||
+static gcry_err_code_t
|
||||
+do_setkey( void *data, const byte *key, unsigned keylen )
|
||||
{
|
||||
+ IDEA_context *c = (IDEA_context*)data;
|
||||
assert(keylen == 16);
|
||||
c->have_dk = 0;
|
||||
expand_key( key, c->ek );
|
||||
invert_key( c->ek, c->dk );
|
||||
- return 0;
|
||||
+ return GPG_ERR_NO_ERROR;
|
||||
}
|
||||
|
||||
static void
|
||||
-encrypt_block( IDEA_context *c, unsigned char *outbuf, unsigned char *inbuf )
|
||||
+encrypt_block( void *data, byte *outbuf, const byte *inbuf )
|
||||
{
|
||||
+ IDEA_context *c = (IDEA_context*)data;
|
||||
cipher( outbuf, inbuf, c->ek );
|
||||
}
|
||||
|
||||
static void
|
||||
-decrypt_block( IDEA_context *c, unsigned char *outbuf, unsigned char *inbuf )
|
||||
+decrypt_block( void *data, byte *outbuf, const byte *inbuf )
|
||||
{
|
||||
+ IDEA_context *c = (IDEA_context*)data;
|
||||
if( !c->have_dk ) {
|
||||
c->have_dk = 1;
|
||||
invert_key( c->ek, c->dk );
|
||||
@@ -340,9 +341,9 @@
|
||||
selftest( int check_decrypt )
|
||||
{
|
||||
static struct {
|
||||
- unsigned char key[16];
|
||||
- unsigned char plain[8];
|
||||
- unsigned char cipher[8];
|
||||
+ byte key[16];
|
||||
+ byte plain[8];
|
||||
+ byte cipher[8];
|
||||
} test_vectors[] = {
|
||||
{ { 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04,
|
||||
0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08 },
|
||||
@@ -390,7 +391,7 @@
|
||||
{ 0xF5, 0xDB, 0x1A, 0xC4, 0x5E, 0x5E, 0xF9, 0xF9 } }
|
||||
};
|
||||
IDEA_context c;
|
||||
- unsigned char buffer[8];
|
||||
+ byte buffer[8];
|
||||
int i;
|
||||
|
||||
for(i=0; i < DIM(test_vectors); i++ ) {
|
||||
@@ -425,12 +426,12 @@
|
||||
const char *
|
||||
idea_get_info( int algo, size_t *keylen,
|
||||
size_t *blocksize, size_t *contextsize,
|
||||
- int (**r_setkey)( void *c, unsigned char *key,
|
||||
+ int (**r_setkey)( void *c, byte *key,
|
||||
unsigned keylen ),
|
||||
- void (**r_encrypt)( void *c, unsigned char *outbuf,
|
||||
- unsigned char *inbuf ),
|
||||
- void (**r_decrypt)( void *c, unsigned char *outbuf,
|
||||
- unsigned char *inbuf )
|
||||
+ void (**r_encrypt)( void *c, byte *outbuf,
|
||||
+ byte *inbuf ),
|
||||
+ void (**r_decrypt)( void *c, byte *outbuf,
|
||||
+ byte *inbuf )
|
||||
)
|
||||
{
|
||||
static int initialized = 0;
|
||||
@@ -451,7 +452,22 @@
|
||||
return NULL;
|
||||
}
|
||||
|
||||
+static gcry_err_code_t idea_setkey(void *data, const byte *key, unsigned keylen)
|
||||
+{
|
||||
+ static int initialized = 0;
|
||||
+ if(!initialized) {
|
||||
+ initialized = 1;
|
||||
+ if (selftest(0) || selftest(1))
|
||||
+ return GPG_ERR_CIPHER_ALGO;
|
||||
+ }
|
||||
+ return do_setkey(data, key, keylen);
|
||||
+}
|
||||
|
||||
+gcry_cipher_spec_t _gcry_cipher_spec_idea =
|
||||
+{
|
||||
+ "IDEA", NULL, NULL, 8, 128, sizeof (IDEA_context),
|
||||
+ idea_setkey, encrypt_block, decrypt_block
|
||||
+};
|
||||
|
||||
const char * const gnupgext_version = "IDEA ($Revision: 1.11 $)";
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ad9eb15808e769998c0bd8c181ac881423919f4f105586913dccbc0dfbfae527
|
||||
size 1503471
|
Binary file not shown.
3
libgcrypt-1.5.2.tar.bz2
Normal file
3
libgcrypt-1.5.2.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e41a4339f50294f3c925f2f71aaf2427eb162d2994da91666dfc32621afe963f
|
||||
size 1507418
|
BIN
libgcrypt-1.5.2.tar.bz2.sig
Normal file
BIN
libgcrypt-1.5.2.tar.bz2.sig
Normal file
Binary file not shown.
@ -1,3 +1,15 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 18 18:23:36 UTC 2013 - andreas.stieger@gmx.de
|
||||
|
||||
- update to 1.5.2
|
||||
* The upstream sources now contain the IDEA algorithm, dropping:
|
||||
idea.c.gz
|
||||
libgcrypt-1.5.0-idea.patch
|
||||
libgcrypt-1.5.0-idea_codecleanup.patch
|
||||
* Made the Padlock code work again (regression since 1.5.0).
|
||||
* Fixed alignment problems for Serpent.
|
||||
* Fixed two bugs in ECC computations.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 22 09:31:11 UTC 2013 - mvyskocil@suse.com
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
||||
Name: libgcrypt
|
||||
%define libsoname %{name}11
|
||||
Url: http://directory.fsf.org/wiki/Libgcrypt
|
||||
Version: 1.5.1
|
||||
Version: 1.5.2
|
||||
Release: 0
|
||||
Summary: The GNU Crypto Library
|
||||
License: GPL-2.0+ and LGPL-2.1+ and GPL-3.0+
|
||||
@ -27,15 +27,12 @@ Group: Development/Libraries/C and C++
|
||||
Source: ftp://ftp.gnupg.org/gcrypt/libgcrypt/%{name}-%{version}.tar.bz2
|
||||
Source1: ftp://ftp.gnupg.org/gcrypt/libgcrypt/%{name}-%{version}.tar.bz2.sig
|
||||
Source2: baselibs.conf
|
||||
Source3: idea.c.gz
|
||||
# http://www.gnupg.org/signature_key.en.html
|
||||
Source4: %{name}.keyring
|
||||
Patch0: %{name}-ppc64.patch
|
||||
Patch1: %{name}-strict-aliasing.patch
|
||||
Patch3: %{name}-1.4.1-rijndael_no_strict_aliasing.patch
|
||||
Patch4: %{name}-sparcv9.diff
|
||||
Patch5: %{name}-1.5.0-idea.patch
|
||||
Patch6: %{name}-1.5.0-idea_codecleanup.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
BuildRequires: automake >= 1.11
|
||||
BuildRequires: libgpg-error-devel >= 1.8
|
||||
@ -93,13 +90,10 @@ library.
|
||||
%prep
|
||||
%{?gpg_verify: %gpg_verify %{S:1}}
|
||||
%setup -q -n %{name}-%{version}
|
||||
gzip -dc < %{S:3} > cipher/idea.c
|
||||
%patch0 -p1
|
||||
%patch1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
|
||||
%build
|
||||
# define ciphers to build
|
||||
|
Loading…
Reference in New Issue
Block a user