*** /mud/src/3-3/src/comm.c	2004-12-04 07:33:45.000000000 +0100
--- /mud/src/3-3-ff/src/comm.c	2004-12-19 10:07:31.000000000 +0100
***************
*** 2998,3007 ****
              /* Special case for setting up a TLS connection: don't
               * attempt IO if the connection is still being set up.
               */
!             if (ip->tls_status == TLS_HANDSHAKING
!              && !tls_continue_handshake(ip)
!                )
              {
                  continue;
              }
  #endif
--- 2998,3006 ----
              /* Special case for setting up a TLS connection: don't
               * attempt IO if the connection is still being set up.
               */
!             if (ip->tls_status == TLS_HANDSHAKING)
              {
+                 tls_continue_handshake(ip);
                  continue;
              }
  #endif
***************
*** 3339,3352 ****
                                      , (size_t)(length - ip->chars_ready), ip, MY_FALSE);
  #else
  #ifdef USE_TLS
!                         if (ip->tls_status == TLS_INACTIVE)
                              tls_write(ip, ip->text + ip->chars_ready
                                          , (size_t)(length - ip->chars_ready));
                          else
! #else
                            socket_write(ip->socket, ip->text + ip->chars_ready
                                        , (size_t)(length - ip->chars_ready));
- #endif /* USE_TLS */
  #endif
                          ip->chars_ready = length;
                      }
--- 3338,3350 ----
                                      , (size_t)(length - ip->chars_ready), ip, MY_FALSE);
  #else
  #ifdef USE_TLS
!                         if (ip->tls_status != TLS_INACTIVE)
                              tls_write(ip, ip->text + ip->chars_ready
                                          , (size_t)(length - ip->chars_ready));
                          else
! #endif /* USE_TLS */
                            socket_write(ip->socket, ip->text + ip->chars_ready
                                        , (size_t)(length - ip->chars_ready));
  #endif
                          ip->chars_ready = length;
                      }
