That fixes the following behaviour: _INFO Connecting to LDAP server: ldaps://ldap3-us-west.apache.org:636 _INFO [ldap3-us-west.apache.org:636] ldapsearch -x -LLL -b ou=groups,dc=apache,dc=org -s one cn=* dn memberUid modifyTimestamp _INFO [ldap3-us-west.apache.org:636] ldapsearch -x -LLL -b ou=groups,dc=apache,dc=org -s one cn=db-site memberUid _INFO git_info: 220e49f 2016-02-04 11:45:57 +0000
The second search should not be necessary, but db-site is empty. On 4 February 2016 at 12:31, Sebastian Bazley <[email protected]> wrote: > Commit 90ca56009d45e64f4601ec46fb53de8571385bde: > Ensure consistent results if a group has no members > (We assume that the attribute exists) > > > Branch: refs/heads/master > Author: Sebb <[email protected]> > Committer: Sebb <[email protected]> > Pusher: sebb <[email protected]> > > ------------------------------------------------------------ > lib/whimsy/asf/ldap.rb | +++ --- > ------------------------------------------------------------ > 6 changes: 3 additions, 3 deletions. > ------------------------------------------------------------ > > > diff --git a/lib/whimsy/asf/ldap.rb b/lib/whimsy/asf/ldap.rb > index bf7f5ed..c9309ec 100644 > --- a/lib/whimsy/asf/ldap.rb > +++ b/lib/whimsy/asf/ldap.rb > @@ -393,8 +393,8 @@ def self.preload > cn = results['dn'].first[/^cn=(.*?),/, 1] > group = ASF::Group.find(cn) > group.modifyTimestamp = results['modifyTimestamp'].first # it is > returned as an array of 1 entry > - members = results['memberUid'] > - group.members = members || [] > + members = results['memberUid'] || [] > + group.members = members > [group, members] > end] > end > @@ -426,7 +426,7 @@ def self.preload > cn = results['dn'].first[/^cn=(.*?),/, 1] > committee = ASF::Committee.find(cn) > committee.modifyTimestamp = results['modifyTimestamp'].first # it is > returned as an array of 1 entry > - members = results['member'] > + members = results['member'] || [] > committee.members = members > [committee, members] > end]
