#/bin/sh
# ************************************************************************
# *                                                                      *
# *      makeconfig v0.1 - ECI Linux driver configuration script         *
# *                        by FlashCode and Crevetor (c) 14/04/2002      *
# *                                                                      *
# *          For any support, contact one of us :                        *
# *           - FlashCode: flashcode@free.fr  http://flashcode.free.fr   *
# *           - Crevetor : ziva@caramail.com                             *
# *									 *
# * Traduzione : Good-it : enzo@bontempo.it                              *
# *                                                                      *
# *        Parameters for this script :                                  *
# *          $1 = username + domain (username@domain)                    *
# *          $2 = password (given by provider)                           *
# *          $3 = path to pppoeci (eg: /usr/local/bin/pppoeci)           *
# *          $4 = DNS 1 (depends on provider)                            *
# *          $5 = DNS 2 (depends on provider)                            *
# *                                                                      *
# ************************************************************************

#
# target "etc" directory (useful for testing this script)
#

base_etc=/etc

#
# check parameters :
#

if [ $UID -ne 0 ]; then
    echo -e "Errore: bisogna essere root per eseguire questo script.\n"
    exit 255
fi

if [ $# -ne 5 ]; then
    echo -e "Errore: numero di parametri non corretto."
    echo -e "Sintassi: makeconfig <nome_utente> <password> <path_di_pppoeci> <dns1> <dns2>"
    exit 1
fi

#
# backup and create resolv.conf
#

if [ $4 != 0 ]; then
    nomresolv=${base_etc}/resolv.conf
    if [ -s $nomresolv ]; then
        nombak="${nomresolv}.bak"
        numero=0
        while [ -s $nombak ]
        do
            numero=`expr $numero + 1`
            nombak="${nomresolv}.bak$numero"
        done
        echo -n "Backup di $nomresolv (in $nombak)... "
        cp -f $nomresolv $nombak
        echo "ok"
    fi
    echo -n "Sto creando $nomresolv..."
    echo "nameserver $4" >$nomresolv
    echo "nameserver $5" >>$nomresolv
    echo "ok"
fi

#
# backup and create chap-secrets, pap-secrets
#

for auth in "chap" "pap"
{
    nomsecret=${base_etc}/ppp/${auth}-secrets
    if [ -s $nomsecret ]; then
        nombak="${nomsecret}.bak"
        numero=0
        while [ -s $nombak ]
        do
            numero=`expr $numero + 1`
            nombak="${nomsecret}.bak$numero"
        done
        echo -n "Backing up $nomsecret (to $nombak)... "
        cp -f $nomsecret $nombak
        echo "ok"
    fi
    echo -n "Sto creando $nomsecret... "
    echo "# Secrets per autenticazione $auth" >$nomsecret
    echo -e "$1\t*\t$2\t*\t" >>$nomsecret
    echo "ok"
}

#
# backup and create adsl script
#

nomadsl=${base_etc}/ppp/peers/adsl
if [ -s $nomadsl ]; then
    nombak="${nomadsl}.bak"
    numero=0
    while [ -s $nombak ]
    do
        numero=`expr $numero + 1`
        nombak="${nomadsl}.bak$numero"
    done
    echo -n "Backup di $nomadsl (in $nombak)... "
    cp -f $nomadsl $nombak
    echo "ok"
fi
echo -n "Sto creando $nomadsl... "
cat <<EOF >$nomadsl
# 12/04/2001 Benoit PAPILLAULT <benoit.papillault@free.fr>
# 08/05/2001 Updated. Added "novj" & removed "kdebug 7"
#
# This file could be rename but its place is under /etc/ppp/peers
# To connect to Internet using this configuration file
# pppd call adsl, where "adsl" stands for the name of this file

debug
kdebug 1
noipdefault
defaultroute
pty "$3 -vpi 8 -vci 35"
sync
user "$1"
noaccomp
nopcomp
noccp
novj
holdoff 1
maxfail 0
usepeerdns
noauth
lcp-echo-interval 600
lcp-echo-failure 10
persist
EOF
echo "ok"
