aboutsummaryrefslogtreecommitdiff
path: root/GNUmakefile
diff options
context:
space:
mode:
Diffstat (limited to 'GNUmakefile')
-rw-r--r--GNUmakefile41
1 files changed, 40 insertions, 1 deletions
diff --git a/GNUmakefile b/GNUmakefile
index 692ddf1..10299f7 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -28,6 +28,13 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# Whether to enable threading. Main reason for being able to turn it
+# off is that gdb on the Novena goes bananas when threading is enabled.
+
+ifndef ENABLE_THREADS
+ ENABLE_THREADS := yes
+endif
+
LIBHAL_DIR = ../libhal
LIBTFM_DIR = ../libtfm
SQLITE3_DIR = ../sqlite3
@@ -35,6 +42,12 @@ SQLITE3_DIR = ../sqlite3
CFLAGS += -g3 -fPIC -Wall -std=c99 -I${LIBHAL_DIR} -I${SQLITE3_DIR}
LIBS := ${LIBHAL_DIR}/libhal.a ${LIBTFM_DIR}/libtfm.a ${SQLITE3_DIR}/libsqlite3.a
+ifeq "${ENABLE_THREADS}" "yes"
+ CFLAGS += -pthread
+else
+ CFLAGS += -DUSE_PTHREADS=0
+endif
+
all: libpkcs11.so
clean:
@@ -53,7 +66,7 @@ pkcs11.o: pkcs11.c schema.h attributes.h
${CC} ${CFLAGS} -c $<
pkcs11.so: pkcs11.o ${LIBS}
- ${CC} -shared -o $@ -Wl,-Bsymbolic-functions -Wl,-Bsymbolic -Wl,-z,noexecstack -g $^
+ ${CC} ${CFLAGS} -shared -o $@ -Wl,-Bsymbolic-functions -Wl,-Bsymbolic -Wl,-z,noexecstack -g $^
libpkcs11.so: pkcs11.so
objcopy -w -G 'C_*' $< $@
@@ -62,3 +75,29 @@ tags: TAGS
TAGS: *.[ch]
etags $^
+
+# Kudge for testing, gussy this up if we decide to keep it
+
+HSMBULLY := $(firstword $(wildcard $(addsuffix /hsmbully,$(subst :, ,.:${PATH}))))
+
+ifneq "${HSMBULLY}" ""
+
+HSMBULLY_OPTIONS := \
+ --pin fnord --so-pin fnord --pkcs11lib $(abspath libpkcs11.so) \
+ --verbose=9 --fast-and-frivolous --skip-fragmentation --skip-keysizing
+
+FNORD := x'98034e94dd4fc527fb8a9296eab55677cd4ce40e025d42acae3cfcc7813f3b9d'
+SALT := x'000102030405060708090a0b0c0d0e0f'
+PIN_SQL := UPDATE global SET user_pin = ${FNORD}, user_pin_salt = ${SALT}, so_pin = ${FNORD}, so_pin_salt = ${SALT}
+
+export PKCS11_DATABASE=$(abspath .pkcs11.db)
+
+SQLITE3_CMD := $(abspath ../sqlite3/build/sqlite3)
+
+bully: all
+ rm -f ${PKCS11_DATABASE} ${PKCS11_DATABASE}-journal
+ ${SQLITE3_CMD} ${PKCS11_DATABASE} <schema.sql
+ ${SQLITE3_CMD} -echo ${PKCS11_DATABASE} "${PIN_SQL}"
+ sudo -E ${HSMBULLY} ${HSMBULLY_OPTIONS}
+
+endif