ss->v2CompatibleHello = on;
ss->opt.v2CompatibleHello = on;
SSL_OptionSet(PRFileDesc *fd, PRInt32 which, PRBool on){    sslSocket *ss = ssl_FindSocket(fd);    SECStatus  rv = SECSuccess;    if (!ss) {	SSL_DBG(("%d: SSL[%d]: bad socket in Enable", SSL_GETPID(), fd));	return SECFailure;    }    ssl_Get1stHandshakeLock(ss);    ssl_GetSSL3HandshakeLock(ss);    switch (which) {      case SSL_SOCKS:	ss->useSocks = PR_FALSE;	rv = PrepareSocket(ss);	if (on) {	    PORT_SetError(SEC_ERROR_INVALID_ARGS);	    rv = SECFailure;	}	break;      case SSL_SECURITY:	ss->useSecurity = on;	rv = PrepareSocket(ss);	break;      case SSL_REQUEST_CERTIFICATE:	ss->requestCertificate = on;	break;      case SSL_REQUIRE_CERTIFICATE:	ss->requireCertificate = on;	break;      case SSL_HANDSHAKE_AS_CLIENT:	if ( ss->handshakeAsServer && on ) {	    PORT_SetError(SEC_ERROR_INVALID_ARGS);	    rv = SECFailure;	    break;	}	ss->handshakeAsClient = on;	break;      case SSL_HANDSHAKE_AS_SERVER:	if ( ss->handshakeAsClient && on ) {	    PORT_SetError(SEC_ERROR_INVALID_ARGS);	    rv = SECFailure;	    break;	}	ss->handshakeAsServer = on;	break;      case SSL_ENABLE_TLS:	ss->enableTLS           = on;	ss->preferredCipher     = NULL;	if (ss->cipherSpecs) {	    PORT_Free(ss->cipherSpecs);	    ss->cipherSpecs     = NULL;	    ss->sizeCipherSpecs = 0;	}	break;      case SSL_ENABLE_SSL3:	ss->enableSSL3          = on;	ss->preferredCipher     = NULL;	if (ss->cipherSpecs) {	    PORT_Free(ss->cipherSpecs);	    ss->cipherSpecs     = NULL;	    ss->sizeCipherSpecs = 0;	}	break;      case SSL_ENABLE_SSL2:	ss->enableSSL2          = on;	if (on) {	    ss->v2CompatibleHello = on;	}	ss->preferredCipher     = NULL;	if (ss->cipherSpecs) {	    PORT_Free(ss->cipherSpecs);	    ss->cipherSpecs     = NULL;	    ss->sizeCipherSpecs = 0;	}	break;      case SSL_NO_CACHE:	ss->noCache = on;	break;      case SSL_ENABLE_FDX:      	ss->fdx = on;	break;      case SSL_V2_COMPATIBLE_HELLO:      	ss->v2CompatibleHello = on;	if (!on) {	    ss->enableSSL2    = on;	}	break;      case SSL_ROLLBACK_DETECTION:  	ss->detectRollBack = on;        break;      case SSL_NO_STEP_DOWN:        	ss->noStepDown     = on;         	if (on) 	    SSL_DisableExportCipherSuites(fd);	break;      default:	PORT_SetError(SEC_ERROR_INVALID_ARGS);	rv = SECFailure;    }    ssl_ReleaseSSL3HandshakeLock(ss);    ssl_Release1stHandshakeLock(ss);    return rv;}