diff options
author | Alex Auvolat <alex@adnab.me> | 2020-02-11 23:20:33 +0100 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2020-02-11 23:20:33 +0100 |
commit | e52a1f74a38cad3df083885aa8860a870a131cdb (patch) | |
tree | 7d8c3c52a71d12472a1684814ede04ea86681455 /read.go | |
parent | 9e365d4b538da5f206b5f564f1912c1de26adf10 (diff) | |
download | bottin-e52a1f74a38cad3df083885aa8860a870a131cdb.tar.gz bottin-e52a1f74a38cad3df083885aa8860a870a131cdb.zip |
Handle search attribute *
Diffstat (limited to 'read.go')
-rw-r--r-- | read.go | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -124,7 +124,7 @@ func (server *Server) handleSearchInternal(state *State, w ldap.ResponseWriter, } } else if r.Scope() == message.SearchRequestSingleLevel { objectLevel := len(strings.Split(dn, ",")) - if objectLevel != baseObjectLevel + 1 { + if objectLevel != baseObjectLevel+1 { continue } } @@ -148,7 +148,10 @@ func (server *Server) handleSearchInternal(state *State, w ldap.ResponseWriter, if len(r.Attributes()) > 0 { found := false for _, requested := range r.Attributes() { - if strings.EqualFold(string(requested), attr) { + if string(requested) == "1.1" && len(r.Attributes()) == 1 { + break + } + if string(requested) == "*" || strings.EqualFold(string(requested), attr) { found = true break } |