From c058c61d3358b2def1bb67ec18bfe632b0543751 Mon Sep 17 00:00:00 2001 From: Jason Kincl Date: Thu, 13 Jun 2013 18:50:24 -0400 Subject: Svn: Adding config options for specifying a user and password for subversion and to trust server SSL certificates --- src/lib/Bcfg2/Server/Plugins/Svn.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) 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): -- cgit v1.2.3-1-g7c22