* app-crypt/ekeyd: Add
[portage-overlay.git] / app-crypt / ekeyd / files / ekeyd-1.1.4-gentoo.patch
1 Index: ekeyd-1.1.4/host/ekeyd.c
2 ===================================================================
3 --- ekeyd-1.1.4.orig/host/ekeyd.c
4 +++ ekeyd-1.1.4/host/ekeyd.c
5 @@ -209,7 +209,7 @@ open_foldback_output(void)
6      return (output_stream != NULL);
7  }
8  
9 -static const char *usage=
10 +static const char usage[]=
11      "Usage: %s [-f <configfile>] [-p <pidfile>] [-v] [-h]\n"
12      "Entropy Key Daemon\n\n"
13      "\t-f Read configuration from configfile\n"
14 Index: ekeyd-1.1.4/host/ekey-setkey.c
15 ===================================================================
16 --- ekeyd-1.1.4.orig/host/ekey-setkey.c
17 +++ ekeyd-1.1.4/host/ekey-setkey.c
18 @@ -79,7 +79,7 @@ calc_mac(uint8_t *snum, uint8_t *mkey, u
19      return mac;
20  }
21  
22 -static const char *usage =
23 +static const char usage[] =
24      "Usage: %s [-d] [-h] [-n] [-f <keyring>] [-m <master>]\n"
25      "       [-s <serial>] <path>\n"
26      "Entropy key device long term session key tool\n\n"
27 Index: ekeyd-1.1.4/host/ekey-ulusbd.c
28 ===================================================================
29 --- ekeyd-1.1.4.orig/host/ekey-ulusbd.c
30 +++ ekeyd-1.1.4/host/ekey-ulusbd.c
31 @@ -100,7 +100,8 @@ find_usb_device(char *busmatch, char *de
32  
33  #if LIBUSB_HAS_DETACH_KERNEL_DRIVER_NP
34      if ((r = usb_detach_kernel_driver_np(devh, EKEY_IFACE)) != 0) {
35 -        if (r != -ENODATA) {
36 +        /* libusb_compat-0.1.3 mistakenly translate ENODATA to ENOENT */
37 +        if (r != -ENODATA && r != -ENOENT) {
38              fprintf(stderr, 
39                      "Unable to detach Entropy Key at %s/%s from kernel\n", 
40                      busmatch, devmatch);
41 Index: ekeyd-1.1.4/udev/entropykey.sh
42 ===================================================================
43 --- ekeyd-1.1.4.orig/udev/entropykey.sh
44 +++ ekeyd-1.1.4/udev/entropykey.sh
45 @@ -19,9 +19,9 @@ wait_for_usb () {
46      COUNTER=$(( ${COUNTER} + 1 ))
47      test ${COUNTER} -ge 10 && exit 1
48    done
49 -  $BINPATH/ekey-ulusbd -b${BUSNUM} -d${DEVNUM} -P/var/run/ekey-ulusbd-${ENTROPY_KEY_SERIAL}.pid -p/var/run/entropykeys/${ENTROPY_KEY_SERIAL} -D
50 +  /usr/libexec/ekey-ulusbd -b${BUSNUM} -d${DEVNUM} -P/dev/.ekey-ulusbd/${ENTROPY_KEY_SERIAL}.pid -p/dev/entropykey/${ENTROPY_KEY_SERIAL} -D
51    sleep 1
52 -  $BINPATH/ekeydctl ${ACTION} /var/run/entropykeys/${ENTROPY_KEY_SERIAL}
53 +  $BINPATH/ekeydctl ${ACTION} /dev/entropykey/${ENTROPY_KEY_SERIAL}
54    exit 0
55  }
56  
57 @@ -34,18 +34,18 @@ else
58      if test "x${BUSNUM}" = "x" -o "x${DEVNUM}" = "x"; then
59        exit 0
60      fi
61 -    if test -r "/var/run/ekey-ulusbd-${ENTROPY_KEY_SERIAL}.pid"; then
62 -      kill $(cat "/var/run/ekey-ulusbd-${ENTROPY_KEY_SERIAL}.pid") || true
63 +    if test -r "/dev/.ekey-ulusbd/${ENTROPY_KEY_SERIAL}.pid"; then
64 +      kill $(< "/dev/.ekey-ulusbd/${ENTROPY_KEY_SERIAL}.pid") || true
65      fi
66 -    mkdir -p /var/run/entropykeys
67 +    mkdir -p /dev/entropykey /dev/.ekeyd-ulusb
68      wait_for_usb &
69      exit 0
70    fi
71    # Update ekeyd with device operation
72 -  $BINPATH/ekeydctl ${ACTION} /var/run/entropykeys/${ENTROPY_KEY_SERIAL}
73 +  $BINPATH/ekeydctl ${ACTION} /dev/entropykey/${ENTROPY_KEY_SERIAL}
74    if test "x$ACTION" = "xremove"; then
75 -    rm "/var/run/ekey-ulusbd-${ENTROPYKEY_KEY_SERIAL}.pid"
76 -    rm "/var/run/entropykeys/${ENTROPYKEY_KEY_SERIAL}"
77 +    rm "/dev/.ekey-ulusbd/${ENTROPYKEY_KEY_SERIAL}.pid"
78 +    rm "/dev/entropykey/${ENTROPYKEY_KEY_SERIAL}"
79    fi
80  fi
81  
82 Index: ekeyd-1.1.4/udev/fedora15/60-entropykey.rules
83 ===================================================================
84 --- ekeyd-1.1.4.orig/udev/fedora15/60-entropykey.rules
85 +++ ekeyd-1.1.4/udev/fedora15/60-entropykey.rules
86 @@ -9,10 +9,10 @@
87  # For licence terms refer to the COPYING file distributed with the source.
88  
89  # Detect an Entropy Key being inserted and add info values to environment
90 -ACTION=="add|change|remove", SUBSYSTEM=="tty", KERNEL=="ttyACM[0-9]*", BUS=="usb", ATTRS{idVendor}=="20df", ATTRS{idProduct}=="0001", IMPORT{program}="usb_id --export %p"
91 +ACTION=="add|change|remove", SUBSYSTEM=="tty", KERNEL=="ttyACM[0-9]*", ATTRS{idVendor}=="20df", ATTRS{idProduct}=="0001", IMPORT{program}="usb_id --export %p"
92  
93  # Detect an Entropy Key being inserted and extract serial number
94 -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}"
95 +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'"
96  
97  # Add the /dev/entropykey/<serialnumber> symbolic link
98  ENV{ENTROPY_KEY_SERIAL}!="", SYMLINK+="entropykey/$env{ENTROPY_KEY_SERIAL}"
99 Index: ekeyd-1.1.4/udev/fedora15/60-entropykey-uds.rules
100 ===================================================================
101 --- ekeyd-1.1.4.orig/udev/fedora15/60-entropykey-uds.rules
102 +++ ekeyd-1.1.4/udev/fedora15/60-entropykey-uds.rules
103 @@ -9,7 +9,7 @@
104  # For licence terms refer to the COPYING file.
105  
106  # Detect an Entropy Key being inserted and extract serial number
107 -ACTION=="add|change|remove", SUBSYSTEM=="usb", BUS=="usb", ATTRS{idVendor}=="20df", ATTRS{idProduct}=="0001", IMPORT{program}="/bin/echo ENTROPY_KEY_SERIAL=$attr{serial}"
108 +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'"
109  
110  # And tell the ekeyd about the device action.
111  ENV{ENTROPY_KEY_SERIAL}!="", RUN+="/lib/udev/entropykey.sh"
112 Index: ekeyd-1.1.4/host/Makefile
113 ===================================================================
114 --- ekeyd-1.1.4.orig/host/Makefile
115 +++ ekeyd-1.1.4/host/Makefile
116 @@ -107,7 +107,7 @@ OPT ?= -O2
117  CFLAGS += $(INCLUDES)
118  CFLAGS += -g -Wall $(OPT)
119  CFLAGS += -fno-strict-aliasing
120 -CFLAGS += -std=c99 -Wall -pedantic -Wshadow -Werror -D_GNU_SOURCE
121 +CFLAGS += -std=c99 -Wall -pedantic -Wshadow -D_GNU_SOURCE
122  CFLAGS += '-DCONFIGFILE="$(SYSCONFPREFIX)/ekeyd.conf"'
123  CFLAGS += '-DPIDFILE="$(RUNTIMEPREFIX)/ekeyd.pid"'
124  CFLAGS += '-DKEYRINGFILE="$(SYSCONFPREFIX)/keyring"'
125 @@ -148,7 +148,7 @@ daemonise_ulusbd.o: daemonise.c
126         $(COMPILE.c) $(OUTPUT_OPTION) $(PTHFLAGS) $^
127  
128  egd-linux: egd-linux.o daemonise.o
129 -       $(CC) $(CFLAGS) -o $@ $^
130 +       $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
131  
132  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
133         $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)