Skip to content

Commit cf1b293

Browse files
author
Sarah King
committed
Clean up packet error handling
1 parent 01788e2 commit cf1b293

File tree

7 files changed

+25
-24
lines changed

7 files changed

+25
-24
lines changed

bind.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,14 +61,14 @@ func (l *Conn) SimpleBind(simpleBindRequest *SimpleBindRequest) (*SimpleBindResu
6161
defer l.finishMessage(messageID)
6262

6363
packetResponse, ok := <-channel
64+
if !ok {
65+
return nil, NewError(ErrorNetwork, errors.New("ldap: channel closed"))
66+
}
6467
packet, err = packetResponse.ReadPacket()
6568
l.Debug.Printf("%d: got response %p", messageID, packet)
6669
if err != nil {
6770
return nil, err
6871
}
69-
if !ok {
70-
return nil, NewError(ErrorNetwork, errors.New("ldap: channel closed"))
71-
}
7272

7373
if l.Debug {
7474
if err := addLDAPDescriptions(packet); err != nil {
@@ -120,13 +120,14 @@ func (l *Conn) Bind(username, password string) error {
120120
defer l.finishMessage(messageID)
121121

122122
packetResponse, ok := <-channel
123+
if !ok {
124+
return NewError(ErrorNetwork, errors.New("ldap: channel closed"))
125+
}
123126
packet, err = packetResponse.ReadPacket()
127+
l.Debug.Printf("%d: got response %p", messageID, packet)
124128
if err != nil {
125129
return err
126130
}
127-
if !ok {
128-
return NewError(ErrorNetwork, errors.New("ldap: channel closed"))
129-
}
130131

131132
if l.Debug {
132133
if err := addLDAPDescriptions(packet); err != nil {

compare.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,14 +59,14 @@ func (l *Conn) Compare(dn, attribute, value string) (bool, error) {
5959

6060
l.Debug.Printf("%d: waiting for response", messageID)
6161
packetResponse, ok := <-channel
62+
if !ok {
63+
return false, NewError(ErrorNetwork, errors.New("ldap: channel closed"))
64+
}
6265
packet, err = packetResponse.ReadPacket()
6366
l.Debug.Printf("%d: got response %p", messageID, packet)
6467
if err != nil {
6568
return false, err
6669
}
67-
if !ok {
68-
return false, NewError(ErrorNetwork, errors.New("ldap: channel closed"))
69-
}
7070

7171
if l.Debug {
7272
if err := addLDAPDescriptions(packet); err != nil {

conn.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -191,14 +191,14 @@ func (l *Conn) StartTLS(config *tls.Config) error {
191191
l.Debug.Printf("%d: waiting for response", messageID)
192192
defer l.finishMessage(messageID)
193193
packetResponse, ok := <-channel
194+
if !ok {
195+
return NewError(ErrorNetwork, errors.New("ldap: channel closed"))
196+
}
194197
packet, err = packetResponse.ReadPacket()
195198
l.Debug.Printf("%d: got response %p", messageID, packet)
196199
if err != nil {
197200
return err
198201
}
199-
if !ok {
200-
return NewError(ErrorNetwork, errors.New("ldap: channel closed"))
201-
}
202202

203203
if l.Debug {
204204
if err := addLDAPDescriptions(packet); err != nil {

del.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,14 @@ func (l *Conn) Del(delRequest *DelRequest) error {
5353

5454
l.Debug.Printf("%d: waiting for response", messageID)
5555
packetResponse, ok := <-channel
56+
if !ok {
57+
return NewError(ErrorNetwork, errors.New("ldap: channel closed"))
58+
}
5659
packet, err = packetResponse.ReadPacket()
5760
l.Debug.Printf("%d: got response %p", messageID, packet)
5861
if err != nil {
5962
return err
6063
}
61-
if !ok {
62-
return NewError(ErrorNetwork, errors.New("ldap: channel closed"))
63-
}
6464

6565
if l.Debug {
6666
if err := addLDAPDescriptions(packet); err != nil {

modify.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,14 +130,14 @@ func (l *Conn) Modify(modifyRequest *ModifyRequest) error {
130130

131131
l.Debug.Printf("%d: waiting for response", messageID)
132132
packetResponse, ok := <-channel
133+
if !ok {
134+
return NewError(ErrorNetwork, errors.New("ldap: channel closed"))
135+
}
133136
packet, err = packetResponse.ReadPacket()
134137
l.Debug.Printf("%d: got response %p", messageID, packet)
135138
if err != nil {
136139
return err
137140
}
138-
if !ok {
139-
return NewError(ErrorNetwork, errors.New("ldap: channel closed"))
140-
}
141141

142142
if l.Debug {
143143
if err := addLDAPDescriptions(packet); err != nil {

passwdmodify.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,14 +99,14 @@ func (l *Conn) PasswordModify(passwordModifyRequest *PasswordModifyRequest) (*Pa
9999

100100
l.Debug.Printf("%d: waiting for response", messageID)
101101
packetResponse, ok := <-channel
102+
if !ok {
103+
return nil, NewError(ErrorNetwork, errors.New("ldap: channel closed"))
104+
}
102105
packet, err = packetResponse.ReadPacket()
103106
l.Debug.Printf("%d: got response %p", messageID, packet)
104107
if err != nil {
105108
return nil, err
106109
}
107-
if !ok {
108-
return nil, NewError(ErrorNetwork, errors.New("ldap: channel closed"))
109-
}
110110

111111
if packet == nil {
112112
return nil, NewError(ErrorNetwork, errors.New("ldap: could not retrieve message"))

search.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -376,14 +376,14 @@ func (l *Conn) Search(searchRequest *SearchRequest) (*SearchResult, error) {
376376
for !foundSearchResultDone {
377377
l.Debug.Printf("%d: waiting for response", messageID)
378378
packetResponse, ok := <-channel
379+
if !ok {
380+
return nil, NewError(ErrorNetwork, errors.New("ldap: channel closed"))
381+
}
379382
packet, err = packetResponse.ReadPacket()
380383
l.Debug.Printf("%d: got response %p", messageID, packet)
381384
if err != nil {
382385
return nil, err
383386
}
384-
if !ok {
385-
return nil, NewError(ErrorNetwork, errors.New("ldap: channel closed"))
386-
}
387387

388388
if l.Debug {
389389
if err := addLDAPDescriptions(packet); err != nil {

0 commit comments

Comments
 (0)