summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbeck <>2018-03-19 14:34:33 +0000
committerbeck <>2018-03-19 14:34:33 +0000
commitd3d84b6f3e79d4f8b89ef8f2e9d67ecaf8294433 (patch)
tree64427255081f32fb8e12275122ba712b03ea555c
parent0411609e921425cc1953e32e3b9b37723d5e0459 (diff)
downloadopenbsd-d3d84b6f3e79d4f8b89ef8f2e9d67ecaf8294433.tar.gz
openbsd-d3d84b6f3e79d4f8b89ef8f2e9d67ecaf8294433.tar.bz2
openbsd-d3d84b6f3e79d4f8b89ef8f2e9d67ecaf8294433.zip
Add regress test ensuring autoinit stays pledge("stdio") safe.
-rw-r--r--src/regress/lib/libcrypto/Makefile3
-rw-r--r--src/regress/lib/libcrypto/init/Makefile14
-rw-r--r--src/regress/lib/libcrypto/init/init_pledge.c34
3 files changed, 50 insertions, 1 deletions
diff --git a/src/regress/lib/libcrypto/Makefile b/src/regress/lib/libcrypto/Makefile
index 73059c1c25..f6215fb118 100644
--- a/src/regress/lib/libcrypto/Makefile
+++ b/src/regress/lib/libcrypto/Makefile
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile,v 1.28 2017/05/06 20:42:57 beck Exp $ 1# $OpenBSD: Makefile,v 1.29 2018/03/19 14:34:33 beck Exp $
2 2
3SUBDIR= \ 3SUBDIR= \
4 aead \ 4 aead \
@@ -27,6 +27,7 @@ SUBDIR= \
27 hmac \ 27 hmac \
28 idea \ 28 idea \
29 ige \ 29 ige \
30 init \
30 md4 \ 31 md4 \
31 md5 \ 32 md5 \
32 pbkdf2 \ 33 pbkdf2 \
diff --git a/src/regress/lib/libcrypto/init/Makefile b/src/regress/lib/libcrypto/init/Makefile
new file mode 100644
index 0000000000..33b0a2aa76
--- /dev/null
+++ b/src/regress/lib/libcrypto/init/Makefile
@@ -0,0 +1,14 @@
1# $OpenBSD: Makefile,v 1.1 2018/03/19 14:34:33 beck Exp $
2PROG= init_pledge
3SRCS+= init_pledge.c
4NOMAN= yes
5
6LDADD+= -lcrypto -lutil
7CFLAGS+= -Wall -Werror
8
9REGRESS_TARGETS+= test_normal
10
11test_normal: ${PROG}
12 ./${PROG}
13
14.include <bsd.regress.mk>
diff --git a/src/regress/lib/libcrypto/init/init_pledge.c b/src/regress/lib/libcrypto/init/init_pledge.c
new file mode 100644
index 0000000000..76f5668ab8
--- /dev/null
+++ b/src/regress/lib/libcrypto/init/init_pledge.c
@@ -0,0 +1,34 @@
1/* $OpenBSD: init_pledge.c,v 1.1 2018/03/19 14:34:33 beck Exp $ */
2
3/*
4 * Copyright (c) 2018 Bob Beck <beck@openbsd.org>
5 *
6 * Permission to use, copy, modify, and distribute this software for any
7 * purpose with or without fee is hereby granted, provided that the above
8 * copyright notice and this permission notice appear in all copies.
9 *
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 */
18
19#include <openssl/err.h>
20
21#include <stdio.h>
22#include <unistd.h>
23
24
25int
26main (int argc, char *argv[])
27{
28 pledge("stdio", NULL);
29
30 ERR_load_ERR_strings();
31 printf("[SUCCESS] - crypto autoinit is pledge(\"stdio\") safe\n");
32
33 exit(0);
34}