summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--bounce.c2
-rw-r--r--bounce.h4
3 files changed, 7 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 6c33ceb..de08e06 100644
--- a/Makefile
+++ b/Makefile
@@ -2,9 +2,11 @@ PREFIX = /usr/local
 MANDIR = ${PREFIX}/man
 ETCDIR = ${PREFIX}/etc
 LIBRESSL_PREFIX = /usr/local
+LIBRESSL_BIN_PREFIX = ${LIBRESSL_PREFIX:%=%/bin}
 
 CFLAGS += -std=c11 -Wall -Wextra -Wpedantic
 CFLAGS += ${LIBRESSL_PREFIX:%=-I%/include}
+CFLAGS += ${LIBRESSL_BIN_PREFIX:%=-D'LIBRESSL_BIN_PREFIX="%/"'}
 LDFLAGS += ${LIBRESSL_PREFIX:%=-L%/lib}
 LDLIBS = -lcrypt -lcrypto -ltls
 
diff --git a/bounce.c b/bounce.c
index d4b6175..2b1413d 100644
--- a/bounce.c
+++ b/bounce.c
@@ -59,7 +59,7 @@ static void genCert(const char *path) {
 	snprintf(subj, sizeof(subj), "/CN=%.*s", (int)strcspn(name, "."), name);
 	umask(0066);
 	execlp(
-		"openssl", "openssl", "req",
+		LIBRESSL_BIN_PREFIX "openssl", "openssl", "req",
 		"-x509", "-new", "-newkey", "rsa:4096", "-sha256", "-days", "1000",
 		"-nodes", "-subj", subj, "-out", path, "-keyout", path,
 		NULL
diff --git a/bounce.h b/bounce.h
index 17cf5b6..6b9ba66 100644
--- a/bounce.h
+++ b/bounce.h
@@ -27,6 +27,10 @@
 #define CERTBOT_PATH "/usr/local/etc/letsencrypt"
 #endif
 
+#ifndef LIBRESSL_BIN_PREFIX
+#define LIBRESSL_BIN_PREFIX
+#endif
+
 #define SOURCE_URL "https://code.causal.agency/june/pounce"
 #define ORIGIN "irc.invalid"