summaryrefslogtreecommitdiff
path: root/java/broker-plugins/firewall
diff options
context:
space:
mode:
authorMartin Ritchie <ritchiem@apache.org>2010-06-03 21:26:59 +0000
committerMartin Ritchie <ritchiem@apache.org>2010-06-03 21:26:59 +0000
commit388d42d6be196afb5f9803278a45f46199dc9e30 (patch)
treeb34885c6e8e1695c84deb499c9704fe86732fba8 /java/broker-plugins/firewall
parent9bcd23b23e46bb94761611f65d1afddfb927a94a (diff)
downloadqpid-python-388d42d6be196afb5f9803278a45f46199dc9e30.tar.gz
Remove Plugin.isConfigured Only configured plugins should be created
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@951158 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/broker-plugins/firewall')
-rw-r--r--java/broker-plugins/firewall/src/main/java/org/apache/qpid/server/security/access/plugins/Firewall.java78
1 files changed, 42 insertions, 36 deletions
diff --git a/java/broker-plugins/firewall/src/main/java/org/apache/qpid/server/security/access/plugins/Firewall.java b/java/broker-plugins/firewall/src/main/java/org/apache/qpid/server/security/access/plugins/Firewall.java
index 6c5ecf1d92..d91ee69ce2 100644
--- a/java/broker-plugins/firewall/src/main/java/org/apache/qpid/server/security/access/plugins/Firewall.java
+++ b/java/broker-plugins/firewall/src/main/java/org/apache/qpid/server/security/access/plugins/Firewall.java
@@ -43,8 +43,16 @@ public class Firewall extends AbstractPlugin
{
public Firewall newInstance(ConfigurationPlugin config) throws ConfigurationException
{
+ FirewallConfiguration configuration = config.getConfiguration(FirewallConfiguration.class);
+
+ // If there is no configuration for this plugin then don't load it.
+ if (configuration == null)
+ {
+ return null;
+ }
+
Firewall plugin = new Firewall();
- plugin.configure(config);
+ plugin.configure(configuration);
return plugin;
}
@@ -121,43 +129,41 @@ public class Firewall extends AbstractPlugin
public void configure(ConfigurationPlugin config) throws ConfigurationException
{
- _config = config.getConfiguration(FirewallConfiguration.class);
+ super.configure(config);
FirewallConfiguration firewallConfiguration = (FirewallConfiguration) _config;
-
- if (isConfigured())
+
+ // Get default action
+ String defaultAction = firewallConfiguration.getConfiguration().getString("[@default-action]");
+ if (defaultAction == null)
{
- // Get default action
- String defaultAction = firewallConfiguration.getConfiguration().getString("[@default-action]");
- if (defaultAction == null)
- {
- _default = Result.ABSTAIN;
- }
- else if (defaultAction.equalsIgnoreCase(FirewallRule.ALLOW))
- {
- _default = Result.ALLOWED;
- }
- else
- {
- _default = Result.DENIED;
- }
-
- CompositeConfiguration finalConfig = new CompositeConfiguration(firewallConfiguration.getConfiguration());
- List subFiles = firewallConfiguration.getConfiguration().getList("xml[@fileName]");
- for (Object subFile : subFiles)
- {
- finalConfig.addConfiguration(new XMLConfiguration((String) subFile));
- }
-
- // all rules must have an access attribute
- int numRules = finalConfig.getList("rule[@access]").size();
- _rules = new FirewallRule[numRules];
- for (int i = 0; i < numRules; i++)
- {
- FirewallRule rule = new FirewallRule(finalConfig.getString("rule(" + i + ")[@access]"),
- finalConfig.getList("rule(" + i + ")[@network]"),
- finalConfig.getList("rule(" + i + ")[@hostname]"));
- _rules[i] = rule;
- }
+ _default = Result.ABSTAIN;
+ }
+ else if (defaultAction.equalsIgnoreCase(FirewallRule.ALLOW))
+ {
+ _default = Result.ALLOWED;
+ }
+ else
+ {
+ _default = Result.DENIED;
}
+
+ CompositeConfiguration finalConfig = new CompositeConfiguration(firewallConfiguration.getConfiguration());
+ List subFiles = firewallConfiguration.getConfiguration().getList("xml[@fileName]");
+ for (Object subFile : subFiles)
+ {
+ finalConfig.addConfiguration(new XMLConfiguration((String) subFile));
+ }
+
+ // all rules must have an access attribute
+ int numRules = finalConfig.getList("rule[@access]").size();
+ _rules = new FirewallRule[numRules];
+ for (int i = 0; i < numRules; i++)
+ {
+ FirewallRule rule = new FirewallRule(finalConfig.getString("rule(" + i + ")[@access]"),
+ finalConfig.getList("rule(" + i + ")[@network]"),
+ finalConfig.getList("rule(" + i + ")[@hostname]"));
+ _rules[i] = rule;
+ }
+
}
}