aboutsummaryrefslogtreecommitdiff
path: root/server.go
diff options
context:
space:
mode:
authorMarin Ivanov <[email protected]>2019-02-13 06:46:41 +0200
committerMarin Ivanov <[email protected]>2019-02-13 06:46:41 +0200
commit0705d6ab800b85f9f1647ba438086b38f745cf2d (patch)
tree6cab28a9d13ed3429176989901a434ec9a963a07 /server.go
parent02dda4e6487d2deb00bb135e36deb281e52a46b9 (diff)
Fix panic when TLSConfig is not set
Diffstat (limited to 'server.go')
-rw-r--r--server.go7
1 files changed, 4 insertions, 3 deletions
diff --git a/server.go b/server.go
index 5bad5ff..d520414 100644
--- a/server.go
+++ b/server.go
@@ -331,16 +331,17 @@ handler:
case ApplicationExtendedRequest:
var tlsConn *tls.Conn
if n := len(req.Children); n == 1 || n == 2 {
- if name := ber.DecodeString(req.Children[0].Data.Bytes()); name == oidStartTLS {
+ name := ber.DecodeString(req.Children[0].Data.Bytes())
+ if name == oidStartTLS && server.TLSConfig != nil {
tlsConn = tls.Server(conn, server.TLSConfig)
}
}
- var ldapResultCode LDAPResultCode
+ var ldapResultCode LDAPResultCode = LDAPResultOperationsError
if tlsConn == nil {
// Wasn't an upgrade.
if server.EnforceTLS {
ldapResultCode = LDAPResultProtocolError
- } else {
+ } else if server.TLSConfig != nil {
ldapResultCode = HandleExtendedRequest(req, boundDN, server.ExtendedFns, conn)
}
} else {