From 9a57858a925aea1a01da9061d60e91e37d319873 Mon Sep 17 00:00:00 2001 From: Stephen Connolly Date: Thu, 10 Sep 2015 14:49:57 +0100 Subject: [PATCH] [JENKINS-30139] Add @Restricted to prevent external use of internal data --- .../java/hudson/diagnosis/OldDataMonitor.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/hudson/diagnosis/OldDataMonitor.java b/core/src/main/java/hudson/diagnosis/OldDataMonitor.java index c58eaa2811..e1ea6eeec1 100644 --- a/core/src/main/java/hudson/diagnosis/OldDataMonitor.java +++ b/core/src/main/java/hudson/diagnosis/OldDataMonitor.java @@ -55,6 +55,8 @@ import javax.annotation.CheckForNull; import jenkins.model.Jenkins; import org.acegisecurity.context.SecurityContext; import org.acegisecurity.context.SecurityContextHolder; +import org.kohsuke.accmod.Restricted; +import org.kohsuke.accmod.restrictions.NoExternalUse; import org.kohsuke.stapler.HttpRedirect; import org.kohsuke.stapler.HttpResponse; import org.kohsuke.stapler.HttpResponses; @@ -229,8 +231,13 @@ public class OldDataMonitor extends AdministrativeMonitor { public static class VersionRange { private static VersionNumber currentVersion = Jenkins.getVersion(); - VersionNumber min, max; + @Restricted(NoExternalUse.class) + VersionNumber min; + @Restricted(NoExternalUse.class) + VersionNumber max; + @Restricted(NoExternalUse.class) boolean single = true; + @Restricted(NoExternalUse.class) public String extra; public VersionRange(String version, String extra) { @@ -263,10 +270,12 @@ public class OldDataMonitor extends AdministrativeMonitor { && currentVersion.digit(1) - min.digit(1) >= threshold)); } + @Restricted(NoExternalUse.class) synchronized VersionNumber getMax() { return max; } + @Restricted(NoExternalUse.class) synchronized VersionNumber getMin() { return min; } @@ -275,11 +284,13 @@ public class OldDataMonitor extends AdministrativeMonitor { /** * Sorted list of unique max-versions in the data set. For select list in jelly. */ + @Restricted(NoExternalUse.class) public Iterator getVersionList() { TreeSet set = new TreeSet(); for (VersionRange vr : data.values()) { - if (vr.getMax() != null) { - set.add(vr.getMax()); + VersionNumber max = vr.getMax(); + if (max != null) { + set.add(max); } } return set.iterator(); -- GitLab