[JENKINS-74745] Make ?link attribute work when CSP is enforced
#458
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
JENKINS-74745
This removes the inline JS in favor of an
alink. This link works even when Jenkins 2.539+ enforces Content Security Policy, prohibiting inline scripts.#457 discusses problems with the feature as it currently exists, so it's not clear to me what the supported use cases are. If the use case is indeed showing the image in an
iframe, this PR will not help, unless administrators use https://plugins.jenkins.io/csp/ to relax theframe-ancestorsdirective (which is still better than having to allowscript-src 'unsafe-inline'though).Testing done
Accessed the image URL directly. With valid
?linkvalue, click opens new tab. Without, no link. With and without CSP enforcement.In an
iframe, without CSP enforcingframe-ancestors, it also works.Submitter checklist