diff options
Diffstat (limited to 'bind.go')
-rw-r--r-- | bind.go | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -35,7 +35,7 @@ func (l *Conn) Bind( username, password string ) *Error { defer l.finishMessage( messageID ) packet = <-channel - if packet != nil { + if packet == nil { return NewError( ErrorNetwork, os.NewError( "Could not retrieve response" ) ) } @@ -46,5 +46,10 @@ func (l *Conn) Bind( username, password string ) *Error { ber.PrintPacket( packet ) } + result_code, result_description := getLDAPResultCode( packet ) + if result_code != 0 { + return NewError( result_code, os.NewError( result_description ) ) + } + return nil } |