⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ssl_ctx_sess_set_get_cb.pod

📁 开源的ssl算法openssl,版本0.9.8H
💻 POD
字号:
=pod=head1 NAMESSL_CTX_sess_set_new_cb, SSL_CTX_sess_set_remove_cb, SSL_CTX_sess_set_get_cb, SSL_CTX_sess_get_new_cb, SSL_CTX_sess_get_remove_cb, SSL_CTX_sess_get_get_cb - provide callback functions for server side external session caching=head1 SYNOPSIS #include <openssl/ssl.h> void SSL_CTX_sess_set_new_cb(SSL_CTX *ctx,			      int (*new_session_cb)(SSL *, SSL_SESSION *)); void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx,	   void (*remove_session_cb)(SSL_CTX *ctx, SSL_SESSION *)); void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx,	   SSL_SESSION (*get_session_cb)(SSL *, unsigned char *, int, int *)); int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx))(struct ssl_st *ssl, SSL_SESSION *sess); void (*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx))(struct ssl_ctx_st *ctx, SSL_SESSION *sess); SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx))(struct ssl_st *ssl, unsigned char *data, int len, int *copy); int (*new_session_cb)(struct ssl_st *ssl, SSL_SESSION *sess); void (*remove_session_cb)(struct ssl_ctx_st *ctx, SSL_SESSION *sess); SSL_SESSION *(*get_session_cb)(struct ssl_st *ssl, unsigned char *data,	       int len, int *copy);=head1 DESCRIPTIONSSL_CTX_sess_set_new_cb() sets the callback function, which is automaticallycalled whenever a new session was negotiated.SSL_CTX_sess_set_remove_cb() sets the callback function, which isautomatically called whenever a session is removed by the SSL engine,because it is considered faulty or the session has become obsolete becauseof exceeding the timeout value.SSL_CTX_sess_set_get_cb() sets the callback function which is called,whenever a SSL/TLS client proposed to resume a session but the sessioncould not be found in the internal session cache (seeL<SSL_CTX_set_session_cache_mode(3)|SSL_CTX_set_session_cache_mode(3)>).(SSL/TLS server only.)SSL_CTX_sess_get_new_cb(), SSL_CTX_sess_get_remove_cb(), andSSL_CTX_sess_get_get_cb() allow to retrieve the function pointers of theprovided callback functions. If a callback function has not been set,the NULL pointer is returned.=head1 NOTESIn order to allow external session caching, synchronization with the internalsession cache is realized via callback functions. Inside these callbackfunctions, session can be saved to disk or put into a database using theL<d2i_SSL_SESSION(3)|d2i_SSL_SESSION(3)> interface.The new_session_cb() is called, whenever a new session has been negotiatedand session caching is enabled (seeL<SSL_CTX_set_session_cache_mode(3)|SSL_CTX_set_session_cache_mode(3)>).The new_session_cb() is passed the B<ssl> connection and the ssl sessionB<sess>. If the callback returns B<0>, the session will be immediatelyremoved again.The remove_session_cb() is called, whenever the SSL engine removes a sessionfrom the internal cache. This happens when the session is removed becauseit is expired or when a connection was not shutdown cleanly. It also happensfor all sessions in the internal session cache whenL<SSL_CTX_free(3)|SSL_CTX_free(3)> is called. The remove_session_cb() is passedthe B<ctx> and the ssl session B<sess>. It does not provide any feedback.The get_session_cb() is only called on SSL/TLS servers with the session idproposed by the client. The get_session_cb() is always called, also whensession caching was disabled. The get_session_cb() is passed theB<ssl> connection, the session id of length B<length> at the memory locationB<data>. With the parameter B<copy> the callback can require theSSL engine to increment the reference count of the SSL_SESSION object,Normally the reference count is not incremented and therefore thesession must not be explicitly freed withL<SSL_SESSION_free(3)|SSL_SESSION_free(3)>.=head1 SEE ALSOL<ssl(3)|ssl(3)>, L<d2i_SSL_SESSION(3)|d2i_SSL_SESSION(3)>,L<SSL_CTX_set_session_cache_mode(3)|SSL_CTX_set_session_cache_mode(3)>,L<SSL_CTX_flush_sessions(3)|SSL_CTX_flush_sessions(3)>,L<SSL_SESSION_free(3)|SSL_SESSION_free(3)>,L<SSL_CTX_free(3)|SSL_CTX_free(3)>=cut

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -