Browse Source

Get rid of more non-ANSI declarations.

master
Ulf Möller 22 years ago
parent
commit
0e1c06128a
33 changed files with 213 additions and 208 deletions
  1. +3
    -0
      CHANGES
  2. +1
    -1
      apps/ca.c
  3. +6
    -6
      apps/pkcs12.c
  4. +9
    -9
      crypto/bio/bf_buff.c
  5. +6
    -6
      crypto/bio/bf_nbio.c
  6. +9
    -9
      crypto/bio/bf_null.c
  7. +13
    -11
      crypto/bio/bio.h
  8. +1
    -1
      crypto/bio/bio_lib.c
  9. +7
    -7
      crypto/bio/bss_acpt.c
  10. +4
    -4
      crypto/bio/bss_bio.c
  11. +11
    -10
      crypto/bio/bss_conn.c
  12. +8
    -8
      crypto/bio/bss_file.c
  13. +7
    -7
      crypto/bio/bss_log.c
  14. +8
    -8
      crypto/bio/bss_mem.c
  15. +8
    -8
      crypto/bio/bss_null.c
  16. +14
    -14
      crypto/bio/bss_sock.c
  17. +7
    -7
      crypto/evp/bio_b64.c
  18. +8
    -8
      crypto/evp/bio_enc.c
  19. +7
    -7
      crypto/evp/bio_md.c
  20. +6
    -6
      crypto/evp/bio_ok.c
  21. +1
    -1
      crypto/evp/evp_pbe.c
  22. +6
    -6
      crypto/evp/evp_pkey.c
  23. +3
    -3
      crypto/pkcs12/p12_crt.c
  24. +5
    -5
      crypto/pkcs12/p12_kiss.c
  25. +6
    -6
      crypto/pkcs12/p12_npas.c
  26. +18
    -18
      crypto/pkcs7/pk7_mime.c
  27. +1
    -1
      crypto/pkcs7/pk7_smime.c
  28. +3
    -3
      crypto/stack/safestack.h
  29. +10
    -11
      crypto/stack/stack.c
  30. +4
    -4
      crypto/stack/stack.h
  31. +2
    -2
      crypto/x509v3/v3_cpols.c
  32. +3
    -3
      crypto/x509v3/v3_lib.c
  33. +8
    -8
      ssl/bio_ssl.c

+ 3
- 0
CHANGES View File

@ -4,6 +4,9 @@
Changes between 0.9.5a and 0.9.6 [xx XXX 2000]
*) Eliminate non-ANSI declarations in crypto.h and stack.h.
[Ulf Möller]
*) Fix for SSL server purpose checking. Server checking was
rejecting certificates which had extended key usage present
but no ssl client purpose.


+ 1
- 1
apps/ca.c View File

@ -1233,7 +1233,7 @@ err:
BIO_free(out);
BIO_free(in);
sk_pop_free(cert_sk,X509_free);
sk_pop_free(cert_sk, (void(*)(void *)) X509_free);
if (ret) ERR_print_errors(bio_err);
app_RAND_write_file(randfile, bio_err);


+ 6
- 6
apps/pkcs12.c View File

@ -459,7 +459,7 @@ int MAIN(int argc, char **argv)
/* Turn certbags into encrypted authsafe */
authsafe = PKCS12_pack_p7encdata(cert_pbe, cpass, -1, NULL, 0,
iter, bags);
sk_pop_free(bags, PKCS12_SAFEBAG_free);
sk_pop_free(bags, (void(*)(void *)) PKCS12_SAFEBAG_free);
if (!authsafe) {
ERR_print_errors (bio_err);
@ -481,14 +481,14 @@ int MAIN(int argc, char **argv)
sk_push (bags, (char *)bag);
/* Turn it into unencrypted safe bag */
authsafe = PKCS12_pack_p7data (bags);
sk_pop_free(bags, PKCS12_SAFEBAG_free);
sk_pop_free(bags, (void(*)(void *)) PKCS12_SAFEBAG_free);
sk_push (safes, (char *)authsafe);
p12 = PKCS12_init (NID_pkcs7_data);
M_PKCS12_pack_authsafes (p12, safes);
sk_pop_free(safes, PKCS7_free);
sk_pop_free(safes, (void(*)(void *)) PKCS7_free);
PKCS12_set_mac (p12, mpass, -1, NULL, 0, maciter, NULL);
@ -592,12 +592,12 @@ int dump_certs_keys_p12 (BIO *out, PKCS12 *p12, char *pass,
if (!bags) return 0;
if (!dump_certs_pkeys_bags (out, bags, pass, passlen,
options, pempass)) {
sk_pop_free (bags, PKCS12_SAFEBAG_free);
sk_pop_free (bags, (void(*)(void *)) PKCS12_SAFEBAG_free);
return 0;
}
sk_pop_free (bags, PKCS12_SAFEBAG_free);
sk_pop_free (bags, (void(*)(void *)) PKCS12_SAFEBAG_free);
}
sk_pop_free (asafes, PKCS7_free);
sk_pop_free (asafes, (void(*)(void *)) PKCS7_free);
return 1;
}


+ 9
- 9
crypto/bio/bf_buff.c View File

@ -62,14 +62,14 @@
#include <openssl/bio.h>
#include <openssl/evp.h>
static int buffer_write(BIO *h,char *buf,int num);
static int buffer_read(BIO *h,char *buf,int size);
static int buffer_puts(BIO *h,char *str);
static int buffer_gets(BIO *h,char *str,int size);
static long buffer_ctrl(BIO *h,int cmd,long arg1,char *arg2);
static int buffer_write(BIO *h, const char *buf,int num);
static int buffer_read(BIO *h, char *buf, int size);
static int buffer_puts(BIO *h, const char *str);
static int buffer_gets(BIO *h, char *str, int size);
static long buffer_ctrl(BIO *h, int cmd, long arg1, void *arg2);
static int buffer_new(BIO *h);
static int buffer_free(BIO *data);
static long buffer_callback_ctrl(BIO *h,int cmd, void (*fp)());
static long buffer_callback_ctrl(BIO *h, int cmd, void (*fp)());
#define DEFAULT_BUFFER_SIZE 1024
static BIO_METHOD methods_buffer=
@ -195,7 +195,7 @@ start:
goto start;
}
static int buffer_write(BIO *b, char *in, int inl)
static int buffer_write(BIO *b, const char *in, int inl)
{
int i,num=0;
BIO_F_BUFFER_CTX *ctx;
@ -268,7 +268,7 @@ start:
goto start;
}
static long buffer_ctrl(BIO *b, int cmd, long num, char *ptr)
static long buffer_ctrl(BIO *b, int cmd, long num, void *ptr)
{
BIO *dbio;
BIO_F_BUFFER_CTX *ctx;
@ -504,7 +504,7 @@ static int buffer_gets(BIO *b, char *buf, int size)
}
}
static int buffer_puts(BIO *b, char *str)
static int buffer_puts(BIO *b, const char *str)
{
return(BIO_write(b,str,strlen(str)));
}


+ 6
- 6
crypto/bio/bf_nbio.c View File

@ -66,11 +66,11 @@
/* BIO_put and BIO_get both add to the digest,
* BIO_gets returns the digest */
static int nbiof_write(BIO *h,char *buf,int num);
static int nbiof_write(BIO *h,const char *buf,int num);
static int nbiof_read(BIO *h,char *buf,int size);
static int nbiof_puts(BIO *h,char *str);
static int nbiof_puts(BIO *h,const char *str);
static int nbiof_gets(BIO *h,char *str,int size);
static long nbiof_ctrl(BIO *h,int cmd,long arg1,char *arg2);
static long nbiof_ctrl(BIO *h,int cmd,long arg1,void *arg2);
static int nbiof_new(BIO *h);
static int nbiof_free(BIO *data);
static long nbiof_callback_ctrl(BIO *h,int cmd,void (*fp)());
@ -159,7 +159,7 @@ static int nbiof_read(BIO *b, char *out, int outl)
return(ret);
}
static int nbiof_write(BIO *b, char *in, int inl)
static int nbiof_write(BIO *b, const char *in, int inl)
{
NBIO_TEST *nt;
int ret=0;
@ -204,7 +204,7 @@ static int nbiof_write(BIO *b, char *in, int inl)
return(ret);
}
static long nbiof_ctrl(BIO *b, int cmd, long num, char *ptr)
static long nbiof_ctrl(BIO *b, int cmd, long num, void *ptr)
{
long ret;
@ -247,7 +247,7 @@ static int nbiof_gets(BIO *bp, char *buf, int size)
}
static int nbiof_puts(BIO *bp, char *str)
static int nbiof_puts(BIO *bp, const char *str)
{
if (bp->next_bio == NULL) return(0);
return(BIO_puts(bp->next_bio,str));


+ 9
- 9
crypto/bio/bf_null.c View File

@ -65,14 +65,14 @@
/* BIO_put and BIO_get both add to the digest,
* BIO_gets returns the digest */
static int nullf_write(BIO *h,char *buf,int num);
static int nullf_read(BIO *h,char *buf,int size);
static int nullf_puts(BIO *h,char *str);
static int nullf_gets(BIO *h,char *str,int size);
static long nullf_ctrl(BIO *h,int cmd,long arg1,char *arg2);
static int nullf_write(BIO *h, const char *buf, int num);
static int nullf_read(BIO *h, char *buf, int size);
static int nullf_puts(BIO *h, const char *str);
static int nullf_gets(BIO *h, char *str, int size);
static long nullf_ctrl(BIO *h, int cmd, long arg1, void *arg2);
static int nullf_new(BIO *h);
static int nullf_free(BIO *data);
static long nullf_callback_ctrl(BIO *h,int cmd,void (*fp)());
static long nullf_callback_ctrl(BIO *h, int cmd, void (*fp)());
static BIO_METHOD methods_nullf=
{
BIO_TYPE_NULL_FILTER,
@ -121,7 +121,7 @@ static int nullf_read(BIO *b, char *out, int outl)
return(ret);
}
static int nullf_write(BIO *b, char *in, int inl)
static int nullf_write(BIO *b, const char *in, int inl)
{
int ret=0;
@ -133,7 +133,7 @@ static int nullf_write(BIO *b, char *in, int inl)
return(ret);
}
static long nullf_ctrl(BIO *b, int cmd, long num, char *ptr)
static long nullf_ctrl(BIO *b, int cmd, long num, void *ptr)
{
long ret;
@ -175,7 +175,7 @@ static int nullf_gets(BIO *bp, char *buf, int size)
}
static int nullf_puts(BIO *bp, char *str)
static int nullf_puts(BIO *bp, const char *str)
{
if (bp->next_bio == NULL) return(0);
return(BIO_puts(bp->next_bio,str));


+ 13
- 11
crypto/bio/bio.h View File

@ -207,19 +207,21 @@ extern "C" {
#define BIO_method_name(b) ((b)->method->name)
#define BIO_method_type(b) ((b)->method->type)
typedef struct bio_st BIO;
#ifndef WIN16
typedef struct bio_method_st
{
int type;
const char *name;
int (*bwrite)();
int (*bread)();
int (*bputs)();
int (*bgets)();
long (*ctrl)();
int (*create)();
int (*destroy)();
long (*callback_ctrl)();
int (*bwrite)(BIO *, const char *, int);
int (*bread)(BIO *, char *, int);
int (*bputs)(BIO *, const char *);
int (*bgets)(BIO *, char *, int);
long (*ctrl)(BIO *, int, long, void *);
int (*create)(BIO *);
int (*destroy)(BIO *);
long (*callback_ctrl)(BIO *, int, void (*)(struct bio_st *, int, const char *, int, long, long));
} BIO_METHOD;
#else
typedef struct bio_method_st
@ -237,7 +239,7 @@ typedef struct bio_method_st
} BIO_METHOD;
#endif
typedef struct bio_st
struct bio_st
{
BIO_METHOD *method;
/* bio, mode, argp, argi, argl, ret */
@ -257,7 +259,7 @@ typedef struct bio_st
unsigned long num_write;
CRYPTO_EX_DATA ex_data;
} BIO;
};
typedef struct bio_f_buffer_ctx_struct
{
@ -510,7 +512,7 @@ int BIO_gets(BIO *bp,char *buf, int size);
int BIO_write(BIO *b, const void *data, int len);
int BIO_puts(BIO *bp,const char *buf);
long BIO_ctrl(BIO *bp,int cmd,long larg,void *parg);
long BIO_callback_ctrl(BIO *bp,int cmd,void (*fp)());
long BIO_callback_ctrl(BIO *b, int cmd, void (*fp)(struct bio_st *, int, const char *, int, long, long));
char * BIO_ptr_ctrl(BIO *bp,int cmd,long larg);
long BIO_int_ctrl(BIO *bp,int cmd,long larg,int iarg);
BIO * BIO_push(BIO *b,BIO *append);


+ 1
- 1
crypto/bio/bio_lib.c View File

@ -317,7 +317,7 @@ long BIO_ctrl(BIO *b, int cmd, long larg, void *parg)
return(ret);
}
long BIO_callback_ctrl(BIO *b, int cmd, void (*fp)())
long BIO_callback_ctrl(BIO *b, int cmd, void (*fp)(struct bio_st *, int, const char *, int, long, long))
{
long ret;
long (*cb)();


+ 7
- 7
crypto/bio/bss_acpt.c View File

@ -92,10 +92,10 @@ typedef struct bio_accept_st
BIO *bio_chain;
} BIO_ACCEPT;
static int acpt_write(BIO *h,char *buf,int num);
static int acpt_read(BIO *h,char *buf,int size);
static int acpt_puts(BIO *h,char *str);
static long acpt_ctrl(BIO *h,int cmd,long arg1,char *arg2);
static int acpt_write(BIO *h, const char *buf, int num);
static int acpt_read(BIO *h, char *buf, int size);
static int acpt_puts(BIO *h, const char *str);
static long acpt_ctrl(BIO *h, int cmd, long arg1, void *arg2);
static int acpt_new(BIO *h);
static int acpt_free(BIO *data);
static int acpt_state(BIO *b, BIO_ACCEPT *c);
@ -307,7 +307,7 @@ static int acpt_read(BIO *b, char *out, int outl)
return(ret);
}
static int acpt_write(BIO *b, char *in, int inl)
static int acpt_write(BIO *b, const char *in, int inl)
{
int ret;
BIO_ACCEPT *data;
@ -326,7 +326,7 @@ static int acpt_write(BIO *b, char *in, int inl)
return(ret);
}
static long acpt_ctrl(BIO *b, int cmd, long num, char *ptr)
static long acpt_ctrl(BIO *b, int cmd, long num, void *ptr)
{
BIO *dbio;
int *ip;
@ -440,7 +440,7 @@ static long acpt_ctrl(BIO *b, int cmd, long num, char *ptr)
return(ret);
}
static int acpt_puts(BIO *bp, char *str)
static int acpt_puts(BIO *bp, const char *str)
{
int n,ret;


+ 4
- 4
crypto/bio/bss_bio.c View File

@ -30,9 +30,9 @@
static int bio_new(BIO *bio);
static int bio_free(BIO *bio);
static int bio_read(BIO *bio, char *buf, int size);
static int bio_write(BIO *bio, char *buf, int num);
static int bio_write(BIO *bio, const char *buf, int num);
static long bio_ctrl(BIO *bio, int cmd, long num, void *ptr);
static int bio_puts(BIO *bio, char *str);
static int bio_puts(BIO *bio, const char *str);
static int bio_make_pair(BIO *bio1, BIO *bio2);
static void bio_destroy_pair(BIO *bio);
@ -283,7 +283,7 @@ static ssize_t bio_nread(BIO *bio, char **buf, size_t num_)
}
static int bio_write(BIO *bio, char *buf, int num_)
static int bio_write(BIO *bio, const char *buf, int num_)
{
size_t num = num_;
size_t rest;
@ -628,7 +628,7 @@ static long bio_ctrl(BIO *bio, int cmd, long num, void *ptr)
return ret;
}
static int bio_puts(BIO *bio, char *str)
static int bio_puts(BIO *bio, const char *str)
{
return bio_write(bio, str, strlen(str));
}


+ 11
- 10
crypto/bio/bss_conn.c View File

@ -98,13 +98,13 @@ typedef struct bio_connect_st
int (*info_callback)();
} BIO_CONNECT;
static int conn_write(BIO *h,char *buf,int num);
static int conn_read(BIO *h,char *buf,int size);
static int conn_puts(BIO *h,char *str);
static long conn_ctrl(BIO *h,int cmd,long arg1,char *arg2);
static int conn_write(BIO *h, const char *buf, int num);
static int conn_read(BIO *h, char *buf, int size);
static int conn_puts(BIO *h, const char *str);
static long conn_ctrl(BIO *h, int cmd, long arg1, void *arg2);
static int conn_new(BIO *h);
static int conn_free(BIO *data);
static long conn_callback_ctrl(BIO *h,int cmd,void *(*fp)());
static long conn_callback_ctrl(BIO *h, int cmd, void (*fp)());
static int conn_state(BIO *b, BIO_CONNECT *c);
static void conn_close_socket(BIO *data);
@ -426,7 +426,7 @@ static int conn_read(BIO *b, char *out, int outl)
return(ret);
}
static int conn_write(BIO *b, char *in, int inl)
static int conn_write(BIO *b, const char *in, int inl)
{
int ret;
BIO_CONNECT *data;
@ -449,7 +449,7 @@ static int conn_write(BIO *b, char *in, int inl)
return(ret);
}
static long conn_ctrl(BIO *b, int cmd, long num, char *ptr)
static long conn_ctrl(BIO *b, int cmd, long num, void *ptr)
{
BIO *dbio;
int *ip;
@ -519,9 +519,10 @@ static long conn_ctrl(BIO *b, int cmd, long num, char *ptr)
else if (num == 2)
{
char buf[16];
char *p = ptr;
sprintf(buf,"%d.%d.%d.%d",
ptr[0],ptr[1],ptr[2],ptr[3]);
p[0],p[1],p[2],p[3]);
if (data->param_hostname != NULL)
Free(data->param_hostname);
data->param_hostname=BUF_strdup(buf);
@ -601,7 +602,7 @@ static long conn_ctrl(BIO *b, int cmd, long num, char *ptr)
return(ret);
}
static long conn_callback_ctrl(BIO *b, int cmd, void *(*fp)())
static long conn_callback_ctrl(BIO *b, int cmd, void (*fp)())
{
long ret=1;
BIO_CONNECT *data;
@ -622,7 +623,7 @@ static long conn_callback_ctrl(BIO *b, int cmd, void *(*fp)())
return(ret);
}
static int conn_puts(BIO *bp, char *str)
static int conn_puts(BIO *bp, const char *str)
{
int n,ret;


+ 8
- 8
crypto/bio/bss_file.c View File

@ -73,11 +73,11 @@
#if !defined(NO_STDIO)
static int MS_CALLBACK file_write(BIO *h,char *buf,int num);
static int MS_CALLBACK file_read(BIO *h,char *buf,int size);
static int MS_CALLBACK file_puts(BIO *h,char *str);
static int MS_CALLBACK file_gets(BIO *h,char *str,int size);
static long MS_CALLBACK file_ctrl(BIO *h,int cmd,long arg1,char *arg2);
static int MS_CALLBACK file_write(BIO *h, const char *buf, int num);
static int MS_CALLBACK file_read(BIO *h, char *buf, int size);
static int MS_CALLBACK file_puts(BIO *h, const char *str);
static int MS_CALLBACK file_gets(BIO *h, char *str, int size);
static long MS_CALLBACK file_ctrl(BIO *h, int cmd, long arg1, void *arg2);
static int MS_CALLBACK file_new(BIO *h);
static int MS_CALLBACK file_free(BIO *data);
static BIO_METHOD methods_filep=
@ -163,7 +163,7 @@ static int MS_CALLBACK file_read(BIO *b, char *out, int outl)
return(ret);
}
static int MS_CALLBACK file_write(BIO *b, char *in, int inl)
static int MS_CALLBACK file_write(BIO *b, const char *in, int inl)
{
int ret=0;
@ -179,7 +179,7 @@ static int MS_CALLBACK file_write(BIO *b, char *in, int inl)
return(ret);
}
static long MS_CALLBACK file_ctrl(BIO *b, int cmd, long num, char *ptr)
static long MS_CALLBACK file_ctrl(BIO *b, int cmd, long num, void *ptr)
{
long ret=1;
FILE *fp=(FILE *)b->ptr;
@ -294,7 +294,7 @@ static int MS_CALLBACK file_gets(BIO *bp, char *buf, int size)
return(ret);
}
static int MS_CALLBACK file_puts(BIO *bp, char *str)
static int MS_CALLBACK file_puts(BIO *bp, const char *str)
{
int n,ret;


+ 7
- 7
crypto/bio/bss_log.c View File

@ -110,9 +110,9 @@
#define LOG_DAEMON OPC$M_NM_NTWORK
#endif
static int MS_CALLBACK slg_write(BIO *h,char *buf,int num);
static int MS_CALLBACK slg_puts(BIO *h,char *str);
static long MS_CALLBACK slg_ctrl(BIO *h,int cmd,long arg1,char *arg2);
static int MS_CALLBACK slg_write(BIO *h, const char *buf, int num);
static int MS_CALLBACK slg_puts(BIO *h, const char *str);
static long MS_CALLBACK slg_ctrl(BIO *h, int cmd, long arg1, void *arg2);
static int MS_CALLBACK slg_new(BIO *h);
static int MS_CALLBACK slg_free(BIO *data);
static void xopenlog(BIO* bp, const char* name, int level);
@ -153,10 +153,10 @@ static int MS_CALLBACK slg_free(BIO *a)
return(1);
}
static int MS_CALLBACK slg_write(BIO *b, char *in, int inl)
static int MS_CALLBACK slg_write(BIO *b, const char *in, int inl)
{
int ret= inl;
char* buf= in;
char* buf;
char* pp;
int priority;
@ -186,7 +186,7 @@ static int MS_CALLBACK slg_write(BIO *b, char *in, int inl)
return(ret);
}
static long MS_CALLBACK slg_ctrl(BIO *b, int cmd, long num, char *ptr)
static long MS_CALLBACK slg_ctrl(BIO *b, int cmd, long num, void *ptr)
{
switch (cmd)
{
@ -200,7 +200,7 @@ static long MS_CALLBACK slg_ctrl(BIO *b, int cmd, long num, char *ptr)
return(0);
}
static int MS_CALLBACK slg_puts(BIO *bp, char *str)
static int MS_CALLBACK slg_puts(BIO *bp, const char *str)
{
int n,ret;


+ 8
- 8
crypto/bio/bss_mem.c View File

@ -61,11 +61,11 @@
#include "cryptlib.h"
#include <openssl/bio.h>
static int mem_write(BIO *h,char *buf,int num);
static int mem_read(BIO *h,char *buf,int size);
static int mem_puts(BIO *h,char *str);
static int mem_gets(BIO *h,char *str,int size);
static long mem_ctrl(BIO *h,int cmd,long arg1,char *arg2);
static int mem_write(BIO *h, const char *buf, int num);
static int mem_read(BIO *h, char *buf, int size);
static int mem_puts(BIO *h, const char *str);
static int mem_gets(BIO *h, char *str, int size);
static long mem_ctrl(BIO *h, int cmd, long arg1, void *arg2);
static int mem_new(BIO *h);
static int mem_free(BIO *data);
static BIO_METHOD mem_method=
@ -170,7 +170,7 @@ static int mem_read(BIO *b, char *out, int outl)
return(ret);
}
static int mem_write(BIO *b, char *in, int inl)
static int mem_write(BIO *b, const char *in, int inl)
{
int ret= -1;
int blen;
@ -198,7 +198,7 @@ end:
return(ret);
}
static long mem_ctrl(BIO *b, int cmd, long num, char *ptr)
static long mem_ctrl(BIO *b, int cmd, long num, void *ptr)
{
long ret=1;
char **pptr;
@ -300,7 +300,7 @@ static int mem_gets(BIO *bp, char *buf, int size)
return(ret);
}
static int mem_puts(BIO *bp, char *str)
static int mem_puts(BIO *bp, const char *str)
{
int n,ret;


+ 8
- 8
crypto/bio/bss_null.c View File

@ -61,11 +61,11 @@
#include "cryptlib.h"
#include <openssl/bio.h>
static int null_write(BIO *h,char *buf,int num);
static int null_read(BIO *h,char *buf,int size);
static int null_puts(BIO *h,char *str);
static int null_gets(BIO *h,char *str,int size);
static long null_ctrl(BIO *h,int cmd,long arg1,char *arg2);
static int null_write(BIO *h, const char *buf, int num);
static int null_read(BIO *h, char *buf, int size);
static int null_puts(BIO *h, const char *str);
static int null_gets(BIO *h, char *str, int size);
static long null_ctrl(BIO *h, int cmd, long arg1, void *arg2);
static int null_new(BIO *h);
static int null_free(BIO *data);
static BIO_METHOD null_method=
@ -106,12 +106,12 @@ static int null_read(BIO *b, char *out, int outl)
return(0);
}
static int null_write(BIO *b, char *in, int inl)
static int null_write(BIO *b, const char *in, int inl)
{
return(inl);
}
static long null_ctrl(BIO *b, int cmd, long num, char *ptr)
static long null_ctrl(BIO *b, int cmd, long num, void *ptr)
{
long ret=1;
@ -142,7 +142,7 @@ static int null_gets(BIO *bp, char *buf, int size)
return(0);
}
static int null_puts(BIO *bp, char *str)
static int null_puts(BIO *bp, const char *str)
{
if (str == NULL) return(0);
return(strlen(str));


+ 14
- 14
crypto/bio/bss_sock.c View File

@ -65,19 +65,19 @@
#include <openssl/bio.h>
#ifndef BIO_FD
static int sock_write(BIO *h,char *buf,int num);
static int sock_read(BIO *h,char *buf,int size);
static int sock_puts(BIO *h,char *str);
static long sock_ctrl(BIO *h,int cmd,long arg1,char *arg2);
static int sock_write(BIO *h, const char *buf, int num);
static int sock_read(BIO *h, char *buf, int size);
static int sock_puts(BIO *h, const char *str);
static long sock_ctrl(BIO *h, int cmd, long arg1, void *arg2);
static int sock_new(BIO *h);
static int sock_free(BIO *data);
int BIO_sock_should_retry(int s);
#else
static int fd_write(BIO *h,char *buf,int num);
static int fd_read(BIO *h,char *buf,int size);
static int fd_puts(BIO *h,char *str);
static long fd_ctrl(BIO *h,int cmd,long arg1,char *arg2);
static int fd_write(BIO *h, const char *buf, int num);
static int fd_read(BIO *h, char *buf, int size);
static int fd_puts(BIO *h, const char *str);
static long fd_ctrl(BIO *h, int cmd, long arg1, void *arg2);
static int fd_new(BIO *h);
static int fd_free(BIO *data);
int BIO_fd_should_retry(int s);
@ -209,9 +209,9 @@ static int fd_read(BIO *b, char *out,int outl)
}
#ifndef BIO_FD
static int sock_write(BIO *b, char *in, int inl)
static int sock_write(BIO *b, const char *in, int inl)
#else
static int fd_write(BIO *b, char *in, int inl)
static int fd_write(BIO *b, const char *in, int inl)
#endif
{
int ret;
@ -237,9 +237,9 @@ static int fd_write(BIO *b, char *in, int inl)
}
#ifndef BIO_FD
static long sock_ctrl(BIO *b, int cmd, long num, char *ptr)
static long sock_ctrl(BIO *b, int cmd, long num, void *ptr)
#else
static long fd_ctrl(BIO *b, int cmd, long num, char *ptr)
static long fd_ctrl(BIO *b, int cmd, long num, void *ptr)
#endif
{
long ret=1;
@ -313,9 +313,9 @@ static int sock_gets(BIO *bp, char *buf,int size)
#endif
#ifndef BIO_FD
static int sock_puts(BIO *bp, char *str)
static int sock_puts(BIO *bp, const char *str)
#else
static int fd_puts(BIO *bp, char *str)
static int fd_puts(BIO *bp, const char *str)
#endif
{
int n,ret;


+ 7
- 7
crypto/evp/bio_b64.c View File

@ -62,11 +62,11 @@
#include <openssl/buffer.h>
#include <openssl/evp.h>
static int b64_write(BIO *h,char *buf,int num);
static int b64_read(BIO *h,char *buf,int size);
/*static int b64_puts(BIO *h,char *str); */
/*static int b64_gets(BIO *h,char *str,int size); */
static long b64_ctrl(BIO *h,int cmd,long arg1,char *arg2);
static int b64_write(BIO *h, const char *buf, int num);
static int b64_read(BIO *h, char *buf, int size);
/*static int b64_puts(BIO *h, const char *str); */
/*static int b64_gets(BIO *h, char *str, int size); */
static long b64_ctrl(BIO *h, int cmd, long arg1, void *arg2);
static int b64_new(BIO *h);
static int b64_free(BIO *data);
static long b64_callback_ctrl(BIO *h,int cmd,void (*fp)());
@ -340,7 +340,7 @@ static int b64_read(BIO *b, char *out, int outl)
return((ret == 0)?ret_code:ret);
}
static int b64_write(BIO *b, char *in, int inl)
static int b64_write(BIO *b, const char *in, int inl)
{
int ret=inl,n,i;
BIO_B64_CTX *ctx;
@ -434,7 +434,7 @@ static int b64_write(BIO *b, char *in, int inl)
return(ret);
}
static long b64_ctrl(BIO *b, int cmd, long num, char *ptr)
static long b64_ctrl(BIO *b, int cmd, long num, void *ptr)
{
BIO_B64_CTX *ctx;
long ret=1;


+ 8
- 8
crypto/evp/bio_enc.c View File

@ -62,14 +62,14 @@
#include <openssl/buffer.h>
#include <openssl/evp.h>
static int enc_write(BIO *h,char *buf,int num);
static int enc_read(BIO *h,char *buf,int size);
/*static int enc_puts(BIO *h,char *str); */
/*static int enc_gets(BIO *h,char *str,int size); */
static long enc_ctrl(BIO *h,int cmd,long arg1,char *arg2);
static int enc_write(BIO *h, const char *buf, int num);
static int enc_read(BIO *h, char *buf, int size);
/*static int enc_puts(BIO *h, const char *str); */
/*static int enc_gets(BIO *h, char *str, int size); */
static long enc_ctrl(BIO *h, int cmd, long arg1, void *arg2);
static int enc_new(BIO *h);
static int enc_free(BIO *data);
static long enc_callback_ctrl(BIO *h,int cmd,void (*fp)());
static long enc_callback_ctrl(BIO *h, int cmd, void (*fp)());
#define ENC_BLOCK_SIZE (1024*4)
typedef struct enc_struct
@ -224,7 +224,7 @@ static int enc_read(BIO *b, char *out, int outl)
return((ret == 0)?ctx->cont:ret);
}
static int enc_write(BIO *b, char *in, int inl)
static int enc_write(BIO *b, const char *in, int inl)
{
int ret=0,n,i;
BIO_ENC_CTX *ctx;
@ -279,7 +279,7 @@ static int enc_write(BIO *b, char *in, int inl)
return(ret);
}
static long enc_ctrl(BIO *b, int cmd, long num, char *ptr)
static long enc_ctrl(BIO *b, int cmd, long num, void *ptr)
{
BIO *dbio;
BIO_ENC_CTX *ctx,*dctx;


+ 7
- 7
crypto/evp/bio_md.c View File

@ -65,11 +65,11 @@
/* BIO_put and BIO_get both add to the digest,
* BIO_gets returns the digest */
static int md_write(BIO *h,char *buf,int num);
static int md_read(BIO *h,char *buf,int size);
/*static int md_puts(BIO *h,char *str); */
static int md_gets(BIO *h,char *str,int size);
static long md_ctrl(BIO *h,int cmd,long arg1,char *arg2);
static int md_write(BIO *h, char const *buf, int num);
static int md_read(BIO *h, char *buf, int size);
/*static int md_puts(BIO *h, const char *str); */
static int md_gets(BIO *h, char *str, int size);
static long md_ctrl(BIO *h, int cmd, long arg1, void *arg2);
static int md_new(BIO *h);
static int md_free(BIO *data);
static long md_callback_ctrl(BIO *h,int cmd,void (*fp)());
@ -139,7 +139,7 @@ static int md_read(BIO *b, char *out, int outl)
return(ret);
}
static int md_write(BIO *b, char *in, int inl)
static int md_write(BIO *b, const char *in, int inl)
{
int ret=0;
EVP_MD_CTX *ctx;
@ -162,7 +162,7 @@ static int md_write(BIO *b, char *in, int inl)
return(ret);
}
static long md_ctrl(BIO *b, int cmd, long num, char *ptr)
static long md_ctrl(BIO *b, int cmd, long num, void *ptr)
{
EVP_MD_CTX *ctx,*dctx,**pctx;
const EVP_MD **ppmd;


+ 6
- 6
crypto/evp/bio_ok.c View File

@ -125,12 +125,12 @@
#include <openssl/evp.h>
#include <openssl/rand.h>
static int ok_write(BIO *h,char *buf,int num);
static int ok_read(BIO *h,char *buf,int size);
static long ok_ctrl(BIO *h,int cmd,long arg1,char *arg2);
static int ok_write(BIO *h, const char *buf, int num);
static int ok_read(BIO *h, char *buf, int size);
static long ok_ctrl(BIO *h, int cmd, long arg1, void *arg2);
static int ok_new(BIO *h);
static int ok_free(BIO *data);
static long ok_callback_ctrl(BIO *h,int cmd,void (*fp)());
static long ok_callback_ctrl(BIO *h, int cmd, void (*fp)());
static void sig_out(BIO* b);
static void sig_in(BIO* b);
@ -287,7 +287,7 @@ static int ok_read(BIO *b, char *out, int outl)
return(ret);
}
static int ok_write(BIO *b, char *in, int inl)
static int ok_write(BIO *b, const char *in, int inl)
{
int ret=0,n,i;
BIO_OK_CTX *ctx;
@ -345,7 +345,7 @@ static int ok_write(BIO *b, char *in, int inl)
return(ret);
}
static long ok_ctrl(BIO *b, int cmd, long num, char *ptr)
static long ok_ctrl(BIO *b, int cmd, long num, void *ptr)
{
BIO_OK_CTX *ctx;
EVP_MD *md;


+ 1
- 1
crypto/evp/evp_pbe.c View File

@ -115,7 +115,7 @@ int EVP_PBE_alg_add (int nid, EVP_CIPHER *cipher, EVP_MD *md,
EVP_PBE_KEYGEN *keygen)
{
EVP_PBE_CTL *pbe_tmp;
if (!pbe_algs) pbe_algs = sk_new (pbe_cmp);
if (!pbe_algs) pbe_algs = sk_new ((int (*)())pbe_cmp);
if (!(pbe_tmp = (EVP_PBE_CTL*) Malloc (sizeof(EVP_PBE_CTL)))) {
EVPerr(EVP_F_EVP_PBE_ALG_ADD,ERR_R_MALLOC_FAILURE);
return 0;


+ 6
- 6
crypto/evp/evp_pkey.c View File

@ -193,12 +193,12 @@ EVP_PKEY *EVP_PKCS82PKEY (PKCS8_PRIV_KEY_INFO *p8)
EVP_PKEY_assign_DSA(pkey, dsa);
BN_CTX_free (ctx);
if(ndsa) sk_pop_free(ndsa, ASN1_TYPE_free);
if(ndsa) sk_pop_free(ndsa, (void(*)(void *)) ASN1_TYPE_free);
else ASN1_INTEGER_free(privkey);
break;
dsaerr:
BN_CTX_free (ctx);
sk_pop_free(ndsa, ASN1_TYPE_free);
sk_pop_free(ndsa, (void(*)(void *)) ASN1_TYPE_free);
DSA_free(dsa);
EVP_PKEY_free(pkey);
return NULL;
@ -367,11 +367,11 @@ static int dsa_pkey2pkcs8(PKCS8_PRIV_KEY_INFO *p8, EVP_PKEY *pkey)
&p8->pkey->value.octet_string->length)) {
EVPerr(EVP_F_EVP_PKEY2PKCS8,ERR_R_MALLOC_FAILURE);
sk_pop_free(ndsa, ASN1_TYPE_free);
sk_pop_free(ndsa, (void(*)(void *)) ASN1_TYPE_free);
M_ASN1_INTEGER_free(prkey);
return 0;
}
sk_pop_free(ndsa, ASN1_TYPE_free);
sk_pop_free(ndsa, (void(*)(void *)) ASN1_TYPE_free);
break;
case PKCS8_EMBEDDED_PARAM:
@ -395,11 +395,11 @@ static int dsa_pkey2pkcs8(PKCS8_PRIV_KEY_INFO *p8, EVP_PKEY *pkey)
&p8->pkey->value.octet_string->length)) {
EVPerr(EVP_F_EVP_PKEY2PKCS8,ERR_R_MALLOC_FAILURE);
sk_pop_free(ndsa, ASN1_TYPE_free);
sk_pop_free(ndsa, (void(*)(void *)) ASN1_TYPE_free);
M_ASN1_INTEGER_free (prkey);
return 0;
}
sk_pop_free(ndsa, ASN1_TYPE_free);
sk_pop_free(ndsa, (void(*)(void *)) ASN1_TYPE_free);
break;
}
return 1;


+ 3
- 3
crypto/pkcs12/p12_crt.c View File

@ -116,7 +116,7 @@ PKCS12 *PKCS12_create(char *pass, char *name, EVP_PKEY *pkey, X509 *cert,
/* Turn certbags into encrypted authsafe */
authsafe = PKCS12_pack_p7encdata (nid_cert, pass, -1, NULL, 0,
iter, bags);
sk_pop_free(bags, PKCS12_SAFEBAG_free);
sk_pop_free(bags, (void(*)(void *)) PKCS12_SAFEBAG_free);
if (!authsafe) return NULL;
@ -139,7 +139,7 @@ PKCS12 *PKCS12_create(char *pass, char *name, EVP_PKEY *pkey, X509 *cert,
}
/* Turn it into unencrypted safe bag */
if(!(authsafe = PKCS12_pack_p7data (bags))) return NULL;
sk_pop_free(bags, PKCS12_SAFEBAG_free);
sk_pop_free(bags, (void(*)(void *)) PKCS12_SAFEBAG_free);
if(!sk_push(safes, (char *)authsafe)) {
PKCS12err(PKCS12_F_PKCS12_CREATE,ERR_R_MALLOC_FAILURE);
return NULL;
@ -149,7 +149,7 @@ PKCS12 *PKCS12_create(char *pass, char *name, EVP_PKEY *pkey, X509 *cert,
if(!M_PKCS12_pack_authsafes (p12, safes)) return NULL;
sk_pop_free(safes, PKCS7_free);
sk_pop_free(safes, (void(*)(void *)) PKCS7_free);
if(!PKCS12_set_mac (p12, pass, -1, NULL, 0, mac_iter, NULL))
return NULL;


+ 5
- 5
crypto/pkcs12/p12_kiss.c View File

@ -161,18 +161,18 @@ static int parse_pk12 (PKCS12 *p12, const char *pass, int passlen,
bags = M_PKCS12_unpack_p7encdata (p7, pass, passlen);
} else continue;
if (!bags) {
sk_pop_free (asafes, PKCS7_free);
sk_pop_free (asafes, (void(*)(void *)) PKCS7_free);
return 0;
}
if (!parse_bags(bags, pass, passlen, pkey, cert, ca,
&keyid, &keymatch)) {
sk_pop_free(bags, PKCS12_SAFEBAG_free);
sk_pop_free(asafes, PKCS7_free);
sk_pop_free(bags, (void(*)(void *)) PKCS12_SAFEBAG_free);
sk_pop_free(asafes, (void(*)(void *)) PKCS7_free);
return 0;
}
sk_pop_free(bags, PKCS12_SAFEBAG_free);
sk_pop_free(bags, (void(*)(void *)) PKCS12_SAFEBAG_free);
}
sk_pop_free(asafes, PKCS7_free);
sk_pop_free(asafes, (void(*)(void *)) PKCS7_free);
if (keyid) M_ASN1_OCTET_STRING_free(keyid);
return 1;
}


+ 6
- 6
crypto/pkcs12/p12_npas.c View File

@ -123,26 +123,26 @@ static int newpass_p12(PKCS12 *p12, char *oldpass, char *newpass)
&pbe_nid, &pbe_iter, &pbe_saltlen);
} else continue;
if (!bags) {
sk_pop_free(asafes, PKCS7_free);
sk_pop_free(asafes, (void(*)(void *)) PKCS7_free);
return 0;
}
if (!newpass_bags(bags, oldpass, newpass)) {
sk_pop_free(bags, PKCS12_SAFEBAG_free);
sk_pop_free(asafes, PKCS7_free);
sk_pop_free(bags, (void(*)(void *)) PKCS12_SAFEBAG_free);
sk_pop_free(asafes, (void(*)(void *)) PKCS7_free);
return 0;
}
/* Repack bag in same form with new password */
if (bagnid == NID_pkcs7_data) p7new = PKCS12_pack_p7data(bags);
else p7new = PKCS12_pack_p7encdata(pbe_nid, newpass, -1, NULL,
pbe_saltlen, pbe_iter, bags);
sk_pop_free(bags, PKCS12_SAFEBAG_free);
sk_pop_free(bags, (void(*)(void *)) PKCS12_SAFEBAG_free);
if(!p7new) {
sk_pop_free(asafes, PKCS7_free);
sk_pop_free(asafes, (void(*)(void *)) PKCS7_free);
return 0;
}
sk_push(newsafes, (char *)p7new);
}
sk_pop_free(asafes, PKCS7_free);
sk_pop_free(asafes, (void(*)(void *)) PKCS7_free);
/* Repack safe: save old safe in case of error */


+ 18
- 18
crypto/pkcs7/pk7_mime.c View File

@ -211,7 +211,7 @@ PKCS7 *SMIME_read_PKCS7(BIO *bio, BIO **bcont)
}
if(!(hdr = mime_hdr_find(headers, "content-type")) || !hdr->value) {
sk_pop_free(headers, mime_hdr_free);
sk_pop_free(headers, (void(*)(void *)) mime_hdr_free);
PKCS7err(PKCS7_F_SMIME_READ_PKCS7, PKCS7_R_NO_CONTENT_TYPE);
return NULL;
}
@ -222,15 +222,15 @@ PKCS7 *SMIME_read_PKCS7(BIO *bio, BIO **bcont)
/* Split into two parts */
prm = mime_param_find(hdr, "boundary");
if(!prm || !prm->param_value) {
sk_pop_free(headers, mime_hdr_free);
sk_pop_free(headers, (void(*)(void *)) mime_hdr_free);
PKCS7err(PKCS7_F_SMIME_READ_PKCS7, PKCS7_R_NO_MULTIPART_BOUNDARY);
return NULL;
}
ret = multi_split(bio, prm->param_value, &parts);
sk_pop_free(headers, mime_hdr_free);
sk_pop_free(headers, (void(*)(void *)) mime_hdr_free);
if(!ret || (sk_num(parts) != 2) ) {
PKCS7err(PKCS7_F_SMIME_READ_PKCS7, PKCS7_R_NO_MULTIPART_BODY_FAILURE);
sk_pop_free(parts, (stkfree)BIO_free);
sk_pop_free(parts, (void(*)(void *)) BIO_free);
return NULL;
}
@ -239,7 +239,7 @@ PKCS7 *SMIME_read_PKCS7(BIO *bio, BIO **bcont)
if (!(headers = mime_parse_hdr(p7in))) {
PKCS7err(PKCS7_F_SMIME_READ_PKCS7,PKCS7_R_MIME_SIG_PARSE_ERROR);
sk_pop_free(parts, (stkfree)BIO_free);
sk_pop_free(parts, (void(*)(void *)) BIO_free);
return NULL;
}
@ -247,24 +247,24 @@ PKCS7 *SMIME_read_PKCS7(BIO *bio, BIO **bcont)
if(!(hdr = mime_hdr_find(headers, "content-type")) ||
!hdr->value) {
sk_pop_free(headers, mime_hdr_free);
sk_pop_free(headers, (void(*)(void *)) mime_hdr_free);
PKCS7err(PKCS7_F_SMIME_READ_PKCS7, PKCS7_R_NO_SIG_CONTENT_TYPE);
return NULL;
}
if(strcmp(hdr->value, "application/x-pkcs7-signature") &&
strcmp(hdr->value, "application/pkcs7-signature")) {
sk_pop_free(headers, mime_hdr_free);
sk_pop_free(headers, (void(*)(void *)) mime_hdr_free);
PKCS7err(PKCS7_F_SMIME_READ_PKCS7,PKCS7_R_SIG_INVALID_MIME_TYPE);
ERR_add_error_data(2, "type: ", hdr->value);
sk_pop_free(parts, (stkfree)BIO_free);
sk_pop_free(parts, (void(*)(void *))BIO_free);
return NULL;
}
sk_pop_free(headers, mime_hdr_free);
sk_pop_free(headers, (void(*)(void *)) mime_hdr_free);
/* Read in PKCS#7 */
if(!(p7 = B64_read_PKCS7(p7in))) {
PKCS7err(PKCS7_F_SMIME_READ_PKCS7,PKCS7_R_PKCS7_SIG_PARSE_ERROR);
sk_pop_free(parts, (stkfree)BIO_free);
sk_pop_free(parts, (void(*)(void *))BIO_free);
return NULL;
}
@ -282,11 +282,11 @@ PKCS7 *SMIME_read_PKCS7(BIO *bio, BIO **bcont)
strcmp (hdr->value, "application/pkcs7-mime")) {
PKCS7err(PKCS7_F_SMIME_READ_PKCS7,PKCS7_R_INVALID_MIME_TYPE);
ERR_add_error_data(2, "type: ", hdr->value);
sk_pop_free(headers, mime_hdr_free);
sk_pop_free(headers, (void(*)(void *)) mime_hdr_free);
return NULL;
}
sk_pop_free(headers, mime_hdr_free);
sk_pop_free(headers, (void(*)(void *)) mime_hdr_free);
if(!(p7 = B64_read_PKCS7(bio))) {
PKCS7err(PKCS7_F_SMIME_READ_PKCS7, PKCS7_R_PKCS7_PARSE_ERROR);
@ -333,16 +333,16 @@ int SMIME_text(BIO *in, BIO *out)
}
if(!(hdr = mime_hdr_find(headers, "content-type")) || !hdr->value) {
PKCS7err(PKCS7_F_SMIME_TEXT,PKCS7_R_MIME_NO_CONTENT_TYPE);
sk_pop_free(headers, mime_hdr_free);
sk_pop_free(headers, (void(*)(void *)) mime_hdr_free);
return 0;
}
if (strcmp (hdr->value, "text/plain")) {
PKCS7err(PKCS7_F_SMIME_TEXT,PKCS7_R_INVALID_MIME_TYPE);
ERR_add_error_data(2, "type: ", hdr->value);
sk_pop_free(headers, mime_hdr_free);
sk_pop_free(headers, (void(*)(void *)) mime_hdr_free);
return 0;
}
sk_pop_free(headers, mime_hdr_free);
sk_pop_free(headers, (void(*)(void *)) mime_hdr_free);
while ((len = BIO_read(in, iobuf, sizeof(iobuf))) > 0)
BIO_write(out, iobuf, len);
return 1;
@ -413,7 +413,7 @@ static STACK *mime_parse_hdr(BIO *bio)
MIME_HEADER *mhdr = NULL;
STACK *headers;
int len, state, save_state = 0;
headers = sk_new(mime_hdr_cmp);
headers = sk_new((int (*)(const void *, const void *))mime_hdr_cmp);
while ((len = BIO_gets(bio, linebuf, MAX_SMLEN)) > 0) {
/* If whitespace at line start then continuation line */
if(mhdr && isspace((unsigned char)linebuf[0])) state = MIME_NAME;
@ -573,7 +573,7 @@ static MIME_HEADER *mime_hdr_new(char *name, char *value)
if(!mhdr) return NULL;
mhdr->name = tmpname;
mhdr->value = tmpval;
if(!(mhdr->params = sk_new(mime_param_cmp))) return NULL;
if(!(mhdr->params = sk_new((int (*)(const void *, const void *)) mime_param_cmp))) return NULL;
return mhdr;
}
@ -642,7 +642,7 @@ static void mime_hdr_free(MIME_HEADER *hdr)
{
if(hdr->name) Free(hdr->name);
if(hdr->value) Free(hdr->value);
if(hdr->params) sk_pop_free(hdr->params, mime_param_free);
if(hdr->params) sk_pop_free(hdr->params, (void(*)(void *)) mime_param_free);
Free(hdr);
}


+ 1
- 1
crypto/pkcs7/pk7_smime.c View File

@ -127,7 +127,7 @@ PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs,
PKCS7_simple_smimecap (smcap, NID_rc2_cbc, 40);
#endif
PKCS7_add_attrib_smimecap (si, smcap);
sk_pop_free(smcap, X509_ALGOR_free);
sk_pop_free(smcap, (void(*)(void *)) X509_ALGOR_free);
}
if(flags & PKCS7_DETACHED)PKCS7_set_detached(p7, 1);


+ 3
- 3
crypto/stack/safestack.h View File

@ -87,7 +87,7 @@ void sk_##type##_sort(STACK_OF(type) *sk);
#define IMPLEMENT_STACK_OF(type) \
STACK_OF(type) *sk_##type##_new(int (*cmp)(type **,type **)) \
{ return (STACK_OF(type) *)sk_new(cmp); } \
{ return (STACK_OF(type) *)sk_new((int (*)())cmp); } \
STACK_OF(type) *sk_##type##_new_null() \
{ return (STACK_OF(type) *)sk_new_null(); } \
void sk_##type##_free(STACK_OF(type) *sk) \
@ -114,11 +114,11 @@ int sk_##type##_insert(STACK_OF(type) *sk,type *v,int n) \
{ return sk_insert((STACK *)sk,(char *)v,n); } \
int (*sk_##type##_set_cmp_func(STACK_OF(type) *sk, \
int (*cmp)(type **,type **)))(type **,type **) \
{ return (int (*)(type **,type **))sk_set_cmp_func((STACK *)sk,cmp); } \
{ return (int (*)(type **,type **))sk_set_cmp_func((STACK *)sk,(int(*)(const void *, const void *))cmp); } \
STACK_OF(type) *sk_##type##_dup(STACK_OF(type) *sk) \
{ return (STACK_OF(type) *)sk_dup((STACK *)sk); } \
void sk_##type##_pop_free(STACK_OF(type) *sk,void (*func)(type *)) \
{ sk_pop_free((STACK *)sk,func); } \
{ sk_pop_free((STACK *)sk,(void (*)(void *))func); } \
type *sk_##type##_shift(STACK_OF(type) *sk) \
{ return (type *)sk_shift((STACK *)sk); } \
type *sk_##type##_pop(STACK_OF(type) *sk) \


+ 10
- 11
crypto/stack/stack.c View File

@ -74,12 +74,11 @@
const char *STACK_version="Stack" OPENSSL_VERSION_PTEXT;
#define FP_ICC (int (*)(const void *,const void *))
#include <errno.h>
int (*sk_set_cmp_func(STACK *sk, int (*c)()))(void)
int (*sk_set_cmp_func(STACK *sk, int (*c)(const void *,const void *)))(const void *, const void *)
{
int (*old)()=sk->comp;
int (*old)(const void *,const void *)=sk->comp;
if (sk->comp != c)
sk->sorted=0;
@ -109,7 +108,7 @@ err:
return(NULL);
}
STACK *sk_new(int (*c)())
STACK *sk_new(int (*c)(const void *, const void *))
{
STACK *ret;
int i;
@ -207,7 +206,7 @@ int sk_find(STACK *st, char *data)
{
char **r;
int i;
int (*comp_func)();
int (*comp_func)(const void *,const void *);
if(st == NULL) return -1;
if (st->comp == NULL)
@ -219,9 +218,9 @@ int sk_find(STACK *st, char *data)
}
sk_sort(st);
if (data == NULL) return(-1);
comp_func=(int (*)())st->comp;
comp_func=st->comp;
r=(char **)bsearch(&data,(char *)st->data,
st->num,sizeof(char *),FP_ICC comp_func);
st->num,sizeof(char *), comp_func);
if (r == NULL) return(-1);
i=(int)(r-st->data);
for ( ; i>0; i--)
@ -262,7 +261,7 @@ void sk_zero(STACK *st)
st->num=0;
}
void sk_pop_free(STACK *st, void (*func)())
void sk_pop_free(STACK *st, void (*func)(void *))
{
int i;
@ -302,10 +301,10 @@ void sk_sort(STACK *st)
{
if (!st->sorted)
{
int (*comp_func)();
int (*comp_func)(const void *,const void *);
comp_func=(int (*)())st->comp;
qsort(st->data,st->num,sizeof(char *),FP_ICC comp_func);
comp_func=st->comp;
qsort(st->data,st->num,sizeof(char *), comp_func);
st->sorted=1;
}
}