From f8264a97a3ecc5e929d35f61881e48dd8c7b1f11 Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Sat, 28 Jan 2023 09:04:48 +0100 Subject: [PATCH] - updated to 0.8.0 - removed obsolete openssl1.1 patch --- gssntlmssp-openssl1.1.patch | 146 ------------------------------------ gssntlmssp.spec | 12 ++- 2 files changed, 5 insertions(+), 153 deletions(-) delete mode 100644 gssntlmssp-openssl1.1.patch diff --git a/gssntlmssp-openssl1.1.patch b/gssntlmssp-openssl1.1.patch deleted file mode 100644 index 5928b48..0000000 --- a/gssntlmssp-openssl1.1.patch +++ /dev/null @@ -1,146 +0,0 @@ -From e498737a96e8832a2cb9141ab1fe51e129185a48 Mon Sep 17 00:00:00 2001 -From: Simo Sorce -Date: Wed, 29 Jun 2016 11:15:11 -0400 -Subject: [PATCH] Add compatibility with OpenSSL 1.1.0 - -In their continued wisdom OpenSSL developers keep breaking APIs left and right -with very poor documentation and forward/backward source compatibility. - -Signed-off-by: Simo Sorce ---- - src/crypto.c | 60 +++++++++++++++++++++++++++++++++++++++++----------- - 1 file changed, 48 insertions(+), 12 deletions(-) - -diff --git a/src/crypto.c b/src/crypto.c -index 9fe69f9..33a0c3e 100644 ---- a/src/crypto.c -+++ b/src/crypto.c -@@ -27,6 +27,32 @@ - - #include "crypto.h" - -+#if OPENSSL_VERSION_NUMBER < 0x10100000L -+HMAC_CTX *HMAC_CTX_new(void) -+{ -+ HMAC_CTX *ctx; -+ -+ ctx = OPENSSL_malloc(sizeof(HMAC_CTX)); -+ if (!ctx) return NULL; -+ -+ HMAC_CTX_init(ctx); -+ -+ return ctx; -+} -+ -+void HMAC_CTX_free(HMAC_CTX *ctx) -+{ -+ if (ctx == NULL) return; -+ -+ HMAC_CTX_cleanup(ctx); -+ OPENSSL_free(ctx); -+} -+ -+#define EVP_MD_CTX_new EVP_MD_CTX_create -+#define EVP_MD_CTX_free EVP_MD_CTX_destroy -+ -+#endif -+ - int RAND_BUFFER(struct ntlm_buffer *random) - { - int ret; -@@ -42,30 +68,34 @@ int HMAC_MD5_IOV(struct ntlm_buffer *key, - struct ntlm_iov *iov, - struct ntlm_buffer *result) - { -- HMAC_CTX hmac_ctx; -+ HMAC_CTX *hmac_ctx; - unsigned int len; - size_t i; - int ret = 0; - - if (result->length != 16) return EINVAL; - -- HMAC_CTX_init(&hmac_ctx); -+ hmac_ctx = HMAC_CTX_new(); -+ if (!hmac_ctx) { -+ ret = ERR_CRYPTO; -+ goto done; -+ } - -- ret = HMAC_Init_ex(&hmac_ctx, key->data, key->length, EVP_md5(), NULL); -+ ret = HMAC_Init_ex(hmac_ctx, key->data, key->length, EVP_md5(), NULL); - if (ret == 0) { - ret = ERR_CRYPTO; - goto done; - } - - for (i = 0; i < iov->num; i++) { -- ret = HMAC_Update(&hmac_ctx, iov->data[i]->data, iov->data[i]->length); -+ ret = HMAC_Update(hmac_ctx, iov->data[i]->data, iov->data[i]->length); - if (ret == 0) { - ret = ERR_CRYPTO; - goto done; - } - } - -- ret = HMAC_Final(&hmac_ctx, result->data, &len); -+ ret = HMAC_Final(hmac_ctx, result->data, &len); - if (ret == 0) { - ret = ERR_CRYPTO; - goto done; -@@ -74,7 +104,7 @@ int HMAC_MD5_IOV(struct ntlm_buffer *key, - ret = 0; - - done: -- HMAC_CTX_cleanup(&hmac_ctx); -+ HMAC_CTX_free(hmac_ctx); - return ret; - } - -@@ -93,26 +123,32 @@ static int mdx_hash(const EVP_MD *type, - struct ntlm_buffer *payload, - struct ntlm_buffer *result) - { -- EVP_MD_CTX ctx; -+ EVP_MD_CTX *ctx; - unsigned int len; - int ret; - - if (result->length != 16) return EINVAL; - -- EVP_MD_CTX_init(&ctx); -- ret = EVP_DigestInit_ex(&ctx, type, NULL); -+ ctx = EVP_MD_CTX_new(); -+ if (!ctx) { -+ ret = ERR_CRYPTO; -+ goto done; -+ } -+ -+ EVP_MD_CTX_init(ctx); -+ ret = EVP_DigestInit_ex(ctx, type, NULL); - if (ret == 0) { - ret = ERR_CRYPTO; - goto done; - } - -- ret = EVP_DigestUpdate(&ctx, payload->data, payload->length); -+ ret = EVP_DigestUpdate(ctx, payload->data, payload->length); - if (ret == 0) { - ret = ERR_CRYPTO; - goto done; - } - -- ret = EVP_DigestFinal_ex(&ctx, result->data, &len); -+ ret = EVP_DigestFinal_ex(ctx, result->data, &len); - if (ret == 0) { - ret = ERR_CRYPTO; - goto done; -@@ -121,7 +157,7 @@ static int mdx_hash(const EVP_MD *type, - ret = 0; - - done: -- EVP_MD_CTX_cleanup(&ctx); -+ if (ctx) EVP_MD_CTX_free(ctx); - return ret; - } - diff --git a/gssntlmssp.spec b/gssntlmssp.spec index 78b1c8b..c6e2982 100644 --- a/gssntlmssp.spec +++ b/gssntlmssp.spec @@ -8,15 +8,14 @@ Summary: GSSAPI NTLMSSP mechanism Summary(pl.UTF-8): Mechanizm GSSAPI NTLMSSP Name: gssntlmssp -Version: 0.7.0 -Release: 5 +Version: 0.8.0 +Release: 1 License: LGPL v3+ Group: Libraries # also https://github.com/simo5/gss-ntlmssp but no releases there -Source0: http://releases.pagure.org/gssntlmssp/%{name}-%{version}.tar.gz -# Source0-md5: 5f890092ecf8a566b7556fca2b60d6cc +Source0: https://releases.pagure.org/gssntlmssp/%{name}-%{version}.tar.gz +# Source0-md5: 69b3b66519b8e2ce945675862029f816 Patch0: %{name}-heimdal.patch -Patch1: %{name}-openssl1.1.patch URL: https://pagure.io/gssntlmssp BuildRequires: autoconf >= 2.59 BuildRequires: automake >= 1:1.11 @@ -30,7 +29,7 @@ BuildRequires: libtool >= 2:2 BuildRequires: libunistring-devel BuildRequires: libxslt-progs BuildRequires: openssl-devel -BuildRequires: pkgconfig +BuildRequires: pkgconfig >= 1:0.9.0 BuildRequires: po4a BuildRequires: zlib-devel BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -56,7 +55,6 @@ Plik nagłówkowy z definicjami rozszerzeń GSSAPI dla NTLMSSP. %prep %setup -q %patch0 -p1 -%patch1 -p1 %build %{__libtoolize} -- 2.44.0