From 7e67aa4c190a7f673deabe474cd2f68cd7d07d6f Mon Sep 17 00:00:00 2001 From: Ludovic Rousseau Date: Wed, 12 May 2010 19:13:51 +0000 Subject: [PATCH] do not start pcscd at startup any more. pcscd is started by libpcsclite.so when needed. But install pcscd as setuid root now. You can restrict the access rights of pcscd to limit its use to a particular group if needed. --- debian/changelog | 5 +- debian/pcscd.init | 157 ---------------------------------------------- debian/rules | 4 +- 3 files changed, 5 insertions(+), 161 deletions(-) delete mode 100644 debian/pcscd.init diff --git a/debian/changelog b/debian/changelog index afa2ae4..926ac7d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -11,8 +11,11 @@ pcsc-lite (1.6.0-1) experimental; urgency=low update-reader.conf. This script can be removed for squeeze+1 * debian/source/format: use "3.0 (quilt)" format * debian/rules: add --sysconfdir=/etc + * do not start pcscd at startup any more. pcscd is started by libpcsclite.so + when needed. But install pcscd as setuid root now. You can restrict the + access rights of pcscd to limit its use to a particular group if needed. - -- Ludovic Rousseau Wed, 12 May 2010 20:53:41 +0200 + -- Ludovic Rousseau Wed, 12 May 2010 21:11:30 +0200 pcsc-lite (1.5.5-3) unstable; urgency=low diff --git a/debian/pcscd.init b/debian/pcscd.init deleted file mode 100644 index 165fd68..0000000 --- a/debian/pcscd.init +++ /dev/null @@ -1,157 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: pcscd -# Required-Start: $local_fs $remote_fs $syslog -# Required-Stop: $local_fs $remote_fs $syslog -# Should-Start: udev hal -# Should-Stop: udev hal -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Daemon to access a smart card using PC/SC -# Description: The PC/SC daemon is used to dynamically -# allocate/deallocate reader drivers at runtime and manage -# connections to the readers. -### END INIT INFO - -# Authors: -# Carlos Prados Bocos -# Ludovic Rousseau - -# Do NOT "set -e" - -# PATH should only include /usr/* if it runs after the mountnfs.sh script -PATH=/sbin:/usr/sbin:/bin:/usr/bin -DESC="PCSC Lite resource manager" -NAME=pcscd -DAEMON=/usr/sbin/$NAME -PIDFILE=/var/run/pcscd/$NAME.pid -SCRIPTNAME=/etc/init.d/$NAME - -# if you need to pass arguments to pcscd you should edit the file -# /etc/default/pcscd and add a line -# DAEMON_ARGS="--your-option" - -# Exit if the package is not installed -[ -x "$DAEMON" ] || exit 0 - -# Read configuration variable file if it is present -[ -r /etc/default/$NAME ] && . /etc/default/$NAME - -# Load the VERBOSE setting and other rcS variables -. /lib/init/vars.sh - -# Define LSB log_* functions. -# Depend on lsb-base (>= 3.0-6) to ensure that this file is present. -. /lib/lsb/init-functions - -# get LANG variable (code from /etc/init.d/keymap.sh) -ENV_FILE="none" -[ -r /etc/environment ] && ENV_FILE="/etc/environment" -[ -r /etc/default/locale ] && ENV_FILE="/etc/default/locale" - -value=$(egrep "^[^#]*LANG=" $ENV_FILE | tail -n1 | cut -d= -f2) -eval LANG=$value - -# -# Function that starts the daemon/service -# -do_start() -{ - # Return - # 0 if daemon has been started - # 1 if daemon was already running - # 2 if daemon could not be started - start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \ - || return 1 - start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \ - $DAEMON_ARGS \ - || return 2 - # Add code here, if necessary, that waits for the process to be ready - # to handle requests from services started subsequently which depend - # on this one. As a last resort, sleep for some time. -} - -# -# Function that stops the daemon/service -# -do_stop() -{ - # Return - # 0 if daemon has been stopped - # 1 if daemon was already stopped - # 2 if daemon could not be stopped - # other if a failure occurred - start-stop-daemon --stop --quiet --retry=3 --pidfile $PIDFILE --name $NAME - RETVAL="$?" - [ "$RETVAL" = 2 ] && return 2 -} - -# -# Function that sends a SIGHUP to the daemon/service -# -do_reload() { - # - # If the daemon can reload its configuration without - # restarting (for example, when it is sent a SIGHUP), - # then implement that here. - # - start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME - return 0 -} - -case "$1" in - start) - [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" - do_start - case "$?" in - 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; - 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; - esac - ;; - stop) - [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" - do_stop - case "$?" in - 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; - 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; - esac - ;; - #reload|force-reload) - # - # If do_reload() is not implemented then leave this commented out - # and leave 'force-reload' as an alias for 'restart'. - # - #log_daemon_msg "Reloading $DESC" "$NAME" - #do_reload - #log_end_msg $? - #;; - restart|force-reload) - # - # If the "reload" option is implemented then remove the - # 'force-reload' alias - # - log_daemon_msg "Restarting $DESC" "$NAME" - do_stop - case "$?" in - 0|1) - do_start - case "$?" in - 0) log_end_msg 0 ;; - 1) log_end_msg 1 ;; # Old process is still running - *) log_end_msg 1 ;; # Failed to start - esac - ;; - *) - # Failed to stop - log_end_msg 1 - ;; - esac - ;; - *) - #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 - echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 - exit 3 - ;; -esac - -: diff --git a/debian/rules b/debian/rules index bd5c08d..65f0eae 100755 --- a/debian/rules +++ b/debian/rules @@ -98,15 +98,13 @@ binary-arch: build install dh_install --sourcedir=debian/tmp dh_installdocs dh_installexamples - # use 50 to start _after_ usbmgr with level 45 (see #146151) - dh_installinit --update-rcd-params="defaults 50" dh_installman dh_lintian dh_installchangelogs ChangeLog dh_link dh_strip dh_compress - dh_fixperms + dh_fixperms --exclude usr/sbin/pcscd dh_makeshlibs --version-info dh_installdeb dh_shlibdeps -l debian/tmp/usr/lib/