Bug 1128853: Bugzilla shouldn't try to write API tokens into the shadow DB
r=dkl,a=glob git-svn-id: svn://10.0.0.236/trunk@265842 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
8462acd6c2
commit
0ee08720b9
@ -1 +1 @@
|
||||
9318
|
||||
9319
|
||||
@ -1 +1 @@
|
||||
f6686ca1edfe4a233c7f39836e265d466bda37b7
|
||||
b7147b778824e13a15f912fdf458bf3959d439e5
|
||||
@ -537,6 +537,11 @@ sub switch_to_main_db {
|
||||
return $class->dbh_main;
|
||||
}
|
||||
|
||||
sub is_shadow_db {
|
||||
my $class = shift;
|
||||
return $class->request_cache->{dbh} != $class->dbh_main;
|
||||
}
|
||||
|
||||
sub fields {
|
||||
my ($class, $criteria) = @_;
|
||||
$criteria ||= {};
|
||||
@ -942,6 +947,12 @@ Switch from using the main database to using the shadow database.
|
||||
|
||||
Change the database object to refer to the main database.
|
||||
|
||||
=item C<is_shadow_db>
|
||||
|
||||
Returns true if the currently active database is the shadow database.
|
||||
Returns false if a the currently active database is the man database, or if a
|
||||
shadow database is not configured or enabled.
|
||||
|
||||
=item C<params>
|
||||
|
||||
The current Parameters of Bugzilla, as a hashref. If C<data/params.json>
|
||||
|
||||
@ -432,6 +432,9 @@ sub _create_token {
|
||||
trick_taint($tokentype);
|
||||
trick_taint($eventdata);
|
||||
|
||||
my $is_shadow = Bugzilla->is_shadow_db;
|
||||
$dbh = Bugzilla->switch_to_main_db() if $is_shadow;
|
||||
|
||||
$dbh->bz_start_transaction();
|
||||
|
||||
my $token = GenerateUniqueToken();
|
||||
@ -444,8 +447,10 @@ sub _create_token {
|
||||
if (wantarray) {
|
||||
my (undef, $token_ts, undef) = GetTokenData($token);
|
||||
$token_ts = str2time($token_ts);
|
||||
Bugzilla->switch_to_shadow_db() if $is_shadow;
|
||||
return ($token, $token_ts);
|
||||
} else {
|
||||
Bugzilla->switch_to_shadow_db() if $is_shadow;
|
||||
return $token;
|
||||
}
|
||||
}
|
||||
|
||||
@ -55,6 +55,7 @@
|
||||
[% PROCESS global/header.html.tmpl
|
||||
title = current_tab.label
|
||||
subheader = filtered_login
|
||||
generate_api_token = 1
|
||||
style_urls = ['skins/standard/admin.css']
|
||||
javascript_urls = ['js/util.js', 'js/field.js', 'js/TUI.js']
|
||||
doc_section = current_tab.doc_section
|
||||
|
||||
@ -14,6 +14,7 @@
|
||||
[% title = BLOCK %]Add component to the [% product.name FILTER html %] product[% END %]
|
||||
[% PROCESS global/header.html.tmpl
|
||||
title = title
|
||||
generate_api_token = 1
|
||||
style_urls = ['skins/standard/admin.css']
|
||||
yui = [ 'autocomplete' ]
|
||||
javascript_urls = [ "js/field.js" ]
|
||||
|
||||
@ -18,6 +18,7 @@
|
||||
[% END %]
|
||||
[% PROCESS global/header.html.tmpl
|
||||
title = title
|
||||
generate_api_token = 1
|
||||
style_urls = ['skins/standard/admin.css']
|
||||
yui = [ 'autocomplete' ]
|
||||
javascript_urls = [ "js/field.js" ]
|
||||
|
||||
@ -17,6 +17,7 @@
|
||||
|
||||
[% PROCESS global/header.html.tmpl
|
||||
title = title
|
||||
generate_api_token = 1
|
||||
style_urls = ['skins/standard/admin.css']
|
||||
javascript_urls = ['js/util.js', 'js/field.js']
|
||||
yui = [ 'autocomplete' ]
|
||||
|
||||
@ -8,6 +8,7 @@
|
||||
|
||||
[% PROCESS global/header.html.tmpl
|
||||
title = "Begin sudo session"
|
||||
generate_api_token = 1
|
||||
style_urls = ['skins/standard/admin.css']
|
||||
doc_section = "administering/users.html#impersonating-users"
|
||||
%]
|
||||
|
||||
@ -16,6 +16,7 @@
|
||||
title = title
|
||||
header = header
|
||||
subheader = subheader
|
||||
generate_api_token = 1
|
||||
style_urls = ['skins/standard/bug.css']
|
||||
yui = [ 'autocomplete' ]
|
||||
javascript_urls = [ "js/attachment.js", 'js/field.js', "js/util.js", "js/TUI.js" ]
|
||||
|
||||
@ -21,6 +21,7 @@
|
||||
title = title
|
||||
header = header
|
||||
subheader = subheader
|
||||
generate_api_token = 1
|
||||
doc_section = "using/editing.html#attachments"
|
||||
javascript_urls = ['js/attachment.js', 'js/field.js']
|
||||
style_urls = ['skins/standard/bug.css']
|
||||
|
||||
@ -11,6 +11,7 @@
|
||||
|
||||
[% PROCESS global/header.html.tmpl
|
||||
title = title
|
||||
generate_api_token = 1
|
||||
yui = [ 'autocomplete', 'calendar', 'datatable', 'button' ]
|
||||
style_urls = ['skins/standard/bug.css']
|
||||
javascript_urls = [ "js/attachment.js", "js/util.js",
|
||||
|
||||
@ -23,6 +23,7 @@
|
||||
[% title = title _ "($filtered_alias) " %]
|
||||
[% END %]
|
||||
[% title = title _ filtered_desc %]
|
||||
[% generate_api_token = 1 %]
|
||||
[% yui = ['autocomplete', 'calendar'] %]
|
||||
[% yui.push('container') IF user.can_tag_comments %]
|
||||
[% javascript_urls = [ "js/util.js", "js/field.js", "js/comments.js" ] %]
|
||||
|
||||
@ -20,6 +20,7 @@
|
||||
# style_urls: list. List of URLs to CSS style sheets.
|
||||
# message: string. A message to display to the user. May contain HTML.
|
||||
# atomlink: Atom link URL, May contain HTML
|
||||
# generate_api_token: generate a token which can be used to make authenticated webservice calls
|
||||
#%]
|
||||
|
||||
[% IF message %]
|
||||
@ -37,6 +38,7 @@
|
||||
no_yui = 0
|
||||
jquery = []
|
||||
jquery_css = []
|
||||
generate_api_token = 0
|
||||
%]
|
||||
|
||||
[% IF NOT no_yui %]
|
||||
@ -206,7 +208,7 @@
|
||||
version_required:
|
||||
"You must select a Version for this [% terms.bug %]."
|
||||
}
|
||||
[% IF javascript_urls.containsany(['js/bug.js', 'js/field.js', 'js/comment-tagging.js']) %]
|
||||
[% IF generate_api_token %]
|
||||
, api_token: '[% get_api_token FILTER js FILTER html %]'
|
||||
[% END %]
|
||||
};
|
||||
|
||||
@ -59,6 +59,7 @@
|
||||
|
||||
[% PROCESS global/header.html.tmpl
|
||||
title = title
|
||||
generate_api_token = dotweak
|
||||
atomlink = "buglist.cgi?$urlquerypart&title=$title&ctype=atom"
|
||||
yui = [ 'autocomplete', 'calendar' ]
|
||||
javascript_urls = [ "js/util.js", "js/field.js", "js/TUI.js" ]
|
||||
|
||||
@ -11,6 +11,7 @@
|
||||
|
||||
[% PROCESS global/header.html.tmpl
|
||||
title="Request Queue"
|
||||
generate_api_token = 1
|
||||
onload="var f = document.request_form; selectProduct(f.product, f.component, null, null, 'Any');"
|
||||
javascript_urls=["js/productform.js", "js/field.js"]
|
||||
style_urls = ['skins/standard/buglist.css']
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user