-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
golang: update to v1.19.2 #19652
golang: update to v1.19.2 #19652
Conversation
This is a huge update and it needs to be compile and run tested. |
Kind reminder here, please. |
I've tried to reproduce this problem locally using nektos/act, but no luck. The original CI build fails with an error message |
This package was recently updated, please rebase it. I just made a simple compile test, it did compile and run. |
Includes fixes for security vulnerabilities: * [CVE-2022-27664](GHSA-69cg-p879-7622) net/http: handle server errors after sending GOAWAY * [CVE-2022-32190](golang/go#54385) net/url: JoinPath does not strip relative path components in all circumstances * [CVE-2022-2879](golang/go#54853) archive/tar: unbounded memory consumption when reading headers * [CVE-2022-2880](golang/go#54663) net/http/httputil: ReverseProxy should not forward unparseable query parameters * [CVE-2022-41715](golang/go#55949) regexp/syntax: limit memory used by parsing regexps Addresses the build failure: * openwrt#19613 Signed-off-by: Stanislav Petrashov <s@petrashov.ru>
98c5901
to
0ad7a2f
Compare
Thanks a lot for the advice, @1715173329! I've advanced in setting up OpenWRT buildroot locally and could get the patch updated. But I still haven't run-tested this new version. |
Unfortunately, we can not merge this unless this is confirmed that it works on the real device. |
(Total newbie here, so may be missing something obvious... if so just consider it a drive-by comment about contribution friction)
What is considered the "real device" in this case? AFAICT a change like this potentially affects every architecture/device and every package that uses golang as compiler... but testing all of them (and all their combinations) is almost certainly impossible. If I were to guess I would say it means any golang-built package on any "real device" that is not x86/amd64/arm/aarch64 based1, but I can't find it described anywhere:
If I did not miss it, maybe having a page describing how to effectively do real device testing, and ideally that also offers the prepackaged tools to get started, would help lower the barrier to entry. (If I did miss it, then maybe making it more prominent/visible would help?) Footnotes
|
lang/golang/golang/Makefile
Outdated
GO_VERSION_MAJOR_MINOR:=1.18 | ||
GO_VERSION_PATCH:=8 | ||
GO_VERSION_MAJOR_MINOR:=1.19 | ||
GO_VERSION_PATCH:=2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fwiw, .3 is already out so maybe if testing has not been done yet it makes sense to target .3 instead
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done!
I have applied this commit to our downstream project, and so far so good. Footnotes |
I think this is ready to go. But before merging it, please update to the latest version 1.19.3. |
Signed-off-by: Stanislav Petrashov <s@petrashov.ru>
Merged, thanks! |
@BKPepe why did you cherry pick this into 22.03? And why did you cherry pick Go 1.18 into 21.02? |
Hey @jefferyto, It's nice to hear that you are back! 👏 We missed you here. But get back to your questions, yes. I backported Golang updates in both stable releases because several people asked me if I could update tailscale to its newest version. Unfortunately, it required updating Go and also some packages as they could not be compiled with that version. On the other hand, users got updated Golang, which brings multiple security fixes as their old version of Go was no longer supported. |
The answer should have been no and:
By this logic we should upgrade all packages in all release branches all the time. The reasons to have release branches are many:
If there are security fixes that are missing from previous branches, then those fixes should be backported as patches. I understand users want things but that doesn't mean we just do what the few want without considering what is best for all users, in particular the many thousands, if not millions, of users who don't speak up here and just want their routers to be stable and run without problems. OpenWrt is a major, if not the main, Linux distribution for routers and other devices. This wouldn't have been allowed to happen in Debian or Fedora or any other major distro. I wish people here would start acting like they are in charge of a major distro. |
Included fixes for: - CVE-2023-24534 - CVE-2023-24536 - CVE-2023-24537 - CVE-2023-24538 Refreshed patches. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Maintainer: @jefferyto
Compile tested: -
Run tested: -
Description:
Bump up the Golang version to the latest stable.
Includes fixes for security vulnerabilities:
Addresses the build failure:
Signed-off-by: Stanislav Petrashov s@petrashov.ru