From 5673ed2a2359ca9efd1fda7d3766774467337c62 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 11 Oct 2022 08:34:17 +0200 Subject: [PATCH] committing changes in /etc made by "apt install network-manager-openvpn" Packages with configuration changes: +libccid 1.4.34-1 amd64 +opensc 0.21.0-1 amd64 +openvpn 2.5.1-3 amd64 +pcscd 1.9.1-1 amd64 Package changes: +easy-rsa 3.0.8-1 all +libccid 1.4.34-1 amd64 +liblzo2-2 2.10-2 amd64 +libpkcs11-helper1 1.27-1 amd64 +network-manager-openvpn 1.8.12-2 amd64 +opensc 0.21.0-1 amd64 +opensc-pkcs11 0.21.0-1 amd64 +openvpn 2.5.1-3 amd64 +pcscd 1.9.1-1 amd64 --- .etckeeper | 16 + default/openvpn | 36 + group | 1 + group- | 1 + gshadow | 1 + gshadow- | 1 + init.d/openvpn | 298 +++ init.d/pcscd | 146 ++ libccid_Info.plist | 1598 +++++++++++++++++ network/if-down.d/openvpn | 21 + network/if-up.d/openvpn | 21 + opensc/opensc.conf | 7 + openvpn/update-resolv-conf | 63 + passwd | 1 + passwd- | 2 + rc0.d/K01openvpn | 1 + rc0.d/K01pcscd | 1 + rc1.d/K01openvpn | 1 + rc1.d/K01pcscd | 1 + rc2.d/S01openvpn | 1 + rc2.d/S01pcscd | 1 + rc3.d/S01openvpn | 1 + rc3.d/S01pcscd | 1 + rc4.d/S01openvpn | 1 + rc4.d/S01pcscd | 1 + rc5.d/S01openvpn | 1 + rc5.d/S01pcscd | 1 + rc6.d/K01openvpn | 1 + rc6.d/K01pcscd | 1 + reader.conf.d/libccidtwin | 14 + shadow | 1 + shadow- | 2 + .../multi-user.target.wants/openvpn.service | 1 + .../system/sockets.target.wants/pcscd.socket | 1 + 34 files changed, 2246 insertions(+) create mode 100644 default/openvpn create mode 100755 init.d/openvpn create mode 100755 init.d/pcscd create mode 100644 libccid_Info.plist create mode 100755 network/if-down.d/openvpn create mode 100755 network/if-up.d/openvpn create mode 100644 opensc/opensc.conf create mode 100755 openvpn/update-resolv-conf create mode 120000 rc0.d/K01openvpn create mode 120000 rc0.d/K01pcscd create mode 120000 rc1.d/K01openvpn create mode 120000 rc1.d/K01pcscd create mode 120000 rc2.d/S01openvpn create mode 120000 rc2.d/S01pcscd create mode 120000 rc3.d/S01openvpn create mode 120000 rc3.d/S01pcscd create mode 120000 rc4.d/S01openvpn create mode 120000 rc4.d/S01pcscd create mode 120000 rc5.d/S01openvpn create mode 120000 rc5.d/S01pcscd create mode 120000 rc6.d/K01openvpn create mode 120000 rc6.d/K01pcscd create mode 100644 reader.conf.d/libccidtwin create mode 120000 systemd/system/multi-user.target.wants/openvpn.service create mode 120000 systemd/system/sockets.target.wants/pcscd.socket diff --git a/.etckeeper b/.etckeeper index 7112b4d7..8b0ac72e 100755 --- a/.etckeeper +++ b/.etckeeper @@ -38,6 +38,8 @@ mkdir -p './libpaper.d' mkdir -p './mate-settings-daemon/xrandr' mkdir -p './modprobe.d' mkdir -p './network/interfaces.d' +mkdir -p './openvpn/client' +mkdir -p './openvpn/server' mkdir -p './polkit-1/localauthority/10-vendor.d' mkdir -p './polkit-1/localauthority/20-org.d' mkdir -p './polkit-1/localauthority/30-site.d' @@ -740,6 +742,7 @@ maybe chmod 0644 'default/nfs-common' maybe chmod 0644 'default/nss' maybe chmod 0644 'default/ntp' maybe chmod 0644 'default/omd' +maybe chmod 0644 'default/openvpn' maybe chmod 0644 'default/rpcbind' maybe chmod 0644 'default/rsync' maybe chmod 0644 'default/saned' @@ -961,6 +964,8 @@ maybe chmod 0755 'init.d/lvm2-lvmpolld' maybe chmod 0755 'init.d/networking' maybe chmod 0755 'init.d/nfs-common' maybe chmod 0755 'init.d/ntp' +maybe chmod 0755 'init.d/openvpn' +maybe chmod 0755 'init.d/pcscd' maybe chmod 0755 'init.d/plymouth' maybe chmod 0755 'init.d/plymouth-log' maybe chmod 0755 'init.d/postfix' @@ -1047,6 +1052,7 @@ maybe chmod 0644 'libaudit.conf' maybe chmod 0755 'libblockdev' maybe chmod 0755 'libblockdev/conf.d' maybe chmod 0644 'libblockdev/conf.d/00-default.cfg' +maybe chmod 0644 'libccid_Info.plist' maybe chmod 0755 'libnl-3' maybe chmod 0644 'libnl-3/classid' maybe chmod 0644 'libnl-3/pktloc' @@ -1160,6 +1166,7 @@ maybe chmod 0644 'netplan/01-netcfg.yaml' maybe chmod 0755 'network' maybe chmod 0755 'network/if-down.d' maybe chmod 0755 'network/if-down.d/avahi-autoipd' +maybe chmod 0755 'network/if-down.d/openvpn' maybe chmod 0755 'network/if-down.d/postfix' maybe chmod 0755 'network/if-post-down.d' maybe chmod 0755 'network/if-post-down.d/wireless-tools' @@ -1167,6 +1174,7 @@ maybe chmod 0755 'network/if-pre-up.d' maybe chmod 0755 'network/if-pre-up.d/wireless-tools' maybe chmod 0755 'network/if-up.d' maybe chmod 0755 'network/if-up.d/avahi-autoipd' +maybe chmod 0755 'network/if-up.d/openvpn' maybe chmod 0755 'network/if-up.d/postfix' maybe chmod 0644 'network/interfaces' maybe chmod 0755 'network/interfaces.d' @@ -1178,6 +1186,12 @@ maybe chmod 0755 'openal' maybe chmod 0644 'openal/alsoft.conf' maybe chmod 0755 'openni2' maybe chmod 0644 'openni2/OpenNI.ini' +maybe chmod 0755 'opensc' +maybe chmod 0644 'opensc/opensc.conf' +maybe chmod 0755 'openvpn' +maybe chmod 0755 'openvpn/client' +maybe chmod 0755 'openvpn/server' +maybe chmod 0755 'openvpn/update-resolv-conf' maybe chmod 0755 'opt' maybe chmod 0755 'opt/chrome' maybe chmod 0755 'opt/chrome/policies' @@ -1352,6 +1366,8 @@ maybe chmod 0755 'rc4.d' maybe chmod 0755 'rc5.d' maybe chmod 0755 'rc6.d' maybe chmod 0755 'rcS.d' +maybe chmod 0755 'reader.conf.d' +maybe chmod 0644 'reader.conf.d/libccidtwin' maybe chmod 0644 'reportbug.conf' maybe chmod 0644 'request-key.conf' maybe chmod 0755 'request-key.d' diff --git a/default/openvpn b/default/openvpn new file mode 100644 index 00000000..e18e59d2 --- /dev/null +++ b/default/openvpn @@ -0,0 +1,36 @@ +# This is the configuration file for /etc/init.d/openvpn + +# +# Start only these VPNs automatically via init script. +# Allowed values are "all", "none" or space separated list of +# names of the VPNs. If empty, "all" is assumed. +# The VPN name refers to the VPN configutation file name. +# i.e. "home" would be /etc/openvpn/home.conf +# +# If you're running systemd, changing this variable will +# require running "systemctl daemon-reload" followed by +# a restart of the openvpn service (if you removed entries +# you may have to stop those manually) +# +#AUTOSTART="all" +#AUTOSTART="none" +#AUTOSTART="home office" +# +# WARNING: If you're running systemd the rest of the +# options in this file are ignored. +# +# Refresh interval (in seconds) of default status files +# located in /var/run/openvpn.$NAME.status +# Defaults to 10, 0 disables status file generation +# +#STATUSREFRESH=10 +#STATUSREFRESH=0 +# Optional arguments to openvpn's command line +OPTARGS="" +# +# If you need openvpn running after sendsigs, i.e. +# to let umountnfs work over the vpn, set OMIT_SENDSIGS +# to 1 and include umountnfs as Required-Stop: in openvpn's +# init.d script (remember to run insserv after that) +# +OMIT_SENDSIGS=0 diff --git a/group b/group index 9c5fec48..16e12771 100644 --- a/group +++ b/group @@ -75,3 +75,4 @@ tss:x:130: docker:x:998: debian-tor:x:131: cmk-agent:x:997: +nm-openvpn:x:132: diff --git a/group- b/group- index b7adc043..9c5fec48 100644 --- a/group- +++ b/group- @@ -74,3 +74,4 @@ _flatpak:x:129: tss:x:130: docker:x:998: debian-tor:x:131: +cmk-agent:x:997: diff --git a/gshadow b/gshadow index 854506a0..6aec2d67 100644 --- a/gshadow +++ b/gshadow @@ -75,3 +75,4 @@ tss:!:: docker:!:: debian-tor:!:: cmk-agent:!:: +nm-openvpn:!:: diff --git a/gshadow- b/gshadow- index 7e63014e..854506a0 100644 --- a/gshadow- +++ b/gshadow- @@ -74,3 +74,4 @@ _flatpak:!:: tss:!:: docker:!:: debian-tor:!:: +cmk-agent:!:: diff --git a/init.d/openvpn b/init.d/openvpn new file mode 100755 index 00000000..ae884171 --- /dev/null +++ b/init.d/openvpn @@ -0,0 +1,298 @@ +#!/bin/sh -e + +### BEGIN INIT INFO +# Provides: openvpn +# Required-Start: $network $remote_fs $syslog +# Required-Stop: $network $remote_fs $syslog +# Should-Start: network-manager +# Should-Stop: network-manager +# X-Start-Before: $x-display-manager gdm kdm xdm wdm ldm sdm nodm +# X-Interactive: true +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Openvpn VPN service +# Description: This script will start OpenVPN tunnels as specified +# in /etc/default/openvpn and /etc/openvpn/*.conf +### END INIT INFO + +# Original version by Robert Leslie +# , edited by iwj and cs +# Modified for openvpn by Alberto Gonzalez Iniesta +# Modified for restarting / starting / stopping single tunnels by Richard Mueller + +. /lib/lsb/init-functions + +test $DEBIAN_SCRIPT_DEBUG && set -v -x + +DAEMON=/usr/sbin/openvpn +DESC="virtual private network daemon" +CONFIG_DIR=/etc/openvpn +test -x $DAEMON || exit 0 +test -d $CONFIG_DIR || exit 0 + +# Source defaults file; edit that file to configure this script. +AUTOSTART="all" +STATUSREFRESH=10 +OMIT_SENDSIGS=0 +if test -e /etc/default/openvpn ; then + . /etc/default/openvpn +fi + +start_vpn () { + if grep -q '^[ ]*daemon' $CONFIG_DIR/$NAME.conf ; then + # daemon already given in config file + DAEMONARG= + else + # need to daemonize + DAEMONARG="--daemon ovpn-$NAME" + fi + + if grep -q '^[ ]*status ' $CONFIG_DIR/$NAME.conf ; then + # status file already given in config file + STATUSARG="" + elif test $STATUSREFRESH -eq 0 ; then + # default status file disabled in /etc/default/openvpn + STATUSARG="" + else + # prepare default status file + STATUSARG="--status /run/openvpn/$NAME.status $STATUSREFRESH" + fi + + # tun using the "subnet" topology confuses the routing code that wrongly + # emits ICMP redirects for client to client communications + SAVED_DEFAULT_SEND_REDIRECTS=0 + if grep -q '^[[:space:]]*dev[[:space:]]*tun' $CONFIG_DIR/$NAME.conf && \ + grep -q '^[[:space:]]*topology[[:space:]]*subnet' $CONFIG_DIR/$NAME.conf ; then + # When using "client-to-client", OpenVPN routes the traffic itself without + # involving the TUN/TAP interface so no ICMP redirects are sent + if ! grep -q '^[[:space:]]*client-to-client' $CONFIG_DIR/$NAME.conf ; then + sysctl -w net.ipv4.conf.all.send_redirects=0 > /dev/null + + # Save the default value for send_redirects before disabling it + # to make sure the tun device is created with send_redirects disabled + SAVED_DEFAULT_SEND_REDIRECTS=$(sysctl -n net.ipv4.conf.default.send_redirects) + + if [ "$SAVED_DEFAULT_SEND_REDIRECTS" -ne 0 ]; then + sysctl -w net.ipv4.conf.default.send_redirects=0 > /dev/null + fi + fi + fi + + log_progress_msg "$NAME" + STATUS=0 + + start-stop-daemon --start --quiet --oknodo \ + --pidfile /run/openvpn/$NAME.pid \ + --exec $DAEMON -- $OPTARGS --writepid /run/openvpn/$NAME.pid \ + $DAEMONARG $STATUSARG --cd $CONFIG_DIR \ + --config $CONFIG_DIR/$NAME.conf || STATUS=1 + + [ "$OMIT_SENDSIGS" -ne 1 ] || ln -s /run/openvpn/$NAME.pid /run/sendsigs.omit.d/openvpn.$NAME.pid + + # Set the back the original default value of send_redirects if it was changed + if [ "$SAVED_DEFAULT_SEND_REDIRECTS" -ne 0 ]; then + sysctl -w net.ipv4.conf.default.send_redirects=$SAVED_DEFAULT_SEND_REDIRECTS > /dev/null + fi +} +stop_vpn () { + start-stop-daemon --stop --quiet --oknodo \ + --pidfile $PIDFILE --exec $DAEMON --retry 10 + if [ "$?" -eq 0 ]; then + rm -f $PIDFILE + [ "$OMIT_SENDSIGS" -ne 1 ] || rm -f /run/sendsigs.omit.d/openvpn.$NAME.pid + rm -f /run/openvpn/$NAME.status 2> /dev/null + fi +} + +case "$1" in +start) + log_daemon_msg "Starting $DESC" + + # first create /run directory so it's present even + # when no VPN are autostarted by this script, but later + # by systemd openvpn@.service + mkdir -p /run/openvpn + + # autostart VPNs + if test -z "$2" ; then + # check if automatic startup is disabled by AUTOSTART=none + if test "x$AUTOSTART" = "xnone" -o -z "$AUTOSTART" ; then + log_warning_msg " Autostart disabled." + exit 0 + fi + if test -z "$AUTOSTART" -o "x$AUTOSTART" = "xall" ; then + # all VPNs shall be started automatically + for CONFIG in `cd $CONFIG_DIR; ls *.conf 2> /dev/null`; do + NAME=${CONFIG%%.conf} + start_vpn + done + else + # start only specified VPNs + for NAME in $AUTOSTART ; do + if test -e $CONFIG_DIR/$NAME.conf ; then + start_vpn + else + log_failure_msg "No such VPN: $NAME" + STATUS=1 + fi + done + fi + #start VPNs from command line + else + while shift ; do + [ -z "$1" ] && break + if test -e $CONFIG_DIR/$1.conf ; then + NAME=$1 + start_vpn + else + log_failure_msg " No such VPN: $1" + STATUS=1 + fi + done + fi + log_end_msg ${STATUS:-0} + + ;; +stop) + log_daemon_msg "Stopping $DESC" + + if test -z "$2" ; then + for PIDFILE in `ls /run/openvpn/*.pid 2> /dev/null`; do + NAME=`echo $PIDFILE | cut -c14-` + NAME=${NAME%%.pid} + stop_vpn + log_progress_msg "$NAME" + done + else + while shift ; do + [ -z "$1" ] && break + if test -e /run/openvpn/$1.pid ; then + PIDFILE=`ls /run/openvpn/$1.pid 2> /dev/null` + NAME=`echo $PIDFILE | cut -c14-` + NAME=${NAME%%.pid} + stop_vpn + log_progress_msg "$NAME" + else + log_failure_msg " (failure: No such VPN is running: $1)" + fi + done + fi + log_end_msg 0 + ;; +# Only 'reload' running VPNs. New ones will only start with 'start' or 'restart'. +reload|force-reload) + log_daemon_msg "Reloading $DESC" + for PIDFILE in `ls /run/openvpn/*.pid 2> /dev/null`; do + NAME=`echo $PIDFILE | cut -c14-` + NAME=${NAME%%.pid} +# If openvpn if running under a different user than root we'll need to restart + if egrep '^[[:blank:]]*user[[:blank:]]' $CONFIG_DIR/$NAME.conf > /dev/null 2>&1 ; then + stop_vpn + start_vpn + log_progress_msg "(restarted)" + else + kill -HUP `cat $PIDFILE` || true + log_progress_msg "$NAME" + fi + done + log_end_msg 0 + ;; + +# Only 'soft-restart' running VPNs. New ones will only start with 'start' or 'restart'. +soft-restart) + log_daemon_msg "$DESC sending SIGUSR1" + for PIDFILE in `ls /run/openvpn/*.pid 2> /dev/null`; do + NAME=`echo $PIDFILE | cut -c14-` + NAME=${NAME%%.pid} + kill -USR1 `cat $PIDFILE` || true + log_progress_msg "$NAME" + done + log_end_msg 0 + ;; + +restart) + shift + $0 stop ${@} + $0 start ${@} + ;; +cond-restart) + log_daemon_msg "Restarting $DESC." + for PIDFILE in `ls /run/openvpn/*.pid 2> /dev/null`; do + NAME=`echo $PIDFILE | cut -c14-` + NAME=${NAME%%.pid} + stop_vpn + start_vpn + done + log_end_msg 0 + ;; +status) + GLOBAL_STATUS=0 + if test -z "$2" ; then + # We want status for all defined VPNs. + # Returns success if all autostarted VPNs are defined and running + if test "x$AUTOSTART" = "xnone" ; then + # Consider it a failure if AUTOSTART=none + log_warning_msg "No VPN autostarted" + GLOBAL_STATUS=1 + else + if ! test -z "$AUTOSTART" -o "x$AUTOSTART" = "xall" ; then + # Consider it a failure if one of the autostarted VPN is not defined + for VPN in $AUTOSTART ; do + if ! test -f $CONFIG_DIR/$VPN.conf ; then + log_warning_msg "VPN '$VPN' is in AUTOSTART but is not defined" + GLOBAL_STATUS=1 + fi + done + fi + fi + for CONFIG in `cd $CONFIG_DIR; ls *.conf 2> /dev/null`; do + NAME=${CONFIG%%.conf} + # Is it an autostarted VPN ? + if test -z "$AUTOSTART" -o "x$AUTOSTART" = "xall" ; then + AUTOVPN=1 + else + if test "x$AUTOSTART" = "xnone" ; then + AUTOVPN=0 + else + AUTOVPN=0 + for VPN in $AUTOSTART; do + if test "x$VPN" = "x$NAME" ; then + AUTOVPN=1 + fi + done + fi + fi + if test "x$AUTOVPN" = "x1" ; then + # If it is autostarted, then it contributes to global status + status_of_proc -p /run/openvpn/${NAME}.pid openvpn "VPN '${NAME}'" || GLOBAL_STATUS=1 + else + status_of_proc -p /run/openvpn/${NAME}.pid openvpn "VPN '${NAME}' (non autostarted)" || true + fi + done + else + # We just want status for specified VPNs. + # Returns success if all specified VPNs are defined and running + while shift ; do + [ -z "$1" ] && break + NAME=$1 + if test -e $CONFIG_DIR/$NAME.conf ; then + # Config exists + status_of_proc -p /run/openvpn/${NAME}.pid openvpn "VPN '${NAME}'" || GLOBAL_STATUS=1 + else + # Config does not exist + log_warning_msg "VPN '$NAME': missing $CONFIG_DIR/$NAME.conf file !" + GLOBAL_STATUS=1 + fi + done + fi + exit $GLOBAL_STATUS + ;; +*) + echo "Usage: $0 {start|stop|reload|restart|force-reload|cond-restart|soft-restart|status}" >&2 + exit 1 + ;; +esac + +exit 0 + +# vim:set ai sts=2 sw=2 tw=0: diff --git a/init.d/pcscd b/init.d/pcscd new file mode 100755 index 00000000..b9b8f32c --- /dev/null +++ b/init.d/pcscd @@ -0,0 +1,146 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: pcscd +# Required-Start: $local_fs $remote_fs $syslog +# Required-Stop: $local_fs $remote_fs $syslog +# Should-Start: udev +# Should-Stop: udev +# 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 +IPCDIR=/var/run/pcscd +PIDFILE=$IPCDIR/$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() +{ + # create $IPCDIR with correct access rights + if [ ! -d $IPCDIR ] + then + rm -rf $IPCDIR + mkdir $IPCDIR + fi + chmod 0755 $IPCDIR + + # 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 +} + +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 + ;; + status) + status_of_proc -p "$PIDFILE" "$DAEMON" "$NAME" && exit 0 || exit $? + ;; + 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|status|restart|force-reload}" >&2 + exit 3 + ;; +esac + +: diff --git a/libccid_Info.plist b/libccid_Info.plist new file mode 100644 index 00000000..9ba61749 --- /dev/null +++ b/libccid_Info.plist @@ -0,0 +1,1598 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + libccid.so + CFBundleIdentifier + fr.apdu.ccid.smartcardccid + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + CCIDCLASSDRIVER + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.4.34 + CFBundleSignature + ???? + CFBundleVersion + 0.0.1d1 + ifdCapabilities + 0x00000000 + + + + ifdProtocolSupport + 0x00000001 + ifdVersionNumber + 0x00000001 + + ifdLogLevel + 0x0003 + + + + ifdDriverOptions + 0x0000 + + + + ifdManufacturerString + Ludovic Rousseau (ludovic.rousseau@free.fr) + + ifdProductString + Generic CCID driver + + ifdVendorID + + 0x072F + 0x09C3 + 0x09C3 + 0x058F + 0x0DC3 + 0x0DC3 + 0x1B0E + 0x0783 + 0x046A + 0x046A + 0x046A + 0x046A + 0x046A + 0x0982 + 0x413C + 0x413C + 0x073D + 0x073D + 0x073D + 0x073D + 0x073D + 0x08E6 + 0x08E6 + 0x08E6 + 0x08E6 + 0x08E6 + 0x08E6 + 0x08E6 + 0x08E6 + 0x08E6 + 0x08E6 + 0x08E6 + 0x08E6 + 0x1059 + 0x1059 + 0x0B81 + 0x0F14 + 0x0F14 + 0x0D46 + 0x0D46 + 0x0D46 + 0x0D46 + 0x17EF + 0x09BE + 0x076B + 0x076B + 0x03F0 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0xA625 + 0x08E6 + 0x08E6 + 0x0F14 + 0x0F14 + 0x0F14 + 0x0DB5 + 0x0DB5 + 0x0DB5 + 0x0DB5 + 0x0DB5 + 0x072F + 0x072F + 0x072F + 0x072F + 0x072F + 0x072F + 0x072F + 0x072F + 0x072F + 0x072F + 0x072F + 0x072F + 0x072F + 0x072F + 0x1C34 + 0x1C34 + 0x1C34 + 0x1C34 + 0x2021 + 0x2021 + 0x2021 + 0x0A89 + 0x0A89 + 0x0A89 + 0x0A89 + 0x0A89 + 0x0A89 + 0x0A89 + 0x24DC + 0x24DC + 0x24DC + 0x24DC + 0x24DC + 0x24DC + 0x24DC + 0x24DC + 0x2CE3 + 0x058F + 0x0483 + 0x2406 + 0x2406 + 0x2406 + 0x1FD3 + 0x0DC3 + 0x0DC3 + 0x0DC3 + 0x03EB + 0x03EB + 0x03EB + 0x03EB + 0x03EB + 0x03EB + 0x03EB + 0xC1A6 + 0x15CF + 0x15CF + 0x15CF + 0x096E + 0x096E + 0x04E6 + 0x23A0 + 0x23A0 + 0x23A0 + 0x23A0 + 0x25DD + 0x25DD + 0x25DD + 0x25DD + 0x25DD + 0x25DD + 0x25DD + 0x25DD + 0x25DD + 0x25DD + 0x25DD + 0x25DD + 0x25DD + 0x25DD + 0x25DD + 0x2ABE + 0x1B0E + 0x0A5C + 0x0A5C + 0x0A5C + 0x0A5C + 0x0A5C + 0x0A5C + 0x0A5C + 0x0A5C + 0x0A5C + 0x0783 + 0x0783 + 0x0783 + 0x0783 + 0x20A0 + 0x0CA6 + 0x8829 + 0x2DFF + 0x2DFF + 0x19E7 + 0x046A + 0x046A + 0x046A + 0x046A + 0x046A + 0x046A + 0x046A + 0x046A + 0x046A + 0x046A + 0x046A + 0x04F2 + 0x03F0 + 0x03F0 + 0x04F2 + 0x0982 + 0x0982 + 0x257B + 0x1AC2 + 0x1AC2 + 0x1C34 + 0x1C34 + 0x1C34 + 0x1C34 + 0x1DB2 + 0x1DB2 + 0x257B + 0x09D8 + 0x09D8 + 0x2CE4 + 0x1209 + 0x096E + 0x096E + 0x096E + 0x096E + 0x096E + 0x096E + 0x096E + 0x096E + 0x096E + 0x096E + 0x096E + 0x234B + 0x096E + 0x096E + 0x096E + 0x096E + 0x096E + 0x096E + 0x096E + 0x096E + 0x096E + 0x0BF8 + 0x0BF8 + 0x0BF8 + 0x0BF8 + 0x0BF8 + 0x0BF8 + 0x0BF8 + 0x08E6 + 0x0898 + 0x08E6 + 0x08E6 + 0x08E6 + 0x08E6 + 0x08E6 + 0x08E6 + 0x08E6 + 0x08E6 + 0x08E6 + 0x0BDA + 0x048D + 0x076B + 0x05E3 + 0x05E3 + 0x05E3 + 0x20A0 + 0x1059 + 0x1059 + 0x0F1A + 0x19C8 + 0x32A3 + 0x1677 + 0x03F0 + 0x03F0 + 0x03F0 + 0x09C3 + 0x09C3 + 0x09C3 + 0x09C3 + 0x076B + 0x076B + 0x076B + 0x076B + 0x076B + 0x076B + 0x076B + 0x076B + 0x076B + 0x076B + 0x076B + 0x076B + 0x076B + 0x04A4 + 0x04A4 + 0x0B81 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x1FFA + 0x2406 + 0x03EB + 0x03EB + 0x2FD2 + 0x1FC9 + 0x1403 + 0x2406 + 0x2406 + 0x2406 + 0x2406 + 0x2406 + 0x2406 + 0x2406 + 0x2406 + 0x076B + 0x2A18 + 0x2A18 + 0x2A18 + 0x28B9 + 0x2F76 + 0x0483 + 0x0D46 + 0x0D46 + 0x0D46 + 0x0D46 + 0x0D46 + 0x0D46 + 0x0D46 + 0x2D25 + 0x2D25 + 0x2C97 + 0x2C97 + 0x17EF + 0x17EF + 0x03F0 + 0x03F0 + 0x03F0 + 0x08AE + 0x1403 + 0x0424 + 0x0424 + 0x0416 + 0x079B + 0x079B + 0x0BDA + 0x4D55 + 0x1E0D + 0x1E0D + 0x1E0D + 0x1E0D + 0x20A0 + 0x20A0 + 0x20A0 + 0x20A0 + 0x04E6 + 0x1FC9 + 0x1FC9 + 0x1FC9 + 0x1A74 + 0x1A74 + 0x076B + 0x076B + 0x076B + 0x076B + 0x076B + 0x076B + 0x076B + 0x076B + 0x076B + 0x076B + 0x076B + 0x076B + 0x076B + 0x04DA + 0x0471 + 0x04B9 + 0x096E + 0x21AB + 0x316D + 0x14DD + 0x1C6A + 0x0C4B + 0x0C4B + 0x0C4B + 0x0C4B + 0x14CD + 0x13FE + 0x0529 + 0x0529 + 0x08E6 + 0x24A2 + 0x2EE1 + 0x0973 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x04E6 + 0x0B81 + 0x0403 + 0x0DF6 + 0x04E8 + 0x316E + 0x316E + 0x316E + 0x316E + 0x1C34 + 0x1C34 + 0x1C34 + 0x1C34 + 0x1C34 + 0x1C34 + 0x1C34 + 0x1C34 + 0x1C34 + 0x1C34 + 0x1C34 + 0x1C34 + 0x1C34 + 0x1C34 + 0x1C34 + 0x1C34 + 0x1C34 + 0x1C34 + 0x08DF + 0x08DF + 0x08DF + 0x08DF + 0x05AF + 0x1370 + 0x1206 + 0x0E6A + 0x1D50 + 0x1862 + 0x1976 + 0xA625 + 0x0B0C + 0x0B0C + 0x23EB + 0x19A6 + 0x2A17 + 0x2DFF + 0x2DFF + 0x1CF0 + 0x1A44 + 0x1A44 + 0x1A44 + 0x1A44 + 0x1A44 + 0x1A44 + 0x1A44 + 0x1A44 + 0x1A44 + 0x1A44 + 0x1A44 + 0x1A44 + 0x1A44 + 0x0E0F + 0x163C + 0x163C + 0x163C + 0x163C + 0x163C + 0x0416 + 0x1050 + 0x1050 + 0x1050 + 0x1050 + 0x1050 + 0x1050 + 0x1050 + 0x1050 + 0x072F + 0x09C3 + 0x058F + 0x0DC3 + 0x03EB + 0x0A5C + 0x0A5C + 0x0A5C + 0x0783 + 0x096E + 0x0BDA + 0x03F0 + 0x03F0 + 0x04CC + 0x0D46 + 0x0D46 + 0x0B97 + 0x0B97 + 0x08C3 + 0x08C3 + 0x15E1 + 0x062D + + + ifdProductID + + 0x90CC + 0x0013 + 0x0014 + 0x9520 + 0x1004 + 0x1102 + 0x1078 + 0x0006 + 0x0005 + 0x0010 + 0x002D + 0x003E + 0x01A2 + 0x0007 + 0x2100 + 0x2101 + 0x0007 + 0x0008 + 0x0B00 + 0x0C00 + 0x0C01 + 0x1227 + 0x3437 + 0x3438 + 0x3478 + 0x3480 + 0x34C0 + 0x34C3 + 0x4433 + 0x5503 + 0x5504 + 0x8000 + 0x8141 + 0x0017 + 0x0019 + 0x0200 + 0x003B + 0x003D + 0x3001 + 0x3002 + 0x3003 + 0x3010 + 0x1003 + 0x0002 + 0x3021 + 0xA022 + 0x0824 + 0x5111 + 0x5116 + 0x511D + 0x5410 + 0xE001 + 0xE003 + 0x0801 + 0x1359 + 0xACE0 + 0x0011 + 0x0037 + 0x0038 + 0x0138 + 0x0160 + 0x0164 + 0x0170 + 0x0180 + 0x1204 + 0x221A + 0x223B + 0x223E + 0x223F + 0x2259 + 0x8201 + 0x8202 + 0x8300 + 0x90DB + 0xB000 + 0xB100 + 0xB106 + 0xB112 + 0xAFC0 + 0xAFC1 + 0xAFC2 + 0xAFC3 + 0x0001 + 0x0011 + 0x0101 + 0x0025 + 0x0030 + 0x0069 + 0x0080 + 0x0081 + 0x0082 + 0x0060 + 0x0101 + 0x0102 + 0x0201 + 0x0401 + 0x0402 + 0x0428 + 0x0501 + 0x100F + 0x9563 + 0x9522 + 0xACD1 + 0x5003 + 0x5004 + 0x5006 + 0xCC1D + 0x0900 + 0x1007 + 0x1008 + 0x6004 + 0x6009 + 0x600B + 0x6010 + 0x6011 + 0x6012 + 0x6014 + 0x0131 + 0x0019 + 0x001D + 0x0020 + 0x0608 + 0x0624 + 0x511C + 0x0001 + 0x0002 + 0x0003 + 0x0008 + 0x1101 + 0x1201 + 0x2221 + 0x2321 + 0x2341 + 0x2351 + 0x2354 + 0x2361 + 0x2362 + 0x2371 + 0x3111 + 0x3211 + 0xB001 + 0x3403 + 0x3503 + 0x1003 + 0x1079 + 0x5802 + 0x5804 + 0x5832 + 0x5833 + 0x5834 + 0x5842 + 0x5843 + 0x5844 + 0x5845 + 0x0007 + 0x0009 + 0x0010 + 0x0036 + 0x42D4 + 0x00A0 + 0xCCB2 + 0xB601 + 0xB602 + 0x0002 + 0x0090 + 0x0092 + 0x00A1 + 0x00A2 + 0x00A3 + 0x00A4 + 0x00A5 + 0x00A7 + 0x005B + 0x0070 + 0x0072 + 0x0967 + 0x114A + 0x124A + 0x1469 + 0x0008 + 0x0040 + 0xC305 + 0x0300 + 0x0302 + 0xAFD0 + 0xAFD1 + 0xAFD2 + 0xAFD3 + 0x0801 + 0x088B + 0xD205 + 0x0427 + 0x0428 + 0x7479 + 0x2702 + 0x060D + 0x0621 + 0x0622 + 0x0623 + 0x0685 + 0x0807 + 0x080F + 0x0619 + 0x061A + 0x061C + 0x0505 + 0x0000 + 0x080A + 0x0853 + 0x0855 + 0x0856 + 0x0859 + 0x0867 + 0x0868 + 0x0869 + 0x086C + 0x1022 + 0x1023 + 0x1024 + 0x1005 + 0x1006 + 0x1017 + 0x1021 + 0x3440 + 0x0101 + 0x2202 + 0x34C1 + 0x34C2 + 0x34C5 + 0x34EC + 0x4042 + 0x5743 + 0x8108 + 0x3479 + 0x0169 + 0x1366 + 0x3A21 + 0x0757 + 0x0758 + 0x0771 + 0x4107 + 0x000C + 0x000D + 0x0002 + 0x0012 + 0x3201 + 0x0025 + 0x104A + 0x2924 + 0x581D + 0x0028 + 0x0029 + 0x002B + 0x002D + 0x3031 + 0x5022 + 0x5023 + 0x5400 + 0x5412 + 0x5422 + 0x5432 + 0x5A27 + 0x6632 + 0x502A + 0x5127 + 0x5326 + 0x5427 + 0x00C7 + 0x00D4 + 0x0220 + 0x5612 + 0x5713 + 0x5724 + 0x5790 + 0x5791 + 0x5811 + 0x5812 + 0x5814 + 0x5815 + 0x5816 + 0x5818 + 0x5819 + 0x581A + 0x581B + 0x581C + 0x581D + 0x5710 + 0x5720 + 0x5721 + 0x5723 + 0x5810 + 0x5817 + 0x000C + 0x6200 + 0x9308 + 0x9324 + 0x0100 + 0x0102 + 0x7506 + 0x6300 + 0x6301 + 0x6302 + 0x6403 + 0x6404 + 0x6407 + 0x6303 + 0x6305 + 0x3B01 + 0x5000 + 0x5001 + 0x5002 + 0x0002 + 0x0906 + 0x0007 + 0x3014 + 0x301D + 0x4189 + 0x41A9 + 0x4289 + 0x4389 + 0x43A9 + 0x0000 + 0x0001 + 0x0001 + 0x0004 + 0x6007 + 0x6055 + 0x164A + 0x174A + 0x184A + 0x0BDF + 0x7502 + 0x1104 + 0x1202 + 0xC136 + 0x0026 + 0x0052 + 0x0161 + 0x0010 + 0x0013 + 0x0033 + 0x1023 + 0x8033 + 0x4108 + 0x4109 + 0x4211 + 0x4230 + 0x511A + 0x0107 + 0x010B + 0x0117 + 0xB111 + 0x6354 + 0x1021 + 0x4321 + 0x5321 + 0x5421 + 0x6321 + 0x3022 + 0x3621 + 0x3821 + 0x5121 + 0x5125 + 0x6622 + 0x6623 + 0xA021 + 0x117A + 0x040F + 0x1400 + 0x0603 + 0x0010 + 0x4C4B + 0x1006 + 0x7050 + 0x0504 + 0x0520 + 0x0580 + 0x9102 + 0x8166 + 0xC831 + 0x0602 + 0x0620 + 0x34CC + 0x0102 + 0x0001 + 0x0003 + 0x5113 + 0x5115 + 0x5117 + 0x5119 + 0x511F + 0x5120 + 0x5121 + 0x512B + 0x512C + 0x5291 + 0x5293 + 0x8007 + 0xC587 + 0x800A + 0x0007 + 0x0001 + 0x0002 + 0x0003 + 0x0010 + 0x6012 + 0x601A + 0x6112 + 0x611A + 0x6122 + 0x612A + 0x6132 + 0x613A + 0x7113 + 0x7121 + 0x7123 + 0x7124 + 0x7136 + 0x7138 + 0x7141 + 0x8141 + 0x91B1 + 0xA1A1 + 0x0004 + 0x3115 + 0x3117 + 0x3201 + 0x605A + 0x0901 + 0x2105 + 0x5083 + 0x6141 + 0x0000 + 0x0001 + 0x0810 + 0x0050 + 0x0052 + 0x0003 + 0x0009 + 0x0001 + 0x1540 + 0x1543 + 0x0001 + 0x0001 + 0x0101 + 0x0112 + 0x0115 + 0x0117 + 0x0119 + 0x0120 + 0x0122 + 0x0855 + 0x0865 + 0x0870 + 0x0875 + 0x0920 + 0x0004 + 0x0406 + 0x0407 + 0x0417 + 0x0418 + 0x0A03 + 0x3815 + 0x0111 + 0x0112 + 0x0115 + 0x0116 + 0x0404 + 0x0405 + 0x0406 + 0x0407 + 0x2200 + 0x0008 + 0x9540 + 0x100F + 0x6016 + 0x5800 + 0x5801 + 0x5805 + 0x0003 + 0x0503 + 0x0165 + 0x0036 + 0x1024 + 0x5072 + 0x4000 + 0x4001 + 0x7762 + 0x7772 + 0x0401 + 0x0402 + 0x2007 + 0x0001 + + + ifdFriendlyName + + ACS ACR 38U-CCID + ActivIdentity USB Reader V3 + ActivIdentity Activkey_Sim + Alcor Micro AU9520 + Athena ASE IIIe + Athena ASEDrive IIIe KB + BLUTRONICS BLUDRIVE II CCID + C3PO LTC31 v2 + Cherry GmbH SmartBoard XX33 + Cherry GmbH SmartBoard XX44 + Cherry GmbH SmartTerminal XX44 + Cherry GmbH SmartTerminal ST-2xxx + Cherry GmbH CHERRY SECURE BOARD 1.0 + COVADIS ALYA + Dell keyboard SK-3106 + Dell Dell Smart Card Reader Keyboard + Eutron CryptoIdentity CCID + Eutron CryptoIdentity CCID + Eutron Digipass 860 + Eutron Card Reader + Eutron Smart Pocket + Gemalto PDT + Gemalto PC Twin Reader + Gemalto USB Shell Token V2 + Gemalto USB GemPCPinpad SmartCard Reader + Gemalto GemCore SIM Pro Smart Card Reader + Gemalto Ezio Shield + Gemalto EZIO CB+ + Gemalto Gemplus USB SmartCard Reader 433-Swap + Gemalto Prox Dual USB PC Link Reader + Gemalto Prox SU USB PC LinkReader + Gemalto Smart Enterprise Guardian Secure USB Device + Gemalto IDBridge K3000 + Giesecke & Devrient GmbH StarSign Crypto USB Token + Giesecke & Devrient GmbH StarSign CUT S + id3 Semiconductors CL1356T + INGENICO Leo + Ingenico WITEO USB Smart Card Reader + KOBIL KAAN Base + KOBIL KAAN Advanced + KOBIL KAAN SIM III + KOBIL EMV CAP - SecOVID Reader III + Lenovo Integrated Smart Card Reader + MYSMART MySMART PAD V2.0 + OMNIKEY AG CardMan 3121 + Precise Biometrics Sense MC + SCM Microsystems Inc. HP USB Smartcard Reader + SCM Microsystems Inc. SCR 331-DI + SCM Microsystems Inc. SCR 3310 + SCM Microsystems Inc. SCR 3311 + SCM Microsystems Inc. SCR 355 + SCM Microsystems Inc. SCR 331 + SCM Microsystems Inc. SPR 532 + TianYu CCID Key TianYu CCID SmartKey + Verisign Secure Storage Token + Verisign Secure Token + XIRING XI-SIGN USB V2 + XIRING MyLeo + XIRING Leo v2 + Access IS ePassport Reader + Access IS NFC Smart Module + Access IS NFC Smart Module + Access IS ATR210 + Access IS ATR220 + ACS ACR101 ICC Reader + ACS ACR1251 Dual Reader + ACS ACR1252 Dual Reader + ACS ACR1252 Reader + ACS ACR1255U-J1 + ACS ACR1252IMP Reader + ACS APG8201 PINhandy 1 + ACS APG8201 USB Reader + ACS ACR33 ICC Reader + ACS CryptoMate64 + ACS ACR3901U ICC Reader + ACS ACR39U ICC Reader + ACS CryptoMate (T2) + ACS CryptoMate EVO + AF Care One + AF Care One + AF Care Two + AF Care Two + AK910 CKey + AK910 CKey + AK910 IDONE + Aktiv Rutoken lite + Aktiv Rutoken ECP + Aktiv Rutoken SCR 3001 Reader + Aktiv PINPad Ex + Aktiv PINPad In + Aktiv Rutoken PINPad 2 + Aktiv Co., ProgramPark Rutoken Magistra + Aladdin R.D. JaCarta + Aladdin R.D. JaCarta LT + Aladdin R.D. JCR-770 + Aladdin R.D. JC-WebPass (JC600) + Aladdin R.D. JaCarta + Aladdin R.D. JaCartaReader + Aladdin R.D. JaCarta U2F (JC602) + Aladdin R.D. JaCarta Flash + Alcor Link AK9563 + Alcor Micro AU9522 + ANCUD CCID USB Reader & RNG + appidkey GmbH ID50 -USB + appidkey GmbH ID100L-USB-SC-Reader + appidkey GmbH ID60-USB + ASK-RFID CPL108 + Athena IDProtect Key v2 + Athena ASEDrive IIIe KB Bio PIV + Athena ASEDrive IIIe Combo Bio PIV + ATMEL AT91SO CCID Smart Card Reader + ATMEL AT98SC032CT-USB + ATMEL AT91SC192192CT-USB ICCD reader + ATMEL AT90SCR100 + ATMEL AT90SCR050 + ATMEL VaultIC420 Smart Object + ATMEL VaultIC440 + AvestUA AvestKey + Avtor SecureToken + Avtor SC Reader 371 + Avtor SecureToken + Avtor SC Reader KP382 + Avtor KP-375BLE + Axalto Reflex USB v3 + BIFIT USB-Token iBank2key + BIFIT iBank2Key + BIFIT iToken + BIFIT ANGARA + Bit4id miniLector-s + Bit4id cryptokey + Bit4id iAM + Bit4id CKey4 + Bit4id tokenME FIPS v3 + Bit4id Digital DNA Key + Bit4id Digital-DNA Key + Bit4id Digital-DNA Key BT + Bit4id Digital-DNA Key + Bit4id TokenME EVO v2 + Bit4id miniLector + Bit4id miniLector AIR EVO + Bit4id miniLector Blue + BIT4ID miniLector AIR NFC v3 + BIT4ID mLector AIR DI V3 + Bluink Ltd. Bluink CCID + BLUTRONICS BLUDRIVE II CCID + Broadcom Corp 5880 + Broadcom Corp 5880 + Broadcom Corp 5880 + Broadcom Corp 5880 + Broadcom Corp 5880 + Broadcom Corp 58200 + Broadcom Corp 58200 + Broadcom Corp 58200 + Broadcom Corp 58200 + C3PO TLTC2USB + C3PO KBR36 + C3PO LTC32 + C3PO LTC36 + Canokeys Canokey + CASTLES EZCCID Smart Card Reader + CCB eSafeLD + Certgate GmbH AirID 2 USB + Certgate GmbH ONEKEY ID 2 USB + charismathics plug'n'crypt CCID token + Cherry Smart Card Reader USB + Cherry TC 1300 + Cherry KC 1000 SC + Cherry KC 1000 SC/DI + Cherry Smartcard Keyboard G87-1xx44 + Cherry KC 1000 SC Z + Cherry KC 1000 SC/DI Z + Cherry SmartTerminal XX44 + Cherry GmbH SmartBoard XX1X + Cherry GmbH SmartTerminal XX1X + Cherry GmbH SmartTerminal ST-1275 + Chicony USB Smart Card Keyboard + Chicony HP USB Smartcard CCID Keyboard KR + Chicony HP USB Smartcard CCID Keyboard JP + Chicony HP Skylab USB Smartcard Keyboard + COVADIS VEGA-ALPHA + COVADIS Auriga + DC.Ltd DC4 5CCID READER + DESKO GmbH IDenty chrom + DESKO GmbH PENTA Scanner + Doctolib SR + Doctolib SR + Doctolib SR + Doctolib SR + DUALi DE-620 Combi + DUALi DRAGON NFC READER + eID_R6 001 X8 + Elatec TWN4 SmartCard NFC + Elatec TWN4/B1.06/CPF3.05/S1SC1.32/P (Beta 3) + ESMART Token GOST + F-Secure Foundry USB Armory Mk II + Feitian R502 + Feitian BLE CCID Dongle + Feitian VR504 VHBR Contactless & Contact Card Reader + Feitian bR500 + Feitian R805 + Feitian ePass2003 + Feitian eJAVA Token + FEITIAN iR301 + FEITIAN bR301 + FEITIAN iR301 + Feitian Technologies FT SCR310 + Free Software Initiative of Japan Gnuk + FT ePass2003Auto + FT U2F CCID KB + FT CCID KB + FT U2F CCID + FT CCID + FT Biopass FIDO2 + FT Biopass KB FIDO CCID + FT Biopass KB CCID + FT Biopass CCID + Fujitsu Keyboard KB100 SCR + Fujitsu Keyboard KB100 SCR eSIG + Fujitsu Smartcard Reader D323 + Fujitsu Siemens Computers SmartCard Keyboard USB 2A + Fujitsu Siemens Computers SmartCard USB 2A + FujitsuTechnologySolutions GmbH SmartCase KB SCR eSIG + FujitsuTechnologySolutions GmbH Keyboard KB SCR2 + GEMALTO CT1100 + Gemalto RF CR5400 + Gemalto Gem e-Seal Pro USB Token + Gemalto Ezio Shield Secure Channel + Gemalto Ezio Shield + Gemalto Ezio Shield Branch Reader + Gemalto GemPC Express + Gemalto SA .NET Dual + Gemalto Hybrid Smartcard Reader + Gemalto Smart Enterprise Guardian Secure USB Device + Gemplus GemCore POS Pro Smart Card Reader + Generic USB2.0-CRW + Generic MultiCard Device + Generic USB Smart Card Reader + Genesys Logic CCID Card Reader + Genesys Logic Combo Card Reader + Genesys Logic CCID Card Reader + German Privacy Foundation Crypto Stick v1.2 + Giesecke & Devrient GmbH Star Sign Card Token 350 (ICCD) + Giesecke & Devrient GmbH Star Sign Card Token 550 (ICCD) + GIS Ltd SmartMouse USB + GoldKey Security PIV Token + GoTrust Idem Key + HDZB uKeyCI800-K18 + Hewlett Packard HP USB Smartcard CCID Keyboard + Hewlett Packard MFP Smart Card Reader + Hewlett-Packard HP lt4112 Gobi 4G Module + HID Global Crescendo Key + HID Global Crescendo Key + HID Global Crescendo Key + HID Global Crescendo Key + HID Global OMNIKEY 3x21 Smart Card Reader + HID Global OMNIKEY 5022 Smart Card Reader + HID Global OMNIKEY 5023 Smart Card Reader + HID Global veriCLASS Reader + HID Global OMNIKEY 5122 Smartcard Reader + HID Global OMNIKEY 5422 Smartcard Reader + HID Global OMNIKEY 5122 Dual + HID Global OMNIKEY 5027CK CCID CONFIG IF + HID Global OMNIKEY 6121 Smart Card Reader + HID OMNIKEY 5025-CL + HID OMNIKEY 5127 CK + HID OMNIKEY 5326 DFR + HID OMNIKEY 5427 CK + Hitachi, Ltd. Hitachi Biometric Reader + Hitachi, Ltd. Hitachi Portable Biometric Reader + id3 Semiconductors CL1356A_HID + Identiv uTrust 3720 Contactless Reader + Identiv CLOUD 2980 F Smart Card Reader + Identiv Identiv uTrust 4701 F Dual Interface Reader + Identiv uTrust 3700 F CL Reader + Identiv uTrust 3701 F CL Reader + Identiv uTrust 2900 R Smart Card Reader + Identiv uTrust 2910 R Smart Card Reader + Identiv SCR3500 A Contact Reader + Identiv SCR3500 B Contact Reader + Identiv uTrust 3512 SAM slot Token + Identiv @MAXX Light2 token + Identiv @MAXX ID-1 Smart Card Reader + Identiv uTrust 3522 embd SE RFID Token + Identiv uTrust 2910 R Taglio SC Reader + Identiv SCR35xx USB Smart Card Reader + Identiv SCR3500 C Contact Reader + Identive CLOUD 2700 F Smart Card Reader + Identive Identive CLOUD 4500 F Dual Interface Reader + Identive Identive CLOUD 4510 F Contactless + SAM Reader + Identive Identive CLOUD 4000 F DTC + Identive CLOUD 2700 R Smart Card Reader + Identive SCT3522CC token + Identive Technologies Multi-ISO HF Reader - USB + IID AT90S064 CCID READER + IIT E.Key Crystal-1 + IIT E.Key Almaz-1C + InfoCert WirelessKey + InfoThink IT-102MU Reader + InfoThink IT-500U Reader + Inside Secure VaultIC 420 Smart Object + Inside Secure VaultIC 440 Smart Object + Inside Secure VaultIC 460 Smart Object + Inside Secure AT90SCR100 + Inside Secure AT90SCR050 + Inside Secure AT90SCR200 + INSIDE Secure VaultIC 405 Smart Object + INSIDE Secure VaultIC 441 Smart Object + IonIDe Smartcard Reader + KACST HSID Reader + KACST HSID Reader Single Storage + KACST HSID Reader Dual Storage + Kapsch TrafficCom USB SAM reader + KeyXentic Inc. KX906 Smart Card Reader + Kingtrust Multi-Reader + KOBIL Systems Smart Token + KOBIL Systems IDToken + KOBIL Systems mIDentity 4smart + KOBIL Systems mIDentity 4smart AES + KOBIL Systems mIDentity visual + KOBIL Systems mIDentity fullsize + KOBIL Systems mIDentity fullsize AES + KRONEGGER NFC blue Reader Platform + KRONEGGER Micro Core Platform + Ledger Nano S + Ledger Nano X + Lenovo Lenovo USB Smartcard Keyboard + Lenovo Lenovo USB Smartcard Keyboard + Liteon HP SC Keyboard - Apollo (Liteon) + Liteon HP SC Keyboard - Apollo KR (Liteon) + Liteon HP SC Keyboard - Apollo JP (Liteon) + Macally NFC CCID eNetPad + mCore SCard-Reader + Microchip SEC1110 + Microchip SEC1210 + MK Technology KeyPass S1 + Morpho MSO350/MSO351 Fingerprint Sensor & SmartCard Reader + Morpho MSO1350 Fingerprint Sensor & SmartCard Reader + MSI StarReader SMART + Mulann PVT + Neowave Weneo + Neowave Weneo + Neowave Weneo + Neowave Weneo + Nitrokey Nitrokey Pro + Nitrokey Nitrokey Storage + Nitrokey Nitrokey Start + Nitrokey Nitrokey HSM + NTT Communications Corp. SCR3310-NTTCom USB SmartCard Reader + NXP Pegoda 2 N + NXP PR533 + NXP PN7462AU CCID + OBERTHUR TECHNOLOGIES ID-ONE TOKEN SLIM v2 + OCS ID-One Cosmo Card USB Smart Chip Device + OMNIKEY CardMan 1021 + OMNIKEY CardMan 4321 + OMNIKEY CardMan 5321 + OMNIKEY 5421 + OMNIKEY 6321 CLi USB + OMNIKEY AG 3121 USB + OMNIKEY AG CardMan 3621 + OMNIKEY AG CardMan 3821 + OMNIKEY AG CardMan 5121 + OMNIKEY AG CardMan 5125 + OMNIKEY AG CardMan 6121 + OMNIKEY AG 6121 USB mobile + OMNIKEY AG Smart Card Reader + Panasonic Panasonic USB Smart Card Reader 7A-Smart + Philips Semiconductors JCOP41V221 + Philips Semiconductors SmartMX Sample + PIVKey T800 + Planeta RC700-NFC CCID + Purism, SPC Librem Key + Raritan D2CIM-DVUSB VM/CCID + Regula RFID Reader + REINER SCT cyberJack go + REINER SCT tanJack Bluetooth + REINER SCT cyberJack one + REINER SCT cyberJack RFID basis + Rocketek RT-SCR1 + Route1 MobiKEY Fusion3 + SafeNet eToken 7300 + SafeNet eToken 5100 + SafeNet eToken 5300 + SafeTech SafeTouch + SAFETRUST SABRE SCR + SchlumbergerSema SchlumbergerSema Cyberflex Access + SCM Microsystems Inc. SCR33x USB Smart Card Reader + SCM Microsystems Inc. SCR 335 + SCM Microsystems Inc. SCR3320 - Smart Card Reader + SCM Microsystems Inc. SCR3340 - ExpressCard54 Smart Card Reader + SCM Microsystems Inc. SCR3310 USB Smart Card Reader + SCM Microsystems Inc. SCR331-DI USB Smart Card Reader + SCM Microsystems Inc. SDI010 Smart Card Reader + SCM Microsystems Inc. SDI011 Contactless Reader + SCM Microsystems Inc. SDI011 Contactless Reader + SCM Microsystems Inc. SCL010 Contactless Reader + SCM Microsystems Inc. SCL01x Contactless Reader + Secure Device Solutions DOMINO-Key TWIN + SecuTech SecuTech Token + Sitecom Sitecom USB simcard reader MD-010 + Softforum Co., Ltd XecureHSM + SPECINFOSYSTEMS DIAMOND token + SPECINFOSYSTEMS DIAMOND PRO token + SPECINFOSYSTEMS DIAMOND PLUS token + SPECINFOSYSTEMS DIAMOND HSM + SpringCard SpringCore + SpringCard SpringCore + SpringCard E518 + SpringCard E518 + SpringCard H518 + SpringCard H518 + SpringCard Puck + SpringCard Puck + SpringCard CrazyWriter + SpringCard CSB6 Basic + SpringCard CSB6 Secure + SpringCard CSB6 Ultimate + SpringCard EasyFinger Standard + SpringCard EasyFinger Ultimate + SpringCard Prox'N'Roll + SpringCard NFC'Roll + SpringCard H663 Series + SpringCard H512 Series + Spyrus Inc Rosetta USB + Spyrus Inc WorkSafe Pro + Spyrus Inc WorkSafe Pro + Spyrus Inc PocketVault P-3X + Sunrex HP USB Business Slim Smartcard CCID Keyboard + Swissbit Secure USB PU-50n SE/PE + SYNNIX STD200 + Sysking MII136C + sysmocom - s.f.m.c. GmbH sysmoOCTSIM + Teridian Semiconductors TSC12xxFV.09 + THURSBY SOFTWARE TSS-PK1 + Tianyu Smart Card Reader + Todos Argos Mini II + Todos CX00 + TOPPAN FORMS CO.,LTD TC63CUT021 + ubisys 13.56MHz RFID (CCID) + udea MILKO V1. + Unicept GmbH AirID USB + Unicept GmbH AirID USB Dongle + Validy TokenA sl vt + VASCO DP905v1.1 + VASCO DIGIPASS KEY 101 + VASCO DIGIPASS KEY 860 + VASCO DIGIPASS KEY 200 + VASCO DIGIPASS KEY 860 + VASCO DIGIPASS KEY 200 + VASCO DIGIPASS KEY 202 + VASCO DIGIPASS KEY 202 + VASCO DP855 + VASCO DP865 + VASCO DIGIPASS 870 + VASCO DIGIPASS 875 + VASCO DIGIPASS 920 + VMware Virtual USB CCID + WatchCNPC USB CCID Key + Watchdata USB Key + Watchdata USB Key + Watchdata USB Key + Watchdata W5181 + Winbond CCID SmartCard Controller + Yubico Yubikey NEO OTP+CCID + Yubico Yubikey NEO CCID + Yubico Yubikey NEO U2F+CCID + Yubico Yubikey NEO OTP+U2F+CCID + Yubico YubiKey CCID + Yubico YubiKey OTP+CCID + Yubico YubiKey FIDO+CCID + Yubico YubiKey OTP+FIDO+CCID + ACS ACR122U PICC Interface + ActivCard ActivCard USB Reader V2 + Alcor Micro AU9540 + Athena IDProtect Flash + ATMEL VaultIC460 + Broadcom Corp 5880 + Broadcom Corp 5880 + Broadcom Corp 5880 + C3PO LTC3x USB + Feitian SCR301 + Generic Smart Card Reader Interface + Hewlett-Packard Company HP USB CCID Smartcard Keyboard + Hewlett-Packard Company HP USB Smart Card Keyboard + KEBTechnology KONA USB SmartCard + KOBIL Systems mIDentity M + KOBIL Systems mIDentity XL + O2 Micro Oz776 + O2 Micro Oz776 + Precise Biometrics Precise 250 MC + Precise Biometrics Precise 200 MC + RSA RSA SecurID (R) Authenticator + THRC Smart Card Reader + + + Copyright + This driver is protected by terms of the GNU Lesser General Public License version 2.1, or (at your option) any later version. + + + diff --git a/network/if-down.d/openvpn b/network/if-down.d/openvpn new file mode 100755 index 00000000..61b84762 --- /dev/null +++ b/network/if-down.d/openvpn @@ -0,0 +1,21 @@ +#!/bin/sh + +OPENVPN=/usr/sbin/openvpn +OPENVPN_INIT=/etc/init.d/openvpn +SYSTEMCTL=/bin/systemctl +SYSTEMD=/run/systemd/system + +if [ ! -x $OPENVPN ]; then + exit 0 +fi + +if [ -n "$IF_OPENVPN" ]; then + for vpn in $IF_OPENVPN; do + ## check systemd present + if [ -d $SYSTEMD ]; then + $SYSTEMCTL stop openvpn@$vpn + else + $OPENVPN_INIT stop $vpn + fi + done +fi diff --git a/network/if-up.d/openvpn b/network/if-up.d/openvpn new file mode 100755 index 00000000..3e88f189 --- /dev/null +++ b/network/if-up.d/openvpn @@ -0,0 +1,21 @@ +#!/bin/sh + +OPENVPN=/usr/sbin/openvpn +OPENVPN_INIT=/etc/init.d/openvpn +SYSTEMCTL=/bin/systemctl +SYSTEMD=/run/systemd/system + +if [ ! -x $OPENVPN ]; then + exit 0 +fi + +if [ -n "$IF_OPENVPN" ]; then + for vpn in $IF_OPENVPN; do + ## check systemd present + if [ -d $SYSTEMD ]; then + $SYSTEMCTL --no-block start openvpn@$vpn + else + $OPENVPN_INIT start $vpn + fi + done +fi diff --git a/opensc/opensc.conf b/opensc/opensc.conf new file mode 100644 index 00000000..4243d7ca --- /dev/null +++ b/opensc/opensc.conf @@ -0,0 +1,7 @@ +app default { + # debug = 3; + # debug_file = opensc-debug.txt; + framework pkcs15 { + # use_file_caching = true; + } +} diff --git a/openvpn/update-resolv-conf b/openvpn/update-resolv-conf new file mode 100755 index 00000000..61b15d9a --- /dev/null +++ b/openvpn/update-resolv-conf @@ -0,0 +1,63 @@ +#!/bin/bash +# +# Parses DHCP options from openvpn to update resolv.conf +# To use set as 'up' and 'down' script in your openvpn *.conf: +# up /etc/openvpn/update-resolv-conf +# down /etc/openvpn/update-resolv-conf +# +# Used snippets of resolvconf script by Thomas Hood and Chris Hanson. +# Licensed under the GNU GPL. See /usr/share/common-licenses/GPL. +# +# Example envs set from openvpn: +# +# foreign_option_1='dhcp-option DNS 193.43.27.132' +# foreign_option_2='dhcp-option DNS 193.43.27.133' +# foreign_option_3='dhcp-option DOMAIN be.bnc.ch' +# + +if [ ! -x /sbin/resolvconf ] ; then + logger "[OpenVPN:update-resolve-conf] missing binary /sbin/resolvconf"; + exit 0; +fi + +[ "$script_type" ] || exit 0 +[ "$dev" ] || exit 0 + +split_into_parts() +{ + part1="$1" + part2="$2" + part3="$3" +} + +case "$script_type" in + up) + NMSRVRS="" + SRCHS="" + foreign_options=$(printf '%s\n' ${!foreign_option_*} | sort -t _ -k 3 -g) + for optionvarname in ${foreign_options} ; do + option="${!optionvarname}" + echo "$option" + split_into_parts $option + if [ "$part1" = "dhcp-option" ] ; then + if [ "$part2" = "DNS" ] ; then + NMSRVRS="${NMSRVRS:+$NMSRVRS }$part3" + elif [ "$part2" = "DOMAIN" ] ; then + SRCHS="${SRCHS:+$SRCHS }$part3" + fi + fi + done + R="" + [ "$SRCHS" ] && R="search $SRCHS +" + for NS in $NMSRVRS ; do + R="${R}nameserver $NS +" + done + echo -n "$R" | /sbin/resolvconf -a "${dev}.openvpn" + ;; + down) + /sbin/resolvconf -d "${dev}.openvpn" + ;; +esac + diff --git a/passwd b/passwd index 27067ab7..89e636f0 100644 --- a/passwd +++ b/passwd @@ -45,3 +45,4 @@ _flatpak:x:121:129:Flatpak system-wide installation helper,,,:/nonexistent:/usr/ tss:x:122:130:TPM software stack,,,:/var/lib/tpm:/bin/false debian-tor:x:123:131::/var/lib/tor:/bin/false cmk-agent:x:997:997:Checkmk agent system user:/var/lib/cmk-agent:/bin/false +nm-openvpn:x:124:132:NetworkManager OpenVPN,,,:/var/lib/openvpn/chroot:/usr/sbin/nologin diff --git a/passwd- b/passwd- index e2926825..278fcf6c 100644 --- a/passwd- +++ b/passwd- @@ -44,3 +44,5 @@ pi:x:1001:1002::/home/pi:/bin/bash _flatpak:x:121:129:Flatpak system-wide installation helper,,,:/nonexistent:/usr/sbin/nologin tss:x:122:130:TPM software stack,,,:/var/lib/tpm:/bin/false debian-tor:x:123:131::/var/lib/tor:/bin/false +cmk-agent:x:997:997:Checkmk agent system user:/var/lib/cmk-agent:/bin/false +nm-openvpn:x:124:132::/var/lib/openvpn/chroot:/usr/sbin/nologin diff --git a/rc0.d/K01openvpn b/rc0.d/K01openvpn new file mode 120000 index 00000000..7fc299b6 --- /dev/null +++ b/rc0.d/K01openvpn @@ -0,0 +1 @@ +../init.d/openvpn \ No newline at end of file diff --git a/rc0.d/K01pcscd b/rc0.d/K01pcscd new file mode 120000 index 00000000..9725cb17 --- /dev/null +++ b/rc0.d/K01pcscd @@ -0,0 +1 @@ +../init.d/pcscd \ No newline at end of file diff --git a/rc1.d/K01openvpn b/rc1.d/K01openvpn new file mode 120000 index 00000000..7fc299b6 --- /dev/null +++ b/rc1.d/K01openvpn @@ -0,0 +1 @@ +../init.d/openvpn \ No newline at end of file diff --git a/rc1.d/K01pcscd b/rc1.d/K01pcscd new file mode 120000 index 00000000..9725cb17 --- /dev/null +++ b/rc1.d/K01pcscd @@ -0,0 +1 @@ +../init.d/pcscd \ No newline at end of file diff --git a/rc2.d/S01openvpn b/rc2.d/S01openvpn new file mode 120000 index 00000000..7fc299b6 --- /dev/null +++ b/rc2.d/S01openvpn @@ -0,0 +1 @@ +../init.d/openvpn \ No newline at end of file diff --git a/rc2.d/S01pcscd b/rc2.d/S01pcscd new file mode 120000 index 00000000..9725cb17 --- /dev/null +++ b/rc2.d/S01pcscd @@ -0,0 +1 @@ +../init.d/pcscd \ No newline at end of file diff --git a/rc3.d/S01openvpn b/rc3.d/S01openvpn new file mode 120000 index 00000000..7fc299b6 --- /dev/null +++ b/rc3.d/S01openvpn @@ -0,0 +1 @@ +../init.d/openvpn \ No newline at end of file diff --git a/rc3.d/S01pcscd b/rc3.d/S01pcscd new file mode 120000 index 00000000..9725cb17 --- /dev/null +++ b/rc3.d/S01pcscd @@ -0,0 +1 @@ +../init.d/pcscd \ No newline at end of file diff --git a/rc4.d/S01openvpn b/rc4.d/S01openvpn new file mode 120000 index 00000000..7fc299b6 --- /dev/null +++ b/rc4.d/S01openvpn @@ -0,0 +1 @@ +../init.d/openvpn \ No newline at end of file diff --git a/rc4.d/S01pcscd b/rc4.d/S01pcscd new file mode 120000 index 00000000..9725cb17 --- /dev/null +++ b/rc4.d/S01pcscd @@ -0,0 +1 @@ +../init.d/pcscd \ No newline at end of file diff --git a/rc5.d/S01openvpn b/rc5.d/S01openvpn new file mode 120000 index 00000000..7fc299b6 --- /dev/null +++ b/rc5.d/S01openvpn @@ -0,0 +1 @@ +../init.d/openvpn \ No newline at end of file diff --git a/rc5.d/S01pcscd b/rc5.d/S01pcscd new file mode 120000 index 00000000..9725cb17 --- /dev/null +++ b/rc5.d/S01pcscd @@ -0,0 +1 @@ +../init.d/pcscd \ No newline at end of file diff --git a/rc6.d/K01openvpn b/rc6.d/K01openvpn new file mode 120000 index 00000000..7fc299b6 --- /dev/null +++ b/rc6.d/K01openvpn @@ -0,0 +1 @@ +../init.d/openvpn \ No newline at end of file diff --git a/rc6.d/K01pcscd b/rc6.d/K01pcscd new file mode 120000 index 00000000..9725cb17 --- /dev/null +++ b/rc6.d/K01pcscd @@ -0,0 +1 @@ +../init.d/pcscd \ No newline at end of file diff --git a/reader.conf.d/libccidtwin b/reader.conf.d/libccidtwin new file mode 100644 index 00000000..a2e08479 --- /dev/null +++ b/reader.conf.d/libccidtwin @@ -0,0 +1,14 @@ +# Gemalto reader with serial communication +# - n is the serial port to use n in [0..3] +# - reader is the reader name. It is needed for multi-slot readers. +# Possible reader values are: +# GemCorePOSPro +# GemCoreSIMPro +# GemCoreSIMPro2 +# GemPCPinPad +# GemPCTwin (default value) +# SEC1210 (Dual slot Reader) +# example: /dev/ttyS0:GemPCPinPad +#DEVICENAME /dev/ttySn[:reader] +#FRIENDLYNAME "GemPCTwin serial" +#LIBPATH /usr/lib/pcsc/drivers/serial/libccidtwin.so diff --git a/shadow b/shadow index 51bd0510..23b31c46 100644 --- a/shadow +++ b/shadow @@ -45,3 +45,4 @@ _flatpak:*:19118:0:99999:7::: tss:*:19118:0:99999:7::: debian-tor:*:19128:0:99999:7::: cmk-agent:!:19137:::::: +nm-openvpn:*:19276:0:99999:7::: diff --git a/shadow- b/shadow- index d0887064..23b31c46 100644 --- a/shadow- +++ b/shadow- @@ -44,3 +44,5 @@ pi:$y$j9T$OvZKYo/X0taV3uBG47Fxu0$CAvPg3ND5EmSJDmuurGqt1HxmNJ7y392RjYB5934Qs1:191 _flatpak:*:19118:0:99999:7::: tss:*:19118:0:99999:7::: debian-tor:*:19128:0:99999:7::: +cmk-agent:!:19137:::::: +nm-openvpn:*:19276:0:99999:7::: diff --git a/systemd/system/multi-user.target.wants/openvpn.service b/systemd/system/multi-user.target.wants/openvpn.service new file mode 120000 index 00000000..08210740 --- /dev/null +++ b/systemd/system/multi-user.target.wants/openvpn.service @@ -0,0 +1 @@ +/lib/systemd/system/openvpn.service \ No newline at end of file diff --git a/systemd/system/sockets.target.wants/pcscd.socket b/systemd/system/sockets.target.wants/pcscd.socket new file mode 120000 index 00000000..5357549a --- /dev/null +++ b/systemd/system/sockets.target.wants/pcscd.socket @@ -0,0 +1 @@ +/lib/systemd/system/pcscd.socket \ No newline at end of file