summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2014-10-15 16:25:12 +0200
committerAlexander Sulfrian <alexander@sulfrian.net>2014-10-15 17:05:26 +0200
commit1aeff29bfb5fb35c075c310e0af235ccf286fc48 (patch)
treee2d1edd5bae370a2a5a91abff8bfa2c2250e38f8 /src/lib/Bcfg2
parent45e07c7714116b7b88c40a55728be0c0b3c8a0fb (diff)
downloadbcfg2-1aeff29bfb5fb35c075c310e0af235ccf286fc48.tar.gz
bcfg2-1aeff29bfb5fb35c075c310e0af235ccf286fc48.tar.bz2
bcfg2-1aeff29bfb5fb35c075c310e0af235ccf286fc48.zip
Options: add missing communication:protocol options
The option was there in bcfg2-1.3.x and is still documented (maybe it just got lost during the options rewrite).
Diffstat (limited to 'src/lib/Bcfg2')
-rw-r--r--src/lib/Bcfg2/Client/Proxy.py11
-rw-r--r--src/lib/Bcfg2/Options/Common.py6
-rw-r--r--src/lib/Bcfg2/Server/BuiltinCore.py3
-rw-r--r--src/lib/Bcfg2/Server/Core.py1
4 files changed, 17 insertions, 4 deletions
diff --git a/src/lib/Bcfg2/Client/Proxy.py b/src/lib/Bcfg2/Client/Proxy.py
index 0cc479843..5c00634f6 100644
--- a/src/lib/Bcfg2/Client/Proxy.py
+++ b/src/lib/Bcfg2/Client/Proxy.py
@@ -232,7 +232,8 @@ class SSLHTTPConnection(httplib.HTTPConnection):
class XMLRPCTransport(xmlrpclib.Transport):
def __init__(self, key=None, cert=None, ca=None,
- scns=None, use_datetime=0, timeout=90):
+ scns=None, use_datetime=0, timeout=90,
+ protocol='xmlrpc/ssl'):
if hasattr(xmlrpclib.Transport, '__init__'):
xmlrpclib.Transport.__init__(self, use_datetime)
self.key = key
@@ -240,6 +241,7 @@ class XMLRPCTransport(xmlrpclib.Transport):
self.ca = ca
self.scns = scns
self.timeout = timeout
+ self.protocol = protocol
def make_connection(self, host):
host, self._extra_headers = self.get_host_info(host)[0:2]
@@ -248,7 +250,8 @@ class XMLRPCTransport(xmlrpclib.Transport):
cert=self.cert,
ca=self.ca,
scns=self.scns,
- timeout=self.timeout)
+ timeout=self.timeout,
+ protocol=self.protocol)
def request(self, host, handler, request_body, verbose=0):
"""Send request to server and return response."""
@@ -293,6 +296,7 @@ class ComponentProxy(xmlrpclib.ServerProxy):
options = [
Bcfg2.Options.Common.location, Bcfg2.Options.Common.ssl_ca,
Bcfg2.Options.Common.password, Bcfg2.Options.Common.client_timeout,
+ Bcfg2.Options.Common.protocol,
Bcfg2.Options.PathOption(
'--ssl-key', cf=('communication', 'key'), dest="key",
help='Path to SSL key'),
@@ -332,6 +336,7 @@ class ComponentProxy(xmlrpclib.ServerProxy):
Bcfg2.Options.setup.cert,
Bcfg2.Options.setup.ca,
Bcfg2.Options.setup.ssl_cns,
- Bcfg2.Options.setup.client_timeout)
+ Bcfg2.Options.setup.client_timeout,
+ Bcfg2.Options.setup.protocol)
xmlrpclib.ServerProxy.__init__(self, url,
allow_none=True, transport=ssl_trans)
diff --git a/src/lib/Bcfg2/Options/Common.py b/src/lib/Bcfg2/Options/Common.py
index 06e2d2914..a6ea136c3 100644
--- a/src/lib/Bcfg2/Options/Common.py
+++ b/src/lib/Bcfg2/Options/Common.py
@@ -111,6 +111,12 @@ class Common(object):
ssl_ca = PathOption(
cf=('communication', 'ca'), help='Path to SSL CA Cert')
+ #: Communication protocol
+ protocol = Option(
+ cf=('communication', 'protocol'), default='xmlrpc/ssl',
+ choices=['xmlrpc/ssl', 'xmlrpc/tlsv1'],
+ help='Communication protocol to use.')
+
#: Default Path paranoid setting
default_paranoid = Option(
cf=('mdata', 'paranoid'), dest="default_paranoid", default='true',
diff --git a/src/lib/Bcfg2/Server/BuiltinCore.py b/src/lib/Bcfg2/Server/BuiltinCore.py
index 0023e9313..769addf55 100644
--- a/src/lib/Bcfg2/Server/BuiltinCore.py
+++ b/src/lib/Bcfg2/Server/BuiltinCore.py
@@ -113,7 +113,8 @@ class BuiltinCore(NetworkCore):
keyfile=Bcfg2.Options.setup.key,
certfile=Bcfg2.Options.setup.cert,
register=False,
- ca=Bcfg2.Options.setup.ca)
+ ca=Bcfg2.Options.setup.ca,
+ protocol=Bcfg2.Options.setup.protocol)
except: # pylint: disable=W0702
err = sys.exc_info()[1]
self.logger.error("Server startup failed: %s" % err)
diff --git a/src/lib/Bcfg2/Server/Core.py b/src/lib/Bcfg2/Server/Core.py
index 8cb6eb11b..892f2832a 100644
--- a/src/lib/Bcfg2/Server/Core.py
+++ b/src/lib/Bcfg2/Server/Core.py
@@ -1371,6 +1371,7 @@ class NetworkCore(Core):
options = Core.options + [
Bcfg2.Options.Common.daemon, Bcfg2.Options.Common.syslog,
Bcfg2.Options.Common.location, Bcfg2.Options.Common.ssl_ca,
+ Bcfg2.Options.Common.protocol,
Bcfg2.Options.PathOption(
'--ssl-key', cf=('communication', 'key'), dest="key",
help='Path to SSL key',