﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
26418	models.URLField does not validate with an rtmp:// url	yeah	nobody	"models.URLField does not validate with an '''rtmp://''' url

checking the source, it is validated twice
{{{
class URLField(CharField):
    default_validators = [validators.URLValidator()]
    description = _(""URL"")
}}}
And 
{{{
    def formfield(self, **kwargs):
        # As with CharField, this will cause URL validation to be performed
        # twice.
        defaults = {
            'form_class': forms.URLField,
        }
}}}

in django.core.validators.UrlValidator we find at least one of the culprits:
{{{
    schemes = ['http', 'https', 'ftp', 'ftps']
}}}


RFC 3986 (I believe retained for RFC7320) defines scheme:

3.1.  Scheme

   Each URI begins with a scheme name that refers to a specification for
   assigning identifiers within that scheme.  As such, the URI syntax is
   a federated and extensible naming system wherein each scheme's
   specification may further restrict the syntax and semantics of
   identifiers using that scheme.

   Scheme names consist of a sequence of characters beginning with a
   letter and followed by any combination of letters, digits, plus
   (""+""), period ("".""), or hyphen (""-"").  Although schemes are case-
   insensitive, the canonical form is lowercase and documents that
   specify schemes must do so with lowercase letters.  An implementation
   should accept uppercase letters as equivalent to lowercase in scheme
   names (e.g., allow ""HTTP"" as well as ""http"") for the sake of
   robustness but should only produce lowercase scheme names for
   consistency.

      scheme      = ALPHA *( ALPHA / DIGIT / ""+"" / ""-"" / ""."" )
"	Bug	closed	Core (Other)	1.9	Normal	wontfix			Unreviewed	0	0	0	0	1	0
