summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/Plugins/Svn.py
diff options
context:
space:
mode:
authorJason Kincl <kincljc@ornl.gov>2013-06-13 18:50:24 -0400
committerJason Kincl <kincljc@ornl.gov>2013-06-17 10:14:56 -0400
commitc058c61d3358b2def1bb67ec18bfe632b0543751 (patch)
treeb0e84b59f5af76f6f2ca040da6c56f70738a34c0 /src/lib/Bcfg2/Server/Plugins/Svn.py
parent3182474429ae251603e46f6ac32e46cde87e92ac (diff)
downloadbcfg2-c058c61d3358b2def1bb67ec18bfe632b0543751.tar.gz
bcfg2-c058c61d3358b2def1bb67ec18bfe632b0543751.tar.bz2
bcfg2-c058c61d3358b2def1bb67ec18bfe632b0543751.zip
Svn: Adding config options for specifying a user and password for subversion and to trust server SSL certificates
Diffstat (limited to 'src/lib/Bcfg2/Server/Plugins/Svn.py')
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Svn.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Svn.py b/src/lib/Bcfg2/Server/Plugins/Svn.py
index 51f44c52d..b7f4fec57 100644
--- a/src/lib/Bcfg2/Server/Plugins/Svn.py
+++ b/src/lib/Bcfg2/Server/Plugins/Svn.py
@@ -59,9 +59,37 @@ class Svn(Bcfg2.Server.Plugin.Version):
self.client.callback_conflict_resolver = \
self.get_conflict_resolver(choice)
+ try:
+ if self.core.setup.cfp.get(
+ "svn",
+ "always_trust").lower() == "true":
+ self.logger.info("Svn: Trust subversion SSL certificate")
+ self.client.callback_ssl_server_trust_prompt = \
+ self.ssl_server_trust_prompt
+ except:
+ pass
+
+ try:
+ if self.core.setup.cfp.get("svn", "user") and \
+ self.core.setup.cfp.get("svn", "password"):
+ self.logger.info("Svn: Using user and password")
+ self.client.callback_get_login = \
+ self.get_login
+ except:
+ pass
+
self.logger.debug("Svn: Initialized svn plugin with SVN directory %s" %
self.vcs_path)
+ def get_login(self, realm, username, may_save):
+ return True, \
+ self.core.setup.cfp.get("svn", "user"), \
+ self.core.setup.cfp.get("svn", "password"), \
+ False
+
+ def ssl_server_trust_prompt(self, trust_dict):
+ return True, trust_dict['failures'], False
+
def get_conflict_resolver(self, choice):
""" Get a PySvn conflict resolution callback """
def callback(conflict_description):