From 2c3a83913a61f3d81020db658a5679741661d7ca Mon Sep 17 00:00:00 2001 From: Dylan Hardison Date: Fri, 13 Nov 2015 10:59:28 -0500 Subject: Bug 1209625 - MozReview API Keys should use a more specific error message --- Bugzilla/WebService/Server.pm | 10 +--------- extensions/MozReview/Extension.pm | 2 +- .../en/default/hook/global/user-error-errors.html.tmpl | 11 +++++++++++ 3 files changed, 13 insertions(+), 10 deletions(-) create mode 100644 extensions/MozReview/template/en/default/hook/global/user-error-errors.html.tmpl diff --git a/Bugzilla/WebService/Server.pm b/Bugzilla/WebService/Server.pm index ba05a64e8..d1e17a950 100644 --- a/Bugzilla/WebService/Server.pm +++ b/Bugzilla/WebService/Server.pm @@ -22,10 +22,8 @@ use Bugzilla::Error; use Bugzilla::Util qw(datetime_from); use Digest::MD5 qw(md5_base64); -use Encode; use Scalar::Util qw(blessed); use Storable qw(freeze); -use Sys::Syslog qw(:DEFAULT); sub handle_login { my ($self, $class, $method, $full_method) = @_; @@ -38,13 +36,7 @@ sub handle_login { } eval "require $class"; - my $error = $@; - if ($error) { - openlog('apache', 'cons,pid', 'local4'); - syslog('notice', '[rpc_error] ' . encode_utf8($error)); - closelog(); - } - ThrowCodeError('unknown_method', {method => $full_method}) if $error; + ThrowCodeError('unknown_method', {method => $full_method}) if $@; return if ($class->login_exempt($method) and !defined Bugzilla->input_params->{Bugzilla_login}); Bugzilla->login(); diff --git a/extensions/MozReview/Extension.pm b/extensions/MozReview/Extension.pm index f16c6008b..621e81f43 100644 --- a/extensions/MozReview/Extension.pm +++ b/extensions/MozReview/Extension.pm @@ -100,7 +100,7 @@ sub webservice_before_call { my $app_id = $getter->app_id; if ($app_id eq $mozreview_app_id) { unless (any { $full_method eq $_ } @METHOD_WHITELIST) { - ThrowCodeError('unknown_method', { method => $full_method }); + ThrowUserError('forbidden_method', { method => $full_method }); } } } diff --git a/extensions/MozReview/template/en/default/hook/global/user-error-errors.html.tmpl b/extensions/MozReview/template/en/default/hook/global/user-error-errors.html.tmpl new file mode 100644 index 000000000..4599b8398 --- /dev/null +++ b/extensions/MozReview/template/en/default/hook/global/user-error-errors.html.tmpl @@ -0,0 +1,11 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% IF error == "forbidden_method" %] + The requested method '[% method FILTER html %]' is not allowed to be called using the current API Key. +[% END %] -- cgit v1.2.3-24-g4f1b