Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[Fixed JENKINS-8936] Obay Jenkins security policy
  • Loading branch information
swestcott committed Mar 23, 2011
1 parent 6a6033e commit d4b2d2c
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 0 deletions.
Expand Up @@ -35,6 +35,7 @@
import hudson.model.Run;
import hudson.model.StringParameterDefinition;
import hudson.model.TopLevelItem;
import hudson.security.Permission;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
Expand Down Expand Up @@ -167,6 +168,11 @@ protected final List<AbstractProject> getProjects() {
*/
protected final void doBuildProject(AbstractProject project) {

if (!project.hasPermission(AbstractProject.BUILD)) {
LOGGER.log(Level.WARNING, "Insufficient permissions to build {0}", project.getName());
return;
}

// no user parameters provided, just build it
if (userParams == null) {
project.scheduleBuild(new Cause.UserCause());
Expand Down
Expand Up @@ -30,6 +30,8 @@
import org.junit.Test;
import org.jvnet.hudson.test.FailureBuilder;
import org.jvnet.hudson.test.UnstableBuilder;
import org.jvnet.hudson.test.recipes.PresetData;
import org.jvnet.hudson.test.recipes.PresetData.DataSet;

/**
* @author simon
Expand Down Expand Up @@ -97,4 +99,16 @@ public void testBuildPattern() {
assertEquals(1, builder.buildPattern("stable"));
assertEquals(3, builder.buildPattern("l"));
}

/**
* Test project
*/
@Test
@PresetData(DataSet.ANONYMOUS_READONLY)
public void testInsufficientBuildPermission() {
int buildNumber = project1.getNextBuildNumber();
assertEquals(1, builder.buildPattern("success"));
int nextBuildNumber = project1.getNextBuildNumber();
assertEquals(buildNumber, nextBuildNumber);
}
}

0 comments on commit d4b2d2c

Please sign in to comment.