More SSL_SESSION serialization functions.
Change-Id: I2dd8d073521a230b2b0c4e74ec3d6eeb4899623e Reviewed-on: https://boringssl-review.googlesource.com/6303 Reviewed-by: Adam Langley <alangley@gmail.com>
This commit is contained in:
parent
066fe0a679
commit
7227990ef1
@ -1327,6 +1327,7 @@ OPENSSL_EXPORT int SSL_CTX_add_server_custom_ext(
|
|||||||
* different threads and must not be modified. */
|
* different threads and must not be modified. */
|
||||||
|
|
||||||
DECLARE_LHASH_OF(SSL_SESSION)
|
DECLARE_LHASH_OF(SSL_SESSION)
|
||||||
|
DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION)
|
||||||
|
|
||||||
/* SSL_SESSION_new returns a newly-allocated blank |SSL_SESSION| or NULL on
|
/* SSL_SESSION_new returns a newly-allocated blank |SSL_SESSION| or NULL on
|
||||||
* error. This may be useful in writing tests but otherwise should not be
|
* error. This may be useful in writing tests but otherwise should not be
|
||||||
@ -2854,13 +2855,6 @@ OPENSSL_EXPORT void (*SSL_CTX_get_info_callback(SSL_CTX *ctx))(const SSL *ssl,
|
|||||||
* for the peer, but |SSL_read| will require the handshake to be completed. */
|
* for the peer, but |SSL_read| will require the handshake to be completed. */
|
||||||
OPENSSL_EXPORT int SSL_in_false_start(const SSL *s);
|
OPENSSL_EXPORT int SSL_in_false_start(const SSL *s);
|
||||||
|
|
||||||
#define d2i_SSL_SESSION_bio(bp, s_id) \
|
|
||||||
ASN1_d2i_bio_of(SSL_SESSION, SSL_SESSION_new, d2i_SSL_SESSION, bp, s_id)
|
|
||||||
#define i2d_SSL_SESSION_bio(bp, s_id) \
|
|
||||||
ASN1_i2d_bio_of(SSL_SESSION, i2d_SSL_SESSION, bp, s_id)
|
|
||||||
|
|
||||||
DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION)
|
|
||||||
|
|
||||||
OPENSSL_EXPORT const char *SSL_state_string(const SSL *ssl);
|
OPENSSL_EXPORT const char *SSL_state_string(const SSL *ssl);
|
||||||
OPENSSL_EXPORT const char *SSL_state_string_long(const SSL *ssl);
|
OPENSSL_EXPORT const char *SSL_state_string_long(const SSL *ssl);
|
||||||
|
|
||||||
@ -3047,6 +3041,15 @@ OPENSSL_EXPORT int i2d_SSL_SESSION(SSL_SESSION *in, uint8_t **pp);
|
|||||||
OPENSSL_EXPORT SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, const uint8_t **pp,
|
OPENSSL_EXPORT SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, const uint8_t **pp,
|
||||||
long length);
|
long length);
|
||||||
|
|
||||||
|
/* i2d_SSL_SESSION_bio serializes |session| and writes the result to |bio|. It
|
||||||
|
* returns the number of bytes written on success and <= 0 on error. */
|
||||||
|
OPENSSL_EXPORT int i2d_SSL_SESSION_bio(BIO *bio, const SSL_SESSION *session);
|
||||||
|
|
||||||
|
/* d2i_SSL_SESSION_bio reads a serialized |SSL_SESSION| from |bio| and returns a
|
||||||
|
* newly-allocated |SSL_SESSION| or NULL on error. If |out| is not NULL, it also
|
||||||
|
* frees |*out| and sets |*out| to the new |SSL_SESSION|. */
|
||||||
|
OPENSSL_EXPORT SSL_SESSION *d2i_SSL_SESSION_bio(BIO *bio, SSL_SESSION **out);
|
||||||
|
|
||||||
/* ERR_load_SSL_strings does nothing. */
|
/* ERR_load_SSL_strings does nothing. */
|
||||||
OPENSSL_EXPORT void ERR_load_SSL_strings(void);
|
OPENSSL_EXPORT void ERR_load_SSL_strings(void);
|
||||||
|
|
||||||
|
@ -113,6 +113,7 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
#include <openssl/asn1.h>
|
||||||
#include <openssl/bio.h>
|
#include <openssl/bio.h>
|
||||||
#include <openssl/err.h>
|
#include <openssl/err.h>
|
||||||
#include <openssl/mem.h>
|
#include <openssl/mem.h>
|
||||||
@ -620,4 +621,13 @@ void SSL_CTX_set_default_passwd_cb_userdata(SSL_CTX *ctx, void *data) {
|
|||||||
ctx->default_passwd_callback_userdata = data;
|
ctx->default_passwd_callback_userdata = data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SSL_SESSION *d2i_SSL_SESSION_bio(BIO *bio, SSL_SESSION **out) {
|
||||||
|
return ASN1_d2i_bio_of(SSL_SESSION, SSL_SESSION_new, d2i_SSL_SESSION, bio,
|
||||||
|
out);
|
||||||
|
}
|
||||||
|
|
||||||
|
int i2d_SSL_SESSION_bio(BIO *bio, const SSL_SESSION *session) {
|
||||||
|
return ASN1_i2d_bio_of(SSL_SESSION, i2d_SSL_SESSION, bio, session);
|
||||||
|
}
|
||||||
|
|
||||||
IMPLEMENT_PEM_rw(SSL_SESSION, SSL_SESSION, PEM_STRING_SSL_SESSION, SSL_SESSION)
|
IMPLEMENT_PEM_rw(SSL_SESSION, SSL_SESSION, PEM_STRING_SSL_SESSION, SSL_SESSION)
|
||||||
|
Loading…
Reference in New Issue
Block a user