summaryrefslogtreecommitdiff
path: root/go/parabola_hackers/nslcd_backend/db_group.go
diff options
context:
space:
mode:
Diffstat (limited to 'go/parabola_hackers/nslcd_backend/db_group.go')
-rw-r--r--go/parabola_hackers/nslcd_backend/db_group.go35
1 files changed, 22 insertions, 13 deletions
diff --git a/go/parabola_hackers/nslcd_backend/db_group.go b/go/parabola_hackers/nslcd_backend/db_group.go
index 18e54b1..caced21 100644
--- a/go/parabola_hackers/nslcd_backend/db_group.go
+++ b/go/parabola_hackers/nslcd_backend/db_group.go
@@ -17,12 +17,21 @@
package hackers_nslcd_backend
import (
- "parabola_hackers"
s "syscall"
p "lukeshu.com/git/go/libnslcd.git/proto"
)
+func set2list(set map[string]bool) []p.String {
+ list := make([]p.String, len(set))
+ i := uint(0)
+ for item, _ := range set {
+ list[i] = p.String(item)
+ i++
+ }
+ return list
+}
+
func (o *Hackers) groupByName(name string, users bool) p.Group {
members_set, found := o.groups[name]
if !found {
@@ -32,15 +41,15 @@ func (o *Hackers) groupByName(name string, users bool) p.Group {
if gid < 0 {
return p.Group{ID: -1}
}
- var members_list []string
+ var members_list []p.String
if users {
- members_list = parabola_hackers.Set2list(members_set)
+ members_list = set2list(members_set)
} else {
- members_list = make([]string, 0)
+ members_list = make([]p.String, 0)
}
return p.Group{
- Name: name,
- PwHash: "x",
+ Name: p.String(name),
+ PwHash: p.String("x"),
ID: gid,
Members: members_list,
}
@@ -55,15 +64,15 @@ func (o *Hackers) groupByGid(gid int32, users bool) p.Group {
if !found {
return p.Group{ID: -1}
}
- var members_list []string
+ var members_list []p.String
if users {
- members_list = parabola_hackers.Set2list(members_set)
+ members_list = set2list(members_set)
} else {
- members_list = make([]string, 0)
+ members_list = make([]p.String, 0)
}
return p.Group{
- Name: name,
- PwHash: "x",
+ Name: p.String(name),
+ PwHash: p.String("x"),
ID: gid,
Members: members_list,
}
@@ -76,7 +85,7 @@ func (o *Hackers) Group_ByName(cred s.Ucred, req p.Request_Group_ByName) <-chan
defer o.lock.RUnlock()
defer close(ret)
- group := o.groupByName(req.Name, true)
+ group := o.groupByName(string(req.Name), true)
if group.ID < 0 {
return
}
@@ -109,7 +118,7 @@ func (o *Hackers) Group_ByMember(cred s.Ucred, req p.Request_Group_ByMember) <-c
defer o.lock.RUnlock()
defer close(ret)
- uid := o.name2uid(req.Member)
+ uid := o.name2uid(string(req.Member))
if uid < 0 {
return
}