Fixed some MacOS inconsistency

This commit is contained in:
2022-11-14 20:27:47 +08:00
parent 8ab60370a0
commit 5d2acc0710
6 changed files with 68 additions and 50 deletions

View File

@@ -29,22 +29,25 @@ if [ -z "$ARCH_S3_BUCKET_URL" ]; then
exit 1
fi
function _str { printf "%s" $@; }
function _stre { printf $@; }
_TEMP=$( mktemp )
function __clean_up { rm $_TEMP; }
trap __clean_up EXIT
echo -n "<Delete>" > $_TEMP
_str "<Delete>" > $_TEMP
sed "s/.\+/<Object><Key>\0<\/Key><\/Object>/g" $_LIST_SRC | tr -d '\n' >> $_TEMP
if [ $? -ne 0 ]; then
exit 1
fi
echo -n "</Delete>" >> $_TEMP
_str "</Delete>" >> $_TEMP
BUCKET_NAME=$( echo -n $ARCH_S3_BUCKET_URL | cut -d'.' -f1 )
SERVICE=$( echo -n $ARCH_S3_BUCKET_URL | cut -d'.' -f2 )
REGION=$( echo -n $ARCH_S3_BUCKET_URL | cut -d'.' -f3 )
ACCESS_KEY=$( echo -n $ARCH_S3_AUTH | cut -d':' -f1 )
SECRET_KEY=$( echo -n $ARCH_S3_AUTH | cut -d':' -f2 )
BUCKET_NAME=$( _str $ARCH_S3_BUCKET_URL | cut -d'.' -f1 )
SERVICE=$( _str $ARCH_S3_BUCKET_URL | cut -d'.' -f2 )
REGION=$( _str $ARCH_S3_BUCKET_URL | cut -d'.' -f3 )
ACCESS_KEY=$( _str $ARCH_S3_AUTH | cut -d':' -f1 )
SECRET_KEY=$( _str $ARCH_S3_AUTH | cut -d':' -f2 )
BUCKET_URL=$ARCH_S3_BUCKET_URL
@@ -71,9 +74,9 @@ _C="$_C\n$_SHA"
_S="AWS4-HMAC-SHA256"
_S="$_S\n$_DTIME"
_S="$_S\n$_DATE/$REGION/$SERVICE/aws4_request"
_S="$_S\n$( echo -ne "$_C" | sha256sum | cut -d' ' -f1 )"
_S="$_S\n$( _stre "$_C" | sha256sum | cut -d' ' -f1 )"
function _HMAC { echo -ne "$2" | openssl dgst -sha256 -hex -mac HMAC -macopt "$1" | cut -d' ' -f2; }
function _HMAC { _stre "$2" | openssl dgst -sha256 -hex -mac HMAC -macopt "$1" | cut -d' ' -f2; }
SIG=$( _HMAC "key:AWS4$SECRET_KEY" "$_DATE" )
SIG=$( _HMAC "hexkey:$SIG" "$REGION" )