diff options
author | Luke Shumaker <lukeshu@sbcglobal.net> | 2016-06-17 14:35:35 -0400 |
---|---|---|
committer | Luke Shumaker <lukeshu@sbcglobal.net> | 2016-06-17 14:35:35 -0400 |
commit | 0e0907734c12eb0b70659be15ffd8c161402e6db (patch) | |
tree | 220fb5efa58a6ad3539c5d7fcc53c5c66fa29ee6 /src/parabola_hackers/nslcd_backend/hackers.go | |
parent | c191af11616a3306b8e0a3650b6972eb61d2aba1 (diff) |
move things src/parabola_hackers{/nslcd_backend,}
Diffstat (limited to 'src/parabola_hackers/nslcd_backend/hackers.go')
-rw-r--r-- | src/parabola_hackers/nslcd_backend/hackers.go | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/parabola_hackers/nslcd_backend/hackers.go b/src/parabola_hackers/nslcd_backend/hackers.go index 66312c6..50d392b 100644 --- a/src/parabola_hackers/nslcd_backend/hackers.go +++ b/src/parabola_hackers/nslcd_backend/hackers.go @@ -19,18 +19,13 @@ package hackers_nslcd_backend import ( - "lukeshu.com/git/go/libnslcd.git/proto" "lukeshu.com/git/go/libnslcd.git/proto/server" "lukeshu.com/git/go/libnslcd.git/systemd" "lukeshu.com/git/go/libsystemd.git/sd_daemon/logger" + "parabola_hackers" "sync" ) -type user struct { - passwd nslcd_proto.Passwd - groups []string -} - type config struct { Pam_password_prohibit_message string } @@ -40,10 +35,9 @@ type Hackers struct { lock sync.RWMutex CfgFilename string - YamlCat string cfg config - users map[int32]user + users map[int32]parabola_hackers.User groups map[string]map[string]bool } @@ -52,7 +46,6 @@ var _ nslcd_server.Backend = &Hackers{} func (o *Hackers) Init() error { logger.Debug("hackers.git: CfgFilename = %v", o.CfgFilename) - logger.Debug("hackers.git: YamlCat = %v", o.YamlCat) err := o.Reload() if err != nil { logger.Err("hackers.git: Could not initialize: %v", err) @@ -66,7 +59,7 @@ func (o *Hackers) Close() { o.lock.Lock() defer o.lock.Unlock() - o.users = make(map[int32]user, 0) + o.users = make(map[int32]parabola_hackers.User, 0) o.groups = make(map[string]map[string]bool) } @@ -83,15 +76,22 @@ func (o *Hackers) Reload() error { logger.Info("hackers.git: pam_password_prohibit_message: %#v", o.cfg.Pam_password_prohibit_message) logger.Debug("hackers.git: Parsing user data") - o.users, err = parse_users(o.YamlCat) + o.users, err = parabola_hackers.LoadAllUsers() if err != nil { return err } o.groups = make(map[string]map[string]bool) - for _, user := range o.users { - for _, groupname := range user.groups { - o.add_user_to_group(user.passwd.Name, groupname) + 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) + } + o.users[uid] = user + for _, groupname := range user.Groups { + o.add_user_to_group(user.Passwd.Name, groupname) } } return nil @@ -99,7 +99,7 @@ func (o *Hackers) Reload() error { func (o *Hackers) name2uid(name string) int32 { for uid, data := range o.users { - if data.passwd.Name == name { + if data.Passwd.Name == name { return uid } } |