From owner-svn-ports-all@freebsd.org Thu Sep 10 09:37:42 2020 Return-Path: Delivered-To: svn-ports-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 17B7E3D0610; Thu, 10 Sep 2020 09:37:42 +0000 (UTC) (envelope-from danfe@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BnDM948bCz3V4d; Thu, 10 Sep 2020 09:37:41 +0000 (UTC) (envelope-from danfe@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 836F310CC8; Thu, 10 Sep 2020 09:37:40 +0000 (UTC) (envelope-from danfe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 08A9be4p033945; Thu, 10 Sep 2020 09:37:40 GMT (envelope-from danfe@FreeBSD.org) Received: (from danfe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 08A9bdwR033941; Thu, 10 Sep 2020 09:37:39 GMT (envelope-from danfe@FreeBSD.org) Message-Id: <202009100937.08A9bdwR033941@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: danfe set sender to danfe@FreeBSD.org using -f From: Alexey Dokuchaev Date: Thu, 10 Sep 2020 09:37:39 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r548192 - in head: net-p2p/dclib net-p2p/dclib/files security/sslsniffer security/sslsniffer/files X-SVN-Group: ports-head X-SVN-Commit-Author: danfe X-SVN-Commit-Paths: in head: net-p2p/dclib net-p2p/dclib/files security/sslsniffer security/sslsniffer/files X-SVN-Commit-Revision: 548192 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.33 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: Thu, 10 Sep 2020 09:37:42 -0000 Author: danfe Date: Thu Sep 10 09:37:39 2020 New Revision: 548192 URL: https://svnweb.freebsd.org/changeset/ports/548192 Log: Unbreak the build against modern versions of OpenSSL. Added: head/net-p2p/dclib/files/patch-dclib_core_cssl.cpp (contents, props changed) head/security/sslsniffer/files/patch-sslsniffer.c (contents, props changed) Modified: head/net-p2p/dclib/Makefile head/security/sslsniffer/Makefile Modified: head/net-p2p/dclib/Makefile ============================================================================== --- head/net-p2p/dclib/Makefile Thu Sep 10 09:36:48 2020 (r548191) +++ head/net-p2p/dclib/Makefile Thu Sep 10 09:37:39 2020 (r548192) @@ -21,13 +21,6 @@ USE_GNOME= libxml2 INSTALL_TARGET= install-strip USE_LDCONFIG= yes -.include - -.if ${SSL_DEFAULT} == base -BROKEN_FreeBSD_12= variable has incomplete type 'EVP_CIPHER_CTX' (aka 'evp_cipher_ctx_st') -BROKEN_FreeBSD_13= variable has incomplete type 'EVP_CIPHER_CTX' (aka 'evp_cipher_ctx_st') -.endif - post-patch: @${FIND} ${WRKSRC} -name Makefile.in | ${XARGS} \ ${REINPLACE_CMD} -e 's|dclib-0.3/||g' @@ -35,4 +28,4 @@ post-patch: @${REINPLACE_CMD} -e 's|-D_XOPEN_SOURCE=500||g; \ s|-D_BSD_SOURCE||g' ${WRKSRC}/configure -.include +.include Added: head/net-p2p/dclib/files/patch-dclib_core_cssl.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net-p2p/dclib/files/patch-dclib_core_cssl.cpp Thu Sep 10 09:37:39 2020 (r548192) @@ -0,0 +1,96 @@ +--- dclib/core/cssl.cpp.orig 2020-09-10 07:59:41 UTC ++++ dclib/core/cssl.cpp +@@ -429,7 +429,7 @@ CString CSSL::EncryptData( CSSLObject * SSLObject, CSt + CString res; + CByteArray bain,baout; + int i,tmplen; +- EVP_CIPHER_CTX ctx; ++ EVP_CIPHER_CTX *ctx; + + // sanity check + if ( !SSLObject || (s.IsEmpty()) ) +@@ -437,8 +437,9 @@ CString CSSL::EncryptData( CSSLObject * SSLObject, CSt + return res; + } + +- EVP_CIPHER_CTX_init(&ctx); +- EVP_EncryptInit(&ctx, EVP_bf_cbc(), SSLObject->m_remotekey, SSLObject->m_remoteiv); ++ ctx = EVP_CIPHER_CTX_new(); ++ EVP_CIPHER_CTX_init(ctx); ++ EVP_EncryptInit(ctx, EVP_bf_cbc(), SSLObject->m_remotekey, SSLObject->m_remoteiv); + + // init input array + bain.SetSize(2); +@@ -448,13 +449,13 @@ CString CSSL::EncryptData( CSSLObject * SSLObject, CSt + // init output array + // input size + cipher_block_size for EVP_EncryptUpdate + // plus cipher_block_size for EVP_EncryptFinal +- baout.SetSize( bain.Size() + ( 2 * EVP_CIPHER_CTX_block_size(&ctx) ) ); ++ baout.SetSize( bain.Size() + ( 2 * EVP_CIPHER_CTX_block_size(ctx) ) ); + //printf("CSSL::EncryptData: wrong old size=%lu new size=%lu\n",bain.Size()*2,baout.Size()); + i = baout.Size(); + +- if ( EVP_EncryptUpdate(&ctx, baout.Data(), &i, bain.Data(), bain.Size() ) ) ++ if ( EVP_EncryptUpdate(ctx, baout.Data(), &i, bain.Data(), bain.Size() ) ) + { +- if ( EVP_EncryptFinal(&ctx, baout.Data()+i, &tmplen) ) ++ if ( EVP_EncryptFinal(ctx, baout.Data()+i, &tmplen) ) + { + i+=tmplen; + bain.SetSize(0); +@@ -465,7 +466,7 @@ CString CSSL::EncryptData( CSSLObject * SSLObject, CSt + } + } + +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_free(ctx); + + return res; + } +@@ -476,7 +477,7 @@ CString CSSL::DecryptData( CSSLObject * SSLObject, CSt + CString res; + CByteArray bain,baout; + int i,tmplen; +- EVP_CIPHER_CTX ctx; ++ EVP_CIPHER_CTX *ctx; + + // sanity check + if ( !SSLObject || (s.IsEmpty()) ) +@@ -484,22 +485,23 @@ CString CSSL::DecryptData( CSSLObject * SSLObject, CSt + return res; + } + +- EVP_CIPHER_CTX_init(&ctx); +- EVP_DecryptInit(&ctx, EVP_bf_cbc(), SSLObject->m_localkey, SSLObject->m_localiv); ++ ctx = EVP_CIPHER_CTX_new(); ++ EVP_CIPHER_CTX_init(ctx); ++ EVP_DecryptInit(ctx, EVP_bf_cbc(), SSLObject->m_localkey, SSLObject->m_localiv); + + bain.SetSize(0); + bain.Append(s.Data(),s.Length()); + + if ( CBase64::Decode(&baout,&bain) > 0 ) + { +- bain.SetSize( baout.Size() + ( 2 * EVP_CIPHER_CTX_block_size(&ctx) ) ); ++ bain.SetSize( baout.Size() + ( 2 * EVP_CIPHER_CTX_block_size(ctx) ) ); + //printf("CSSL::DecryptData: wrong old size=%lu new size=%lu\n",baout.Size()*2,bain.Size()); + i = 0; + +- if ( EVP_DecryptUpdate(&ctx, bain.Data(), &i, baout.Data(), (int)baout.Size() ) ) ++ if ( EVP_DecryptUpdate(ctx, bain.Data(), &i, baout.Data(), (int)baout.Size() ) ) + { + tmplen = 0; +- if ( EVP_DecryptFinal(&ctx, bain.Data()+i, &tmplen) ) ++ if ( EVP_DecryptFinal(ctx, bain.Data()+i, &tmplen) ) + { + i+=tmplen; + res.Set((const char*)bain.Data()+2,i-2); +@@ -507,7 +509,7 @@ CString CSSL::DecryptData( CSSLObject * SSLObject, CSt + } + } + +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_free(ctx); + + return res; + } Modified: head/security/sslsniffer/Makefile ============================================================================== --- head/security/sslsniffer/Makefile Thu Sep 10 09:36:48 2020 (r548191) +++ head/security/sslsniffer/Makefile Thu Sep 10 09:37:39 2020 (r548192) @@ -21,13 +21,6 @@ PLIST_FILES= bin/sslsniffer OPTIONS_DEFINE= DOCS -.include - -.if ${SSL_DEFAULT} == base -BROKEN_FreeBSD_12= incomplete definition of type 'struct evp_pkey_st' -BROKEN_FreeBSD_13= incomplete definition of type 'struct evp_pkey_st' -.endif - do-install: ${INSTALL_PROGRAM} ${WRKSRC}/sslsniffer ${STAGEDIR}${PREFIX}/bin @@ -35,4 +28,4 @@ do-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/README ${STAGEDIR}${DOCSDIR} -.include +.include Added: head/security/sslsniffer/files/patch-sslsniffer.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/security/sslsniffer/files/patch-sslsniffer.c Thu Sep 10 09:37:39 2020 (r548192) @@ -0,0 +1,26 @@ +--- sslsniffer.c.orig 2001-10-08 22:10:44 UTC ++++ sslsniffer.c +@@ -1573,14 +1573,22 @@ PrintCertificateInfo(UTL_CERT_INFO *buf, EVP_PKEY *key + + if (key == NULL) return; + +- switch (key->type) ++ switch (EVP_PKEY_id(key)) + { + case EVP_PKEY_RSA: ++#if OPENSSL_VERSION_NUMBER < 0x10100005L + buf->keysize = RSA_size(key->pkey.rsa)*8; ++#else ++ buf->keysize = RSA_size(EVP_PKEY_get0_RSA(key))*8; ++#endif + printf(" RSA Public key size %d bits\n\n",buf->keysize); + break; + case EVP_PKEY_DSA: ++#if OPENSSL_VERSION_NUMBER < 0x10100005L + buf->keysize = DSA_size(key->pkey.dsa)*8; ++#else ++ buf->keysize = DSA_size(EVP_PKEY_get0_DSA(key))*8; ++#endif + printf(" DSS Public key size %d bits\n\n",buf->keysize); + break; + default: