#!/bin/bash

# Wir betrachten das Root-USB-Device, d.h. in $DEVPATH muss es idProduct und idVendor geben.
if [ ! -e "/sys${DEVPATH}/idProduct" -o ! -e "/sys${DEVPATH}/idVendor" ]; then
  echo "Nich das Root-USB-Device, überspringen."
  exit 0
fi

# Vendor-, Product-ID und Seriennummer einlesen
read VendorID < /sys${DEVPATH}/idVendor
read ProductID < /sys${DEVPATH}/idProduct
read SerialNo < /sys${DEVPATH}/serial

# Eine Liste aller Benutzer und ihrer Home-Verzeichnisse gewinnen
for User in `cut -d":" -f1,6</etc/passwd`; do
  UserName=${User%:*}
  UserHome=${User#*:}
  # echo User: $UserName Home: $UserHome

  # Prüfen, ob es im User-Home ein Hotplug-Script mit unserer
  # Vendor-/Product-ID gibt
  # Dateinamen der User-Hotplug-Scripte: $VendorID.$ProductID:$SerialNo
  for HpScript in ${UserHome}/.hotplug/${VendorID}.${ProductID}*; do
    if [ -e "${HpScript}" ]; then
      # Ist im User-Hotplug-Script eine Seriennummer angegeben?
      UserSerial=${HpScript##*/}
      UserSerial=${UserSerial/${VendorID}.${ProductID}}
      UserSerial=${UserSerial#:}
      if [ -n "${UserSerial}" -a "${UserSerial}" != "${SerialNo}" ]; then
        # Seriennummern stimmen nicht überein
	break
      fi
      # User-Hotplug-Skript starten
      if [ -x $HpScript ]; then
        su "$UserName" -c "$HpScript add" &
      fi
    fi
  done
done
