From: Ian Jackson Date: Tue, 10 Oct 2017 15:50:55 +0000 (+0100) Subject: probes: fixes X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~webstump/git?p=modbot-ulm.git;a=commitdiff_plain;h=1693310a7b5ac90902b9aa88235e7143cdcc3bc8 probes: fixes --- diff --git a/crontab.part.INO b/crontab.part.INO index 5bb1643..dc6fa01 100644 --- a/crontab.part.INO +++ b/crontab.part.INO @@ -7,5 +7,5 @@ 51 7 12 * * savelog -p live-%ABBREV%/errs 52 7 12 * * savelog -p live-%ABBREV%/webstump/log/webstump.log 53 7 * * 1 find live-%ABBREV%/xlog/log/%GROUP%/public -mtime +14 -type f -print0 | xargs -r0 rm -- -42 * * * * cd %BASEDIR% && probes/modrelays-probe all +51 * * * * cd %BASEDIR% && probes/modrelays-probe all 3-59/5 * * * * cd %BASEDIR% && probes/modrelays-probe report 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" ||: