p += 8;
*p = type;
p++;
- if (ver->id != GNUTLS_SSL3) { /* TLS protocols */
+#ifdef ENABLE_SSL3
+ if (ver->id != GNUTLS_SSL3)
+#endif
+ { /* TLS protocols */
*p = ver->major;
p++;
*p = ver->minor;
* Note that we access all 256 bytes of ciphertext for padding check
* because there is a timing channel in that memory access (in certain CPUs).
*/
+#ifdef ENABLE_SSL3
if (ver->id != GNUTLS_SSL3)
+#endif
for (i = 2; i <= MIN(256, ciphertext->size); i++) {
tmp_pad_failed |=
(compressed->
params->cipher, &state->key, iv,
params->mac, &state->mac_secret,
params->etm,
+#ifdef ENABLE_SSL3
(ver->id == GNUTLS_SSL3) ? 1 : 0,
+#endif
1 - read /*1==encrypt */ );
if (ret < 0 && params->cipher->id != GNUTLS_CIPHER_NULL)
return gnutls_assert_val(ret);
ret = _gnutls_handshake_get_session_hash(session, &shash);
if (ret < 0)
return gnutls_assert_val(ret);
+#ifdef ENABLE_SSL3
if (get_num_version(session) == GNUTLS_SSL3)
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
+#endif
ret =
_gnutls_PRF(session, premaster->data, premaster->size,
_gnutls_buffer_init(&data);
if (again == 0) {
- if (get_num_version(session) != GNUTLS_SSL3 ||
+ if (
+#ifdef ENABLE_SSL3
+ get_num_version(session) != GNUTLS_SSL3 ||
+#endif
session->internals.selected_cert_list_length > 0) {
/* TLS 1.0 or SSL 3.0 with a valid certificate
*/
}
}
+#ifdef ENABLE_SSL3
/* In the SSL 3.0 protocol we need to send a
* no certificate alert instead of an
* empty certificate.
gnutls_alert_send(session, GNUTLS_AL_WARNING,
GNUTLS_A_SSL3_NO_CERTIFICATE);
- } else { /* TLS 1.0 or SSL 3.0 with a valid certificate
- */
+ } else /* TLS 1.0 or SSL 3.0 with a valid certificate
+ */
+#endif
ret = send_handshake(session, data.data, data.length,
GNUTLS_HANDSHAKE_CERTIFICATE_PKT);
- }
cleanup:
_gnutls_buffer_clear(&data);
* a warning alert instead of an empty certificate to indicate
* no certificate.
*/
+#ifdef ENABLE_SSL3
if (optional != 0 &&
ret == GNUTLS_E_WARNING_ALERT_RECEIVED &&
get_num_version(session) == GNUTLS_SSL3 &&
gnutls_assert();
return 0;
}
+#endif
/* certificate was required
*/