#! /bin/bash
#
# ftpmount (C) 2000 WebFS, inc. All Rights Reserved 
#
# Written for WebFS, inc. by Patrick van de Lageweg (Patrick@BitWizard.nl).
# Enhancements/modifications for WebFS, inc. by Roger Wolff (R.E.Wolff@BitWizard.nl). 
#
#
# Todo: 
#     Interpret -a argument. 
#     check coda mount / launch ftpsrv when neccesary. 
#
SED=sed
CONF=/etc/ftpserv.mtab
SERVER=ftpsrv

if [ -z $1 ] ; then
    cat $CONF
    exit 0
fi


if [ -z $2 ] ; then
    echo Usage:
    echo ftpmount directory_to_mount mountpoint
    exit 1
fi


if [ ! -z `echo $1 | grep @` ] ; then 
    USER=`echo $1 | $SED -e "s/:.*//" -e "s/@.*//" `
    PASSWD=`echo $1 |$SED "s/@.*//"` 
    if [ ! -z `echo $PASSWD | grep :` ] ; then
	PASSWD=`echo $PASSWD | $SED -e "s/.*://" `
    else
        echo -n Enter password for $USER': ' 
	stty -echo
	read PASSWD 
	stty echo
	echo 
    fi 
else
    USER="anonymous"
    PASSWD=""
fi

HOST=`echo $1 | $SED -e "s/.*@//" -e "s#[/:].*##" `

FTPPATH=`echo $1 | $SED -e "s#.*$HOST##" `
echo $FTPPATH
if [ ! -z `echo $FTPPATH | grep :` ] ; then
    FTPPATH=`echo $FTPPATH | $SED -e "s#.*:##" `
fi
 
if [ ! -e $CONF ] ; then
    umask 077
    touch $CONF
fi

if ! grep -q \ $2\$ $CONF ; then 
    echo  "/#ftp:$USER:$PASSWD@$HOST:$FTPPATH" $2 >> $CONF
    killall -HUP $SERVER
#   TODO: Check if the mount succeeded.
#   sleep 1
#   if [ -d /ftp/$2 ]; then
#      echo OK!
#   else 
#      echo Mount failed
#   fi
else
    echo $2 is already mounted
fi
