diff options
author | Dave Lawrence <dlawrence@mozilla.com> | 2013-09-26 17:10:35 +0200 |
---|---|---|
committer | Dave Lawrence <dlawrence@mozilla.com> | 2013-09-26 17:10:35 +0200 |
commit | 4180e54e7b2c2a147954425312bf1cd485b14d24 (patch) | |
tree | 09e9a938e21d5ea1d2b267cdb8131d071212a11b /Bugzilla/Util.pm | |
parent | 69016099b3a2ae057f5e33ec30545a8209589446 (diff) | |
download | bugzilla-4180e54e7b2c2a147954425312bf1cd485b14d24.tar.gz bugzilla-4180e54e7b2c2a147954425312bf1cd485b14d24.tar.xz |
Bug 917669 - invalid or expired authentication tokens and cookies should throw errors, not be silently ignored
Diffstat (limited to 'Bugzilla/Util.pm')
-rw-r--r-- | Bugzilla/Util.pm | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/Bugzilla/Util.pm b/Bugzilla/Util.pm index 96dad8327..51bfdb1d3 100644 --- a/Bugzilla/Util.pm +++ b/Bugzilla/Util.pm @@ -36,8 +36,8 @@ use base qw(Exporter); detaint_signed html_quote url_quote xml_quote css_class_quote html_light_quote - i_am_cgi correct_urlbase remote_ip validate_ip - do_ssl_redirect_if_required use_attachbase + i_am_cgi i_am_webservice correct_urlbase remote_ip + validate_ip do_ssl_redirect_if_required use_attachbase diff_arrays on_main_db trim wrap_hard wrap_comment find_wrap_point format_time validate_date validate_time datetime_from @@ -259,6 +259,13 @@ sub i_am_cgi { return exists $ENV{'SERVER_SOFTWARE'} ? 1 : 0; } +sub i_am_webservice { + my $usage_mode = Bugzilla->usage_mode; + return $usage_mode == USAGE_MODE_XMLRPC + || $usage_mode == USAGE_MODE_JSON + || $usage_mode == USAGE_MODE_REST; +} + # This exists as a separate function from Bugzilla::CGI::redirect_to_https # because we don't want to create a CGI object during XML-RPC calls # (doing so can mess up XML-RPC). @@ -849,6 +856,7 @@ Bugzilla::Util - Generic utility functions for bugzilla # Functions that tell you about your environment my $is_cgi = i_am_cgi(); + my $is_webservice = i_am_webservice(); my $urlbase = correct_urlbase(); # Data manipulation @@ -978,6 +986,11 @@ Tells you whether or not you are being run as a CGI script in a web server. For example, it would return false if the caller is running in a command-line script. +=item C<i_am_webservice()> + +Tells you whether or not the current usage mode is WebServices related +such as JSONRPC, XMLRPC, or REST. + =item C<correct_urlbase()> Returns either the C<sslbase> or C<urlbase> parameter, depending on the |