-
Notifications
You must be signed in to change notification settings - Fork 17.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
proxy.golang.org: maintainers mechanism to refresh bad checksum #47504
Comments
cc @rsc @FiloSottile as I think this would violate the security guarantees sumdb wishes to provide |
sum.golang.org is intended to guarantee that all Go users see the same code for a given module version. There's no way for it to know whether a change to a release was an intentional fix, a mistake, or an attack. Either way, reproducible builds are fundamental goal of the module ecosystem and users should be able to rely on things not changing invisibly. If you use proxy.golang.org, it will serve you the same data for the version that sum.golang.org saw. The maintainers could also set the tag back to its original content. |
So after a new release happens, even when the consumer's application points to it, older releases are often still flagged as violating the checksum (failing the build) unless library consumers add an explicit
Is there any way for maintainers to obsolete/redact/etc. a bad old release? "Pretend v1.8.5 never happened please. We went v1.8.4 and straight to v1.8.6" |
See the retract directive |
Thanks! I made cockroachdb/errors#83 to apply the retract directive to cockroachdb/errors! |
cockroachdb version v1.8.5 had been originally tagged for a commit hash that was subsequently removed, and replaced by another commit hash.
Even though the window of time between the two release events was less than 10 minutes, it was enough to get the go mod proxy confused, resulting in errors about mismatched checksums.
To resolve the issue, v1.8.6 was released. Is there a mechanism that maintainers or the community can use to force proxy.golang.org or sum.golang.org to refresh in order to avoid having to do a new release?
This has also happened with github.com/ryancurrah/gomodguard v1.2.1 and I assume other.
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
Attempted to build and deploy an application using
github.com/cockroachdb/errors v1.8.5
:What did you expect to see?
Happy Rainbows
What did you see instead?
The text was updated successfully, but these errors were encountered: