diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/nss.c | 8 | 
1 files changed, 8 insertions, 0 deletions
| @@ -74,6 +74,8 @@ PRFileDesc *PR_ImportTCPSocket(PRInt32 osfd);  static int initialized = 0;  static int noverify = 0; +#define HANDSHAKE_TIMEOUT 30 +  typedef struct {    PRInt32 retryCount;    struct SessionHandle *data; @@ -513,6 +515,12 @@ CURLcode Curl_nss_connect(struct connectdata * conn, int sockindex)    SSL_SetURL(connssl->handle, conn->host.name); +  /* Force the handshake now */ +  if (SSL_ForceHandshakeWithTimeout(connssl->handle, +                                    PR_SecondsToInterval(HANDSHAKE_TIMEOUT)) +      != SECSuccess) +    goto error; +    return CURLE_OK;  error: | 
