}    if (proxyHost && SECSuccess != SSL_OptionSet(fd, SSL_ENABLE_TLS, PR_FALSE)){ return NS_ERROR_FAILURE;
nsSSLIOLayerSetOptions(PRFileDesc *fd, PRBool forTLSStepUp,                        const char *proxyHost, const char *host, PRInt32 port,                       nsNSSSocketInfo *infoObject){  if ((forTLSStepUp || proxyHost) &&      SECSuccess != SSL_OptionSet(fd, SSL_SECURITY, PR_FALSE))    return NS_ERROR_FAILURE;  if (forTLSStepUp) {    if (SECSuccess != SSL_OptionSet(fd, SSL_ENABLE_SSL2, PR_FALSE)) {      return NS_ERROR_FAILURE;    }    if (SECSuccess != SSL_OptionSet(fd, SSL_V2_COMPATIBLE_HELLO, PR_FALSE)) {      return NS_ERROR_FAILURE;    }  }  if (SECSuccess != SSL_OptionSet(fd, SSL_HANDSHAKE_AS_CLIENT, PR_TRUE)) {    return NS_ERROR_FAILURE;  }  if (SECSuccess != SSL_OptionSet(fd, SSL_ENABLE_FDX, PR_TRUE)) {    return NS_ERROR_FAILURE;  }  if (SECSuccess != SSL_BadCertHook(fd, (SSLBadCertHandler) nsNSSBadCertHandler,                                    infoObject)) {    return NS_ERROR_FAILURE;  }  // Set the Peer ID so that SSL proxy connections work properly.  char *peerId = PR_smprintf("%s:%d", host, port);  if (SECSuccess != SSL_SetSockPeerID(fd, peerId)) {    PR_smprintf_free(peerId);    return NS_ERROR_FAILURE;  }  PR_smprintf_free(peerId);  return NS_OK;}