From fc7deda58ae54b1c274dc2a3c52a957bf30f8163 Mon Sep 17 00:00:00 2001 From: pvincent Date: Fri, 20 Mar 2026 14:56:56 +0400 Subject: [PATCH] fix_dkim_global_on --- .vscode/settings.json | 7 ++++- sympa/miaou/miaou-install-from-import-sympa | 30 ++++++++++++-------- sympa/recipe/sympa_fix_dkim_global_on.recipe | 27 ++++++++++++++++++ 3 files changed, 51 insertions(+), 13 deletions(-) create mode 100644 sympa/recipe/sympa_fix_dkim_global_on.recipe diff --git a/.vscode/settings.json b/.vscode/settings.json index 6337433..63d37e2 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -18,5 +18,10 @@ "**/*.md", "**/sympa/miaou/*", "**/*.sh" - ] + ], + "bashIde.shfmt.simplifyCode": true, + "bashIde.shfmt.spaceRedirects": true, + "bashIde.shfmt.languageDialect": "bash", + "bashIde.shfmt.binaryNextLine": true, + "bashIde.shfmt.caseIndent": true } \ No newline at end of file diff --git a/sympa/miaou/miaou-install-from-import-sympa b/sympa/miaou/miaou-install-from-import-sympa index e30379a..2390362 100755 --- a/sympa/miaou/miaou-install-from-import-sympa +++ b/sympa/miaou/miaou-install-from-import-sympa @@ -15,18 +15,18 @@ function usage { function parse_options { while [[ $# -gt 0 ]]; do case "$1" in - --help | -h) - usage && exit 0 - ;; - *) - if [[ -z $CONTAINER ]]; then - CONTAINER=$1 - elif [[ -z $IMPORT_FILE ]]; then - IMPORT_FILE=$1 - else - echo >&2 "Unknown option: $1" && usage && exit 2 - fi - ;; + --help | -h) + usage && exit 0 + ;; + *) + if [[ -z $CONTAINER ]]; then + CONTAINER=$1 + elif [[ -z $IMPORT_FILE ]]; then + IMPORT_FILE=$1 + else + echo >&2 "Unknown option: $1" && usage && exit 2 + fi + ;; esac shift 1 # Move to the next argument @@ -52,6 +52,11 @@ function fix_dmarc_off { miaou-recipe "$CONTAINER" "$BASEDIR"/../recipe/sympa_fix_dmarc_off.recipe } +function fix_dkim_global_on { + echo 'fix dkim global on...' + miaou-recipe "$CONTAINER" "$BASEDIR"/../recipe/sympa_fix_dkim_global_on.recipe +} + # MAIN set -Eue @@ -67,4 +72,5 @@ echo "launch the import process" miaou-exec $CONTAINER -- /opt/miaou-sympa/tools/sympa_import.bash "/root/$import_base" fix_dmarc_off +fix_dkim_global_on install_fake_additional diff --git a/sympa/recipe/sympa_fix_dkim_global_on.recipe b/sympa/recipe/sympa_fix_dkim_global_on.recipe new file mode 100644 index 0000000..55903c5 --- /dev/null +++ b/sympa/recipe/sympa_fix_dkim_global_on.recipe @@ -0,0 +1,27 @@ +#!/usr/bin/env miaou-recipe + +# CONSTANTS + +GLOBAL_CONF=/etc/sympa/sympa/sympa.conf + +# FUNCTIONS + +function fix_dkim_global_on { + if ! grep -q "^dkim_feature[[:space:]]*on" $GLOBAL_CONF; then + local sympa_domain=$(grep '^domain' "$GLOBAL_CONF" | cut -f2) + /opt/miaou-bash/tools/append_or_replace "^dkim_feature.*$" 'dkim_feature on' $GLOBAL_CONF + /opt/miaou-bash/tools/append_or_replace "^dkim_signature_apply_on.*$" 'dkim_signature_apply_on any' $GLOBAL_CONF + /opt/miaou-bash/tools/append_or_replace "^dkim_parameters.private_key_path.*$" 'dkim_parameters.private_key_path /etc/dkimkeys/mail.private' $GLOBAL_CONF + /opt/miaou-bash/tools/append_or_replace "^dkim_parameters.selector.*$" 'dkim_parameters.selector mail' $GLOBAL_CONF + /opt/miaou-bash/tools/append_or_replace "^dkim_parameters.signer_domain.*$" "dkim_parameters.signer_domain $sympa_domain" $GLOBAL_CONF + systemctl restart wwsympa.socket + echo 'dkim feature now enabled' + else + echo 'dkim feature already enabled globally!' + fi +} + +# MAIN + +set -Eue +fix_dkim_global_on