048467e97d
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
33 lines
549 B
Go
33 lines
549 B
Go
package ldap
|
|
|
|
import (
|
|
"net"
|
|
"time"
|
|
)
|
|
|
|
func (ls *LDAPServer) Close(boundDN string, conn net.Conn) error {
|
|
for _, p := range ls.providers {
|
|
p.delayDeleteUserInfo(boundDN)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (pi *ProviderInstance) delayDeleteUserInfo(dn string) {
|
|
ticker := time.NewTicker(30 * time.Second)
|
|
quit := make(chan struct{})
|
|
go func() {
|
|
for {
|
|
select {
|
|
case <-ticker.C:
|
|
pi.boundUsersMutex.Lock()
|
|
delete(pi.boundUsers, dn)
|
|
pi.boundUsersMutex.Unlock()
|
|
close(quit)
|
|
case <-quit:
|
|
ticker.Stop()
|
|
return
|
|
}
|
|
}
|
|
}()
|
|
}
|