List Info

Thread: OpenSSL: openssl/apps/ dgst.c enc.c s_client.c s_server.c openss...




OpenSSL: openssl/apps/ dgst.c enc.c s_client.c s_server.c openss...
user name
2006-11-29 20:54:57
  OpenSSL CVS Repository
  http://cvs.openssl.org/
 
____________________________________________________________
________________

  Server: cvs.openssl.org                  Name:   Nils
Larsch
  Root:   /v/openssl/cvs                   Email:  nilsopenssl.org
  Module: openssl                          Date:  
29-Nov-2006 21:54:57
  Branch: HEAD                             Handle:
2006112920545403

  Modified files:
    openssl/apps            dgst.c enc.c s_client.c
s_server.c
    openssl/crypto/bio      bio.h bio_lib.c
    openssl/crypto/evp      evp.h evp_lib.c
    openssl/ssl             ssl.h ssl_lib.c ssl_sess.c

  Log:
    replace macros with functions
    
    Submitted by: Tracy Camp <tracyx.e.campintel.com>

  Summary:
    Revision    Changes     Path
    1.38        +1  -1      openssl/apps/dgst.c
    1.47        +4  -4      openssl/apps/enc.c
    1.98        +1  -1      openssl/apps/s_client.c
    1.117       +2  -2      openssl/apps/s_server.c
    1.70        +24 -20     openssl/crypto/bio/bio.h
    1.26        +46 -0      openssl/crypto/bio/bio_lib.c
    1.169       +32 -29     openssl/crypto/evp/evp.h
    1.11        +109 -0     openssl/crypto/evp/evp_lib.c
    1.187       +26 -16     openssl/ssl/ssl.h
    1.152       +32 -2      openssl/ssl/ssl_lib.c
    1.63        +69 -0      openssl/ssl/ssl_sess.c
 
____________________________________________________________
________________

  patch -p0 <<' .'
  Index: openssl/apps/dgst.c
 
============================================================
================
  $ cvs diff -u -r1.37 -r1.38 dgst.c
  --- openssl/apps/dgst.c	28 Mar 2006 17:23:47 -0000	1.37
  +++ openssl/apps/dgst.c	29 Nov 2006 20:54:54 -0000	1.38
   -264,7 +264,7 
   		{
   		BIO_set_callback(in,BIO_debug_callback);
   		/* needed for windows 3.1 */
  -		BIO_set_callback_arg(in,bio_err);
  +		BIO_set_callback_arg(in,(char *)bio_err);
   		}
   
   	if(!app_passwd(bio_err, passargin, NULL, &passin,
NULL))
   .
  patch -p0 <<' .'
  Index: openssl/apps/enc.c
 
============================================================
================
  $ cvs diff -u -r1.46 -r1.47 enc.c
  --- openssl/apps/enc.c	22 Sep 2006 17:14:22 -0000	1.46
  +++ openssl/apps/enc.c	29 Nov 2006 20:54:55 -0000	1.47
   -365,8 +365,8 
   		{
   		BIO_set_callback(in,BIO_debug_callback);
   		BIO_set_callback(out,BIO_debug_callback);
  -		BIO_set_callback_arg(in,bio_err);
  -		BIO_set_callback_arg(out,bio_err);
  +		BIO_set_callback_arg(in,(char *)bio_err);
  +		BIO_set_callback_arg(out,(char *)bio_err);
   		}
   
   	if (inf == NULL)
   -453,7 +453,7 
   		if (debug)
   			{
   			BIO_set_callback(b64,BIO_debug_callback);
  -			BIO_set_callback_arg(b64,bio_err);
  +			BIO_set_callback_arg(b64,(char *)bio_err);
   			}
   		if (olb64)
   			BIO_set_flags(b64,BIO_FLAGS_BASE64_NO_NL);
   -571,7 +571,7 
   		if (debug)
   			{
   			BIO_set_callback(benc,BIO_debug_callback);
  -			BIO_set_callback_arg(benc,bio_err);
  +			BIO_set_callback_arg(benc,(char *)bio_err);
   			}
   
   		if (printkey)
   .
  patch -p0 <<' .'
  Index: openssl/apps/s_client.c
 
============================================================
================
  $ cvs diff -u -r1.97 -r1.98 s_client.c
  --- openssl/apps/s_client.c	17 Sep 2006 17:16:24
-0000	1.97
  +++ openssl/apps/s_client.c	29 Nov 2006 20:54:55
-0000	1.98
   -872,7 +872,7 
   		{
   		con->debug=1;
   		BIO_set_callback(sbio,bio_dump_callback);
  -		BIO_set_callback_arg(sbio,bio_c_out);
  +		BIO_set_callback_arg(sbio,(char *)bio_c_out);
   		}
   	if (c_msg)
   		{
   .
  patch -p0 <<' .'
  Index: openssl/apps/s_server.c
 
============================================================
================
  $ cvs diff -u -r1.116 -r1.117 s_server.c
  --- openssl/apps/s_server.c	17 Sep 2006 17:16:24
-0000	1.116
  +++ openssl/apps/s_server.c	29 Nov 2006 20:54:55
-0000	1.117
   -1602,7 +1602,7 
   		{
   		con->debug=1;
   		BIO_set_callback(SSL_get_rbio(con),bio_dump_callback);
  -		BIO_set_callback_arg(SSL_get_rbio(con),bio_s_out);
  +		BIO_set_callback_arg(SSL_get_rbio(con),(char
*)bio_s_out);
   		}
   	if (s_msg)
   		{
   -2020,7 +2020,7 
   		{
   		con->debug=1;
   		BIO_set_callback(SSL_get_rbio(con),bio_dump_callback);
  -		BIO_set_callback_arg(SSL_get_rbio(con),bio_s_out);
  +		BIO_set_callback_arg(SSL_get_rbio(con),(char
*)bio_s_out);
   		}
   	if (s_msg)
   		{
   .
  patch -p0 <<' .'
  Index: openssl/crypto/bio/bio.h
 
============================================================
================
  $ cvs diff -u -r1.69 -r1.70 bio.h
  --- openssl/crypto/bio/bio.h	18 Dec 2005 19:11:36
-0000	1.69
  +++ openssl/crypto/bio/bio.h	29 Nov 2006 20:54:55
-0000	1.70
   -196,28 +196,32 
    */
   #define BIO_FLAGS_MEM_RDONLY	0x200
   
  -#define BIO_set_flags(b,f) ((b)->flags|=(f))
  -#define BIO_get_flags(b) ((b)->flags)
  +typedef struct bio_st BIO;
  +
  +void BIO_set_flags(BIO *b, int flags);
  +int  BIO_test_flags(const BIO *b, int flags);
  +void BIO_clear_flags(BIO *b, int flags);
  +
  +#define BIO_get_flags(b) BIO_test_flags(b, ~(0x0))
   #define BIO_set_retry_special(b) 
 
-		((b)->flags|=(BIO_FLAGS_IO_SPECIAL|BIO_FLAGS_SHOULD_RE
TRY))
  +		BIO_set_flags(b,
(BIO_FLAGS_IO_SPECIAL|BIO_FLAGS_SHOULD_RETRY))
   #define BIO_set_retry_read(b) 
 
-		((b)->flags|=(BIO_FLAGS_READ|BIO_FLAGS_SHOULD_RETRY))
  +		BIO_set_flags(b,
(BIO_FLAGS_READ|BIO_FLAGS_SHOULD_RETRY))
   #define BIO_set_retry_write(b) 
 
-		((b)->flags|=(BIO_FLAGS_WRITE|BIO_FLAGS_SHOULD_RETRY))
  +		BIO_set_flags(b,
(BIO_FLAGS_WRITE|BIO_FLAGS_SHOULD_RETRY))
   
   /* These are normally used internally in BIOs */
  -#define BIO_clear_flags(b,f) ((b)->flags&= ~(f))
   #define BIO_clear_retry_flags(b) 
  -		((b)->flags&=
~(BIO_FLAGS_RWS|BIO_FLAGS_SHOULD_RETRY))
  +		BIO_clear_flags(b,
(BIO_FLAGS_RWS|BIO_FLAGS_SHOULD_RETRY))
   #define BIO_get_retry_flags(b) 
 
-		((b)->flags&(BIO_FLAGS_RWS|BIO_FLAGS_SHOULD_RETRY)
)
  +		BIO_test_flags(b,
(BIO_FLAGS_RWS|BIO_FLAGS_SHOULD_RETRY))
   
   /* These should be used by the application to tell why we
should retry */
  -#define BIO_should_read(a)		((a)->flags &
BIO_FLAGS_READ)
  -#define BIO_should_write(a)		((a)->flags &
BIO_FLAGS_WRITE)
  -#define BIO_should_io_special(a)	((a)->flags &
BIO_FLAGS_IO_SPECIAL)
  -#define BIO_retry_type(a)		((a)->flags &
BIO_FLAGS_RWS)
  -#define BIO_should_retry(a)		((a)->flags &
BIO_FLAGS_SHOULD_RETRY)
  +#define BIO_should_read(a)		BIO_test_flags(a,
BIO_FLAGS_READ)
  +#define BIO_should_write(a)		BIO_test_flags(a,
BIO_FLAGS_WRITE)
  +#define BIO_should_io_special(a)	BIO_test_flags(a,
BIO_FLAGS_IO_SPECIAL)
  +#define BIO_retry_type(a)		BIO_test_flags(a,
BIO_FLAGS_RWS)
  +#define BIO_should_retry(a)		BIO_test_flags(a,
BIO_FLAGS_SHOULD_RETRY)
   
   /* The next three are used in conjunction with the
    * BIO_should_io_special() condition.  After this returns
true,
   -246,14 +250,14 
   #define BIO_cb_pre(a)	(!((a)&BIO_CB_RETURN))
   #define BIO_cb_post(a)	((a)&BIO_CB_RETURN)
   
  -#define BIO_set_callback(b,cb)		((b)->callback=(cb))
  -#define BIO_set_callback_arg(b,arg)	((b)->cb_arg=(char
*)(arg))
  -#define BIO_get_callback_arg(b)		((b)->cb_arg)
  -#define BIO_get_callback(b)		((b)->callback)
  -#define BIO_method_name(b)		((b)->method->name)
  -#define BIO_method_type(b)		((b)->method->type)
  +long (*BIO_get_callback(const BIO *b)) (struct bio_st
*,int,const char *,int, long,long);
  +void BIO_set_callback(BIO *b, 
  +	long (*callback)(struct bio_st *,int,const char *,int,
long,long));
  +char *BIO_get_callback_arg(const BIO *b);
  +void BIO_set_callback_arg(BIO *b, char *arg);
   
  -typedef struct bio_st BIO;
  +const char * BIO_method_name(const BIO *b);
  +int BIO_method_type(const BIO *b);
   
   typedef void bio_info_cb(struct bio_st *, int, const char
*, int, long, long);
   
   .
  patch -p0 <<' .'
  Index: openssl/crypto/bio/bio_lib.c
 
============================================================
================
  $ cvs diff -u -r1.25 -r1.26 bio_lib.c
  --- openssl/crypto/bio/bio_lib.c	26 Apr 2005 18:53:11
-0000	1.25
  +++ openssl/crypto/bio/bio_lib.c	29 Nov 2006 20:54:55
-0000	1.26
   -141,6 +141,52 
   void BIO_vfree(BIO *a)
       { BIO_free(a); }
   
  +void BIO_clear_flags(BIO *b, int flags)
  +	{
  +	b->flags &= ~flags;
  +	}
  +
  +int	BIO_test_flags(const BIO *b, int flags)
  +	{
  +	return (b->flags & flags);
  +	}
  +
  +void	BIO_set_flags(BIO *b, int flags)
  +	{
  +	b->flags |= flags;
  +	}
  +
  +long (*BIO_get_callback(const BIO *b))(struct bio_st
*,int,const char *,int, long,long)
  +	{
  +	return b->callback;
  +	}
  +
  +void BIO_set_callback(BIO *b, long (*cb)(struct bio_st
*,int,const char *,int, long,long))
  +	{
  +	b->callback = cb;
  +	}
  +
  +void BIO_set_callback_arg(BIO *b, char *arg)
  +	{
  +	b->cb_arg = arg;
  +	}
  +
  +char * BIO_get_callback_arg(const BIO *b)
  +	{
  +	return b->cb_arg;
  +	}
  +
  +const char * BIO_method_name(const BIO *b)
  +	{
  +	return b->method->name;
  +	}
  +
  +int BIO_method_type(const BIO *b)
  +	{
  +	return b->method->type;
  +	}
  +
  +
   int BIO_read(BIO *b, void *out, int outl)
   	{
   	int i;
   .
  patch -p0 <<' .'
  Index: openssl/crypto/evp/evp.h
 
============================================================
================
  $ cvs diff -u -r1.168 -r1.169 evp.h
  --- openssl/crypto/evp/evp.h	28 Aug 2006 17:00:59
-0000	1.168
  +++ openssl/crypto/evp/evp.h	29 Nov 2006 20:54:56
-0000	1.169
   -411,36 +411,36 
   #define EVP_get_cipherbynid(a)
EVP_get_cipherbyname(OBJ_nid2sn(a))
   #define EVP_get_cipherbyobj(a)
EVP_get_cipherbynid(OBJ_obj2nid(a))
   
  -#define EVP_MD_type(e)			((e)->type)
  +int EVP_MD_type(const EVP_MD *md);
   #define EVP_MD_nid(e)			EVP_MD_type(e)
   #define EVP_MD_name(e)			OBJ_nid2sn(EVP_MD_nid(e))
  -#define EVP_MD_pkey_type(e)		((e)->pkey_type)
  -#define EVP_MD_size(e)			((e)->md_size)
  -#define EVP_MD_block_size(e)		((e)->block_size)
  -
  -#define EVP_MD_CTX_md(e)		((e)->digest)
  -#define EVP_MD_CTX_size(e)		EVP_MD_size((e)->digest)
  -#define
EVP_MD_CTX_block_size(e)	EVP_MD_block_size((e)->digest)
  -#define EVP_MD_CTX_type(e)		EVP_MD_type((e)->digest)
  +int EVP_MD_pkey_type(const EVP_MD *md);	
  +int EVP_MD_size(const EVP_MD *md);
  +int EVP_MD_block_size(const EVP_MD *md);
  +
  +const EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *ctx);
  +#define EVP_MD_CTX_size(e)		EVP_MD_size(EVP_MD_CTX_md(e))
  +#define
EVP_MD_CTX_block_size(e)	EVP_MD_block_size(EVP_MD_CTX_md(e))
  +#define EVP_MD_CTX_type(e)		EVP_MD_type(EVP_MD_CTX_md(e))
   
  -#define EVP_CIPHER_nid(e)		((e)->nid)
  +int EVP_CIPHER_nid(const EVP_CIPHER *cipher);
   #define EVP_CIPHER_name(e)		OBJ_nid2sn(EVP_CIPHER_nid(e))
  -#define EVP_CIPHER_block_size(e)	((e)->block_size)
  -#define EVP_CIPHER_key_length(e)	((e)->key_len)
  -#define EVP_CIPHER_iv_length(e)		((e)->iv_len)
  -#define EVP_CIPHER_flags(e)		((e)->flags)
  -#define EVP_CIPHER_mode(e)		(((e)->flags) &
EVP_CIPH_MODE)
  -
  -#define EVP_CIPHER_CTX_cipher(e)	((e)->cipher)
  -#define EVP_CIPHER_CTX_nid(e)		((e)->cipher->nid)
  -#define
EVP_CIPHER_CTX_block_size(e)	((e)->cipher->block_size)
  -#define EVP_CIPHER_CTX_key_length(e)	((e)->key_len)
  -#define
EVP_CIPHER_CTX_iv_length(e)	((e)->cipher->iv_len)
  -#define EVP_CIPHER_CTX_get_app_data(e)	((e)->app_data)
  -#define EVP_CIPHER_CTX_set_app_data(e,d)
((e)->app_data=(char *)(d))
  +int EVP_CIPHER_block_size(const EVP_CIPHER *cipher);
  +int EVP_CIPHER_key_length(const EVP_CIPHER *cipher);
  +int EVP_CIPHER_iv_length(const EVP_CIPHER *cipher);
  +unsigned long EVP_CIPHER_flags(const EVP_CIPHER *cipher);
  +#define EVP_CIPHER_mode(e)		(EVP_CIPHER_flags(e) &
EVP_CIPH_MODE)
  +
  +const EVP_CIPHER * EVP_CIPHER_CTX_cipher(const
EVP_CIPHER_CTX *ctx);
  +int EVP_CIPHER_CTX_nid(const EVP_CIPHER_CTX *ctx);
  +int EVP_CIPHER_CTX_block_size(const EVP_CIPHER_CTX *ctx);
  +int EVP_CIPHER_CTX_key_length(const EVP_CIPHER_CTX *ctx);
  +int EVP_CIPHER_CTX_iv_length(const EVP_CIPHER_CTX *ctx);
  +void * EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX
*ctx);
  +void EVP_CIPHER_CTX_set_app_data(EVP_CIPHER_CTX *ctx,
void *data);
   #define EVP_CIPHER_CTX_type(c)        
EVP_CIPHER_type(EVP_CIPHER_CTX_cipher(c))
  -#define
EVP_CIPHER_CTX_flags(e)		((e)->cipher->flags)
  -#define EVP_CIPHER_CTX_mode(e)		((e)->cipher->flags
& EVP_CIPH_MODE)
  +unsigned long EVP_CIPHER_CTX_flags(const EVP_CIPHER_CTX
*ctx);
  +#define EVP_CIPHER_CTX_mode(e)		(EVP_CIPHER_CTX_flags(e)
& EVP_CIPH_MODE)
   
   #define EVP_ENCODE_LENGTH(l)	(((l+2)/3*4)+(l/48+1)*2+80)
   #define EVP_DECODE_LENGTH(l)	((l+3)/4*3+80)
   -466,7 +466,10 
   #define
BIO_get_cipher_status(b)	BIO_ctrl(b,BIO_C_GET_CIPHER_STATUS,
0,NULL)
   #define
BIO_get_cipher_ctx(b,c_pp)	BIO_ctrl(b,BIO_C_GET_CIPHER_CTX,0
,(char *)c_pp)
   
 
-#define	EVP_Cipher(c,o,i,l)	(c)->cipher->do_cipher((c
),(o),(i),(l))
  +int EVP_Cipher(EVP_CIPHER_CTX *c,
  +		unsigned char *out,
  +		const unsigned char *in,
  +		unsigned int inl);
   
   #define EVP_add_cipher_alias(n,alias) 
   	OBJ_NAME_add((alias),OBJ_NAME_TYPE_CIPHER_METHBJ_NAME_A
LIAS,(n))
   -482,9 +485,9 
   EVP_MD_CTX *EVP_MD_CTX_create(void);
   void	EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
   int     EVP_MD_CTX_copy_ex(EVP_MD_CTX *out,const
EVP_MD_CTX *in);  
  -#define EVP_MD_CTX_set_flags(ctx,flgs)
((ctx)->flags|=(flgs))
  -#define EVP_MD_CTX_clear_flags(ctx,flgs)
((ctx)->flags&=~(flgs))
  -#define EVP_MD_CTX_test_flags(ctx,flgs)
((ctx)->flags&(flgs))
  +void	EVP_MD_CTX_set_flags(EVP_MD_CTX *ctx, int flags);
  +void	EVP_MD_CTX_clear_flags(EVP_MD_CTX *ctx, int flags);
  +int 	EVP_MD_CTX_test_flags(const EVP_MD_CTX *ctx,int
flags);
   int	EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD
*type, ENGINE *impl);
   int	EVP_DigestUpdate(EVP_MD_CTX *ctx,const void *d,
   			 size_t cnt);
   .
  patch -p0 <<' .'
  Index: openssl/crypto/evp/evp_lib.c
 
============================================================
================
  $ cvs diff -u -r1.10 -r1.11 evp_lib.c
  --- openssl/crypto/evp/evp_lib.c	4 Jul 2004 16:44:52
-0000	1.10
  +++ openssl/crypto/evp/evp_lib.c	29 Nov 2006 20:54:56
-0000	1.11
   -168,3 +168,112 
   	}
   }
   
  +int EVP_CIPHER_block_size(const EVP_CIPHER *e)
  +	{
  +	return e->block_size;
  +	}
  +
  +int EVP_CIPHER_CTX_block_size(const EVP_CIPHER_CTX *ctx)
  +	{
  +	return ctx->cipher->block_size;
  +	}
  +
  +int EVP_Cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
const unsigned char *in, unsigned int inl)
  +	{
  +	return ctx->cipher->do_cipher(ctx,out,in,inl);
  +	}
  +
  +const EVP_CIPHER *EVP_CIPHER_CTX_cipher(const
EVP_CIPHER_CTX *ctx)
  +	{
  +	return ctx->cipher;
  +	}
  +
  +unsigned long EVP_CIPHER_flags(const EVP_CIPHER *cipher)
  +	{
  +	return cipher->flags;
  +	}
  +
  +unsigned long EVP_CIPHER_CTX_flags(const EVP_CIPHER_CTX
*ctx)
  +	{
  +	return ctx->cipher->flags;
  +	}
  +
  +void *EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX
*ctx)
  +	{
  +	return ctx->app_data;
  +	}
  +
  +void EVP_CIPHER_CTX_set_app_data(EVP_CIPHER_CTX *ctx,
void *data)
  +	{
  +	ctx->app_data = data;
  +	}
  +
  +int EVP_CIPHER_iv_length(const EVP_CIPHER *cipher)
  +	{
  +	return cipher->iv_len;
  +	}
  +
  +int EVP_CIPHER_CTX_iv_length(const EVP_CIPHER_CTX *ctx)
  +	{
  +	return ctx->cipher->iv_len;
  +	}
  +
  +int EVP_CIPHER_key_length(const EVP_CIPHER *cipher)
  +	{
  +	return cipher->key_len;
  +	}
  +
  +int EVP_CIPHER_CTX_key_length(const EVP_CIPHER_CTX *ctx)
  +	{
  +	return ctx->cipher->key_len;
  +	}
  +
  +int EVP_CIPHER_nid(const EVP_CIPHER *cipher)
  +	{
  +	return cipher->nid;
  +	}
  +
  +int EVP_CIPHER_CTX_nid(const EVP_CIPHER_CTX *ctx)
  +	{
  +	return ctx->cipher->nid;
  +	}
  +
  +int EVP_MD_block_size(const EVP_MD *md) 
  +	{
  +	return md->block_size;
  +	}
  +
  +int EVP_MD_type(const EVP_MD *md)
  +	{
  +	return md->type;
  +	}
  +
  +int EVP_MD_pkey_type(const EVP_MD *md)
  +	{
  +	return md->pkey_type;
  +	}
  +
  +int EVP_MD_size(const EVP_MD *md)
  +	{
  +	return md->md_size;
  +	}
  +
  +const EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *ctx)
  +	{
  +	return ctx->digest;
  +	}
  +
  +void EVP_MD_CTX_set_flags(EVP_MD_CTX *ctx, int flags)
  +	{
  +	ctx->flags |= flags;
  +	}
  +
  +void EVP_MD_CTX_clear_flags(EVP_MD_CTX *ctx, int flags)
  +	{
  +	ctx->flags &= ~flags;
  +	}
  +
  +int EVP_MD_CTX_test_flags(const EVP_MD_CTX *ctx, int
flags)
  +	{
  +	return (ctx->flags & flags);
  +	}
   .
  patch -p0 <<' .'
  Index: openssl/ssl/ssl.h
 
============================================================
================
  $ cvs diff -u -r1.186 -r1.187 ssl.h
  --- openssl/ssl/ssl.h	6 Nov 2006 19:53:39 -0000	1.186
  +++ openssl/ssl/ssl.h	29 Nov 2006 20:54:56 -0000	1.187
   -865,28 +865,38 
   #define SSL_CTX_sess_cache_full(ctx) 
   	SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CACHE_FULL,0,NULL)
   
  -#define
SSL_CTX_sess_set_new_cb(ctx,cb)	((ctx)->new_session_cb=(c
b))
  -#define
SSL_CTX_sess_get_new_cb(ctx)	((ctx)->new_session_cb)
  -#define
SSL_CTX_sess_set_remove_cb(ctx,cb)	((ctx)->remove_session
_cb=(cb))
  -#define
SSL_CTX_sess_get_remove_cb(ctx)	((ctx)->remove_session_cb
)
  -#define
SSL_CTX_sess_set_get_cb(ctx,cb)	((ctx)->get_session_cb=(c
b))
  -#define
SSL_CTX_sess_get_get_cb(ctx)	((ctx)->get_session_cb)
  -#define
SSL_CTX_set_info_callback(ctx,cb)	((ctx)->info_callback=(
cb))
  -#define
SSL_CTX_get_info_callback(ctx)		((ctx)->info_callback)
  -#define
SSL_CTX_set_client_cert_cb(ctx,cb)	((ctx)->client_cert_cb
=(cb))
  -#define
SSL_CTX_get_client_cert_cb(ctx)		((ctx)->client_cert_cb)
  -#define SSL_CTX_set_cookie_generate_cb(ctx,cb)
((ctx)->app_gen_cookie_cb=(cb))
  -#define SSL_CTX_set_cookie_verify_cb(ctx,cb)
((ctx)->app_verify_cookie_cb=(cb))
  +void SSL_CTX_sess_set_new_cb(SSL_CTX *ctx, int
(*new_session_cb)(struct ssl_st *ssl,SSL_SESSION *sess));
  +int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx))(struct
ssl_st *ssl, SSL_SESSION *sess);
  +void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx, void
(*remove_session_cb)(struct ssl_ctx_st *ctx,SSL_SESSION
*sess));
  +void (*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx))(struct
ssl_ctx_st *ctx, SSL_SESSION *sess);
  +void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx, SSL_SESSION
*(*get_session_cb)(struct ssl_st *ssl, unsigned char
*data,int len,int *copy));
  +SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX
*ctx))(struct ssl_st *ssl, unsigned char *Data, int len, int
*copy);
  +void SSL_CTX_set_info_callback(SSL_CTX *ctx, void
(*cb)(const SSL *ssl,int type,int val));
  +void (*SSL_CTX_get_info_callback(SSL_CTX *ctx))(const SSL
*ssl,int type,int val);
  +void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx, int
(*client_cert_cb)(SSL *ssl, X509 **x509, EVP_PKEY **pkey));
  +int (*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx))(SSL *ssl,
X509 **x509, EVP_PKEY **pkey);
  +void SSL_CTX_set_cookie_generate_cb(SSL_CTX *ctx, int
(*app_gen_cookie_cb)(SSL *ssl, unsigned char *cookie,
unsigned int *cookie_len));
  +void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx, int
(*app_verify_cookie_cb)(SSL *ssl, unsigned char *cookie,
unsigned int cookie_len));
   
   #ifndef OPENSSL_NO_PSK
   /* the maximum length of the buffer given to callbacks
containing the
    * resulting identity/psk */
   #define PSK_MAX_IDENTITY_LEN 128
   #define PSK_MAX_PSK_LEN 64
  -#define SSL_CTX_set_psk_client_callback(ctx,cb)
((ctx)->psk_client_callback=(cb))
  -#define SSL_set_psk_client_callback(ssl, cb)
((ssl)->psk_client_callback=(cb))
  -#define SSL_CTX_set_psk_server_callback(ctx,cb)
((ctx)->psk_server_callback=(cb))
  -#define SSL_set_psk_server_callback(ssl, cb)
((ssl)->psk_server_callback=(cb))
  +void SSL_CTX_set_psk_client_callback(SSL_CTX *ctx, 
  +	unsigned int (*psk_client_callback)(SSL *ssl, const char
*hint, 
  +		char *identity, unsigned int max_identity_len, unsigned
char *psk,
  +		unsigned int max_psk_len));
  +void SSL_set_psk_client_callback(SSL *ssl, 
  +	unsigned int (*psk_client_callback)(SSL *ssl, const char
*hint, 
  +		char *identity, unsigned int max_identity_len, unsigned
char *psk,
  +		unsigned int max_psk_len));
  +void SSL_CTX_set_psk_server_callback(SSL_CTX *ctx, 
  +	unsigned int (*psk_server_callback)(SSL *ssl, const char
*identity,
  +		unsigned char *psk, unsigned int max_psk_len));
  +void SSL_set_psk_server_callback(SSL *ssl,
  +	unsigned int (*psk_server_callback)(SSL *ssl, const char
*identity,
  +		unsigned char *psk, unsigned int max_psk_len));
   int SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const
char *identity_hint);
   int SSL_use_psk_identity_hint(SSL *s, const char
*identity_hint);
   const char *SSL_get_psk_identity_hint(const SSL *s);
   .
  patch -p0 <<' .'
  Index: openssl/ssl/ssl_lib.c
 
============================================================
================
  $ cvs diff -u -r1.151 -r1.152 ssl_lib.c
  --- openssl/ssl/ssl_lib.c	28 Sep 2006 13:18:43 -0000	1.151
  +++ openssl/ssl/ssl_lib.c	29 Nov 2006 20:54:56 -0000	1.152
   -2550,14 +2550,14 
   #endif
   
   void SSL_set_info_callback(SSL *ssl,
  -			   void (*cb)(const SSL *ssl,int type,int val))
  +	void (*cb)(const SSL *ssl,int type,int val))
   	{
   	ssl->info_callback=cb;
   	}
   
   /* One compiler (Diab DCC) doesn't like argument names in
returned
      function pointer.  */
  -void (*SSL_get_info_callback(const SSL *ssl))(const SSL *
/*ssl*/,int /*type*/,int /*val*/)
  +void (*SSL_get_info_callback(const SSL *ssl))(const SSL *
/*ssl*/,int /*type*/,int /*val*/) 
   	{
   	return ssl->info_callback;
   	}
   -2764,6 +2764,36 
   		return NULL;
   	return(s->session->psk_identity);
   	}
  +
  +void SSL_set_psk_client_callback(SSL *s, 
  +	unsigned int (*cb)(SSL *ssl, const char *hint,
  +                char *identity, unsigned int
max_identity_len, unsigned char *psk,
  +                unsigned int max_psk_len))
  +	{
  +	s->psk_client_callback = cb;	
  +	}
  +
  +void SSL_CTX_set_psk_client_callback(SSL_CTX *ctx,
  +	unsigned int (*cb)(SSL *ssl, const char *hint,
  +                char *identity, unsigned int
max_identity_len, unsigned char *psk,
  +                unsigned int max_psk_len))
  +	{
  +	ctx->psk_client_callback = cb;	
  +	}
  +
  +void SSL_set_psk_server_callback(SSL *s, 
  +	unsigned int (*cb)(SSL *ssl, const char *identity,
  +                unsigned char *psk, unsigned int
max_psk_len))
  +	{
  +	s->psk_server_callback = cb;	
  +	}
  +
  +void SSL_CTX_set_psk_server_callback(SSL_CTX *ctx,
  +	unsigned int (*cb)(SSL *ssl, const char *identity,
  +                unsigned char *psk, unsigned int
max_psk_len))
  +	{
  +	ctx->psk_server_callback = cb;	
  +	}
   #endif
   
   void SSL_CTX_set_msg_callback(SSL_CTX *ctx, void
(*cb)(int write_p, int version, int content_type, const void
*buf, size_t len, SSL *ssl, void *arg))
   .
  patch -p0 <<' .'
  Index: openssl/ssl/ssl_sess.c
 
============================================================
================
  $ cvs diff -u -r1.62 -r1.63 ssl_sess.c
  --- openssl/ssl/ssl_sess.c	30 Mar 2006 02:44:56 -0000	1.62
  +++ openssl/ssl/ssl_sess.c	29 Nov 2006 20:54:57 -0000	1.63
   -908,3 +908,72 
   		}
   	}
   
  +void SSL_CTX_sess_set_new_cb(SSL_CTX *ctx,
  +	int (*cb)(struct ssl_st *ssl,SSL_SESSION *sess))
  +	{
  +	ctx->new_session_cb=cb;
  +	}
  +
  +int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx))(struct
ssl_st */*ssl*/,SSL_SESSION */*sess*/)
  +	{
  +	return ctx->new_session_cb;
  +	}
  +
  +void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx,
  +	void (*cb)(struct ssl_ctx_st *ctx,SSL_SESSION *sess))
  +	{
  +	ctx->remove_session_cb=cb;
  +	}
  +
  +void (*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx))(struct
ssl_ctx_st */*ctx*/,SSL_SESSION */*sess*/)
  +	{
  +	return ctx->remove_session_cb;
  +	}
  +
  +void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx,
  +	SSL_SESSION *(*cb)(struct ssl_st *ssl,
  +	         unsigned char *data,int len,int *copy))
  +	{
  +	ctx->get_session_cb=cb;
  +	}
  +
  +SSL_SESSION * (*SSL_CTX_sess_get_get_cb(SSL_CTX
*ctx))(struct ssl_st */*ssl*/,
  +	         unsigned char */*data*/,int /*len*/,int
*/*copy*/)
  +	{
  +	return ctx->get_session_cb;
  +	}
  +
  +void SSL_CTX_set_info_callback(SSL_CTX *ctx, 
  +	void (*cb)(const SSL *ssl,int type,int val))
  +	{
  +	ctx->info_callback=cb;
  +	}
  +
  +void (*SSL_CTX_get_info_callback(SSL_CTX *ctx))(const SSL
*/*ssl*/,int /*type*/,int /*val*/)
  +	{
  +	return ctx->info_callback;
  +	}
  +
  +void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx,
  +	int (*cb)(SSL *ssl, X509 **x509, EVP_PKEY **pkey))
  +	{
  +	ctx->client_cert_cb=cb;
  +	}
  +
  +int (*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx))(SSL *
/*ssl */, X509 **/* x509 */, EVP_PKEY **/*pkey*/)
  +	{
  +	return ctx->client_cert_cb;
  +	}
  +
  +void SSL_CTX_set_cookie_generate_cb(SSL_CTX *ctx,
  +	int (*cb)(SSL *ssl, unsigned char *cookie, unsigned int
*cookie_len))
  +	{
  +	ctx->app_gen_cookie_cb=cb;
  +	}
  +
  +void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx,
  +	int (*cb)(SSL *ssl, unsigned char *cookie, unsigned int
cookie_len))
  +	{
  +	ctx->app_verify_cookie_cb=cb;
  +	}
  +
   .
____________________________________________________________
__________
OpenSSL Project                                 http://www.openssl.org
CVS Repository Commit List                    
openssl-cvsopenssl.org
Automated List Manager                          
majordomoopenssl.org
[1]

about | contact  Other archives ( Real Estate discussion Medical topics )