From c94abb0445d015c1bffcd7207eac6fd9a3a8371b Mon Sep 17 00:00:00 2001 From: David Lawrence Date: Tue, 22 Dec 2015 20:57:02 +0000 Subject: Revert "Bug 1230932 - Providing a condition as an ID to the webservice results in a taint error" This reverts commit eb1357fe03bb47cdd479cf533022e11dd6bd22e0. --- Bugzilla/API/1_0/Constants.pm | 2 -- Bugzilla/API/1_0/Util.pm | 23 ++++++++++++++++++++++- 2 files changed, 22 insertions(+), 3 deletions(-) (limited to 'Bugzilla/API') diff --git a/Bugzilla/API/1_0/Constants.pm b/Bugzilla/API/1_0/Constants.pm index f90b31177..44e20124a 100644 --- a/Bugzilla/API/1_0/Constants.pm +++ b/Bugzilla/API/1_0/Constants.pm @@ -68,8 +68,6 @@ use constant WS_ERROR_CODE => { number_too_large => 54, number_too_small => 55, illegal_date => 56, - param_integer_required => 57, - param_integer_array_required => 58, # Bug errors usually occupy the 100-200 range. improper_bug_id_field_value => 100, bug_id_does_not_exist => 101, diff --git a/Bugzilla/API/1_0/Util.pm b/Bugzilla/API/1_0/Util.pm index 3fcf28cdf..d22935f6e 100644 --- a/Bugzilla/API/1_0/Util.pm +++ b/Bugzilla/API/1_0/Util.pm @@ -22,7 +22,6 @@ use MIME::Base64 qw(decode_base64 encode_base64); use Storable qw(dclone); use Test::Taint (); use URI::Escape qw(uri_unescape); -use Bugzilla::WebService::Util qw(validate); use parent qw(Exporter); @@ -242,6 +241,28 @@ sub api_include_exclude { return $params; } +sub validate { + my ($self, $params, @keys) = @_; + + # If $params is defined but not a reference, then we weren't + # sent any parameters at all, and we're getting @keys where + # $params should be. + return ($self, undef) if (defined $params and !ref $params); + + # If @keys is not empty then we convert any named + # parameters that have scalar values to arrayrefs + # that match. + foreach my $key (@keys) { + if (exists $params->{$key}) { + $params->{$key} = ref $params->{$key} + ? $params->{$key} + : [ $params->{$key} ]; + } + } + + return ($self, $params); +} + sub translate { my ($params, $mapped) = @_; my %changes; -- cgit v1.2.3-24-g4f1b