Commit Graph
14453 Commits
Author SHA1 Message Date
Jérôme Pochat c8eddd3f65 [JENKINS-73597] Remove RekeySecretAdminMonitor and related resources (#9594) 2024-08-15 11:29:01 -07:00
Desprez Jean-Marc d176756f17 [JENKINS-73499] Add a warning if there is a risk of exposing credentials through a non-TLS proxy connection (#9491) 2024-08-10 21:56:11 +01:00
Tim JacombandDaniel Beck 824c868dc7 Modernise project relationship page (#9461)
Co-authored-by: Daniel Beck <1831569+daniel-beck@users.noreply.github.com>
2024-08-10 21:56:00 +01:00
Yaroslav Afenkin 3752f406bf [SECURITY-3349] 2024-07-30 18:37:07 +00:00
Daniel Beck 5d26b53ad3 [SECURITY-3430] 2024-07-30 18:37:01 +00:00
Basil Crow ca241b4bf6 Use detached plugins as a cache for the Update Center (#9476) 2024-07-29 18:57:31 -06:00
Jesse Glick cbfe2d4d00 Tolerate HttpResponse thrown from Descriptor.newInstance (#9495)
* Tolerate `HttpResponse` thrown from `Descriptor.newInstance`

* Incremental version

* Pick up release of https://github.com/jenkinsci/stapler/pull/571
2024-07-28 08:13:05 -06:00
Daniel BeckandDaniel Beck 11f87f70ad Deprecate AdministrativeMonitor#getRequiredPermission (#9494)
Co-authored-by: Daniel Beck <daniel-beck@users.noreply.github.com>
2024-07-28 08:12:48 -06:00
Daniel Beck 6f7edd1868 Add missing at-since in AdministrativeMonitor (#9493) 2024-07-27 09:58:51 +02:00
Jesse GlickandVincent Latombe 220165fd27 ItemListener.onCheckDelete & ItemDeletion.cancelBuildsInProgress (#9480)
* `ItemListener.onCheckDelete` & `ItemDeletion.cancelBuildsInProgress`

* Remove missing parameter from javadoc

---------

Co-authored-by: Vincent Latombe <vincent@latombe.net>
2024-07-23 19:50:21 -06:00
Markus WinterandJan Faracik 0255a59b23 experimental flag to run Jenkins without YUI (#9489)
* experimental flag to run Jenkins without YUI

The YUI library is old and no longer maintained.

Add a user experimental flag to disable YUI. It's disabled by default.
When enabling all the YUI related js libraries and css classes are not
loaded.

Following PR are required to get Jenkins to not show any errors

eventually #7569

Some plugins that use YUI (not complete):
credentials
ldap
global-build-stats
build-monitor
categorized-view

Plugins that make use of makeButton (not complete)
credentials (fixed with https://github.com/jenkinsci/credentials-plugin/pull/533)
openid

acceptance-test-harness

* fix typo

Co-authored-by: Jan Faracik <43062514+janfaracik@users.noreply.github.com>

* add license and restrict class

---------

Co-authored-by: Jan Faracik <43062514+janfaracik@users.noreply.github.com>
2024-07-22 18:34:15 +02:00
Markus Winter e9d210a86d modernise build time trend page (#9465)
* modernise build time trend page

- use jenkins-table
- add time since column
- make the link to the console an explicit icon (like for the agent
  history)
- hide the agent column for pipeline jobs

* apply prettier

* missing let declaration

* fix tests

* change flex-direction with media

* apply prettier

* revert change to buildListTable
2024-07-22 18:33:56 +02:00
Mark Waite 77f620e3cc Update version numbers of new APIs in Javadoc (#9486)
Update @since TODO javadoc comments
2024-07-20 16:45:12 -06:00
Basil Crow e4f3a0d2fe [JENKINS-73467] No facility to try unsupported Remoting versions when using inbound agents (#9485) 2024-07-20 16:44:58 -06:00
Jesse Glick 7680da0cef Lifecycle.onBootFailure (#9483) 2024-07-20 16:44:43 -06:00
Jesse Glick 62e4ac4778 [JENKINS-66105] Allow follow redirects to work after 303 from buildWithParameters (#9446) 2024-07-20 16:44:34 -06:00
Jesse Glick baa0b2c25c Deprecating SubTask.getLastBuiltOn (#9442) 2024-07-20 16:44:14 -06:00
Jesse Glick 9e629f6517 Note the plugin responsible for loading a detached plugin (#9478) 2024-07-19 14:58:35 -06:00
Vincent Latombe b2021f2464 Merge pull request #9449 from Vlatombe/show-plugin-url-when-installing 2024-07-17 13:25:41 +02:00
Vincent Latombe 8ca14f8c1d Refactor to cover error case 2024-07-11 13:18:25 +02:00
Vincent Latombe 4f532a1302 Include redirected URL, but in FINE level to avoid adding noise to logs. 2024-07-11 10:00:48 +02:00
Wadeck FollonierandTim Jacomb 6fa26d23a7 [JENKINS-69869] Categorize the user properties (#7268)
Co-authored-by: Tim Jacomb <timjacomb1@gmail.com>
2024-07-11 08:00:54 +01:00
Vincent Latombe f9a935b082 Show plugin source URL when downloading it
Example: Downloading email-ext from https://updates.jenkins.io/download/plugins/email-ext/1814.v404722f34263/email-ext.hpi
2024-07-10 11:28:58 +02:00
Vincent Latombe dc36857468 Cover new logic and fix check 2024-07-08 09:53:43 +02:00
Vincent Latombe 4152c5726b Add a method to check for permission instead 2024-07-08 09:35:49 +02:00
Vincent Latombe 7df974eea1 Allow administrative monitors to be displayed for users with Overall/MANAGE permission
This allows users with `Overall/MANAGE` permission but not `Overall/SYSTEM_READ` to display administrative monitors if the administrative monitor has been implemented to allow it.
2024-07-05 14:26:51 +02:00
Zbynek Konecny d041c43958 Replace usages of YUI framework by simple JS/CSS (#9395) 2024-06-18 07:34:31 +01:00
Basil Crow 500169be57 Delegate compression to servlet container (#9379)
* Delegate compression to servlet container

* Update incrementals

* Use released versions
2024-06-18 07:34:19 +01:00
16b5d21052 [JENKINS-14789] Configurable interval for computer retention check (#7037)
* [JENKINS-14789] Configurable interval for computer retention check

Also update the lower bound delay as returned by each RetentionStrategy
 from 1min to 0min. This is enabling check intervals of <1min to trigger
 a re-check in the next cycle (previously, the nextCheck tracking would
 defer the next re-check into the 2nd cycle -- one for the timer loop
 and once for the nextCheck timestamp).

Includes a bug fix:
`CloudSlaveRetentionStrategy` tracks the agent timeout in milliseconds
 internally and returned the nextCheck delay as a tenth of that.
The nextCheck delay is consumed in minutes, leading to the max delay
 of one hour being used.
Fix: Convert the delay from milliseconds to minutes.

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

* [JENKINS-14789] Allow a check interval of one second

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

* [JENKINS-14789] Apply review feedback

- Double down on JavaDoc
- Migrate UI to jelly

Co-Authored-By: Alexander Brandes <mc.cache@web.de>
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

* [JENKINS-14789] Store computerRetentionCheckInterval in model instance

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

* [JENKINS-14789] Add missing javadoc comment

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

* [JENKINS-14789] Add tests for model

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

* [JENKINS-14789] Use AperiodicWork for ComputerRetentionWork

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

* [JENKINS-14789] limit computer retention check interval to 60s

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

* [JENKINS-14789] apply review feedback

Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com>
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

---------

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
Co-authored-by: Alexander Brandes <mc.cache@web.de>
Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com>
2024-06-18 07:33:46 +01:00
Mark Waite d99b83b127 Update javadoc and other docs with dates of API changes (#9396)
Several of the changes are not detected by the Python script but were
detected by `git grep TODO | grep since` with review of the output.

The cases that are not detected by the Python script seem obscure enough
to not bother with additions to the script.  If they become common
practice, then we can extend the Python script.
2024-06-17 06:12:55 -06:00
MunawarandMunawar Hafiz 82a37a7f1e Add a null check for a method return result that may return null (#9354)
* Add a null check for a method return result that may return null.

In file PluginManager.java the parsePluginManifest method may return null. In other parts of the code (https://github.com/jenkinsci/jenkins/blob/7aad67832442b8cd1dfaf363a3630d2687ddf3e3/core/src/main/java/hudson/PluginManager.java#L868), the return value was checked for null. But the null check is missing in this part of the code. 

The fix just adds the missing null check in the code.

**Sponsorship and Support:**

This work is done by the security researchers from OpenRefactory and is supported by the Open Source Security Foundation (OpenSSF): Project Alpha-Omega. Alpha-Omega is a project partnering with open source software project maintainers to systematically find new, as-yet-undiscovered vulnerabilities in open source code - and get them fixed - to improve global software supply chain security.

The bug is found by running the iCR tool by OpenRefactory, Inc. and then manually triaging the results.

* Comment: Applied mvn spotless to clean up formating issues.

---------

Co-authored-by: Munawar Hafiz <munawar@munawars-mbp.lan>
2024-06-15 17:11:59 -06:00
Mark Waite 3015251174 [JENKINS-73129] Remove Windows path traversal escape hatch from SECURITY-2481 (#9387)
Remove SECURITY-2481 escape hatch

https://www.jenkins.io/security/advisory/2021-10-06/#SECURITY-2481 was
published in October 2021 with an escape hatch that allows users to
enable the path traversal vulnerability on Windows. Jetty 12 detects
the vulernability even before the request reaches Jenkins and returns
an HTTP error, as required by the Servlet API specification.

Remove the escape hatch because the escape hatch is intended to be
temporary and we don't want to reimplement the escape hatch within
Jetty configuration.

https://issues.jenkins.io/browse/JENKINS-73129 includes further discussion
of the alternatives.
2024-06-15 06:27:53 -06:00
Basil Crow 8793619682 Miscellaneous code cleanup (#9384) 2024-06-15 06:27:17 -06:00
Basil Crow 1381726b2f Use isEmpty() where possible (#9383) 2024-06-14 07:21:57 -06:00
Daniel BeckandDaniel Beck df0a13d8fb Fix web references in comment on obtaining process info on Mac OS (#9378)
Co-authored-by: Daniel Beck <daniel-beck@users.noreply.github.com>
2024-06-14 07:21:40 -06:00
Basil Crow d2d1d0d20f Use pattern matching for instanceof (#9382) 2024-06-13 06:04:42 +01:00
Basil Crow 75f6c56c77 Require Java 17 or newer (#9358) 2024-06-11 15:52:23 +01:00
Bob Du 0ad66571bf [JENKINS-73246] Fix text shown in unexpected locale (#9370)
Signed-off-by: Bob Du <i@bobdu.cc>
2024-06-10 19:02:09 -06:00
Markus Winter 5978ebe594 [JENKINS-73243] quote replacement string in symbol tooltips (#9347) 2024-06-06 13:20:38 +01:00
Mark Waite 62bdd5229c Retain Java 11 EOL date for LTS lines (#9323)
Return to the Java 11 end of life date of 30 Sep 2024 for the LTS lines
rather than changing it to match the expected 30 Oct 2024 release date
of the first LTS to require Java 17.

Little benefit to LTS users to extend the end of life message until end of October.

Changing the date will cause the administrative monitor to reappear.
Better to leave it hidden if they have decided to hide it.
2024-05-30 11:18:17 +02:00
Mark Waite 4ff2f4183d Warn Java 11 users of 18 Jun 2024 end of life in weekly (#9314)
Alert Java 11 users of 18 Jun 2024 end of life in weekly

Also updates the Java 11 end of life date for Java 11 users running with
the long term support release.
2024-05-26 21:15:26 -06:00
Basil Crow f6e9283921 Replace usages of JZlib with native Java Platform functionality (#9312)
* Replace usages of JZlib with native Java Platform functionality

* Simplify import of class

* Pull in Stapler version of this change
2024-05-26 21:14:58 -06:00
Basil Crow c10cafc2b5 [JENKINS-10629] Migrate from Commons Compress to Ant (#9311) 2024-05-26 21:14:41 -06:00
Markus Winter dae17374aa [JENKINS-64553] fix ItemListener not called after updating job via REST API or CLI (#9304)
[JENKINS-64553] call ItemListener after updating job via cli

when a job is updated via REST API or CLI, the
ItemListener.fireOnUpdated is now called to inform about the change.
2024-05-26 21:14:14 -06:00
Markus Winter c46dc4becb [JENKINS-64356] fix legacyIds missing when creating jobs via REST API or CLI (#9303)
* [JENKINS-64356] call onCreatedFromScratch after creating item via api or cli

When creating jobs via the rest api or cli the call to
onCreatedFromScratch was missing. This can lead to long startup times
when many jobs are created this way.

* remove unused import
2024-05-26 21:13:58 -06:00
Vincent Latombe b52201b020 Clarify state of {Job,LazyBuildMixIn}#createHistoryWidget() method. (#9268)
* Clarify state of `{Job,LazyBuildMixIn}#createHistoryWidget()` method.

These methods are no longer needed and should not be called nor overridden.

Instead, history widgets are instantiated via `jenkins.widgets.WidgetFactory` annotated with `@Extension`.

* Javadoc
2024-05-19 05:36:11 -06:00
Markus Winter afaf96ebc3 [JENKINS-73156] handle svg cleanup of symbols via an xml document (#9266)
[JENKINS-71356] handle svg cleanup via a xml document

some attributes and elements where removed via regular expressions.
Additionally `stroke:#000 was replaced with currentColor because there
are some icons that still use that.
This had sideeffects when symbols are used that are not just
black/white, e.g. using svg from jenkins artwork via customizable-header
plugin. There are construct like using class attributes and a style
definition referring to the classes. At other places there where color
definitions with `stroke:#000abc` which were incorrectly modified.

svg cleanup is now implemented with DOM manipulation which is more
robust.
5 icons that still used `stroke:#000` are converted to use
`stroke:currentColor`
2024-05-19 05:35:58 -06:00
Allan Burdajewicz eb65336ed5 [JENKINS-72622] Rename CloudSet query parameter to avoid conflict (#9198)
* [JENKINS-72622] Rename CloudSet query parameter to avoid conflict

* [JENKINS-72622] Address SpotBugs warning
2024-05-19 05:35:47 -06:00
Basil Crow 0117bf3e34 [JENKINS-73170] Upgrade Commons FileUpload from 1.5 to 2.0.0-M2 (#9259) 2024-05-18 09:42:08 -07:00
James NordandJesse Glick 94f715407c Ensure ClassLoaders have names for debugging (#9277)
* Ensure Classloaders have names for debugging

* update incremental version

* simplify name of UberClassloader and update since TODOs

Co-authored-by: Jesse Glick <jglick@cloudbees.com>

* use released version of remoting

* set the minimum version of remoting

* pick up backward compatable remoting version

* update from remoting incremental version to release version

https://github.com/jenkinsci/remoting/releases/tag/3248.v65ecb_254c298

---------

Co-authored-by: Jesse Glick <jglick@cloudbees.com>
2024-05-18 09:20:56 -06:00