From 34cecd4762e364ade049c455997051ca55663b6f Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sat, 18 Jun 2016 02:08:59 -0400 Subject: update to use the mutable strings in nslcd_proto --- go/parabola_hackers/nslcd_backend/db_group.go | 35 +++++++++++++++++---------- 1 file changed, 22 insertions(+), 13 deletions(-) (limited to 'go/parabola_hackers/nslcd_backend/db_group.go') 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 } -- cgit v1.2.3