diff options
author | beck <> | 2018-03-19 14:34:33 +0000 |
---|---|---|
committer | beck <> | 2018-03-19 14:34:33 +0000 |
commit | d3d84b6f3e79d4f8b89ef8f2e9d67ecaf8294433 (patch) | |
tree | 64427255081f32fb8e12275122ba712b03ea555c | |
parent | 0411609e921425cc1953e32e3b9b37723d5e0459 (diff) | |
download | openbsd-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/Makefile | 3 | ||||
-rw-r--r-- | src/regress/lib/libcrypto/init/Makefile | 14 | ||||
-rw-r--r-- | src/regress/lib/libcrypto/init/init_pledge.c | 34 |
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 | ||
3 | SUBDIR= \ | 3 | SUBDIR= \ |
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 $ | ||
2 | PROG= init_pledge | ||
3 | SRCS+= init_pledge.c | ||
4 | NOMAN= yes | ||
5 | |||
6 | LDADD+= -lcrypto -lutil | ||
7 | CFLAGS+= -Wall -Werror | ||
8 | |||
9 | REGRESS_TARGETS+= test_normal | ||
10 | |||
11 | test_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 | |||
25 | int | ||
26 | main (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 | } | ||