diff options
Diffstat (limited to 'src/parabola_hackers/nslcd_backend/hackers.go')
-rw-r--r-- | src/parabola_hackers/nslcd_backend/hackers.go | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/parabola_hackers/nslcd_backend/hackers.go b/src/parabola_hackers/nslcd_backend/hackers.go index f7d56e3..bb03862 100644 --- a/src/parabola_hackers/nslcd_backend/hackers.go +++ b/src/parabola_hackers/nslcd_backend/hackers.go @@ -82,14 +82,19 @@ func (o *Hackers) Reload() error { return err } + passwords, err := parabola_hackers.LoadAllPasswords() + if err != nil { + return err + } + o.groups = make(map[string]map[string]bool) for uid, user := range o.users { user.Passwd.GID = usersGid - var _err error - user.Passwd.PwHash, _err = parabola_hackers.LoadUserPassword(user.Passwd.HomeDir + "/.password") - if _err != nil { - logger.Debug("hackers.git: Ignoring password: %v", _err) + hash, hasHash := passwords[user.Passwd.Name] + if !hasHash { + hash = "!" } + user.Passwd.PwHash = hash o.users[uid] = user for _, groupname := range user.Groups { o.add_user_to_group(user.Passwd.Name, groupname) |