1 2007-04-18 Igor Zelmanovich <igorz@mainsoft.com>
3 * Uri.cs: added MonoNotSupported attributes.
5 2007-04-16 Atsushi Enomoto <atsushi@ximian.com>
7 * Uri.cs : in Uri(baseUri,relativeUri,noEscape), relativeUri could
8 contain a URI scheme. In such cases the relativeUri could be still
9 relative (i.e. not always equivalent to absolute). Fixed bug #81382.
11 2007-03-05 Peter Dettman <peter.dettman@iinet.net.au>
13 * Uri.cs: This patch straightens out Equals/GetHashCode for the
16 - GetHashCode gives sensible values for relative Uri's.
17 - Uri's that compare equal will give same hashcode.
18 - operator == now uses Equals.
20 All existing tests still pass, and I have added some extra test
21 cases specifically for Equals/GetHashCode on relative Uri's
24 2007-01-22 Miguel de Icaza <miguel@novell.com>
26 * Uri.cs (MakeRelativeUri): implement, copy most of the code from
29 (EscapeUriString, EscapeDataString): Implement stuff
30 needed by apps in Moma.
32 2006-12-07 Vladimir Krasnov <vladimirk@mainsoft.com>
34 * Uri.cs: implemented UnescapeDataString method
36 2006-09-28 Andrew Skiba <andrews@mainsoft.com>
38 * UriParser.cs: TARGET_JVM
39 * UriFormatException.cs: MonoTODO
41 2006-08-01 Atsushi Enomoto <atsushi@ximian.com>
43 * Uri.cs : don't compare UserInfo in Equals() and op_Equality().
44 Fixed a bug commented in #78799.
46 2006-07-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
48 * Uri.cs: update Obsolete msg.
50 2006-06-05 Atsushi Enomoto <atsushi@ximian.com>
52 * Uri.cs : revert the previous change as it caused UriTest.
53 Constructors(#rel2a). ToString() for SourceString should be
54 enough for lame users.
56 2006-05-13 Atsushi Enomoto <atsushi@ximian.com>
58 * Uri.cs : sometimes OriginalString was null. Fixed bug #78374.
59 Actually this property is LAMESPEC. Never use it.
61 2006-04-28 Atsushi Enomoto <atsushi@ximian.com>
63 * Uri.cs : Patch by pawel.sakowski@mind-breeze.com (bug #77382).
64 Reduce object allocation and avoid culture-sensitive comparison.
66 2006-03-11 Miguel de Icaza <miguel@novell.com>
68 * Uri.cs: Pragma disable warning 612 (Obsolete methods are being
69 used by us internally).
71 Ponder: should we instead move our methods to use new versions of
74 2006-02-21 Atsushi Enomoto <atsushi@ximian.com>
76 * Uri.cs : seems like Uri opreator == and != are case sensitive.
78 2006-02-19 Raja R Harinath <harinath@gmail.com>
80 * Uri.cs (InternalEquals): New helper.
81 (Equals, operator ==): Use it.
82 (operator !=): Likewise. Fix to actually compare operands.
84 2006-02-14 Atsushi Enomoto <atsushi@ximian.com>
86 * Uri.cs : implemented op_Equality and op_Inequality.
88 2006-02-14 Ankit Jain <jankit@novell.com>
90 * Uri.cs (Uri.EnsureAbsoluteUri): New. Throws exception if its not an
92 (Uri.Parse): Set isAbsoluteUri to false, if the address is not absolute.
93 All properties other than OriginalString, IsAbsoluteUri & UserEscaped
94 throw exception for relative address.
96 2005-11-25 Sebastien Pouliot <sebastien@ximian.com>
98 * DefaultUriParser.cs: Added an internal default parser because (a)
99 UriParser is abstract and (b) MS doesn't always use the new parser
101 * Uri.cs: Implemented Compare method. Added some FIXME.
102 * UriParser.cs: Implemented GetComponents and IsBaseOf methods.
103 Changed parsers to point to the new DefaultUriParser.
105 2005-11-15 Sebastien Pouliot <sebastien@ximian.com>
107 * Uri.cs: Temporary fix for monodoc (which current Uri system won't
110 2005-11-15 Sebastien Pouliot <sebastien@ximian.com>
112 * FileStyleUriParser.cs: New. 2.0 Uri parser class.
113 * FtpStyleUriParser.cs: New. 2.0 Uri parser class.
114 * GenericUriParser.cs: New. 2.0 Uri parser class.
115 * GopherStyleUriParser.cs: New. 2.0 Uri parser class.
116 * HttpStyleUriParser.cs: New. 2.0 Uri parser class.
117 * LdapStyleUriParser.cs: New. 2.0 Uri parser class.
118 * NetPipeStyleUriParser.cs: New. 2.0 Uri parser class.
119 * NetTcpStyleUriParser.cs: New. 2.0 Uri parser class.
120 * NewsStyleUriParser.cs: New. 2.0 Uri parser class.
121 * Uri.cs: Lots of small fixes for both 1.x and 2.0. Some *big* bugs
122 in 1.x (fixed in 2.0) aren't fixed for Mono (and probably never will).
123 This class still needs to be refactored to be usable with the new
125 * UriParser.cs: New. 2.0 Uri parser base class.
127 2005-11-14 Atsushi Enomoto <atsushi@ximian.com>
129 * Uri.cs : Unescape(string,bool) should also handle % and ?.
130 In ToString(), unescape query part as well. Fixed bug #76643.
132 2005-10-21 Atsushi Enomoto <atsushi@ximian.com>
134 * UriBuilder.cs : ToString() should not add duplicate '/' before path.
135 Fixed bug #76501. Patch by Hubert Fongarnand + modified a bit.
137 2005-10-18 Sebastien Pouliot <sebastien@ximian.com>
139 * UriTypeConverter.cs: New. Implemented (2.0).
141 2005-10-17 Sebastien Pouliot <sebastien@ximian.com>
143 * GenericUriParserOptions.cs: New. 2.0 enum.
144 * UriBuilder.cs: Port == -1 is valid (default) in 2.0. Default name
145 is "localhhost" (not loopback) in 2.0. Fixed case where the Password
146 property could be null (instead of String.Empty).
147 * UriComponents.cs: New. 2.0 enum.
148 * UriFormat.cs: New. 2.0 enum.
149 * UriFormatException.cs: Added comments about GetObjectData.
150 * UriKind.cs: New. 2.0 enum.
151 * UriPartial.cs: Added Query value for 2.0.
153 2005-08-16 Daniel Drake <dsd@gentoo.org>
155 * Uri.cs: Various parsing fixes from bug #75144.
157 2005-07-09 Gert Driesen <drieseng@users.sourceforge.net>
159 * Uri.cs: Modified fix for bug #71053 to match both MS.NET 1.x and
160 2.0 behaviour. Parse method is no longer used on MS.NET 2.0, marked
163 2005-07-09 Gert Driesen <drieseng@users.sourceforge.net>
165 * Uri.cs: in .NET 2.0, port number should be valid UInt16 instead of
166 UInt32. If outcome of parsing is -1, do not consider this to be the
169 2005-07-08 Daniel Drake <dsd@gentoo.org>
171 * Uri.cs: Allow descent multiple times below root. Fixes bug #71053.
173 2005-07-02 Daniel Drake <dsd@gentoo.org>
175 * Uri.cs: HexUnescape() should only work on single-byte escape
176 sequences, ala HexEscape(). However, we still want to handle multi-byte
177 sequences internally, so introduce a more correct implementation of
178 multi-byte unescaping, HexUnescapeMultiByte(). Fixes bug #74872.
180 2005-06-11 Gert Driesen <drieseng@users.sourceforge.net>
182 * Uri.cs: Domain address might have trailing period to indicate
183 that the domain name is fully qualified. Fixes bug #75230.
185 2005-06-02 Gert Driesen <drieseng@users.sourceforge.net>
187 * Uri.cs: throw UriFormatException if URI starts with colon.
190 2005-05-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
193 (EscapeString): no need to turn the string into a char[] when calling
196 2005-03-20 Joshua Tauberer <tauberer@for.net>
198 * Uri.cs: Some pedantic changes to the text of a few exceptions.
200 2005-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
202 * Uri.cs: when unescaping in stages, handle the case when the next
203 substring is not a escaped sequence or the string ends. Fixes bug
206 2005-01-20 Miguel de Icaza <miguel@ximian.com>
208 * Uri.cs: Set the UriSchemNews port default to 119 as well.
211 When dealing with fragments use the `dontEscape' flag passed to
212 the Uri constructor to decide whether the fragment must or must
213 not be escaped, fixes 71051.
215 2004-06-22 Atsushi Enomoto <atsushi@ximian.com>
217 * Uri.cs : Such ctor arg string that starts with "//" should be
218 regarded as a local file path that will be condensed to single "/",
219 so handle such path differently under Windows and under *nix.
220 Since '\\' is a valid path character on Unix, so we should not
221 replace it with '/' in LocalPath.
223 2004-06-17 Jackson Harper <jackson@ximian.com>
225 * Uri.cs: Use invariant culture.
227 2004-06-16 Atsushi Enomoto <atsushi@ximian.com>
229 * Uri.cs : Fixed LocalPath. In that condition, path is always UNC.
231 2004-06-16 Atsushi Enomoto <atsushi@ximian.com>
233 * Uri.cs : Reimplemented HexUnescape() (It was too broken to handle
234 multi-byte utf-8 characters.)
236 2004-06-11 Atsushi Enomoto <atsushi@ximian.com>
239 - We don't have to mind '\\'.
240 - Fixed bug #58301. When path starts with "///" and not more than
241 "////" and not "///*:", handle it as unix path and set Host as
242 empty string. In absolute path case, port should not be parsed
243 and LocalPath should start with '/'.
244 - Handle fragment in prior to path.
246 2004-06-11 Atsushi Enomoto <atsushi@ximian.com>
248 * Uri.cs : Handle Windows UNC. Now we could simplify Parse(). Don't
249 escape windows path twice. Check scheme name as defined in RFC2396.
251 2004-06-11 Atsushi Enomoto <atsushi@ximian.com>
253 * Uri.cs : Reverted some changes. '#' should be handled when the input
254 string is NOT raw file path. So handle raw file paths differently.
255 (right now except for Windows UNC).
256 Cache LocalPath and don't compute every time.
258 2004-06-10 Atsushi Enomoto <atsushi@ximian.com>
260 * Uri.cs : Don't escape '#' in file URI paths. This fixes bug #47691.
261 Some code simplification.
263 2004-06-09 Atsushi Enomoto <atsushi@ximian.com>
266 - Now Parse() is properly implemented. If overriden, the overriding
267 Parse() is used _instead of_ this class's parsing logic.
268 - AbsoluteUri does not escape URI string at all.
269 - ToString() should unescape Query. But should not unescape fragment.
270 And all all parts should be unescaped individually to keep ? and #.
271 - In relative .ctor(), handle Windows UNC as an absolute file URI.
272 - In some cases, hosts and paths were not properly escaped in
274 - Removed unused isWindowsPath.
276 * UriBuilder.cs : Fragment and Query aren't escaped when they are set.
278 2004-05-12 Dick Porter <dick@ximian.com>
280 * Uri.cs: Reduce(string) is not in the public API.
282 2004-04-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
284 * UriBuilder.cs: ignore empty Query. Fixes bug #57082.
286 2004-03-21 Jackson Harper <jackson@ximian.com>
288 * Uri.cs: Equals should be case insensitive for all parts except
291 2004-02-11 Jackson Harper <jackson@ximian.com>
293 * Uri.cs: If we are sure we have a windows path use \ instead of
294 / for directory separating.
296 2004-02-11 Jackson Harper <jackson@ximian.com>
298 * Uri.cs: If the relative uri passed to Uri (base_uri,
299 relative_uri) is an absolute uri do not combine the uris. The base
302 2004-02-10 Jackson Harper <jackson@ximian.com>
304 * Uri.cs: Preserve the trailing / if there is one when reducing
307 2004-02-08 Jackson Harper <jackson@ximian.com>
309 * Uri.cs: IsLoopback has different behavoir then
310 IPAddress::IsLoopback. It will only return true for ipv4 addresses
311 if they are 127.0.0.1, localhost, or loopback.
313 2004-02-06 Jackson Harper <jackson@ximian.com>
315 * Uri.cs: Do not escape querys or fragements. Only reduce certain
318 2004-02-06 Jackson Harper <jackson@ximian.com>
320 * Uri.cs: Use UTF8 characters when escaping. Reduce paths. This
321 method is taken from System.Web.Utils.UrlUtils.
322 * UriBuilder.cs: Do not escape fragments or queries, but do a utf8
323 switch on them. Do not prepend a "/" to Paths. Do not use
324 IPEndPoint to determine if a port is valid, UriBuilder allows
325 ports to be any positive integer, IPEndPoint does not. Use the
326 ToString () method for generate a uri in get_Uri. Only set the
327 port in ToString () if it is greater then 0.
329 2004-02-05 Jackson Harper <jackson@ximian.com>
331 * UriBuilder.cs: Do not call Uri::ToString for uri builders
332 ToString. UriBuilder's ToString is a little more primitive.
334 2004-01-12 Atsushi Enomoto <atsushi@ximian.com>
336 * Uri.cs : should not escape already-escaped string (Patch by
337 Boris Kirzner). File LocalPath should unespace return value.
338 ToString() should be unescaped only when it is not an UNC path.
339 (UNC looks not to be unescaped).
341 2004-01-06 Atsushi Enomoto <atsushi@ximian.com>
343 * Uri.cs : quick fix on local file relative uri.
345 2004-01-06 Atsushi Enomoto <atsushi@ximian.com>
347 * Uri.cs : Fixed Parse(). Should not allow relative URIs.
349 2004-01-05 Atsushi Enomoto <atsushi@ximian.com>
351 * Uri.cs : fixed IsBadFileSystemCharacter() to reject more characters
352 based on MS.NET experiment.
354 2003-12-08 Atsushi Enomoto <atsushi@ximian.com>
356 * Uri.cs : more fixes. More presice UNC handling, opaque part
357 handling for non-standard uri (e.g. urn:go-mono.com), ToString()
358 fix (that returns AbsoluteUri, which is not escaped any more),
361 2003-12-08 Atsushi Enomoto <atsushi@ximian.com>
363 * Uri.cs : Several fixes, including Unc problem, Host and LocalPath
364 fixes, null reference check for .ctor(Uri, string). This fixes
367 2003-12-04 John Luke <jluke@cfl.rr.com>
369 * Uri.cs: applied patch from Chris Masters <neeeeeep@bigpond.com>
370 fixes bug #51510. ftp uses port 21, https uses 443 and
371 parse the host name properly for UNC path.
373 2003-10-10 Pedro MartÃnez Juliá <yoros@wanadoo.es>
375 * Uri.cs: fixed a problem with some URIs like file://some_file.txt
376 It used to return "/some_file.txt/" instead of "some_file.txt" in
377 LocalPath. Fix handling of full path files and SMB addresses.
379 2003-08-12 Duncan Mak <duncan@ximian.com>
381 * Uri.cs (constructor): Properly implement RFC 2396, Par. 5.2,
384 In other words, any characters after the last (right-most)
385 slash character, if any, are excluded.
387 Previously, when merging "a://foo.com/foo" with "bar", we yield
388 the result "a://foo.com/foobar", instead of the correct
391 This fixes bug #45614.
393 2003-07-27 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
395 * SRDescriptionAttribute.cs: Moved from System.Diagnostics directory
397 2003-07-18 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
399 * Uri.cs: Added MonoTODO'd members, implemented member, fixed signature
401 2003-05-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
403 * TempFileCollection.cs: fixed the build under windows.
405 2003-05-07 Ben Maurer <bmaurer@users.sourceforge.net>
406 * Uri.cs: Checked in code to fix bug #41998. Some
407 code from Ian MacLean.
409 2003-03-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
411 * Uri.cs: reworked Segment. Small fix in MakeRelative. Throw exception
412 in Parse when host length is 0 and the Uri is not a file.
414 2003-03-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
417 (CheckSchemeName): fixed bug #28549. Thanks to Eric Runquist.
419 2003-02-01 Miguel de Icaza <miguel@ximian.com>
421 * Uri.cs (LocalPath): Local path should return un-escaped
422 strings. Patch from tum@veridicus.com (Thong (Tum) Nguyen)
424 2002-09-16 Duncan Mak <duncan@ximian.com>
426 * Uri.cs (GetObjectData):
427 (Uri): The key should be "AbsoluteUri", not "Uri".
429 2002-09-16 Miguel de Icaza <miguel@ximian.com>
431 * Uri.cs: Implemented a few of the protected methods.
433 Mon Jun 17 15:05:05 CEST 2002 Paolo Molaro <lupus@ximian.com>
435 * Uri.cs: workaround for mcs bug.
437 2002-05-28 Lawrence Pit <loz@cable.a2000.nl>
439 * Uri.cs: Implemented ctor UriTest (baseUri, relativeUri)
440 * Uri.cs: Fixed bug in internal method GetSchemeDelimiter
442 2002-05-22 Lawrence Pit <loz@cable.a2000.nl>
444 * Uri.cs: implemented MakeRelative, improved GetLeftPart
445 * UriBuilder.cs: removed Serializable attribute
446 * UriHostNameType.cs: added Basic
448 2002-05-12 Lawrence Pit <loz@cable.a2000.nl>
450 * Uri.LocalPath and Uri.AbsoluteUri modified to support both w32
453 2002-05-09 Lawrence Pit <loz@cable.a2000.nl>
455 * Uri.GetLeftPart fixed for mailto and news schemes.
457 2002-05-05 Lawrence Pit <loz@cable.a2000.nl>
459 * UriBuilder.cs: Implemented.
461 * Uri.cs: Complete new reimplementation.
463 2002-02-08 Duncan Mak <duncan@ximian.com>
465 * UriFormatException.cs: Removed TODO attribute, the docs are
466 probably wrong here. In any case, this code compiles and should work.
468 2002-01-31 Duncan Mak <duncan@ximian.com>
470 * UriFormatException.cs: Added bits for serialization.
472 2002-01-05 Ravi Pratap <ravi@ximian.com>
474 * ChangeLog : Add to this directory.
476 * Uri.cs, UriFormatException.cs : Decorate bits with MonoTODO attribute.