From 95c195baf42e8a74680a74acdc20c00bab7660eb Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sat, 18 Jun 2016 06:19:16 -0400 Subject: go back to using plain strings --- go/parabola_hackers/nslcd_backend/db_pam.go | 40 ++++++++++++++--------------- 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'go/parabola_hackers/nslcd_backend/db_pam.go') diff --git a/go/parabola_hackers/nslcd_backend/db_pam.go b/go/parabola_hackers/nslcd_backend/db_pam.go index a0c390f..f770cc1 100644 --- a/go/parabola_hackers/nslcd_backend/db_pam.go +++ b/go/parabola_hackers/nslcd_backend/db_pam.go @@ -27,12 +27,12 @@ import ( "lukeshu.com/git/go/libsystemd.git/sd_daemon/logger" ) -func checkPassword(password p.String, hash p.String) bool { - return crypt.Crypt(string(password), string(hash)) == string(hash) +func checkPassword(password string, hash string) bool { + return crypt.Crypt(password, hash) == hash } -func hashPassword(newPassword p.String, oldHash p.String) p.String { - salt := string(oldHash) +func hashPassword(newPassword string, oldHash string) string { + salt := oldHash if salt == "!" { str, err := parabola_hackers.RandomString(crypt.SaltAlphabet, 8) if err != nil { @@ -41,7 +41,7 @@ func hashPassword(newPassword p.String, oldHash p.String) p.String { } salt = "$6$" + str + "$" } - return p.String(crypt.Crypt(string(newPassword), salt)) + return crypt.Crypt(newPassword, salt) } func dirExists(path string) bool { @@ -62,14 +62,14 @@ func (o *Hackers) PAM_Authentication(cred s.Ucred, req p.Request_PAM_Authenticat if len(req.UserName) == 0 && len(req.Password) == 0 && cred.Uid == 0 { ret <- p.PAM_Authentication{ AuthenticationResult: p.NSLCD_PAM_SUCCESS, - UserName: p.String(""), + UserName: "", AuthorizationResult: p.NSLCD_PAM_SUCCESS, - AuthorizationError: p.String(""), + AuthorizationError: "", } return } - uid := o.name2uid(string(req.UserName)) + uid := o.name2uid(req.UserName) if uid < 0 { return } @@ -77,9 +77,9 @@ func (o *Hackers) PAM_Authentication(cred s.Ucred, req p.Request_PAM_Authenticat user := o.users[uid] obj := p.PAM_Authentication{ AuthenticationResult: p.NSLCD_PAM_AUTH_ERR, - UserName: p.String(""), + UserName: "", AuthorizationResult: p.NSLCD_PAM_AUTH_ERR, - AuthorizationError: p.String(""), + AuthorizationError: "", } if checkPassword(req.Password, user.Passwd.PwHash) { obj.AuthenticationResult = p.NSLCD_PAM_SUCCESS @@ -98,13 +98,13 @@ func (o *Hackers) PAM_Authorization(cred s.Ucred, req p.Request_PAM_Authorizatio defer o.lock.RUnlock() defer close(ret) - uid := o.name2uid(string(req.UserName)) + uid := o.name2uid(req.UserName) if uid < 0 { return } ret <- p.PAM_Authorization{ Result: p.NSLCD_PAM_SUCCESS, - Error: p.String(""), + Error: "", } }() return ret @@ -121,7 +121,7 @@ func (o *Hackers) PAM_SessionOpen(cred s.Ucred, req p.Request_PAM_SessionOpen) < if err != nil { return } - ret <- p.PAM_SessionOpen{SessionID: p.String(sessionid)} + ret <- p.PAM_SessionOpen{SessionID: sessionid} }() return ret } @@ -139,7 +139,7 @@ func (o *Hackers) PAM_PwMod(cred s.Ucred, req p.Request_PAM_PwMod) <-chan p.PAM_ defer close(ret) defer o.lock.Unlock() - uid := o.name2uid(string(req.UserName)) + uid := o.name2uid(req.UserName) if uid < 0 { return } @@ -152,13 +152,13 @@ func (o *Hackers) PAM_PwMod(cred s.Ucred, req p.Request_PAM_PwMod) <-chan p.PAM_ // special hack: if the old password is not // set, but the home directory exists, let the // user set their password - if string(user.Passwd.PwHash) == "!" && dirExists(string(user.Passwd.HomeDir)) { + if user.Passwd.PwHash == "!" && dirExists(user.Passwd.HomeDir) { goto update } if !checkPassword(req.OldPassword, user.Passwd.PwHash) { ret <- p.PAM_PwMod{ Result: p.NSLCD_PAM_PERM_DENIED, - Error: p.String(fmt.Sprintf("password change failed: %s", "Old password did not match")), + Error: fmt.Sprintf("password change failed: %s", "Old password did not match"), } return } @@ -166,7 +166,7 @@ func (o *Hackers) PAM_PwMod(cred s.Ucred, req p.Request_PAM_PwMod) <-chan p.PAM_ if len(req.NewPassword) == 0 { ret <- p.PAM_PwMod{ Result: p.NSLCD_PAM_PERM_DENIED, - Error: p.String("password cannot be empty"), + Error: "password cannot be empty", } return } @@ -181,9 +181,9 @@ func (o *Hackers) PAM_PwMod(cred s.Ucred, req p.Request_PAM_PwMod) <-chan p.PAM_ // Update the PwHash on disk passwords := make(map[string]string, len(o.users)) for _, ouser := range o.users { - passwords[string(ouser.Passwd.Name)] = string(ouser.Passwd.PwHash) + passwords[ouser.Passwd.Name] = ouser.Passwd.PwHash } - passwords[string(user.Passwd.Name)] = string(user.Passwd.PwHash) + passwords[user.Passwd.Name] = user.Passwd.PwHash err := parabola_hackers.SaveAllPasswords(passwords) if err != nil { logger.Err("Writing passwords to disk: %v", err) @@ -194,7 +194,7 @@ func (o *Hackers) PAM_PwMod(cred s.Ucred, req p.Request_PAM_PwMod) <-chan p.PAM_ o.users[uid] = user ret <- p.PAM_PwMod{ Result: p.NSLCD_PAM_SUCCESS, - Error: p.String(""), + Error: "", } }() return ret -- cgit v1.2.3