You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
134 lines
6.4 KiB
134 lines
6.4 KiB
Index: ekeyd-1.1.4/host/ekeyd.c
|
|
===================================================================
|
|
--- ekeyd-1.1.4.orig/host/ekeyd.c
|
|
+++ ekeyd-1.1.4/host/ekeyd.c
|
|
@@ -209,7 +209,7 @@ open_foldback_output(void)
|
|
return (output_stream != NULL);
|
|
}
|
|
|
|
-static const char *usage=
|
|
+static const char usage[]=
|
|
"Usage: %s [-f <configfile>] [-p <pidfile>] [-v] [-h]\n"
|
|
"Entropy Key Daemon\n\n"
|
|
"\t-f Read configuration from configfile\n"
|
|
Index: ekeyd-1.1.4/host/ekey-setkey.c
|
|
===================================================================
|
|
--- ekeyd-1.1.4.orig/host/ekey-setkey.c
|
|
+++ ekeyd-1.1.4/host/ekey-setkey.c
|
|
@@ -79,7 +79,7 @@ calc_mac(uint8_t *snum, uint8_t *mkey, u
|
|
return mac;
|
|
}
|
|
|
|
-static const char *usage =
|
|
+static const char usage[] =
|
|
"Usage: %s [-d] [-h] [-n] [-f <keyring>] [-m <master>]\n"
|
|
" [-s <serial>] <path>\n"
|
|
"Entropy key device long term session key tool\n\n"
|
|
Index: ekeyd-1.1.4/host/ekey-ulusbd.c
|
|
===================================================================
|
|
--- ekeyd-1.1.4.orig/host/ekey-ulusbd.c
|
|
+++ ekeyd-1.1.4/host/ekey-ulusbd.c
|
|
@@ -100,7 +100,8 @@ find_usb_device(char *busmatch, char *de
|
|
|
|
#if LIBUSB_HAS_DETACH_KERNEL_DRIVER_NP
|
|
if ((r = usb_detach_kernel_driver_np(devh, EKEY_IFACE)) != 0) {
|
|
- if (r != -ENODATA) {
|
|
+ /* libusb_compat-0.1.3 mistakenly translate ENODATA to ENOENT */
|
|
+ if (r != -ENODATA && r != -ENOENT) {
|
|
fprintf(stderr,
|
|
"Unable to detach Entropy Key at %s/%s from kernel\n",
|
|
busmatch, devmatch);
|
|
Index: ekeyd-1.1.4/udev/entropykey.sh
|
|
===================================================================
|
|
--- ekeyd-1.1.4.orig/udev/entropykey.sh
|
|
+++ ekeyd-1.1.4/udev/entropykey.sh
|
|
@@ -19,9 +19,9 @@ wait_for_usb () {
|
|
COUNTER=$(( ${COUNTER} + 1 ))
|
|
test ${COUNTER} -ge 10 && exit 1
|
|
done
|
|
- $BINPATH/ekey-ulusbd -b${BUSNUM} -d${DEVNUM} -P/var/run/ekey-ulusbd-${ENTROPY_KEY_SERIAL}.pid -p/var/run/entropykeys/${ENTROPY_KEY_SERIAL} -D
|
|
+ /usr/libexec/ekey-ulusbd -b${BUSNUM} -d${DEVNUM} -P/dev/.ekey-ulusbd/${ENTROPY_KEY_SERIAL}.pid -p/dev/entropykey/${ENTROPY_KEY_SERIAL} -D
|
|
sleep 1
|
|
- $BINPATH/ekeydctl ${ACTION} /var/run/entropykeys/${ENTROPY_KEY_SERIAL}
|
|
+ $BINPATH/ekeydctl ${ACTION} /dev/entropykey/${ENTROPY_KEY_SERIAL}
|
|
exit 0
|
|
}
|
|
|
|
@@ -34,18 +34,18 @@ else
|
|
if test "x${BUSNUM}" = "x" -o "x${DEVNUM}" = "x"; then
|
|
exit 0
|
|
fi
|
|
- if test -r "/var/run/ekey-ulusbd-${ENTROPY_KEY_SERIAL}.pid"; then
|
|
- kill $(cat "/var/run/ekey-ulusbd-${ENTROPY_KEY_SERIAL}.pid") || true
|
|
+ if test -r "/dev/.ekey-ulusbd/${ENTROPY_KEY_SERIAL}.pid"; then
|
|
+ kill $(< "/dev/.ekey-ulusbd/${ENTROPY_KEY_SERIAL}.pid") || true
|
|
fi
|
|
- mkdir -p /var/run/entropykeys
|
|
+ mkdir -p /dev/entropykey /dev/.ekeyd-ulusb
|
|
wait_for_usb &
|
|
exit 0
|
|
fi
|
|
# Update ekeyd with device operation
|
|
- $BINPATH/ekeydctl ${ACTION} /var/run/entropykeys/${ENTROPY_KEY_SERIAL}
|
|
+ $BINPATH/ekeydctl ${ACTION} /dev/entropykey/${ENTROPY_KEY_SERIAL}
|
|
if test "x$ACTION" = "xremove"; then
|
|
- rm "/var/run/ekey-ulusbd-${ENTROPYKEY_KEY_SERIAL}.pid"
|
|
- rm "/var/run/entropykeys/${ENTROPYKEY_KEY_SERIAL}"
|
|
+ rm "/dev/.ekey-ulusbd/${ENTROPYKEY_KEY_SERIAL}.pid"
|
|
+ rm "/dev/entropykey/${ENTROPYKEY_KEY_SERIAL}"
|
|
fi
|
|
fi
|
|
|
|
Index: ekeyd-1.1.4/udev/fedora15/60-entropykey.rules
|
|
===================================================================
|
|
--- ekeyd-1.1.4.orig/udev/fedora15/60-entropykey.rules
|
|
+++ ekeyd-1.1.4/udev/fedora15/60-entropykey.rules
|
|
@@ -9,10 +9,10 @@
|
|
# For licence terms refer to the COPYING file distributed with the source.
|
|
|
|
# Detect an Entropy Key being inserted and add info values to environment
|
|
-ACTION=="add|change|remove", SUBSYSTEM=="tty", KERNEL=="ttyACM[0-9]*", BUS=="usb", ATTRS{idVendor}=="20df", ATTRS{idProduct}=="0001", IMPORT{program}="usb_id --export %p"
|
|
+ACTION=="add|change|remove", SUBSYSTEM=="tty", KERNEL=="ttyACM[0-9]*", ATTRS{idVendor}=="20df", ATTRS{idProduct}=="0001", IMPORT{program}="usb_id --export %p"
|
|
|
|
# Detect an Entropy Key being inserted and extract serial number
|
|
-ACTION=="add|change|remove", SUBSYSTEM=="tty", KERNEL=="ttyACM[0-9]*", ATTRS{idVendor}=="20df", ATTRS{idProduct}=="0001", IMPORT{program}="/bin/echo ENTROPY_KEY_SERIAL=$env{ID_SERIAL_SHORT}"
|
|
+ACTION=="add|change|remove", SUBSYSTEM=="tty", KERNEL=="ttyACM[0-9]*", ATTRS{idVendor}=="20df", ATTRS{idProduct}=="0001", IMPORT{program}="/bin/sh -c '/bin/echo ENTROPY_KEY_SERIAL=$env{ID_SERIAL_SHORT} | /bin/sed -e s:/:_:g'"
|
|
|
|
# Add the /dev/entropykey/<serialnumber> symbolic link
|
|
ENV{ENTROPY_KEY_SERIAL}!="", SYMLINK+="entropykey/$env{ENTROPY_KEY_SERIAL}"
|
|
Index: ekeyd-1.1.4/udev/fedora15/60-entropykey-uds.rules
|
|
===================================================================
|
|
--- ekeyd-1.1.4.orig/udev/fedora15/60-entropykey-uds.rules
|
|
+++ ekeyd-1.1.4/udev/fedora15/60-entropykey-uds.rules
|
|
@@ -9,7 +9,7 @@
|
|
# For licence terms refer to the COPYING file.
|
|
|
|
# Detect an Entropy Key being inserted and extract serial number
|
|
-ACTION=="add|change|remove", SUBSYSTEM=="usb", BUS=="usb", ATTRS{idVendor}=="20df", ATTRS{idProduct}=="0001", IMPORT{program}="/bin/echo ENTROPY_KEY_SERIAL=$attr{serial}"
|
|
+ACTION=="add|change|remove", SUBSYSTEM=="usb", ATTRS{idVendor}=="20df", ATTRS{idProduct}=="0001", IMPORT{program}="/bin/sh -c '/bin/echo ENTROPY_KEY_SERIAL=$env{ID_SERIAL_SHORT} | /bin/sed -e s:/:_:g'"
|
|
|
|
# And tell the ekeyd about the device action.
|
|
ENV{ENTROPY_KEY_SERIAL}!="", RUN+="/lib/udev/entropykey.sh"
|
|
Index: ekeyd-1.1.4/host/Makefile
|
|
===================================================================
|
|
--- ekeyd-1.1.4.orig/host/Makefile
|
|
+++ ekeyd-1.1.4/host/Makefile
|
|
@@ -107,7 +107,7 @@ OPT ?= -O2
|
|
CFLAGS += $(INCLUDES)
|
|
CFLAGS += -g -Wall $(OPT)
|
|
CFLAGS += -fno-strict-aliasing
|
|
-CFLAGS += -std=c99 -Wall -pedantic -Wshadow -Werror -D_GNU_SOURCE
|
|
+CFLAGS += -std=c99 -Wall -pedantic -Wshadow -D_GNU_SOURCE
|
|
CFLAGS += '-DCONFIGFILE="$(SYSCONFPREFIX)/ekeyd.conf"'
|
|
CFLAGS += '-DPIDFILE="$(RUNTIMEPREFIX)/ekeyd.pid"'
|
|
CFLAGS += '-DKEYRINGFILE="$(SYSCONFPREFIX)/keyring"'
|
|
@@ -148,7 +148,7 @@ daemonise_ulusbd.o: daemonise.c
|
|
$(COMPILE.c) $(OUTPUT_OPTION) $(PTHFLAGS) $^
|
|
|
|
egd-linux: egd-linux.o daemonise.o
|
|
- $(CC) $(CFLAGS) -o $@ $^
|
|
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
|
|
|
|
ekeyd: ekeyd.o daemonise.o lstate.o connection.o stream.o frame.o packet.o keydb.o util.o fds.o krnlop.o foldback.o stats.o nonce.o ../device/frames/pem.o ../device/skeinwrap.o ../device/skein/skein.o ../device/skein/skein_block.o
|
|
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)
|