2007-01-22 Miguel de Icaza * Uri.cs (MakeRelativeUri): implement, copy most of the code from MakeRelative. (EscapeUriString, EscapeDataString): Implement stuff needed by apps in Moma. 2006-12-07 Vladimir Krasnov * Uri.cs: implemented UnescapeDataString method 2006-09-28 Andrew Skiba * UriParser.cs: TARGET_JVM * UriFormatException.cs: MonoTODO 2006-08-01 Atsushi Enomoto * Uri.cs : don't compare UserInfo in Equals() and op_Equality(). Fixed a bug commented in #78799. 2006-07-20 Gonzalo Paniagua Javier * Uri.cs: update Obsolete msg. 2006-06-05 Atsushi Enomoto * Uri.cs : revert the previous change as it caused UriTest. Constructors(#rel2a). ToString() for SourceString should be enough for lame users. 2006-05-13 Atsushi Enomoto * Uri.cs : sometimes OriginalString was null. Fixed bug #78374. Actually this property is LAMESPEC. Never use it. 2006-04-28 Atsushi Enomoto * Uri.cs : Patch by pawel.sakowski@mind-breeze.com (bug #77382). Reduce object allocation and avoid culture-sensitive comparison. 2006-03-11 Miguel de Icaza * Uri.cs: Pragma disable warning 612 (Obsolete methods are being used by us internally). Ponder: should we instead move our methods to use new versions of the Obsoleted ones? 2006-02-21 Atsushi Enomoto * Uri.cs : seems like Uri opreator == and != are case sensitive. 2006-02-19 Raja R Harinath * Uri.cs (InternalEquals): New helper. (Equals, operator ==): Use it. (operator !=): Likewise. Fix to actually compare operands. 2006-02-14 Atsushi Enomoto * Uri.cs : implemented op_Equality and op_Inequality. 2006-02-14 Ankit Jain * Uri.cs (Uri.EnsureAbsoluteUri): New. Throws exception if its not an absolute uri. (Uri.Parse): Set isAbsoluteUri to false, if the address is not absolute. All properties other than OriginalString, IsAbsoluteUri & UserEscaped throw exception for relative address. 2005-11-25 Sebastien Pouliot * DefaultUriParser.cs: Added an internal default parser because (a) UriParser is abstract and (b) MS doesn't always use the new parser classes :( * Uri.cs: Implemented Compare method. Added some FIXME. * UriParser.cs: Implemented GetComponents and IsBaseOf methods. Changed parsers to point to the new DefaultUriParser. 2005-11-15 Sebastien Pouliot * Uri.cs: Temporary fix for monodoc (which current Uri system won't work under 2.0). 2005-11-15 Sebastien Pouliot * FileStyleUriParser.cs: New. 2.0 Uri parser class. * FtpStyleUriParser.cs: New. 2.0 Uri parser class. * GenericUriParser.cs: New. 2.0 Uri parser class. * GopherStyleUriParser.cs: New. 2.0 Uri parser class. * HttpStyleUriParser.cs: New. 2.0 Uri parser class. * LdapStyleUriParser.cs: New. 2.0 Uri parser class. * NetPipeStyleUriParser.cs: New. 2.0 Uri parser class. * NetTcpStyleUriParser.cs: New. 2.0 Uri parser class. * NewsStyleUriParser.cs: New. 2.0 Uri parser class. * Uri.cs: Lots of small fixes for both 1.x and 2.0. Some *big* bugs in 1.x (fixed in 2.0) aren't fixed for Mono (and probably never will). This class still needs to be refactored to be usable with the new parsers. * UriParser.cs: New. 2.0 Uri parser base class. 2005-11-14 Atsushi Enomoto * Uri.cs : Unescape(string,bool) should also handle % and ?. In ToString(), unescape query part as well. Fixed bug #76643. 2005-10-21 Atsushi Enomoto * UriBuilder.cs : ToString() should not add duplicate '/' before path. Fixed bug #76501. Patch by Hubert Fongarnand + modified a bit. 2005-10-18 Sebastien Pouliot * UriTypeConverter.cs: New. Implemented (2.0). 2005-10-17 Sebastien Pouliot * GenericUriParserOptions.cs: New. 2.0 enum. * UriBuilder.cs: Port == -1 is valid (default) in 2.0. Default name is "localhhost" (not loopback) in 2.0. Fixed case where the Password property could be null (instead of String.Empty). * UriComponents.cs: New. 2.0 enum. * UriFormat.cs: New. 2.0 enum. * UriFormatException.cs: Added comments about GetObjectData. * UriKind.cs: New. 2.0 enum. * UriPartial.cs: Added Query value for 2.0. 2005-08-16 Daniel Drake * Uri.cs: Various parsing fixes from bug #75144. 2005-07-09 Gert Driesen * Uri.cs: Modified fix for bug #71053 to match both MS.NET 1.x and 2.0 behaviour. Parse method is no longer used on MS.NET 2.0, marked obsolete. 2005-07-09 Gert Driesen * Uri.cs: in .NET 2.0, port number should be valid UInt16 instead of UInt32. If outcome of parsing is -1, do not consider this to be the default port. 2005-07-08 Daniel Drake * Uri.cs: Allow descent multiple times below root. Fixes bug #71053. 2005-07-02 Daniel Drake * Uri.cs: HexUnescape() should only work on single-byte escape sequences, ala HexEscape(). However, we still want to handle multi-byte sequences internally, so introduce a more correct implementation of multi-byte unescaping, HexUnescapeMultiByte(). Fixes bug #74872. 2005-06-11 Gert Driesen * Uri.cs: Domain address might have trailing period to indicate that the domain name is fully qualified. Fixes bug #75230. 2005-06-02 Gert Driesen * Uri.cs: throw UriFormatException if URI starts with colon. Fixed bug #75124. 2005-05-08 Gonzalo Paniagua Javier * Uri.cs: (EscapeString): no need to turn the string into a char[] when calling GetBytes. 2005-03-20 Joshua Tauberer * Uri.cs: Some pedantic changes to the text of a few exceptions. 2005-03-05 Gonzalo Paniagua Javier * Uri.cs: when unescaping in stages, handle the case when the next substring is not a escaped sequence or the string ends. Fixes bug #73316. 2005-01-20 Miguel de Icaza * Uri.cs: Set the UriSchemNews port default to 119 as well. Fixes bug #71050. When dealing with fragments use the `dontEscape' flag passed to the Uri constructor to decide whether the fragment must or must not be escaped, fixes 71051. 2004-06-22 Atsushi Enomoto * Uri.cs : Such ctor arg string that starts with "//" should be regarded as a local file path that will be condensed to single "/", so handle such path differently under Windows and under *nix. Since '\\' is a valid path character on Unix, so we should not replace it with '/' in LocalPath. 2004-06-17 Jackson Harper * Uri.cs: Use invariant culture. 2004-06-16 Atsushi Enomoto * Uri.cs : Fixed LocalPath. In that condition, path is always UNC. 2004-06-16 Atsushi Enomoto * Uri.cs : Reimplemented HexUnescape() (It was too broken to handle multi-byte utf-8 characters.) 2004-06-11 Atsushi Enomoto * Uri.cs : - We don't have to mind '\\'. - Fixed bug #58301. When path starts with "///" and not more than "////" and not "///*:", handle it as unix path and set Host as empty string. In absolute path case, port should not be parsed and LocalPath should start with '/'. - Handle fragment in prior to path. 2004-06-11 Atsushi Enomoto * Uri.cs : Handle Windows UNC. Now we could simplify Parse(). Don't escape windows path twice. Check scheme name as defined in RFC2396. 2004-06-11 Atsushi Enomoto * Uri.cs : Reverted some changes. '#' should be handled when the input string is NOT raw file path. So handle raw file paths differently. (right now except for Windows UNC). Cache LocalPath and don't compute every time. 2004-06-10 Atsushi Enomoto * Uri.cs : Don't escape '#' in file URI paths. This fixes bug #47691. Some code simplification. 2004-06-09 Atsushi Enomoto * Uri.cs : - Now Parse() is properly implemented. If overriden, the overriding Parse() is used _instead of_ this class's parsing logic. - AbsoluteUri does not escape URI string at all. - ToString() should unescape Query. But should not unescape fragment. And all all parts should be unescaped individually to keep ? and #. - In relative .ctor(), handle Windows UNC as an absolute file URI. - In some cases, hosts and paths were not properly escaped in relative .ctor(). - Removed unused isWindowsPath. - Escape Query. * UriBuilder.cs : Fragment and Query aren't escaped when they are set. 2004-05-12 Dick Porter * Uri.cs: Reduce(string) is not in the public API. 2004-04-22 Gonzalo Paniagua Javier * UriBuilder.cs: ignore empty Query. Fixes bug #57082. 2004-03-21 Jackson Harper * Uri.cs: Equals should be case insensitive for all parts except the path. 2004-02-11 Jackson Harper * Uri.cs: If we are sure we have a windows path use \ instead of / for directory separating. 2004-02-11 Jackson Harper * Uri.cs: If the relative uri passed to Uri (base_uri, relative_uri) is an absolute uri do not combine the uris. The base uri is dropped. 2004-02-10 Jackson Harper * Uri.cs: Preserve the trailing / if there is one when reducing paths. 2004-02-08 Jackson Harper * Uri.cs: IsLoopback has different behavoir then IPAddress::IsLoopback. It will only return true for ipv4 addresses if they are 127.0.0.1, localhost, or loopback. 2004-02-06 Jackson Harper * Uri.cs: Do not escape querys or fragements. Only reduce certain schemes. 2004-02-06 Jackson Harper * Uri.cs: Use UTF8 characters when escaping. Reduce paths. This method is taken from System.Web.Utils.UrlUtils. * UriBuilder.cs: Do not escape fragments or queries, but do a utf8 switch on them. Do not prepend a "/" to Paths. Do not use IPEndPoint to determine if a port is valid, UriBuilder allows ports to be any positive integer, IPEndPoint does not. Use the ToString () method for generate a uri in get_Uri. Only set the port in ToString () if it is greater then 0. 2004-02-05 Jackson Harper * UriBuilder.cs: Do not call Uri::ToString for uri builders ToString. UriBuilder's ToString is a little more primitive. 2004-01-12 Atsushi Enomoto * Uri.cs : should not escape already-escaped string (Patch by Boris Kirzner). File LocalPath should unespace return value. ToString() should be unescaped only when it is not an UNC path. (UNC looks not to be unescaped). 2004-01-06 Atsushi Enomoto * Uri.cs : quick fix on local file relative uri. 2004-01-06 Atsushi Enomoto * Uri.cs : Fixed Parse(). Should not allow relative URIs. 2004-01-05 Atsushi Enomoto * Uri.cs : fixed IsBadFileSystemCharacter() to reject more characters based on MS.NET experiment. 2003-12-08 Atsushi Enomoto * Uri.cs : more fixes. More presice UNC handling, opaque part handling for non-standard uri (e.g. urn:go-mono.com), ToString() fix (that returns AbsoluteUri, which is not escaped any more), and so on. 2003-12-08 Atsushi Enomoto * Uri.cs : Several fixes, including Unc problem, Host and LocalPath fixes, null reference check for .ctor(Uri, string). This fixes bug #51844. 2003-12-04 John Luke * Uri.cs: applied patch from Chris Masters fixes bug #51510. ftp uses port 21, https uses 443 and parse the host name properly for UNC path. 2003-10-10 Pedro Martínez Juliá * Uri.cs: fixed a problem with some URIs like file://some_file.txt It used to return "/some_file.txt/" instead of "some_file.txt" in LocalPath. Fix handling of full path files and SMB addresses. 2003-08-12 Duncan Mak * Uri.cs (constructor): Properly implement RFC 2396, Par. 5.2, part 6a, which says: In other words, any characters after the last (right-most) slash character, if any, are excluded. Previously, when merging "a://foo.com/foo" with "bar", we yield the result "a://foo.com/foobar", instead of the correct "a://foo.com/bar". This fixes bug #45614. 2003-07-27 Andreas Nahr * SRDescriptionAttribute.cs: Moved from System.Diagnostics directory 2003-07-18 Andreas Nahr * Uri.cs: Added MonoTODO'd members, implemented member, fixed signature 2003-05-22 Gonzalo Paniagua Javier * TempFileCollection.cs: fixed the build under windows. 2003-05-07 Ben Maurer * Uri.cs: Checked in code to fix bug #41998. Some code from Ian MacLean. 2003-03-19 Gonzalo Paniagua Javier * Uri.cs: reworked Segment. Small fix in MakeRelative. Throw exception in Parse when host length is 0 and the Uri is not a file. 2003-03-19 Gonzalo Paniagua Javier * Uri.cs: (CheckSchemeName): fixed bug #28549. Thanks to Eric Runquist. 2003-02-01 Miguel de Icaza * Uri.cs (LocalPath): Local path should return un-escaped strings. Patch from tum@veridicus.com (Thong (Tum) Nguyen) 2002-09-16 Duncan Mak * Uri.cs (GetObjectData): (Uri): The key should be "AbsoluteUri", not "Uri". 2002-09-16 Miguel de Icaza * Uri.cs: Implemented a few of the protected methods. Mon Jun 17 15:05:05 CEST 2002 Paolo Molaro * Uri.cs: workaround for mcs bug. 2002-05-28 Lawrence Pit * Uri.cs: Implemented ctor UriTest (baseUri, relativeUri) * Uri.cs: Fixed bug in internal method GetSchemeDelimiter 2002-05-22 Lawrence Pit * Uri.cs: implemented MakeRelative, improved GetLeftPart * UriBuilder.cs: removed Serializable attribute * UriHostNameType.cs: added Basic 2002-05-12 Lawrence Pit * Uri.LocalPath and Uri.AbsoluteUri modified to support both w32 and *nix filepaths 2002-05-09 Lawrence Pit * Uri.GetLeftPart fixed for mailto and news schemes. 2002-05-05 Lawrence Pit * UriBuilder.cs: Implemented. * Uri.cs: Complete new reimplementation. 2002-02-08 Duncan Mak * UriFormatException.cs: Removed TODO attribute, the docs are probably wrong here. In any case, this code compiles and should work. 2002-01-31 Duncan Mak * UriFormatException.cs: Added bits for serialization. 2002-01-05 Ravi Pratap * ChangeLog : Add to this directory. * Uri.cs, UriFormatException.cs : Decorate bits with MonoTODO attribute.