host info updates
[distro-setup] / mailtest-check
index b2e02c3112e06a32c7fd0864b2f30e621190155c..856d774d32a82995fa93f31efdc17a46e9218ab5 100755 (executable)
@@ -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
@@ -262,7 +283,8 @@ EOF
           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
               #   ;;