summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortb <tb@openbsd.org>2018-02-20 18:13:31 +0000
committertb <tb@openbsd.org>2018-02-20 18:13:31 +0000
commit57f42a4ce140f97ddc36bba5482c2c0c4f368d6e (patch)
tree3ee6e0360c74a7aaee4683cc39636d5148872564
parentZap an 'int' that snuck in. (diff)
downloadwireguard-openbsd-57f42a4ce140f97ddc36bba5482c2c0c4f368d6e.tar.xz
wireguard-openbsd-57f42a4ce140f97ddc36bba5482c2c0c4f368d6e.zip
Provide BIO_meth_get_{create,ctrl,destroy,gets,puts,read}()
ok jsing
-rw-r--r--lib/libcrypto/Symbols.list6
-rw-r--r--lib/libcrypto/bio/bio.h8
-rw-r--r--lib/libcrypto/bio/bio_meth.c44
3 files changed, 56 insertions, 2 deletions
diff --git a/lib/libcrypto/Symbols.list b/lib/libcrypto/Symbols.list
index 39ef6bf4305..04eb29fc1e8 100644
--- a/lib/libcrypto/Symbols.list
+++ b/lib/libcrypto/Symbols.list
@@ -290,6 +290,12 @@ BIO_gets
BIO_indent
BIO_int_ctrl
BIO_meth_free
+BIO_meth_get_create
+BIO_meth_get_ctrl
+BIO_meth_get_destroy
+BIO_meth_get_gets
+BIO_meth_get_puts
+BIO_meth_get_read
BIO_meth_new
BIO_meth_set_create
BIO_meth_set_ctrl
diff --git a/lib/libcrypto/bio/bio.h b/lib/libcrypto/bio/bio.h
index e06faa03eea..2d46535096b 100644
--- a/lib/libcrypto/bio/bio.h
+++ b/lib/libcrypto/bio/bio.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: bio.h,v 1.36 2018/02/20 18:10:27 tb Exp $ */
+/* $OpenBSD: bio.h,v 1.37 2018/02/20 18:13:31 tb Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@@ -338,11 +338,17 @@ BIO_METHOD *BIO_meth_new(int type, const char *name);
void BIO_meth_free(BIO_METHOD *biom);
int BIO_meth_set_write(BIO_METHOD *biom,
int (*write)(BIO *, const char *, int));
+int (*BIO_meth_get_read(BIO_METHOD *biom))(BIO *, char *, int);
int BIO_meth_set_read(BIO_METHOD *biom, int (*read)(BIO *, char *, int));
+int (*BIO_meth_get_puts(BIO_METHOD *biom))(BIO *, const char *);
int BIO_meth_set_puts(BIO_METHOD *biom, int (*puts)(BIO *, const char *));
+int (*BIO_meth_get_gets(BIO_METHOD *biom))(BIO *, char *, int);
int BIO_meth_set_gets(BIO_METHOD *biom, int (*gets)(BIO *, char *, int));
+long (*BIO_meth_get_ctrl(BIO_METHOD *biom))(BIO *, int, long, void *);
int BIO_meth_set_ctrl(BIO_METHOD *biom, long (*ctrl)(BIO *, int, long, void *));
+int (*BIO_meth_get_create(BIO_METHOD *biom))(BIO *);
int BIO_meth_set_create(BIO_METHOD *biom, int (*create)(BIO *));
+int (*BIO_meth_get_destroy(BIO_METHOD *biom))(BIO *);
int BIO_meth_set_destroy(BIO_METHOD *biom, int (*destroy)(BIO *));
/* connect BIO stuff */
diff --git a/lib/libcrypto/bio/bio_meth.c b/lib/libcrypto/bio/bio_meth.c
index 65437a8e603..1fc0df534b0 100644
--- a/lib/libcrypto/bio/bio_meth.c
+++ b/lib/libcrypto/bio/bio_meth.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: bio_meth.c,v 1.2 2018/02/18 12:59:06 tb Exp $ */
+/* $OpenBSD: bio_meth.c,v 1.3 2018/02/20 18:13:31 tb Exp $ */
/*
* Copyright (c) 2018 Theo Buehler <tb@openbsd.org>
*
@@ -40,6 +40,12 @@ BIO_meth_free(BIO_METHOD *biom)
}
int
+(*BIO_meth_get_write(BIO_METHOD *biom))(BIO *, const char *, int)
+{
+ return biom->bwrite;
+}
+
+int
BIO_meth_set_write(BIO_METHOD *biom, int (*write)(BIO *, const char *, int))
{
biom->bwrite = write;
@@ -47,6 +53,12 @@ BIO_meth_set_write(BIO_METHOD *biom, int (*write)(BIO *, const char *, int))
}
int
+(*BIO_meth_get_read(BIO_METHOD *biom))(BIO *, char *, int)
+{
+ return biom->bread;
+}
+
+int
BIO_meth_set_read(BIO_METHOD *biom, int (*read)(BIO *, char *, int))
{
biom->bread = read;
@@ -54,6 +66,12 @@ BIO_meth_set_read(BIO_METHOD *biom, int (*read)(BIO *, char *, int))
}
int
+(*BIO_meth_get_puts(BIO_METHOD *biom))(BIO *, const char *)
+{
+ return biom->bputs;
+}
+
+int
BIO_meth_set_puts(BIO_METHOD *biom, int (*puts)(BIO *, const char *))
{
biom->bputs = puts;
@@ -61,12 +79,24 @@ BIO_meth_set_puts(BIO_METHOD *biom, int (*puts)(BIO *, const char *))
}
int
+(*BIO_meth_get_gets(BIO_METHOD *biom))(BIO *, char *, int)
+{
+ return biom->bgets;
+}
+
+int
BIO_meth_set_gets(BIO_METHOD *biom, int (*gets)(BIO *, char *, int))
{
biom->bgets = gets;
return 1;
}
+long
+(*BIO_meth_get_ctrl(BIO_METHOD *biom))(BIO *, int, long, void *)
+{
+ return biom->ctrl;
+}
+
int
BIO_meth_set_ctrl(BIO_METHOD *biom, long (*ctrl)(BIO *, int, long, void *))
{
@@ -75,6 +105,12 @@ BIO_meth_set_ctrl(BIO_METHOD *biom, long (*ctrl)(BIO *, int, long, void *))
}
int
+(*BIO_meth_get_create(BIO_METHOD *biom))(BIO *)
+{
+ return biom->create;
+}
+
+int
BIO_meth_set_create(BIO_METHOD *biom, int (*create)(BIO *))
{
biom->create = create;
@@ -82,6 +118,12 @@ BIO_meth_set_create(BIO_METHOD *biom, int (*create)(BIO *))
}
int
+(*BIO_meth_get_destroy(BIO_METHOD *biom))(BIO *)
+{
+ return biom->destroy;
+}
+
+int
BIO_meth_set_destroy(BIO_METHOD *biom, int (*destroy)(BIO *))
{
biom->destroy = destroy;