package hackers_git import p "nslcd_proto" func (o *Hackers) Shadow_ByName(cred p.Ucred, req p.Request_Shadow_ByName) <-chan p.Shadow { o.lock.RLock() ret := make(chan p.Shadow) go func() { defer o.lock.RUnlock() defer close(ret) if cred.Uid != 0 { return } uid := o.name2uid(req.Name) user := o.users[uid] ret <- p.Shadow{ Name: user.passwd.Name, PwHash: user.passwd.PwHash, LastChangeDate: -1, MinDays: -1, MaxDays: -1, WarnDays: -1, InactDays: -1, ExpireDate: -1, Flag: -1, } }() return ret } func (o *Hackers) Shadow_All(cred p.Ucred, req p.Request_Shadow_All) <-chan p.Shadow { o.lock.RLock() ret := make(chan p.Shadow) go func() { defer o.lock.RUnlock() defer close(ret) if cred.Uid != 0 { return } for _, user := range o.users { ret <- p.Shadow{ Name: user.passwd.Name, PwHash: user.passwd.PwHash, LastChangeDate: -1, MinDays: -1, MaxDays: -1, WarnDays: -1, InactDays: -1, ExpireDate: -1, Flag: -1, } } }() return ret }