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)  |