jenkinsci / jenkinsci/subversion-plugin

[JENKINS-48543] Avoid slave → master callables

Open
#1,447 2 comments 0 reactions 0 assignees View on GitHub
component:subversion-plugin imported-jira-issue priority:major resolution:unresolved
Dominant language
Java
Stars
131
Forks
275
Avg merge
12h 4m
Merged PRs (30d)
6

Description

See this discussion and this SECURITY-144 exemption for context. SubversionSCM.descriptor() and SubversionWorkspaceSelector.syncWorkspaceFormatFromMaster must not call Jenkins.getInstanceOrNull or similar. Checking JenkinsJVM is the quick way to determine if code is running on the master or an agent, but really this check should not be necessary at all. Rather, all information about master-side configuration should be prepared on the master and included in the master → slave callable's constructor and serializable state (CheckOutTask for example). PerJobCredentialStoreTest.remoteBuild is a key test.

When fixed and released, the callable.conf entry can be deleted.

---
Originally reported by jglick, imported from: Avoid slave → master callables


  • assignee: jglick
  • status: In Review
  • priority: Major
  • component(s): subversion-plugin
  • resolution: Unresolved
  • votes: 0
  • watchers: 2
  • imported: 20251212-090250

Raw content of original issue

See this discussion and this SECURITY-144 exemption for context. SubversionSCM.descriptor() and SubversionWorkspaceSelector.syncWorkspaceFormatFromMaster must not call Jenkins.getInstanceOrNull or similar. Checking JenkinsJVM is the quick way to determine if code is running on the master or an agent, but really this check should not be necessary at all. Rather, all information about master-side configuration should be prepared on the master and included in the master → slave callable's constructor and serializable state (CheckOutTask for example). PerJobCredentialStoreTest.remoteBuild is a key test.

When fixed and released, the callable.conf entry can be deleted.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.