diff options
author | tb <> | 2018-02-20 18:17:17 +0000 |
---|---|---|
committer | tb <> | 2018-02-20 18:17:17 +0000 |
commit | 9f288b2cd2768e52d60e3a2722ef5e6aed658dd9 (patch) | |
tree | 7548473eeb672688c0f5e8fc0df37c168595c8a1 /src | |
parent | d6ccb786c626f058c506c0058b1bb76a87e3801c (diff) | |
download | openbsd-9f288b2cd2768e52d60e3a2722ef5e6aed658dd9.tar.gz openbsd-9f288b2cd2768e52d60e3a2722ef5e6aed658dd9.tar.bz2 openbsd-9f288b2cd2768e52d60e3a2722ef5e6aed658dd9.zip |
Provide BIO_meth_{g,s}et_callback_ctrl()
with & ok jsing
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/libcrypto/Symbols.list | 2 | ||||
-rw-r--r-- | src/lib/libcrypto/bio/bio.h | 6 | ||||
-rw-r--r-- | src/lib/libcrypto/bio/bio_meth.c | 18 |
3 files changed, 24 insertions, 2 deletions
diff --git a/src/lib/libcrypto/Symbols.list b/src/lib/libcrypto/Symbols.list index 04eb29fc1e..61a7867182 100644 --- a/src/lib/libcrypto/Symbols.list +++ b/src/lib/libcrypto/Symbols.list | |||
@@ -290,6 +290,7 @@ BIO_gets | |||
290 | BIO_indent | 290 | BIO_indent |
291 | BIO_int_ctrl | 291 | BIO_int_ctrl |
292 | BIO_meth_free | 292 | BIO_meth_free |
293 | BIO_meth_get_callback_ctrl | ||
293 | BIO_meth_get_create | 294 | BIO_meth_get_create |
294 | BIO_meth_get_ctrl | 295 | BIO_meth_get_ctrl |
295 | BIO_meth_get_destroy | 296 | BIO_meth_get_destroy |
@@ -297,6 +298,7 @@ BIO_meth_get_gets | |||
297 | BIO_meth_get_puts | 298 | BIO_meth_get_puts |
298 | BIO_meth_get_read | 299 | BIO_meth_get_read |
299 | BIO_meth_new | 300 | BIO_meth_new |
301 | BIO_meth_set_callback_ctrl | ||
300 | BIO_meth_set_create | 302 | BIO_meth_set_create |
301 | BIO_meth_set_ctrl | 303 | BIO_meth_set_ctrl |
302 | BIO_meth_set_destroy | 304 | BIO_meth_set_destroy |
diff --git a/src/lib/libcrypto/bio/bio.h b/src/lib/libcrypto/bio/bio.h index 2d46535096..0a05d64929 100644 --- a/src/lib/libcrypto/bio/bio.h +++ b/src/lib/libcrypto/bio/bio.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: bio.h,v 1.37 2018/02/20 18:13:31 tb Exp $ */ | 1 | /* $OpenBSD: bio.h,v 1.38 2018/02/20 18:17:17 tb Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -270,6 +270,7 @@ const char * BIO_method_name(const BIO *b); | |||
270 | int BIO_method_type(const BIO *b); | 270 | int BIO_method_type(const BIO *b); |
271 | 271 | ||
272 | typedef void bio_info_cb(struct bio_st *, int, const char *, int, long, long); | 272 | typedef void bio_info_cb(struct bio_st *, int, const char *, int, long, long); |
273 | typedef int BIO_info_cb(BIO *, int, int); | ||
273 | 274 | ||
274 | typedef struct bio_method_st { | 275 | typedef struct bio_method_st { |
275 | int type; | 276 | int type; |
@@ -350,6 +351,9 @@ int (*BIO_meth_get_create(BIO_METHOD *biom))(BIO *); | |||
350 | int BIO_meth_set_create(BIO_METHOD *biom, int (*create)(BIO *)); | 351 | int BIO_meth_set_create(BIO_METHOD *biom, int (*create)(BIO *)); |
351 | int (*BIO_meth_get_destroy(BIO_METHOD *biom))(BIO *); | 352 | int (*BIO_meth_get_destroy(BIO_METHOD *biom))(BIO *); |
352 | int BIO_meth_set_destroy(BIO_METHOD *biom, int (*destroy)(BIO *)); | 353 | int BIO_meth_set_destroy(BIO_METHOD *biom, int (*destroy)(BIO *)); |
354 | long (*BIO_meth_get_callback_ctrl(BIO_METHOD *biom))(BIO *, int, BIO_info_cb *); | ||
355 | int BIO_meth_set_callback_ctrl(BIO_METHOD *biom, | ||
356 | long (*callback_ctrl)(BIO *, int, BIO_info_cb *)); | ||
353 | 357 | ||
354 | /* connect BIO stuff */ | 358 | /* connect BIO stuff */ |
355 | #define BIO_CONN_S_BEFORE 1 | 359 | #define BIO_CONN_S_BEFORE 1 |
diff --git a/src/lib/libcrypto/bio/bio_meth.c b/src/lib/libcrypto/bio/bio_meth.c index 1fc0df534b..2eb6794f02 100644 --- a/src/lib/libcrypto/bio/bio_meth.c +++ b/src/lib/libcrypto/bio/bio_meth.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: bio_meth.c,v 1.3 2018/02/20 18:13:31 tb Exp $ */ | 1 | /* $OpenBSD: bio_meth.c,v 1.4 2018/02/20 18:17:17 tb Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2018 Theo Buehler <tb@openbsd.org> | 3 | * Copyright (c) 2018 Theo Buehler <tb@openbsd.org> |
4 | * | 4 | * |
@@ -129,3 +129,19 @@ BIO_meth_set_destroy(BIO_METHOD *biom, int (*destroy)(BIO *)) | |||
129 | biom->destroy = destroy; | 129 | biom->destroy = destroy; |
130 | return 1; | 130 | return 1; |
131 | } | 131 | } |
132 | |||
133 | long | ||
134 | (*BIO_meth_get_callback_ctrl(BIO_METHOD *biom))(BIO *, int, BIO_info_cb *) | ||
135 | { | ||
136 | return | ||
137 | (long (*)(BIO *, int, BIO_info_cb*))biom->callback_ctrl; /* XXX */ | ||
138 | } | ||
139 | |||
140 | int | ||
141 | BIO_meth_set_callback_ctrl(BIO_METHOD *biom, | ||
142 | long (*callback_ctrl)(BIO *, int, BIO_info_cb *)) | ||
143 | { | ||
144 | biom->callback_ctrl = | ||
145 | (long (*)(BIO *, int, bio_info_cb *))callback_ctrl; /* XXX */ | ||
146 | return 1; | ||
147 | } | ||