X-Git-Url: https://git.exim.org/buildfarm-server.git/blobdiff_plain/cc68e1cd52cb582c879e2777ee889f60f9af3f86..ec2bcb4768cc662362eb942ec52af9fe1046afaa:/cgi-bin/register.pl diff --git a/cgi-bin/register.pl b/cgi-bin/register.pl index 1e3aba4..80663b6 100755 --- a/cgi-bin/register.pl +++ b/cgi-bin/register.pl @@ -13,12 +13,12 @@ use DBI; use Template; use CGI; use Template; -use Captcha::reCAPTCHA; use vars qw($dbhost $dbname $dbuser $dbpass $dbport $notifyapp - $captcha_pubkey $captcha_privkey $template_dir $default_host); + $template_dir $default_host); -require "$ENV{BFConfDir}/BuildFarmWeb.pl"; +use FindBin qw($RealBin); +require "$RealBin/../BuildFarmWeb.pl"; my $dsn="dbi:Pg:dbname=$dbname"; $dsn .= ";host=$dbhost" if $dbhost; @@ -30,22 +30,18 @@ my $query = new CGI; my $params = $query->Vars; -my ($os, $osv, $comp, $compv, $arch, $email, $owner, $challenge, $response ) = - @{$params}{ - qw(os osv comp compv arch email owner recaptcha_challenge_field - recaptcha_response_field)}; - -my $captcha = Captcha::reCAPTCHA->new; -my $captcha_ok = $captcha->check_answer - ( - $captcha_privkey, - $ENV{'REMOTE_ADDR'}, - $challenge, $response - ); +my ($os, $osv, $comp, $compv, $arch, $email, $owner, $arg1, $arg2, $argop, $res ) = + @{$params}{qw(os osv comp compv arch email owner arg1 arg2 op res)}; +$argop = '-' if !$argop or $argop ne '+'; +$arg1 = int($arg1 || 0); +$arg2 = int($arg2 || 0); +$res = int($res || 0); +my $captcha_ok = ($arg1 and $argop and $arg2 and $res + and int(eval "$arg1 $argop $arg2") == $res) ? 1 : 0; unless ($os && $osv && $comp && $compv && $arch && $email && $owner && - $captcha_ok->{is_valid}) + $captcha_ok) { print "Content-Type: text/html\n\n"; $template->process('register-incomplete.tt'); @@ -162,9 +158,3 @@ print $fh "\n\nName: $dummyname\n", "Comp: $comp: $compv\n", "Owner: $owner <$email>\n"; $fh->close; - - - - - -