From: Richard Levitte Date: Mon, 6 Oct 2003 12:18:39 +0000 (+0000) Subject: Add functionality to get information on compression methods (not quite complete). X-Git-Tag: BEN_FIPS_TEST_4^2~11^2~81 X-Git-Url: https://git.openssl.org/?p=openssl.git;a=commitdiff_plain;h=377dcdba44742ce641521dd4745a37a7321b41bd;hp=8242354952ead170335b98b33254ca9a0e836926 Add functionality to get information on compression methods (not quite complete). --- diff --git a/ssl/ssl.h b/ssl/ssl.h index 2d4035090f..e6879d9073 100644 --- a/ssl/ssl.h +++ b/ssl/ssl.h @@ -1198,6 +1198,10 @@ int SSL_CIPHER_get_bits(SSL_CIPHER *c,int *alg_bits); char * SSL_CIPHER_get_version(SSL_CIPHER *c); const char * SSL_CIPHER_get_name(SSL_CIPHER *c); +const COMP_METHOD *SSL_get_current_compression(SSL *s); +const COMP_METHOD *SSL_get_current_expansion(SSL *s); +const char *SSL_COMP_get_name(const COMP_METHOD *comp); + int SSL_get_fd(SSL *s); int SSL_get_rfd(SSL *s); int SSL_get_wfd(SSL *s); diff --git a/ssl/ssl_algs.c b/ssl/ssl_algs.c index 7c8a451fc5..1a41b9967c 100644 --- a/ssl/ssl_algs.c +++ b/ssl/ssl_algs.c @@ -108,6 +108,12 @@ int SSL_library_init(void) #if 0 EVP_add_digest(EVP_sha()); EVP_add_digest(EVP_dss()); +#endif +#ifndef OPENSSL_NO_COMP + /* This will initialise the built-in compression algorithms. + The value returned is a STACK_OF(SSL_COMP), but that can + be discarded safely */ + (void)SSL_COMP_get_compression_methods(); #endif return(1); } diff --git a/ssl/ssl_ciph.c b/ssl/ssl_ciph.c index 44b50feff7..4f0f700790 100644 --- a/ssl/ssl_ciph.c +++ b/ssl/ssl_ciph.c @@ -1204,3 +1204,11 @@ int SSL_COMP_add_compression_method(int id, COMP_METHOD *cm) return(0); } } + +const char *SSL_COMP_get_name(const COMP_METHOD *comp) + { + if (comp) + return comp->name; + return NULL; + } + diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index 0c84e3dddd..bf7d7ba561 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -2207,6 +2207,20 @@ SSL_CIPHER *SSL_get_current_cipher(SSL *s) return(NULL); } +const COMP_METHOD *SSL_get_current_compression(SSL *s) + { + if (s->compress != NULL) + return(s->compress->meth); + return(NULL); + } + +const COMP_METHOD *SSL_get_current_expansion(SSL *s) + { + if (s->expand != NULL) + return(s->expand->meth); + return(NULL); + } + int ssl_init_wbio_buffer(SSL *s,int push) { BIO *bbio;