#!/bin/sh


mydir=`dirname $0`

#
# Set owner's address.
# If not set, exit abnormally
#
rc=$HOME/.qmfilterrc

if [ -s $mydir/.qmfilterrc ]; then
  rc=$mydir/.qmfilterrc
fi
if [ -s $rc ]; then
  owner=`grep '^owner=' $rc`
  [ "$owner" != "" ] && eval "$owner"		# set $owner
fi
if [ "$owner" = "" ]; then
  echo First, you must set your main mail address
  echo Input your main mail address;
  while read mailaddr; do
    case $mailaddr in
      *$USER*@*) break ;;
      *)   echo "Input your mail address in the form of xxx@yyy.zzz" ;;
    esac
  done
  echo owner=$mailaddr > $rc
  cat $rc
fi

echo 'Which mail address do you want to introduce this checker?'
echo 'Input dot-qmail file name (eg. .qmail-foo)'
while read dq; do
  case "$dq" in
    .qmail-*)
      if [ -s $HOME/$dq ]; then
        break
      else
        echo $HOME/$dq not found.
	echo Input the currently working dot-qmail file name
      fi
      ;;
    *)  echo 'Input the file name as ".qmail-xxx" where xxx is extension' ;;
  esac
done

real=$HOME/${dq}-real

if [ -s $real ]; then
  echo $real already exist!
  echo You have executed this script for same address twice.
  echo Please remove $real file and call me again.
  exit 1
fi
localpart="$USER-"`expr "$dq" : '.qmail-\(.*\)'`
echo localpart=$localpart

mv $HOME/$dq $real
#
# Detect relative path or detect absolute.

mypath=`(cd $mydir; pwd)`
homepath=`(cd; pwd)`
relative=`expr $mypath : $homepath/'\(.*\)'`
case "$relative" in
  '') dir="$mypath" ;;
  *)  dir="./$relative" ;;
esac

echo "| $dir/qmfilter $localpart-real" > $HOME/$dq
cat $HOME/$dq
echo done
