summaryrefslogtreecommitdiff
path: root/src/parabola_hackers/nslcd_backend/db_pam.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/parabola_hackers/nslcd_backend/db_pam.go')
-rw-r--r--src/parabola_hackers/nslcd_backend/db_pam.go21
1 files changed, 7 insertions, 14 deletions
diff --git a/src/parabola_hackers/nslcd_backend/db_pam.go b/src/parabola_hackers/nslcd_backend/db_pam.go
index 6b2a7c7..19d4c79 100644
--- a/src/parabola_hackers/nslcd_backend/db_pam.go
+++ b/src/parabola_hackers/nslcd_backend/db_pam.go
@@ -17,9 +17,8 @@
package hackers_nslcd_backend
import (
- "crypto/rand"
p "lukeshu.com/git/go/libnslcd.git/proto"
- "math/big"
+ "parabola_hackers"
s "syscall"
)
@@ -42,10 +41,10 @@ func (o *Hackers) PAM_Authentication(cred s.Ucred, req p.Request_PAM_Authenticat
AuthorizationResult: p.NSLCD_PAM_AUTH_ERR,
AuthorizationError: "",
}
- if check_password(req.Password, user.passwd.PwHash) {
+ if check_password(req.Password, user.Passwd.PwHash) {
obj.AuthenticationResult = p.NSLCD_PAM_SUCCESS
obj.AuthorizationResult = obj.AuthenticationResult
- obj.UserName = user.passwd.Name
+ obj.UserName = user.Passwd.Name
}
ret <- obj
}()
@@ -73,22 +72,16 @@ func (o *Hackers) PAM_Authorization(cred s.Ucred, req p.Request_PAM_Authorizatio
const alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
-var alphabet_len = big.NewInt(int64(len(alphabet)))
-
func (o *Hackers) PAM_SessionOpen(cred s.Ucred, req p.Request_PAM_SessionOpen) <-chan p.PAM_SessionOpen {
ret := make(chan p.PAM_SessionOpen)
go func() {
defer close(ret)
- var sessionid [24]byte
- for i := 0; i < len(sessionid); i++ {
- bigint, err := rand.Int(rand.Reader, alphabet_len)
- if err != nil {
- return
- }
- sessionid[i] = alphabet[bigint.Int64()]
+ sessionid, err := parabola_hackers.RandomString(alphabet, 24)
+ if err != nil {
+ return
}
- ret <- p.PAM_SessionOpen{SessionID: string(sessionid[:])}
+ ret <- p.PAM_SessionOpen{SessionID: sessionid}
}()
return ret
}