#!/bin/bash
cd ~/.cipher/work

SOLVE_BINARY='/home/james/.cipher/solve'
CHALLENGE=2
PDF_URL="http://www.cipher.maths.soton.ac.uk/Challenge${CHALLENGE}text.pdf"

while true;do
	wget -N $PDF_URL
	if [ $? -eq 0 ];then
		if [ -n "`file Challenge${CHALLENGE}text.pdf|grep \"PDF document\"`" ];then
			break #GO GO GO
		fi
	fi
	sleep 2
done

echo "GOT PDF";

ps2txt "Challenge${CHALLENGE}text.pdf" > "Challenge${CHALLENGE}text.txt"
echo "CONVERTED PDF TO TEXT"

END_MARKER='CHARACTER'
cat Challenge${CHALLENGE}text.txt|sed -n "s/.*National Cipher Challenge ${CHALLENGE} Part A\(.*\)${END_MARKER}.*/\1/p" > "${CHALLENGE}A.in"
if [ -z "`cat ${CHALLENGE}A.in`" ];then
	END_MARKER='\.'
	cat Challenge${CHALLENGE}text.txt|sed -n "s/.*National Cipher Challenge ${CHALLENGE} Part A\(.*\)${END_MARKER}.*/\1/p" > "${CHALLENGE}A.in"
	if [ -z "`cat ${CHALLENGE}A.in`" ];then
		END_MARKER=''
		cat Challenge${CHALLENGE}text.txt|sed -n "s/.*National Cipher Challenge ${CHALLENGE} Part A\(.*\)${END_MARKER}.*/\1/p" > "${CHALLENGE}A.in"
	fi
fi
	
END_MARKER='CHARACTER'
cat Challenge${CHALLENGE}text.txt|sed -n "s/.*National Cipher Challenge ${CHALLENGE} Part B\(.*\)${END_MARKER}.*/\1/p" > "${CHALLENGE}B.in"
if [ -z "`cat ${CHALLENGE}B.in`" ];then
	END_MARKER='\.'
	cat Challenge${CHALLENGE}text.txt|sed -n "s/.*National Cipher Challenge ${CHALLENGE} Part B\(.*\)${END_MARKER}.*/\1/p" > "${CHALLENGE}B.in"
	if [ -z "`cat ${CHALLENGE}B.in`" ];then
		END_MARKER=''
		cat Challenge${CHALLENGE}text.txt|sed -n "s/.*National Cipher Challenge ${CHALLENGE} Part B\(.*\)${END_MARKER}.*/\1/p" > "${CHALLENGE}B.in"
	fi
fi

echo "EXTRACTED CIPHERTEXT"

cat "${CHALLENGE}A.in"|$SOLVE_BINARY > "${CHALLENGE}A.out"
cat "${CHALLENGE}B.in"|$SOLVE_BINARY > "${CHALLENGE}B.out"
echo "SOLVED CIPHER"

while true;do
	curl -d "message=${CHALLENGE}" -d 'uid=STAIRS' -d 'password=bLRcsga6FM' -d solutionA="`cat ${CHALLENGE}A.out`" -d solutionB="`cat ${CHALLENGE}B.out`" 'http://www.cipher.maths.soton.ac.uk/submit.php'
	if [ $? -eq 0 ];then
		echo curl -d "message=${CHALLENGE}" -d 'uid=STAIRS' -d 'password=bLRcsga6FM' -d solutionA="`cat ${CHALLENGE}A.out`" -d solutionB="`cat ${CHALLENGE}B.out`" 'http://www.cipher.maths.soton.ac.uk/submit.php' > ../answer.txt
		break
	fi
	sleep 3
done
echo "UPLOADED ANSWER"
echo "ALL DONE"
 
