Add two upstream patches to resolve minor bugs
This commit is contained in:
parent
dfb605ecad
commit
7e0d482de4
@ -0,0 +1,206 @@
|
|||||||
|
From a24eed01d5efce669b502bc37644ebb5e95860f5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= <besser82@fedoraproject.org>
|
||||||
|
Date: Sun, 2 Feb 2020 19:46:36 +0100
|
||||||
|
Subject: [PATCH] Explicitly declare all non-static functions as 'extern'.
|
||||||
|
|
||||||
|
Although the compiler treats function declarations in header files
|
||||||
|
to be world-visible inside the whole program implicitly, they should
|
||||||
|
be declared as 'extern', for the sake of explicitness, as all of the
|
||||||
|
unchanged function prototypes already were declared that way.
|
||||||
|
---
|
||||||
|
lib/alg-gost3411-2012-core.h | 13 +++++++------
|
||||||
|
lib/alg-gost3411-2012-hmac.h | 4 ++--
|
||||||
|
lib/alg-hmac-sha1.h | 7 ++++---
|
||||||
|
lib/alg-sha256.h | 18 +++++++++---------
|
||||||
|
lib/alg-sha512.h | 8 ++++----
|
||||||
|
lib/crypt-port.h | 4 ++--
|
||||||
|
6 files changed, 28 insertions(+), 26 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/alg-gost3411-2012-core.h b/lib/alg-gost3411-2012-core.h
|
||||||
|
index 2464cdf..80b1c1a 100644
|
||||||
|
--- a/lib/alg-gost3411-2012-core.h
|
||||||
|
+++ b/lib/alg-gost3411-2012-core.h
|
||||||
|
@@ -37,14 +37,15 @@ typedef struct GOST34112012Context
|
||||||
|
unsigned int digest_size;
|
||||||
|
} GOST34112012Context;
|
||||||
|
|
||||||
|
-void GOST34112012Init(GOST34112012Context *CTX,
|
||||||
|
- const unsigned int digest_size);
|
||||||
|
+extern void GOST34112012Init(GOST34112012Context *CTX,
|
||||||
|
+ const unsigned int digest_size);
|
||||||
|
|
||||||
|
-void GOST34112012Update(GOST34112012Context *CTX, const unsigned char *data,
|
||||||
|
- size_t len);
|
||||||
|
+extern void GOST34112012Update(GOST34112012Context *CTX,
|
||||||
|
+ const unsigned char *data, size_t len);
|
||||||
|
|
||||||
|
-void GOST34112012Final(GOST34112012Context *CTX, unsigned char *digest);
|
||||||
|
+extern void GOST34112012Final(GOST34112012Context *CTX,
|
||||||
|
+ unsigned char *digest);
|
||||||
|
|
||||||
|
-void GOST34112012Cleanup(GOST34112012Context *CTX);
|
||||||
|
+extern void GOST34112012Cleanup(GOST34112012Context *CTX);
|
||||||
|
|
||||||
|
#endif /* alg-gost3411-2012-core.h */
|
||||||
|
diff --git a/lib/alg-gost3411-2012-hmac.h b/lib/alg-gost3411-2012-hmac.h
|
||||||
|
index d9fcc8e..314deed 100644
|
||||||
|
--- a/lib/alg-gost3411-2012-hmac.h
|
||||||
|
+++ b/lib/alg-gost3411-2012-hmac.h
|
||||||
|
@@ -35,11 +35,11 @@ typedef struct
|
||||||
|
unsigned char digest[GOSTR3411_2012_L];
|
||||||
|
} gost_hmac_256_t;
|
||||||
|
|
||||||
|
-void
|
||||||
|
+extern void
|
||||||
|
gost_hash256 (const uint8_t *t, size_t n, uint8_t *out32,
|
||||||
|
GOST34112012Context *ctx);
|
||||||
|
|
||||||
|
-void
|
||||||
|
+extern void
|
||||||
|
gost_hmac256 (const uint8_t *k, size_t n, const uint8_t *t, size_t len,
|
||||||
|
uint8_t *out32, gost_hmac_256_t *gostbuf);
|
||||||
|
|
||||||
|
diff --git a/lib/alg-hmac-sha1.h b/lib/alg-hmac-sha1.h
|
||||||
|
index c5db9ab..78e08f0 100644
|
||||||
|
--- a/lib/alg-hmac-sha1.h
|
||||||
|
+++ b/lib/alg-hmac-sha1.h
|
||||||
|
@@ -29,6 +29,7 @@
|
||||||
|
/* Generate the keyed-hash message authentication code of TEXT and KEY.
|
||||||
|
The resulting HMAC is writen into RESBUF, which should point to 20
|
||||||
|
bytes of storage. */
|
||||||
|
-void hmac_sha1_process_data (const uint8_t *text, size_t text_len,
|
||||||
|
- const uint8_t *key, size_t key_len,
|
||||||
|
- void *resbuf);
|
||||||
|
+extern void
|
||||||
|
+hmac_sha1_process_data (const uint8_t *text, size_t text_len,
|
||||||
|
+ const uint8_t *key, size_t key_len,
|
||||||
|
+ void *resbuf);
|
||||||
|
diff --git a/lib/alg-sha256.h b/lib/alg-sha256.h
|
||||||
|
index b30748b..89beedf 100644
|
||||||
|
--- a/lib/alg-sha256.h
|
||||||
|
+++ b/lib/alg-sha256.h
|
||||||
|
@@ -58,26 +58,26 @@ typedef struct {
|
||||||
|
* SHA256_Init(ctx):
|
||||||
|
* Initialize the SHA256 context ${ctx}.
|
||||||
|
*/
|
||||||
|
-void SHA256_Init(SHA256_CTX *);
|
||||||
|
+extern void SHA256_Init(SHA256_CTX *);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SHA256_Update(ctx, in, len):
|
||||||
|
* Input ${len} bytes from ${in} into the SHA256 context ${ctx}.
|
||||||
|
*/
|
||||||
|
-void SHA256_Update(SHA256_CTX *, const void *, size_t);
|
||||||
|
+extern void SHA256_Update(SHA256_CTX *, const void *, size_t);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SHA256_Final(digest, ctx):
|
||||||
|
* Output the SHA256 hash of the data input to the context ${ctx} into the
|
||||||
|
* buffer ${digest}.
|
||||||
|
*/
|
||||||
|
-void SHA256_Final(uint8_t[32], SHA256_CTX *);
|
||||||
|
+extern void SHA256_Final(uint8_t[32], SHA256_CTX *);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SHA256_Buf(in, len, digest):
|
||||||
|
* Compute the SHA256 hash of ${len} bytes from ${in} and write it to ${digest}.
|
||||||
|
*/
|
||||||
|
-void SHA256_Buf(const void *, size_t, uint8_t[32]);
|
||||||
|
+extern void SHA256_Buf(const void *, size_t, uint8_t[32]);
|
||||||
|
|
||||||
|
/* Context structure for HMAC-SHA256 operations. */
|
||||||
|
typedef struct {
|
||||||
|
@@ -90,34 +90,34 @@ typedef struct {
|
||||||
|
* Initialize the HMAC-SHA256 context ${ctx} with ${Klen} bytes of key from
|
||||||
|
* ${K}.
|
||||||
|
*/
|
||||||
|
-void HMAC_SHA256_Init(HMAC_SHA256_CTX *, const void *, size_t);
|
||||||
|
+extern void HMAC_SHA256_Init(HMAC_SHA256_CTX *, const void *, size_t);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* HMAC_SHA256_Update(ctx, in, len):
|
||||||
|
* Input ${len} bytes from ${in} into the HMAC-SHA256 context ${ctx}.
|
||||||
|
*/
|
||||||
|
-void HMAC_SHA256_Update(HMAC_SHA256_CTX *, const void *, size_t);
|
||||||
|
+extern void HMAC_SHA256_Update(HMAC_SHA256_CTX *, const void *, size_t);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* HMAC_SHA256_Final(digest, ctx):
|
||||||
|
* Output the HMAC-SHA256 of the data input to the context ${ctx} into the
|
||||||
|
* buffer ${digest}.
|
||||||
|
*/
|
||||||
|
-void HMAC_SHA256_Final(uint8_t[32], HMAC_SHA256_CTX *);
|
||||||
|
+extern void HMAC_SHA256_Final(uint8_t[32], HMAC_SHA256_CTX *);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* HMAC_SHA256_Buf(K, Klen, in, len, digest):
|
||||||
|
* Compute the HMAC-SHA256 of ${len} bytes from ${in} using the key ${K} of
|
||||||
|
* length ${Klen}, and write the result to ${digest}.
|
||||||
|
*/
|
||||||
|
-void HMAC_SHA256_Buf(const void *, size_t, const void *, size_t, uint8_t[32]);
|
||||||
|
+extern void HMAC_SHA256_Buf(const void *, size_t, const void *, size_t, uint8_t[32]);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PBKDF2_SHA256(passwd, passwdlen, salt, saltlen, c, buf, dkLen):
|
||||||
|
* Compute PBKDF2(passwd, salt, c, dkLen) using HMAC-SHA256 as the PRF, and
|
||||||
|
* write the output to buf. The value dkLen must be at most 32 * (2^32 - 1).
|
||||||
|
*/
|
||||||
|
-void PBKDF2_SHA256(const uint8_t *, size_t, const uint8_t *, size_t,
|
||||||
|
+extern void PBKDF2_SHA256(const uint8_t *, size_t, const uint8_t *, size_t,
|
||||||
|
uint64_t, uint8_t *, size_t);
|
||||||
|
|
||||||
|
#endif /* !_SHA256_H_ */
|
||||||
|
diff --git a/lib/alg-sha512.h b/lib/alg-sha512.h
|
||||||
|
index c2516a9..dc44da0 100644
|
||||||
|
--- a/lib/alg-sha512.h
|
||||||
|
+++ b/lib/alg-sha512.h
|
||||||
|
@@ -55,27 +55,27 @@ typedef struct {
|
||||||
|
* SHA512_Init(ctx):
|
||||||
|
* Initialize the SHA512 context ${ctx}.
|
||||||
|
*/
|
||||||
|
-void SHA512_Init(SHA512_CTX *);
|
||||||
|
+extern void SHA512_Init(SHA512_CTX *);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SHA512_Update(ctx, in, len):
|
||||||
|
* Input ${len} bytes from ${in} into the SHA512 context ${ctx}.
|
||||||
|
*/
|
||||||
|
-void SHA512_Update(SHA512_CTX *, const void *, size_t);
|
||||||
|
+extern void SHA512_Update(SHA512_CTX *, const void *, size_t);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SHA512_Final(digest, ctx):
|
||||||
|
* Output the SHA512 hash of the data input to the context ${ctx} into the
|
||||||
|
* buffer ${digest}.
|
||||||
|
*/
|
||||||
|
-void SHA512_Final(unsigned char[MIN_SIZE(SHA512_DIGEST_LENGTH)],
|
||||||
|
+extern void SHA512_Final(unsigned char[MIN_SIZE(SHA512_DIGEST_LENGTH)],
|
||||||
|
SHA512_CTX *);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SHA512_Buf(in, len, digest):
|
||||||
|
* Compute the SHA512 hash of ${len} bytes from ${in} and write it to ${digest}.
|
||||||
|
*/
|
||||||
|
-void SHA512_Buf(const void *, size_t,
|
||||||
|
+extern void SHA512_Buf(const void *, size_t,
|
||||||
|
unsigned char[MIN_SIZE(SHA512_DIGEST_LENGTH)]);
|
||||||
|
|
||||||
|
#endif /* !_SHA512_H_ */
|
||||||
|
diff --git a/lib/crypt-port.h b/lib/crypt-port.h
|
||||||
|
index 1e4d4b6..0d91da4 100644
|
||||||
|
--- a/lib/crypt-port.h
|
||||||
|
+++ b/lib/crypt-port.h
|
||||||
|
@@ -383,11 +383,11 @@ extern void crypt_yescrypt_rn (const char *, size_t, const char *,
|
||||||
|
|
||||||
|
/* We need a prototype for fcrypt for some tests. */
|
||||||
|
#if ENABLE_OBSOLETE_API
|
||||||
|
-char *fcrypt (const char *key, const char *setting);
|
||||||
|
+extern char *fcrypt (const char *key, const char *setting);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Utility functions */
|
||||||
|
-bool get_random_bytes (void *buf, size_t buflen);
|
||||||
|
+extern bool get_random_bytes (void *buf, size_t buflen);
|
||||||
|
|
||||||
|
extern void gensalt_sha_rn (char tag, size_t maxsalt, unsigned long defcount,
|
||||||
|
unsigned long mincount, unsigned long maxcount,
|
File diff suppressed because it is too large
Load Diff
@ -142,7 +142,7 @@ fi \
|
|||||||
|
|
||||||
Name: libxcrypt
|
Name: libxcrypt
|
||||||
Version: 4.4.12
|
Version: 4.4.12
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
Summary: Extended crypt library for descrypt, md5crypt, bcrypt, and others
|
Summary: Extended crypt library for descrypt, md5crypt, bcrypt, and others
|
||||||
|
|
||||||
# For explicit license breakdown, see the
|
# For explicit license breakdown, see the
|
||||||
@ -152,6 +152,8 @@ URL: https://github.com/besser82/%{name}
|
|||||||
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
|
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||||
|
|
||||||
# Patch 0000 - 2999: Backported patches from upstream.
|
# Patch 0000 - 2999: Backported patches from upstream.
|
||||||
|
Patch0000: %{url}/commit/a24eed01d5efce669b502bc37644ebb5e95860f5.patch#/%{name}-4.4.12-Explicitly_declare_all_non-static_functions_as_extern.patch
|
||||||
|
Patch0001: %{url}/commit/8e99039823c712e3aa6ee0f76e68818225735dc1.patch#/%{name}-4.4.12-Speed_up_ka-sunmd5_by_skipping_most_of_the_test_phrases.patch
|
||||||
|
|
||||||
# Patch 3000 - 5999: Backported patches from pull requests.
|
# Patch 3000 - 5999: Backported patches from pull requests.
|
||||||
|
|
||||||
@ -459,6 +461,9 @@ done
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Feb 05 2020 Björn Esser <besser82@fedoraproject.org> - 4.4.12-2
|
||||||
|
- Add two upstream patches to resolve minor bugs
|
||||||
|
|
||||||
* Thu Jan 30 2020 Björn Esser <besser82@fedoraproject.org> - 4.4.12-1
|
* Thu Jan 30 2020 Björn Esser <besser82@fedoraproject.org> - 4.4.12-1
|
||||||
- New upstream release
|
- New upstream release
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user