summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2019-11-02 05:19:02 -0400
committerJune McEnroe <june@causal.agency>2019-11-02 05:19:02 -0400
commitf5eb3c5b008c044a253c0be753e9573e215d1f6c (patch)
tree2e7a4a033ce70f1c6d5c6b2acfcd78bb4380faf6
parentApply capsicum to calico (diff)
downloadpounce-f5eb3c5b008c044a253c0be753e9573e215d1f6c.tar.gz
pounce-f5eb3c5b008c044a253c0be753e9573e215d1f6c.zip
Add calico rc script
-rw-r--r--.gitignore4
-rw-r--r--Makefile11
-rw-r--r--README.76
-rw-r--r--rc.d/calico27
-rw-r--r--rc.d/pounce (renamed from rc.pounce)0
5 files changed, 38 insertions, 10 deletions
diff --git a/.gitignore b/.gitignore
index c66cc95..c7ce8fe 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,8 @@
 *.conf
 *.o
-calico
+/calico
+/pounce
 config.mk
 localhost.crt
 localhost.key
-pounce
 tags
diff --git a/Makefile b/Makefile
index 62cf6b0..5000038 100644
--- a/Makefile
+++ b/Makefile
@@ -8,10 +8,11 @@ CFLAGS += -I${LIBRESSL_PREFIX}/include
 LDFLAGS += -L${LIBRESSL_PREFIX}/lib
 LDLIBS = -ltls
 
--include config.mk
-
 BINS = calico pounce
 MANS = ${BINS:=.1}
+RCS = ${BINS:%=rc.d/%}
+
+-include config.mk
 
 OBJS += bounce.o
 OBJS += client.o
@@ -37,16 +38,16 @@ tags: *.c *.h
 clean:
 	rm -f tags ${BINS} ${OBJS} dispatch.o
 
-install: ${BINS} ${MANS} rc.pounce
+install: ${BINS} ${MANS} ${RCS}
 	install -d ${PREFIX}/bin ${MANDIR}/man1 ${ETCDIR}/rc.d
 	install ${BINS} ${PREFIX}/bin
 	install -m 644 ${MANS} ${MANDIR}/man1
-	install rc.pounce ${ETCDIR}/rc.d/pounce
+	install ${RCS} ${ETCDIR}/rc.d
 
 uninstall:
 	rm -f ${BINS:%=${PREFIX}/bin/%}
 	rm -f ${MANS:%=${MANDIR}/man1/%}
-	rm -f ${ETCDIR}/rc.d/pounce
+	rm -f ${RCS:%=${ETCDIR}/%}
 
 localhost.crt:
 	printf "[dn]\nCN=localhost\n[req]\ndistinguished_name=dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth" \
diff --git a/README.7 b/README.7
index 4225afa..ff6e463 100644
--- a/README.7
+++ b/README.7
@@ -1,4 +1,4 @@
-.Dd November 1, 2019
+.Dd November 2, 2019
 .Dt README 7
 .Os "Causal Agency"
 .
@@ -68,10 +68,10 @@ buffer between server and clients
 configuration parsing
 .It Pa dispatch.c
 SNI socket dispatcher
-.It Pa rc.pounce
+.It Pa rc.d/
 .Fx
 .Xr rc 8
-script
+scripts
 .El
 .
 .Sh SEE ALSO
diff --git a/rc.d/calico b/rc.d/calico
new file mode 100644
index 0000000..583b65b
--- /dev/null
+++ b/rc.d/calico
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+# PROVIDE: calico
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+
+. /etc/rc.subr
+
+name='calico'
+rcvar='calico_enable'
+
+load_rc_config "${name}"
+
+: ${calico_enable:="NO"}
+
+command='/usr/sbin/daemon'
+child_command='/usr/local/bin/calico'
+pidfile="/var/run/${name}.pid"
+
+child_flags=$calico_flags
+child_user=$calico_user
+unset calico_flags calico_user
+command_args="\
+	-p ${pidfile} -T ${name} ${child_user:+-u ${child_user}} \
+	-- ${child_command} ${child_flags}"
+
+run_rc_command "$1"
diff --git a/rc.pounce b/rc.d/pounce
index 599c585..599c585 100644
--- a/rc.pounce
+++ b/rc.d/pounce