diff options
author | beck <> | 2000-03-19 11:13:58 +0000 |
---|---|---|
committer | beck <> | 2000-03-19 11:13:58 +0000 |
commit | 796d609550df3a33fc11468741c5d2f6d3df4c11 (patch) | |
tree | 6c6d539061caa20372dad0ac4ddb1dfae2fbe7fe /src/lib/libcrypto/bio/bf_nbio.c | |
parent | 5be3114c1fd7e0dfea1e38d3abb4cbba75244419 (diff) | |
download | openbsd-796d609550df3a33fc11468741c5d2f6d3df4c11.tar.gz openbsd-796d609550df3a33fc11468741c5d2f6d3df4c11.tar.bz2 openbsd-796d609550df3a33fc11468741c5d2f6d3df4c11.zip |
OpenSSL 0.9.5 merge
*warning* this bumps shared lib minors for libssl and libcrypto from 2.1 to 2.2
if you are using the ssl26 packages for ssh and other things to work you will
need to get new ones (see ~beck/libsslsnap/<arch>) on cvs or ~beck/src-patent.tar.gz on cvs
Diffstat (limited to 'src/lib/libcrypto/bio/bf_nbio.c')
-rw-r--r-- | src/lib/libcrypto/bio/bf_nbio.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/lib/libcrypto/bio/bf_nbio.c b/src/lib/libcrypto/bio/bf_nbio.c index cbec2bae29..5e574b7231 100644 --- a/src/lib/libcrypto/bio/bf_nbio.c +++ b/src/lib/libcrypto/bio/bf_nbio.c | |||
@@ -73,6 +73,7 @@ static int nbiof_gets(BIO *h,char *str,int size); | |||
73 | static long nbiof_ctrl(BIO *h,int cmd,long arg1,char *arg2); | 73 | static long nbiof_ctrl(BIO *h,int cmd,long arg1,char *arg2); |
74 | static int nbiof_new(BIO *h); | 74 | static int nbiof_new(BIO *h); |
75 | static int nbiof_free(BIO *data); | 75 | static int nbiof_free(BIO *data); |
76 | static long nbiof_callback_ctrl(BIO *h,int cmd,void (*fp)()); | ||
76 | typedef struct nbio_test_st | 77 | typedef struct nbio_test_st |
77 | { | 78 | { |
78 | /* only set if we sent a 'should retry' error */ | 79 | /* only set if we sent a 'should retry' error */ |
@@ -91,6 +92,7 @@ static BIO_METHOD methods_nbiof= | |||
91 | nbiof_ctrl, | 92 | nbiof_ctrl, |
92 | nbiof_new, | 93 | nbiof_new, |
93 | nbiof_free, | 94 | nbiof_free, |
95 | nbiof_callback_ctrl, | ||
94 | }; | 96 | }; |
95 | 97 | ||
96 | BIO_METHOD *BIO_f_nbio_test(void) | 98 | BIO_METHOD *BIO_f_nbio_test(void) |
@@ -137,7 +139,7 @@ static int nbiof_read(BIO *b, char *out, int outl) | |||
137 | 139 | ||
138 | BIO_clear_retry_flags(b); | 140 | BIO_clear_retry_flags(b); |
139 | #if 0 | 141 | #if 0 |
140 | RAND_bytes(&n,1); | 142 | RAND_pseudo_bytes(&n,1); |
141 | num=(n&0x07); | 143 | num=(n&0x07); |
142 | 144 | ||
143 | if (outl > num) outl=num; | 145 | if (outl > num) outl=num; |
@@ -178,7 +180,7 @@ static int nbiof_write(BIO *b, char *in, int inl) | |||
178 | } | 180 | } |
179 | else | 181 | else |
180 | { | 182 | { |
181 | RAND_bytes(&n,1); | 183 | RAND_pseudo_bytes(&n,1); |
182 | num=(n&7); | 184 | num=(n&7); |
183 | } | 185 | } |
184 | 186 | ||
@@ -224,6 +226,20 @@ static long nbiof_ctrl(BIO *b, int cmd, long num, char *ptr) | |||
224 | return(ret); | 226 | return(ret); |
225 | } | 227 | } |
226 | 228 | ||
229 | static long nbiof_callback_ctrl(BIO *b, int cmd, void (*fp)()) | ||
230 | { | ||
231 | long ret=1; | ||
232 | |||
233 | if (b->next_bio == NULL) return(0); | ||
234 | switch (cmd) | ||
235 | { | ||
236 | default: | ||
237 | ret=BIO_callback_ctrl(b->next_bio,cmd,fp); | ||
238 | break; | ||
239 | } | ||
240 | return(ret); | ||
241 | } | ||
242 | |||
227 | static int nbiof_gets(BIO *bp, char *buf, int size) | 243 | static int nbiof_gets(BIO *bp, char *buf, int size) |
228 | { | 244 | { |
229 | if (bp->next_bio == NULL) return(0); | 245 | if (bp->next_bio == NULL) return(0); |