X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/newsgate/blobdiff_plain/70d89fa099c21266717fb426504bb81a4888ae98..b86d430e1833a0b469a108efdf92a1dee99519d1:/bin/addrcheck diff --git a/bin/addrcheck b/bin/addrcheck index ca6f3fb..3a3c533 100755 --- a/bin/addrcheck +++ b/bin/addrcheck @@ -3,8 +3,26 @@ set -e kind=${1?kind} tail=${2?tail} -if cdb -q groups.cdb "$kind:$tail" >/dev/null 2>&1; then - echo + -else - echo "-bad tag $tail" -fi +sender=${3?sender} + +##bad () { echo "-$*"; exit 0; } +bad () { + echo "consider reject to $kind:$tail from $sender ($*)" >>addrcheck.log" + echo "+just this once" + exit 0 +} + +entry=`cdb -q groups.cdb "$kind:$tail"` || bad "bad tag $tail" +set -- $entry +case $kind in + g) + SENDER=$sender check-sender /dev/null || + bad "invalid sender $sender" + ;; + t) + echo $sender + echo "$4" + case "$sender" in $4) ;; *) bad "incorrect sender $sender" ;; esac + ;; +esac +echo +