blob: 41c609f12449798c4062e298ce8a0a10e3f2130f [file] [log] [blame]
#!/bin/sh
myself=${0##*/}
# Uploads full and tiny logs tgz files to server
CURRENT_MCC=$(getprop hawk.mcc 0)
CHINA_MCC=460
if [ $CURRENT_MCC == $CHINA_MCC ] ; then
HAWK_SENDER_SERVER_URL_NAME=$(getprop ro.hawk.logs.server_cn.url.name "ftp://Hawksh.marvell.com")
HAWK_SENDER_SERVER_URL_IP=$(getprop ro.hawk.logs.server_cn.url.ip "ftp://222.73.125.85")
HAWK_SENDER_SERVER_USERNAME=$(getprop ro.hawk.logs.server_cn.user "HAWKlogs")
HAWK_SENDER_SERVER_PASSWORD=$(getprop ro.hawk.logs.server_cn.pass "mrvllogs!@")
else
HAWK_SENDER_SERVER_URL_NAME=$(getprop ro.hawk.logs.server.url.name "ftp://HawkPtk.marvell.com")
HAWK_SENDER_SERVER_URL_IP=$(getprop ro.hawk.logs.server.url.ip "ftp://212.199.69.13")
HAWK_SENDER_SERVER_USERNAME=$(getprop ro.hawk.logs.server.user "HAWKServer_APSE")
HAWK_SENDER_SERVER_PASSWORD=$(getprop ro.hawk.logs.server.pass "SR4p1RctEG9")
fi
#2G upload speed around 236 kbps
let "DEFAULT_FTP_UPLOAD_SPEED=30*1024"
BOARD_IMEI=$(getprop persist.ml.imei "")
if [ -z "$BOARD_IMEI" ] ; then
echo "missing IMEI property" > /dev/kmsg
exit 1
fi
EVENT_DIR=$1
cd $EVENT_DIR
# if tar doesn't exist, we pack new one
FILE=`find -name \*.tar`
if [ -z "$FILE" ] ; then
#taking only EVENT_ID(directory name)
EVENT_ID=${EVENT_DIR##*/}
TINY_LOG=tiny_logs.tgz
FULL_LOG=full_logs.tgz
if [ \( -e OFFLINE \) -a \( -e "$TINY_LOG" -o -e "$FULL_LOG" \) ] ; then
RANDOM="head /dev/urandom | tr -dc "0123456789abcdefhghijklmnopqrstuvwxyz" | head -c4"
UNIQUE_ID=$BOARD_IMEI-`eval $RANDOM`-`eval $RANDOM`-`eval $RANDOM`-`eval $RANDOM`-`eval $RANDOM`
mkdir $EVENT_ID
# __ to indicate not to pull from internal server
FILE=__$UNIQUE_ID.tar
if [ -e "$TINY_LOG" ] ; then
mv $TINY_LOG $EVENT_ID/
fi
if [ -e "$FULL_LOG" ] ; then
mv $FULL_LOG $EVENT_ID/
fi
tar -cf $FILE $EVENT_ID
# delete event folder to optimise space usage
rm -r $EVENT_ID
else
echo "$myself: No logs found for upload.." > /dev/kmsg
exit 1
fi
fi
# sending logs to server
FILE_SIZE=`ls -nl $FILE | awk '{print $5}'`
let "MAX_UPLOAD_TIME=$FILE_SIZE / $DEFAULT_FTP_UPLOAD_SPEED"
if [ "$MAX_UPLOAD_TIME" -lt "120" ] ; then
#set defualt upload time to 120 seconds
MAX_UPLOAD_TIME=120
fi
upload() {
echo upload $EVENT_DIR/$FILE to $1 > /dev/kmsg
curl --connect-timeout 20 -m $MAX_UPLOAD_TIME -C - -T $FILE -u $HAWK_SENDER_SERVER_USERNAME:$HAWK_SENDER_SERVER_PASSWORD $1/
exval=$?
if [ $exval == 0 ] ; then
# remove __ from name
NEW_FILE=`echo $FILE | cut -d '_' -f3`
curl --connect-timeout 20 -Q "-RNFR $FILE" -Q "-RNTO $NEW_FILE" -u $HAWK_SENDER_SERVER_USERNAME:$HAWK_SENDER_SERVER_PASSWORD $1/
exval=$?
if [ $exval == 0 ] ; then
#if we succeeded to upload logs, then delete from SD and exit
cd ..
echo "hawk: curl upload passed" > /dev/kmsg
rm -rf $EVENT_DIR
exit 0
else
echo "hawk: curl rename failed: $exval" > /dev/kmsg
fi
elif [ $exval == 6 ] ; then
echo "hawk: curl upload failed - Can't resolve host: $exval" > /dev/kmsg
else
echo "hawk: curl upload failed: $exval" > /dev/kmsg
fi
}
# Try upload using DNS
upload $HAWK_SENDER_SERVER_URL_NAME
# Try again without DNS
upload $HAWK_SENDER_SERVER_URL_IP
# Failed to upload - exit
exit -1