summaryrefslogtreecommitdiffstats
path: root/ipapython/secrets/common.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipapython/secrets/common.py')
-rw-r--r--ipapython/secrets/common.py45
1 files changed, 0 insertions, 45 deletions
diff --git a/ipapython/secrets/common.py b/ipapython/secrets/common.py
deleted file mode 100644
index 2b906b649..000000000
--- a/ipapython/secrets/common.py
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright (C) 2015 IPA Project Contributors, see COPYING for license
-from __future__ import print_function
-import ldap
-import ldap.sasl
-import ldap.filter
-
-
-class iSecLdap(object):
-
- def __init__(self, uri, auth_type=None):
- self.uri = uri
- if auth_type is not None:
- self.auth_type = auth_type
- else:
- if uri.startswith('ldapi'):
- self.auth_type = 'EXTERNAL'
- else:
- self.auth_type = 'GSSAPI'
- self._basedn = None
-
- @property
- def basedn(self):
- if self._basedn is None:
- conn = self.connect()
- r = conn.search_s('', ldap.SCOPE_BASE)
- self._basedn = r[0][1]['defaultnamingcontext'][0]
- return self._basedn
-
- def connect(self):
- conn = ldap.initialize(self.uri)
- if self.auth_type == 'EXTERNAL':
- auth_tokens = ldap.sasl.external(None)
- elif self.auth_type == 'GSSAPI':
- auth_tokens = ldap.sasl.sasl({}, 'GSSAPI')
- else:
- raise ValueError(
- 'Invalid authentication type: %s' % self.auth_type)
- conn.sasl_interactive_bind_s('', auth_tokens)
- return conn
-
- def build_filter(self, formatstr, args):
- escaped_args = dict()
- for key, value in args.iteritems():
- escaped_args[key] = ldap.filter.escape_filter_chars(value)
- return formatstr.format(**escaped_args)