Skip to content

deps: Bump wincred to v1.2.3 to fix Windows credential storage - #4

Open
malhotra26 wants to merge 1 commit into
masterfrom
deps/bump-wincred-1.2.3
Open

malhotra26 wants to merge 1 commit into
masterfrom
deps/bump-wincred-1.2.3

Conversation

@malhotra26

Copy link
Copy Markdown

Summary

Cherry-picks upstream Versent/saml2aws#1516 (commit 9ff489f, author Tom G), which is not yet merged upstream.

Bumps github.com/danieljoos/wincred from v1.2.2 to v1.2.3. When saml2aws is built with Go 1.25 or newer, v1.2.2 can corrupt the pointers it passes to the Windows Credential Manager. saml2aws configure and saml2aws login then fail to save the password on Windows with:

Error storing password in keychain.: The stub received bad data.

Review notes

  • Changes only go.mod and go.sum. stretchr/testify also moves to v1.11.1, which is used only in tests.
  • The upstream fix is danieljoos/wincred@1565377, "fix unsafe uintptr usage to be GC-safe on go1.25". It switches raw uintptr fields to real pointers and adds runtime.KeepAlive around CredWrite. The library's public API is unchanged.
  • go mod verify passes, go mod tidy is clean, the Windows build compiles, and go test ./... passes.
  • This should go in alongside fix(aad): Continue past optional MFA setup (AADSTS50203) #3 (the AADSTS50203 fix) before the next release tag.

🤖 Generated with Claude Code

Allow credentials to be stored on Windows when built with go >= 1.25.

danieljoos/wincred@1565377
(cherry picked from commit 9ff489f)
@avahi-zachary-goold

Copy link
Copy Markdown
Collaborator

@malhotra26 same story as #3: Build (macOS-latest) is failing and ubuntu got cancelled. Since this PR only changes go.mod/go.sum and the release builds pass everywhere, I suspect the Build workflow itself. Please check the logs or re-run so both are green, then I'll review the pair together.

@malhotra26

Copy link
Copy Markdown
Author

Thanks, you were right that the Build workflow is the problem. Two issues hit both PRs: the browser tests download the Playwright driver from a retired Microsoft download location (404), and Go 1.22 test binaries won't load on current macOS (missing LC_UUID). #5 fixes the workflow and skips the Playwright driver tests for now with a TODO to re-enable them after a playwright-go upgrade. Once #5 is merged I'll re-run this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants