add_dkim_key.sh: fix error in case long keys (i.e.2048 bit).
This commit is contained in:
parent
e4c9a4fc8f
commit
78a1610517
@ -467,48 +467,6 @@ if $terminal ; then
|
|||||||
if [[ "X$TTL" = "X" ]] ; then
|
if [[ "X$TTL" = "X" ]] ; then
|
||||||
TTL="${DEFAULT_TTL}"
|
TTL="${DEFAULT_TTL}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
blank_line
|
|
||||||
blank_line
|
|
||||||
|
|
||||||
declare -i length_dkim_key=${#DKIM_KEY}
|
|
||||||
declare -i pos_begin=0
|
|
||||||
declare -i pos_end=64
|
|
||||||
|
|
||||||
_intro="v=${DKIM_TYPE}; k=${KEY_TYPE}; p="
|
|
||||||
declare -i length_intro=${#_intro}
|
|
||||||
|
|
||||||
declare -i total_length=$((length_intro + length_dkim_key))
|
|
||||||
|
|
||||||
|
|
||||||
echononl "Create (splitted 'p' value of DNS record.."
|
|
||||||
if [[ ${total_length} -gt 255 ]] ; then
|
|
||||||
_failed=false
|
|
||||||
p_val=""
|
|
||||||
while [[ $pos_end -lt $length ]] ; do
|
|
||||||
p_val+="\"$(echo "${DKIM_KEY:$pos_begin:64}")\" "
|
|
||||||
[[ $? -gt 0 ]] && _failed=true
|
|
||||||
pos_begin=$pos_end
|
|
||||||
pos_end=$(expr $pos_end + 64)
|
|
||||||
[[ $? -gt 0 ]] && _failed=true
|
|
||||||
done
|
|
||||||
p_val+="\"$(echo "${DKIM_KEY:$pos_begin}")\""
|
|
||||||
[[ $? -gt 0 ]] && _failed=true
|
|
||||||
if $_failed ; then
|
|
||||||
echo_failed
|
|
||||||
|
|
||||||
fatal "Cannot create p vaalue of DNS Record"
|
|
||||||
else
|
|
||||||
echo_ok
|
|
||||||
fi
|
|
||||||
txt_val="\"v=${DKIM_TYPE}; k=${KEY_TYPE}; s=email; p=\" ${p_val}"
|
|
||||||
|
|
||||||
else
|
|
||||||
echo_skipped
|
|
||||||
p_val="${DKIM_KEY}"
|
|
||||||
txt_val="\"${_intro}${p_val}\""
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
@ -534,6 +492,51 @@ if [[ -z "$(trim "${KEY_SECRET}")" ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
blank_line
|
||||||
|
blank_line
|
||||||
|
|
||||||
|
declare -i length_dkim_key=${#DKIM_KEY}
|
||||||
|
|
||||||
|
_intro="v=${DKIM_TYPE}; k=${KEY_TYPE}; p="
|
||||||
|
declare -i length_intro=${#_intro}
|
||||||
|
|
||||||
|
declare -i total_length=$((length_intro + length_dkim_key))
|
||||||
|
|
||||||
|
|
||||||
|
echononl "Create (splitted) 'p' value of DNS record.."
|
||||||
|
if [[ ${total_length} -gt 255 ]] ; then
|
||||||
|
|
||||||
|
TMP_DKIM_KEY="$DKIM_KEY"
|
||||||
|
|
||||||
|
p_val=""
|
||||||
|
|
||||||
|
_length=64
|
||||||
|
declare -i index=1
|
||||||
|
|
||||||
|
while [ -n "$TMP_DKIM_KEY" ]; do
|
||||||
|
if [[ index -eq 1 ]]; then
|
||||||
|
p_val="\"${TMP_DKIM_KEY:0:$_length}\""
|
||||||
|
else
|
||||||
|
p_val+=" \"${TMP_DKIM_KEY:0:$_length}\""
|
||||||
|
fi
|
||||||
|
|
||||||
|
TMP_DKIM_KEY="${TMP_DKIM_KEY:$_length}"
|
||||||
|
|
||||||
|
(( ++index ))
|
||||||
|
|
||||||
|
done
|
||||||
|
echo_done
|
||||||
|
|
||||||
|
|
||||||
|
txt_val="\"v=${DKIM_TYPE}; k=${KEY_TYPE}; s=email; p=\" ${p_val}"
|
||||||
|
|
||||||
|
else
|
||||||
|
echo_skipped
|
||||||
|
p_val="${DKIM_KEY}"
|
||||||
|
txt_val="\"${_intro}${p_val}\""
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if $terminal ; then
|
if $terminal ; then
|
||||||
echo ""
|
echo ""
|
||||||
|
Loading…
Reference in New Issue
Block a user