diff options
| author | cassio <cassiopc@gmail.com> | 2013-07-02 05:46:45 +0000 |
|---|---|---|
| committer | cassio <cassiopc@gmail.com> | 2013-07-02 05:46:45 +0000 |
| commit | be2491b093b1f0ca430bede679ecbb670041e483 (patch) | |
| tree | fe2da63d1811cb93e4352a43a113ace37b9f6017 /tools/singlefilebkp.sh | |
| parent | a9aa438ea0558eb0044cf1e54a9190ddb41b65e5 (diff) | |
| download | boca-be2491b093b1f0ca430bede679ecbb670041e483.tar.gz boca-be2491b093b1f0ca430bede679ecbb670041e483.zip | |
restructuring of boca's git
Diffstat (limited to 'tools/singlefilebkp.sh')
| -rwxr-xr-x | tools/singlefilebkp.sh | 46 |
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 |