X-Git-Url: https://iankelling.org/git/?p=distro-setup;a=blobdiff_plain;f=mailtest-check;h=7adec9281f094932ae30efee2651bbf3f65ac8cd;hp=42245111248bf7e68f2151345ac373e59132c5c7;hb=HEAD;hpb=9ac513d1086f22a8dede2ebe3ca0236443bdc429 diff --git a/mailtest-check b/mailtest-check index 4224511..856d774 100755 --- a/mailtest-check +++ b/mailtest-check @@ -1,14 +1,35 @@ #!/bin/bash +# I, Ian Kelling, follow the GNU license recommendations at +# https://www.gnu.org/licenses/license-recommendations.en.html. They +# recommend that small programs, < 300 lines, be licensed under the +# Apache License 2.0. This file contains or is part of one or more small +# programs. If a small program grows beyond 300 lines, I plan to switch +# its license to GPL. -# Usage: mail-test-check [slow] [anything] +# Copyright 2024 Ian Kelling + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# Usage: mail-test-check [slow] [int|nonint] # # slow: do slow checks, like spamassassin # -# anything: consider non-interactive, dont print unless something went +# for non-interactive, dont print unless something went # wrong -source /b/errhandle/err +source /b/bash-bear-trap/bash-bear [[ $EUID == 0 ]] || exec sudo -E "${BASH_SOURCE[0]}" "$@" @@ -19,7 +40,7 @@ e() { $int || return 0; printf "mailtest-check: %s\n" "$*"; } getspamdpid() { if [[ ! $spamdpid || ! -d /proc/$spamdpid ]]; then # try twice in case we are restarting, it happens. - for i in 1 2; do + for (( i=0; i<2; i++ )); do spamdpid=$(systemctl show --property MainPID --value spamassassin | sed 's/^[10]$//' ||:) if [[ $spamdpid ]]; then break @@ -88,7 +109,7 @@ main() { ;; *) folders=(/m/md/l/testignore) - froms=(testignore@je.b8.nz testignore@expertpathologyreview.com testignore@amnimal.ninja ian@iankelling.org z@zroe.org iank@gnu.org) + froms=(testignore@je.b8.nz testignore@expertpathologyreview.com testignore@amnimal.ninja ian@iankelling.org z@zroe.org) if ! $int; then ### begin rsyncing fencepost email ### # We dont want to exit if rsync fails, that will get caught by @@ -145,7 +166,7 @@ EOF for folder in ${folders[@]}; do for from in ${froms[@]}; do declare -i missing_dnswl=0 - declare -i dnsfail=0 + #declare -i dnsfail=0 declare -i unexpected=0 latest= last_sec=0 @@ -257,13 +278,13 @@ EOF # echo mailtest-check: cat $latest: # cat $latest # echo mailtest-check: end of cat - # echo "$(tput setaf 5 2>/dev/null ||:)█$(tput sgr0 2>/dev/null||:)%.0s" $(eval echo "{1..${COLUMNS:-60}}") #fi fi rm -f $resultfile for r in ${results[@]}; do case $r in - # iank: for when we want to handle dns errors differently + # iank: for when we want to handle dns errors differently. + # also uncomment declaration of dnsfail above. # DKIM_INVALID|T_SPF_TEMPERROR|T_SPF_HELO_TEMPERROR) # dnsfail+=1 # ;;