From d3d84b6f3e79d4f8b89ef8f2e9d67ecaf8294433 Mon Sep 17 00:00:00 2001 From: beck <> Date: Mon, 19 Mar 2018 14:34:33 +0000 Subject: Add regress test ensuring autoinit stays pledge("stdio") safe. --- src/regress/lib/libcrypto/Makefile | 3 ++- src/regress/lib/libcrypto/init/Makefile | 14 ++++++++++++ src/regress/lib/libcrypto/init/init_pledge.c | 34 ++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 src/regress/lib/libcrypto/init/Makefile create mode 100644 src/regress/lib/libcrypto/init/init_pledge.c 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 @@ -# $OpenBSD: Makefile,v 1.28 2017/05/06 20:42:57 beck Exp $ +# $OpenBSD: Makefile,v 1.29 2018/03/19 14:34:33 beck Exp $ SUBDIR= \ aead \ @@ -27,6 +27,7 @@ SUBDIR= \ hmac \ idea \ ige \ + init \ md4 \ md5 \ 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 @@ +# $OpenBSD: Makefile,v 1.1 2018/03/19 14:34:33 beck Exp $ +PROG= init_pledge +SRCS+= init_pledge.c +NOMAN= yes + +LDADD+= -lcrypto -lutil +CFLAGS+= -Wall -Werror + +REGRESS_TARGETS+= test_normal + +test_normal: ${PROG} + ./${PROG} + +.include 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 @@ +/* $OpenBSD: init_pledge.c,v 1.1 2018/03/19 14:34:33 beck Exp $ */ + +/* + * Copyright (c) 2018 Bob Beck + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include + +#include +#include + + +int +main (int argc, char *argv[]) +{ + pledge("stdio", NULL); + + ERR_load_ERR_strings(); + printf("[SUCCESS] - crypto autoinit is pledge(\"stdio\") safe\n"); + + exit(0); +} -- cgit v1.2.3-55-g6feb