cwSpec = ss->ssl3->cwSpec;
cwSpec = ss->ssl3.cwSpec;
ssl3_SetupPendingCipherSpec(sslSocket *ss, ssl3State *ssl3){    ssl3CipherSpec *          pwSpec;    ssl3CipherSpec *          cwSpec;    ssl3CipherSuite           suite     = ssl3->hs.cipher_suite;    SSL3MACAlgorithm          mac;    SSL3BulkCipher            cipher;    SSL3KeyExchangeAlgorithm  kea;    const ssl3CipherSuiteDef *suite_def;    PRBool                    isTLS;    PORT_Assert( ssl_HaveSSL3HandshakeLock(ss));    ssl_GetSpecWriteLock(ss);  /*******************************/    pwSpec = ssl3->pwSpec;    PORT_Assert(pwSpec == ssl3->prSpec);    /* This hack provides maximal interoperability with SSL 3 servers. */    cwSpec = ss->ssl3->cwSpec;    if (cwSpec->mac_def->mac == mac_null) {	/* SSL records are not being MACed. */	cwSpec->version = ss->version;    }    pwSpec->version  = ss->version;    isTLS  = (PRBool)(pwSpec->version > SSL_LIBRARY_VERSION_3_0);    SSL_TRC(3, ("%d: SSL3[%d]: Set XXX Pending Cipher Suite to 0x%04x",		SSL_GETPID(), ss->fd, suite));    suite_def = ssl_LookupCipherSuiteDef(suite);    if (suite_def == NULL) {	ssl_ReleaseSpecWriteLock(ss);	return SECFailure;	/* error code set by ssl_LookupCipherSuiteDef */    }    cipher = suite_def->bulk_cipher_alg;    kea    = suite_def->key_exchange_alg;    mac    = suite_def->mac_alg;    if (isTLS)	mac += 2;    ssl3->hs.suite_def = suite_def;    ssl3->hs.kea_def   = &kea_defs[kea];    PORT_Assert(ssl3->hs.kea_def->kea == kea);    pwSpec->cipher_def   = &bulk_cipher_defs[cipher];    PORT_Assert(pwSpec->cipher_def->cipher == cipher);    pwSpec->mac_def = &mac_defs[mac];    PORT_Assert(pwSpec->mac_def->mac == mac);    ss->sec.keyBits       = pwSpec->cipher_def->key_size        * BPB;    ss->sec.secretKeyBits = pwSpec->cipher_def->secret_key_size * BPB;    ss->sec.cipherType    = cipher;    pwSpec->encodeContext = NULL;    pwSpec->decodeContext = NULL;    pwSpec->mac_size = pwSpec->mac_def->mac_size;    ssl_ReleaseSpecWriteLock(ss);  /*******************************/    return SECSuccess;}