2007-04-18 Igor Zelmanovich <igorz@mainsoft.com>
[mono.git] / mcs / class / System / System / ChangeLog
1 2007-04-18  Igor Zelmanovich  <igorz@mainsoft.com>
2
3         * Uri.cs: added MonoNotSupported attributes.
4
5 2007-04-16  Atsushi Enomoto  <atsushi@ximian.com>
6
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.
10
11 2007-03-05  Peter Dettman  <peter.dettman@iinet.net.au>
12
13         * Uri.cs: This patch straightens out Equals/GetHashCode for the
14         Uri class: 
15
16         - GetHashCode gives sensible values for relative Uri's.
17         - Uri's that compare equal will give same hashcode.  
18         - operator == now uses Equals.
19
20         All existing tests still pass, and I have added some extra test
21         cases specifically for Equals/GetHashCode on relative Uri's
22         (included in patch).
23
24 2007-01-22  Miguel de Icaza  <miguel@novell.com>
25
26         * Uri.cs (MakeRelativeUri): implement, copy most of the code from
27         MakeRelative. 
28         
29         (EscapeUriString, EscapeDataString): Implement stuff
30         needed by apps in Moma.
31
32 2006-12-07  Vladimir Krasnov  <vladimirk@mainsoft.com>
33
34         * Uri.cs: implemented UnescapeDataString method
35
36 2006-09-28  Andrew Skiba  <andrews@mainsoft.com>
37
38         * UriParser.cs: TARGET_JVM
39         * UriFormatException.cs: MonoTODO
40
41 2006-08-01  Atsushi Enomoto  <atsushi@ximian.com>
42
43         * Uri.cs : don't compare UserInfo in Equals() and op_Equality().
44           Fixed a bug commented in #78799.
45
46 2006-07-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
47
48         * Uri.cs: update Obsolete msg.
49
50 2006-06-05  Atsushi Enomoto  <atsushi@ximian.com>
51
52         * Uri.cs : revert the previous change as it caused UriTest.
53           Constructors(#rel2a). ToString() for SourceString should be
54           enough for lame users.
55
56 2006-05-13  Atsushi Enomoto  <atsushi@ximian.com>
57
58         * Uri.cs : sometimes OriginalString was null. Fixed bug #78374.
59           Actually this property is LAMESPEC. Never use it.
60
61 2006-04-28  Atsushi Enomoto  <atsushi@ximian.com>
62
63         * Uri.cs : Patch by pawel.sakowski@mind-breeze.com (bug #77382).
64           Reduce object allocation and avoid culture-sensitive comparison.
65
66 2006-03-11  Miguel de Icaza  <miguel@novell.com>
67
68         * Uri.cs: Pragma disable warning 612 (Obsolete methods are being
69         used by us internally).
70
71         Ponder: should we instead move our methods to use new versions of
72         the Obsoleted ones?
73
74 2006-02-21  Atsushi Enomoto  <atsushi@ximian.com>
75
76         * Uri.cs : seems like Uri opreator == and != are case sensitive.
77
78 2006-02-19  Raja R Harinath  <harinath@gmail.com>
79
80         * Uri.cs (InternalEquals): New helper.
81         (Equals, operator ==): Use it.
82         (operator !=): Likewise.  Fix to actually compare operands.
83
84 2006-02-14  Atsushi Enomoto  <atsushi@ximian.com>
85
86         * Uri.cs : implemented op_Equality and op_Inequality.
87
88 2006-02-14  Ankit Jain  <jankit@novell.com>
89
90         * Uri.cs (Uri.EnsureAbsoluteUri): New. Throws exception if its not an
91         absolute uri.
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.
95
96 2005-11-25  Sebastien Pouliot  <sebastien@ximian.com> 
97
98         * DefaultUriParser.cs: Added an internal default parser because (a)
99         UriParser is abstract and (b) MS doesn't always use the new parser
100         classes :(
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.
104
105 2005-11-15  Sebastien Pouliot  <sebastien@ximian.com> 
106  
107         * Uri.cs: Temporary fix for monodoc (which current Uri system won't
108         work under 2.0).
109
110 2005-11-15  Sebastien Pouliot  <sebastien@ximian.com>
111
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
124         parsers.
125         * UriParser.cs: New. 2.0 Uri parser base class.
126
127 2005-11-14  Atsushi Enomoto  <atsushi@ximian.com>
128
129         * Uri.cs : Unescape(string,bool) should also handle % and ?.
130           In ToString(), unescape query part as well. Fixed bug #76643.
131
132 2005-10-21  Atsushi Enomoto  <atsushi@ximian.com>
133
134         * UriBuilder.cs : ToString() should not add duplicate '/' before path.
135           Fixed bug #76501. Patch by Hubert Fongarnand + modified a bit.
136
137 2005-10-18  Sebastien Pouliot  <sebastien@ximian.com>
138
139         * UriTypeConverter.cs: New. Implemented (2.0).
140
141 2005-10-17  Sebastien Pouliot  <sebastien@ximian.com>
142
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.
152
153 2005-08-16  Daniel Drake  <dsd@gentoo.org>
154
155         * Uri.cs: Various parsing fixes from bug #75144.
156
157 2005-07-09  Gert Driesen  <drieseng@users.sourceforge.net>
158
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 
161         obsolete.
162
163 2005-07-09  Gert Driesen  <drieseng@users.sourceforge.net>
164
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
167         default port.
168
169 2005-07-08  Daniel Drake  <dsd@gentoo.org>
170
171         * Uri.cs: Allow descent multiple times below root. Fixes bug #71053.
172
173 2005-07-02  Daniel Drake  <dsd@gentoo.org>
174
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.
179
180 2005-06-11 Gert Driesen <drieseng@users.sourceforge.net>
181
182         * Uri.cs: Domain address might have trailing period to indicate
183         that the domain name is fully qualified. Fixes bug #75230.
184
185 2005-06-02 Gert Driesen <drieseng@users.sourceforge.net>
186
187         * Uri.cs: throw UriFormatException if URI starts with colon.
188         Fixed bug #75124.
189
190 2005-05-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
191
192         * Uri.cs:
193         (EscapeString): no need to turn the string into a char[] when calling
194         GetBytes.
195
196 2005-03-20 Joshua Tauberer <tauberer@for.net>
197
198         * Uri.cs: Some pedantic changes to the text of a few exceptions.
199
200 2005-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
201
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
204         #73316.
205
206 2005-01-20  Miguel de Icaza  <miguel@ximian.com>
207
208         * Uri.cs: Set the UriSchemNews port default to 119 as well.
209         Fixes bug #71050.
210
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.
214
215 2004-06-22  Atsushi Enomoto  <atsushi@ximian.com>
216
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.
222
223 2004-06-17  Jackson Harper  <jackson@ximian.com>
224
225         * Uri.cs: Use invariant culture.
226         
227 2004-06-16  Atsushi Enomoto  <atsushi@ximian.com>
228
229         * Uri.cs : Fixed LocalPath. In that condition, path is always UNC.
230
231 2004-06-16  Atsushi Enomoto  <atsushi@ximian.com>
232
233         * Uri.cs : Reimplemented HexUnescape() (It was too broken to handle
234           multi-byte utf-8 characters.)
235
236 2004-06-11  Atsushi Enomoto  <atsushi@ximian.com>
237
238         * Uri.cs :
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. 
245
246 2004-06-11  Atsushi Enomoto  <atsushi@ximian.com>
247
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.
250
251 2004-06-11  Atsushi Enomoto  <atsushi@ximian.com>
252
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.
257
258 2004-06-10  Atsushi Enomoto  <atsushi@ximian.com>
259
260         * Uri.cs : Don't escape '#' in file URI paths. This fixes bug #47691.
261           Some code simplification.
262
263 2004-06-09  Atsushi Enomoto  <atsushi@ximian.com>
264
265         * Uri.cs : 
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
273             relative .ctor().
274           - Removed unused isWindowsPath.
275           - Escape Query.
276         * UriBuilder.cs : Fragment and Query aren't escaped when they are set.
277
278 2004-05-12  Dick Porter  <dick@ximian.com>
279
280         * Uri.cs: Reduce(string) is not in the public API.
281
282 2004-04-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
283
284         * UriBuilder.cs: ignore empty Query. Fixes bug #57082.
285
286 2004-03-21  Jackson Harper  <jackson@ximian.com>
287
288         * Uri.cs: Equals should be case insensitive for all parts except
289         the path.
290
291 2004-02-11  Jackson Harper  <jackson@ximian.com>
292
293         * Uri.cs: If we are sure we have a windows path use \ instead of
294         / for directory separating.
295         
296 2004-02-11  Jackson Harper  <jackson@ximian.com>
297
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
300         uri is dropped.
301         
302 2004-02-10  Jackson Harper  <jackson@ximian.com>
303
304         * Uri.cs: Preserve the trailing / if there is one when reducing
305         paths.
306         
307 2004-02-08  Jackson Harper  <jackson@ximian.com>
308
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. 
312         
313 2004-02-06  Jackson Harper  <jackson@ximian.com>
314
315         * Uri.cs: Do not escape querys or fragements. Only reduce certain
316         schemes.
317         
318 2004-02-06  Jackson Harper  <jackson@ximian.com>
319
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.
328         
329 2004-02-05  Jackson Harper  <jackson@ximian.com>
330
331         * UriBuilder.cs: Do not call Uri::ToString for uri builders
332         ToString. UriBuilder's ToString is a little more primitive.
333         
334 2004-01-12  Atsushi Enomoto  <atsushi@ximian.com>
335
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).
340
341 2004-01-06  Atsushi Enomoto  <atsushi@ximian.com>
342
343         * Uri.cs : quick fix on local file relative uri.
344
345 2004-01-06  Atsushi Enomoto  <atsushi@ximian.com>
346
347         * Uri.cs : Fixed Parse(). Should not allow relative URIs.
348
349 2004-01-05  Atsushi Enomoto  <atsushi@ximian.com>
350
351         * Uri.cs : fixed IsBadFileSystemCharacter() to reject more characters
352           based on MS.NET experiment.
353
354 2003-12-08  Atsushi Enomoto  <atsushi@ximian.com>
355
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),
359           and so on.
360
361 2003-12-08  Atsushi Enomoto  <atsushi@ximian.com>
362
363         * Uri.cs : Several fixes, including Unc problem, Host and LocalPath
364           fixes, null reference check for .ctor(Uri, string). This fixes
365           bug #51844.
366
367 2003-12-04  John Luke  <jluke@cfl.rr.com>
368         
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.
372         
373 2003-10-10  Pedro Martínez Juliá  <yoros@wanadoo.es>
374
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.
378
379 2003-08-12  Duncan Mak  <duncan@ximian.com>
380
381         * Uri.cs (constructor): Properly implement RFC 2396, Par. 5.2,
382         part 6a, which says:
383         
384                 In other words, any characters after the last (right-most)
385                 slash character, if any, are excluded.
386
387         Previously, when merging "a://foo.com/foo" with "bar", we yield
388         the result "a://foo.com/foobar", instead of the correct
389         "a://foo.com/bar".
390
391         This fixes bug #45614.
392
393 2003-07-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
394
395         * SRDescriptionAttribute.cs: Moved from System.Diagnostics directory
396
397 2003-07-18  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
398
399         * Uri.cs: Added MonoTODO'd members, implemented member, fixed signature
400
401 2003-05-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
402
403         * TempFileCollection.cs: fixed the build under windows.
404         
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.
408         
409 2003-03-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
410
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.
413
414 2003-03-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
415
416         * Uri.cs:
417         (CheckSchemeName): fixed bug #28549. Thanks to Eric Runquist.
418
419 2003-02-01  Miguel de Icaza  <miguel@ximian.com>
420
421         * Uri.cs (LocalPath): Local path should return un-escaped
422         strings.  Patch from tum@veridicus.com (Thong (Tum) Nguyen)
423
424 2002-09-16  Duncan Mak  <duncan@ximian.com>
425
426         * Uri.cs (GetObjectData):
427         (Uri): The key should be "AbsoluteUri", not "Uri".
428
429 2002-09-16  Miguel de Icaza  <miguel@ximian.com>
430
431         * Uri.cs: Implemented a few of the protected methods. 
432
433 Mon Jun 17 15:05:05 CEST 2002 Paolo Molaro <lupus@ximian.com>
434
435         * Uri.cs: workaround for mcs bug.
436
437 2002-05-28  Lawrence Pit <loz@cable.a2000.nl>
438
439         * Uri.cs: Implemented ctor UriTest (baseUri, relativeUri)
440         * Uri.cs: Fixed bug in internal method GetSchemeDelimiter
441
442 2002-05-22  Lawrence Pit <loz@cable.a2000.nl>
443
444         * Uri.cs: implemented MakeRelative, improved GetLeftPart
445         * UriBuilder.cs: removed Serializable attribute
446         * UriHostNameType.cs: added Basic
447
448 2002-05-12  Lawrence Pit <loz@cable.a2000.nl>
449
450         * Uri.LocalPath and Uri.AbsoluteUri modified to support both w32 
451         and *nix filepaths
452
453 2002-05-09  Lawrence Pit <loz@cable.a2000.nl>
454
455         * Uri.GetLeftPart fixed for mailto and news schemes.
456
457 2002-05-05  Lawrence Pit <loz@cable.a2000.nl>
458
459         * UriBuilder.cs: Implemented.
460         
461         * Uri.cs: Complete new reimplementation. 
462
463 2002-02-08  Duncan Mak  <duncan@ximian.com>
464
465         * UriFormatException.cs: Removed TODO attribute, the docs are
466         probably wrong here. In any case, this code compiles and should work.
467
468 2002-01-31  Duncan Mak  <duncan@ximian.com>
469
470         * UriFormatException.cs: Added bits for serialization.
471
472 2002-01-05  Ravi Pratap  <ravi@ximian.com>
473
474         * ChangeLog : Add to this directory.
475
476         * Uri.cs, UriFormatException.cs : Decorate bits with MonoTODO attribute.