From patchwork Mon Aug 19 21:19:25 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ibrahim El X-Patchwork-Id: 11101967 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 3F2BC1395 for ; Mon, 19 Aug 2019 21:19:38 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id E05E7214DA for ; Mon, 19 Aug 2019 21:19:37 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=pm.me header.i=@pm.me header.b="Sud27Flj" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728429AbfHSVTg (ORCPT ); Mon, 19 Aug 2019 17:19:36 -0400 Received: from mail4.protonmail.ch ([185.70.40.27]:29199 "EHLO mail4.protonmail.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728352AbfHSVTg (ORCPT ); Mon, 19 Aug 2019 17:19:36 -0400 Date: Mon, 19 Aug 2019 21:19:25 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pm.me; s=proton; t=1566249571; bh=KDrbu+XWXQ5kPBG/hfBC4YG1L5emjpxjIUGfrQB8u2Y=; h=Date:To:From:Cc:Reply-To:Subject:Feedback-ID:From; b=Sud27Flj/+yXiP2eXGRrOJSuHBRNU+WGd5YrLNoGfdSvN+u1m7pMYFIwGWjym4azb wPSSSdJq3s2s6yEBO54QcQEWw8bkvmnynuF3w3DfkMX9QYtqcudKTqawT8yrGVOteq gmUVpE1je3cVJMrd9jFxvbESXqkm/R+FfjlYINo0cqy1eO2Z3EJN/1S9tneagR3FAz 00eML1xAkckCn663mYAGydHOvPeb7fL82Rhy3Q6sVG6uBDsOHb3rdYcQ/+2/wsnZAj vZqMKqEytwDp08DW9faUiZtYflkvdhim+5h83fBXQbplopWkjzYIDtQQUDQziEBNn+ rqfySxpAwRn+A== To: git@vger.kernel.org From: Ibrahim El Cc: Ibrahim El Reply-To: Ibrahim El Subject: [RFC PATCH 0/5] New signing interface API with pluggable drivers Message-ID: Feedback-ID: RXIF8gqyi_fC5k95OfXmu3uPk6ALUZ4LT1y2TXMvXkIlhKcvgGbg1qhMCvct9LiRFa1gVJ9p8_D_liW8QUFSlg==:Ext:ProtonMail MIME-Version: 1.0 X-Spam-Status: No, score=-1.2 required=7.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mail.protonmail.ch Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Following previous introduction mail [1], this first series of 5 patches is a re-write of the signing interface API in an effort to support easily the addition of new tools with minimal effort and also keeping backwards compatibility with current tools and configuration. All existing tests currently pass with backward compatibility. [1]: https://public-inbox.org/git/CACi-FhDeAZecXSM36zroty6kpf2BCWLS=0R+dUwuB96LqFKuTA@mail.gmail.com/T/#r43cbf31b86642ab5118e6e7b3d4098bade5f5a0a The patches are ordered as follow: [1/5] - Adding Documentation files explaining the different changes using a design document and updates to the configuration part [2/5] - Adding new files that define the signing interface API and also drivers for the existing GPG and GPGSM X.509 tools [3/5] - Migrating the code to using the new signing interface API. Old GPG Interface code is commented and ommited [4/5] - Removing the old GPG interface and updating the code to remove all gpg mentions from it to make it transparent to the signing tool that is being used [5/5] - Duplicating existing signature related tests and updating them to using the new configuration aliases Ibrahim El Rhezzali (5): Added documentation for the new signing interface Added new signing interface API Migrated to the new signing interface API Removed old gpg interface and gpg mentions in code Duplicated signing tests using new config aliases Documentation/config/commit.txt | 12 +- Documentation/config/gpg.txt | 18 +- Documentation/config/push.txt | 9 +- Documentation/config/signing.txt | 63 + Documentation/config/tag.txt | 4 +- Documentation/config/user.txt | 10 +- Documentation/git-am.txt | 9 +- Documentation/git-cherry-pick.txt | 9 +- Documentation/git-commit-tree.txt | 18 +- Documentation/git-commit.txt | 19 +- Documentation/git-rebase.txt | 9 +- Documentation/git-revert.txt | 9 +- Documentation/merge-options.txt | 5 +- Documentation/technical/signing-interface.png | Bin 0 -> 76116 bytes Makefile | 4 +- builtin/am.c | 11 +- builtin/commit-tree.c | 6 +- builtin/commit.c | 12 +- builtin/fmt-merge-msg.c | 4 +- builtin/log.c | 4 +- builtin/merge.c | 10 +- builtin/pull.c | 16 +- builtin/push.c | 5 +- builtin/rebase.c | 60 +- builtin/receive-pack.c | 6 +- builtin/replace.c | 2 +- builtin/revert.c | 6 +- builtin/send-pack.c | 6 +- builtin/tag.c | 17 +- builtin/verify-commit.c | 18 +- builtin/verify-tag.c | 12 +- commit.c | 39 +- commit.h | 6 +- gpg-interface.c | 378 ----- gpg-interface.h | 67 - log-tree.c | 20 +- pretty.c | 8 +- ref-filter.c | 1 + send-pack.c | 5 +- sequencer.c | 59 +- sequencer.h | 2 +- signing-interface.c | 487 ++++++ signing-interface.h | 151 ++ signing-tool-openpgp.c | 409 +++++ signing-tool-x509.c | 383 +++++ signing-tool.h | 35 + t/t3431-rebase-interactive-signconfig.sh | 1480 ++++++++++++++++++ t/t4215-log-signconfig.sh | 1710 ++++++++++++++++++++ t/t5548-push-signed-signconfig.sh | 276 ++++ t/t5573-pull-verify-signatures.sh | 10 +- t/t7013-tag-signconfig.sh | 2074 +++++++++++++++++++++++++ t/t7031-verify-tag-signconfig.sh | 175 +++ t/t7522-signed-commit-signconfig.sh | 288 ++++ t/t7612-merge-verify-signatures.sh | 18 +- tag.c | 16 +- tag.h | 2 +- 56 files changed, 7797 insertions(+), 695 deletions(-) create mode 100644 Documentation/config/signing.txt create mode 100644 Documentation/technical/signing-interface.png delete mode 100644 gpg-interface.c delete mode 100644 gpg-interface.h create mode 100644 signing-interface.c create mode 100644 signing-interface.h create mode 100644 signing-tool-openpgp.c create mode 100644 signing-tool-x509.c create mode 100644 signing-tool.h create mode 100755 t/t3431-rebase-interactive-signconfig.sh create mode 100755 t/t4215-log-signconfig.sh create mode 100755 t/t5548-push-signed-signconfig.sh create mode 100755 t/t7013-tag-signconfig.sh create mode 100755 t/t7031-verify-tag-signconfig.sh create mode 100755 t/t7522-signed-commit-signconfig.sh