aboutsummaryrefslogtreecommitdiff
path: root/openssl/doc/ssl/SSL_SESSION_get_ex_new_index.pod
blob: 657cda931ff9e04b30db2dfe472b85a9941465ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
=pod

=head1 NAME

SSL_SESSION_get_ex_new_index, SSL_SESSION_set_ex_data, SSL_SESSION_get_ex_data - internal application specific data functions

=head1 SYNOPSIS

 #include <openssl/ssl.h>

 int SSL_SESSION_get_ex_new_index(long argl, void *argp,
                CRYPTO_EX_new *new_func,
                CRYPTO_EX_dup *dup_func,
                CRYPTO_EX_free *free_func);

 int SSL_SESSION_set_ex_data(SSL_SESSION *session, int idx, void *arg);

 void *SSL_SESSION_get_ex_data(const SSL_SESSION *session, int idx);

 typedef int new_func(void *parent, void *ptr, CRYPTO_EX_DATA *ad,
                int idx, long argl, void *argp);
 typedef void free_func(void *parent, void *ptr, CRYPTO_EX_DATA *ad,
                int idx, long argl, void *argp);
 typedef int dup_func(CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from, void *from_d,
                int idx, long argl, void *argp);

=head1 DESCRIPTION

Several OpenSSL structures can have application specific data attached to them.
These functions are used internally by OpenSSL to manipulate application
specific data attached to a specific structure.

SSL_SESSION_get_ex_new_index() is used to register a new index for application
specific data.

SSL_SESSION_set_ex_data() is used to store application data at B<arg> for B<idx>
into the B<session> object.

SSL_SESSION_get_ex_data() is used to retrieve the information for B<idx> from
B<session>.

A detailed description for the B<*_get_ex_new_index()> functionality
can be found in L<RSA_get_ex_new_index(3)|RSA_get_ex_new_index(3)>.
The B<*_get_ex_data()> and B<*_set_ex_data()> functionality is described in
L<CRYPTO_set_ex_data(3)|CRYPTO_set_ex_data(3)>.

=head1 WARNINGS

The application data is only maintained for sessions held in memory. The
application data is not included when dumping the session with
i2d_SSL_SESSION() (and all functions indirectly calling the dump functions
like PEM_write_SSL_SESSION() and PEM_write_bio_SSL_SESSION()) and can
therefore not be restored.

=head1 SEE ALSO

L<ssl(3)|ssl(3)>,
L<RSA_get_ex_new_index(3)|RSA_get_ex_new_index(3)>,
L<CRYPTO_set_ex_data(3)|CRYPTO_set_ex_data(3)>

=cut