#!/bin/sh

echo "################################################################################"
echo "                           LOAD GPG KEYS                                        "
echo "################################################################################"

curl https://people.apache.org/keys/group/sling.asc --output /tmp/sling.asc
if [ "$?" != "0" ]; then
  echo "Failed to download Sling GPG Keys"
  exit 1;
fi
gpg --import /tmp/sling.asc
if [ "$?" != "0" ]; then
  echo "Failed to load Sling GPG Keys"
  exit 1;
fi

echo "################################################################################"
echo "                          CHECK SIGNATURES AND DIGESTS                          "
echo "################################################################################"

RESULT=0
for i in `find "$RELEASE_FOLDER" -type f | grep -v '\.\(asc\|sha1\|md5\)$'`
do
  f=`echo $i | sed 's/\.asc$//'`
  echo "$f"
  if [ ! -f "$f.asc" ]; then
    CHKSUM="----";
  else
    gpg --verify $f.asc 2>/dev/null
    if [ "$?" = "0" ]; then
      CHKSUM="GOOD";
    else
      CHKSUM="BAD!!!!!!!!";
      RESULT=2
    fi
  fi
  echo "gpg:  ${CHKSUM}"

 for tp in md5 sha1
 do
   if [ ! -f "$f.$tp" ]
   then
     CHKSUM="----"
   else
     A="`cat $f.$tp 2>/dev/null`"
     B="`openssl $tp < $f 2>/dev/null | sed 's/.*= *//' `"
     if [ "$A" = "$B" ]; then
       CHKSUM="GOOD (`cat $f.$tp`)";
     else
       CHKSUM="BAD!! : $A not equal to $B";
       RESULT=3
     fi
   fi
   echo "$tp : ${CHKSUM}"
 done

done

if [ -z "${CHKSUM}" ]; then
  echo "WARNING: no files found!";
  RESULT=4
fi

echo "################################################################################"

exit $RESULT
