git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 0/5] New signing interface API with pluggable drivers

From
IEIbrahim El <ibrahim.el@pm.me>
Date
Aug 26, 2019, 19:57 UTC
Message-ID
<tz1YiiRtWStGrH2sc42DyD-8bDtH1A52rOCCapct59Qos6jEikqscvusUs7QeOBRNmCF7L_AL1ezKurbTp6qEZCmEk7L9B28wH-TVQGBSdY=@pm.me>
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
-- 
2.11.0
Next: brian m. carlson
Message 1 of 3 in “New signing interface API with pluggable drivers”
  1. 0/5 New signing interface API with pluggable driversIbrahim El, Aug 26, 2019
  2. brian m. carlsonAug 26, 2019
  3. Ibrahim ElAug 27, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.