From owner-svn-ports-all@freebsd.org Mon Nov 5 21:09:43 2018 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7EBD8110BB99; Mon, 5 Nov 2018 21:09:43 +0000 (UTC) (envelope-from tobik@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 8F0A472D7C; Mon, 5 Nov 2018 21:09:42 +0000 (UTC) (envelope-from tobik@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6CDCE1CD65; Mon, 5 Nov 2018 21:09:42 +0000 (UTC) (envelope-from tobik@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id wA5L9gkO029574; Mon, 5 Nov 2018 21:09:42 GMT (envelope-from tobik@FreeBSD.org) Received: (from tobik@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id wA5L9f22029571; Mon, 5 Nov 2018 21:09:41 GMT (envelope-from tobik@FreeBSD.org) Message-Id: <201811052109.wA5L9f22029571@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tobik set sender to tobik@FreeBSD.org using -f From: Tobias Kortkamp Date: Mon, 5 Nov 2018 21:09:41 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r484222 - in head/mail/libdomainkeys: . files X-SVN-Group: ports-head X-SVN-Commit-Author: tobik X-SVN-Commit-Paths: in head/mail/libdomainkeys: . files X-SVN-Commit-Revision: 484222 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 8F0A472D7C X-Spamd-Result: default: False [-1.26 / 200.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.65)[-0.647,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; TO_DN_NONE(0.00)[]; HAS_XAW(0.00)[]; R_SPF_SOFTFAIL(0.00)[~all]; DMARC_NA(0.00)[FreeBSD.org]; RCVD_COUNT_THREE(0.00)[4]; MX_GOOD(-0.01)[cached: mx1.FreeBSD.org]; NEURAL_HAM_SHORT(-0.51)[-0.507,0]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; RCVD_TLS_LAST(0.00)[] X-Rspamd-Server: mx1.freebsd.org X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Nov 2018 21:09:43 -0000 Author: tobik Date: Mon Nov 5 21:09:41 2018 New Revision: 484222 URL: https://svnweb.freebsd.org/changeset/ports/484222 Log: mail/libdomainkeys: Unbreak with OpenSSL 1.1.1 [1] - Hook up the test suite - Stop installing the test script which is useless beyond port testing, and calls a dktest binary that is never installed or built normally - Cleanup/remove post-patch PR: 232133 Submitted by: Nathan [1] (based on) Obtained from: PLD Linux [1] (based on) Added: head/mail/libdomainkeys/files/patch-domainkeys.c (contents, props changed) Modified: head/mail/libdomainkeys/Makefile head/mail/libdomainkeys/files/Makefile head/mail/libdomainkeys/pkg-plist Modified: head/mail/libdomainkeys/Makefile ============================================================================== --- head/mail/libdomainkeys/Makefile Mon Nov 5 20:34:30 2018 (r484221) +++ head/mail/libdomainkeys/Makefile Mon Nov 5 21:09:41 2018 (r484222) @@ -3,6 +3,7 @@ PORTNAME= libdomainkeys PORTVERSION= 0.69 +PORTREVISION= 1 CATEGORIES= mail MASTER_SITES= SF/domainkeys/${PORTNAME}/${PORTVERSION} @@ -14,13 +15,11 @@ USE_LDCONFIG= yes SHLIB_MAJOR= 3 PLIST_SUB= SHLIB_MAJOR="${SHLIB_MAJOR}" MAKE_ENV= SHLIB_MAJOR="${SHLIB_MAJOR}" +MAKEFILE= ${FILESDIR}/Makefile +TEST_TARGET= check -post-patch: - @${CP} ${FILESDIR}/Makefile ${WRKSRC}/Makefile - post-install: @${MKDIR} ${STAGEDIR}${DATADIR} ${INSTALL_SCRIPT} ${WRKSRC}/dknewkey ${STAGEDIR}${DATADIR} - ${INSTALL_SCRIPT} ${WRKSRC}/test ${STAGEDIR}${DATADIR}/dktest .include Modified: head/mail/libdomainkeys/files/Makefile ============================================================================== --- head/mail/libdomainkeys/files/Makefile Mon Nov 5 20:34:30 2018 (r484221) +++ head/mail/libdomainkeys/files/Makefile Mon Nov 5 21:09:41 2018 (r484222) @@ -11,6 +11,12 @@ LDFLAGS+= -lcrypto -L${OPENSSLBASE}/lib NO_PROFILE= +dktest: dktest.c + ${CC} ${CFLAGS} -I. dktest.c -o dktest libdomainkeys.a ${LDFLAGS} + +check: dktest + ./test + makeheader: makeheader.c ${CC} ${CFLAGS} makeheader.c -o makeheader Added: head/mail/libdomainkeys/files/patch-domainkeys.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/libdomainkeys/files/patch-domainkeys.c Mon Nov 5 21:09:41 2018 (r484222) @@ -0,0 +1,192 @@ +Adapted from +http://git.pld-linux.org/?p=packages/libdomainkeys.git;a=blob;f=openssl.patch;h=a79c3f6b9431bb339b21937a54ce42c944f67090;hb=0b35df2ead77bfee132c88109c001ba079da27cd + +--- domainkeys.c.orig 2008-03-31 22:50:39 UTC ++++ domainkeys.c +@@ -120,7 +120,11 @@ typedef struct + { + /* STARTPRIV */ + int dkmarker; /* in case somebody casts in */ ++#if OPENSSL_VERSION_NUMBER < 0x1010000fL + EVP_MD_CTX mdctx; /* the hash */ ++#else ++ EVP_MD_CTX *mdctx; /* the hash */ ++#endif + int signing; /* our current signing/verifying state */ + int in_headers; /* true if we're still processing headers */ + char *header; /* points to a malloc'ed block for header. */ +@@ -503,7 +507,24 @@ DK *dk_sign(DK_LIB *dklib, DK_STAT *statp, int canon) + return NULL; + } + dk->canon = canon; /* TC13-simple, TC13-nofws */ +- EVP_SignInit(&dk->mdctx, dklib->md); ++#if OPENSSL_VERSION_NUMBER < 0x1010000fL ++ if (!EVP_SignInit(&dk->mdctx, dklib->md)) { ++ if (statp) ++ { ++ *statp = DKERR(DK_STAT_NORESOURCE); ++ } ++ return NULL; ++ } ++#else ++ dk->mdctx = EVP_MD_CTX_create(); ++ if (!dk->mdctx || !EVP_SignInit(dk->mdctx, dklib->md)) { ++ if (statp) ++ { ++ *statp = DKERR(DK_STAT_NORESOURCE); ++ } ++ return NULL; ++ } ++#endif + + if (statp) + { +@@ -541,7 +562,24 @@ DK *dk_verify(DK_LIB *dklib, DK_STAT *statp) + } + return NULL; + } +- EVP_VerifyInit(&dk->mdctx, dklib->md); ++#if OPENSSL_VERSION_NUMBER < 0x1010000fL ++ if (!EVP_VerifyInit(&dk->mdctx, dklib->md)) { ++ if (statp) ++ { ++ *statp = DKERR(DK_STAT_NORESOURCE); ++ } ++ return NULL; ++ } ++#else ++ dk->mdctx = EVP_MD_CTX_create(); ++ if (!dk->mdctx || !EVP_VerifyInit(dk->mdctx, dklib->md)) { ++ if (statp) ++ { ++ *statp = DKERR(DK_STAT_NORESOURCE); ++ } ++ return NULL; ++ } ++#endif + + if (statp) + { +@@ -928,14 +966,22 @@ static void dkhash(DK *dk, const unsigned char *ptr) + { + + #ifndef DK_HASH_BUFF ++#if OPENSSL_VERSION_NUMBER < 0x1010000fL + EVP_DigestUpdate(&dk->mdctx, "\r\n", 2); + #else ++ EVP_DigestUpdate(dk->mdctx, "\r\n", 2); ++#endif ++#else + /* buffer hack */ + dk->hash_buff[dk->hash_buff_len++] = '\r'; + dk->hash_buff[dk->hash_buff_len++] = '\n'; + if (dk->hash_buff_len >= (DK_BLOCK - 1)) + { ++#if OPENSSL_VERSION_NUMBER < 0x1010000fL + EVP_DigestUpdate(&dk->mdctx, dk->hash_buff, dk->hash_buff_len); ++#else ++ EVP_DigestUpdate(dk->mdctx, dk->hash_buff, dk->hash_buff_len); ++#endif + dk->hash_buff_len = 0; + } + /* buffer hack */ +@@ -955,13 +1001,21 @@ static void dkhash(DK *dk, const unsigned char *ptr) + if (dk->canon == DK_CANON_SIMPLE)//if nofws we ignore \r + { + #ifndef DK_HASH_BUFF ++#if OPENSSL_VERSION_NUMBER < 0x1010000fL + EVP_DigestUpdate(&dk->mdctx, "\r", 1); + #else ++ EVP_DigestUpdate(dk->mdctx, "\r", 1); ++#endif ++#else + /* buffer hack */ + dk->hash_buff[dk->hash_buff_len++] = '\r'; + if (dk->hash_buff_len >= (DK_BLOCK - 1)) + { ++#if OPENSSL_VERSION_NUMBER < 0x1010000fL + EVP_DigestUpdate(&dk->mdctx, dk->hash_buff, dk->hash_buff_len); ++#else ++ EVP_DigestUpdate(dk->mdctx, dk->hash_buff, dk->hash_buff_len); ++#endif + dk->hash_buff_len = 0; + } + /* buffer hack */ +@@ -977,13 +1031,21 @@ static void dkhash(DK *dk, const unsigned char *ptr) + dk->state --; + } + #ifndef DK_HASH_BUFF ++#if OPENSSL_VERSION_NUMBER < 0x1010000fL + EVP_DigestUpdate(&dk->mdctx, ptr, 1); + #else ++ EVP_DigestUpdate(dk->mdctx, ptr, 1); ++#endif ++#else + /* buffer hack */ + dk->hash_buff[dk->hash_buff_len++] = *ptr; + if (dk->hash_buff_len >= (DK_BLOCK - 1)) + { ++#if OPENSSL_VERSION_NUMBER < 0x1010000fL + EVP_DigestUpdate(&dk->mdctx, dk->hash_buff, dk->hash_buff_len); ++#else ++ EVP_DigestUpdate(dk->mdctx, dk->hash_buff, dk->hash_buff_len); ++#endif + dk->hash_buff_len = 0; + } + /* buffer hack */ +@@ -1746,11 +1808,19 @@ DK_STAT dk_end(DK *dk, DK_FLAGS *dkf) + //clean out hash buffer + dk->hash_buff[dk->hash_buff_len++] = '\r'; + dk->hash_buff[dk->hash_buff_len++] = '\n'; ++#if OPENSSL_VERSION_NUMBER < 0x1010000fL + EVP_DigestUpdate(&dk->mdctx, dk->hash_buff, dk->hash_buff_len); ++#else ++ EVP_DigestUpdate(dk->mdctx, dk->hash_buff, dk->hash_buff_len); ++#endif + dk->hash_buff_len = 0; + #else ++#if OPENSSL_VERSION_NUMBER < 0x1010000fL + EVP_DigestUpdate(&dk->mdctx, "\r\n", 2); ++#else ++ EVP_DigestUpdate(dk->mdctx, "\r\n", 2); + #endif ++#endif + #ifdef DK_DEBUG + fprintf(stderr,"\r\n"); + #endif +@@ -1949,7 +2019,11 @@ DK_STAT dk_end(DK *dk, DK_FLAGS *dkf) + } + + /* using that key, verify that the digest is properly signed */ ++#if OPENSSL_VERSION_NUMBER < 0x1010000fL + i = EVP_VerifyFinal(&dk->mdctx, md_value, md_len, publickey); ++#else ++ i = EVP_VerifyFinal(dk->mdctx, md_value, md_len, publickey); ++#endif + + if (i > 0) + { +@@ -2058,7 +2132,11 @@ DK_STAT dk_getsig(DK *dk, void *privatekey, unsigned c + + siglen = EVP_PKEY_size(pkey); + sig = (unsigned char*) OPENSSL_malloc(siglen); ++#if OPENSSL_VERSION_NUMBER < 0x1010000fL + EVP_SignFinal(&dk->mdctx, sig, &siglen, pkey); ++#else ++ EVP_SignFinal(dk->mdctx, sig, &siglen, pkey); ++#endif + EVP_PKEY_free(pkey); + + bio = BIO_new(BIO_s_mem()); +@@ -2152,7 +2230,11 @@ DK_STAT dk_free(DK *dk, int doClearErrState) + #ifdef DK_HASH_BUFF + DK_MFREE(dk->hash_buff); + #endif ++#if OPENSSL_VERSION_NUMBER < 0x1010000fL + EVP_MD_CTX_cleanup(&dk->mdctx); ++#else ++ EVP_MD_CTX_free(dk->mdctx); ++#endif + DK_MFREE(dk->header); /* alloc'ing dk->header is not optional. */ + dk->dkmarker = ~DKMARK; + DK_MFREE(dk); Modified: head/mail/libdomainkeys/pkg-plist ============================================================================== --- head/mail/libdomainkeys/pkg-plist Mon Nov 5 20:34:30 2018 (r484221) +++ head/mail/libdomainkeys/pkg-plist Mon Nov 5 21:09:41 2018 (r484222) @@ -4,4 +4,3 @@ lib/libdomainkeys.a lib/libdomainkeys.so lib/libdomainkeys.so.%%SHLIB_MAJOR%% %%DATADIR%%/dknewkey -%%DATADIR%%/dktest