aboutsummaryrefslogtreecommitdiff
path: root/server.go
diff options
context:
space:
mode:
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 {