| 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) |