Eli Mesika has uploaded a new change for review.

Change subject: core: Do not allow non monitored commands to send JobId or 
StepId parameters
......................................................................

core: Do not allow non monitored commands to send JobId or StepId parameters

Change-Id: I769ac4c624c4a5fa850b51600c49aaed06a7443b
Signed-off-by: Eli Mesika <[email protected]>
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=872719
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/Backend.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionParametersBase.java
2 files changed, 15 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/05/16705/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/Backend.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/Backend.java
index d78d397..d9c08d6 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/Backend.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/Backend.java
@@ -374,8 +374,19 @@
             VdcActionParametersBase parameters,
             boolean runAsInternal,
             CommandContext context) {
-        CommandBase<?> command = CommandsFactory.CreateCommand(actionType, 
parameters);
-        return runAction(command, runAsInternal, context);
+        VdcReturnValueBase result;
+        // If non-monitored command is invoked with JobId or ActionId as 
parameters, reject this command on can do action.
+        if (!actionType.isActionMonitored() && (parameters.getJobId() != null 
|| parameters.getStepId() != null)) {
+            result = new VdcReturnValueBase();
+            
result.getCanDoActionMessages().add(VdcBllMessages.ACTION_TYPE_NON_MONITORED.toString());
+            result.setCanDoAction(false);
+            result.setSucceeded(false);
+        }
+        else {
+            CommandBase<?> command = CommandsFactory.CreateCommand(actionType, 
parameters);
+            result = runAction(command, runAsInternal, context);
+        }
+        return result;
     }
 
     protected VdcReturnValueBase runAction(CommandBase<?> command,
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionParametersBase.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionParametersBase.java
index fa09829..ea7f3d0 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionParametersBase.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionParametersBase.java
@@ -58,8 +58,8 @@
     @Size(min = 1, max = BusinessEntitiesDefinitions.CORRELATION_ID_SIZE, 
groups = PreRun.class)
     private String correlationId;
 
-    private Guid jobId;
-    private Guid stepId;
+    private Guid jobId = null;
+    private Guid stepId = null;
 
     public VdcActionParametersBase() {
         shouldbelogged = true;


-- 
To view, visit http://gerrit.ovirt.org/16705
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I769ac4c624c4a5fa850b51600c49aaed06a7443b
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Eli Mesika <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to