Back to index

tor  0.2.3.18-rc
Public Types | Public Attributes
tor_tls_t Struct Reference

Holds a SSL object and its associated data. More...

Collaboration diagram for tor_tls_t:
Collaboration graph
[legend]

List of all members.

Public Types

enum  {
  TOR_TLS_ST_HANDSHAKE, TOR_TLS_ST_OPEN, TOR_TLS_ST_GOTCLOSE, TOR_TLS_ST_SENTCLOSE,
  TOR_TLS_ST_CLOSED, TOR_TLS_ST_RENEGOTIATE, TOR_TLS_ST_BUFFEREVENT
}

Public Attributes

uint32_t magic
tor_tls_context_tcontext
SSL * ssl
 A link to the context object for this tls.
int socket
 The underlying file descriptor for this TLS connection.
char * address
 An address to log when describing this connection.
enum tor_tls_t:: { ... }  state
 The current SSL state, depending on which operations have completed successfully.
unsigned int isServer:1
 True iff this is a server-side connection.
unsigned int wasV2Handshake:1
 True iff the original handshake for this connection used the updated version of the connection protocol (client sends different cipher list, server sends only one certificate).
unsigned int got_renegotiate:1
 True iff we should call negotiated_callback when we're done reading.
uint8_t server_handshake_count
 Incremented every time we start the server side of a handshake.
size_t wantwrite_n
 0 normally, >0 if we returned wantwrite last time.
unsigned long last_write_count
 Last values retrieved from BIO_number_read()/write(); see tor_tls_get_n_raw_bytes() for usage.
unsigned long last_read_count
void(* negotiated_callback )(tor_tls_t *tls, void *arg)
 If set, a callback to invoke whenever the client tries to renegotiate the handshake.
void * callback_arg
 Argument to pass to negotiated_callback.

Detailed Description

Holds a SSL object and its associated data.

Members are only accessed from within tortls.c.

Definition at line 135 of file tortls.c.


Member Enumeration Documentation

anonymous enum
Enumerator:
TOR_TLS_ST_HANDSHAKE 
TOR_TLS_ST_OPEN 
TOR_TLS_ST_GOTCLOSE 
TOR_TLS_ST_SENTCLOSE 
TOR_TLS_ST_CLOSED 
TOR_TLS_ST_RENEGOTIATE 
TOR_TLS_ST_BUFFEREVENT 

Definition at line 141 of file tortls.c.


Member Data Documentation

An address to log when describing this connection.

Definition at line 140 of file tortls.c.

Argument to pass to negotiated_callback.

Definition at line 168 of file tortls.c.

Definition at line 137 of file tortls.c.

True iff we should call negotiated_callback when we're done reading.

Definition at line 154 of file tortls.c.

unsigned int tor_tls_t::isServer

True iff this is a server-side connection.

Definition at line 147 of file tortls.c.

Definition at line 163 of file tortls.c.

Last values retrieved from BIO_number_read()/write(); see tor_tls_get_n_raw_bytes() for usage.

Definition at line 162 of file tortls.c.

uint32_t tor_tls_t::magic

Definition at line 136 of file tortls.c.

void(* tor_tls_t::negotiated_callback)(tor_tls_t *tls, void *arg)

If set, a callback to invoke whenever the client tries to renegotiate the handshake.

Definition at line 166 of file tortls.c.

Incremented every time we start the server side of a handshake.

Definition at line 156 of file tortls.c.

The underlying file descriptor for this TLS connection.

Definition at line 139 of file tortls.c.

A link to the context object for this tls.

An OpenSSL SSL object.

Definition at line 138 of file tortls.c.

enum { ... } tor_tls_t::state

The current SSL state, depending on which operations have completed successfully.

0 normally, >0 if we returned wantwrite last time.

Definition at line 157 of file tortls.c.

True iff the original handshake for this connection used the updated version of the connection protocol (client sends different cipher list, server sends only one certificate).

Definition at line 148 of file tortls.c.


The documentation for this struct was generated from the following file: