aboutsummaryrefslogtreecommitdiff
path: root/tools/boca-submit-run-aux
blob: 330c3df2f8ce2783e97efeb8f934dc6c8b3d04d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/bin/bash

[ -r "$1" ] && . "$1"
if [ "$BOCASERVER" == "" -o "$user" == "" -o "$pass" == "" -o "$data" == "" -o "$name" == "" ]; then
  echo "parameters missing in file $1"
  exit 1
fi

for i in uuencode wget tr perl sha256sum cut; do
  p=`which $i`
  if [ -x "$p" ]; then
    echo -n ""
  else
    echo "$i" not found
    exit 1
  fi
done
temp=/tmp/.temp.`date +%s%N`.txt

md=`wget -t 2 -T 7 -S http://$BOCASERVER/boca/index.php -O /dev/null --save-cookies /tmp/.cookie.txt --keep-session-cookies 2>&1 | grep PHPSESS | tail -n1`
echo "$md" | grep -q PHPSESS
if [ "$?" == "0" ]; then
	md=`echo $md | cut -f2 -d'=' | cut -f1 -d';'`
	res=`echo -n $pass | sha256sum - | cut -f1 -d' '`
	res=`echo -n "${res}${md}" | sha256sum - | cut -f1 -d' '`
	wget -t 2 -T 7 "http://$BOCASERVER/boca/index.php?name=${user}&password=${res}" --load-cookies /tmp/.cookie.txt --keep-session-cookies --save-cookies /tmp/.cookie.txt -O $temp 2>/dev/null >/dev/null
	grep -qi incorrect $temp
	if [ $? == 0 ]; then 
		echo "$BOCASERVER: User or password incorrect"
		rm -f $temp
		rm -f /tmp/.cookie.txt
		exit 3
	else
		echo -n "name=${nom}" > $temp
		if [ "$uniq" != "" ]; then
			echo -n "&pastcode=$uniq" >> $temp
			if [ "$code" != "" ]; then
				echo -n "&pasthash=$code" >> $temp
				if [ "$dateerr" != "" ]; then
					let "dateerr = `date +%s` - $dateerr"
					echo -n "&pastval=${dateerr}"
				fi
			fi
		fi
		
		echo -n "&data=" >> $temp
		uuencode -m zzzzzzzzzz < $1 | grep -v "begin-base64.*zzzzzzzzzz" | perl -MURI::Escape -lne 'print uri_escape($_)' >> $temp
		wget -t 2 -T 7 "http://$BOCASERVER/boca/team/getfile.php" --load-cookies /tmp/.cookie.txt --keep-session-cookies -O /dev/null --post-file=$temp >${temp}.out 2>/dev/null

		res=`tail -n1 ${temp}.out`
		echo $res | grep -q "RESULT:"
		if [ "$?" == "0" ]; then
			echo "$BOCASERVER : run $uniq dateerr $dateerr : $res"
			rm -f "$1"
		else
			echo "$BOCASERVER : run $uniq dateerr $dateerr : error to submit run (getfile.php), will try again"
		fi
		rm -f ${temp}.out
	fi
	rm -f $temp
	rm -f /tmp/.cookie.txt
else
	exit 2
fi
exit 0