Skip to content

[JENKINS-68694] Winstone 6.1: Upgrade Jetty from 9.4.46.v20220331 to 10.0.11 - #6801

Merged
basil merged 11 commits into
jenkinsci:masterfrom
basil:ws-JENKINS-68933-jetty-10
Aug 2, 2022
Merged

[JENKINS-68694] Winstone 6.1: Upgrade Jetty from 9.4.46.v20220331 to 10.0.11#6801
basil merged 11 commits into
jenkinsci:masterfrom
basil:ws-JENKINS-68933-jetty-10

Conversation

@basil

@basil basil commented Jul 7, 2022

Copy link
Copy Markdown
Member

See JENKINS-68694. Jetty 10.0.x implements Servlet 4.0 (JakartaEE 8/javax.servlet.*). The minimum required Java version for Jetty 10 is now Java 11. For more details about the Jetty 10 release, see this Jetty blog post. Winstone 6.1 removes support for OpenSSL-style PEM-encoded RSA private keys in jenkinsci/winstone#232.

Testing done

Proposed changelog entries

Proposed upgrade guidelines

Support for OpenSSL-style PEM-encoded RSA private keys has been removed when running Jenkins with the embedded Jetty (Winstone) container and TLS. Specifically, the --httpsPrivateKey and --httpsCertificate flags have been removed in favor of the --httpsKeyStore flag. The removed flags have printed deprecation warnings since 2016 and were implemented with non-standard APIs that have since been removed from Java 17. The recommendation is to migrate to the --httpsKeyStore option, which takes a keystore as described in the documentation. As of JEP 229, PKCS12 is the recommended keystore type.

Submitter checklist

  • (If applicable) Jira issue is well described
  • Changelog entries and upgrade guidelines are appropriate for the audience affected by the change (users or developer, depending on the change) and are in the imperative mood. Examples
    • Fill-in the Proposed changelog entries section only if there are breaking changes or other changes which may require extra steps from users during the upgrade
  • Appropriate autotests or explanation to why this change has no tests
  • New public classes, fields, and methods are annotated with @Restricted or have @since TODO Javadoc, as appropriate.
  • New deprecations are annotated with @Deprecated(since="TODO") or @Deprecated(since="TODO", forRemoval=true) if applicable.
  • For dependency updates: links to external changelogs and, if possible, full diffs

Desired reviewers

@mention

Maintainer checklist

Before the changes are marked as ready-for-merge:

  • There are at least 2 approvals for the pull request and no outstanding requests for change
  • Conversations in the pull request are over OR it is explicit that a reviewer does not block the change
  • Changelog entries in the PR title and/or Proposed changelog entries are accurate, human-readable, and in the imperative mood
  • Proper changelog labels are set so that the changelog can be generated automatically
  • If the change needs additional upgrade steps from users, upgrade-guide-needed label is set and there is a Proposed upgrade guidelines section in the PR title. (example)
  • If it would make sense to backport the change to LTS, a Jira issue must exist, be a Bug or Improvement, and be labeled as lts-candidate to be considered (see query).

@basil basil added the work-in-progress The PR is under active development, not ready to the final review label Jul 7, 2022
@jglick

jglick commented Jul 7, 2022

Copy link
Copy Markdown
Member

(continuation of #6785, reapplying #6694)

…10.0.11

Co-authored-by: Jesse Glick <jglick@cloudbees.com>
@basil basil added rfe For changelog: Minor enhancement. use `major-rfe` for changes to be highlighted removed This PR removes a feature or a public API dependencies Pull requests that update a dependency file java Pull requests that update Java code and removed work-in-progress The PR is under active development, not ready to the final review labels Jul 8, 2022
@basil
basil marked this pull request as ready for review July 8, 2022 23:47
Comment thread war/pom.xml
Comment thread test/src/test/java/hudson/security/csrf/CrumbExclusionTest.java Outdated
Comment thread test/src/test/java/jenkins/security/SuspiciousRequestFilterTest.java Outdated
Comment thread war/pom.xml
<webApp>
<!-- Allows resources to be reloaded, and enable nicer console logging. -->
<extraClasspath>${project.basedir}/../core/src/main/resources,${project.basedir}/../core/target/classes,${project.build.directory}/support-log-formatter.jar</extraClasspath>
<!-- TODO eclipse/jetty.project#7970 <extraClasspath>${project.basedir}/../core/src/main/resources,${project.basedir}/../core/target/classes,${project.build.directory}/support-log-formatter.jar</extraClasspath> -->

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a workaround to this? i.e. without this we can't live reload resources from what I understand.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't believe there is, but the pain should be short-lived as this has already been fixed upstream and should be present in the next release of Jetty.

@basil basil changed the title [JENKINS-68694] Winstone 6.0: Upgrade Jetty from 9.4.46.v20220331 to 10.0.11 [JENKINS-68694] Winstone 6.1: Upgrade Jetty from 9.4.46.v20220331 to 10.0.11 Jul 23, 2022

@jglick jglick left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this just awaiting another core reviewer to be ready to merge?

(Cheating a bit for me to review as a co-author.)

@basil

basil commented Aug 1, 2022

Copy link
Copy Markdown
Member Author

Is this just awaiting another core reviewer to be ready to merge?

Yes, it is.

@jglick
jglick requested a review from a team August 1, 2022 16:47
@basil

basil commented Aug 1, 2022

Copy link
Copy Markdown
Member Author

This PR is now ready for merge. We will merge it after approximately 24 hours if there is no negative feedback. Please see the merge process documentation for more information about the merge process. Thanks!

@basil basil added the ready-for-merge The PR is ready to go, and it will be merged soon if there is no negative feedback label Aug 1, 2022
@basil basil added the squash-merge-me Unclean or useless commit history, should be merged only with squash-merge label Aug 1, 2022
@basil
basil merged commit cb1bbc7 into jenkinsci:master Aug 2, 2022
@basil
basil deleted the ws-JENKINS-68933-jetty-10 branch August 2, 2022 18:26
krisstern pushed a commit to krisstern/jenkins that referenced this pull request Aug 14, 2022
…10.0.11 (jenkinsci#6801)

Co-authored-by: Jesse Glick <jglick@cloudbees.com>
(cherry picked from commit cb1bbc7)
@basil basil added the upgrade-guide-needed This change might be breaking in rare circumstances, an entry in the LTS upgrade guide is needed label Aug 18, 2022
@jglick jglick mentioned this pull request Sep 13, 2022
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file java Pull requests that update Java code ready-for-merge The PR is ready to go, and it will be merged soon if there is no negative feedback removed This PR removes a feature or a public API rfe For changelog: Minor enhancement. use `major-rfe` for changes to be highlighted squash-merge-me Unclean or useless commit history, should be merged only with squash-merge upgrade-guide-needed This change might be breaking in rare circumstances, an entry in the LTS upgrade guide is needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants