GCFPermission URI strings are normalized per the rules of
RFC 3986 plus the
additional procedures described below.
In addition, IP addresses are normalized to the RFC 3513 preferred uncompressed form by removing leading zeros and converting the address. The normalized form is x:x:x:x:x:x:x:x, where the 'x's are the hexadecimal values of the eight 16-bit pieces of the address.
GCFPermission
extensions to the URI syntax of
RFC 3986 permit
the specification of a port range or single port number.
"ssl://www.example.com:*" => "ssl://www.example.com:0-65535"
"socket://www.example.com:-1024" => "socket://www.example.com:0-1024"
"socket://www.example.com:08000-" => "socket://www.example.com:8000-65535"
"datagram//:" => "datagram://:1024-65535"
"http://www.example.com/" => "http://www.example.com/"
"http://www.example.com:80" => "http://www.example.com/"
"http://www.example.com:08080" => "http://www.example.com:8080/"
"http://www.example.com:8080-8080" => "http://www.example.com:8080/"
CommProtocolPermission URI strings are normalized according
to the following rules:
"comm:port1;baudrate=300;baudrate=600" => "comm:port1;baudrate=600"
"comm:port1;stopbits=1;baudrate=300" => "comm:port1;baudrate=300;stopbits=1"
FileProtocolPermission URI strings are all normalized to the form:
file://{abs_path}
For example:
"file://localhost/etc/hosts" => "file:///etc/hosts"