More truth in declarations.
diff --git a/ssl/ssl.h b/ssl/ssl.h index 56f08c0..594ca96 100644 --- a/ssl/ssl.h +++ b/ssl/ssl.h
@@ -400,7 +400,7 @@ /**/ struct cert_st /* CERT */ *default_cert; /**/ int read_ahead; /**/ int verify_mode; -/**/ int (*default_verify_callback)(); +/**/ int (*default_verify_callback)(int ok,X509_STORE_CTX *ctx); /* Default password callback. */ /**/ int (*default_passwd_callback)(); @@ -562,7 +562,7 @@ /* Used in SSL2 and SSL3 */ int verify_mode; /* 0 don't care about verify failure. * 1 fail if verify fails */ - int (*verify_callback)(); /* fail if callback returns 0 */ + int (*verify_callback)(int ok,X509_STORE_CTX *ctx); /* fail if callback returns 0 */ void (*info_callback)(); /* optional informational callback */ int error; /* error bytes to be written */ @@ -841,8 +841,9 @@ int SSL_set_cipher_list(SSL *s, char *str); void SSL_set_read_ahead(SSL *s, int yes); int SSL_get_verify_mode(SSL *s); -int (*SSL_get_verify_callback(SSL *s))(); -void SSL_set_verify(SSL *s, int mode, int (*callback) ()); +int (*SSL_get_verify_callback(SSL *s))(int ok,X509_STORE_CTX *ctx); +void SSL_set_verify(SSL *s, int mode, + int (*callback)(int ok,X509_STORE_CTX *ctx)); int SSL_use_RSAPrivateKey(SSL *ssl, RSA *rsa); int SSL_use_RSAPrivateKey_ASN1(SSL *ssl, unsigned char *d, long len); int SSL_use_PrivateKey(SSL *ssl, EVP_PKEY *pkey); @@ -895,8 +896,9 @@ STACK * SSL_get_peer_cert_chain(SSL *s); int SSL_CTX_get_verify_mode(SSL_CTX *ctx); -int (*SSL_CTX_get_verify_callback(SSL_CTX *ctx))(); -void SSL_CTX_set_verify(SSL_CTX *ctx,int mode,int (*callback)(int, X509_STORE_CTX *)); +int (*SSL_CTX_get_verify_callback(SSL_CTX *ctx))(int ok,X509_STORE_CTX *ctx); +void SSL_CTX_set_verify(SSL_CTX *ctx,int mode, + int (*callback)(int, X509_STORE_CTX *)); void SSL_CTX_set_cert_verify_cb(SSL_CTX *ctx, int (*cb)(),char *arg); int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa); int SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, unsigned char *d, long len);
diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index 947d521..0191378 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c
@@ -392,7 +392,7 @@ return(s->verify_mode); } -int (*SSL_get_verify_callback(SSL *s))() +int (*SSL_get_verify_callback(SSL *s))(int ok,X509_STORE_CTX *ctx) { return(s->verify_callback); } @@ -402,12 +402,13 @@ return(ctx->verify_mode); } -int (*SSL_CTX_get_verify_callback(SSL_CTX *ctx))() +int (*SSL_CTX_get_verify_callback(SSL_CTX *ctx))(int ok,X509_STORE_CTX *ctx) { return(ctx->default_verify_callback); } -void SSL_set_verify(SSL *s,int mode,int (*callback)()) +void SSL_set_verify(SSL *s,int mode, + int (*callback)(int ok,X509_STORE_CTX *ctx)) { s->verify_mode=mode; if (callback != NULL)