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

Re: [PATCH v2 0/6] ssh signing: verify key lifetime

From
Adam Dinwoodie <adam@dinwoodie.org>
Date
Nov 4, 2021, 16:31 UTC
Message-ID
<20211104163142.GA1419@dinwoodie.org>
In-Reply-To
<20211103194558.xqcsaljvcoontnal@fs>
On Wednesday 03 November 2021 at 08:45 pm +0100, Fabian Stelzer wrote:
Show 27 quoted lines
> On 03.11.2021 19:27, Adam Dinwoodie wrote:
> > On Wed, 27 Oct 2021 at 09:06, Fabian Stelzer <fs@gigacodes.de> wrote:
> > > This series adds key lifetime validity checks by parsing commit/tag
> > > dates from the paylod and passing them to the ssh-keygen operations.
> > > 
> > > changes since v1:
> > >  - struct signature_check is now used to input payload data into
> > >    check_function
> > >  - payload metadata parsing is completely internal to check_signature.
> > >    the caller only need to set the payload type in the sigc struct
> > >  - small nits and readability fixes
> > >  - removed payload_signer parameter. since we now use the struct we can extend
> > >    this later.
> > > 
> > As part of testing v2.34-rc0 on Cygwin, I've found this patch series
> > is breaking t4202, t5534, and t6200.
> > 
> > Specifically, bisecting points to f265f2d630 (ssh signing: tests for
> > logs, tags & push certs, 2021-09-10) as breaking t4202 and t5534,
> > while responsibility for t6200 seems to be 9d12546de9 (ssh signing:
> > fmt-merge-msg tests & config parse, 2021-10-12).
> > 
> > I've not yet done any investigation into the specifics of these
> > failures, but I wanted to report them early so other folks could get
> > on with investigating as appropriate.
> 
> What exactly are you testing?

I was initially running the tests using the Cygwin packaging paraphernalia, as I want to check the full build infrastructure is working as expected. When this failed, I reproduced the problems on a clean checkout of the main Git repository. In particular, I identified the failing commits with the following bisect command (subject to obvious modifications to select the correct script):

     git bisect start v2.34.0-rc0 v2.33.1 && git bisect run bash -c 'make -j 20 || exit 125; cd t || exit 125; ./t4202-*.sh'
> This patch series is not patch of the rc
> and will not be in v2.34. I even have a small reroll of this for after
> the release.

That's odd. `git tag --contains 9d12546de9`, with a fresh pull of the Git repo, lists v2.34.0-rc0 and v2.34.0-rc1. It sounds like that's not expected?

> I assume the breaking tests are the new ones added in these commits.

For t4202-log.sh, the failing tests are "72 - setup sshkey signed branch" and "75 - log ssh key fingerprint".

For t5534-push-signed.sh, the failing tests are "8 - ssh signed push sends push certificate" and "12 - fail without key and heed user.signingkey ssh".

For t6200-fmt-merge-msg.sh, the failing tests are "3 - created ssh signed commit and tag", "7 - message for merging local tag signed by good ssh key" and "8 - message for merging local tag signed by unknown ssh key".

> What openssh version are you using? (ssh -V)
    OpenSSH_8.8p1, OpenSSL 1.1.1l  24 Aug 2021
> Either the feature detecion for the lifetime checks is not
> working in cygwin or maybe you have the broken openssh 8.7 version.
Previous: Fabian StelzerNext: Fabian Stelzer
Message 58 of 60 in “ssh signing: verify key lifetime”
  1. 0/6 ssh signing: verify key lifetimeFabian Stelzer, Oct 27, 2021
  2. 1/6 ssh signing: use sigc struct to pass payloadFabian Stelzer, Oct 27, 2021
  3. 2/6 ssh signing: add key lifetime test prereqsFabian Stelzer, Oct 27, 2021
  4. 3/6 ssh signing: make verify-commit consider key lifetimeFabian Stelzer, Oct 27, 2021
  5. Junio C HamanoOct 27, 2021
  6. Fabian StelzerOct 28, 2021
  7. 0/7 ssh signing: verify key lifetimeFabian Stelzer, Nov 17, 2021
  8. 1/7 ssh signing: use sigc struct to pass payloadFabian Stelzer, Nov 17, 2021
  9. 2/7 ssh signing: add key lifetime test prereqsFabian Stelzer, Nov 17, 2021
  10. 3/7 ssh signing: make verify-commit consider key lifetimeFabian Stelzer, Nov 17, 2021
  11. 4/7 ssh signing: make git log verify key lifetimeFabian Stelzer, Nov 17, 2021
  12. 5/7 ssh signing: make verify-tag consider key lifetimeFabian Stelzer, Nov 17, 2021
  13. 6/7 ssh signing: make fmt-merge-msg consider key lifetimeFabian Stelzer, Nov 17, 2021
  14. 7/7 ssh signing: verify ssh-keygen in test prereqFabian Stelzer, Nov 17, 2021
  15. Junio C HamanoNov 19, 2021
  16. 0/7 ssh signing: verify key lifetimeFabian Stelzer, Nov 30, 2021
  17. 1/7 ssh signing: use sigc struct to pass payloadFabian Stelzer, Nov 30, 2021
  18. 2/7 ssh signing: add key lifetime test prereqsFabian Stelzer, Nov 30, 2021
  19. 3/7 ssh signing: make verify-commit consider key lifetimeFabian Stelzer, Nov 30, 2021
  20. 4/7 ssh signing: make git log verify key lifetimeFabian Stelzer, Nov 30, 2021
  21. 5/7 ssh signing: make verify-tag consider key lifetimeFabian Stelzer, Nov 30, 2021
  22. 6/7 ssh signing: make fmt-merge-msg consider key lifetimeFabian Stelzer, Nov 30, 2021
  23. SZEDER GáborDec 5, 2021
  24. Fabian StelzerDec 8, 2021
  25. 7/7 ssh signing: verify ssh-keygen in test prereqFabian Stelzer, Nov 30, 2021
  26. Junio C HamanoDec 2, 2021
  27. Fabian StelzerDec 2, 2021
  28. Junio C HamanoDec 2, 2021
  29. Ævar Arnfjörð BjarmasonDec 3, 2021
  30. Fabian StelzerDec 3, 2021
  31. Junio C HamanoDec 3, 2021
  32. 0/8 ssh signing: verify key lifetimeFabian Stelzer, Dec 8, 2021
  33. 1/8 ssh signing: use sigc struct to pass payloadFabian Stelzer, Dec 8, 2021
  34. 2/8 ssh signing: add key lifetime test prereqsFabian Stelzer, Dec 8, 2021
  35. 3/8 ssh signing: make verify-commit consider key lifetimeFabian Stelzer, Dec 8, 2021
  36. 4/8 ssh signing: make git log verify key lifetimeFabian Stelzer, Dec 8, 2021
  37. 5/8 ssh signing: make verify-tag consider key lifetimeFabian Stelzer, Dec 8, 2021
  38. 6/8 ssh signing: make fmt-merge-msg consider key lifetimeFabian Stelzer, Dec 8, 2021
  39. 7/8 ssh signing: verify ssh-keygen in test prereqFabian Stelzer, Dec 8, 2021
  40. 8/8 t/fmt-merge-msg: make gpg/ssh tests more specificFabian Stelzer, Dec 8, 2021
  41. Junio C HamanoDec 8, 2021
  42. Fabian StelzerDec 9, 2021
  43. 0/9 ssh signing: verify key lifetimeFabian Stelzer, Dec 9, 2021
  44. 2/9 t/fmt-merge-msg: make gpgssh tests more specificFabian Stelzer, Dec 9, 2021
  45. 1/9 t/fmt-merge-msg: do not redirect stderrFabian Stelzer, Dec 9, 2021
  46. 3/9 ssh signing: use sigc struct to pass payloadFabian Stelzer, Dec 9, 2021
  47. 4/9 ssh signing: add key lifetime test prereqsFabian Stelzer, Dec 9, 2021
  48. 5/9 ssh signing: make verify-commit consider key lifetimeFabian Stelzer, Dec 9, 2021
  49. 6/9 ssh signing: make git log verify key lifetimeFabian Stelzer, Dec 9, 2021
  50. 7/9 ssh signing: make verify-tag consider key lifetimeFabian Stelzer, Dec 9, 2021
  51. 8/9 ssh signing: make fmt-merge-msg consider key lifetimeFabian Stelzer, Dec 9, 2021
  52. 9/9 ssh signing: verify ssh-keygen in test prereqFabian Stelzer, Dec 9, 2021
  53. 6/6 ssh signing: make fmt-merge-msg consider key lifetimeFabian Stelzer, Oct 27, 2021
  54. 4/6 ssh signing: make git log verify key lifetimeFabian Stelzer, Oct 27, 2021
  55. 5/6 ssh signing: make verify-tag consider key lifetimeFabian Stelzer, Oct 27, 2021
  56. Adam DinwoodieNov 3, 2021
  57. Fabian StelzerNov 3, 2021
  58. Adam DinwoodieNov 4, 2021
  59. Fabian StelzerNov 4, 2021
  60. Adam DinwoodieNov 4, 2021

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.