Patch #27114

Make robust Redmine::Helpers::URL#uri_with_safe_scheme?

Added by okkez _ 21 days ago. Updated 21 days ago.

Status:NewStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:Text formatting
Target version:4.0.0

Description

I'm developing new formatter for CommonMark.

commonmarker gem will create wrong autolink like https://github.com/github/cmark/issues/57 .

n@.  b

will convert to

<p><a href="mailto:n@">n@</a>. b</p>

This causes `URI::InvalidComponentError`.

And I test with Redmine 3.4.2's Markdown formatter with following text.

[a@](a@)

This also causes `URI::InvalidComponentError`.

I wrote some patches to avoid these errors.

make-robust.diff Magnifier (1.2 KB) okkez _, 2017-10-03 03:02

History

#1 Updated by Go MAEDA 21 days ago

  • Category changed from Wiki to Text formatting
  • Target version set to 4.0.0

I observed the following error when the exception class at source:tags/3.4.2/lib/redmine/helpers/url.rb#L30 is URI::InvalidURIError.
Setting target version to 4.0.0.

$ ruby test/unit/lib/redmine/helpers/url_test.rb
Run options: --seed 58810

# Running:

.E

Error:
URLTest#test_uri_with_safe_scheme_invalid_component:
URI::InvalidComponentError: unrecognised opaque part for mailtoURL: root@
    lib/redmine/helpers/url.rb:29:in `uri_with_safe_scheme?'
    test/unit/lib/redmine/helpers/url_test.rb:15:in `test_uri_with_safe_scheme_invalid_component'

Also available in: Atom PDF