You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2012/05/09 15:15:21 UTC
svn commit: r1336177 - in /karaf/cellar/trunk/config/src/main:
java/org/apache/karaf/cellar/config/shell/ resources/OSGI-INF/blueprint/
Author: jbonofre
Date: Wed May 9 13:15:20 2012
New Revision: 1336177
URL: http://svn.apache.org/viewvc?rev=1336177&view=rev
Log:
[KARAF-1429] cluster:config-* commands now check if the pid is allowed outbound
Modified:
karaf/cellar/trunk/config/src/main/java/org/apache/karaf/cellar/config/shell/ConfigCommandSupport.java
karaf/cellar/trunk/config/src/main/java/org/apache/karaf/cellar/config/shell/DeleteCommand.java
karaf/cellar/trunk/config/src/main/java/org/apache/karaf/cellar/config/shell/PropAppendCommand.java
karaf/cellar/trunk/config/src/main/java/org/apache/karaf/cellar/config/shell/PropSetCommand.java
karaf/cellar/trunk/config/src/main/resources/OSGI-INF/blueprint/shell-config.xml
Modified: karaf/cellar/trunk/config/src/main/java/org/apache/karaf/cellar/config/shell/ConfigCommandSupport.java
URL: http://svn.apache.org/viewvc/karaf/cellar/trunk/config/src/main/java/org/apache/karaf/cellar/config/shell/ConfigCommandSupport.java?rev=1336177&r1=1336176&r2=1336177&view=diff
==============================================================================
--- karaf/cellar/trunk/config/src/main/java/org/apache/karaf/cellar/config/shell/ConfigCommandSupport.java (original)
+++ karaf/cellar/trunk/config/src/main/java/org/apache/karaf/cellar/config/shell/ConfigCommandSupport.java Wed May 9 13:15:20 2012
@@ -13,6 +13,9 @@
*/
package org.apache.karaf.cellar.config.shell;
+import org.apache.karaf.cellar.core.CellarSupport;
+import org.apache.karaf.cellar.core.Group;
+import org.apache.karaf.cellar.core.event.EventType;
import org.apache.karaf.cellar.core.shell.CellarCommandSupport;
/**
@@ -20,4 +23,13 @@ import org.apache.karaf.cellar.core.shel
*/
public abstract class ConfigCommandSupport extends CellarCommandSupport {
+ public boolean isAllowed(Group group, String category, String pid, EventType type) {
+ CellarSupport support = new CellarSupport();
+ support.setClusterManager(this.clusterManager);
+ support.setGroupManager(this.groupManager);
+ support.setConfigurationAdmin(this.configurationAdmin);
+ return support.isAllowed(group, category, pid, type);
+ }
+
+
}
Modified: karaf/cellar/trunk/config/src/main/java/org/apache/karaf/cellar/config/shell/DeleteCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/trunk/config/src/main/java/org/apache/karaf/cellar/config/shell/DeleteCommand.java?rev=1336177&r1=1336176&r2=1336177&view=diff
==============================================================================
--- karaf/cellar/trunk/config/src/main/java/org/apache/karaf/cellar/config/shell/DeleteCommand.java (original)
+++ karaf/cellar/trunk/config/src/main/java/org/apache/karaf/cellar/config/shell/DeleteCommand.java Wed May 9 13:15:20 2012
@@ -21,6 +21,7 @@ import org.apache.karaf.cellar.core.cont
import org.apache.karaf.cellar.core.event.EventProducer;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.cellar.core.event.EventType;
import org.osgi.service.cm.ConfigurationEvent;
import java.util.Map;
@@ -52,6 +53,12 @@ public class DeleteCommand extends Confi
return null;
}
+ // check if the config pid is allowed
+ if (!isAllowed(group, Constants.CATEGORY, pid, EventType.OUTBOUND)) {
+ System.err.println("Configuration PID " + pid + " is blocked outbound");
+ return null;
+ }
+
Map<String, Properties> configurationMap = clusterManager.getMap(Constants.CONFIGURATION_MAP + Configurations.SEPARATOR + groupName);
if (configurationMap != null) {
// update the distributed map
Modified: karaf/cellar/trunk/config/src/main/java/org/apache/karaf/cellar/config/shell/PropAppendCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/trunk/config/src/main/java/org/apache/karaf/cellar/config/shell/PropAppendCommand.java?rev=1336177&r1=1336176&r2=1336177&view=diff
==============================================================================
--- karaf/cellar/trunk/config/src/main/java/org/apache/karaf/cellar/config/shell/PropAppendCommand.java (original)
+++ karaf/cellar/trunk/config/src/main/java/org/apache/karaf/cellar/config/shell/PropAppendCommand.java Wed May 9 13:15:20 2012
@@ -21,6 +21,7 @@ import org.apache.karaf.cellar.core.cont
import org.apache.karaf.cellar.core.event.EventProducer;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.cellar.core.event.EventType;
import java.util.Map;
import java.util.Properties;
@@ -57,6 +58,12 @@ public class PropAppendCommand extends C
return null;
}
+ // check if the config pid is allowed
+ if (!isAllowed(group, Constants.CATEGORY, pid, EventType.OUTBOUND)) {
+ System.err.println("Configuration PID " + pid + " is blocked outbound");
+ return null;
+ }
+
Map<String, Properties> configurationMap = clusterManager.getMap(Constants.CONFIGURATION_MAP + Configurations.SEPARATOR + groupName);
if (configurationMap != null) {
// update the distributed map
Modified: karaf/cellar/trunk/config/src/main/java/org/apache/karaf/cellar/config/shell/PropSetCommand.java
URL: http://svn.apache.org/viewvc/karaf/cellar/trunk/config/src/main/java/org/apache/karaf/cellar/config/shell/PropSetCommand.java?rev=1336177&r1=1336176&r2=1336177&view=diff
==============================================================================
--- karaf/cellar/trunk/config/src/main/java/org/apache/karaf/cellar/config/shell/PropSetCommand.java (original)
+++ karaf/cellar/trunk/config/src/main/java/org/apache/karaf/cellar/config/shell/PropSetCommand.java Wed May 9 13:15:20 2012
@@ -21,6 +21,7 @@ import org.apache.karaf.cellar.core.cont
import org.apache.karaf.cellar.core.event.EventProducer;
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.cellar.core.event.EventType;
import java.util.Map;
import java.util.Properties;
@@ -57,6 +58,12 @@ public class PropSetCommand extends Conf
return null;
}
+ // check if the config pid is allowed
+ if (!isAllowed(group, Constants.CATEGORY, pid, EventType.OUTBOUND)) {
+ System.err.println("Configuration PID " + pid + " is blocked outbound");
+ return null;
+ }
+
Map<String, Properties> configurationMap = clusterManager.getMap(Constants.CONFIGURATION_MAP + Configurations.SEPARATOR + groupName);
if (configurationMap != null) {
// update the distributed map
Modified: karaf/cellar/trunk/config/src/main/resources/OSGI-INF/blueprint/shell-config.xml
URL: http://svn.apache.org/viewvc/karaf/cellar/trunk/config/src/main/resources/OSGI-INF/blueprint/shell-config.xml?rev=1336177&r1=1336176&r2=1336177&view=diff
==============================================================================
--- karaf/cellar/trunk/config/src/main/resources/OSGI-INF/blueprint/shell-config.xml (original)
+++ karaf/cellar/trunk/config/src/main/resources/OSGI-INF/blueprint/shell-config.xml Wed May 9 13:15:20 2012
@@ -40,6 +40,7 @@
<property name="clusterManager" ref="clusterManager"/>
<property name="groupManager" ref="groupManager"/>
<property name="eventProducer" ref="eventProducer"/>
+ <property name="configurationAdmin" ref="configurationAdmin"/>
</action>
<completers>
<ref component-id="allGroupCompleter"/>
@@ -50,6 +51,7 @@
<property name="clusterManager" ref="clusterManager"/>
<property name="groupManager" ref="groupManager"/>
<property name="eventProducer" ref="eventProducer"/>
+ <property name="configurationAdmin" ref="configurationAdmin"/>
</action>
<completers>
<ref component-id="allGroupCompleter"/>
@@ -60,6 +62,7 @@
<property name="clusterManager" ref="clusterManager"/>
<property name="groupManager" ref="groupManager"/>
<property name="eventProducer" ref="eventProducer"/>
+ <property name="configurationAdmin" ref="configurationAdmin"/>
</action>
<completers>
<ref component-id="allGroupCompleter"/>