diff --git a/doc/master/connect b/doc/master/connect
index a1c7315..d98f5d5 100644
--- a/doc/master/connect
+++ b/doc/master/connect
@@ -1,13 +1,26 @@
 SYNOPSIS
-	object connect(void)
+        object connect(void)
 
 DESCRIPTION
-	Return a login object that the requested connection should be
-	bound to. Note that the connection is not bound yet.
+        Return a login object that the requested connection should be
+        bound to.
 
-	The lfun logon() will be applied to the login object after
-	binding the connection to it. That lfun has to return != 0 to
-	indicate success.
+        Note that the connection is at this time bound to the master object,
+        and will be re-bound to the returned object.
+
+        The lfun logon() will be applied to the login object after
+        binding the connection to it. That lfun has to return != 0 to
+        indicate success.
+
+        If connect() initiates a secure connection without setting a callback,
+        and the connection is still handshaking at the time connect() returns,
+        the driver will delay the call to logon() until the handshake either
+        succeeds or fails.
+
+HISTORY
+        LDMud 3.2.13/3.3.713 streamlined the handling of secure connections
+        during logon.
 
 SEE ALSO
-	logon(A), disconnect(M), interactive(E), exec(E)
+        logon(A), disconnect(M), interactive(E), exec(E),
+        net_connect(E), tls_init_connection(E)
