This is an automated email from the ASF dual-hosted git repository.
gcruz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/allura.git
The following commit(s) were added to refs/heads/master by this push:
new a158f3c04 Change _session_id cookie for _csrf_token
a158f3c04 is described below
commit a158f3c04510d77454622304d313665824f3ab0c
Author: Daniel Castillo <[email protected]>
AuthorDate: Wed Apr 16 21:15:51 2025 +0000
Change _session_id cookie for _csrf_token
---
Allura/allura/config/middleware.py | 2 +-
.../allura/ext/admin/templates/project_trove.html | 12 +-
Allura/allura/lib/widgets/forms.py | 6 +-
Allura/allura/lib/widgets/resources/js/post.js | 6 +-
.../allura/lib/widgets/resources/js/reactions.js | 2 +-
.../allura/lib/widgets/resources/js/screenshots.js | 2 +-
.../allura/lib/widgets/resources/js/sf_markitup.js | 4 +-
.../lib/widgets/resources/js/subscriptions.js | 4 +-
Allura/allura/lib/widgets/resources/js/vote.js | 4 +-
Allura/allura/public/nf/js/admin_modal.js | 6 +-
Allura/allura/public/nf/js/allura-base.js | 2 +-
Allura/allura/public/nf/js/navbar.es6.js | 6 +-
Allura/allura/public/nf/js/phone-verification.js | 4 +-
Allura/allura/public/nf/js/project_groups.js | 12 +-
.../allura/templates/app_admin_webhooks_list.html | 4 +-
Allura/allura/templates/jinja_master/lib.html | 4 +-
.../site_admin_site_notifications_list.html | 2 +-
Allura/allura/templates/widgets/vote.html | 2 +-
Allura/allura/tests/functional/test_auth.py | 202 ++++++++++-----------
AlluraTest/alluratest/validation.py | 2 +-
.../forgeactivity/nf/activity/js/activity.js | 2 +-
.../forgeactivity/widgets/resources/js/follow.js | 2 +-
.../forgeblog/templates/blog/post_history.html | 4 +-
ForgeChat/forgechat/tests/functional/test_root.py | 2 +-
.../forgefeedback/templates/feedback/index.html | 4 +-
ForgeFiles/forgefiles/nf/files/js/files.js | 8 +-
ForgeSVN/forgesvn/templates/svn/checkout_url.html | 4 +-
ForgeShortUrl/forgeshorturl/templates/index.html | 4 +-
.../forgetracker/templates/tracker/ticket.html | 8 +-
ForgeUserStats/forgeuserstats/tests/test_stats.py | 2 +-
ForgeWiki/forgewiki/templates/wiki/master.html | 4 +-
ForgeWiki/forgewiki/templates/wiki/page_edit.html | 2 +-
ForgeWiki/forgewiki/wiki_main.py | 4 +-
scripts/ApacheAccessHandler.py | 12 +-
34 files changed, 175 insertions(+), 175 deletions(-)
diff --git a/Allura/allura/config/middleware.py
b/Allura/allura/config/middleware.py
index 19c8e3e3b..360eb44d3 100644
--- a/Allura/allura/config/middleware.py
+++ b/Allura/allura/config/middleware.py
@@ -153,7 +153,7 @@ def _make_core_app(root, global_conf: dict, **app_conf):
app = AlluraTimerMiddleware(app, app_conf)
# Clear cookies when the CSRF field isn't posted
if not app_conf.get('disable_csrf_protection'):
- app = CSRFMiddleware(app, '_session_id')
+ app = CSRFMiddleware(app, '_csrf_token')
if asbool(config.get('cors.enabled', False)):
# Handle CORS requests
allowed_methods = aslist(config.get('cors.methods'))
diff --git a/Allura/allura/ext/admin/templates/project_trove.html
b/Allura/allura/ext/admin/templates/project_trove.html
index 1fbff6e95..91368bc73 100644
--- a/Allura/allura/ext/admin/templates/project_trove.html
+++ b/Allura/allura/ext/admin/templates/project_trove.html
@@ -110,9 +110,9 @@
var chosen_opts = {search_contains:true};
$('.trove_add_container form:visible select').chosen(chosen_opts);
- function add_trove(session_id, type, new_id) {
+ function add_trove(_csrf_token, type, new_id) {
$.post('add_trove_js',{
- _session_id:session_id,
+ _csrf_token:_csrf_token,
type:type,
new_trove:new_id},function(resp){
if(resp.error_msg){
@@ -140,14 +140,14 @@
});
}
- var session_id = $('input[name=_session_id]').val();
+ var _csrf_token = $('input[name=_csrf_token]').val();
var del_btn = '<a href="#" class="del_btn" title="Delete"><b
data-icon="{{g.icons["delete"].char}}" class="ico
{{g.icons["delete"].css}}"></b></a>';
$('form.trove_adder').submit(function(evt){
evt.preventDefault();
var $this = $(this);
var type = $this.find('input[name=type]').val();
var new_id = $this.find('select').last().val();
- add_trove(session_id, type, new_id);
+ add_trove(_csrf_token, type, new_id);
});
$('form.trove_deleter').each(function(){
$(this).find('input[type="submit"]').remove();
@@ -158,7 +158,7 @@
var $form = $(this).closest('form');
var type = $form.find('input[name="type"]').val();
$.post('delete_trove',{
- _session_id:session_id,
+ _csrf_token:_csrf_token,
type:type,
trove:$form.find('input[name="trove"]').val()},function(){
$form.closest('div').remove();
@@ -178,7 +178,7 @@
e.preventDefault();
var type = $(this).data('trove');
var new_id = $(this).data('id');
- add_trove(session_id, type, new_id);
+ add_trove(_csrf_token, type, new_id);
})
});
</script>
diff --git a/Allura/allura/lib/widgets/forms.py
b/Allura/allura/lib/widgets/forms.py
index cc3744feb..51e42a55f 100644
--- a/Allura/allura/lib/widgets/forms.py
+++ b/Allura/allura/lib/widgets/forms.py
@@ -1110,12 +1110,12 @@ class CsrfForm(ew.SimpleForm):
@property
def hidden_fields(self):
- return [ew.HiddenField(name='_session_id')]
+ return [ew.HiddenField(name='_csrf_token')]
def context_for(self, field):
ctx = super().context_for(field)
- if field.name == '_session_id':
- ctx['value'] = tg.request.cookies.get('_session_id') or
tg.request.environ['_session_id']
+ if field.name == '_csrf_token':
+ ctx['value'] = tg.request.cookies.get('_csrf_token') or
tg.request.environ['_csrf_token']
return ctx
diff --git a/Allura/allura/lib/widgets/resources/js/post.js
b/Allura/allura/lib/widgets/resources/js/post.js
index d23c6af9c..79b2962bf 100644
--- a/Allura/allura/lib/widgets/resources/js/post.js
+++ b/Allura/allura/lib/widgets/resources/js/post.js
@@ -61,14 +61,14 @@
$('.spam-all-block', post).click(function(e) {
e.preventDefault();
var $this = $(this);
- var cval = $.cookie('_session_id');
+ var cval = $.cookie('_csrf_token');
$.ajax({
type: 'POST',
url: $this.attr('data-admin-url') + '/block_user',
data: {
username: $this.attr('data-user'),
perm: 'post',
- '_session_id': cval
+ '_csrf_token': cval
},
success: function (data, textStatus, jqxhr) {
if (data.error) {
@@ -77,7 +77,7 @@
flash('User blocked', 'success');
// full page form submit
$('<form method="POST" action="' +
escape_html($this.data('discussion-url'))+'moderate/save_moderation_bulk_user?username='
+ escape_html($this.attr('data-user')) + '&spam=1">' +
- '<input name="_session_id" type="hidden"
value="'+escape_html(cval)+'"></form>')
+ '<input name="_csrf_token" type="hidden"
value="'+escape_html(cval)+'"></form>')
.appendTo('body')
.submit();
} else {
diff --git a/Allura/allura/lib/widgets/resources/js/reactions.js
b/Allura/allura/lib/widgets/resources/js/reactions.js
index c0fe90706..a1f3db92f 100644
--- a/Allura/allura/lib/widgets/resources/js/reactions.js
+++ b/Allura/allura/lib/widgets/resources/js/reactions.js
@@ -91,7 +91,7 @@ function reactComment(btn, r) {
url: btn.data('commentlink') + 'post_reaction',
data: {
'r': r,
- '_session_id': $.cookie('_session_id')
+ '_csrf_token': $.cookie('_csrf_token')
},
success: function (res) {
var react_html = '';
diff --git a/Allura/allura/lib/widgets/resources/js/screenshots.js
b/Allura/allura/lib/widgets/resources/js/screenshots.js
index 533d3dcf3..eedfa4d69 100644
--- a/Allura/allura/lib/widgets/resources/js/screenshots.js
+++ b/Allura/allura/lib/widgets/resources/js/screenshots.js
@@ -18,7 +18,7 @@
*/
$(function() {
var updateSortOrder = function (e) {
- var params = {'_session_id': $.cookie('_session_id')};
+ var params = {'_csrf_token': $.cookie('_csrf_token')};
$(e.to).find('.screenshot').each(function (i) {
params[$(this).data('ss-id')] = i;
});
diff --git a/Allura/allura/lib/widgets/resources/js/sf_markitup.js
b/Allura/allura/lib/widgets/resources/js/sf_markitup.js
index d876ff7a2..79d5d236b 100644
--- a/Allura/allura/lib/widgets/resources/js/sf_markitup.js
+++ b/Allura/allura/lib/widgets/resources/js/sf_markitup.js
@@ -127,13 +127,13 @@ $(window).on('load', function() {
}
function previewRender(text, preview) {
- var cval = $.cookie('_session_id');
+ var cval = $.cookie('_csrf_token');
$.post('/nf/markdown_to_html', {
markdown: text,
project: $('input.markdown_project', $container).val(),
neighborhood: $('input.markdown_neighborhood',
$container).val(),
app: $('input.markdown_app', $container).val(),
- _session_id: cval
+ _csrf_token: cval
},
function(resp) {
preview.innerHTML = resp;
diff --git a/Allura/allura/lib/widgets/resources/js/subscriptions.js
b/Allura/allura/lib/widgets/resources/js/subscriptions.js
index 8b4bfebe0..635968c12 100644
--- a/Allura/allura/lib/widgets/resources/js/subscriptions.js
+++ b/Allura/allura/lib/widgets/resources/js/subscriptions.js
@@ -52,8 +52,8 @@ SubscriptionForm = React.createClass({
handleClick: function(e) {
e.preventDefault();
var url = this.props.url;
- var csrf = $.cookie('_session_id');
- var data = {_session_id: csrf};
+ var csrf = $.cookie('_csrf_token');
+ var data = {_csrf_token: csrf};
if (this.props.subscribed) {
data.unsubscribe = true;
} else {
diff --git a/Allura/allura/lib/widgets/resources/js/vote.js
b/Allura/allura/lib/widgets/resources/js/vote.js
index 282624a1a..5b934a026 100644
--- a/Allura/allura/lib/widgets/resources/js/vote.js
+++ b/Allura/allura/lib/widgets/resources/js/vote.js
@@ -22,13 +22,13 @@ $(document).ready(function() {
var $form = $('#vote form');
var url = $form.attr('action');
var method = $form.attr('method');
- var _session_id = $form.find('input[name="_session_id"]').val();
+ var _csrf_token = $form.find('input[name="_csrf_token"]').val();
$.ajax({
url: url,
type: method,
data: {
vote: vote,
- _session_id: _session_id
+ _csrf_token: _csrf_token
},
success: function(data) {
if (data.status == 'ok') {
diff --git a/Allura/allura/public/nf/js/admin_modal.js
b/Allura/allura/public/nf/js/admin_modal.js
index 36b059f3e..f9f04a742 100644
--- a/Allura/allura/public/nf/js/admin_modal.js
+++ b/Allura/allura/public/nf/js/admin_modal.js
@@ -45,10 +45,10 @@ $(function() {
var $popup_contents = $('#admin_modal_contents');
$popup_title.html($(link).html());
$popup_contents.html(data);
- var csrf_exists = $popup_contents.find('form >
input[name="_session_id"]').length;
+ var csrf_exists = $popup_contents.find('form >
input[name="_csrf_token"]').length;
if (!csrf_exists) {
- var cval = $.cookie('_session_id');
- var csrf_input = $('<input name="_session_id" type="hidden"
value="'+cval+'">');
+ var cval = $.cookie('_csrf_token');
+ var csrf_input = $('<input name="_csrf_token" type="hidden"
value="'+cval+'">');
$popup_contents.find('form').append(csrf_input);
}
});
diff --git a/Allura/allura/public/nf/js/allura-base.js
b/Allura/allura/public/nf/js/allura-base.js
index 839408dee..6837960cc 100644
--- a/Allura/allura/public/nf/js/allura-base.js
+++ b/Allura/allura/public/nf/js/allura-base.js
@@ -255,7 +255,7 @@ $(function(){
url: uri + 'update_markdown',
data: {
'text' : markdown,
- '_session_id' : $.cookie('_session_id')
+ '_csrf_token' : $.cookie('_csrf_token')
},
success: callback
});
diff --git a/Allura/allura/public/nf/js/navbar.es6.js
b/Allura/allura/public/nf/js/navbar.es6.js
index 5a5f3e15b..55de8cb22 100644
--- a/Allura/allura/public/nf/js/navbar.es6.js
+++ b/Allura/allura/public/nf/js/navbar.es6.js
@@ -495,9 +495,9 @@ var Main = React.createClass({
onUpdateThreshold: function(event) {
var thres = event.target.value;
var url = `${_getProjectUrl()}/admin/configure_tool_grouping`;
- var csrf = $.cookie('_session_id');
+ var csrf = $.cookie('_csrf_token');
var data = {
- _session_id: csrf,
+ _csrf_token: csrf,
grouping_threshold: thres
};
$.post(url, data, () => this.getNavJson());
@@ -510,7 +510,7 @@ var Main = React.createClass({
onToolReorder: function() {
$('.react-drag.dragging').removeClass('dragging');
- let params = {_session_id: $.cookie('_session_id')};
+ let params = {_csrf_token: $.cookie('_csrf_token')};
let toolNodes =
$(ReactDOM.findDOMNode(this)).find('span.ordinal-item').not(".toolbar-grouper");
for (let i = 0; i < toolNodes.length; i++) {
params[i] = toolNodes[i].dataset.mountPoint;
diff --git a/Allura/allura/public/nf/js/phone-verification.js
b/Allura/allura/public/nf/js/phone-verification.js
index e866fcd5b..583df35db 100644
--- a/Allura/allura/public/nf/js/phone-verification.js
+++ b/Allura/allura/public/nf/js/phone-verification.js
@@ -134,8 +134,8 @@ var FormStepMixin = {
callAPI: function() {
var url = this.getAPIUrl();
var data = this.getAPIData();
- var csrf = $.cookie('_session_id');
- data._session_id = csrf;
+ var csrf = $.cookie('_csrf_token');
+ data._csrf_token = csrf;
set_state({in_progress: true});
$.post(url, data, function(resp) {
if (resp.status == 'ok') {
diff --git a/Allura/allura/public/nf/js/project_groups.js
b/Allura/allura/public/nf/js/project_groups.js
index fe16a1e79..925e8c271 100644
--- a/Allura/allura/public/nf/js/project_groups.js
+++ b/Allura/allura/public/nf/js/project_groups.js
@@ -19,13 +19,13 @@
/*global privateProjectsAllowed */
$(function() {
- var cval = $.cookie('_session_id');
+ var cval = $.cookie('_csrf_token');
// delete a group
$('a.delete_group').click(function(evt){
evt.preventDefault();
var link = this;
- var csrf = $.cookie('_session_id');
- var data = {_session_id: csrf};
+ var csrf = $.cookie('_csrf_token');
+ var data = {_csrf_token: csrf};
if(confirm("Are you sure you want to remove the group? All users and
groups in the group will lose their permissions.")){
$.post(link.href, data, function(resp) {
$(link).closest('tr').hide('fast');
@@ -39,7 +39,7 @@ $(function() {
if(confirm("Are you sure you want to remove the user
"+user_holder.data('user')+"?")){
var params = {'role_id': user_holder.closest('tr').data('group'),
'username': user_holder.data('user'),
- '_session_id': cval};
+ '_csrf_token': cval};
var old_html = user_holder.html();
user_holder.html(spinner_img+' Removing...');
$.post('remove_user', params, function(data){
@@ -59,7 +59,7 @@ $(function() {
var item_form = $(this);
var params = {'role_id': item_form.closest('tr').data('group'),
'username': item_form.find('input').val(),
- '_session_id': cval};
+ '_csrf_token': cval};
var holder = item_form.closest('li');
holder.html(spinner_img+' Saving...');
$.post('add_user', params, function(data){
@@ -119,7 +119,7 @@ $(function() {
var params = {'role_id':$(this).closest('tr').data('group'),
'permission':perm_holder.data('permission'),
'allow':true,
- '_session_id':cval};
+ '_csrf_token':cval};
if(perm_holder.hasClass('yes')){
params['allow']=false;
}
diff --git a/Allura/allura/templates/app_admin_webhooks_list.html
b/Allura/allura/templates/app_admin_webhooks_list.html
index 494d72056..088e4a509 100644
--- a/Allura/allura/templates/app_admin_webhooks_list.html
+++ b/Allura/allura/templates/app_admin_webhooks_list.html
@@ -52,8 +52,8 @@ $(function() {
$('.delete-link').click(function(e) {
e.preventDefault();
var id = $(this).attr('data-id');
- var csrf = $.cookie('_session_id');
- var data = {'webhook': id, '_session_id': csrf};
+ var csrf = $.cookie('_csrf_token');
+ var data = {'webhook': id, '_csrf_token': csrf};
var url = $(this).attr('href');
var $tr = $(this).parents('tr');
$.post(url, data, function(data) {
diff --git a/Allura/allura/templates/jinja_master/lib.html
b/Allura/allura/templates/jinja_master/lib.html
index 97a2160f5..fa37c98cb 100644
--- a/Allura/allura/templates/jinja_master/lib.html
+++ b/Allura/allura/templates/jinja_master/lib.html
@@ -18,11 +18,11 @@
-#}
{% macro csrf() -%}
- {{ request.cookies['_session_id'] or request.environ['_session_id'] }}
+ {{ request.cookies['_csrf_token'] or request.environ['_csrf_token'] }}
{%- endmacro %}
{% macro csrf_token() -%}
- <input name="_session_id" type="hidden" value="{{csrf()}}">
+ <input name="_csrf_token" type="hidden" value="{{csrf()}}">
{%- endmacro %}
{% macro related_artifacts(artifact, user) -%}
diff --git a/Allura/allura/templates/site_admin_site_notifications_list.html
b/Allura/allura/templates/site_admin_site_notifications_list.html
index dce9e6504..bc389c9b4 100644
--- a/Allura/allura/templates/site_admin_site_notifications_list.html
+++ b/Allura/allura/templates/site_admin_site_notifications_list.html
@@ -85,7 +85,7 @@
type: 'POST',
url: elem.href,
data: {
- '_session_id': $.cookie('_session_id')
+ '_csrf_token': $.cookie('_csrf_token')
},
success: function(data) {
$(elem).parent().parent().remove();
diff --git a/Allura/allura/templates/widgets/vote.html
b/Allura/allura/templates/widgets/vote.html
index 1a82b8711..fb21e2811 100644
--- a/Allura/allura/templates/widgets/vote.html
+++ b/Allura/allura/templates/widgets/vote.html
@@ -42,7 +42,7 @@
<div style="clear:both;"></div>
{% if can_vote %}
<form action="{{ action }}" method="POST">
- {# csrf protection will be automatically inserted here (_session_id field)
#}
+ {# csrf protection will be automatically inserted here (_csrf_token field)
#}
{{lib.csrf_token()}}
</form>
{% endif %}
diff --git a/Allura/allura/tests/functional/test_auth.py
b/Allura/allura/tests/functional/test_auth.py
index e280fed69..c0d3e7f6d 100644
--- a/Allura/allura/tests/functional/test_auth.py
+++ b/Allura/allura/tests/functional/test_auth.py
@@ -53,10 +53,10 @@ def unentity(s):
class TestAuth(TestController):
def test_login(self):
- self.app.get('/auth/preferences/') # establish session_id cookie
+ self.app.get('/auth/preferences/') # establish _csrf_token cookie
email = M.User.query.get(username='test-admin').email_addresses[0]
r = self.app.post('/auth/send_verification_link', params=dict(a=email,
-
_session_id=self.app.cookies['_session_id']))
+
_csrf_token=self.app.cookies['_csrf_token']))
assert json.loads(self.webflash(r))['status'] == 'ok', self.webflash(r)
ThreadLocalODMSession.flush_all()
@@ -69,13 +69,13 @@ def test_login(self):
with audits('Successful login', user=True):
r = self.app.post('/auth/do_login', params=dict(
username='test-user', password='foo',
- _session_id=self.app.cookies['_session_id']),
+ _csrf_token=self.app.cookies['_csrf_token']),
antispam=True).follow()
assert r.headers['Location'] == 'http://localhost/dashboard'
r = self.app.post('/auth/do_login', antispam=True, params=dict(
username='test-user', password='foo', honey1='robot', # bad
honeypot value
- _session_id=self.app.cookies['_session_id']),
+ _csrf_token=self.app.cookies['_csrf_token']),
extra_environ={'regular_antispam_err_handling_even_when_tests':
'true'},
status=302)
wf = json.loads(self.webflash(r))
@@ -85,12 +85,12 @@ def test_login(self):
with audits('Failed login', user=True):
r = self.app.post('/auth/do_login', antispam=True,
extra_environ=dict(username='*anonymous'), params=dict(
username='test-user', password='food',
- _session_id=self.app.cookies['_session_id']))
+ _csrf_token=self.app.cookies['_csrf_token']))
assert 'Invalid login' in str(r), r.showbrowser()
r = self.app.post('/auth/do_login', antispam=True,
extra_environ=dict(username='*anonymous'), params=dict(
username='test-usera', password='foo',
- _session_id=self.app.cookies['_session_id']))
+ _csrf_token=self.app.cookies['_csrf_token']))
assert 'Invalid login' in str(r), r.showbrowser()
def test_login_invalid_username(self):
@@ -266,7 +266,7 @@ def test_logout(self):
r = self.app.post('/auth/do_login', params=dict(
username='test-user', password='foo',
- _session_id=self.app.cookies['_session_id']),
+ _csrf_token=self.app.cookies['_csrf_token']),
extra_environ={'REMOTE_ADDR': '127.0.0.1'},
antispam=True).follow().follow()
@@ -293,7 +293,7 @@ def test_track_login(self):
params=dict(
username='test-user',
password='foo',
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
),
antispam=True,
)
@@ -310,7 +310,7 @@ def test_rememberme(self):
# Login as test-user with remember me checkbox off
r = self.app.post('/auth/do_login', params=dict(
username='test-user', password='foo',
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
), antispam=True)
assert r.session['username'] == username
assert r.session['login_expires'] is True
@@ -322,7 +322,7 @@ def test_rememberme(self):
# Login as test-user with remember me checkbox on
r = self.app.post('/auth/do_login', params=dict(
username='test-user', password='foo', rememberme='on',
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
), antispam=True)
assert r.session['username'] == username
assert r.session['login_expires'] is not True
@@ -344,7 +344,7 @@ def test_user_can_not_claim_duplicate_emails(self):
'primary_addr': '[email protected]',
'preferences.email_format': 'plain',
'password': 'foo',
- '_session_id': self.app.cookies['_session_id'],
+ '_csrf_token': self.app.cookies['_csrf_token'],
},
extra_environ=dict(username='test-admin'))
@@ -356,7 +356,7 @@ def test_user_can_not_claim_duplicate_emails(self):
'primary_addr': '[email protected]',
'preferences.email_format': 'plain',
'password': 'foo',
- '_session_id': self.app.cookies['_session_id'],
+ '_csrf_token': self.app.cookies['_csrf_token'],
},
extra_environ=dict(username='test-admin'))
@@ -390,7 +390,7 @@ def
test_user_added_claimed_address_by_other_user_confirmed(self, gen_message_id
'primary_addr': '[email protected]',
'preferences.email_format': 'plain',
'password': 'foo',
- '_session_id': self.app.cookies['_session_id'],
+ '_csrf_token': self.app.cookies['_csrf_token'],
},
extra_environ=dict(username='test-admin'))
@@ -433,7 +433,7 @@ def
test_user_added_claimed_address_by_other_user_not_confirmed(self, gen_messag
'primary_addr': '[email protected]',
'preferences.email_format': 'plain',
'password': 'foo',
- '_session_id': self.app.cookies['_session_id'],
+ '_csrf_token': self.app.cookies['_csrf_token'],
},
extra_environ=dict(username='test-user-1'))
@@ -457,7 +457,7 @@ def test_user_cannot_claim_more_than_max_limit(self,
gen_message_id, sendsimplem
'primary_addr':
'[email protected]',
'preferences.email_format': 'plain',
'password': 'foo',
- '_session_id':
self.app.cookies['_session_id'],
+ '_csrf_token':
self.app.cookies['_csrf_token'],
},
extra_environ=dict(username='test-user-1'))
assert json.loads(self.webflash(r))['status'] == 'ok'
@@ -469,7 +469,7 @@ def test_user_cannot_claim_more_than_max_limit(self,
gen_message_id, sendsimplem
'primary_addr':
'[email protected]',
'preferences.email_format': 'plain',
'password': 'foo',
- '_session_id':
self.app.cookies['_session_id'],
+ '_csrf_token':
self.app.cookies['_csrf_token'],
},
extra_environ=dict(username='test-user-1'))
@@ -496,8 +496,8 @@ def test_verification_link_for_confirmed_email(self,
gen_message_id, sendsimplem
ThreadLocalODMSession.flush_all()
r = self.app.post('/auth/send_verification_link',
- params=dict(a=email_address,
_session_id=self.app.cookies['_session_id']),
- extra_environ=dict(username='test-user-1',
_session_id=self.app.cookies['_session_id']))
+ params=dict(a=email_address,
_csrf_token=self.app.cookies['_csrf_token']),
+ extra_environ=dict(username='test-user-1',
_csrf_token=self.app.cookies['_csrf_token']))
assert json.loads(self.webflash(r))['status'] == 'ok'
assert json.loads(self.webflash(r))['message'] == 'Verification link
sent'
@@ -522,7 +522,7 @@ def
test_invalidate_verification_link_if_email_was_confirmed(self):
self.app.post('/auth/send_verification_link',
params=dict(a=email_address,
- _session_id=self.app.cookies['_session_id']),
+ _csrf_token=self.app.cookies['_csrf_token']),
extra_environ=dict(username='test-user'))
user1 = M.User.query.get(username='test-user-1')
@@ -553,7 +553,7 @@ def test_verify_addr_correct_session(self, gen_message_id,
sendsimplemail):
self.app.post('/auth/send_verification_link',
params=dict(a=email_address,
- _session_id=self.app.cookies['_session_id']),
+ _csrf_token=self.app.cookies['_csrf_token']),
extra_environ=dict(username='test-user'))
# logged out, gets redirected to login page
@@ -634,7 +634,7 @@ def test_email_change_invalidates_token(self,
change_params):
session(user).flush(user)
self.app.get('/').follow() # establish session
- change_params['_session_id'] = self.app.cookies['_session_id']
+ change_params['_csrf_token'] = self.app.cookies['_csrf_token']
self.app.post('/auth/preferences/update_emails',
extra_environ=dict(username='test-admin'),
params=change_params)
@@ -659,7 +659,7 @@ def test_change_password(self):
'oldpw': 'foo',
'pw': 'asdfasdf',
'pw2': 'asdfasdf',
- '_session_id': self.app.cookies['_session_id'],
+ '_csrf_token': self.app.cookies['_csrf_token'],
})
# Confirm password was changed.
@@ -690,7 +690,7 @@ def test_change_password_hibp(self):
'oldpw': 'foo',
'pw': 'password',
'pw2': 'password',
- '_session_id': self.app.cookies['_session_id'],
+ '_csrf_token': self.app.cookies['_csrf_token'],
})
assert 'Unsafe' in str(r.headers)
@@ -701,7 +701,7 @@ def test_change_password_hibp(self):
'oldpw': 'foo',
'pw': '3j84rhoirwnoiwrnoiw',
'pw2': '3j84rhoirwnoiwrnoiw',
- '_session_id': self.app.cookies['_session_id'],
+ '_csrf_token': self.app.cookies['_csrf_token'],
})
assert 'Unsafe' not in str(r.headers)
@@ -731,7 +731,7 @@ def test_prefs(self, gen_message_id, sendsimplemail):
'primary_addr': '[email protected]',
'password': 'foo',
'preferences.email_format': 'plain',
- '_session_id':
self.app.cookies['_session_id'],
+ '_csrf_token':
self.app.cookies['_csrf_token'],
})
r = self.app.get('/auth/preferences/')
assert '[email protected]' in r
@@ -750,7 +750,7 @@ def test_prefs(self, gen_message_id, sendsimplemail):
'primary_addr': '[email protected]',
'password': 'foo',
'preferences.email_format': 'plain',
- '_session_id':
self.app.cookies['_session_id'],
+ '_csrf_token':
self.app.cookies['_csrf_token'],
})
# assert 'email_removed' notification email sent
@@ -767,7 +767,7 @@ def test_prefs(self, gen_message_id, sendsimplemail):
with td.audits('Display Name changed Test Admin => Admin', user=True):
r = self.app.post('/auth/preferences/update',
params={'preferences.display_name': 'Admin',
- '_session_id':
self.app.cookies['_session_id'],
+ '_csrf_token':
self.app.cookies['_csrf_token'],
},
extra_environ=dict(username='test-admin'))
@@ -781,7 +781,7 @@ def test_email_prefs_change_requires_password(self,
gen_message_id, sendsimplema
'new_addr.addr': '[email protected]',
'new_addr.claim': 'Claim Address',
'primary_addr': '[email protected]',
- '_session_id': self.app.cookies['_session_id'],
+ '_csrf_token': self.app.cookies['_csrf_token'],
}
r = self.app.post('/auth/preferences/update_emails',
params=new_email_params,
@@ -807,7 +807,7 @@ def test_email_prefs_change_requires_password(self,
gen_message_id, sendsimplema
change_primary_params = {
'new_addr.addr': '',
'primary_addr': '[email protected]',
- '_session_id': self.app.cookies['_session_id'],
+ '_csrf_token': self.app.cookies['_csrf_token'],
}
r = self.app.post('/auth/preferences/update_emails',
params=change_primary_params,
@@ -842,7 +842,7 @@ def test_email_prefs_change_requires_password(self,
gen_message_id, sendsimplema
'addr-2.delete': 'on',
'new_addr.addr': '',
'primary_addr': '[email protected]',
- '_session_id': self.app.cookies['_session_id'],
+ '_csrf_token': self.app.cookies['_csrf_token'],
}
r = self.app.post('/auth/preferences/update_emails',
params=remove_email_params,
@@ -889,12 +889,12 @@ def test_update_user_notifications(self):
self.app.get('/').follow() # establish session
assert not
M.User.query.get(username='test-admin').get_pref('mention_notifications')
self.app.post('/auth/subscriptions/update_user_notifications',
- params={'_session_id': self.app.cookies['_session_id'],
+ params={'_csrf_token': self.app.cookies['_csrf_token'],
})
assert not
M.User.query.get(username='test-admin').get_pref('mention_notifications')
self.app.post('/auth/subscriptions/update_user_notifications',
params={'allow_umnotif': 'on',
- '_session_id': self.app.cookies['_session_id'],
+ '_csrf_token': self.app.cookies['_csrf_token'],
})
assert
M.User.query.get(username='test-admin').get_pref('mention_notifications')
@@ -953,12 +953,12 @@ def test_format_email(self):
self.app.get('/').follow() # establish session
self.app.post('/auth/subscriptions/update_subscriptions',
params={'email_format': 'plain', 'subscriptions': '',
- '_session_id': self.app.cookies['_session_id']})
+ '_csrf_token': self.app.cookies['_csrf_token']})
r = self.app.get('/auth/subscriptions/')
assert '<option selected value="plain">Plain Text</option>' in r
self.app.post('/auth/subscriptions/update_subscriptions',
params={'email_format': 'both', 'subscriptions': '',
- '_session_id': self.app.cookies['_session_id']})
+ '_csrf_token': self.app.cookies['_csrf_token']})
r = self.app.get('/auth/subscriptions/')
assert '<option selected value="both">HTML</option>' in r
@@ -967,7 +967,7 @@ def test_create_account(self):
assert 'Create an Account' in r
r = self.app.post('/auth/save_new',
params=dict(username='AAA', pw='123',
-
_session_id=self.app.cookies['_session_id']))
+
_csrf_token=self.app.cookies['_csrf_token']))
assert 'Enter a value 6 characters long or more' in r
assert ('Usernames must include only small letters, numbers, '
'and dashes. They must also start with a letter and be '
@@ -979,7 +979,7 @@ def test_create_account(self):
pw='12345678',
pw2='12345678',
display_name='Test Me',
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
r = r.follow().follow()
assert 'User "aaa" registered' in unentity(r.text)
@@ -990,14 +990,14 @@ def test_create_account(self):
pw='12345678',
pw2='12345678',
display_name='Test Me',
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
assert 'That username is already taken. Please choose another.' in r
r = self.app.get('/auth/logout')
r = self.app.post(
'/auth/do_login',
params=dict(username='aaa', password='12345678',
- _session_id=self.app.cookies['_session_id']),
antispam=True,
+ _csrf_token=self.app.cookies['_csrf_token']),
antispam=True,
status=302)
def test_create_account_require_email(self):
@@ -1011,7 +1011,7 @@ def test_create_account_require_email(self):
pw2='12345678',
display_name='Test Me',
email='[email protected]',
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='aaa')
assert not user.pending
@@ -1025,7 +1025,7 @@ def test_create_account_require_email(self):
pw2='12345678',
display_name='Test Me',
email='[email protected]',
- _session_id=self.app.cookies['_session_id']
+ _csrf_token=self.app.cookies['_csrf_token']
))
user = M.User.query.get(username='bbb')
assert user.pending
@@ -1042,7 +1042,7 @@ def test_verify_email(self):
pw2='12345678',
display_name='Test Me',
email='[email protected]',
- _session_id=self.app.cookies['_session_id']
+ _csrf_token=self.app.cookies['_csrf_token']
))
r = r.follow()
user = M.User.query.get(username='aaa')
@@ -1075,7 +1075,7 @@ def test_create_account_disabled_submit_fails(self):
pw='12345678',
pw2='12345678',
display_name='Test Me',
- _session_id=self.app.cookies['_session_id']
+ _csrf_token=self.app.cookies['_csrf_token']
),
status=404)
@@ -1092,7 +1092,7 @@ def test_one_project_role(self):
pw2='12345678',
display_name='Test Me',
email='[email protected]',
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
)).follow()
user = M.User.query.get(username='aaa')
user.pending = False
@@ -1131,7 +1131,7 @@ def test_no_open_return_to(self):
r = self.app.post('/auth/do_login', params=dict(
username='test-user', password='foo',
return_to='/foo',
- _session_id=self.app.cookies['_session_id']),
+ _csrf_token=self.app.cookies['_csrf_token']),
antispam=True
)
assert r.location == 'http://localhost/foo'
@@ -1140,21 +1140,21 @@ def test_no_open_return_to(self):
r = self.app.post('/auth/do_login', antispam=True, params=dict(
username='test-user', password='foo',
return_to='http://localhost/foo',
- _session_id=self.app.cookies['_session_id']))
+ _csrf_token=self.app.cookies['_csrf_token']))
assert r.location == 'http://localhost/foo'
r = self.app.get('/auth/logout')
r = self.app.post('/auth/do_login', antispam=True, params=dict(
username='test-user', password='foo',
return_to='http://example.com/foo',
- _session_id=self.app.cookies['_session_id'])).follow()
+ _csrf_token=self.app.cookies['_csrf_token'])).follow()
assert r.location == 'http://localhost/dashboard'
r = self.app.get('/auth/logout')
r = self.app.post('/auth/do_login', antispam=True, params=dict(
username='test-user', password='foo',
return_to='//example.com/foo',
- _session_id=self.app.cookies['_session_id'])).follow()
+ _csrf_token=self.app.cookies['_csrf_token'])).follow()
assert r.location == 'http://localhost/dashboard'
def test_no_injected_headers_in_return_to(self):
@@ -1163,7 +1163,7 @@ def test_no_injected_headers_in_return_to(self):
username='test-user', password='foo',
return_to='/foo\nContent-Length: 777',
# WebTest actually will raise an error if there's an invalid
header (webob itself does not)
- _session_id=self.app.cookies['_session_id']),
+ _csrf_token=self.app.cookies['_csrf_token']),
antispam=True
)
assert r.location == 'http://localhost/'
@@ -1226,7 +1226,7 @@ def test_personal_data(self):
country=setcountry,
city=setcity,
timezone=settimezone,
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
sex = user.sex
@@ -1242,7 +1242,7 @@ def test_personal_data(self):
# Check if setting a wrong date everything works correctly
r = self.app.post('/auth/user_info/change_personal_data',
- params=dict(birthdate='30/02/1998',
_session_id=self.app.cookies['_session_id']))
+ params=dict(birthdate='30/02/1998',
_csrf_token=self.app.cookies['_csrf_token']))
assert 'Please enter a valid date' in r.text
user = M.User.query.get(username='test-admin')
sex = user.sex
@@ -1264,7 +1264,7 @@ def test_personal_data(self):
country=setcountry,
city=setcity,
timezone=settimezone,
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
assert user.birthdate is None
@@ -1277,7 +1277,7 @@ def test_contacts_not_allowed(self):
self.app.post('/auth/user_info/contacts/add_social_network',
params=dict(socialnetwork=socialnetwork,
accounturl=accounturl,
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
assert len(user.socialnetworks) == 0
@@ -1287,7 +1287,7 @@ def test_contacts_not_allowed(self):
self.app.post('/auth/user_info/contacts/add_social_network',
params=dict(socialnetwork=socialnetwork,
accounturl=accounturl,
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
assert len(user.socialnetworks) == 0
@@ -1297,7 +1297,7 @@ def test_contacts_not_allowed(self):
self.app.post('/auth/user_info/contacts/add_social_network',
params=dict(socialnetwork=socialnetwork,
accounturl=accounturl,
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
assert len(user.socialnetworks) == 0
@@ -1308,7 +1308,7 @@ def test_contacts(self):
testvalue = 'testaccount'
self.app.get('/auth/user_info/contacts/')
self.app.post('/auth/user_info/contacts/skype_account',
- params=dict(skypeaccount=testvalue,
_session_id=self.app.cookies['_session_id']))
+ params=dict(skypeaccount=testvalue,
_csrf_token=self.app.cookies['_csrf_token']))
user = M.User.query.get(username='test-admin')
assert user.skypeaccount == testvalue
@@ -1318,7 +1318,7 @@ def test_contacts(self):
self.app.post('/auth/user_info/contacts/add_social_network',
params=dict(socialnetwork=socialnetwork,
accounturl=accounturl,
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
assert len(user.socialnetworks) == 1
@@ -1331,7 +1331,7 @@ def test_contacts(self):
self.app.post('/auth/user_info/contacts/add_social_network',
params=dict(socialnetwork=socialnetwork2,
accounturl='@test',
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
assert len(user.socialnetworks) == 2
@@ -1344,7 +1344,7 @@ def test_contacts(self):
self.app.post('/auth/user_info/contacts/add_social_network',
params=dict(socialnetwork=socialnetwork3,
accounturl=accounturl3,
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
assert len(user.socialnetworks) == 3
@@ -1353,7 +1353,7 @@ def test_contacts(self):
self.app.post('/auth/user_info/contacts/remove_social_network',
params=dict(socialnetwork=socialnetwork,
account=accounturl,
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
assert len(user.socialnetworks) == 2
@@ -1364,7 +1364,7 @@ def test_contacts(self):
# Add empty social network account
self.app.post('/auth/user_info/contacts/add_social_network',
params=dict(accounturl=accounturl, socialnetwork='',
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
assert len(user.socialnetworks) == 2
@@ -1375,7 +1375,7 @@ def test_contacts(self):
# Add invalid social network account
self.app.post('/auth/user_info/contacts/add_social_network',
params=dict(accounturl=accounturl,
socialnetwork='invalid',
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
assert len(user.socialnetworks) == 2
@@ -1387,7 +1387,7 @@ def test_contacts(self):
telnumber = '+3902123456'
self.app.post('/auth/user_info/contacts/add_telnumber',
params=dict(newnumber=telnumber,
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
assert (len(user.telnumbers) == 1 and (user.telnumbers[0] ==
telnumber))
@@ -1396,7 +1396,7 @@ def test_contacts(self):
telnumber2 = '+3902654321'
self.app.post('/auth/user_info/contacts/add_telnumber',
params=dict(newnumber=telnumber2,
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
assert (len(user.telnumbers) == 2 and telnumber in user.telnumbers and
telnumber2 in user.telnumbers)
@@ -1404,7 +1404,7 @@ def test_contacts(self):
# Remove first telephone number
self.app.post('/auth/user_info/contacts/remove_telnumber',
params=dict(oldvalue=telnumber,
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
assert (len(user.telnumbers) == 1 and telnumber2 in user.telnumbers)
@@ -1413,7 +1413,7 @@ def test_contacts(self):
website = 'http://www.testurl.com'
self.app.post('/auth/user_info/contacts/add_webpage',
params=dict(newwebsite=website,
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
assert (len(user.webpages) == 1 and (website in user.webpages))
@@ -1422,7 +1422,7 @@ def test_contacts(self):
website2 = 'http://www.testurl2.com'
self.app.post('/auth/user_info/contacts/add_webpage',
params=dict(newwebsite=website2,
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
assert (len(user.webpages) == 2 and website in user.webpages and
website2 in user.webpages)
@@ -1430,7 +1430,7 @@ def test_contacts(self):
# Remove first website
self.app.post('/auth/user_info/contacts/remove_webpage',
params=dict(oldvalue=website,
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
assert (len(user.webpages) == 1 and website2 in user.webpages)
@@ -1448,7 +1448,7 @@ def test_availability(self):
weekday=weekday,
starttime=starttime.strftime('%H:%M'),
endtime=endtime.strftime('%H:%M'),
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
timeslot1dict = dict(week_day=weekday, start_time=starttime,
end_time=endtime)
@@ -1464,7 +1464,7 @@ def test_availability(self):
weekday=weekday2,
starttime=starttime2.strftime('%H:%M'),
endtime=endtime2.strftime('%H:%M'),
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
timeslot2dict = dict(week_day=weekday2, start_time=starttime2,
end_time=endtime2)
@@ -1478,7 +1478,7 @@ def test_availability(self):
weekday=weekday,
starttime=starttime.strftime('%H:%M'),
endtime=endtime.strftime('%H:%M'),
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
assert len(user.availability) == 1 and timeslot2dict in
user.get_availability_timeslots()
@@ -1489,7 +1489,7 @@ def test_availability(self):
weekday=weekday2,
starttime=endtime2.strftime('%H:%M'),
endtime=starttime2.strftime('%H:%M'),
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
assert 'Invalid period:' in str(r)
user = M.User.query.get(username='test-admin')
@@ -1508,7 +1508,7 @@ def test_inactivity(self):
params=dict(
startdate=startdate.strftime('%d/%m/%Y'),
enddate=enddate.strftime('%d/%m/%Y'),
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
period1dict = dict(start_date=startdate, end_date=enddate)
@@ -1521,7 +1521,7 @@ def test_inactivity(self):
params=dict(
startdate=startdate2.strftime('%d/%m/%Y'),
enddate=enddate2.strftime('%d/%m/%Y'),
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
period2dict = dict(start_date=startdate2, end_date=enddate2)
@@ -1535,7 +1535,7 @@ def test_inactivity(self):
params=dict(
startdate=startdate.strftime('%d/%m/%Y'),
enddate=enddate.strftime('%d/%m/%Y'),
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
assert len(user.inactiveperiod) == 1 and period2dict in
user.get_inactive_periods()
@@ -1545,7 +1545,7 @@ def test_inactivity(self):
params=dict(
startdate='NOT/A/DATE',
enddate=enddate2.strftime('%d/%m/%Y'),
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
assert 'Please enter a valid date' in str(r)
@@ -1564,7 +1564,7 @@ def test_skills(self):
level=level,
comment=comment,
selected_skill=str(skill_cat.trove_cat_id),
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
skilldict = dict(category_id=skill_cat._id,
@@ -1580,7 +1580,7 @@ def test_skills(self):
level=level,
comment=comment,
selected_skill=str(skill_cat.trove_cat_id),
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
skilldict = dict(category_id=skill_cat._id,
@@ -1595,7 +1595,7 @@ def test_skills(self):
level=level2,
comment=comment2,
selected_skill=str(skill_cat.trove_cat_id),
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
# Check that everything is as it was before
@@ -1606,7 +1606,7 @@ def test_skills(self):
self.app.post('/auth/user_info/skills/remove_skill',
params=dict(
categoryid=str(skill_cat.trove_cat_id),
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
user = M.User.query.get(username='test-admin')
assert len(user.skills) == 0
@@ -1616,12 +1616,12 @@ def test_user_message(self):
self.app.get('/').follow() # establish session
assert not
M.User.query.get(username='test-admin').get_pref('disable_user_messages')
self.app.post('/auth/preferences/user_message',
- params={'_session_id': self.app.cookies['_session_id'],
+ params={'_csrf_token': self.app.cookies['_csrf_token'],
})
assert
M.User.query.get(username='test-admin').get_pref('disable_user_messages')
self.app.post('/auth/preferences/user_message',
params={'allow_user_messages': 'on',
- '_session_id': self.app.cookies['_session_id'],
+ '_csrf_token': self.app.cookies['_csrf_token'],
})
assert not
M.User.query.get(username='test-admin').get_pref('disable_user_messages')
@@ -1663,7 +1663,7 @@ def test_email_unconfirmed(self, gen_message_id,
sendmail, p_sendlink, p_sendpwd
ThreadLocalODMSession.flush_all()
self.app.get('/').follow() # establish session
self.app.post('/auth/password_recovery_hash', {'email': email.email,
- '_session_id':
self.app.cookies['_session_id'],
+ '_csrf_token':
self.app.cookies['_csrf_token'],
})
hash = user.get_tool_data('AuthPasswordReset', 'hash')
assert hash is None
@@ -1680,7 +1680,7 @@ def test_user_disabled(self, gen_message_id, sendmail):
ThreadLocalODMSession.flush_all()
self.app.get('/').follow() # establish session
self.app.post('/auth/password_recovery_hash', {'email': email.email,
- '_session_id':
self.app.cookies['_session_id'],
+ '_csrf_token':
self.app.cookies['_csrf_token'],
})
hash = user.get_tool_data('AuthPasswordReset', 'hash')
assert hash is None
@@ -1699,7 +1699,7 @@ def test_only_primary_email_reset_allowed(self,
gen_message_id, sendmail):
with h.push_config(config,
**{'auth.allow_non_primary_email_password_reset': 'false'}):
self.app.post('/auth/password_recovery_hash', {'email':
self.test_primary_email,
- '_session_id':
self.app.cookies['_session_id'],
+ '_csrf_token':
self.app.cookies['_csrf_token'],
})
hash = user.get_tool_data('AuthPasswordReset', 'hash')
assert hash is not None
@@ -1719,7 +1719,7 @@ def test_non_primary_email_reset_allowed(self,
gen_message_id, sendmail):
ThreadLocalODMSession.flush_all()
with h.push_config(config,
**{'auth.allow_non_primary_email_password_reset': 'true'}):
self.app.post('/auth/password_recovery_hash', {'email':
email1.email,
- '_session_id':
self.app.cookies['_session_id'],
+ '_csrf_token':
self.app.cookies['_csrf_token'],
})
hash = user.get_tool_data('AuthPasswordReset', 'hash')
assert hash is not None
@@ -1739,7 +1739,7 @@ def test_password_reset(self, gen_message_id,
sendsimplemail):
# request a reset
with td.audits('Password recovery link sent to: ' + email.email,
user=True):
r = self.app.post('/auth/password_recovery_hash', {'email':
email.email,
- '_session_id':
self.app.cookies['_session_id'],
+ '_csrf_token':
self.app.cookies['_csrf_token'],
})
# confirm some fields
hash = user.get_tool_data('AuthPasswordReset', 'hash')
@@ -1825,7 +1825,7 @@ def test_capitalized_email_entered(self, gen_message_id,
sendmail):
# request a reset
with td.audits('Password recovery link sent to: ' + email.email,
user=True):
r = self.app.post('/auth/password_recovery_hash', {'email':
email.email.capitalize(), # NOTE THIS
- '_session_id':
self.app.cookies['_session_id'],
+ '_csrf_token':
self.app.cookies['_csrf_token'],
})
# confirm it worked
hash = user.get_tool_data('AuthPasswordReset', 'hash')
@@ -1841,7 +1841,7 @@ def test_hash_expired(self, gen_message_id, sendmail):
ThreadLocalODMSession.flush_all()
self.app.get('/').follow() # establish session
r = self.app.post('/auth/password_recovery_hash', {'email':
email.email,
- '_session_id':
self.app.cookies['_session_id'],
+ '_csrf_token':
self.app.cookies['_csrf_token'],
})
user = M.User.by_username('test-admin')
hash = user.get_tool_data('AuthPasswordReset', 'hash')
@@ -1851,7 +1851,7 @@ def test_hash_expired(self, gen_message_id, sendmail):
assert 'Password reset link is invalid or expired' in
r.follow().follow().text
r = self.app.post('/auth/set_new_password/%s' %
hash.encode('utf-8'), {'pw': '154321', 'pw2':
'154321',
- '_session_id':
self.app.cookies['_session_id'],
+ '_csrf_token':
self.app.cookies['_csrf_token'],
})
assert 'Unable to process password reset' in r.follow().follow().text
@@ -1869,10 +1869,10 @@ def test_provider_disabled(self, AP):
self.app.get('/auth/forgotten_password', status=404)
self.app.get('/').follow() # establish session
self.app.post('/auth/set_new_password',
- {'pw': 'foo', 'pw2': 'foo', '_session_id':
self.app.cookies['_session_id']},
+ {'pw': 'foo', 'pw2': 'foo', '_csrf_token':
self.app.cookies['_csrf_token']},
status=404)
self.app.post('/auth/password_recovery_hash',
- {'email': 'foo', '_session_id':
self.app.cookies['_session_id']},
+ {'email': 'foo', '_csrf_token':
self.app.cookies['_csrf_token']},
status=404)
@patch('allura.lib.plugin.AuthenticationProvider.hibp_password_check_enabled',
Mock(return_value=True))
@@ -1887,7 +1887,7 @@ def test_pwd_reset_hibp_check(self, gen_message_id,
sendmail):
# request a reset
r = self.app.post('/auth/password_recovery_hash', {'email':
email.email,
- '_session_id':
self.app.cookies['_session_id'],
+ '_csrf_token':
self.app.cookies['_csrf_token'],
})
hash = user.get_tool_data('AuthPasswordReset', 'hash')
@@ -1928,7 +1928,7 @@ def test_register_deregister_app(self):
r = self.app.get('/auth/oauth/')
r = self.app.post('/auth/oauth/register',
params={'application_name': 'oautstapp',
'application_description': 'Oauth rulez',
- '_session_id':
self.app.cookies['_session_id'],
+ '_csrf_token':
self.app.cookies['_csrf_token'],
}).follow()
assert 'oautstapp' in r
# deregister
@@ -1942,7 +1942,7 @@ def test_generate_revoke_access_token(self):
self.app.get('/').follow() # establish session
r = self.app.post('/auth/oauth/register',
params={'application_name': 'oautstapp',
'application_description': 'Oauth rulez',
- '_session_id':
self.app.cookies['_session_id'],
+ '_csrf_token':
self.app.cookies['_csrf_token'],
}, status=302)
r = self.app.get('/auth/oauth/')
assert r.forms[1].action == 'generate_access_token'
@@ -2665,7 +2665,7 @@ def test_has_asks_password(self):
def test_bad_password(self):
self.app.get('/').follow() # establish session
r = self.app.post('/auth/disable/do_disable', {'password': 'bad',
- '_session_id':
self.app.cookies['_session_id'], })
+ '_csrf_token':
self.app.cookies['_csrf_token'], })
assert 'Invalid password' in r
user = M.User.by_username('test-admin')
assert user.disabled is False
@@ -2673,7 +2673,7 @@ def test_bad_password(self):
def test_disable(self):
self.app.get('/').follow() # establish session
r = self.app.post('/auth/disable/do_disable', {'password': 'foo',
- '_session_id':
self.app.cookies['_session_id'], })
+ '_csrf_token':
self.app.cookies['_csrf_token'], })
assert r.status_int == 302
assert r.location == 'http://localhost/'
flash = json.loads(self.webflash(r))
@@ -2888,7 +2888,7 @@ def test_blocks_invalid(self):
r = self.app.post('/auth/do_login', params=dict(
username='test-admin', password='foo',
- _session_id=self.app.cookies['_session_id']),
+ _csrf_token=self.app.cookies['_csrf_token']),
antispam=True)
# regular form submit
@@ -2898,18 +2898,18 @@ def test_blocks_invalid(self):
# invalid form submit
r = self.app.get('/admin/overview')
- r.form['_session_id'] = 'bogus'
+ r.form['_csrf_token'] = 'bogus'
r = r.form.submit()
assert r.location == 'http://localhost/auth/'
def test_blocks_invalid_on_login(self):
r = self.app.get('/auth/', extra_environ=dict(username='*anonymous'))
- r.form['_session_id'] = 'bogus'
+ r.form['_csrf_token'] = 'bogus'
r.form.submit(status=403)
def test_token_present_on_first_request(self):
r = self.app.get('/auth/', extra_environ=dict(username='*anonymous'))
- assert r.form['_session_id'].value
+ assert r.form['_csrf_token'].value
class TestTwoFactor(TestController):
@@ -2943,7 +2943,7 @@ def test_settings_off(self):
'/auth/do_multifactor',
]:
self.app.post(url,
- {'password': 'foo', '_session_id':
self.app.cookies['_session_id']},
+ {'password': 'foo', '_csrf_token':
self.app.cookies['_csrf_token']},
status=404)
def test_user_disabled(self):
diff --git a/AlluraTest/alluratest/validation.py
b/AlluraTest/alluratest/validation.py
index ee3c7ce48..5ed55ca31 100644
--- a/AlluraTest/alluratest/validation.py
+++ b/AlluraTest/alluratest/validation.py
@@ -220,7 +220,7 @@ def post(self, *args, **kwargs) -> TestResponse:
}
for k, v in kwargs['params'].items():
params[antispam.enc(k)] = v
- params['_session_id'] = kwargs['params'].get('_session_id') #
exclude csrf token from encryption
+ params['_csrf_token'] = kwargs['params'].get('_csrf_token') #
exclude csrf token from encryption
kwargs['params'] = params
return super().post(*args, **kwargs)
diff --git a/ForgeActivity/forgeactivity/nf/activity/js/activity.js
b/ForgeActivity/forgeactivity/nf/activity/js/activity.js
index b0c83e719..2d25d8bb8 100644
--- a/ForgeActivity/forgeactivity/nf/activity/js/activity.js
+++ b/ForgeActivity/forgeactivity/nf/activity/js/activity.js
@@ -304,7 +304,7 @@ $(function() {
$row.css('background', 'lightgray');
$.post('delete_item', {
activity_id: $row.attr('id'),
- _session_id: $.cookie('_session_id')
+ _csrf_token: $.cookie('_csrf_token')
}).done(function() {
$('input[name=delete]', $row).remove();
$row.css('text-decoration',
'line-through').removeAttr('data-can-delete');
diff --git a/ForgeActivity/forgeactivity/widgets/resources/js/follow.js
b/ForgeActivity/forgeactivity/widgets/resources/js/follow.js
index b7d267998..cbb18eaa4 100644
--- a/ForgeActivity/forgeactivity/widgets/resources/js/follow.js
+++ b/ForgeActivity/forgeactivity/widgets/resources/js/follow.js
@@ -34,7 +34,7 @@ $(document).ready(function() {
e.preventDefault();
var $link = $(this);
var data = {
- '_session_id': $link.data('csrf'),
+ '_csrf_token': $link.data('csrf'),
'follow': ! $link.data('following')
};
$.post(this.href, data, function(result) {
diff --git a/ForgeBlog/forgeblog/templates/blog/post_history.html
b/ForgeBlog/forgeblog/templates/blog/post_history.html
index ea7cd8723..77e891a5a 100644
--- a/ForgeBlog/forgeblog/templates/blog/post_history.html
+++ b/ForgeBlog/forgeblog/templates/blog/post_history.html
@@ -69,11 +69,11 @@
modal.html(dialog_text.html());
modal.find('.continue_confirm').click(function (evt) {
- var cval = $.cookie('_session_id');
+ var cval = $.cookie('_csrf_token');
evt.preventDefault();
var _t = $(this);
var url = _t.data('href') || _t.attr('href');
- $.post(url, {_session_id: cval}, function (val) {
+ $.post(url, {_csrf_token: cval}, function (val) {
window.location = val.location;
}, 'json');
});
diff --git a/ForgeChat/forgechat/tests/functional/test_root.py
b/ForgeChat/forgechat/tests/functional/test_root.py
index 5e7e73975..a11cd761d 100644
--- a/ForgeChat/forgechat/tests/functional/test_root.py
+++ b/ForgeChat/forgechat/tests/functional/test_root.py
@@ -36,7 +36,7 @@ def test_root_index(self):
def test_admin_configure(self):
self.app.get('/').follow() # establish session
data = {'channel': 'test channel',
- '_session_id': self.app.cookies['_session_id']}
+ '_csrf_token': self.app.cookies['_csrf_token']}
ch = CM.ChatChannel.query.get()
assert ch.channel == ''
resp = self.app.post('/p/test/admin/chat/configure', data)
diff --git a/ForgeFeedback/forgefeedback/templates/feedback/index.html
b/ForgeFeedback/forgefeedback/templates/feedback/index.html
index 1caacc33c..394561a64 100755
--- a/ForgeFeedback/forgefeedback/templates/feedback/index.html
+++ b/ForgeFeedback/forgefeedback/templates/feedback/index.html
@@ -56,8 +56,8 @@
{% block extra_js %}
<script>
$('.post-link').click(function() {
- var cval = $.cookie('_session_id');
- $.post( '{{c.app.url}}delete_feedback', {'_session_id':cval},
+ var cval = $.cookie('_csrf_token');
+ $.post( '{{c.app.url}}delete_feedback', {'_csrf_token':cval},
function(){
window.location.href = '{{c.app.url}}';
}
diff --git a/ForgeFiles/forgefiles/nf/files/js/files.js
b/ForgeFiles/forgefiles/nf/files/js/files.js
index afa8ae081..bc76da6e0 100644
--- a/ForgeFiles/forgefiles/nf/files/js/files.js
+++ b/ForgeFiles/forgefiles/nf/files/js/files.js
@@ -24,7 +24,7 @@ function removeModalContent(){
$('#error_message_delete_folder').remove();
}
-var cval = $.cookie('_session_id');
+var cval = $.cookie('_csrf_token');
function ConfirmDisableFolder(folderID,status,parent_status,url)
{
@@ -42,7 +42,7 @@ var cval = $.cookie('_session_id');
var disable_status = 'False';
}
if (confirm_resp){
- $.post(url, {'folder_id':folderID, 'status':disable_status,
_session_id:cval}, function() {
+ $.post(url, {'folder_id':folderID, 'status':disable_status,
_csrf_token:cval}, function() {
location.reload();
});
}
@@ -67,7 +67,7 @@ var cval = $.cookie('_session_id');
var disable_status = 'False';
}
if (confirm_resp){
- $.post(url, {'file_id':fileID, 'status':disable_status,
_session_id:cval}, function() {
+ $.post(url, {'file_id':fileID, 'status':disable_status,
_csrf_token:cval}, function() {
location.reload();
});
}
@@ -87,7 +87,7 @@ var cval = $.cookie('_session_id');
var confirm_resp = confirm("Are you sure you want to link to the
Downloads?");
var link_status = 'True';
}
- $.post(url, {'file_id':fileID, 'status':link_status, _session_id:cval},
function() {
+ $.post(url, {'file_id':fileID, 'status':link_status, _csrf_token:cval},
function() {
location.reload();
})
}
diff --git a/ForgeSVN/forgesvn/templates/svn/checkout_url.html
b/ForgeSVN/forgesvn/templates/svn/checkout_url.html
index 63a79a8d7..5a1935c04 100644
--- a/ForgeSVN/forgesvn/templates/svn/checkout_url.html
+++ b/ForgeSVN/forgesvn/templates/svn/checkout_url.html
@@ -55,11 +55,11 @@
{% if allow_config %}
<script type="text/javascript">
function save_checkout_url() {
- var cval = $.cookie('_session_id');
+ var cval = $.cookie('_csrf_token');
$.post('{{c.project.url()}}admin/{{app.config.options.mount_point}}/set_checkout_url',
{
checkout_url: $('#checkout_url').val(),
external_checkout_url: $('#external_checkout_url').val(),
- _session_id:cval
+ _csrf_token:cval
},
function () {
location.reload();
diff --git a/ForgeShortUrl/forgeshorturl/templates/index.html
b/ForgeShortUrl/forgeshorturl/templates/index.html
index b91f2982b..4b1cbe827 100644
--- a/ForgeShortUrl/forgeshorturl/templates/index.html
+++ b/ForgeShortUrl/forgeshorturl/templates/index.html
@@ -91,11 +91,11 @@
</a>
<script>
$(function() {
- var cval = $.cookie('_session_id');
+ var cval = $.cookie('_csrf_token');
$('#remove-url-{{su.short_name}}').click(function() {
if (confirm('Remove URL {{su.short_name}}?')) {
var row = $(this).parents('tr');
- var data = {_session_id: cval, shorturl: '{{
su.short_name }}'};
+ var data = {_csrf_token: cval, shorturl: '{{
su.short_name }}'};
$.post(this.href, data, function(data, status, xhr) {
if (data.status == 'ok') row.remove();
});
diff --git a/ForgeTracker/forgetracker/templates/tracker/ticket.html
b/ForgeTracker/forgetracker/templates/tracker/ticket.html
index f776e70f1..72e44b050 100644
--- a/ForgeTracker/forgetracker/templates/tracker/ticket.html
+++ b/ForgeTracker/forgetracker/templates/tracker/ticket.html
@@ -236,16 +236,16 @@
return false;
});
$('.post-link').click(function(evt) {
- var cval = $.cookie('_session_id');
+ var cval = $.cookie('_csrf_token');
evt.preventDefault();
- $.post(this.href, {_session_id:cval}, function(val)
+ $.post(this.href, {_csrf_token:cval}, function(val)
{ window.location = val.location; },
'json');
});
// delete attachments
$('div.attachment_thumb a.delete_attachment').click(function () {
- var cval = $.cookie('_session_id');
- $.post(this.href, {'delete': 'True','_session_id':cval}, function
() {
+ var cval = $.cookie('_csrf_token');
+ $.post(this.href, {'delete': 'True','_csrf_token':cval}, function
() {
location.reload();
});
return false;
diff --git a/ForgeUserStats/forgeuserstats/tests/test_stats.py
b/ForgeUserStats/forgeuserstats/tests/test_stats.py
index b44e900d7..30bb0dde7 100644
--- a/ForgeUserStats/forgeuserstats/tests/test_stats.py
+++ b/ForgeUserStats/forgeuserstats/tests/test_stats.py
@@ -41,7 +41,7 @@ def test_login(self):
self.app.get('/').follow() # establish session
self.app.post('/auth/do_login', antispam=True, params=dict(
username=user.username, password='foo',
- _session_id=self.app.cookies['_session_id'],
+ _csrf_token=self.app.cookies['_csrf_token'],
))
assert user.stats.tot_logins_count == 1 + init_logins
diff --git a/ForgeWiki/forgewiki/templates/wiki/master.html
b/ForgeWiki/forgewiki/templates/wiki/master.html
index 37d237a59..e2884ef60 100644
--- a/ForgeWiki/forgewiki/templates/wiki/master.html
+++ b/ForgeWiki/forgewiki/templates/wiki/master.html
@@ -55,11 +55,11 @@
modal.html(dialog_text.html());
modal.find('.continue_confirm').click(function (evt) {
- var cval = $.cookie('_session_id');
+ var cval = $.cookie('_csrf_token');
evt.preventDefault();
var _t = $(this);
var url = _t.data('href') || _t.attr('href');
- $.post(url, {_session_id: cval}, function (val) {
+ $.post(url, {_csrf_token: cval}, function (val) {
window.location = val.location;
}, 'json');
});
diff --git a/ForgeWiki/forgewiki/templates/wiki/page_edit.html
b/ForgeWiki/forgewiki/templates/wiki/page_edit.html
index e75672268..a5a441d91 100644
--- a/ForgeWiki/forgewiki/templates/wiki/page_edit.html
+++ b/ForgeWiki/forgewiki/templates/wiki/page_edit.html
@@ -165,7 +165,7 @@
$.ajax({
type: "POST",
url: attr_url,
- data: elem.serialize() +"&_session_id=" + $.cookie('_session_id'),
+ data: elem.serialize() +"&_csrf_token=" + $.cookie('_csrf_token'),
success: function() {
elem.parent().remove();
}
diff --git a/ForgeWiki/forgewiki/wiki_main.py b/ForgeWiki/forgewiki/wiki_main.py
index a24a1df4c..01f639e14 100644
--- a/ForgeWiki/forgewiki/wiki_main.py
+++ b/ForgeWiki/forgewiki/wiki_main.py
@@ -311,7 +311,7 @@ def sidebar_menu_js(self):
e.preventDefault();
var link = this;
var data = {
- _session_id: $.cookie('_session_id'),
+ _csrf_token: $.cookie('_csrf_token'),
subscribe: '1'
};
$.post(this.href, data, function(){
@@ -324,7 +324,7 @@ def sidebar_menu_js(self):
e.preventDefault();
var link = this;
var data = {
- _session_id: $.cookie('_session_id'),
+ _csrf_token: $.cookie('_csrf_token'),
unsubscribe: '1'
};
$.post(this.href, data, function(){
diff --git a/scripts/ApacheAccessHandler.py b/scripts/ApacheAccessHandler.py
index fc10499a1..728f89b09 100644
--- a/scripts/ApacheAccessHandler.py
+++ b/scripts/ApacheAccessHandler.py
@@ -134,9 +134,9 @@ def check_authentication(req):
honey1_field: '',
honey2_field: '',
'return_to': '/login_successful',
- '_session_id': 'this-is-our-session',
+ '_csrf_token': 'this-is-our-session',
}, cookies={
- '_session_id': 'this-is-our-session',
+ '_csrf_token': 'this-is-our-session',
})
if r.status_code == 302 and
r.headers['location'].endswith('/login_successful'):
return True
@@ -153,9 +153,9 @@ def check_authentication(req):
honey1_field: '',
honey2_field: '',
'return_to': '/login_successful',
- '_session_id': 'this-is-our-session',
+ '_csrf_token': 'this-is-our-session',
}, cookies={
- '_session_id': 'this-is-our-session',
+ '_csrf_token': 'this-is-our-session',
})
if r.status_code == 302 and '/auth/multifactor' in
r.headers['location']:
multifactor_url = auth_url.replace('do_login', 'do_multifactor')
@@ -163,9 +163,9 @@ def check_authentication(req):
'mode': 'totp',
'code': code,
'return_to': '/login_successful',
- '_session_id': 'this-is-our-session',
+ '_csrf_token': 'this-is-our-session',
}, cookies={
- '_session_id': 'this-is-our-session',
+ '_csrf_token': 'this-is-our-session',
})
if r.status_code == 302 and
r.headers['location'].endswith('/login_successful'):
return True