diff options
author | Jan Cholasta <jcholast@redhat.com> | 2014-06-12 13:39:39 +0200 |
---|---|---|
committer | Petr Viktorin <pviktori@redhat.com> | 2014-07-30 16:04:21 +0200 |
commit | eaebefe5f6e4374063b8afc389b18acd1616609b (patch) | |
tree | b614389aada468a00dcb23c08b6a5c762f81eed1 /ipalib | |
parent | 459d6cff4efc529f2a9031e817c80a0377bf19a4 (diff) | |
download | freeipa-eaebefe5f6e4374063b8afc389b18acd1616609b.tar.gz freeipa-eaebefe5f6e4374063b8afc389b18acd1616609b.tar.xz freeipa-eaebefe5f6e4374063b8afc389b18acd1616609b.zip |
Allow overriding NSS database path in RPCClient.
Part of https://fedorahosted.org/freeipa/ticket/3259
Part of https://fedorahosted.org/freeipa/ticket/3520
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
Diffstat (limited to 'ipalib')
-rw-r--r-- | ipalib/rpc.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/ipalib/rpc.py b/ipalib/rpc.py index 9df22219e..1bfc4c3d3 100644 --- a/ipalib/rpc.py +++ b/ipalib/rpc.py @@ -483,7 +483,7 @@ class SSLTransport(LanguageAwareTransport): if self._connection and host == self._connection[0]: return self._connection[1] - dbdir = paths.NSS_DB_DIR + dbdir = getattr(context, 'nss_dir', paths.NSS_DB_DIR) no_init = self.__nss_initialized(dbdir) if sys.version_info < (2, 7): conn = NSSHTTPS(host, 443, dbdir=dbdir, no_init=no_init) @@ -762,7 +762,7 @@ class RPCClient(Connectible): return session_url def create_connection(self, ccache=None, verbose=False, fallback=True, - delegate=False): + delegate=False, nss_dir=None): try: rpc_uri = self.env[self.env_rpc_uri_key] principal = get_current_principal() @@ -774,6 +774,9 @@ class RPCClient(Connectible): except ValueError: # No session key, do full Kerberos auth pass + # This might be dangerous. Use at your own risk! + if nss_dir: + context.nss_dir = nss_dir urls = self.get_url_list(rpc_uri) serverproxy = None for url in urls: |