Bug 31172

Summary: Uri parsing exceptions when username or password has space in it
Product: [Mono] Class Libraries Reporter: me
Component: mscorlibAssignee: marcos.henrich
Status: RESOLVED FIXED    
Severity: normal CC: masafa, mono-bugs+mono
Priority: ---    
Version: 4.0.0   
Target Milestone: Untriaged   
Hardware: PC   
OS: Windows   
Tags: Is this bug a regression?: ---
Last known good build:

Description me 2015-06-16 17:17:27 UTC
Following code works perfectly fine in .Net 4.5 on Windows:

using System;

public class Program
{
        public static void Main()
        {
                const string url = "rtmp://test 1:pass 1@test.com:333/live";
                var uri = new Uri(url);
                Console.WriteLine(uri.AbsoluteUri);
        }
}


On running in mono 4.0.1 on Ubuntu I get 

System.UriFormatException: Invalid URI: The hostname could not be parsed.
  at System.Uri.Parse (UriKind kind, System.String uriString) [0x00000] in <filename unknown>:0
  at System.Uri.ParseUri (UriKind kind) [0x00000] in <filename unknown>:0
  at System.Uri..ctor (System.String uriString, Boolean dontEscape) [0x00000] in <filename unknown>:0
  at System.Uri..ctor (System.String uriString) [0x00000] in <filename unknown>:0
  at Program.Main () [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.UriFormatException: Invalid URI: The hostname could not be parsed.
  at System.Uri.Parse (UriKind kind, System.String uriString) [0x00000] in <filename unknown>:0
  at System.Uri.ParseUri (UriKind kind) [0x00000] in <filename unknown>:0
  at System.Uri..ctor (System.String uriString, Boolean dontEscape) [0x00000] in <filename unknown>:0
  at System.Uri..ctor (System.String uriString) [0x00000] in <filename unknown>:0
  at Program.Main () [0x00000] in <filename unknown>:0
Comment 1 marcos.henrich 2015-09-04 00:46:40 UTC
Hi mshapiro,

Thank you for the bug report.

The issue should be fixed by https://github.com/mono/mono/pull/2030.
Comment 2 marcos.henrich 2015-09-04 02:43:06 UTC
Fixed in master a8f85e720ea22b64380c06bb2493ccbade6a0e2e.
https://github.com/mono/mono/commit/a8f85e720ea22b64380c06bb2493ccbade6a0e2e