提交 16145cca 编写于 作者: D Daniel Beck 提交者: Oleg Nenashev

[JENKINS-59514] Use POST instead of RequirePOST for form submissions (#4223)

* [JENKINS-59514] Use POST instead of RequirePOST for form submissions

* More form submission URLs

* More form submission endpoints
上级 dd047e5d
......@@ -99,6 +99,7 @@ import org.kohsuke.stapler.StaplerResponse;
import org.kohsuke.stapler.export.Exported;
import org.kohsuke.stapler.export.ExportedBean;
import org.kohsuke.stapler.interceptor.RequirePOST;
import org.kohsuke.stapler.verb.POST;
import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
......@@ -1612,7 +1613,7 @@ public abstract class PluginManager extends AbstractModelObject implements OnMas
return new HttpRedirect("advanced");
}
@RequirePOST
@POST
public HttpResponse doProxyConfigure(StaplerRequest req) throws IOException, ServletException {
Jenkins jenkins = Jenkins.get();
jenkins.checkPermission(CONFIGURE_UPDATECENTER);
......
......@@ -58,6 +58,7 @@ import java.util.logging.LogRecord;
import java.util.logging.Logger;
import org.kohsuke.accmod.Restricted;
import org.kohsuke.accmod.restrictions.NoExternalUse;
import org.kohsuke.stapler.verb.POST;
/**
* Records a selected set of logs so that the system administrator
......@@ -326,7 +327,7 @@ public class LogRecorder extends AbstractModelObject implements Saveable {
/**
* Accepts submission from the configuration page.
*/
@RequirePOST
@POST
public synchronized void doConfigSubmit( StaplerRequest req, StaplerResponse rsp ) throws IOException, ServletException {
JSONObject src = req.getSubmittedForm();
......
......@@ -125,6 +125,7 @@ import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse;
import org.kohsuke.stapler.export.Exported;
import org.kohsuke.stapler.interceptor.RequirePOST;
import org.kohsuke.stapler.verb.POST;
/**
* Base implementation of {@link Job}s that build software.
......@@ -765,7 +766,7 @@ public abstract class AbstractProject<P extends AbstractProject<P,R>,R extends A
}
@Override
@RequirePOST
@POST
public void doConfigSubmit( StaplerRequest req, StaplerResponse rsp ) throws IOException, ServletException, FormException {
super.doConfigSubmit(req,rsp);
......
......@@ -89,6 +89,7 @@ import org.kohsuke.stapler.WebMethod;
import org.kohsuke.stapler.export.Exported;
import org.kohsuke.stapler.export.ExportedBean;
import org.kohsuke.stapler.interceptor.RequirePOST;
import org.kohsuke.stapler.verb.POST;
import javax.annotation.OverridingMethodsMustInvokeSuper;
import javax.annotation.concurrent.GuardedBy;
......@@ -1467,7 +1468,7 @@ public /*transient*/ abstract class Computer extends Actionable implements Acces
/**
* Accepts the update to the node configuration.
*/
@RequirePOST
@POST
public void doConfigSubmit( StaplerRequest req, StaplerResponse rsp ) throws IOException, ServletException, FormException {
checkPermission(CONFIGURE);
......
......@@ -62,6 +62,7 @@ import java.util.concurrent.TimeUnit;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.sf.json.JSONObject;
import org.kohsuke.stapler.verb.POST;
import static hudson.init.InitMilestone.JOB_LOADED;
......@@ -284,7 +285,7 @@ public final class ComputerSet extends AbstractModelObject implements Describabl
/**
* Really creates a new agent.
*/
@RequirePOST
@POST
public synchronized void doDoCreateItem( StaplerRequest req, StaplerResponse rsp,
@QueryParameter String name,
@QueryParameter String type ) throws IOException, ServletException, FormException {
......@@ -342,7 +343,7 @@ public final class ComputerSet extends AbstractModelObject implements Describabl
/**
* Accepts submission from the configuration page.
*/
@RequirePOST
@POST
public synchronized HttpResponse doConfigSubmit( StaplerRequest req) throws IOException, ServletException, FormException {
BulkChange bc = new BulkChange(MONITORS_OWNER);
try {
......
......@@ -115,6 +115,7 @@ import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse;
import org.kohsuke.stapler.export.Exported;
import org.kohsuke.stapler.interceptor.RequirePOST;
import org.kohsuke.stapler.verb.POST;
import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST;
import static javax.servlet.http.HttpServletResponse.SC_NO_CONTENT;
......@@ -1317,7 +1318,7 @@ public abstract class Job<JobT extends Job<JobT, RunT>, RunT extends Run<JobT, R
/**
* Accepts submission from the configuration page.
*/
@RequirePOST
@POST
public synchronized void doConfigSubmit(StaplerRequest req,
StaplerResponse rsp) throws IOException, ServletException, FormException {
checkPermission(CONFIGURE);
......
......@@ -65,6 +65,7 @@ import org.kohsuke.stapler.QueryParameter;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse;
import org.kohsuke.stapler.interceptor.RequirePOST;
import org.kohsuke.stapler.verb.POST;
/**
* Displays {@link Job}s in a flat list view.
......@@ -377,7 +378,7 @@ public class ListView extends View implements DirectlyModifiableView {
}
@Override
@RequirePOST
@POST
public Item doCreateItem(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException {
ItemGroup<? extends TopLevelItem> ig = getOwner().getItemGroup();
if (ig instanceof ModifiableItemGroup) {
......
......@@ -54,7 +54,7 @@ import org.kohsuke.stapler.QueryParameter;
import org.kohsuke.stapler.StaplerFallback;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse;
import org.kohsuke.stapler.interceptor.RequirePOST;
import org.kohsuke.stapler.verb.POST;
/**
* A UserProperty that remembers user-private views.
......@@ -171,7 +171,7 @@ public class MyViewsProperty extends UserProperty implements ModifiableViewGroup
return new HttpRedirect("view/" + Util.rawEncode(getPrimaryView().getViewName()) + "/");
}
@RequirePOST
@POST
public synchronized void doCreateView(StaplerRequest req, StaplerResponse rsp)
throws IOException, ServletException, ParseException, FormException {
checkPermission(View.CREATE);
......
......@@ -134,6 +134,7 @@ import org.kohsuke.stapler.StaplerResponse;
import org.kohsuke.stapler.export.Exported;
import org.kohsuke.stapler.export.ExportedBean;
import org.kohsuke.stapler.interceptor.RequirePOST;
import org.kohsuke.stapler.verb.POST;
/**
* A particular execution of {@link Job}.
......@@ -2443,7 +2444,7 @@ public abstract class Run <JobT extends Job<JobT,RunT>,RunT extends Run<JobT,Run
return project.getEstimatedDuration();
}
@RequirePOST
@POST
public @Nonnull HttpResponse doConfigSubmit( StaplerRequest req ) throws IOException, ServletException, FormException {
checkPermission(UPDATE);
try (BulkChange bc = new BulkChange(this)) {
......
......@@ -43,6 +43,7 @@ import java.util.Set;
import java.util.TreeSet;
import java.util.concurrent.CopyOnWriteArrayList;
import org.kohsuke.stapler.interceptor.RequirePOST;
import org.kohsuke.stapler.verb.POST;
/**
*
......@@ -108,7 +109,7 @@ public class TreeView extends View implements ViewGroup {
// return jobNames.contains(item.getName());
}
@RequirePOST
@POST
public TopLevelItem doCreateItem(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException {
ItemGroup<? extends TopLevelItem> ig = getOwner().getItemGroup();
if (ig instanceof ModifiableItemGroup) {
......
......@@ -93,6 +93,7 @@ import org.kohsuke.stapler.StaplerResponse;
import org.kohsuke.stapler.export.Exported;
import org.kohsuke.stapler.export.ExportedBean;
import org.kohsuke.stapler.interceptor.RequirePOST;
import org.kohsuke.stapler.verb.POST;
import org.springframework.dao.DataAccessException;
/**
......@@ -816,7 +817,7 @@ public class User extends AbstractModelObject implements AccessControlled, Descr
/**
* Accepts submission from the configuration page.
*/
@RequirePOST
@POST
public void doConfigSubmit(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, FormException {
checkPermission(Jenkins.ADMINISTER);
......
......@@ -123,6 +123,7 @@ import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST;
import org.kohsuke.accmod.Restricted;
import org.kohsuke.accmod.restrictions.NoExternalUse;
import org.kohsuke.stapler.QueryParameter;
import org.kohsuke.stapler.verb.POST;
import org.xml.sax.SAXException;
/**
......@@ -985,7 +986,7 @@ public abstract class View extends AbstractModelObject implements AccessControll
*
* Subtypes should override the {@link #submit(StaplerRequest)} method.
*/
@RequirePOST
@POST
public final synchronized void doConfigSubmit( StaplerRequest req, StaplerResponse rsp ) throws IOException, ServletException, FormException {
checkPermission(CONFIGURE);
......
......@@ -44,6 +44,7 @@ import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse;
import org.kohsuke.stapler.export.Exported;
import org.kohsuke.stapler.interceptor.RequirePOST;
import org.kohsuke.stapler.verb.POST;
import javax.servlet.ServletException;
import java.io.File;
......@@ -199,7 +200,7 @@ public class LabelAtom extends Label implements Saveable {
/**
* Accepts the update to the node configuration.
*/
@RequirePOST
@POST
public void doConfigSubmit( StaplerRequest req, StaplerResponse rsp ) throws IOException, ServletException, FormException {
final Jenkins app = Jenkins.get();
......
......@@ -53,7 +53,7 @@ import org.kohsuke.accmod.Restricted;
import org.kohsuke.accmod.restrictions.NoExternalUse;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse;
import org.kohsuke.stapler.interceptor.RequirePOST;
import org.kohsuke.stapler.verb.POST;
/**
* Security configuration.
......@@ -92,7 +92,7 @@ public class GlobalSecurityConfiguration extends ManagementLink implements Descr
return Jenkins.get().isDisableRememberMe();
}
@RequirePOST
@POST
public synchronized void doConfigure(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, FormException {
// for compatibility reasons, the actual value is stored in Jenkins
BulkChange bc = new BulkChange(Jenkins.get());
......
......@@ -71,6 +71,7 @@ import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.kohsuke.accmod.restrictions.DoNotUse;
import org.kohsuke.stapler.interceptor.RequirePOST;
import org.kohsuke.stapler.verb.POST;
/**
* A Jenkins instance used during first-run to provide a limited set of services while
......@@ -234,7 +235,7 @@ public class SetupWizard extends PageDecorator {
/**
* Called during the initial setup to create an admin user
*/
@RequirePOST
@POST
@Restricted(NoExternalUse.class)
public HttpResponse doCreateAdminUser(StaplerRequest req, StaplerResponse rsp) throws IOException {
Jenkins j = Jenkins.get();
......@@ -302,7 +303,7 @@ public class SetupWizard extends PageDecorator {
}
}
@RequirePOST
@POST
@Restricted(NoExternalUse.class)
public HttpResponse doConfigureInstance(StaplerRequest req, @QueryParameter String rootUrl) {
Jenkins.get().checkPermission(Jenkins.ADMINISTER);
......
......@@ -243,6 +243,7 @@ import org.kohsuke.stapler.framework.adjunct.AdjunctManager;
import org.kohsuke.stapler.interceptor.RequirePOST;
import org.kohsuke.stapler.jelly.JellyClassLoaderTearOff;
import org.kohsuke.stapler.jelly.JellyRequestDispatcher;
import org.kohsuke.stapler.verb.POST;
import org.xml.sax.InputSource;
import javax.annotation.CheckForNull;
......@@ -3755,7 +3756,7 @@ public class Jenkins extends AbstractCIBase implements DirectlyModifiableTopLeve
/**
* Accepts submission from the configuration page.
*/
@RequirePOST
@POST
public synchronized void doConfigSubmit( StaplerRequest req, StaplerResponse rsp ) throws IOException, ServletException, FormException {
BulkChange bc = new BulkChange(this);
try {
......@@ -3809,7 +3810,7 @@ public class Jenkins extends AbstractCIBase implements DirectlyModifiableTopLeve
/**
* Accepts submission from the node configuration page.
*/
@RequirePOST
@POST
public synchronized void doConfigExecutorsSubmit( StaplerRequest req, StaplerResponse rsp ) throws IOException, ServletException, FormException {
checkPermission(ADMINISTER);
......@@ -3960,7 +3961,7 @@ public class Jenkins extends AbstractCIBase implements DirectlyModifiableTopLeve
return (T)copy((TopLevelItem)src,name);
}
@RequirePOST
@POST
public synchronized void doCreateView( StaplerRequest req, StaplerResponse rsp ) throws IOException, ServletException, FormException {
checkPermission(View.CREATE);
addView(View.create(req,rsp, this));
......@@ -4941,7 +4942,7 @@ public class Jenkins extends AbstractCIBase implements DirectlyModifiableTopLeve
}
@Override
@RequirePOST
@POST
public void doConfigSubmit(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, FormException {
Jenkins.get().doConfigExecutorsSubmit(req, rsp);
}
......
......@@ -38,7 +38,7 @@ import org.kohsuke.accmod.Restricted;
import org.kohsuke.accmod.restrictions.NoExternalUse;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse;
import org.kohsuke.stapler.interceptor.RequirePOST;
import org.kohsuke.stapler.verb.POST;
import javax.servlet.ServletException;
import java.io.IOException;
......@@ -74,7 +74,7 @@ public class GlobalToolConfiguration extends ManagementLink {
return Jenkins.ADMINISTER;
}
@RequirePOST
@POST
public synchronized void doConfigure(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, Descriptor.FormException {
boolean result = configure(req, req.getSubmittedForm());
LOGGER.log(Level.FINE, "tools saved: "+result);
......
......@@ -44,7 +44,7 @@ import org.kohsuke.accmod.restrictions.NoExternalUse;
import org.kohsuke.stapler.DataBoundConstructor;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse;
import org.kohsuke.stapler.interceptor.RequirePOST;
import org.kohsuke.stapler.verb.POST;
import java.io.PrintWriter;
import java.io.StringWriter;
......@@ -249,7 +249,7 @@ public class RedactSecretJsonInErrorMessageSanitizerHtmlTest {
public TestDescribable testDescribable;
@RequirePOST
@POST
public void doConfigSubmit(StaplerRequest req, StaplerResponse rsp) throws Exception {
Jenkins.get().getDescriptorOrDie(TestDescribable.class).newInstance(req, req.getSubmittedForm());
}
......@@ -275,7 +275,7 @@ public class RedactSecretJsonInErrorMessageSanitizerHtmlTest {
public TestDescribable testDescribable;
@RequirePOST
@POST
public void doConfigSubmit(StaplerRequest req, StaplerResponse rsp) throws Exception {
req.bindJSON(TestDescribable.class, req.getSubmittedForm());
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册