server/sources/ldapuser.py
brancholdstable
changeset 6733 627a93027605
parent 6728 f68bd4c876d1
child 6750 ef513c03a224
equal deleted inserted replaced
6729:1a423eaee782 6733:627a93027605
   182         self.user_base_scope = globals()[source_config['user-scope']]
   182         self.user_base_scope = globals()[source_config['user-scope']]
   183         self.user_classes = splitstrip(source_config['user-classes'])
   183         self.user_classes = splitstrip(source_config['user-classes'])
   184         self.user_login_attr = source_config['user-login-attr']
   184         self.user_login_attr = source_config['user-login-attr']
   185         self.user_default_groups = splitstrip(source_config['user-default-group'])
   185         self.user_default_groups = splitstrip(source_config['user-default-group'])
   186         self.user_attrs = dict(v.split(':', 1) for v in splitstrip(source_config['user-attrs-map']))
   186         self.user_attrs = dict(v.split(':', 1) for v in splitstrip(source_config['user-attrs-map']))
   187         self.user_filter = source_config['user-filter']
   187         self.user_filter = source_config.get('user-filter')
   188         self.user_rev_attrs = {'eid': 'dn'}
   188         self.user_rev_attrs = {'eid': 'dn'}
   189         for ldapattr, cwattr in self.user_attrs.items():
   189         for ldapattr, cwattr in self.user_attrs.items():
   190             self.user_rev_attrs[cwattr] = ldapattr
   190             self.user_rev_attrs[cwattr] = ldapattr
   191         self.base_filters = self._make_base_filters()
   191         self.base_filters = self._make_base_filters()
   192         self._conn = None
   192         self._conn = None
   200         self._interval = time_validator(None, None,
   200         self._interval = time_validator(None, None,
   201                                     source_config.get('synchronization-interval',
   201                                     source_config.get('synchronization-interval',
   202                                                       24*60*60))
   202                                                       24*60*60))
   203 
   203 
   204     def _make_base_filters(self):
   204     def _make_base_filters(self):
   205         return [filter_format('(%s=%s)', ('objectClass', o))
   205         filters =  [filter_format('(%s=%s)', ('objectClass', o))
   206                               for o in self.user_classes] + [self.user_filter]
   206                               for o in self.user_classes] 
       
   207         if self.user_filter:
       
   208             filters += [self.user_filter]
       
   209         return filters
   207 
   210 
   208     def reset_caches(self):
   211     def reset_caches(self):
   209         """method called during test to reset potential source caches"""
   212         """method called during test to reset potential source caches"""
   210         self._cache = {}
   213         self._cache = {}
   211         self._query_cache = TimedCache(self._cache_ttl)
   214         self._query_cache = TimedCache(self._cache_ttl)