-
Notifications
You must be signed in to change notification settings - Fork 17.7k
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
x/net/publicsuffix: table.go has been stale for a year #56656
Comments
CC @nigeltao @golang/release |
I don't see any reason to tie this to Go releases. Other than that it seems ripe for automation. It should be a pretty straightforward extension to stuff we already have in relui, notably the recently-added support for regenerating the goimports stdlib. The owners (Ian, @neild) will need to be okay to receive CLs periodically. This might be doable for a motivated contributor, though they won't have access to test it fully. It should be very doable for random members of the Go team. I don't know if the release team will get to it any time soon but we can discuss. |
@heschi Thanks! That sounds very promising. |
I agree that there's no need to synchronize with Go releases.
It is automatable but there is a trade-off. The more frequently you update (re-generate) the table, the bigger (more disk) the git repository will weigh. A possible mitigation is in #15518 (comment)
See also issue #38169 "x/net/publicsuffix: Release as a separate module". As for the OP, it should also be fairly straightforward to fork x/net/publicsuffix and run "go generate" within it at whatever cadence you want. |
@neild, if you're mucking about in x/net/publicsuffix, where we currently generate:
It might be better (in terms of git repo weight) to generate a binary data file and use the relatively new (Go 1.16) |
Does proxy.golang.org change the tradeoffs here? Many fewer people clone the repository than in 2018. |
Can you elaborate on how this helps? I'm not very familiar with proxy.golang.org services. Even if people download a mirror of a large repo, it's still a large download, right? |
People (via |
Change https://go.dev/cl/450835 mentions this issue: |
I'm going to update the public suffix list manually this time, will consider automating the process in existing issue #15518.
This appears to knock about 70% off the size of the git repo, FWIW. https://go.dev/cl/450935 |
@neild Thanks! That's a very good start. I know it will be useful to many people. |
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
Yes.
What did you do?
(playground)
What did you expect to see?
aivencloud.com
was indeed added to the Public Suffix List (PSL) as far back as February 24th 2022, i.e. much earlier than Go 1.19.3's release on November 1st 2022.What did you see instead?
This undesired output can be explained be explained by the fact that file
table.go
hasn't been regenerated with an up-to-date version of the PSL since November 2021, which predates the addition ofaivencloud.com
to the PSL.Why this matters
Of course, there's nothing specific about PSL entry
aivencloud.com
. I just happened to play a small part in its addition. But it's an example of a PSL entry missing from the current version ofgolang.org/x/net/publicsuffix
.The PSL is the foundation on which the modern concept of site is based. Go developers (I included) may depend on
x/net/publicsuffix
in order to decide whether to establish a trust relationship between different Web origins. However, ifx/net/publicsuffix
doesn't stay abreast of changes to the PSL (give or take a few weeks), it becomes somewhat undependable, as relying on it to make sensitive decisions may introduce security holes.Is there a good reason why
table.go
does not get regenerated at each minor release (or even, ideally, at each patch release) of Go? I'd be more than willing to help to make this happen.The text was updated successfully, but these errors were encountered: