X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Fbio%2Fbf_nbio.c;h=413ef5c4c5e943bb4a342e00872317639c2a7c16;hb=7d95ff76e6d42855a3fa4431116dded5b0549ecb;hp=a525e79d4fb28f68b82b62a094176da52c048cfd;hpb=e7f97e2d22e386df60c8da63277727a931bf22b7;p=oweals%2Fopenssl.git diff --git a/crypto/bio/bf_nbio.c b/crypto/bio/bf_nbio.c index a525e79d4f..413ef5c4c5 100644 --- a/crypto/bio/bf_nbio.c +++ b/crypto/bio/bf_nbio.c @@ -66,13 +66,14 @@ /* 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,bio_info_cb *fp); typedef struct nbio_test_st { /* only set if we sent a 'should retry' error */ @@ -91,6 +92,7 @@ static BIO_METHOD methods_nbiof= nbiof_ctrl, nbiof_new, nbiof_free, + nbiof_callback_ctrl, }; BIO_METHOD *BIO_f_nbio_test(void) @@ -102,7 +104,7 @@ static int nbiof_new(BIO *bi) { NBIO_TEST *nt; - nt=(NBIO_TEST *)Malloc(sizeof(NBIO_TEST)); + nt=(NBIO_TEST *)OPENSSL_malloc(sizeof(NBIO_TEST)); nt->lrn= -1; nt->lwn= -1; bi->ptr=(char *)nt; @@ -115,7 +117,7 @@ static int nbiof_free(BIO *a) { if (a == NULL) return(0); if (a->ptr != NULL) - Free(a->ptr); + OPENSSL_free(a->ptr); a->ptr=NULL; a->init=0; a->flags=0; @@ -157,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; @@ -202,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; @@ -224,6 +226,20 @@ static long nbiof_ctrl(BIO *b, int cmd, long num, char *ptr) return(ret); } +static long nbiof_callback_ctrl(BIO *b, int cmd, bio_info_cb *fp) + { + long ret=1; + + if (b->next_bio == NULL) return(0); + switch (cmd) + { + default: + ret=BIO_callback_ctrl(b->next_bio,cmd,fp); + break; + } + return(ret); + } + static int nbiof_gets(BIO *bp, char *buf, int size) { if (bp->next_bio == NULL) return(0); @@ -231,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));