# HG changeset patch # User Sam Blowes # Date 1450440277 0 # Fri Dec 18 12:04:37 2015 +0000 # Node ID d87c0d9f68f2a8a3e5da7a29e0a1333c14945229 # Parent 2dd1e3af5f328c2280b6de3cbea682f4e92d0af3 Add JSONP Support diff --git a/lib/redmine/views/builders/json.rb b/lib/redmine/views/builders/json.rb --- a/lib/redmine/views/builders/json.rb +++ b/lib/redmine/views/builders/json.rb @@ -27,7 +27,7 @@ module Redmine super callback = request.params[:callback] || request.params[:jsonp] if callback && Setting.jsonp_enabled? - self.jsonp = callback.to_s.gsub(/[^a-zA-Z0-9_]/, '') + self.jsonp = callback.to_s.gsub(/[^a-zA-Z0-9_.]/, '') end end # HG changeset patch # User Sam Blowes # Date 1450440347 0 # Fri Dec 18 12:05:47 2015 +0000 # Node ID be718871fb87922f4ea9336fc91018e26c274f13 # Parent d87c0d9f68f2a8a3e5da7a29e0a1333c14945229 Add JSONP Support diff --git a/test/integration/api_test/jsonp_test.rb b/test/integration/api_test/jsonp_test.rb --- a/test/integration/api_test/jsonp_test.rb +++ b/test/integration/api_test/jsonp_test.rb @@ -52,11 +52,11 @@ class Redmine::ApiTest::JsonpTest < Redm def test_jsonp_should_strip_invalid_characters_from_callback with_settings :jsonp_enabled => '1' do - get '/trackers.json?callback=+-aA$1_' + get '/trackers.json?callback=+-aA$1_.' end assert_response :success - assert_match %r{^aA1_\(\{"trackers":.+\}\)$}, response.body + assert_match %r{^aA1_.\(\{"trackers":.+\}\)$}, response.body assert_equal 'application/javascript; charset=utf-8', response.headers['Content-Type'] end