|
|
|
@ -13,8 +13,8 @@ func (server *Server) memberOfAdd(member string, group string) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Return early if group is already in memberOf
|
|
|
|
|
for _, mb := range memberGroups { |
|
|
|
|
if mb == group { |
|
|
|
|
for _, g := range memberGroups { |
|
|
|
|
if g == group { |
|
|
|
|
server.logger.Warnf("Inconsistency detected, %s was memberOf %s at a time when it didn't exist! (not an issue anymore)", |
|
|
|
|
member, group) |
|
|
|
|
return |
|
|
|
@ -23,7 +23,7 @@ func (server *Server) memberOfAdd(member string, group string) { |
|
|
|
|
|
|
|
|
|
// Add group to memberOf
|
|
|
|
|
memberGroups = append(memberGroups, group) |
|
|
|
|
err = server.addElements(member, Entry{ |
|
|
|
|
err = server.putAttributes(member, Entry{ |
|
|
|
|
ATTR_MEMBEROF: memberGroups, |
|
|
|
|
}) |
|
|
|
|
if err != nil { |
|
|
|
@ -41,9 +41,9 @@ func (server *Server) memberOfRemove(member string, group string) { |
|
|
|
|
|
|
|
|
|
// Filter out group
|
|
|
|
|
newMemberOf := []string{} |
|
|
|
|
for _, mb := range memberOf { |
|
|
|
|
if mb != group { |
|
|
|
|
newMemberOf = append(newMemberOf, mb) |
|
|
|
|
for _, g := range memberOf { |
|
|
|
|
if g != group { |
|
|
|
|
newMemberOf = append(newMemberOf, g) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -55,7 +55,7 @@ func (server *Server) memberOfRemove(member string, group string) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Update value of memberOf
|
|
|
|
|
err = server.addElements(member, Entry{ |
|
|
|
|
err = server.putAttributes(member, Entry{ |
|
|
|
|
ATTR_MEMBEROF: newMemberOf, |
|
|
|
|
}) |
|
|
|
|
if err != nil { |
|
|
|
@ -105,7 +105,7 @@ func (server *Server) memberOfResync() error { |
|
|
|
|
} |
|
|
|
|
if len(keepMember) != len(member) { |
|
|
|
|
server.logger.Warnf("Writing new member list for %s", dn) |
|
|
|
|
err = server.addElements(dn, Entry{ |
|
|
|
|
err = server.putAttributes(dn, Entry{ |
|
|
|
|
ATTR_MEMBER: keepMember, |
|
|
|
|
}) |
|
|
|
|
if err != nil { |
|
|
|
@ -134,7 +134,7 @@ func (server *Server) memberOfResync() error { |
|
|
|
|
if different { |
|
|
|
|
server.logger.Warnf("Fixing memberOf for %s (%d -> %d)", |
|
|
|
|
dn, len(prevMemberOf), len(newMemberOfV)) |
|
|
|
|
err = server.addElements(dn, Entry{ |
|
|
|
|
err = server.putAttributes(dn, Entry{ |
|
|
|
|
ATTR_MEMBEROF: newMemberOfV, |
|
|
|
|
}) |
|
|
|
|
if err != nil { |
|
|
|
|