chore: bump Go to 1.25.8 and fix CI and gosec issues#378
chore: bump Go to 1.25.8 and fix CI and gosec issues#378maxlambrecht wants to merge 4 commits intospiffe:mainfrom
Conversation
azdagron
left a comment
There was a problem hiding this comment.
Thanks for this, @maxlambrecht! I have some backcompat concerns that I'm not sure how to resolve right away...
| } | ||
| } | ||
|
|
||
| func wrapVerifyConnection( |
There was a problem hiding this comment.
I'm worried about backwards compatibility. There are two situations:
- somebody passes a tls.Config where either VeriyPeerCertificate/VerifyConnection is set. This code handles that fine.
- somebody takes the returned tls.Config and wraps VerifyPeerCertificate. We'd break the latter here, because we no longer set VerifyPeerCertificate.
I need to think about how we handle this. Open to suggestions. It may be the case that we have to accept a small breaking change. In any case, whatever we pick, the nuances should be documented on the functions.
There was a problem hiding this comment.
Good point. The implementation already preserves the input-side case by capturing any existing config.VerifyPeerCertificate / config.VerifyConnection callbacks and invoking them after SPIFFE auth succeeds. The remaining change is the narrow returned-config case: callers that previously wrapped VerifyPeerCertificate on the returned config now need to extend VerifyConnection instead, since SPIFFE auth has to live on VerifyConnection to also run on resumed sessions. I updated the function docs to call out that nuance explicitly, and I added focused tests for the preserved input-callback behavior and chaining/error propagation. So this is a narrow breaking change, but I think it is the right tradeoff here.
Signed-off-by: Max Lambrecht <[email protected]>
Signed-off-by: Max Lambrecht <[email protected]>
Signed-off-by: Max Lambrecht <[email protected]>
f505442 to
6c7af92
Compare
Signed-off-by: Max Lambrecht <[email protected]>
What
1.25.8ingo.mod, add the unreleased changelog entry, and align theMakefiletoolchain version with that minimum.golangci-linttov2.11.4and fix the Makefile Go download URLs to use the full Go version so Windows CI can fetch the toolchain correctly.Why
How tested
make lintmake test