Package: libchipcard-tools
Version: 4.1.0-1
Followup-For: Bug #470629
Hi,
I have created two patches that
1. fixes a bug that makes setting hardwareScanInterval=0 impossible
2. uses the above value by default and does triggering of scanning with SIGUSR2
The second patch is incomplete as the udev event to not call "killall -s
SIGUSR2 .....", yet.
However, that can be easily be added via RUN=, eiher directly or by providing an
additional script.
The previous usage of chipcardd4 was kind of inacceptable.
Have fun...
HS
-- System Information:
Debian Release: lenny/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.25.6 (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages libchipcard-tools depends on:
ii adduser 3.107 add and remove users and groups
ii libc6 2.7-10 GNU C Library: Shared libraries
ii libchipcard-data 4.1.0-1 configuration files for libchipcar
ii libchipcardc2 4.1.0-1 library for accessing smartcards
ii libchipcardd0 4.1.0-1 library for accessing smartcards
ii libgcc1 1:4.3.0-5 GCC support library
ii libgwenhywfar47 3.3.1-1 OS abstraction layer
ii libstdc++6 4.3.0-5 The GNU Standard C++ Library v3
ii libsysfs2 2.1.0-4 interface library to sysfs
libchipcard-tools recommends no packages.
-- no debconf information
Index: libchipcard-4.1.0/src/lib/server/server/devicemanager/devicemanager_p.h
===================================================================
--- libchipcard-4.1.0.orig/src/lib/server/server/devicemanager/devicemanager_p.h 2008-06-14 01:15:41.958968598 +0200
+++ libchipcard-4.1.0/src/lib/server/server/devicemanager/devicemanager_p.h 2008-06-14 01:19:39.064776389 +0200
@@ -36,7 +36,7 @@
#define LCDM_DEVICEMANAGER_DEF_READER_COMMAND_TIMEOUT 60
#define LCDM_DEVICEMANAGER_DEF_HARDWARE_SCAN_INTERVAL 2
-#define LCDM_DEVICEMANAGER_MIN_HARDWARE_SCAN_INTERVAL 2
+#define LCDM_DEVICEMANAGER_MIN_HARDWARE_SCAN_INTERVAL 0
#define LCDM_DEVICEMANAGER_DEF_HARDWARE_SCAN_TRIGGERS 4
Index: libchipcard-4.1.0/src/lib/server/server/devicemanager/devicemanager.c
===================================================================
--- libchipcard-4.1.0.orig/src/lib/server/server/devicemanager/devicemanager.c 2008-06-14 01:21:06.824796937 +0200
+++ libchipcard-4.1.0/src/lib/server/server/devicemanager/devicemanager.c 2008-06-14 01:21:20.175597317 +0200
@@ -164,7 +164,7 @@
/* ensure some minimum values */
if (dm->hardwareScanInterval<LCDM_DEVICEMANAGER_MIN_HARDWARE_SCAN_INTERVAL)
- dm->hardwareScanInterval=LCDM_DEVICEMANAGER_MIN_HARDWARE_SCAN_INTERVAL;
+ dm->hardwareScanInterval=LCDM_DEVICEMANAGER_DEF_HARDWARE_SCAN_INTERVAL;
/* find config of server to be used for drivers */
dbT=GWEN_DB_FindFirstGroup(dbConfig, "server");
Index: libchipcard-4.1.0/debian/etc/chipcardd.conf
===================================================================
--- libchipcard-4.1.0.orig/debian/etc/chipcardd.conf 2008-06-14
02:05:48.904494915 +0200
+++ libchipcard-4.1.0/debian/etc/chipcardd.conf 2008-06-14 02:05:52.807839263
+0200
@@ -37,6 +37,7 @@
} # server
DeviceManager {
+ int hardwareScanInterval="0"
}
Index: libchipcard-4.1.0/debian/libchipcard-tools.init
===================================================================
--- libchipcard-4.1.0.orig/debian/libchipcard-tools.init 2008-06-14
02:05:48.911161544 +0200
+++ libchipcard-4.1.0/debian/libchipcard-tools.init 2008-06-14
02:38:16.340969872 +0200
@@ -42,9 +42,10 @@
start)
echo -n "Starting $DESC: "
check_var_run
- start-stop-daemon --start --quiet --pidfile $PIDFILE \
+ start-stop-daemon --start --quiet \
--user chipcard --chuid chipcard \
- --exec $DAEMON -- $DAEMON_ARGS
+ --exec $DAEMON -- $DAEMON_ARGS && \
+ killall -s SIGUSR2 $DAEMON
echo "$NAME."
;;
stop)
@@ -64,8 +65,10 @@
--user chipcard --exec $DAEMON
sleep 1
check_var_run
- start-stop-daemon --start --quiet --pidfile $PIDFILE \
- --user chipcard --chuid chipcard --exec $DAEMON -- $DAEMON_ARGS
+ start-stop-daemon --start --quiet \
+ --user chipcard --chuid chipcard \
+ --exec $DAEMON -- $DAEMON_ARGS && \
+ killall -s SIGUSR2 $DAEMON
echo "$NAME."
;;
*)