ssl_cache.h File Reference

SSL session cache implementation. More...

#include "ssl.h"
Include dependency graph for ssl_cache.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _ssl_cache_entry
 This structure is used for storing cache entries. More...
struct  _ssl_cache_context
 Cache context. More...

Defines

#define SSL_CACHE_DEFAULT_TIMEOUT   86400
#define SSL_CACHE_DEFAULT_MAX_ENTRIES   50

Typedefs

typedef struct _ssl_cache_context ssl_cache_context
typedef struct _ssl_cache_entry ssl_cache_entry

Functions

void ssl_cache_init (ssl_cache_context *cache)
 Initialize an SSL cache context.
int ssl_cache_get (void *data, ssl_session *session)
 Cache get callback implementation (Thread-safe if POLARSSL_THREADING_C is enabled).
int ssl_cache_set (void *data, const ssl_session *session)
 Cache set callback implementation (Thread-safe if POLARSSL_THREADING_C is enabled).
void ssl_cache_set_timeout (ssl_cache_context *cache, int timeout)
 Set the cache timeout (Default: SSL_CACHE_DEFAULT_TIMEOUT (1 day)).
void ssl_cache_set_max_entries (ssl_cache_context *cache, int max)
 Set the cache timeout (Default: SSL_CACHE_DEFAULT_MAX_ENTRIES (50)).
void ssl_cache_free (ssl_cache_context *cache)
 Free referenced items in a cache context and clear memory.

Detailed Description

SSL session cache implementation.

Copyright (C) 2006-2013, Brainspark B.V.

This file is part of PolarSSL (http://www.polarssl.org) Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>

All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Definition in file ssl_cache.h.


Define Documentation

#define SSL_CACHE_DEFAULT_MAX_ENTRIES   50

Maximum entries in cache

Definition at line 38 of file ssl_cache.h.

Referenced by ssl_cache_init().

#define SSL_CACHE_DEFAULT_TIMEOUT   86400

1 day

Definition at line 37 of file ssl_cache.h.

Referenced by ssl_cache_init().


Typedef Documentation

Definition at line 45 of file ssl_cache.h.

Definition at line 46 of file ssl_cache.h.


Function Documentation

void ssl_cache_free ( ssl_cache_context cache  ) 

Free referenced items in a cache context and clear memory.

Parameters:
cache SSL cache context

Definition at line 301 of file ssl_cache.c.

References _ssl_cache_context::chain, _ssl_cache_entry::next, _asn1_buf::p, _ssl_cache_entry::peer_cert, polarssl_free, polarssl_mutex_free, _ssl_cache_entry::session, and ssl_session_free().

int ssl_cache_get ( void *  data,
ssl_session session 
)
void ssl_cache_init ( ssl_cache_context cache  ) 

Initialize an SSL cache context.

Parameters:
cache SSL cache context

Definition at line 45 of file ssl_cache.c.

References _ssl_cache_context::max_entries, polarssl_mutex_init, SSL_CACHE_DEFAULT_MAX_ENTRIES, SSL_CACHE_DEFAULT_TIMEOUT, and _ssl_cache_context::timeout.

int ssl_cache_set ( void *  data,
const ssl_session session 
)
void ssl_cache_set_max_entries ( ssl_cache_context cache,
int  max 
)

Set the cache timeout (Default: SSL_CACHE_DEFAULT_MAX_ENTRIES (50)).

Parameters:
cache SSL cache context
max cache entry maximum

Definition at line 294 of file ssl_cache.c.

References _ssl_cache_context::max_entries.

void ssl_cache_set_timeout ( ssl_cache_context cache,
int  timeout 
)

Set the cache timeout (Default: SSL_CACHE_DEFAULT_TIMEOUT (1 day)).

A timeout of 0 indicates no timeout.

Parameters:
cache SSL cache context
timeout cache entry timeout

Definition at line 286 of file ssl_cache.c.

References _ssl_cache_context::timeout.


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