From 7fd3d67ff30e8f23c09db13b82121990e58ba7f5 Mon Sep 17 00:00:00 2001 From: Badlop Date: Mon, 23 Nov 2009 12:43:15 +0000 Subject: Change captcha.sh to not depend on bash (thanks to Konstantin Khomoutov)(EJAB-1105) SVN Revision: 2749 --- tools/captcha.sh | 87 +++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 61 insertions(+), 26 deletions(-) (limited to 'tools/captcha.sh') diff --git a/tools/captcha.sh b/tools/captcha.sh index d68edfa03..560a048ad 100755 --- a/tools/captcha.sh +++ b/tools/captcha.sh @@ -1,35 +1,70 @@ -#!/bin/bash +#!/bin/sh INPUT=$1 -WAVE1_AMPLITUDE=$((2 + $RANDOM % 5)) -WAVE1_LENGTH=$((50 + $RANDOM % 25)) -WAVE2_AMPLITUDE=$((2 + $RANDOM % 5)) -WAVE2_LENGTH=$((50 + $RANDOM % 25)) -WAVE3_AMPLITUDE=$((2 + $RANDOM % 5)) -WAVE3_LENGTH=$((50 + $RANDOM % 25)) -W1_LINE_START_Y=$((10 + $RANDOM % 40)) -W1_LINE_STOP_Y=$((10 + $RANDOM % 40)) -W2_LINE_START_Y=$((10 + $RANDOM % 40)) -W2_LINE_STOP_Y=$((10 + $RANDOM % 40)) -W3_LINE_START_Y=$((10 + $RANDOM % 40)) -W3_LINE_STOP_Y=$((10 + $RANDOM % 40)) +if test -n ${BASH_VERSION:-''} ; then + get_random () + { + R=$RANDOM + } +else + for n in `od -A n -t u2 -N 48 /dev/urandom`; do RL="$RL$n "; done + get_random () + { + R=${RL%% *} + RL=${RL#* } + } +fi -B1_LINE_START_Y=$(($RANDOM % 40)) -B1_LINE_STOP_Y=$(($RANDOM % 40)) -B2_LINE_START_Y=$(($RANDOM % 40)) -B2_LINE_STOP_Y=$(($RANDOM % 40)) -#B3_LINE_START_Y=$(($RANDOM % 40)) -#B3_LINE_STOP_Y=$(($RANDOM % 40)) +get_random +WAVE1_AMPLITUDE=$((2 + $R % 5)) +get_random +WAVE1_LENGTH=$((50 + $R % 25)) +get_random +WAVE2_AMPLITUDE=$((2 + $R % 5)) +get_random +WAVE2_LENGTH=$((50 + $R % 25)) +get_random +WAVE3_AMPLITUDE=$((2 + $R % 5)) +get_random +WAVE3_LENGTH=$((50 + $R % 25)) +get_random +W1_LINE_START_Y=$((10 + $R % 40)) +get_random +W1_LINE_STOP_Y=$((10 + $R % 40)) +get_random +W2_LINE_START_Y=$((10 + $R % 40)) +get_random +W2_LINE_STOP_Y=$((10 + $R % 40)) +get_random +W3_LINE_START_Y=$((10 + $R % 40)) +get_random +W3_LINE_STOP_Y=$((10 + $R % 40)) -B1_LINE_START_X=$(($RANDOM % 20)) -B1_LINE_STOP_X=$((100 + $RANDOM % 40)) -B2_LINE_START_X=$(($RANDOM % 20)) -B2_LINE_STOP_X=$((100 + $RANDOM % 40)) -#B3_LINE_START_X=$(($RANDOM % 20)) -#B3_LINE_STOP_X=$((100 + $RANDOM % 40)) +get_random +B1_LINE_START_Y=$(($R % 40)) +get_random +B1_LINE_STOP_Y=$(($R % 40)) +get_random +B2_LINE_START_Y=$(($R % 40)) +get_random +B2_LINE_STOP_Y=$(($R % 40)) +#B3_LINE_START_Y=$(($R % 40)) +#B3_LINE_STOP_Y=$(($R % 40)) -ROLL_X=$(($RANDOM % 40)) +get_random +B1_LINE_START_X=$(($R % 20)) +get_random +B1_LINE_STOP_X=$((100 + $R % 40)) +get_random +B2_LINE_START_X=$(($R % 20)) +get_random +B2_LINE_STOP_X=$((100 + $R % 40)) +#B3_LINE_START_X=$(($R % 20)) +#B3_LINE_STOP_X=$((100 + $R % 40)) + +get_random +ROLL_X=$(($R % 40)) convert -size 180x60 xc:none -pointsize 40 \ \( -clone 0 -fill white \ -- cgit v1.2.3