diff -r 26695dd703d8 -r 972ed1843bd8 server/sources/ldapuser.py --- a/server/sources/ldapuser.py Thu May 19 10:53:11 2011 +0200 +++ b/server/sources/ldapuser.py Thu May 19 10:53:17 2011 +0200 @@ -310,7 +310,11 @@ except Exception: self.error('while trying to authenticate %s', user, exc_info=True) raise AuthenticationError() - return self.extid2eid(user['dn'], 'CWUser', session) + eid = self.extid2eid(user['dn'], 'CWUser', session) + if eid < 0: + # user has been moved away from this source + raise AuthenticationError() + return eid def ldap_name(self, var): if var.stinfo['relations']: @@ -392,7 +396,7 @@ break assert mainvars, rqlst columns, globtransforms = self.prepare_columns(mainvars, rqlst) - eidfilters = [] + eidfilters = [lambda x: x > 0] allresults = [] generator = RQL2LDAPFilter(self, session, args, mainvars) for mainvar in mainvars: