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