| 1 | #! /bin/sh |
| 2 | |
| 3 | set -e |
| 4 | kind=${1?kind} |
| 5 | tail=${2?tail} |
| 6 | sender=${3?sender} |
| 7 | |
| 8 | ##bad () { echo "-$*"; exit 0; } |
| 9 | bad () { |
| 10 | echo "consider reject to $kind:$tail from $sender ($*)" >>addrcheck.log |
| 11 | echo "+just this once" |
| 12 | exit 0 |
| 13 | } |
| 14 | |
| 15 | entry=`cdb -q groups.cdb "$kind:$tail"` || bad "bad tag $tail" |
| 16 | set -- $entry |
| 17 | case $kind in |
| 18 | g) |
| 19 | SENDER=$sender check-sender <auth.cdb 2>/dev/null || |
| 20 | bad "invalid sender $sender" |
| 21 | ;; |
| 22 | t) |
| 23 | case "$sender" in $4) ;; *) bad "incorrect sender $sender" ;; esac |
| 24 | ;; |
| 25 | esac |
| 26 | echo +ok |