aboutsummaryrefslogtreecommitdiff
path: root/tools/singlefilebkp.sh
diff options
context:
space:
mode:
authorcassio <cassiopc@gmail.com>2013-07-02 05:46:45 +0000
committercassio <cassiopc@gmail.com>2013-07-02 05:46:45 +0000
commitbe2491b093b1f0ca430bede679ecbb670041e483 (patch)
treefe2da63d1811cb93e4352a43a113ace37b9f6017 /tools/singlefilebkp.sh
parenta9aa438ea0558eb0044cf1e54a9190ddb41b65e5 (diff)
downloadboca-be2491b093b1f0ca430bede679ecbb670041e483.tar.gz
boca-be2491b093b1f0ca430bede679ecbb670041e483.zip
restructuring of boca's git
Diffstat (limited to 'tools/singlefilebkp.sh')
-rwxr-xr-xtools/singlefilebkp.sh46
1 files changed, 46 insertions, 0 deletions
diff --git a/tools/singlefilebkp.sh b/tools/singlefilebkp.sh
new file mode 100755
index 0000000..8f68c41
--- /dev/null
+++ b/tools/singlefilebkp.sh
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+[ -x /etc/icpc/bocaserver.sh ] && . /etc/icpc/bocaserver.sh
+if [ "$BOCASERVER" == "" ]; then
+ echo "This computer has no configured BOCA server. Ask an admin to update /etc/icpc/bocaserver.sh (usually resetting everything is an easy way)"
+ exit 1
+fi
+
+for i in uuencode wget tr perl md5sum cut; do
+ p=`which $i`
+ if [ -x "$p" ]; then
+ echo -n ""
+ else
+ echo "$i" not found
+ exit 1
+ fi
+done
+
+if [ "$1" == "" ]; then
+ echo "Usage: $0 <filename>"
+ exit 1
+fi
+
+if [ -r "$1" ]; then
+md=`wget -S http://$BOCASERVER/boca/index.php -O /dev/null --save-cookies /tmp/.cookie.txt --keep-session-cookies 2>&1 | grep PHPSESS | tail -n1 | cut -f2 -d'=' | cut -f1 -d';'`
+echo -n "User: "
+read user
+echo -n "Password: "
+read pass
+res=`echo -n $pass | md5sum - | cut -f1 -d' '`
+res=`echo -n "${res}${md}" | md5sum - | cut -f1 -d' '`
+wget "http://$BOCASERVER/boca/index.php?name=${user}&password=${res}" --load-cookies /tmp/.cookie.txt --keep-session-cookies --save-cookies /tmp/.cookie.txt -O /tmp/.temp.txt 2>/dev/null >/dev/null
+grep -qi incorrect /tmp/.temp.txt
+if [ $? == 0 ]; then
+ echo User or password incorrect
+else
+nom=`echo -n $1 | perl -MURI::Escape -lne 'print uri_escape($_)'`
+echo -n "name=${nom}&data=" > /tmp/.temp.txt
+uuencode -m zzzzzzzzzz < $1 | grep -v "begin-base64.*zzzzzzzzzz" | perl -MURI::Escape -lne 'print uri_escape($_)' >> /tmp/.temp.txt
+wget "http://$BOCASERVER/boca/team/getfile.php" --load-cookies /tmp/.cookie.txt --keep-session-cookies -O /dev/null --post-file=/tmp/.temp.txt >/dev/null 2>/dev/null
+fi
+rm -f /tmp/.temp.txt
+rm -f /tmp/.cookie.txt
+else
+ echo file $1 not found
+fi