diff --git a/add_dkim_key.sh b/add_dkim_key.sh index 2c8ed53..4e30029 100755 --- a/add_dkim_key.sh +++ b/add_dkim_key.sh @@ -209,6 +209,8 @@ DEFAULT_KEY_NAME="update-dkim" DEFAULT_DKIM_TYPE="DKIM1" DEFAULT_KEY_TYPE="rsa" +DEFAULT_SERVICE_TYPE="email" + DEFAULT_DKIM_SELECTOR="" @@ -288,6 +290,7 @@ if $terminal ; then done + echo "" echo -e "\033[32m--\033[m" echo "" @@ -303,30 +306,6 @@ if $terminal ; then done - echo "" - echo -e "\033[32m--\033[m" - echo "" - echo -e " Insert DNS master server for domain \033[1m$DKIM_UPDATE_ZONE\033[m" - echo "" - echo "" - - if [[ -n "${DEFAULT_DNS_DKIM_ZONE_MASTER_SERVER}" ]] ; then - echononl " DNS master server [${DEFAULT_DNS_DKIM_ZONE_MASTER_SERVER}]: " - read DNS_DKIM_ZONE_MASTER_SERVER - if [[ "X$DNS_DKIM_ZONE_MASTER_SERVER" = "X" ]] ; then - DNS_DKIM_ZONE_MASTER_SERVER="${DEFAULT_DNS_DKIM_ZONE_MASTER_SERVER}" - fi - else - echononl " DNS master server: " - read DNS_DKIM_ZONE_MASTER_SERVER - while [[ "X$DNS_DKIM_ZONE_MASTER_SERVER" = "X" ]] ; do - echo -e "\n\t\033[33m\033[1mEingabe erforderlich.\033[m\n" - echononl " DNS master server: " - read KEY_SECRET - done - fi - - echo "" echo -e "\033[32m--\033[m" @@ -365,6 +344,75 @@ if $terminal ; then fi + echo "" + echo -e "\033[32m--\033[m" + echo "" + echo -e " Insert DNS master server for domain \033[1m$DKIM_UPDATE_ZONE\033[m" + echo "" + echo "" + + if [[ -n "${DEFAULT_DNS_DKIM_ZONE_MASTER_SERVER}" ]] ; then + echononl " DNS master server [${DEFAULT_DNS_DKIM_ZONE_MASTER_SERVER}]: " + read DNS_DKIM_ZONE_MASTER_SERVER + if [[ "X$DNS_DKIM_ZONE_MASTER_SERVER" = "X" ]] ; then + DNS_DKIM_ZONE_MASTER_SERVER="${DEFAULT_DNS_DKIM_ZONE_MASTER_SERVER}" + fi + else + echononl " DNS master server: " + read DNS_DKIM_ZONE_MASTER_SERVER + while [[ "X$DNS_DKIM_ZONE_MASTER_SERVER" = "X" ]] ; do + echo -e "\n\t\033[33m\033[1mEingabe erforderlich.\033[m\n" + echononl " DNS master server: " + read KEY_SECRET + done + fi + + + echo "" + echo -e "\033[32m--\033[m" + echo "" + echo " Specifies Service type (Flag 's=')" + echo "" + + if [[ "email" = "${DEFAULT_SERVICE_TYPE}" ]] ; then + echo -e " [1] \033[37m\033[1ms=email\033[m" + else + echo -e " [1] s=email" + fi + if [[ "*" = "${DEFAULT_SERVICE_TYPE}" ]] ; then + echo -e " [2] \033[37m\033[1ms=*\033[m" + else + echo -e " [2] s=*" + fi + if [[ "" = "${DEFAULT_SERVICE_TYPE}" ]] || [[ "none" = "${DEFAULT_SERVICE_TYPE,,}" ]]; then + echo -e " [3] \033[37m\033[1mDo not include flag for Service Type\033[m" + else + echo -e " [3] Do not include flag for Service Type" + fi + + echo "" + echo " Type a number or press to choose highlighted value" + echo "" + echononl " Service type [\033[37m\033[1m${DEFAULT_SERVICE_TYPE}\033[m]: " + + while [[ "$SERVICE_TYPE" != "email" ]] \ + && [[ "$SERVICE_TYPE" != "*" ]] \ + && [[ "$SERVICE_TYPE" != "None" ]] ; do + read OPTION + case $OPTION in + 1) SERVICE_TYPE="s=email" ;; + 2) SERVICE_TYPE="s=*" ;; + 3) SERVICE_TYPE="None" ;; + '') SERVICE_TYPE="${DEFAULT_SERVICE_TYPE}" ;; + *) echo "" + echo -e " \033[33m\033[1mFalsche Eingabe ! [ 1 = s=email | 2 = s=* | 3 Omit Service Type ]\033[m" + echo "" + echononl " Service type [\033[37m\033[1m${DEFAULT_SERVICE_TYPE}\033[m]:" + ;; + esac + done + + echo "" echo -e "\033[32m--\033[m" echo "" @@ -497,7 +545,11 @@ blank_line declare -i length_dkim_key=${#DKIM_KEY} -_intro="v=${DKIM_TYPE}; k=${KEY_TYPE}; p=" +if [[ "${SERVICE_TYPE,,}" = "none" ]] ; then + _intro="v=${DKIM_TYPE}; k=${KEY_TYPE};" +else + _intro="v=${DKIM_TYPE}; k=${KEY_TYPE}; s=${SERVICE_TYPE};" +fi declare -i length_intro=${#_intro} declare -i total_length=$((length_intro + length_dkim_key)) @@ -527,17 +579,20 @@ if [[ ${total_length} -gt 255 ]] ; then done echo_done - - txt_val="\"v=${DKIM_TYPE}; k=${KEY_TYPE}; s=email; p=\" ${p_val}" + # Note: + # !! closing quotation marks are already included !! + # + txt_val="\"${_intro} p=\" ${p_val}" else echo_skipped p_val="${DKIM_KEY}" - txt_val="\"${_intro}${p_val}\"" + txt_val="\"${_intro} p=${p_val}\"" fi + if $terminal ; then echo "" echo "" @@ -560,6 +615,12 @@ if $terminal ; then echo "" echo " DKIM Type........................: $DKIM_TYPE" echo " Key Type.........................: $KEY_TYPE" + if [[ "${SERVICE_TYPE,,}" = "none" ]] ; then + echo -e " Service Type.....................: \033[33m- Not set -\033[m" + else + echo " Service Type.....................: ${SERVICE_TYPE}" + fi + echo "" echo " DKIM Key.........................: $DKIM_KEY" echo -e " \033[1m----------\033[m" echo ""