-
-
Notifications
You must be signed in to change notification settings - Fork 8.8k
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
[JENKINS-73278] Migrate core from EE 8 to EE 9 #9672
Conversation
<exclusion> | ||
<groupId>io.micrometer</groupId> | ||
<artifactId>micrometer-observation</artifactId> | ||
</exclusion> |
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.
Excluded to avoid increasing API surface area, as this seems to be unused.
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.
I've been testing versions of this for months with good results. Thanks!
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.
LGTM
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.
The View/doCreateItem method is now defined and should either require POST request or be made non-routable to prevent a CSRF vulnerability.
Additionally, there are several deprecated methods that no longer need to be routable, however, AFAIK they don't pose any security risk.
Co-authored-by: Kevin Guerroudj <[email protected]>
Co-authored-by: Kevin Guerroudj <[email protected]>
Co-authored-by: Kevin Guerroudj <[email protected]>
Co-authored-by: Kevin Guerroudj <[email protected]>
Co-authored-by: Kevin Guerroudj <[email protected]>
Co-authored-by: Kevin Guerroudj <[email protected]>
Co-authored-by: Kevin Guerroudj <[email protected]>
Co-authored-by: Kevin Guerroudj <[email protected]>
commit 520776a |
This reverts commit 3a6a576.
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.
BasicHeaderAuthenticator
and ParameterizedJobMixIn#doBuildWithParameters
look like bugs.
There are a few cases of seemingly wrong override direction in overridable methods, which should be looked at. In addition to the line comments below, there are several additional occurrences in AbstractProject
in which the old method calls the new method.
The rest of the findings are things that look off enough to warrant a mention, mostly just inconsistencies in the code with no obvious reason.
Otherwise this looks good. I was unable to find security issues, and no further compatibility issues other than those I posted as individual top comments.
Co-authored-by: Daniel Beck <[email protected]>
Thanks, this is fixed in the most recent revision.
In cases where I couldn't find any overrides or felt that overrides were unlikely, I kept things simple and had the old implementation call the new. This was a bit of a subjective choice to favor simplicity at a slight risk of incorrectness rather than polluting the code with (likely unnecessary) complexity to completely eliminate risk.
Thanks, I have fixed these oversights.
Great! Thank you very much. |
@daniel-beck Can you look at this final set of changes and let me know if this is ready to ship? |
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.
This reverts commit 2a4870c.
Context
See JENKINS-73255. Goes with three other pull requests:
Problem
Jenkins bundles an outdated copy of Spring Security 5.x, with official end of open source support on August 31, 2024. Spring Security 6.x requires Spring Framework 6.x, which requires EE 9.
Solution
pom.xml
to align with Jetty 12 (EE 9)At a high level, we add
StaplerRequest2
andStaplerResponse2
classes, the Jakarta equivalents of the old versions (now deprecated). TheRequestImpl
andResponseImpl
implementations are now based on EE 9 rather than EE 8, but support for plugins is maintained by converting to and from the interfaces as needed.Testing done
Full PCT and ATH (Jenkins public version and CloudBees internal version)
Proposed changelog entries
Upgrade Spring Framework from 5.3.39 to 6.1.12, upgrade Spring Security from 5.8.14 to 6.3.3, and upgrade Java EE from 8 to 9.
Proposed upgrade guidelines
Users of the LDAP plugin must upgrade it to a compatible version in lockstep with upgrading Jenkins core.
Submitter checklist
Desired reviewers
@mention
Before the changes are marked as
ready-for-merge
:Maintainer checklist