X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~webstump/git?a=blobdiff_plain;f=probes%2Fmodrelays-probe;h=6245c82804543dde67dafb66600b4019b00048d9;hb=1693310a7b5ac90902b9aa88235e7143cdcc3bc8;hp=79e8ab7f5f4b0d10f13795ec888bb0ec11e0b3c9;hpb=e63a420fedde3ff2f6980546b2f927ad83f21ad2;p=modbot-ulm.git diff --git a/probes/modrelays-probe b/probes/modrelays-probe index 79e8ab7..6245c82 100755 --- a/probes/modrelays-probe +++ b/probes/modrelays-probe @@ -31,9 +31,9 @@ compute-td () { # caller must "local td", which will be set local probeid=$1 - probeid="$domain,${probeid//[^-=.,_0-9A-Za-z]/%/},$id" + probeid="$domain,${probeid//[^-=:.,_0-9A-Za-z]/%},$id" case $probeid in - .*|*/*) fail "yikes, sanitisation bug!" ;; + .*|*/*) fail "yikes, sanitisation bug ($probeid) !" ;; esac td="$statedir/$probeid" @@ -358,6 +358,9 @@ mode_received () { while read hn group id domain mx addr; do if [ x"$hn" != x"X-WebSTUMP-Relay-Probe:" ]; then continue; fi if [ x"$group" != x"$GROUP" ]; then continue; fi + case " $id $domain $mx $addr" in + */*|' '.*) fail "bad syntax" ;; + esac local td compute-td "mx=$mx,addr=$addr" >"$td/ok" ||: