Commit b791dcc0 authored by winniehell's avatar winniehell

Ignore URLs starting with // (!5677)

parent c9e15be9
...@@ -8,6 +8,7 @@ v 8.11.0 (unreleased) ...@@ -8,6 +8,7 @@ v 8.11.0 (unreleased)
- Convert switch icon into icon font (ClemMakesApps) - Convert switch icon into icon font (ClemMakesApps)
- Remove magic comments (`# encoding: UTF-8`) from Ruby files. !5456 (winniehell) - Remove magic comments (`# encoding: UTF-8`) from Ruby files. !5456 (winniehell)
- Add support for relative links starting with ./ or / to RelativeLinkFilter (winniehell) - Add support for relative links starting with ./ or / to RelativeLinkFilter (winniehell)
- Ignore URLs starting with // in Markdown links !5677 (winniehell)
- Fix CI status icon link underline (ClemMakesApps) - Fix CI status icon link underline (ClemMakesApps)
- The Repository class is now instrumented - The Repository class is now instrumented
- Cache the commit author in RequestStore to avoid extra lookups in PostReceive - Cache the commit author in RequestStore to avoid extra lookups in PostReceive
......
...@@ -35,6 +35,7 @@ module Banzai ...@@ -35,6 +35,7 @@ module Banzai
def process_link_attr(html_attr) def process_link_attr(html_attr)
return if html_attr.blank? return if html_attr.blank?
return if html_attr.value.start_with?('//')
uri = URI(html_attr.value) uri = URI(html_attr.value)
if uri.relative? && uri.path.present? if uri.relative? && uri.path.present?
...@@ -92,7 +93,7 @@ module Banzai ...@@ -92,7 +93,7 @@ module Banzai
parts = request_path.split('/') parts = request_path.split('/')
parts.pop if uri_type(request_path) != :tree parts.pop if uri_type(request_path) != :tree
path.sub!(%r{^\./}, '') path.sub!(%r{\A\./}, '')
while path.start_with?('../') while path.start_with?('../')
parts.pop parts.pop
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment