forked from GNUsocial/gnu-social
Harmonize, clarify, categorize URL schemes
Regular expression + avoid-redirection list now match each other.
This commit is contained in:
parent
1cec627d72
commit
a9d18a077e
@ -312,15 +312,20 @@ class File_redirection extends Managed_DataObject
|
|||||||
$out_url = str_replace('.-()', '', $out_url);
|
$out_url = str_replace('.-()', '', $out_url);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
// non-HTTP schemes, so no redirects
|
||||||
case 'bitcoin':
|
case 'bitcoin':
|
||||||
case 'mailto':
|
case 'mailto':
|
||||||
case 'magnet':
|
|
||||||
case 'aim':
|
case 'aim':
|
||||||
case 'jabber':
|
case 'jabber':
|
||||||
case 'xmpp':
|
case 'xmpp':
|
||||||
// don't touch anything
|
// don't touch anything
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
// URLs without domain name, so no redirects
|
||||||
|
case 'magnet':
|
||||||
|
// don't touch anything
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
$out_url = $default_scheme . ltrim($out_url, '/');
|
$out_url = $default_scheme . ltrim($out_url, '/');
|
||||||
$p = parse_url($out_url);
|
$p = parse_url($out_url);
|
||||||
|
@ -885,7 +885,7 @@ function common_replace_urls_callback($text, $callback, $arg = null) {
|
|||||||
'(?:'.
|
'(?:'.
|
||||||
'(?:(?:https?|ftps?|mms|rtsp|gopher|news|nntp|telnet|wais|file|prospero|webcal|ircs?)://)'.
|
'(?:(?:https?|ftps?|mms|rtsp|gopher|news|nntp|telnet|wais|file|prospero|webcal|ircs?)://)'.
|
||||||
'|'.
|
'|'.
|
||||||
'(?:(?:bitcoin|mailto|aim|tel|xmpp):)'.
|
'(?:(?:aim|bitcoin|fax|jabber|mailto|tel|xmpp):)'.
|
||||||
')'.
|
')'.
|
||||||
'(?:[\pN\pL\-\_\+\%\~]+(?::[\pN\pL\-\_\+\%\~]+)?\@)?'. //user:pass@
|
'(?:[\pN\pL\-\_\+\%\~]+(?::[\pN\pL\-\_\+\%\~]+)?\@)?'. //user:pass@
|
||||||
'(?:'.
|
'(?:'.
|
||||||
|
Loading…
Reference in New Issue
Block a user