Avoid some warnings, and run "make update".
[openssl.git] / ssl / ssl_lib.c
index 3bd8d158c90e2c3a7245735d1a6082914a840dbb..3770bdf0f572afb59634afc20ef7c83c500a14c6 100644 (file)
@@ -72,12 +72,13 @@ static int ssl_meth_num=0;
 static int ssl_ctx_meth_num=0;
 
 OPENSSL_GLOBAL SSL3_ENC_METHOD ssl3_undef_enc_method={
+       /* evil casts, but these functions are only called if there's a libraryr bug */
+       (int (*)(SSL *,int))ssl_undefined_function,
+       (int (*)(SSL *, unsigned char *, int))ssl_undefined_function,
        ssl_undefined_function,
-       ssl_undefined_function,
-       ssl_undefined_function,
-       ssl_undefined_function,
-       ssl_undefined_function,
-       ssl_undefined_function,
+       (int (*)(SSL *, unsigned char *, unsigned char *, int))ssl_undefined_function,
+       (int (*)(SSL*, int))ssl_undefined_function,
+       (int (*)(SSL *, EVP_MD_CTX *, EVP_MD_CTX *, const char*, int, unsigned char *))ssl_undefined_function
        };
 
 int SSL_clear(SSL *s)
@@ -476,6 +477,38 @@ err:
        }
 #endif
 
+
+/* return length of latest Finished message we sent, copy to 'buf' */
+size_t SSL_get_finished(SSL *s, void *buf, size_t count)
+       {
+       size_t ret = 0;
+       
+       if (s->s3 != NULL)
+               {
+               ret = s->s3->tmp.finish_md_len;
+               if (count > ret)
+                       count = ret;
+               memcpy(buf, s->s3->tmp.finish_md, count);
+               }
+       return ret;
+       }
+
+/* return length of latest Finished message we expected, copy to 'buf' */
+size_t SSL_get_peer_finished(SSL *s, void *buf, size_t count)
+       {
+       size_t ret = 0;
+       
+       if (s->s3 != NULL)
+               {
+               ret = s->s3->tmp.peer_finish_md_len;
+               if (count > ret)
+                       count = ret;
+               memcpy(buf, s->s3->tmp.peer_finish_md, count);
+               }
+       return ret;
+       }
+
+
 int SSL_get_verify_mode(SSL *s)
        {
        return(s->verify_mode);
@@ -877,7 +910,7 @@ const char *SSL_get_cipher_list(SSL *s,int n)
        return(c->name);
        }
 
-/** specify the ciphers to be used by defaut by the SSL_CTX */
+/** specify the ciphers to be used by default by the SSL_CTX */
 int SSL_CTX_set_cipher_list(SSL_CTX *ctx,char *str)
        {
        STACK_OF(SSL_CIPHER) *sk;
@@ -1120,12 +1153,6 @@ SSL_CTX *SSL_CTX_new(SSL_METHOD *meth)
        ret->extra_certs=NULL;
        ret->comp_methods=SSL_COMP_get_compression_methods();
 
-       /* Initialise X509 tables: otherwise some certificate operations
-        * wont work. This is a non op if called more than once.
-        */
-
-       X509_init();
-
        return(ret);
 err:
        SSLerr(SSL_F_SSL_CTX_NEW,ERR_R_MALLOC_FAILURE);