summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2003-10-06 12:18:39 +0000
committerRichard Levitte <levitte@openssl.org>2003-10-06 12:18:39 +0000
commit377dcdba44742ce641521dd4745a37a7321b41bd (patch)
tree3dedbf83343be7d7f8726d8d74420f1379f077cf
parent8242354952ead170335b98b33254ca9a0e836926 (diff)
Add functionality to get information on compression methods (not quite complete).
-rw-r--r--ssl/ssl.h4
-rw-r--r--ssl/ssl_algs.c6
-rw-r--r--ssl/ssl_ciph.c8
-rw-r--r--ssl/ssl_lib.c14
4 files changed, 32 insertions, 0 deletions
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
@@ -109,6 +109,12 @@ int SSL_library_init(void)
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;