}
# Parse ${ANSWERFILE_OPT} variable to determine if the file is local or remote.
-PROTOCOL=$(echo ${ANSWERFILE_OPT} | sed -ne 's/^\(http\|ftp\|nfs\):\/\/.*$/\1/p')
+PROTOCOL=$(echo ${ANSWERFILE_OPT} | sed -ne 's/^\(http\|ftp\|nfs\|tftp\):\/\/.*$/\1/p')
if [ -z "${PROTOCOL}" ] ; then
LOCAL_ANSWERFILE="${ANSWERFILE_OPT}"
network_up_for_answerfile || exit ${Abort}
case "${PROTOCOL}" in
+ tftp)
+ REMOTE_LEAF=$(echo ${ANSWERFILE_OPT} | sed -e 's/^tftp:\/\/[^\/]*\///g' )
+ REMOTE_HOST=$(echo ${ANSWERFILE_OPT} | sed -ne 's/^tftp:\/\/\([^\/]*\)\///p' )
+ if [ -z "$REMOTE_HOST ]; then
+ REMOTE_HOST="dhcp"
+ fi
+ REMOTE_PREFIX=$(cat /tmp/dhcp-prefix)
+ tftp -l "${LOCAL_ANSWERFILE}" -r "$(cat /tmp/dhcp-prefix)/$REMOTE_LEAF" -g "$REMOTE_HOST" || exit ${Abort}
+ break
+ ;;
http|ftp)
wget "${ANSWERFILE_OPT}" -O "${LOCAL_ANSWERFILE}" || exit ${Abort}
break