Author: tmckay
Date: 2011-03-30 15:56:10 +0000 (Wed, 30 Mar 2011)
New Revision: 4674
Modified:
trunk/cumin/bin/cumin-data
trunk/cumin/bin/cumin-web
trunk/cumin/etc/cumin.conf
trunk/cumin/python/cumin/config.py
trunk/cumin/python/cumin/main.py
trunk/cumin/python/cumin/session.py
trunk/mint/python/mint/main.py
trunk/mint/python/mint/session.py
Log:
Add sasl-mech-list config parameter to cumin.conf to allow Cumin to
restrict the allowable authentication mechanism. Default is consistent
with existing behavior.
BZ692129
Modified: trunk/cumin/bin/cumin-data
===================================================================
--- trunk/cumin/bin/cumin-data 2011-03-30 14:54:16 UTC (rev 4673)
+++ trunk/cumin/bin/cumin-data 2011-03-30 15:56:10 UTC (rev 4674)
@@ -125,6 +125,8 @@
mint = Mint(model_dir, broker_uris, opts.database)
+ mint.sasl_mech_list = values.sasl_mech_list
+
mint.print_event_level = opts.print_events
mint.expire_thread.interval = values.expire_interval
Modified: trunk/cumin/bin/cumin-web
===================================================================
--- trunk/cumin/bin/cumin-web 2011-03-30 14:54:16 UTC (rev 4673)
+++ trunk/cumin/bin/cumin-web 2011-03-30 15:56:10 UTC (rev 4674)
@@ -85,6 +85,7 @@
cumin = Cumin(config.get_home(), broker_uris, opts.database,
opts.host, opts.port, values.persona)
+ cumin.sasl_mech_list = values.sasl_mech_list
cumin.debug = opts.debug
cumin.user = values.user
cumin.update_interval = values.update_interval
Modified: trunk/cumin/etc/cumin.conf
===================================================================
--- trunk/cumin/etc/cumin.conf 2011-03-30 14:54:16 UTC (rev 4673)
+++ trunk/cumin/etc/cumin.conf 2011-03-30 15:56:10 UTC (rev 4674)
@@ -1,8 +1,15 @@
# Fields in comments reflect the default values.
# Explanatory comments for some options are included
# at the end of the file.
-# All sections except master inherit from [common]
+# If a configuration section does not set a value for
+# a particular parameter, the parameter is searched for
+# in the [common] section. This allows values to be set
+# globally and then optionally overridden per section.
+# For example, to set the 'persona' value to grid for every
+# web section in the file, you may add 'persona: grid'
+# to the common section.
+
[common]
# database: dbname=cumin user=cumin host=localhost
# brokers: localhost:5672
Modified: trunk/cumin/python/cumin/config.py
===================================================================
--- trunk/cumin/python/cumin/config.py 2011-03-30 14:54:16 UTC (rev 4673)
+++ trunk/cumin/python/cumin/config.py 2011-03-30 15:56:10 UTC (rev 4674)
@@ -135,6 +135,10 @@
param = ConfigParameter(self, "brokers", str)
param.default = "amqp://localhost"
+ # Leave default set to None, which is equivalent to
+ # previous behavior
+ param = ConfigParameter(self, "sasl-mech-list", str)
+
self.log_file = ConfigParameter(self, "log-file", str)
param = ConfigParameter(self, "log-level", str)
Modified: trunk/cumin/python/cumin/main.py
===================================================================
--- trunk/cumin/python/cumin/main.py 2011-03-30 14:54:16 UTC (rev 4673)
+++ trunk/cumin/python/cumin/main.py 2011-03-30 15:56:10 UTC (rev 4674)
@@ -43,7 +43,6 @@
self.server = CuminServer(self, host, port)
self.admin = CuminAdmin(self)
-
self.add_resource_dir(os.path.join(self.home, "resources-wooly"))
self.add_resource_dir(os.path.join(self.home, "resources"))
@@ -71,6 +70,10 @@
# self.model.sql_logging_enabled = True
+ # Space separated list of sasl authentication
+ # mechanisms, according to the sasl documentation
+ self.sasl_mech_list = None
+
def server_alive(self):
return self.server.server_alive()
@@ -174,6 +177,9 @@
def start(self):
log.info("Starting %s", self)
+ # Late binding. sasl_mech_list is not needed until
+ # session is started.
+ self.session.sasl_mech_list = self.sasl_mech_list
self.session.start()
self.server.start()
Modified: trunk/cumin/python/cumin/session.py
===================================================================
--- trunk/cumin/python/cumin/session.py 2011-03-30 14:54:16 UTC (rev 4673)
+++ trunk/cumin/python/cumin/session.py 2011-03-30 15:56:10 UTC (rev 4674)
@@ -11,6 +11,7 @@
def __init__(self, app, broker_uris):
self.app = app
self.broker_uris = broker_uris
+ self.sasl_mech_list = None
self.qmf_session = None
self.qmf_brokers = list()
@@ -26,7 +27,7 @@
assert self.qmf_session
- qmf_broker = self.qmf_session.addBroker(uri)
+ qmf_broker = self.qmf_session.addBroker(uri,mechanisms=self.sasl_mech_list)
self.qmf_brokers.append(qmf_broker)
Modified: trunk/mint/python/mint/main.py
===================================================================
--- trunk/mint/python/mint/main.py 2011-03-30 14:54:16 UTC (rev 4673)
+++ trunk/mint/python/mint/main.py 2011-03-30 15:56:10 UTC (rev 4674)
@@ -27,6 +27,10 @@
self.print_event_level = 0
+ # Space separated list of sasl authentication
+ # mechanisms, according to the sasl documentation
+ self.sasl_mech_list = None
+
def check(self):
log.info("Checking %s", self)
@@ -56,6 +60,9 @@
self.update_thread.start()
+ # Late binding. sasl_mech_list is not needed until
+ # session is started.
+ self.session.sasl_mech_list = self.sasl_mech_list
self.session.start()
if self.expire_enabled:
Modified: trunk/mint/python/mint/session.py
===================================================================
--- trunk/mint/python/mint/session.py 2011-03-30 14:54:16 UTC (rev 4673)
+++ trunk/mint/python/mint/session.py 2011-03-30 15:56:10 UTC (rev 4674)
@@ -9,6 +9,7 @@
def __init__(self, app, broker_uris):
self.app = app
self.broker_uris = broker_uris
+ self.sasl_mech_list = None
self.qmf_session = None
self.qmf_brokers = list()
@@ -22,7 +23,7 @@
assert self.qmf_session
- qmf_broker = self.qmf_session.addBroker(uri)
+ qmf_broker = self.qmf_session.addBroker(uri, mechanisms=self.sasl_mech_list)
self.qmf_brokers.append(qmf_broker)
def check(self):