aboutsummaryrefslogtreecommitdiff
path: root/tools/boca-submit-run-root
blob: 4cc2231b6d914a2e4a10cbc7a149e393cee4ce9d (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
#!/bin/bash

if [ "`id -u`" != "0" ]; then
  echo "Must be run as root"
  exit 1
fi

if [ "$7" != "" ]; then
	mkdir -p /root/submissions
	chown root /root/submissions
	chmod 700 /root/submissions
	nom=/root/submissions/`date +%s%N`.bocarun.tmp

	echo "BOCASERVER=`echo $1 | tr -cd '[[:alnum:]]._+-/'`" > "$nom"
	echo "user=`echo $2 | tr -cd '[[:alnum:]]._+-/'`" >> "$nom"
	echo "pass=`echo $3 | tr -cd '[[:alnum:]]._+-/'`" >> "$nom"
	echo "problem=`echo $4 | tr -cd '[[:alnum:]]._+-/'`" >> "$nom"
	echo "language=`echo $5 | tr -cd '[[:alnum:]]._+-/'`" >> "$nom"
	echo "name=`echo $6 | tr -cd '[[:alnum:]]._+-/'`" >> "$nom"
	echo -en "data=\"" >> "$nom"
	uuencode -m zzzzzzzzzz < `echo "$7" | tr -cd '[[:alnum:]]._+-/'` | grep -v "begin-base64.*zzzzzzzzzz" >> "$nom"
	echo "\"" >> "$nom"
	dateerr=`date +%s`
	echo "dateerr=$dateerr" >> "$nom"
#	uniq=`date +%sN`-`sha256sum "$7"`
#	uniq=`echo $uniq | sha256sum - | cut -f1 -d' '`
	uniq=`sha256sum "$7" | cut -f1 -d' '`
	code=`cat /root/submissions/code`
	res=`echo -n "${code}${uniq}${dateerr}" | sha256sum - | cut -f1 -d' '`
	echo "uniq=$uniq" >> "$nom"
	echo "code=$res" >> "$nom"
	mv "$nom" "/root/submissions/`basename $nom .tmp`"
fi