提交 45d87a1f 编写于 作者: B Ben Laurie

Prototype info function.

上级 a3feb21b
......@@ -155,6 +155,6 @@ long MS_CALLBACK bio_dump_cb(BIO *bio, int cmd, const char *argp,
int argi, long argl, long ret);
#ifdef HEADER_SSL_H
void MS_CALLBACK apps_ssl_info_callback(SSL *s, int where, int ret);
void MS_CALLBACK apps_ssl_info_callback(const SSL *s, int where, int ret);
void MS_CALLBACK msg_cb(int write_p, int version, int content_type, const void *buf, size_t len, SSL *ssl, void *arg);
#endif
......@@ -253,7 +253,7 @@ long MS_CALLBACK bio_dump_cb(BIO *bio, int cmd, const char *argp, int argi,
return(ret);
}
void MS_CALLBACK apps_ssl_info_callback(SSL *s, int where, int ret)
void MS_CALLBACK apps_ssl_info_callback(const SSL *s, int where, int ret)
{
char *str;
int w;
......
......@@ -467,8 +467,9 @@ int BIO_read_filename(BIO *b,const char *name);
size_t BIO_ctrl_pending(BIO *b);
size_t BIO_ctrl_wpending(BIO *b);
#define BIO_flush(b) (int)BIO_ctrl(b,BIO_CTRL_FLUSH,0,NULL)
#define BIO_get_info_callback(b,cbp) (int)BIO_ctrl(b,BIO_CTRL_GET_CALLBACK,0,(bio_info_cb **)(cbp))
#define BIO_set_info_callback(b,cb) (int)BIO_callback_ctrl(b,BIO_CTRL_SET_CALLBACK,(bio_info_cb *)(cb))
#define BIO_get_info_callback(b,cbp) (int)BIO_ctrl(b,BIO_CTRL_GET_CALLBACK,0, \
cbp)
#define BIO_set_info_callback(b,cb) (int)BIO_callback_ctrl(b,BIO_CTRL_SET_CALLBACK,cb)
/* For the BIO_f_buffer() type */
#define BIO_buffer_get_num_lines(b) BIO_ctrl(b,BIO_CTRL_GET,0,NULL)
......
......@@ -95,7 +95,7 @@ typedef struct bio_connect_st
/* called when the connection is initially made
* callback(BIO,state,ret); The callback should return
* 'ret'. state is for compatibility with the ssl info_callback */
int (*info_callback)();
int (*info_callback)(const BIO *bio,int state,int ret);
} BIO_CONNECT;
static int conn_write(BIO *h, const char *buf, int num);
......@@ -574,7 +574,8 @@ static long conn_ctrl(BIO *b, int cmd, long num, void *ptr)
if (data->param_hostname)
BIO_set_conn_hostname(dbio,data->param_hostname);
BIO_set_nbio(dbio,data->nbio);
(void)BIO_set_info_callback(dbio,data->info_callback);
/* FIXME: the cast of the function seems unlikely to be a good idea */
(void)BIO_set_info_callback(dbio,(bio_info_cb *)data->info_callback);
}
break;
case BIO_CTRL_SET_CALLBACK:
......
......@@ -486,7 +486,9 @@ static long ssl_callback_ctrl(BIO *b, int cmd, bio_info_cb *fp)
{
case BIO_CTRL_SET_CALLBACK:
{
SSL_set_info_callback(ssl,fp);
/* FIXME: setting this via a completely different prototype
seems like a crap idea */
SSL_set_info_callback(ssl,(void (*)(const SSL *,int,int))fp);
}
break;
default:
......
......@@ -100,7 +100,7 @@ int ssl23_connect(SSL *s)
{
BUF_MEM *buf;
unsigned long Time=time(NULL);
void (*cb)()=NULL;
void (*cb)(const SSL *ssl,int type,int val)=NULL;
int ret= -1;
int new_state,state;
......@@ -440,7 +440,7 @@ static int ssl23_get_server_hello(SSL *s)
(p[3] == 0) &&
(p[4] == 2))
{
void (*cb)()=NULL;
void (*cb)(const SSL *ssl,int type,int val)=NULL;
int j;
/* An alert */
......
......@@ -152,7 +152,7 @@ int ssl23_accept(SSL *s)
{
BUF_MEM *buf;
unsigned long Time=time(NULL);
void (*cb)()=NULL;
void (*cb)(const SSL *ssl,int type,int val)=NULL;
int ret= -1;
int new_state,state;
......
......@@ -158,7 +158,7 @@ int ssl2_connect(SSL *s)
unsigned long l=time(NULL);
BUF_MEM *buf=NULL;
int ret= -1;
void (*cb)()=NULL;
void (*cb)(const SSL *ssl,int type,int val)=NULL;
int new_state,state;
RAND_add(&l,sizeof(l),0);
......
......@@ -159,7 +159,7 @@ int ssl2_accept(SSL *s)
BUF_MEM *buf=NULL;
int ret= -1;
long num1;
void (*cb)()=NULL;
void (*cb)(const SSL *ssl,int type,int val)=NULL;
int new_state,state;
RAND_add(&l,sizeof(l),0);
......
......@@ -106,7 +106,7 @@ int ssl3_connect(SSL *s)
BUF_MEM *buf;
unsigned long Time=time(NULL),l;
long num1;
void (*cb)()=NULL;
void (*cb)(const SSL *ssl,int type,int val)=NULL;
int ret= -1;
int new_state,state,skip=0;;
......
......@@ -730,7 +730,7 @@ int ssl3_read_bytes(SSL *s, int type, unsigned char *buf, int len, int peek)
int al,i,j,ret;
unsigned int n;
SSL3_RECORD *rr;
void (*cb)()=NULL;
void (*cb)(const SSL *ssl,int type2,int val)=NULL;
if (s->s3->rbuf.buf == NULL) /* Not initialized yet */
if (!ssl3_setup_buffers(s))
......@@ -1207,7 +1207,7 @@ void ssl3_send_alert(SSL *s, int level, int desc)
int ssl3_dispatch_alert(SSL *s)
{
int i,j;
void (*cb)()=NULL;
void (*cb)(const SSL *ssl,int type,int val)=NULL;
s->s3->alert_dispatch=0;
i=do_ssl3_write(s,SSL3_RT_ALERT,&s->s3->send_alert[0],2);
......
......@@ -164,7 +164,7 @@ int ssl3_accept(SSL *s)
{
BUF_MEM *buf;
unsigned long l,Time=time(NULL);
void (*cb)()=NULL;
void (*cb)(const SSL *ssl,int type,int val)=NULL;
long num1;
int ret= -1;
int new_state,state,skip=0;
......
......@@ -578,7 +578,7 @@ struct ssl_ctx_st
/* Default values used when no per-SSL value is defined follow */
void (*info_callback)(); /* used if SSL's info_callback is NULL */
void (*info_callback)(const SSL *ssl,int type,int val); /* used if SSL's info_callback is NULL */
/* what we put in client cert requests */
STACK_OF(X509_NAME) *client_CA;
......@@ -794,7 +794,7 @@ struct ssl_st
int verify_depth;
int (*verify_callback)(int ok,X509_STORE_CTX *ctx); /* fail if callback returns 0 */
void (*info_callback)(); /* optional informational callback */
void (*info_callback)(const SSL *ssl,int type,int val); /* optional informational callback */
int error; /* error bytes to be written */
int error_code; /* actual code */
......@@ -1135,10 +1135,10 @@ int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs,
#endif
void SSL_load_error_strings(void );
const char *SSL_state_string(SSL *s);
const char *SSL_rstate_string(SSL *s);
const char *SSL_state_string_long(SSL *s);
const char *SSL_rstate_string_long(SSL *s);
const char *SSL_state_string(const SSL *s);
const char *SSL_rstate_string(const SSL *s);
const char *SSL_state_string_long(const SSL *s);
const char *SSL_rstate_string_long(const SSL *s);
long SSL_SESSION_get_time(SSL_SESSION *s);
long SSL_SESSION_set_time(SSL_SESSION *s, long t);
long SSL_SESSION_get_timeout(SSL_SESSION *s);
......@@ -1289,8 +1289,9 @@ int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile,
SSL_SESSION *SSL_get_session(SSL *ssl);
SSL_SESSION *SSL_get1_session(SSL *ssl); /* obtain a reference count */
SSL_CTX *SSL_get_SSL_CTX(SSL *ssl);
void SSL_set_info_callback(SSL *ssl,void (*cb)());
void (*SSL_get_info_callback(SSL *ssl))();
void SSL_set_info_callback(SSL *ssl,
void (*cb)(const SSL *ssl,int type,int val));
void (*SSL_get_info_callback(SSL *ssl))(const SSL *ssl,int type,int val);
int SSL_state(SSL *ssl);
void SSL_set_verify_result(SSL *ssl,long v);
......
......@@ -1313,7 +1313,7 @@ SSL_CTX *SSL_CTX_new(SSL_METHOD *meth)
ret->key_arg=NULL;
ret->s2->conn_id=NULL; */
ret->info_callback=0;
ret->info_callback=NULL;
ret->app_verify_callback=0;
ret->app_verify_arg=NULL;
......@@ -2136,14 +2136,15 @@ int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile,
}
#endif
void SSL_set_info_callback(SSL *ssl,void (*cb)())
void SSL_set_info_callback(SSL *ssl,
void (*cb)(const SSL *ssl,int type,int val))
{
ssl->info_callback=cb;
}
void (*SSL_get_info_callback(SSL *ssl))(void)
void (*SSL_get_info_callback(SSL *ssl))(const SSL *ssl,int type,int val)
{
return((void (*)())ssl->info_callback);
return ssl->info_callback;
}
int SSL_state(SSL *ssl)
......
......@@ -59,7 +59,7 @@
#include <stdio.h>
#include "ssl_locl.h"
const char *SSL_state_string_long(SSL *s)
const char *SSL_state_string_long(const SSL *s)
{
const char *str;
......@@ -199,7 +199,7 @@ default: str="unknown state"; break;
return(str);
}
const char *SSL_rstate_string_long(SSL *s)
const char *SSL_rstate_string_long(const SSL *s)
{
const char *str;
......@@ -213,7 +213,7 @@ const char *SSL_rstate_string_long(SSL *s)
return(str);
}
const char *SSL_state_string(SSL *s)
const char *SSL_state_string(const SSL *s)
{
const char *str;
......@@ -487,7 +487,7 @@ const char *SSL_alert_desc_string_long(int value)
return(str);
}
const char *SSL_rstate_string(SSL *s)
const char *SSL_rstate_string(const SSL *s)
{
const char *str;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册