ssl_cli.c File Reference

#include "polarssl/config.h"
#include "polarssl/debug.h"
#include "polarssl/ssl.h"
#include <stdlib.h>
#include <stdio.h>
#include <inttypes.h>
#include <time.h>
Include dependency graph for ssl_cli.c:

Go to the source code of this file.

Defines

#define polarssl_malloc   malloc
#define polarssl_free   free

Functions

static void ssl_write_hostname_ext (ssl_context *ssl, unsigned char *buf, size_t *olen)
static void ssl_write_renegotiation_ext (ssl_context *ssl, unsigned char *buf, size_t *olen)
static void ssl_write_signature_algorithms_ext (ssl_context *ssl, unsigned char *buf, size_t *olen)
static void ssl_write_supported_elliptic_curves_ext (ssl_context *ssl, unsigned char *buf, size_t *olen)
static void ssl_write_supported_point_formats_ext (ssl_context *ssl, unsigned char *buf, size_t *olen)
static void ssl_write_max_fragment_length_ext (ssl_context *ssl, unsigned char *buf, size_t *olen)
static void ssl_write_truncated_hmac_ext (ssl_context *ssl, unsigned char *buf, size_t *olen)
static void ssl_write_session_ticket_ext (ssl_context *ssl, unsigned char *buf, size_t *olen)
static int ssl_write_client_hello (ssl_context *ssl)
static int ssl_parse_renegotiation_info (ssl_context *ssl, const unsigned char *buf, size_t len)
static int ssl_parse_max_fragment_length_ext (ssl_context *ssl, const unsigned char *buf, size_t len)
static int ssl_parse_truncated_hmac_ext (ssl_context *ssl, const unsigned char *buf, size_t len)
static int ssl_parse_session_ticket_ext (ssl_context *ssl, const unsigned char *buf, size_t len)
static int ssl_parse_supported_point_formats_ext (ssl_context *ssl, const unsigned char *buf, size_t len)
static int ssl_parse_server_hello (ssl_context *ssl)
static int ssl_parse_server_dh_params (ssl_context *ssl, unsigned char **p, unsigned char *end)
static int ssl_parse_server_ecdh_params (ssl_context *ssl, unsigned char **p, unsigned char *end)
static int ssl_parse_server_psk_hint (ssl_context *ssl, unsigned char **p, unsigned char *end)
static int ssl_write_encrypted_pms (ssl_context *ssl, size_t offset, size_t *olen, size_t pms_offset)
static int ssl_parse_signature_algorithm (ssl_context *ssl, unsigned char **p, unsigned char *end, md_type_t *md_alg, pk_type_t *pk_alg)
static int ssl_parse_server_key_exchange (ssl_context *ssl)
static int ssl_parse_certificate_request (ssl_context *ssl)
static int ssl_parse_server_hello_done (ssl_context *ssl)
static int ssl_write_client_key_exchange (ssl_context *ssl)
static int ssl_write_certificate_verify (ssl_context *ssl)
static int ssl_parse_new_session_ticket (ssl_context *ssl)
int ssl_handshake_client_step (ssl_context *ssl)

Define Documentation

#define polarssl_free   free

Definition at line 37 of file ssl_cli.c.

#define polarssl_malloc   malloc

Definition at line 36 of file ssl_cli.c.


Function Documentation

int ssl_handshake_client_step ( ssl_context ssl  ) 
static int ssl_parse_certificate_request ( ssl_context ssl  )  [static]
static int ssl_parse_max_fragment_length_ext ( ssl_context ssl,
const unsigned char *  buf,
size_t  len 
) [static]
static int ssl_parse_new_session_ticket ( ssl_context ssl  )  [static]
static int ssl_parse_renegotiation_info ( ssl_context ssl,
const unsigned char *  buf,
size_t  len 
) [static]
static int ssl_parse_server_dh_params ( ssl_context ssl,
unsigned char **  p,
unsigned char *  end 
) [static]
static int ssl_parse_server_ecdh_params ( ssl_context ssl,
unsigned char **  p,
unsigned char *  end 
) [static]
static int ssl_parse_server_hello ( ssl_context ssl  )  [static]

Definition at line 743 of file ssl_cli.c.

References _ssl_context::allow_legacy_renegotiation, _ssl_session::ciphersuite, _ssl_transform::ciphersuite_info, _ssl_context::ciphersuite_list, _ssl_session::compression, _ssl_context::handshake, _ssl_session::id, _ssl_context::in_hslen, _ssl_context::in_msg, _ssl_context::in_msgtype, _ssl_session::length, _ssl_context::major_ver, _ssl_context::max_minor_ver, _ssl_context::min_minor_ver, _ssl_context::minor_ver, POLARSSL_ERR_SSL_BAD_HS_PROTOCOL_VERSION, POLARSSL_ERR_SSL_BAD_HS_SERVER_HELLO, POLARSSL_ERR_SSL_BAD_INPUT_DATA, POLARSSL_ERR_SSL_UNEXPECTED_MESSAGE, _ssl_handshake_params::randbytes, _ssl_context::renegotiation, _ssl_handshake_params::resume, _ssl_context::secure_renegotiation, _ssl_context::session_negotiate, SSL_ALERT_LEVEL_FATAL, SSL_ALERT_MSG_PROTOCOL_VERSION, ssl_ciphersuite_from_id(), SSL_COMPRESS_DEFLATE, SSL_COMPRESS_NULL, SSL_DEBUG_BUF, SSL_DEBUG_MSG, SSL_DEBUG_RET, ssl_derive_keys(), SSL_HS_SERVER_HELLO, SSL_INITIAL_HANDSHAKE, SSL_LEGACY_BREAK_HANDSHAKE, SSL_LEGACY_NO_RENEGOTIATION, SSL_LEGACY_RENEGOTIATION, SSL_MAJOR_VERSION_3, SSL_MSG_HANDSHAKE, ssl_optimize_checksum(), ssl_parse_max_fragment_length_ext(), ssl_parse_renegotiation_info(), ssl_parse_session_ticket_ext(), ssl_parse_supported_point_formats_ext(), ssl_parse_truncated_hmac_ext(), ssl_read_record(), SSL_RENEGOTIATION, SSL_SECURE_RENEGOTIATION, ssl_send_alert_message(), ssl_send_fatal_handshake_failure(), SSL_SERVER_CHANGE_CIPHER_SPEC, _ssl_session::start, _ssl_context::state, TLS_EXT_MAX_FRAGMENT_LENGTH, TLS_EXT_RENEGOTIATION_INFO, TLS_EXT_SESSION_TICKET, TLS_EXT_SUPPORTED_POINT_FORMATS, TLS_EXT_TRUNCATED_HMAC, and _ssl_context::transform_negotiate.

Referenced by ssl_handshake_client_step().

static int ssl_parse_server_hello_done ( ssl_context ssl  )  [static]
static int ssl_parse_server_key_exchange ( ssl_context ssl  )  [static]
static int ssl_parse_server_psk_hint ( ssl_context ssl,
unsigned char **  p,
unsigned char *  end 
) [static]
static int ssl_parse_session_ticket_ext ( ssl_context ssl,
const unsigned char *  buf,
size_t  len 
) [static]
static int ssl_parse_signature_algorithm ( ssl_context ssl,
unsigned char **  p,
unsigned char *  end,
md_type_t md_alg,
pk_type_t pk_alg 
) [static]
static int ssl_parse_supported_point_formats_ext ( ssl_context ssl,
const unsigned char *  buf,
size_t  len 
) [static]
static int ssl_parse_truncated_hmac_ext ( ssl_context ssl,
const unsigned char *  buf,
size_t  len 
) [static]
static int ssl_write_certificate_verify ( ssl_context ssl  )  [static]
static int ssl_write_client_hello ( ssl_context ssl  )  [static]
static int ssl_write_client_key_exchange ( ssl_context ssl  )  [static]
static int ssl_write_encrypted_pms ( ssl_context ssl,
size_t  offset,
size_t *  olen,
size_t  pms_offset 
) [static]
static void ssl_write_hostname_ext ( ssl_context ssl,
unsigned char *  buf,
size_t *  olen 
) [static]
static void ssl_write_max_fragment_length_ext ( ssl_context ssl,
unsigned char *  buf,
size_t *  olen 
) [static]
static void ssl_write_renegotiation_ext ( ssl_context ssl,
unsigned char *  buf,
size_t *  olen 
) [static]
static void ssl_write_session_ticket_ext ( ssl_context ssl,
unsigned char *  buf,
size_t *  olen 
) [static]
static void ssl_write_signature_algorithms_ext ( ssl_context ssl,
unsigned char *  buf,
size_t *  olen 
) [static]
static void ssl_write_supported_elliptic_curves_ext ( ssl_context ssl,
unsigned char *  buf,
size_t *  olen 
) [static]
static void ssl_write_supported_point_formats_ext ( ssl_context ssl,
unsigned char *  buf,
size_t *  olen 
) [static]
static void ssl_write_truncated_hmac_ext ( ssl_context ssl,
unsigned char *  buf,
size_t *  olen 
) [static]

Generated on 9 Apr 2014 for PolarSSL v1.3.2 by  doxygen 1.6.1