From 2844d93e6113d65347f79c9004326d98d1663d49 Mon Sep 17 00:00:00 2001 From: "zach%zachlipton.com" Date: Wed, 15 Aug 2007 20:14:47 +0000 Subject: [PATCH] Fix broken XML result submission, allow users to submit non-automated results through the xml interface without an auth key but with a password git-svn-id: svn://10.0.0.236/trunk@232159 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/webtools/litmus/Litmus/XML.pm | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/mozilla/webtools/litmus/Litmus/XML.pm b/mozilla/webtools/litmus/Litmus/XML.pm index 654b76ef027..f719b9741da 100755 --- a/mozilla/webtools/litmus/Litmus/XML.pm +++ b/mozilla/webtools/litmus/Litmus/XML.pm @@ -310,7 +310,7 @@ sub validateResults { } my @locales = Litmus::DB::Locale->search( - locale => $self->{'sysconfig'}->{'locale'}); + abbrev => $self->{'sysconfig'}->{'locale'}->string_value()); unless ($locales[0]) { $self->respErrFatal("Invalid locale: ".$self->{'sysconfig'}->{'locale'}); return 0; @@ -403,11 +403,17 @@ sub authenticate { unless ($user) { $self->respErrFatal("User does not exist"); return 0 } unless ($user->enabled()) { $self->respErrFatal("User disabled"); return 0 } + + # allow results if the user specifies a password with + # their request + if (Litmus::Auth::checkPassword($user, $self->{'user'}->{'token'}->string_value()) == 1) { + return 1; + } - if ($user->authtoken() ne $self->{'user'}->{'token'}) { - $self->respErrFatal("Invalid authentication token for user " . - $self->{'user'}->{'username'}); - return 0; + if ($user->authtoken() ne $self->{'user'}->{'token'}->string_value()) { + $self->respErrFatal("Invalid authentication token for user " . + $self->{'user'}->{'username'}); + return 0; } return 1; }