Allow renegotiation if SSL_OP_LEGACY_SERVER_CONNECT is set as well as
[openssl.git] / doc / ssl / SSL_SESSION_get_ex_new_index.pod
1 =pod
2
3 =head1 NAME
4
5 SSL_SESSION_get_ex_new_index, SSL_SESSION_set_ex_data, SSL_SESSION_get_ex_data - internal application specific data functions
6
7 =head1 SYNOPSIS
8
9  #include <openssl/ssl.h>
10
11  int SSL_SESSION_get_ex_new_index(long argl, void *argp,
12                 CRYPTO_EX_new *new_func,
13                 CRYPTO_EX_dup *dup_func,
14                 CRYPTO_EX_free *free_func);
15
16  int SSL_SESSION_set_ex_data(SSL_SESSION *session, int idx, void *arg);
17
18  void *SSL_SESSION_get_ex_data(const SSL_SESSION *session, int idx);
19
20  typedef int new_func(void *parent, void *ptr, CRYPTO_EX_DATA *ad,
21                 int idx, long argl, void *argp);
22  typedef void free_func(void *parent, void *ptr, CRYPTO_EX_DATA *ad,
23                 int idx, long argl, void *argp);
24  typedef int dup_func(CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from, void *from_d,
25                 int idx, long argl, void *argp);
26
27 =head1 DESCRIPTION
28
29 Several OpenSSL structures can have application specific data attached to them.
30 These functions are used internally by OpenSSL to manipulate application
31 specific data attached to a specific structure.
32
33 SSL_SESSION_get_ex_new_index() is used to register a new index for application
34 specific data.
35
36 SSL_SESSION_set_ex_data() is used to store application data at B<arg> for B<idx>
37 into the B<session> object.
38
39 SSL_SESSION_get_ex_data() is used to retrieve the information for B<idx> from
40 B<session>.
41
42 A detailed description for the B<*_get_ex_new_index()> functionality
43 can be found in L<RSA_get_ex_new_index(3)|RSA_get_ex_new_index(3)>.
44 The B<*_get_ex_data()> and B<*_set_ex_data()> functionality is described in
45 L<CRYPTO_set_ex_data(3)|CRYPTO_set_ex_data(3)>.
46
47 =head1 WARNINGS
48
49 The application data is only maintained for sessions held in memory. The
50 application data is not included when dumping the session with
51 i2d_SSL_SESSION() (and all functions indirectly calling the dump functions
52 like PEM_write_SSL_SESSION() and PEM_write_bio_SSL_SESSION()) and can
53 therefore not be restored.
54
55 =head1 SEE ALSO
56
57 L<ssl(3)|ssl(3)>,
58 L<RSA_get_ex_new_index(3)|RSA_get_ex_new_index(3)>,
59 L<CRYPTO_set_ex_data(3)|CRYPTO_set_ex_data(3)>
60
61 =cut