Patch #9096 ยป uri_parse_workaround.diff
| app/controllers/application_controller.rb (working copy) | ||
|---|---|---|
| 267 | 267 |
back_url = CGI.unescape(params[:back_url].to_s) |
| 268 | 268 |
if !back_url.blank? |
| 269 | 269 |
begin |
| 270 |
uri = URI.parse(back_url) |
|
| 270 |
# Workaround for ruby bug #21314: Uri parser not accepting non-Latin characters |
|
| 271 |
uri = URI.parse(URI.escape(back_url)) |
|
| 271 | 272 |
# do not redirect user to another host or to the login or register page |
| 272 | 273 |
if (uri.relative? || (uri.host == request.host)) && !uri.path.match(%r{/(login|account/register)})
|
| 273 | 274 |
redirect_to(back_url) |