summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKatolaZ <katolaz@freaknet.org>2018-07-17 07:39:16 +0100
committerKatolaZ <katolaz@freaknet.org>2018-07-17 07:39:16 +0100
commit1abda737941025df78ec2e1baa30ee696080b130 (patch)
tree504a81bd048178c5ef20965b61d1eb3fbfb41f92
parent6756f54d52915b2bcd95fa0fc98e7c937748b46e (diff)
code cleanup -- DEBUG messages isolated
-rwxr-xr-xgosher49
1 files changed, 27 insertions, 22 deletions
diff --git a/gosher b/gosher
index 673942c..4bdb759 100755
--- a/gosher
+++ b/gosher
@@ -26,6 +26,9 @@ NETCAT=netcat
OPREFIX=/tmp/outf_
IPREFIX=/tmp/inf_
+DEBUG=
+##DEBUG=yes
+
## function
cleanup(){
@@ -43,17 +46,17 @@ if [ -z "${MYNAME#gosher}" ]; then
PORT=${1:-70}
GOPHERDIR=${2:-"./"}
- trap cleanup 0 HUP INT TRAP TERM QUIT
+ trap cleanup 0 HUP INT TRAP TERM QUIT
OUTF=${OPREFIX}$$
INF=${IPREFIX}$$
mkfifo -m 600 $OUTF $INF
- while [ 1 -eq 1 ]; do
- ./gosher_serve ${GOPHERDIR} <$INF >$OUTF &
+ while [ 1 -eq 1 ]; do
+ ./gosher_serve ${GOPHERDIR} <$INF >$OUTF &
${NETCAT} -vv -l -p ${PORT} >$INF <$OUTF
ret=$?
done
- exit 0
+ exit 0
fi
@@ -67,17 +70,16 @@ fi
## function
invalid_selector(){
sel="$1"
- echo "iInvalid selector: \"$sel\""
+ echo "3Error: Invalid selector: \"$sel\""
echo "."
exit 1
}
## function
serve_selector(){
- sel="$1"
+ sel="$1"
cat "${sel}"
- echo "."
exit 0
}
@@ -90,7 +92,7 @@ serve_index(){
'
while read line; do
rline=$(echo $line | sed -r -e 's/\r//g')
- case $rline in
+ case $rline in
'['*)
echo $rline | sed -r -e 's/\[//g;s/\]//g;s/\|/\t/g;s/\t//;s/$/\r/g'
;;
@@ -101,6 +103,7 @@ serve_index(){
echo $line
esac
done < $IDX
+ printf ".\r\n"
exit 0
}
@@ -112,31 +115,33 @@ read selector
selector=$(echo $selector | sed -r 's:\r::g' )
-echo "iGOPHERDIR: ${GOPHERDIR}"
-echo "iselector: \"${selector}\""
+[ -n "$DEBUG" ] && {
+ echo "iGOPHERDIR: ${GOPHERDIR}"
+ echo "iselector: \"${selector}\""
+}
case $selector in
/*|"")
RP1=$(realpath "${GOPHERDIR}"/"${selector}" || "")
- RP2=$(realpath "${GOPHERDIR}")"${selector}"
- echo "iRP1: ${RP1}"
- echo "iRP2: ${RP2}"
- #echo "."
+ RP2=$(realpath $(realpath "${GOPHERDIR}")"${selector}")
+ [ -n "$DEBUG" ] && {
+ echo "iRP1: ${RP1}"
+ echo "iRP2: ${RP2}"
+ }
- if [ "${RP1}" = "${RP2}" ]; then
- if [ -f "${RP1}" ]; then
+ if [ "${RP1}" = "${RP2}" ]; then
+ if [ -f "${RP1}" ]; then
serve_selector "${RP1}"
- elif [ -d "${RP1}" ]; then
+ elif [ -d "${RP1}" ]; then
[ -f "${RP1}/gophermap" ] && serve_selector "${RP1}/gophermap"
[ -f "${RP1}/index.gph" ] && serve_index "${RP1}/index.gph"
- else
- echo "3Err Unable to find file ${selector}"
fi
- fi
- invalid_selector "$selector"
+ fi
+ invalid_selector "$selector"
;;
*)
- [ -f "${GOPHERDIR}/gophermap" ] && cat "${GOPHERDIR}/gophermap" && echo "." && exit 0
+ [ -f "${GOPHERDIR}/gophermap" ] && serve_selector "${GOPHERDIR}/gophermap"
+ [ -f "${GOPHERDIR}/index.gph" ] && serve_index "${GOPHERDIR}/index.gph"
invalid_selector "/"
;;
esac