From patchwork Wed Dec 1 07:46:33 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arne Schwabe X-Patchwork-Id: 2103 Return-Path: Delivered-To: patchwork@openvpn.net Delivered-To: patchwork@openvpn.net Received: from director10.mail.ord1d.rsapps.net ([172.27.255.7]) by backend30.mail.ord1d.rsapps.net with LMTP id COjaFkXDp2EYTAAAIUCqbw (envelope-from ) for ; Wed, 01 Dec 2021 13:47:33 -0500 Received: from proxy7.mail.iad3a.rsapps.net ([172.27.255.7]) by director10.mail.ord1d.rsapps.net with LMTP id wJCsFkXDp2FcdQAApN4f7A (envelope-from ) for ; Wed, 01 Dec 2021 13:47:33 -0500 Received: from smtp8.gate.iad3a ([172.27.255.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) by proxy7.mail.iad3a.rsapps.net with LMTPS id WAZrDkXDp2FOSAAAnPvY+A (envelope-from ) for ; Wed, 01 Dec 2021 13:47:33 -0500 X-Spam-Threshold: 95 X-Spam-Score: 0 X-Spam-Flag: NO X-Virus-Scanned: OK X-Orig-To: openvpnslackdevel@openvpn.net X-Originating-Ip: [216.105.38.7] Authentication-Results: smtp8.gate.iad3a.rsapps.net; iprev=pass policy.iprev="216.105.38.7"; spf=pass smtp.mailfrom="openvpn-devel-bounces@lists.sourceforge.net" smtp.helo="lists.sourceforge.net"; dkim=fail (signature verification failed) header.d=sourceforge.net; dkim=fail (signature verification failed) header.d=sf.net; dmarc=none (p=nil; dis=none) header.from=rfc2549.org X-Suspicious-Flag: YES X-Classification-ID: 24356402-52d7-11ec-a5d0-525400b8fe03-1-1 Received: from [216.105.38.7] ([216.105.38.7:40730] helo=lists.sourceforge.net) by smtp8.gate.iad3a.rsapps.net (envelope-from ) (ecelerity 4.2.38.62370 r(:)) with ESMTPS (cipher=DHE-RSA-AES256-GCM-SHA384) id 6D/FC-12344-443C7A16; Wed, 01 Dec 2021 13:47:32 -0500 Received: from [127.0.0.1] (helo=sfs-ml-1.v29.lw.sourceforge.com) by sfs-ml-1.v29.lw.sourceforge.com with esmtp (Exim 4.94.2) (envelope-from ) id 1msUcv-0002qt-QW; Wed, 01 Dec 2021 18:46:46 +0000 Received: from [172.30.20.202] (helo=mx.sourceforge.net) by sfs-ml-1.v29.lw.sourceforge.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1msUcs-0002qE-Jc for openvpn-devel@lists.sourceforge.net; Wed, 01 Dec 2021 18:46:43 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-Id:Date:Subject:To:From:Sender:Reply-To:Cc:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=0yHwlXKsq+0NDToYLVd4IQirGv2IEp0+BP4IWjms82I=; b=Rf0Hj5nBLWRuIpo3yVAexjBc6R koOz1/Xo4DeghtMP4ERL4RfOJgH9VZIgxi+JgNSypl7tEN6YZVTYy81+Ufad6pk9BpgyYFIe/ebiU GdF4toDkThsCjLBRqTAxyXy5L3So3RBp+NW9ZLzciQQnHasvklfwaqe2iB9Lza1FBzCU=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id: Date:Subject:To:From:Sender:Reply-To:Cc:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=0yHwlXKsq+0NDToYLVd4IQirGv2IEp0+BP4IWjms82I=; b=UjB9PtE3Zs3BMvdn8OgOekBFQo rmvn5rqBEtYvxVemISnuoUsj280WhmDv+aw9NlZbCpnn1LwtDwmRghSBclpShJ8702Dr2+veUy55k 2xqlSeBK2T9XvLyBNK6KMniTBosBJ90VuOVDnPCXJmBwrD1j0EubZ1NopCagvdT5aKsc=; Received: from mail.blinkt.de ([192.26.174.232]) by sfi-mx-2.v28.lw.sourceforge.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92.3) id 1msUcs-0007UR-MG for openvpn-devel@lists.sourceforge.net; Wed, 01 Dec 2021 18:46:43 +0000 Received: from kamera.blinkt.de ([2001:638:502:390:20c:29ff:fec8:535c]) by mail.blinkt.de with smtp (Exim 4.94.2 (FreeBSD)) (envelope-from ) id 1msUcj-0000Xe-8v for openvpn-devel@lists.sourceforge.net; Wed, 01 Dec 2021 19:46:33 +0100 Received: (nullmailer pid 2500512 invoked by uid 10006); Wed, 01 Dec 2021 18:46:33 -0000 From: Arne Schwabe To: openvpn-devel@lists.sourceforge.net Date: Wed, 1 Dec 2021 19:46:33 +0100 Message-Id: <20211201184633.2500466-1-arne@rfc2549.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211201180727.2496903-1-arne@rfc2549.org> References: <20211201180727.2496903-1-arne@rfc2549.org> MIME-Version: 1.0 X-Spam-Report: Spam detection software, running on the system "util-spamd-1.v13.lw.sourceforge.com", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: This series of commits clean up the external API of the cipher_kt/md_kt related functions to use a simple const char* to designate the cipher algorithm instead of using internal OpenSSL/mbed TLS types [...] Content analysis details: (0.3 points, 6.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 SPF_NONE SPF: sender does not publish an SPF Record 0.2 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different X-Headers-End: 1msUcs-0007UR-MG Subject: [Openvpn-devel] [PATCH 0/9] Cleanup crypto and use string isntead internal types X-BeenThere: openvpn-devel@lists.sourceforge.net X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: openvpn-devel-bounces@lists.sourceforge.net X-getmail-retrieved-from-mailbox: Inbox This series of commits clean up the external API of the cipher_kt/md_kt related functions to use a simple const char* to designate the cipher algorithm instead of using internal OpenSSL/mbed TLS types that are a used in a typedef of cipher_kt_t/md_kt_t. This adds a little bit of overhead to these methods but also eliminates the problem with the free/allocate of these types in OpenSSL 3.0. None of these methods are used in any critical path. Additionally this series removes the cipher_length and hmac_length fields. We do not supprot changing the length from the default and these fields are just containing redundant data now. Arne Schwabe (9): Implement optional cipher in --data-ciphers prefixed with ? Directly use hardcoed OPENVPN_TAG_LENGTH instead lookup Remove cipher_ctx_get_cipher_kt and replace with direct context calls Remove cipher_kt_var_key_size and remaining --keysize documentation Remove key_type->cipher_length field Remove key_type->hmac_length Remove cipher_kt_t and change type to const char* in API Remove md_kt_t and change cyrpto API to use const char* Initialise kt_cipher even when no crypto is enabled Changes.rst | 4 + doc/man-sections/protocol-options.rst | 18 +- src/openvpn/auth_token.c | 6 +- src/openvpn/crypto.c | 153 +++++++------- src/openvpn/crypto.h | 8 +- src/openvpn/crypto_backend.h | 145 +++++++------ src/openvpn/crypto_mbedtls.c | 158 +++++++++----- src/openvpn/crypto_mbedtls.h | 9 - src/openvpn/crypto_openssl.c | 280 ++++++++++++++++++------- src/openvpn/crypto_openssl.h | 24 +-- src/openvpn/httpdigest.c | 10 +- src/openvpn/init.c | 31 +-- src/openvpn/ntlm.c | 12 +- src/openvpn/openssl_compat.h | 15 ++ src/openvpn/openvpn.h | 4 +- src/openvpn/options.c | 9 +- src/openvpn/push.c | 2 +- src/openvpn/ssl.c | 12 +- src/openvpn/ssl_mbedtls.c | 3 +- src/openvpn/ssl_ncp.c | 48 +++-- src/openvpn/tls_crypt.c | 7 +- tests/unit_tests/openvpn/test_crypto.c | 9 +- tests/unit_tests/openvpn/test_ncp.c | 17 +- 23 files changed, 607 insertions(+), 377 deletions(-)