2009-07-15 Marek Habersack <mhabersack@novell.com>
[mono.git] / mcs / class / System.Web / System.Web / ChangeLog
1 2009-07-15  Marek Habersack  <mhabersack@novell.com>
2
3         * HttpApplicationFactory.cs: added internal methods to
4         enable/disable specific watchers. Part of fix for bug #522017
5
6 2009-07-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
7
8         * ApplicationShutdownReason.cs: add new 3.5 value.
9         * ParserErrorCollection.cs: add setter for ParserError.
10         Patch from Daniel Gagne.
11
12 2009-07-14  Marek Habersack  <mhabersack@novell.com>
13
14         * HttpApplicationFactory.cs: OnFileChanged doesn't reload
15         application if reload suppression is active.
16
17 2009-07-13  Marek Habersack  <mhabersack@novell.com>
18
19         * HttpApplication.cs: LoadType - wrap call to LoadTypeFromBin in
20         try/catch so that we can decide whether or not to throw
21         exceptions. LoadTypeFromBin - ignore the FileLoadException and
22         BadImageException exceptions as they don't matter in this
23         context.
24
25 2009-07-13  Gert Driesen  <drieseng@users.sourceforge.net>
26
27         * HttpResponseStream.cs: Added argument checks to Write. Modified
28         methods/properties that requires a readable stream to throw
29         NotSupportedException instead of InvalidOperationException for
30         compatibility with MS.
31
32 2009-07-09 Gonzalo Paniagua Javier <gonzalo@novell.com>
33
34         * HttpApplication.cs: use GetSection instead of
35         OpenWebConfiguration+GetSection.
36
37 2009-07-09  Marek Habersack  <mhabersack@novell.com>
38
39         * HttpContext.cs: fall back to default resource provider factory
40         if the factory provided by user doesn't have the required object
41         in Get{Global,Local}ResourceObject. Fixes bug #520397
42         Refactored the GetResourceObject method and the
43         ResourceManagerCacheKey class to DefaultResourceProvider.
44
45 2009-07-07 Gonzalo Paniagua Javier <gonzalo@novell.com>
46
47         * ParserError.cs: add 3 missing setters. Patch from Daniel Gagne.
48
49 2009-06-15  Marek Habersack  <mhabersack@novell.com>
50
51         * HttpCachePolicy.cs: SetHeaders adds max-age when MaxAge is set
52         to TimeSpan.Zero by calling SetMaxAge. Fixes bug #513000
53
54 2009-06-05  Marek Habersack  <mhabersack@novell.com>
55
56         * VirtualPathUtility.cs: IsValidVirtualPath no longer uses
57         WebConfigurationManager.GetSection to retrieve the verification
58         setting. Instead, the setting is retrieved in the static
59         constructor.
60
61         * HttpRequest.cs: ApplyUrlMapping must not use
62         WebConfigurationManager.GetSection as it would cause a recursive
63         call loop. Code to detect whether url mappings are in effect has
64         been moved to a static constructor.
65
66 2009-06-04  Marek Habersack  <mhabersack@novell.com>
67
68         * HttpResponse.cs: version header configuration is read lazily
69         now.
70
71         * HttpException.cs: do not show version info if custom errors are
72         in effect. Fixes bug #509092
73         Don't generate trace for 403. Fixes bug #509092
74
75         * HttpApplicationFactory.cs: OnFileChanged ignores the directory
76         part of the file triggering the event. Fixes bug #509998
77
78 2009-06-03  Marek Habersack  <mhabersack@novell.com>
79
80         * VirtualPathUtility.cs: IsValidVirtualPath now checks the value
81         of the
82         HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\VerificationCompatibility
83         registry key when running on Windows and also consults the
84         mono-specific system.web/monoSettings configuration section to see
85         what is the verificationCompatibility property set to. If either
86         of the two is set to 1, Mono will not verify the validity of
87         the current request's path. Fixes bug #509163
88
89         * HttpApplicationFactory.cs: OnFileChanged must check whether the
90         modified location is a directory before it decides to ignore it
91         when watcher's filter is "?eb.?config". Fixes bug #509450 (see
92         also bug #495011)
93
94         * HttpForbiddenHandler.cs: updated the error message to match
95         .NET, added requested path and description. Fixes bug #509092
96
97         * HttpException.cs: if trace is not requested, don't output <!--
98         following the version information in WriteFileBottom. Fixes bug
99         #509475
100         GetDefaultErrorMessage appends trace only if showTrace is
101         true. Fixes bug #509092
102
103 2009-06-02  Marek Habersack  <mhabersack@novell.com>
104
105         * HttpApplication.cs: LocateHandler needs to pass current request
106         path and filepath to WebConfigurationManager when retrieving
107         system.web/httpHandlers section as only this will guarantee that
108         any <location> elements relating to the current request's which
109         contain system.web/httpHandlers section will be correctly read and
110         used. Also fixes reading httpHandlers section if it's found in
111         web.config located in a subdirectory. Fixes bug #509069
112
113         * HttpException.cs: 403 errors get same treatment as 404
114         below. Fixes bug #509092
115
116 2009-06-01  Marek Habersack  <mhabersack@novell.com>
117
118         * HttpException.cs: if custom errors are enabled and the error
119         code is 404 show the "standard" 404 error message instead of the
120         default custom error mode one. Fixes bug #508649
121
122 2009-05-28  Marek Habersack  <mhabersack@novell.com>
123
124         * HttpUtility.cs: fixed UrlDecode for encoded strings which
125         should be converted to byte sequences longer than 2 bytes. Fixes
126         bug #507666
127
128 2009-05-14  Marek Habersack  <mhabersack@novell.com>
129
130         * HttpApplication.cs: LocateHandler won't cache if a default
131         handler was returned.
132
133 2009-05-07 Gonzalo Paniagua Javier <gonzalo@novell.com>
134
135         * MimeTypes.cs: add silverlight related types.
136
137 2009-04-28 Gonzalo Paniagua Javier <gonzalo@novell.com>
138
139         * HttpContext.cs:
140         * HttpWorkerRequest.cs:
141         * HttpRuntime.cs: if other parts of the system are using the
142         threadpool and we queue requests, once the threadpool is free we
143         might still not get back to use it to the maximum extent possible.
144         Adding a few more calls to QueuePendingRequest ensures that does not
145         happen.
146
147 2009-04-24  Marek Habersack  <mhabersack@novell.com>
148
149         * HtmlizedException.cs: make HtmlException derive from
150         HttpException. System.Web.Mvc relies upon compile and parse
151         exception being descendants of HttpException or otherwise it will
152         catch and ignore compilation/parsing errors.
153
154 2009-04-16  Marek Habersack  <mhabersack@novell.com>
155
156         * HttpContext.cs: local resources code now uses the custom
157         resource provider factory, just like the global resources
158         code. Fixes bug #493263
159
160 2009-04-15  Marek Habersack  <mhabersack@novell.com>
161
162         * HttpApplicationFactory.cs: if a notification is received from a
163         FileSystemWatcher which was configured to watch for
164         subdirectories, uses a filter (currently we have just one such
165         watcher - waiting for changes to '?eb.?onfig') and the event
166         doesn't match the filter, ignore the event. Fixes bug #495011
167
168 2009-04-13 Gonzalo Paniagua Javier <gonzalo@novell.com>
169
170         * HttpUtility.cs: the collection returned from ParseQueryString knows
171         how to convert the key/value pairs to a string.
172
173 2009-04-10 Gonzalo Paniagua Javier <gonzalo@novell.com>
174
175         * HttpResponseStream.cs: use the unsafe version when copying buffers.
176
177 2009-04-06  Marek Habersack  <mhabersack@novell.com>
178
179         * HttpRuntime.cs: added a new internal static property
180         IsDebuggingEnabled
181
182         * HttpContext.cs: IsDebuggingEnabled now calls
183         HttpRuntime.IsDebuggingEnabled
184
185 2009-04-03  Gert Driesen  <drieseng@users.sourceforge.net>
186
187         * HttpRuntime.cs: Avoid ANE on Windows when HttpRuntime is used
188         outside of ASP.NET. Fixed compiler warning by setting
189         assemblyMappingEnabled.
190
191 2009-04-02  Marek Habersack  <mhabersack@novell.com>
192
193         * HttpException.cs: if there are more lines with errors, display
194         them all.
195
196 2009-03-31  Marek Habersack  <mhabersack@novell.com>
197
198         * HttpApplicationFactory.cs: use glob patterns to watch for
199         changes to global.asax and web.config files.
200         Set up recursive watch on web.config in a separate thread, to
201         minimize application startup delay. Fixes bug #490497
202
203         * VirtualPath.cs: added code to detect whether the VirtualPath
204         instance represents a fake virtual path (IsFake property).
205         Added new property DirectoryNoNormalize which returns
206         non-normalized directory for the VirtualPath instance.
207         Made ToString () a bit more friendly and well-behaved.
208
209 2009-03-26  Marek Habersack  <mhabersack@novell.com>
210
211         * HttpWorkerRequest.cs: use a generic dictionary to keep header
212         names in 2.0+.
213         GetKnown{Request,Response}HeaderIndex doesn't use the switch
214         anymore.
215
216         * HttpResponse.cs: WriteHeaders now checks whether a header to be
217         sent is a known one or not and uses the appropriate method to send
218         that header. Partial fix for bug #488702
219
220 2009-03-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
221
222         * HttpResponse.cs: ClearHeaders() also resets cacheability.
223         Bug #485557 fixed.
224
225 2009-03-21  Marek Habersack  <mhabersack@novell.com>
226
227         * HttpResponse.cs: added two missing 3.0+ properties -
228         SubStatusCode and TrySkipIisCustomErrors.
229
230 2009-03-04  Marek Habersack  <mhabersack@novell.com>
231
232         * HttpRuntime.cs: do not clean the dynamic base directory in
233         DoUnload, it can cause race conditions.
234
235 2009-03-03  Marek Habersack  <mhabersack@novell.com>
236
237         * HttpResponse.cs: fully implemented the Headers property.
238         It is also used in the 1.1 profile, but is internal.
239
240         * HttpCookie.cs: GetCookieHeader renamed to GetCookieHeaderValue -
241         now returns a string with the header value.
242
243         * HttpCacheVaryByParams.cs: GetResponseHeader renamed to
244         GetResponseHeaderValue - now returns a string with the header
245         value.
246
247         * HttpCachePolicy.cs: SetHeaders now takes a NameValueCollection
248         instead of an ArrayList
249
250         * HttpRequest.cs: avoid calculating the same value twice in
251         MakeInputStream
252
253 2009-03-02 Everaldo Canuto <ecanuto@novell.com>
254
255         * HttpResponse.cs: Headers property implementation.
256         
257 2009-02-28 Gonzalo Paniagua Javier <gonzalo@novell.com>
258
259         * Web/HttpResponseHeader.cs:
260         * Web/HttpResponse.cs:
261         * Web/QueueManager.cs:
262         * Web/HttpRequest.cs:
263         * Web/TraceManager.cs:
264         * Web/HttpServerUtility.cs:
265         * Web/HttpApplication.cs: use GetWebApplication
266         instead of GetSection for application level configuration.
267
268 2009-02-26  Marek Habersack  <mhabersack@novell.com>
269
270         * HttpResponse.cs: added DisableKernelCache and TransmitFile
271         methods.
272
273         * IisTraceListener.cs: added + implemented
274
275 2009-02-25  Marek Habersack  <mhabersack@novell.com>
276
277         * HttpApplication.cs: let the current context known that
278         MapRequestHandler is done.
279
280         * HttpContext.cs: implemented RemapHandler
281
282 2009-02-24  Marek Habersack  <mhabersack@novell.com>
283
284         * TempFileStream.cs: the class is internal
285
286         * VirtualPathUtility.cs: ToAbsolute (string, string, bool) is
287         internal
288
289         * HttpException.cs: made the HttpException (int httpCode, string
290         message, Exception innerException, string resourceName) internal.
291
292 2009-02-22 Gonzalo Paniagua Javier <gonzalo@novell.com>
293
294         * HttpServerUtility.cs: allow Transfer to static files too.
295
296 2009-02-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
297
298         * HttpWriter.cs: new Response property and WriteUTF8Ptr
299         method.
300         * HttpResponseStream.cs: added support for writing from an
301         IntPtr. copied the memcpy method from String.cs.
302
303 2009-02-18 Gonzalo Paniagua Javier <gonzalo@novell.com>
304
305         * HttpApplicationFactory.cs: check of global.asax was precompiled.
306
307 2009-01-29 Gonzalo Paniagua Javier <gonzalo@novell.com>
308
309         * HttpApplicationFactory.cs: fix check that avoids lock. Keep one
310         HttpApplication instance ready to be returned in an instance variable
311         to avoid a few locks.
312
313 2009-01-29  Marek Habersack  <mhabersack@novell.com>
314
315         * HttpApplicationFactory.cs: optimize lock usage.
316
317 2009-01-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
318
319         * HttpResponse.cs: make sure config is not null here.
320         * HttpApplication.cs: add a timer (-d:PIPELINE_TIMER) for the pipeline.
321         Handle timeouts for OutputPage() too.
322
323 2009-01-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
324
325         * HttpApplicationFactory.cs: set/reset the context for the application
326         when creating/disposing. Dispose() out of the lock.
327
328 2009-01-24  Marek Habersack  <mhabersack@novell.com>
329
330         * XmlSiteMapProvider.cs: if a nested sitemap is used (via the
331         siteMapFile node attribute) watch the named file for
332         changes. Fixes bug #465693
333
334 2009-01-19  Christian Hergert  <christian.hergert@gmail.com>
335
336         * QueueManager.cs: Implement requests queued performance counter.
337         * HttpRuntime.cs: Implement requests total counter.
338         * HttpApplication.cs: Implement requests total counter.
339
340 2009-01-13  Dean Brettle  <dean@brettle.com>
341
342         * HttpApplicationFactory.cs: if there are any *.browser files in
343         App_Data/Mono_Machine_Browsers/, use those instead of the default
344         machine browser files.  This allows app developers to workaround
345         limitations with Mono's default browser files without causing
346         incompatibilities with MS's implementation.
347
348 2009-01-09  Marek Habersack  <mhabersack@novell.com>
349
350         * HttpContext.cs: RewritePath now treats relative and absolute
351         file paths with more care. If a path is of the ~/file.aspx form,
352         then the ~/ part is removed and the rest is combined with the base
353         virtual path. If the file path is of the ~ or /file.aspx forms,
354         then it is combined verbatim with the base virtual path. Fixes bug
355         #463964
356         Make sure the path returned from HttpRequest.BaseVirtualPath
357         contains the trailing slash before combining. Fixes bug #463964
358
359 2008-12-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
360
361         * ServerVariablesCollection.cs: use IndexOf (char).
362
363 2008-12-24  Marek Habersack  <mhabersack@novell.com>
364
365         * HttpApplicationFactory.cs: watch for changes to web.config also
366         in the subdirectories.
367
368 2008-12-20  Marek Habersack  <mhabersack@novell.com>
369
370         * HttpResponse.cs: the code in TransmitFile (VirtualFile, bool)
371         was an abomination - dear children, don't do this at home (never,
372         ever, allocate a buffer to load entire file). I will wear a brown
373         paper bag every 2nd Sunday in the next 6 months for writing the
374         old version of this code.
375         New code optimizes the write when DefaultVirtualFile is used (as
376         it refers to a physical file on disk) and reads/writes other
377         virtual files in chunks.
378
379 2008-12-16  Marek Habersack  <mhabersack@novell.com>
380
381         * StaticFileHandler.cs: use HttpRuntime.RunningOnWindows instead
382         of checking the platform directly.
383
384 2008-12-09  Marek Habersack  <mhabersack@novell.com>
385
386         * HttpServerUtility.cs: when Execute finishes, clear
387         Request.QueryStringRaw. Backport of r121010 by Vladimir Krasnov.
388
389 2008-12-03  Gert Driesen  <drieseng@users.sourceforge.net>
390
391         * NoParamsInvoker.cs:
392         * HttpApplicationFactory.cs: Fixed support for static eventhandlers.
393
394 2008-11-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
395
396         * HttpContext.cs: MS does not throw. They just return null.
397
398 2008-11-24  Marek Habersack  <mhabersack@novell.com>
399
400         * HttpRuntime.cs: take PlatformID.MacOSX into account when
401         determining whether we're running on Windows or not. Possible fix
402         for #447874
403
404 2008-11-21  Marek Habersack  <mhabersack@novell.com>
405
406         * HttpParseException.cs, HtmlizedException.cs: added
407         deserialization constructor.
408
409 2008-10-31  Marek Habersack  <mhabersack@novell.com>
410
411         * HttpContext.cs: RewritePath correctly rewrites paths for cases
412         when application is running under a virtual directory different to
413         '/'. Fixes bug #371581
414         RewritePath checks the passed virtual path for validity.
415
416         * HttpRequest.cs: MapPath now uses
417         VirtualPathUtility.IsValidVirtualPath.
418
419         * VirtualPathUtility.cs: made Canonize () internal.
420         Added a new method - IsValidVirtualPath () which checks whether a
421         passed path contains only characters allowed for virtual paths.
422
423 2008-10-22  Marek Habersack  <mhabersack@novell.com>
424
425         * HttpApplicationFactory.cs: use only the first matching method in
426         GetApplicationTypeEvents, since it will be the one coming from the
427         topmost type. Partial fix for bug #437691
428
429 2008-10-21  Marek Habersack  <mhabersack@novell.com>
430
431         * HttpApplication.cs: if context.Session is null in get_Session,
432         throw an exception. Fixes bug #437289
433
434         * CapabilitiesLoader.cs: seal BrowserData.
435         Seal CapabilitiesLoader.
436         Do not lock on typeof (CapabilitiesLoader) in GetCapabilities ().
437
438 2008-10-16  Marek Habersack  <mhabersack@novell.com>
439
440         * HttpApplicationFactory.cs: when looking up application type
441         event handlers (the Application_* methods), look deep in the
442         parent chain - we must support private handler methods in base
443         types as well.
444
445 2008-10-15  Marek Habersack  <mhabersack@novell.com>
446
447         * HttpResponse.cs: CacheabilityUpdatedEvent is no longer
448         used. cached_response is allocated only when the IsCached property
449         is assigned the 'true' value. 
450
451         * HttpCachePolicy.cs: CacheabilityUpdatedEvent is no longer used,
452         removed all the traces of it. SetCacheability should not switch
453         output caching on.
454
455 2008-10-12  Gert Driesen  <drieseng@users.sourceforge.net>
456
457         * HttpResponse.cs: Simplify code for outputting ASP.NET version, as
458         version header cannot be configured. MS corrected this documenation
459         error in .NET 2.0 SDK.
460
461 2008-10-03 Gonzalo Paniagua Javier <gonzalo@novell.com>
462
463         * HttpApplication.cs: make sure we release the resources used by the
464         request and/or the response at the end of the request.
465         Fixes bug #430040.
466
467 2008-10-01  Marek Habersack  <mhabersack@novell.com>
468
469         * BrowserCapabilities.cs: IsBrowser needs to compare browser names
470         case insensitively.
471
472 2008-09-29  Marek Habersack  <mhabersack@novell.com>
473
474         * HttpApplication.cs: do not assume the passed IAsyncResult is a
475         is a valid object in async_handler_complete_cb. Fixes bug #430488
476
477 2008-09-28  Sebastien Pouliot  <sebastien@ximian.com>
478
479         * HttpRequest.cs: Make sure the result of the multiplications are
480         longs (not integers casted into longs since they could overflow).
481         [Found using Gendarme's ReviewCastOnIntegerMultiplicationRule]
482
483 2008-09-23  Marek Habersack  <mhabersack@novell.com>
484
485         * HttpWorkerRequest.cs: implemented a SendCalculatedContentLength
486         overload. This method apparently does nothing in MS.NET.
487
488 2008-09-16  Juraj Skripsky  <js@hotfeet.ch>
489
490         * HttpServerUtility.cs (UrlDecode, UrlEncode): Respect request/response
491         encoding. Fixes bug #426539.
492
493 2008-08-29  Marek Habersack  <mhabersack@novell.com>
494
495         * HttpApplication.cs: do not cache handlers which aren't
496         reusable.
497
498 2008-08-20  Marek Habersack  <mhabersack@novell.com>
499
500         * HttpResponseHeader.cs: encode header values if
501         httpRuntime.enableHeaderChecking is true (default). Fixes bug
502         #418620
503
504 2008-08-13  Marek Habersack  <mhabersack@novell.com>
505
506         * HttpException.cs: do not use StringBuilder.AppendFormat when
507         there is no need.
508
509 2008-08-08  Marek Habersack  <mhabersack@novell.com>
510
511         * XmlSiteMapProvider.cs: a better bugfix for bug #412495.
512         Do not call RootNode within BuildSiteMap, as it induces
513         recursion. Fixes bug #415685.
514
515 2008-07-29  Marek Habersack  <mhabersack@novell.com>
516
517         * HttpRequest.cs: if the FilePath contains embedded cookie-less
518         session identifier, remove it before computing the base virtual
519         directory. Fixes bug #397418
520
521 2008-07-28  Marek Habersack  <mhabersack@novell.com>
522
523         * XmlSiteMapProvider.cs: set the base ResourceKey to the name of
524         our associated site map file, so that localization works
525         correctly. Fixes bug #412493
526         Do not add the root node retrieved from BuildSiteMapRecursive in
527         BuildMap, if the node is already the current root node. Fixes bug
528         #412495
529
530 2008-07-26  Gert Driesen  <drieseng@users.sourceforge.net>
531
532         * HttpCachePolicy.cs: Only add Expires header if expire date is
533         actually set. Removed extra tabs and regions. Code formatting.
534
535 2008-07-23  Marek Habersack  <mhabersack@novell.com>
536
537         * HttpApplication.cs: do not register handlers for
538         BeginRequest/EndRequest when called from within the
539         Application_Start handler. Fixes bug #411213
540
541         * HttpApplicationFactory.cs: let the application know we're
542         running the Application_Start handler so that it can suppress
543         registering some events from inside that handler (see bug
544         #381971). Fixes bug #411213
545
546 2008-06-30  Marek Habersack  <mhabersack@novell.com>
547
548         * HttpRuntime.cs, HttpApplication.cs: hush the warnings
549
550         * HttpContext.cs: GetGlobalObjectFromFactory caches the
551         ResourceManager objects now. Patch from Zoltan Varga
552         <vargaz@gmail.com>, thanks!
553         The GetGlobalObjectFromFactory caches are thread local to avoid
554         locking.
555         GetResourceObject ResourceManager cache is now a thread local
556         Dictionary to avoid cloning.
557         Hush the warnings.
558
559 2008-06-27  Robert Jordan  <robertj@gmx.net>
560
561         * HttpCachePolicy.cs: map default HttpCacheability to
562         "Cache-control: private" for MS.NET compatibility.
563         Fixes bug #404083. Contributed by
564         Hubert FONGARNAND <informatique.internet@fiducial.fr>.
565
566 2008-06-21  Robert Jordan  <robertj@gmx.net>
567
568         * HttpRuntime.cs (.cctor): Workaround for bug #402263.
569
570 2008-06-19  Marek Habersack  <mhabersack@novell.com>
571
572         * MimeTypes.cs: added a mime type entry for .xpi files.
573
574 2008-06-18  Juraj Skripsky  <js@hotfeet.ch>
575
576         * HttpResponse.cs (AddHeadersNoCache): Add "X-AspNet-Version" header if
577         enabled.
578
579 2008-06-16  Noam Lampert  <noaml@mainsoft.com>
580
581         * HttpContext.cs: improve support for RewritePath
582
583 2008-06-10  Marek Habersack  <mhabersack@novell.com>
584
585         * HttpRuntime.cs: do not create a new thread to run the
586         application, reuse the thread from the hosting application (XSP's
587         thread comes from threadpool).
588
589 2008-06-06  Marek Habersack  <mhabersack@novell.com>
590
591         * SiteMap.cs: FindCurrentNode is no longer needed. CurrentNode
592         uses Provider.CurrentNode to find the return value.
593         AddNode doesn't throw a duplicate key exception for nodes not
594         belonging to the current provider.
595         Check whether keys exist before removing entries from the
596         dictionaries.
597
598         * XmlSiteMapProvider.cs: implemented support for child providers
599         (the AddProvider method). FindSiteMapNode* methods look for the
600         node also in the collection of child providers. Fixes bug #397040
601
602 2008-06-04  Marek Habersack  <mhabersack@novell.com>
603
604         * HttpResponse.cs: correctly modify virtual path to include the
605         session ID in cookieless session mode. Fixes bug #396628.
606
607         * HttpServerUtility.cs: remove session hash from the URL if in the
608         cookieless mode. Fixes bug #396628.
609
610         * HttpRequest.cs: make sure that BaseVirtualDir always returns
611         some value.
612
613 2008-06-02  Miguel de Icaza  <miguel@novell.com>
614         
615         * HttpRuntime.cs: Thanks to Christian Hergert for finding this
616         one.  
617
618         Do not throw NIEX on IsOnUNCShare, instead compute the value. 
619
620 2008-05-30  Marek Habersack  <mhabersack@novell.com>
621         
622         * HttpApplication.cs, HttpCachePolicy.cs, SiteMapProvider.cs,
623         TraceContext.cs: do not use synthetized event accessors (to avoid
624         locks).
625
626 2008-05-19 Noam Lampert <noaml@mainsoft.com>
627
628         * HttpServerUtility.cs: Fix bug in UrlPathEncode when URL contains '?' 
629
630 2008-05-12 Noam Lampert <noaml@mainsoft.com>
631
632         * HttpApplication.cs: Fix regressions introduced by latest commit
633
634 2008-05-07 Gonzalo Panigua Javier <gonzalo.mono@gmail.com>
635
636         * HttpApplication.cs: create a fake context while loading the
637         modules on the first request so that the modules don't mess up
638         with the actual output of that request.
639
640 2008-05-07  Marek Habersack  <mhabersack@novell.com>
641
642         * HttpRequest.cs: StripPath should handle UNC paths too. Fixes bug
643         #385870. Patch from Ivan Hamilton <ivan@chimerical.com.au>,
644         thanks!
645
646 2008-05-06  Marek Habersack  <mhabersack@novell.com>
647
648         * MimeTypes.cs: mime type keys might not exist in the dictionary,
649         in the 2.0 profile. Patch from Rolf Kvinge <rkvinge@novell.com>
650         and Jean-Baptiste Evain <jbevain@novell.com>, thanks! Fixes bug
651         #386008
652
653 2008-04-30  Marek Habersack  <mhabersack@novell.com>
654
655         * HttpApplication.cs: when the Start method is called in a new
656         thread, the thread's culture and ui culture are set to their
657         defaults, thus ignoring whatever their values were in the parent
658         thread. This is now fixed by passing an array containing the
659         culture values to the Start method, so that the new thread can be
660         properly initialized. Fixes bug #323566
661
662         * SiteMapNode.cs: the implicitResourceKey parameter to one of the
663         constructors sets the value of the ResourceKey property.
664         GetImplicitResourceString uses the provider's ResourceKey as the
665         global resource object key and the node's ResourceKey to construct
666         the resource name. Fixes bug #323994
667         ResourceKey setter throws an InvalidOperationException now, when
668         the node is read-only.
669
670 2008-04-29  Marek Habersack  <mhabersack@novell.com>
671
672         * HttpException.cs: safe guard against context being null in
673         GetHtmlErrorMessage.
674
675 2008-04-26  Marek Habersack  <mhabersack@novell.com>
676
677         * VirtualPath.cs: added a new property, PhysicalPath.
678
679 2008-04-25  Gert Driesen  <drieseng@users.sourceforge.net>
680
681         * HttpResponse.cs: Use double quotes in link to match MS.
682
683 2008-04-25  Marek Habersack  <mhabersack@novell.com>
684
685         * HttpApplication.cs: use Request.CurrentExecutionFilePath when
686         querying for the handler. Makes requests work if request path was
687         rewritten without modifying the FilePath. Fixes bug #383652
688
689         * HttpContext.cs: set Request.FilePath in RewritePath only if
690         setClientFilePath is true. Fixes bug #383652
691         Revert the change in revision 100273 - the real bug was in a
692         different overload of RewritePath, fixed with the commit for the
693         above bug #383652
694
695 2008-04-24  Marek Habersack  <mhabersack@novell.com>
696
697         * HttpApplication.cs: added a new overload of GetHandler which
698         allows the caller to ignore the handler found in the context
699         passed to the method.
700
701         * HttpServerUtility.cs: have HttpApplication.GetHandler ignore the
702         handler found in the current context when Execute'ing another
703         page. Fixes bug #316166
704
705 2008-04-23  Marek Habersack  <mhabersack@novell.com>
706
707         * VirtualPath.cs: introduced the CurrentRequestDirectory property,
708         which returns the virtual directory for the current request. The
709         information is taken from either current request's
710         CurrentExecutionFilePath property (if not null) or from the path
711         set externally (by setting the property or using the appropriate
712         VirtualPath constructor). The new property is used to construct
713         the correct absolute virtual path in the MakeRooted method. Fixes
714         bug #381715.
715
716         * HttpApplication.cs: events registered from Application_Start are
717         silently ignored - any event registered after the one-time
718         application initialization is completed, is ignored. Fixes bug
719         #381971
720
721         * HttpApplicationFactory.cs: call app.DisposeInternal instead of
722         app.Dispose.
723
724         * HttpContext.cs: Fix bug #371581 for 1.1 as well.
725
726 2008-04-19  Marek Habersack  <mhabersack@novell.com>
727
728         * HttpException.cs: don't write the stack trace inside html
729         comment if custom errors are enabled.
730
731 2008-04-15  Kornél Pál  <kornelpal@gmail.com>
732
733         * HttpRuntime.cs: Don't add Date header for error pages either. Fixes bug
734         #363404.
735
736 2008-04-15  Marek Habersack  <mhabersack@novell.com>
737
738         * HttpRequest.cs: dispose of streams the way it should
739         be done.
740
741 2008-04-14  Igor Zelmanovich <igorz@mainsoft.com>
742
743         * HttpRuntime.cs: refactoring.
744
745 2008-04-14  Marek Habersack  <mhabersack@novell.com>
746
747         * XmlSiteMapProvider.cs: FindStartingNode throws an exception when
748         it is passed a file which ends in an extension other than
749         .sitemap.
750         Fixed a check for the siteMapFile attribute presence. Fixes bug
751         #379566.
752
753         * SiteMap.cs: FindCurrent node uses the default provider
754         exclusively. Fixes bug #379566
755
756 2008-04-10  Marek Habersack  <mhabersack@novell.com>
757
758         * HttpApplicationFactory.cs: compile web references before
759         App_Code. Fixes bug #377934
760
761         * MimeTypes.cs: added some missing MIME types. New entries
762         contributed by Albert Ritmeester
763         <aritmeester@vitalhealthsoftware.nl>, thanks! Fixes bug #372290
764
765 2008-04-09  Marek Habersack  <mhabersack@novell.com>
766
767         * HttpContext.cs: make RewritePath work correctly in the 2.0
768         profile, fixes bug #371581
769
770         * HttpApplicationFactory.cs: compile web references. Fixes bug
771         #377934
772
773         * VirtualPath.cs: added a method to convert a physical path into a
774         virtual one, if the physical path is under the application root.
775
776 2008-04-08  Dean Brettle <dean@brettle.com>
777
778         * HttpApplicationFactory.cs (CapabilitiesProcessor): changed to
779         use etc/mono/2.0/Browser/*.browser files in addition to 
780         ~/App_Browsers/*.browser files.
781
782 2008-04-07  Marek Habersack  <mhabersack@novell.com>
783
784         * VirtualPath.cs: added
785
786 2008-04-02  Marek Habersack  <mhabersack@novell.com>
787
788         * HttpRequest.cs: make sure QueryStringRaw is always returned with
789         a leading '?' and that we return something meaningful even if the
790         url components weren't collected before. Fixes bug #376352
791
792 2008-04-01  Marek Habersack  <mhabersack@novell.com>
793
794         * HttpApplication.cs: set context.Handler to the detected handler
795         object before firing application events. Fixes bug #372897
796
797 2008-03-31  Marek Habersack  <mhabersack@novell.com>
798
799         * StaticFileHandler.cs: added code to use custom
800         VirtualPathProvider, if present, to serve files from virtual
801         storage.
802
803         * HttpResponse.cs: added two internal TransmitFile overloads which
804         take a VirtualFile as a parameter.
805
806 2008-03-27  Marek Habersack  <mhabersack@novell.com>
807
808         * HttpRequest.cs: make UrlComponents internal.
809
810         * HttpContext.cs: added support for resource provider factories.
811
812 2008-03-13  Marek Habersack  <mhabersack@novell.com>
813
814         * HttpApplicationFactory.cs: use HttpApplication.BinDirs to
815         create watchers for binary application directories.
816
817         * HttpApplication.cs: use HttpRuntime.CaseInsensitive instead of
818         own IsRunningOnWindows.
819         Remove the BinDirectories enumerator property, replaced with a
820         BinDirectory one returning a string with path to the binary
821         directory.
822
823         * HttpRuntime.cs: introduce two static properties -
824         CaseInsensitive (set to true whenever the environment is
825         case-insensitive - i.e. MONO_IOMAP="all" or MONO_IOMAP="case", or
826         running on Windows) and RunningOnWindows.
827
828 2008-03-12  Marek Habersack  <mhabersack@novell.com>
829
830         * HttpApplication.cs: HttpContext.Handler may be set by a module
831         in any of the event handlers between acquiring the initial handler
832         and processing the request. Honor the setting and use
833         HttpContext.Handler instead of the matched one if set.
834
835 2008-03-10  Marek Habersack  <mhabersack@novell.com>
836
837         * HttpApplication.cs: synchronize Modules and Dispose with
838         InitOnce. Should prevent firing module events before the modules
839         are fully initialized.
840
841 2008-03-09  Dean Brettle <dean@brettle.com> 
842
843         * HttpApplicationFactory.cs: Added support for detecting 
844         App_Browsers/*.browser files and using them to determine capabilities.
845         Also restart the app if the App_Browsers, App_Code, or App_GlobalResources
846         directories are created.
847
848         * BrowserCapabilities.cs (TagWriter): get value via internal virtual
849         GetTagWriter() method, which is overridden in nBrowser.Result.
850
851         * HttpRequest.cs (BrowserMightHaveSpecialWriter, BrowserMightHaveAdapters):
852         internal properties added to allow Page and Control methods to avoid
853         accessing Request.Browser to get browser-specific HtmlTextWriters or 
854         ControlAdapters.  Those things only exist when there are App_Browsers
855         files.
856
857 2008-03-09  Marek Habersack  <mhabersack@novell.com>
858
859         * HttpUtility.cs: HTML-decode the query string prior to parsing
860         it.
861
862 2008-03-01  Marek Habersack  <mhabersack@novell.com>
863
864         * HttpRuntime.cs: SettingsMappingManager has been moved to
865         Mono.Web.
866
867 2008-02-28  Marek Habersack  <mhabersack@novell.com>
868
869         * HttpParamsCollection.cs: restore the GetValues overrides only to
870         make sure the collections are merged before invoking the base
871         implementation. 
872         Remove code that's no longer needed.
873
874 2008-02-27  Marek Habersack  <mhabersack@novell.com>
875
876         * HttpException.cs: error message output format changes.
877
878 2008-02-26  Kornél Pál  <kornelpal@gmail.com>
879
880         * HttpResponse.cs: Don't add Date header because servers usually add
881         a Date header that would result in duplicate Date header sent to the
882         client. Fixes bug #363404.
883
884 2008-02-25  Marek Habersack  <mhabersack@novell.com>
885
886         * HttpException.cs: fix a buglet with unfoldable hidden divs which
887         contain the full compiler output and the full source code.
888
889         * HttpContext.cs: correctly set the timeout if the user has
890         specified a timeout which, when converted to milliseconds yields a
891         value larger than one allowed by Timer.Change. This can happen,
892         for instance, when HttpServerUtility.ScriptTimeout is set to
893         Int32.MaxValue. Previously, when something like that happened, the
894         value was converted to 0ms, giving an instantenous timer
895         expiration and, what follows, a request "timeout".
896
897 2008-02-19  Marek Habersack  <mhabersack@novell.com>
898
899         * HttpParamsCollection.cs: do not override the NVC behavior for
900         GetValues - values from different sources (Form, Query, Cookies,
901         ServerVariables) must be kept separate for this purpose. This is
902         also the behavior of MS.NET. Fixes bug #362189
903
904 2008-02-18  Marek Habersack  <mhabersack@novell.com>
905
906         * HttpRuntime.cs: When app is offline, send status code 503
907         instead of 200. Fixes bug #357565
908
909 2008-02-10  Gert Driesen  <drieseng@users.sourceforge.net>
910
911         * HttpException.cs: Avoid IndexOutOfRangeException when there are no
912         error lines.
913
914 2008-02-07  Gert Driesen  <drieseng@users.sourceforge.net>
915
916         * HttpException.cs: Removed CWL.
917
918 2008-02-07  Marek Habersack  <mhabersack@novell.com>
919
920         * HttpException.cs: more exception output compatibility changes to
921         match MS.NET.
922
923 2008-02-07  Vladimir Krasnov  <vladimirk@mainsoft.com>
924
925         * HttpContext.jvm.cs: added CurrentHandlerInternal property
926
927 2008-02-07  Marek Habersack  <mhabersack@novell.com>
928
929         * HttpException.cs: moved several strings to constants, for easier
930         maintenance. 
931         Added 3 new constructors which let the caller to set the exception
932         description.
933         The Description property is now settable.
934         The stack trace at the bottom of the file is written after the
935         terminating </html>, inside a HTML comment. Format changed to
936         match MS.NET.
937         Error 404 is handled in a special way, to match the output with
938         MS.NET.
939
940         * HttpContext.cs, StaticFileHandler.cs, HttpApplication.cs: use
941         the new HttpException constructor for 404.
942
943 2008-02-07  Vladimir Krasnov  <vladimirk@mainsoft.com>
944
945         * HttpResponse.cs: fixed AddHeadersNoCache, removed date_header since
946         java app server adds it, under TARGET_J2EE.
947
948 2008-02-06  Marek Habersack  <mhabersack@novell.com>
949
950         * HttpApplicationFactory.cs: in FireOnAppEnd, set app_type to null
951         after the event has been fired.
952
953         * HttpRuntime.cs: when switching to offline mode fire the
954         shutdown events. Fixes bug #357565.
955         Watch for Created event in the FileSystemWatcher for the
956         app_offline.htm files.
957
958 2008-01-29  Vladimir Krasnov  <vladimirk@mainsoft.com>
959
960         * HttpRequest.cs: performance optimization of QueryStringRaw
961
962 2008-01-27  Igor Zelmanovich <igorz@mainsoft.com>
963
964         * HttpResponse.cs: rise PreSendRequestHeaders befire headers_sent 
965         initialization to allow set additional headers or status code at 
966         PreSendRequestHeaders event handlers.
967
968 2008-01-24  Marek Habersack  <mhabersack@novell.com>
969
970         * HttpApplicationFactory.cs: use BuildManager.GetCompiledType to
971         build the application (global.asax) file.
972
973 2008-01-22  Konstantin Triger <kostat@mainsoft.com>
974
975         * HttpResponse.cs: move headers_sent initialization up to prevent additional
976                 trial to send headers if an exception is thrown.
977
978 2008-01-21  Konstantin Triger <kostat@mainsoft.com>
979
980         * HttpRequest.cs: Form validation: ensure the collection is accessible after
981                 validation failed.
982
983 2008-01-16  Juraj Skripsky  <js@hotfeet.ch>
984
985         * HttpRequest.cs (get_UrlReferrer): Handle case when headers contain
986         invalid Url for referer.
987
988 2008-01-16  Juraj Skripsky  <js@hotfeet.ch>
989
990         * HttpCookieCollection.cs (AllKeys): Use Keys.CopyTo().
991
992 2008-01-14  Sebastien Pouliot  <sebastien@ximian.com>
993
994         * HttpCookie.cs: Fix HttpOnly setter. Found using Gendarme.
995
996 2008-01-02  Vladimir Krasnov  <vladimirk@mainsoft.com>
997
998         * HttpContext.cs: added resource manager caching in GetResourceObject
999         * HttpContext.jvm.cs: added resourceManagerCache storing in appdomain
1000
1001 2007-12-31  Vladimir Krasnov  <vladimirk@mainsoft.com>
1002
1003         * HttpContext.cs: added HasError method
1004         * HttpApplication.cs: refactored thread abort handling
1005
1006 2007-12-31  Vladimir Krasnov  <vladimirk@mainsoft.com>
1007
1008         * HttpRuntime.cs: fixed HttpRuntime, added Cache.DependencyCache
1009         initialization
1010
1011 2007-12-26 Igor Zelmanovich <igorz@mainsoft.com>
1012         
1013         * TraceContext.cs:
1014         * TraceData.cs:
1015         make trace considers control state info.                
1016
1017 2007-12-25 Igor Zelmanovich <igorz@mainsoft.com>
1018         
1019         * HttpApplication.cs: initialize culture each request.
1020         makes it consider culture settings from nested web.config               
1021
1022 2007-12-19  Juraj Skripsky <js@hotfeet.ch>
1023
1024         * HttpContext.cs, HttpApplication.cs: Move timeout tracking from
1025         TimeoutManager into HttpContext. Replace periodic timeout checks with
1026         separate per-context timeout timers.  
1027         * HttpRuntime.cs: remove TimeoutManager.
1028
1029 2007-12-18  Miguel de Icaza  <miguel@novell.com>
1030
1031         * HttpCookieCollection.cs (Get): implement using the indexer to
1032         share some code.   Should fix #349564.
1033
1034 2007-12-16 Igor Zelmanovich <igorz@mainsoft.com>
1035         
1036         * HttpContext.cs: added IsProcessingInclude property.
1037         * HttpServerUtility.cs: set IsProcessingInclude value within Execute.
1038
1039 2007-12-13  Marek Habersack  <mhabersack@novell.com>
1040
1041         * HttpRequest.cs, HttpResponse.cs, SiteMapNode.cs, HttpRuntime.cs,
1042         HttpResponseStream.cs, HttpApplication.cs, HttpCachePolicy.cs:
1043         speed optimization - use String.Concat instead of String.Format in
1044         some cases.
1045
1046 2007-12-13 Igor Zelmanovich <igorz@mainsoft.com>
1047         
1048         * HttpApplication.cs:
1049         * HttpContext.cs:
1050         * HttpRequest.cs:
1051         * HttpServerUtility.cs:
1052         - When Transfer/Execute is called with preserveForm=true, transferred 
1053         page is not processed as PostBack but form collection is preserved.
1054         - When Execute is called more than once, PreviousPage property is set 
1055         correct.
1056
1057 2007-12-09  Vladimir Krasnov  <vladimirk@mainsoft.com>
1058
1059         * HttpApplication.cs: added TARGET_JVM to LoadType method
1060
1061 2007-12-08  Marek Habersack  <mhabersack@novell.com>
1062
1063         * HttpRuntime.cs: initialize the Settings Mapping Manager once per
1064         application, just after initalizing the WebConfigurationManager.
1065
1066 2007-11-28  Marek Habersack  <mhabersack@novell.com>
1067
1068         * HttpApplication.cs: peform the check of whether we're running on
1069         Windows from within a static constructor.
1070
1071 2007-11-23  Marek Habersack  <mhabersack@novell.com>
1072
1073         * RequestNotificationStatus.cs: fix the order of enum members.
1074
1075         * RequestNotification.cs: assign correct values to the enum
1076         members.
1077
1078         * StaticSiteMapProvider.cs: change visibility of the constructor.
1079
1080         * HttpRequest.cs: added missing property LogonUserIdentity.
1081
1082         * HttpCacheVaryByContentEncodings.cs: this constructor should not
1083         be public.
1084
1085 2007-11-23  Daniel Nauck  <dna@mono-project.de>
1086
1087         * TraceContextRecord.cs: implemented
1088
1089 2007-11-23  Marek Habersack  <mhabersack@novell.com>
1090
1091         * BrowserCapabilities.cs: the JavaScript property is obsolete in
1092         2.0sp1.
1093
1094 2007-11-22  Daniel Nauck  <dna@mono-project.de>
1095
1096         * IPartitionResolver.cs: implemented
1097
1098 2007-11-22  Daniel Nauck  <dna@mono-project.de>
1099
1100         * WebPageTraceListener.cs: implemented
1101
1102 2007-11-22  Marek Habersack  <mhabersack@novell.com>
1103
1104         * RequestNotificationStatus.cs: added
1105
1106         * RequestNotification.cs: added
1107
1108         * HttpCacheVaryByContentEncodings.cs: added
1109
1110         * HttpCachePolicy.cs: added the HttpCacheVaryByContentEncodings
1111         property.
1112
1113         * HttpApplication.cs: added 3 new events to the pipeline (for
1114         compatibility with the 2.0sp1/3.5 version of System.Web)
1115
1116 2007-11-22  Daniel Nauck  <dna@mono-project.de>
1117
1118         * WebPageTraceListener.cs: initial checkin (stubs).
1119
1120 2007-11-17  Marek Habersack  <mhabersack@novell.com>
1121
1122         * HttpResponse.cs: make sure fileDependencies is not null before
1123         attempting to use it. Fixes bug #342511.
1124
1125 2007-11-07 Igor Zelmanovich <igorz@mainsoft.com>
1126
1127         * TraceContext.cs:
1128         * TraceData.cs: implemented TraceMode feature.  
1129
1130 2007-11-07 Igor Zelmanovich <igorz@mainsoft.com>
1131
1132         * BaseParamsCollection.cs:
1133         ensure collection will not be changed during enumeration.
1134
1135 2007-11-06  Marek Habersack  <mhabersack@novell.com>
1136
1137         * HttpResponse.cs: trigger the PreSendRequestHeaders event before
1138         setting the output headers. Fixes bugs #334521, #339538
1139
1140         * TraceData.cs: do not use DataTable for trace data storage
1141         anymore. Instead, a set of classes is used to hold data and a
1142         Queue container (generic version in 2.0) is used to hold the data
1143         rows. Fixes bug #325267.
1144
1145 2007-11-05  Marek Habersack  <mhabersack@novell.com>
1146
1147         * HttpRequest.cs: cope with UriBuilder.Query being null.
1148
1149 2007-11-03  Gert Driesen  <drieseng@users.sourceforge.net>
1150
1151         * HttpRuntime.cs: Always return a path with trailing directory
1152         separator character. Spaces to tabs.
1153
1154 2007-11-03  Marek Habersack  <mhabersack@novell.com>
1155
1156         * HttpApplication.cs: removed unused internal PrivateBinPath
1157         property.
1158
1159         * HttpRuntime.cs: BinDirectory returns a path that ends with the
1160         directory separator character.
1161
1162 2007-11-02  Marek Habersack  <mhabersack@novell.com>
1163
1164         * HttpServerUtility.cs: in 2.0, Transfer is allowed only from
1165         pages. Fixes bug #334931
1166         Also, according to MSDN docs, transfer in 2.0+ is possible only to
1167         other pages.
1168
1169         * HttpRuntime.cs: BinDirectory returns a full path to the actual
1170         bin directory in the application root. If no bin directory is
1171         found, it defaults to returning <applicationPath>/bin. Fixes bug
1172         338116.
1173
1174         * HttpApplication.cs: introduced HTTP handler cache to save time
1175         on repetitive handler collection traversals. On busy sites the
1176         traversal of the default 26 handlers may account for thousands of
1177         unnecessary calls to configsystem.LocateHandler method, which may
1178         also involve executing a regex. The cache is cleared whenever the
1179         HTTP handler collection is modified.
1180
1181 2007-10-30 Igor Zelmanovich <igorz@mainsoft.com>
1182
1183         * HttpUtility.cs: fixed HtmlEncode for TARGET_JVM.
1184
1185 2007-10-30 Igor Zelmanovich <igorz@mainsoft.com>
1186
1187         * HttpUtility.cs: fixed UrlPathEncode.
1188
1189 2007-10-24  Gert Driesen  <drieseng@users.sourceforge.net>
1190
1191         * StaticFileHandler.cs: Modified 404 message to match MS.
1192
1193 2007-10-24  Marek Habersack  <mhabersack@novell.com>
1194
1195         * HttpUtility.cs: MS.NET does not support the ';' query parameter
1196         separator. Fixes bug #335615
1197
1198 2007-10-18  Juraj Skripsky  <js@hotfeet.ch>
1199
1200         * StaticSiteMapProvider.cs: Replace Hashtables by Dictionaries,
1201         don't allocate them on-demand, there will never be many
1202         Provider instances around.
1203         AddNode(): Check for duplicate keys before adding any item to
1204         hashtables.
1205         RemoveNode(): Use fact that Hashtable.Remove() never throws,
1206         remove item from keyToNode as well, make symmetric to AddNode().
1207         MapUrl(): Use VirtualPathUtility, allow for full urls
1208         (e.g. http://www.google.com).
1209         
1210 2007-10-17  Marek Habersack  <mhabersack@novell.com>
1211
1212         * StaticFileHandler.cs: fixed an bug with Mono running under
1213         Windows operating systems which caused XSP to return source of the
1214         requested page if the file name used in the request ended in any
1215         number of spaces or dots. The problem lies in the way the Win32
1216         subsystem treats such file names - it ignores the trailing
1217         characters and allows the calling application to open a file on
1218         disk even when its name does not contain the trailing characters
1219         used in the open request. Such file names may be supported by the
1220         underlying filesystem (e.g. NTFS) but they are not supported by
1221         the I/O Win32 subsystem. The security issue is reported in
1222         CVE security report CVE-2007-5473. Fixes bug #332401
1223         
1224 2007-10-17  Igor Zelmanovich <igorz@mainsoft.com>
1225
1226         * HttpResponse.cs:
1227         response status is sent after PreSendRequestHeaders invoked.
1228         Redirect method set RedirectLocation property
1229         fixes bug #334521
1230                 
1231 2007-10-15  Marek Habersack  <mhabersack@novell.com>
1232
1233         * HttpApplication.cs: do not return a non-existing bin directory
1234         from BinDirectories. Patch from Atsushi Enomoto
1235         <atsushi@ximian.com>, thanks! Fixes bug #332434. 
1236
1237 2007-10-04  Marek Habersack  <mhabersack@novell.com>
1238
1239         * HttpApplication.cs: call the Init method after loading the
1240         modules and hooking up application events. Fixes bug #330416.
1241
1242 2007-10-01  Marek Habersack  <mhabersack@novell.com>
1243
1244         * HttpServerUtility.cs: set a flag when transferring control to
1245         another page.
1246
1247         * HttpContext.cs: added an internal InTransit property to carry
1248         information that HttpServerUtility.Transfer has been used, over to
1249         the target page.
1250
1251 2007-09-12  Juraj Skripsky <js@hotfeet.ch>
1252
1253         * StaticSiteMapProvider.cs (AddNode): Add message text to
1254         InvalidOperationException (duplicate url case).
1255
1256 2007-09-06  Marek Habersack  <mhabersack@novell.com>
1257
1258         * HttpCachePolicy.cs: implemented setting the ETag and
1259         Last-Modified headers from file dependencies.
1260
1261         * HttpResponse.cs: implemented file dependency methods.
1262
1263 2007-09-01  Marek Habersack  <mhabersack@novell.com>
1264
1265         * HttpRuntime.cs: rewrote the app_offline.htm support. It now uses
1266         filesystem watchers instead of checking for existence of the
1267         file(s) at the beginning of every request. No performance penalty
1268         that way.
1269
1270 2007-08-31  Marek Habersack  <mhabersack@novell.com>
1271
1272         * HttpApplicationFactory.cs: added methods to enable/disable
1273         watchers.
1274
1275         * HttpRuntime.cs: implemented handling of app_offline.htm file in
1276         the application root directory. Fixes bug #81127.
1277
1278         * HttpResponse.cs: make sure neither context or
1279         context.ApplicationInstance are null in End ().
1280
1281 2007-08-27  Marek Habersack  <mhabersack@novell.com>
1282
1283         * HttpCookie.cs: make sure a key is output even if it has no
1284         values set. Fixes bug #81333.
1285
1286 2007-08-23  Marek Habersack  <mhabersack@novell.com>
1287
1288         * HttpApplication.cs: added a static array BinDirs which contains
1289         the common bin directory names we can encounter.
1290         Added internal static property IsRunningOnWindows.
1291         Added internal enumerable property BinDirectories to iterate over
1292         the full paths of the available binary directories.
1293         Added internal enumerable property BinDirectoryAssemblies to
1294         iterate over .dll files in the bin directories.
1295         LoadTypeFromPrivateBin renamed to LoadTypeFromBin.
1296         LoadTypeFromBin uses BinDirectoryAssemblies.
1297         
1298         * HttpApplicationFactory.cs: use HttpApplication.BinDirectories to
1299         interate over the list of bin dirs.
1300
1301 2007-08-21  Marek Habersack  <mhabersack@novell.com>
1302
1303         * HttpApplicationFactory.cs: watch for changes in all the
1304         private binary directories for the current application domain.
1305
1306         * HttpApplication.cs: turn the PrivateBinPath property into an
1307         internal enumerable, so that code throughout the assembly can
1308         iterate over the list of private bin directories configured for
1309         the application domain.
1310         Added a new internal method LoadTypeFromPrivateBin, for sharing
1311         with other parts of the assembly.
1312
1313 2007-08-18  Juraj Skripsky <js@hotfeet.ch>
1314
1315         * HttpRequest.cs (StripPath): Fix off-by-one error, make static.
1316
1317 2007-08-18  Marek Habersack  <mhabersack@novell.com>
1318
1319         * HttpRequest.cs: IE sends the full input file path when uploading
1320         a file via the upload input control. Detect the situation and
1321         strip the leading path. Fixes bug #82059.
1322
1323         * HttpServerUtility.cs: set the current context's path(s) to the
1324         Transfer/Execute target only to retrieve the new handler, and
1325         restore them immediately afterwards. It has a two-fold effect:
1326         first it avoids an extra round trip to the original page which
1327         called Transfer/Execute, second it makes FilePath etc. return
1328         information about the original page (that is the one which called
1329         Transfer/Execute). Fixes bug #82439.
1330
1331 2007-08-14  Marek Habersack  <mhabersack@novell.com>
1332
1333         * XmlSiteMapProvider.cs: do not hide this_lock.
1334
1335 2007-08-09  Marek Habersack  <mhabersack@novell.com>
1336
1337         * HttpApplicationFactory.cs: unconditionally watch for changes
1338         (including creation) to Global.asax, global.asax, Web.config,
1339         web.config and Web.Config. This makes the application restart once
1340         any of those is created. Patch from Juraj Skripsky
1341         <juraj@hotfeet.ch>, thanks! Fixes bug #82380.
1342
1343 2007-08-08  Marek Habersack  <mhabersack@novell.com>
1344
1345         * StaticSiteMapProvider.cs, HttpApplicationFactory.cs,
1346         HttpStaticObjectsCollection.cs, SiteMapProvider.cs,
1347         XmlSiteMapProvider.cs, HttpApplication.cs, CapabilitiesLoader.cs,
1348         TimeoutManager.cs: do not use lock (this), replace it with lock
1349         (this_object), where this_object is an instance variable. Prevents
1350         deadlocks in situation when external code locks on the class
1351         instance.
1352
1353 2007-08-05  Vladimir Krasnov  <vladimirk@mainsoft.com>
1354
1355         * HttpUtility.cs: performance refactoring, optimized UrlEncode
1356
1357 2007-08-05 Igor Zelmanovich <igorz@mainsoft.com>
1358
1359         * SiteMapNode.cs: refactoring + typo fix: 
1360         variable is declared in scope where is used.
1361
1362 2007-07-31  Vladimir Krasnov  <vladimirk@mainsoft.com>
1363
1364         * VirtualPathUtility.cs: refactored GetDirectory, ToAbsolute, added
1365         internal api to skip path normalizing
1366
1367 2007-07-30  Vladimir Krasnov  <vladimirk@mainsoft.com>
1368
1369         * HttpResponseStream.jvm.cs: optimized CharBucket
1370
1371 2007-07-22  Vladimir Krasnov  <vladimirk@mainsoft.com>
1372
1373         * HttpServerUtility.cs: fixed Execute, SetCurrentExePath should be 
1374         called after ApplicationInstance.GetHandler call in case of GetHandler
1375         fails for some reason
1376
1377 2007-07-21  Marek Habersack  <mhabersack@novell.com>
1378
1379         * HttpRuntime.cs: clean up the dynamic base directory on domain
1380         shutdown.
1381
1382 2007-07-10  Vladimir Krasnov  <vladimirk@mainsoft.com>
1383
1384         * HttpUtility.cs: optimized HtmlEncode and HtmlAttributeEncode methods
1385
1386 2007-07-05  Miguel de Icaza  <miguel@novell.com>
1387
1388         * HttpApplication.cs (AsyncRequestState.Complete): Add the
1389         try/catch for the callback here to ensure that we only call
1390         complete_event.Set once. 
1391
1392         (PipelineDone): This is where the core of the bug fix is: do not
1393         call Complete() or call done.Set() (depending on the invocation
1394         case) until we are actually done cleaning up the request.
1395
1396         The problem was that we signaled that we were done, but we had not
1397         completed the shut down, so another thread could have been
1398         scheduled on the same HttpApplication and had its variables be
1399         modified as we completed the shutdown on the first thread. 
1400
1401         This fixes #81400 which was a very long standing bug.  
1402
1403         (Tick): Remove the pipeline check against null, this is not
1404         necessary and it will help us find problems like this one in the
1405         future.
1406
1407         Reverts patch r66072 which was a described as:
1408
1409                 band-aid patch to help debugging hang running 2.0
1410                 tests.
1411
1412 2007-07-02  Marek Habersack  <mhabersack@novell.com>
1413
1414         * CapabilitiesLoader.cs: provide default capability values for all
1415         the 2.0+ capabilities which are not defined in our
1416         browscap.ini. The default values have been assigned as per
1417         MSDN. Fixes bug #81927
1418
1419 2007-06-28  Vladimir Krasnov  <vladimirk@mainsoft.com>
1420
1421         * HttpResponse.cs: fixed AddHeadersNoCache, removed content-length
1422         header for TARGET_JVM
1423         * HttpWorkerRequest.cs: made this class partial, moved TARGET_JVM stuff
1424         to .jvm part
1425         * HttpWriter.cs: fixed write methods, output_stream can write char[]
1426         and string in TARGET_JVM
1427         added HttpWorkerRequest.jvm.cs, HttpResponseStream.jvm.cs
1428
1429 2007-06-25 Juraj Skripsky <js@hotfeet.ch>
1430
1431         * HttpRuntime.cs (ShutdownAppDomain): Re-introduce call to
1432         "Cache.InvokePrivateCallbacks".
1433
1434 2007-06-24  Vladimir Krasnov  <vladimirk@mainsoft.com>
1435
1436         * HttpUtility.cs: fixed HtmlAttributeEncode, performance improvement
1437
1438 2007-06-20  Marek Habersack  <mhabersack@novell.com>
1439
1440         * HttpRuntime.cs: added new internal property, InternalCache, to
1441         keep all the internal cache entries instead of mixing them with
1442         the public cache ones.
1443         Do not invoke Cache.InvokePrivateCallbacks - this method no longer
1444         exists.
1445
1446         * HttpResponse.cs: private entries are now kept in
1447         Context.InternalCache.
1448
1449         * HttpContext.cs: added new internal property, InternalCache,
1450         which returns the HttpRuntime.InternalCache value.
1451
1452         * HttpApplication.cs: check all the loaded assemblies for the type
1453         being looked up. Patch from Juraj Skripsky <juraj@hotfeet.ch>,
1454         thanks! Fixes bug #81697.
1455
1456 2007-06-18 Igor Zelmanovich <igorz@mainsoft.com>
1457
1458         * HttpUtility.cs: refactoring:
1459         removed constants to another class.     
1460
1461 2007-06-18 Igor Zelmanovich <igorz@mainsoft.com>
1462
1463         * AssemblyResourceLoader.cs: refactoring:
1464         make the code reusable in System.Web.Extenssions.       
1465
1466 2007-05-31  Marek Habersack  <mhabersack@novell.com>
1467
1468         * SiteMapProvider.cs: implemented proper logic of authorizing
1469         user's access to a sitemap node, as per MSDN2 docs. Patch from
1470         Dumitru Ban <dban@dako.ro>, thanks!
1471
1472 2007-05-30  Marek Habersack  <mhabersack@novell.com>
1473
1474         * TraceManager.cs: Catch all the possible exceptions in the
1475         constructor - the object MUST be created successfully (even if
1476         there are errors).
1477
1478         * HttpRequest.cs: do not attempt to apply url mappings if the
1479         configuration manager has errors.
1480
1481         * HttpRuntime.cs: handle static constructor exceptions later on,
1482         during the first call to ReallyProcessRequest.
1483
1484         * QueueManager.cs: provide defaults for the parameters to be read
1485         from the config file(s).
1486         Catch all the possible exceptions in the constructor - the object
1487         MUST be created successfully (even if there are errors).
1488
1489 2007-05-29  Marek Habersack  <mhabersack@novell.com>
1490
1491         * SiteMapProvider.cs: updated the node accessibility comments.
1492         If Roles not null and user is not in at least one of the
1493         specified roles, return false.
1494         If there Url is null or empty, return false.
1495
1496 2007-05-28  Marek Habersack  <mhabersack@novell.com>
1497
1498         * HttpRequest.cs: since Path is used from within
1499         WebConfigurationManager, under some conditions it may lead to
1500         endless recursion if the UrlComponents is not instantiated when
1501         Path_get is called.
1502
1503 2007-05-21  Vladimir Krasnov  <vladimirk@mainsoft.com>
1504
1505         * HttpContext.cs: added ProfileInitialized boolean property
1506
1507 2007-05-16  Vladimir Krasnov  <vladimirk@mainsoft.com>
1508
1509         * VirtualPathUtility.cs: Normalize method check more carefully if need
1510         to normalize, performance fix
1511
1512 2007-05-16  Konstantin Triger <kostat@mainsoft.com>
1513
1514         * HttpContext.cs: correctly check for request locality.
1515
1516 2007-05-15  Marek Habersack  <mhabersack@novell.com>
1517
1518         * HttpApplication.cs: refactoring - moved LoadType from
1519         WebConfigurationHost here and made it internal static, in order to
1520         make the code avaliable from all the places where extended type
1521         loading is required.
1522
1523 2007-05-14  Marek Habersack  <mhabersack@novell.com>
1524  
1525         * HttpUtility.cs: when parsing query strings, skip the leading ?
1526         for the first parameter name.
1527
1528         * HttpRequest.cs: added support for mapping urls, as defined in
1529         the system.web/urlMappings section.
1530
1531 2007-05-14  Vladimir Krasnov  <vladimirk@mainsoft.com>
1532         
1533         * HttpWriter.cs: GetMaxByteCount was used in Write and WriteString
1534         methods to improve performance of HttpWriter
1535
1536 2007-05-14 Igor Zelmanovich <igorz@mainsoft.com>
1537
1538         * HttpApplication.cs:
1539         prevent DOS attack: remove configuration from the cache in case 
1540         of invalid resource not exists  
1541
1542 2007-05-14  Vladimir Krasnov  <vladimirk@mainsoft.com>
1543
1544         * TraceContext.cs: refactoring, cached TraceManager
1545
1546 2007-05-03 Igor Zelmanovich <igorz@mainsoft.com>
1547
1548         * HttpApplication.cs:
1549         * HttpContext.cs:
1550         handling exceptions occurred if  <system.web/customError> 
1551         section is not valid.   
1552
1553 2007-05-08  Vladimir Krasnov  <vladimirk@mainsoft.com>
1554
1555         * BaseParamsCollection.cs: fixed Get(string) property, fixed collection
1556         lazy initialization
1557
1558 2007-05-07  Marek Habersack  <mhabersack@novell.com>
1559
1560         * HttpResponseStream.cs: use BufferOutput
1561
1562         * HttpResponse.cs: support Buffer, but use BufferOutput
1563
1564 2007-05-03 Igor Zelmanovich <igorz@mainsoft.com>
1565
1566         * BrowserCapabilities.cs:
1567         added missing API.      
1568
1569 2007-04-30 Igor Zelmanovich <igorz@mainsoft.com>
1570
1571         * HttpApplication.cs: reverted r74717.
1572
1573 2007-04-29 Igor Zelmanovich <igorz@mainsoft.com>
1574
1575         * HttpContext.jvm.cs: Response.End() must abort thread if not async.    
1576
1577 2007-04-29 Igor Zelmanovich <igorz@mainsoft.com>
1578
1579         * HttpApplication.cs: doesn't cache httpHandlersSection in instance, 
1580         that allows to consider httpHandlers section in nested web.config.      
1581
1582 2007-04-27  Marek Habersack  <mhabersack@novell.com>
1583
1584         * XmlSiteMapProvider.cs: add support for siteMapFile attribute.
1585
1586 2007-04-24  Marek Habersack  <mhabersack@novell.com>
1587
1588         * CapabilitiesLoader.cs: Hashtables used as property containers
1589         should not be case-insensitive as we now preload the property
1590         hashes with default properties, to make the code work in case
1591         browscap.ini is broken or missing. Instead, the keys are
1592         lower-cased and trimmed before indexing the Hashtable.
1593         Added all the missing capabilities to the defaultCaps Hashtable.
1594         The returned Hashtable is not reversed in GetCapabilities anymore
1595         - it might make the code faster, but it also makes it mismatch
1596         browsers (e.g. Firefox 2.0 is mismatched for Mozilla 1.8).
1597         All of the above fixes bug #81437.
1598
1599         * HttpRequest.cs: MS.NET throws HttpException for invalid paths,
1600         not ArgumentNullException.
1601
1602         * HttpException.cs: wrap GetHtmlErrorMessage internals in
1603         try/catch to capture possible exceptions in HttpContext.
1604
1605         * HttpContext.cs: IsCustomErrorEnabled is used from within
1606         HttpException, make sure it gets the section in a safe way and
1607         resorts to the default settings.
1608         
1609         * HttpResponse.cs: HeaderEncoding is used in the same context as
1610         above. Take the same precautions.
1611         
1612 2007-04-22 Joshua Tauberer <jit@occams.info>
1613  
1614         * HttpParamsCollection.cs: Fix IndexOutOfRangeException.
1615
1616 2007-04-19  Miguel de Icaza  <miguel@novell.com>
1617
1618         * BaseParamsCollection.cs (Get (string)): Call LoadInfo here to
1619         fix #81385
1620
1621 2007-04-17 Igor Zelmanovich <igorz@mainsoft.com>
1622
1623         * HttpException.cs: used GetBaseException() instead InnerException.
1624
1625 2007-04-17 Igor Zelmanovich <igorz@mainsoft.com>
1626
1627         * HttpException.cs: shows message of InnerException in head of Page.
1628
1629 2007-04-17 Igor Zelmanovich <igorz@mainsoft.com>
1630
1631         * HttpException.cs: fixed generated HTML formating.
1632
1633 2007-04-17 Igor Zelmanovich <igorz@mainsoft.com>
1634
1635         * HttpContext.cs: GetGlobalResourceObject, GetLocalResourceObject
1636         use case-insensitive ResourceManager
1637
1638 2007-04-15  Marek Habersack  <mhabersack@novell.com>
1639
1640         * VirtualPathUtility.cs: converted to LF line endings and set the
1641         svn:eol-style property to 'native'
1642
1643 2007-04-13  Marek Habersack  <mhabersack@novell.com>
1644
1645         * SiteMap.cs: try to look up the current map node in providers
1646         other than the current one. Patch from Mike Morano
1647         <mmorano@mikeandwan.us>. Fixes bug #81366. 
1648
1649 2007-04-12  Vladimir Krasnov  <vladimirk@mainsoft.com>
1650
1651         * HttpRequest.cs: fixed Params property to be lazy initialzation
1652         collection
1653         * added HttpParamsCollection.cs
1654
1655 2007-04-11  Konstantin Triger <kostat@mainsoft.com>
1656
1657         * HttpRequest.cs: IsLocal should return true for loopback addresses.
1658
1659 2007-04-10  Marek Habersack  <mhabersack@novell.com>
1660
1661         * HttpCookie.cs: format the output of HttpCookie.Values.ToString()
1662         in the same way MS.NET does. Fixes bug #81333. Patch from Mike
1663         Morano <mmorano@mikeandwan.us>.
1664
1665         * XmlSiteMapProvider.cs: add the NotifyFilters.Size to the
1666         watcher flags, so that we watch for modifications to a file when
1667         using Linux inotify.
1668
1669         * HttpApplicationFactory.cs: add the NotifyFilters.Size to the
1670         watcher flags, so that we watch for modifications to a file when
1671         using Linux inotify.
1672         App_Code, App_Browsers and App_GlobalResources watchers must watch
1673         for events with the '*' mask so that they can notice events
1674         related to subdirectory creation/deletion.
1675         Watch for subdirectory events with the App_Code watcher.
1676
1677 2007-04-07  Marek Habersack  <mhabersack@novell.com>
1678
1679         * HttpException.cs: show a default custom error message if custom
1680         errors are enabled.
1681         Cleaned up the errors HTML, made it XHTML-compliant. Generated
1682         HTML now uses inline CSS styles.
1683
1684 2007-04-06  Marek Habersack  <mhabersack@novell.com>
1685
1686         * HttpUtility.cs: added a constant that contains the default query
1687         parameter character.
1688         ParseQueryString supports queries with both '&' and ';' parameter
1689         separators.
1690
1691 2007-04-05  Marek Habersack  <mhabersack@novell.com>
1692
1693         * CapabilitiesLoader.cs: Make sure that the capability names
1694         (keys) are stored in lowercase.
1695
1696 2007-04-05 Igor Zelmanovich <igorz@mainsoft.com>
1697
1698         * XmlSiteMapProvider.cs: 
1699         custom attributes of siteMapNode are loaded properly.
1700
1701 2007-04-05  Marek Habersack  <mhabersack@novell.com>
1702
1703         * CapabilitiesLoader.cs: add a full default set of capabilities
1704         for cases when browscap.ini is broken, missing or doesn't contain
1705         definition for the client's User-Agent. Makes it possible to surf
1706         asp.net sites from unsupported clients.
1707
1708 2007-04-04 Juraj Skripsky <js@hotfeet.ch>
1709
1710         * HttpApplicationFactory.cs: Make sure an web application is
1711         shutdown only once (and Application_End in global.asax is called
1712         only once as well). This is necessary because FileSystemWatcher
1713         emits multiple events when e.g. global.asax is changed.
1714
1715 2007-04-01  Vladimir Krasnov  <vladimirk@mainsoft.com>
1716
1717         * HttpRequest.cs: fixed Headers property to use optimized
1718         HeadersCollection
1719         * WebROCollection.cs: used StringComparer.OrdinalIgnoreCase for
1720         NET_2_0
1721         * ServerVariablesCollection.cs: used lazy collection fill optimization
1722         * added: HeadersCollection.cs, BaseParamsCollection.cs
1723
1724 2007-04-01  Konstantin Triger <kostat@mainsoft.com>
1725
1726         * HttpContext.cs: 
1727                 GetLocalResourceObject - should not prefix resources with 'Resources.'.
1728
1729 2007-04-01  Konstantin Triger <kostat@mainsoft.com>
1730
1731         * BrowserCapabilities.cs: Default Browser (userAgent) property to 'Unknown'.
1732
1733 2007-03-29  Vladimir Krasnov  <vladimirk@mainsoft.com>
1734
1735         * HttpContext.cs: timeout methods removed from TARGET_J2EE compilation
1736         * HttpContext.jvm.cs: added stubs for timeout methods
1737
1738 2007-03-28 Igor Zelmanovich <igorz@mainsoft.com>
1739
1740         * StaticSiteMapProvider.cs:
1741         GetChildNodes does not return null but SiteMapNodeCollection.EmptyCollection.
1742
1743 2007-03-28  Konstantin Triger <kostat@mainsoft.com>
1744
1745         * BrowserCapabilities.cs: 
1746                 1. refactoring.
1747                 2. Break recoursion in case 'browser' capability is not found.
1748
1749 2007-03-28 Igor Zelmanovich <igorz@mainsoft.com>
1750
1751         * SiteMapNode.cs: fixed GetAllNodes method.
1752
1753 2007-03-27 Igor Zelmanovich <igorz@mainsoft.com>
1754
1755         * XmlSiteMapProvider.cs: fixed:
1756         resolve app-relative path from config such siteMapFile="~/Web.sitemap".
1757
1758 2007-03-27 Igor Zelmanovich <igorz@mainsoft.com>
1759
1760         * SiteMapNode.cs:
1761         * XmlSiteMapProvider.cs: fixed: Localize Site-Map Data.
1762
1763 2007-03-26  Konstantin Triger <kostat@mainsoft.com>
1764
1765         * HttpRequest.cs: correctly handle null and empty virtual pathes in MapPath.
1766
1767 2007-03-25  Vladimir Krasnov  <vladimirk@mainsoft.com>
1768
1769         * HttpContext.cs: AppGlobalResourcesAssembly static member stored in
1770         AppDomain for TARGET_JVM
1771
1772 2007-03-24  Marek Habersack  <mhabersack@novell.com>
1773
1774         * HttpRuntime.cs: use ICalls.GetMachineConfigPath instead of
1775         opening the machine.config file and getting its path.
1776
1777         * CapabilitiesLoader.cs: use HttpRuntime.MachineConfigurationDirectory 
1778         instead of opening the machine config file and getting its path.
1779
1780 2007-03-23  Konstantin Triger <kostat@mainsoft.com>
1781
1782         * HttpApplication.cs: complete the pipeline in case of exception during
1783                 InitOnce() to avoid a deadlock.
1784
1785 2007-03-22  Adar Wesley <adarw@mainsoft.com>
1786
1787         * BrowserCapabilities.cs: Added implementation for all capabilities.
1788         changed implementation to throw when capability is not defined in browscaps.ini.
1789
1790         * CapabilitiesLoader.cs: fixed parent resultion bug.  added internal support for
1791         browser and browsers capabilities.
1792
1793 2007-03-21  Vladimir Krasnov  <vladimirk@mainsoft.com>
1794
1795         * HttpContext.jvm.cs, HttpRuntime.cs: cached instance of HttpRuntime
1796         in context in addition to AppDomain
1797
1798 2007-03-21  Vladimir Krasnov  <vladimirk@mainsoft.com>
1799         
1800         * HttpCookie.cs, HttpCookieCollection.cs: used OrdinalIgnoreCase
1801         StringComparer for cookies and values collections 
1802
1803 2007-03-21  Vladimir Krasnov  <vladimirk@mainsoft.com>
1804
1805         * HttpApplication.cs: refactred handlers configuration section as
1806         member of class
1807
1808 2007-03-20  Marek Habersack  <mhabersack@novell.com>
1809
1810         * HttpRequest.cs: implement AppRelativeCurrentExecutionFilePath.
1811
1812 2007-03-18 Igor Zelmanovich <igorz@mainsoft.com>
1813
1814         * VirtualPathUtility.cs: fixed GetFileName(), GetExtension() methods.
1815
1816 2007-03-18 Igor Zelmanovich <igorz@mainsoft.com>
1817
1818         * VirtualPathUtility.cs: fixed GetDirectory() method.
1819
1820 2007-03-15  Marek Habersack  <mhabersack@novell.com>
1821
1822         * XmlSiteMapProvider.cs: handle cases with no default for the
1823         reskey properly.
1824
1825 2007-03-15 Igor Zelmanovich <igorz@mainsoft.com>
1826
1827         * HttpRequest.cs: fixed MapPath () method.
1828
1829 2007-03-15 Igor Zelmanovich <igorz@mainsoft.com>
1830
1831         * VirtualPathUtility.cs: fixed ToAbsolute() method.
1832
1833 2007-03-15 Igor Zelmanovich <igorz@mainsoft.com>
1834
1835         * VirtualPathUtility.cs: refactoring: class is shared with 1.x.
1836
1837 2007-03-15  Marek Habersack  <mhabersack@novell.com>
1838
1839         * XmlSiteMapProvider.cs: add support for the enableLocalization
1840         <siteMap> attribute and handle per-node localization resource
1841         strings for explicit localization as well as the resourceKey
1842         attribute to <siteMapNode> for implicit localization (closes bug
1843         #81103).
1844
1845         * SiteMapNode.cs: add support for the resource keys and foreign
1846         attributes.
1847         Implement GetImplicitResourceString.
1848         Add support for translation of the Title and Description
1849         attributes (closes bug #81103) as well as foreign attributes.
1850
1851 2007-03-15 Igor Zelmanovich <igorz@mainsoft.com>
1852
1853         * VirtualPathUtility.cs: fixed: works properly with appRelative path.
1854
1855 2007-03-13  Marek Habersack  <mhabersack@novell.com>
1856
1857         * HttpApplicationFactory.cs: resources compiler no longer accepts
1858         a boolean parameter.
1859
1860         * HttpRuntime.cs: Do not compile local resources here anymore.
1861
1862         * HttpContext.cs: if App_LocalResources assembly corresponding to
1863         the virtual path is not found, compile it here.
1864         Look up resources in the "Resources." class path.
1865
1866 2007-03-13 Igor Zelmanovich <igorz@mainsoft.com>
1867
1868         * HttpUtility.cs: fixed HttpUtillity.HtmlAttributeEncode
1869          '<' char must be encoded.      
1870
1871 2007-03-12  Vladimir Krasnov  <vladimirk@mainsoft.com>
1872
1873         * CapabilitiesLoader.cs: added TARGET_JVM part of static members,
1874         added caching to GetCapabilities method for performance improvement
1875
1876 2007-03-12  Marek Habersack  <mhabersack@novell.com>
1877
1878         * XmlSiteMapProvider.cs: support custom site map providers. Fixes
1879         bug #81115
1880
1881 2007-03-06  Vladimir Krasnov  <vladimirk@mainsoft.com>
1882
1883         * StaticFileHandler.cs: fixed ProcessRequest TARGET_JVM path,
1884         if_modified_since fixed in WAR mode
1885
1886 2007-02-25  Vladimir Krasnov  <vladimirk@mainsoft.com>
1887
1888         * HttpRequest.jvm.cs: fixed LoadWwwForm, should distinguish between
1889         query string and form values
1890
1891 2007-02-21  Marek Habersack  <grendello@gmail.com>
1892
1893         * HttpRuntime.cs: BinDirectory returns the bin directory
1894         determined by the application host on the application startup.
1895
1896         * HttpApplicationFactory.cs: Watch the bin directory determined by
1897         the application host on the application startup.
1898
1899 2007-02-20  Vladimir Krasnov  <vladimirk@mainsoft.com>
1900
1901         * HttpRequest.cs: fixed MapPath, removed TARGET_J2EE block that checks
1902         war root symbol
1903
1904 2007-02-19  Marek Habersack  <grendello@gmail.com>
1905
1906         * HttpContext.cs: Make sure all the global resource objects are
1907         sought in the Resources. namespace.
1908
1909 2007-02-18  Eyal Alaluf  <eyala@mainsoft.com>
1910
1911         * HttpContext.jvm.cs, HttpRequest.jvm.cs: Adapt for tunning under test
1912           harness where we don't have a SevletRequest/Response.
1913
1914 2007-02-13  Vladimir Krasnov  <vladimirk@mainsoft.com>
1915
1916         * HttpApplication.cs: fixed InitOnce, httpModules section is global and
1917         taken from the root web.config
1918
1919 2007-02-12  Robert Jordan  <robertj@gmx.net>
1920
1921         * HttpResponseStream.cs (BlockManager.EnsureCapacity):
1922         don't call Marshal.ReAllocHGlobal on NULL because, unlike
1923         realloc(3) and g_realloc, it doesn't support this semantic.
1924         Fixes a part of bug #77075.
1925
1926 2007-02-12  Marek Habersack  <grendello@gmail.com>
1927
1928         * HttpRuntime.cs: support for preservation (.compiled) assembly
1929         mapping files.
1930
1931 2007-02-11  Vladimir Krasnov  <vladimirk@mainsoft.com>
1932
1933         * HttpApplication.cs: added exception pass through from processAction
1934         in j2ee portal
1935
1936 2007-02-02  Marek Habersack  <grendello@gmail.com>
1937
1938         * HttpApplicationFactory.cs: make code a bit more compact.
1939
1940 2007-01-30  Vladimir Krasnov  <vladimirk@mainsoft.com>
1941
1942         * HttpResponse.cs: fixed TARGET_J2EE part of Redirect for portlet
1943
1944 2007-01-30  Adar Wesley <adarw@mainsoft.com>
1945
1946         * VirtualPathUtility.cs: fixed exceptions thrown from Combine
1947         so they are compatible with MS.
1948
1949 2007-01-25  Marek Habersack  <grendello@gmail.com>
1950
1951         * HttpApplication.cs: Make sure that a specific culture is used
1952         when setting the current thread culture.
1953
1954 2007-01-21 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
1955
1956         * HttpServerUtility.cs: implement Execute/Transfer overloads that take
1957         an IHttpHandler. Still missing the documented check for page IsCallback.
1958         Also, on MS when i derive from Page for my IHttpHandler, it works fine,
1959         but if I just implement IHttpHandler, an exception is thrown. This needs
1960         to be researched but, by now, the IHttpHandler version works on mono
1961         and fails on MS.
1962
1963 2007-01-20  Miguel de Icaza  <miguel@novell.com>
1964
1965         * SiteMapNode.cs (GetExplicitResourceString): implement.
1966
1967         * HttpContext.cs (GetGlobalResourceObject): remove unused variable.
1968
1969         * StaticFileHandler.cs (ProcessRequest): remove unused variable.
1970
1971         * HttpApplication.cs (ProcessError): Remove unused variable. 
1972
1973         * HttpServerUtility.cs (Execute): Add new overload and rename
1974         parameter to match MS (as they are normative).
1975
1976 2007-01-17  Marek Habersack  <grendello@gmail.com>
1977
1978         * HttpApplicationFactory.cs: Implement code and framework to
1979         enable automatic application restarts on changes to folders/files
1980         in a generic way. Patch from Damien Churchill
1981         <damien.churchill@ukplc.net>, thanks!
1982         Make sure the top-level assemblies (App_Code, resources) are not
1983         referenced twice should a compilation error occur.
1984
1985 2007-01-16  Atsushi Enomoto  <atsushi@ximian.com>
1986
1987         * TraceData.cs : page could be null. Fixed bug #80480.
1988
1989 2007-01-15  Ilya Kharmatsky   <ilya -at- decode-systems.com>
1990
1991         * VirtualPathUtility.cs: fixed bugs in methods - GetDirectory and
1992         GetExtension, according to the VirtualPathUtilityTest
1993
1994 2007-01-15  Vladimir Krasnov  <vladimirk@mainsoft.com>
1995
1996         * SiteMapProvider.cs: fixed IsAccessibleToUser, true if
1997         SecurityTrimmingEnabled not enabled, true if Roles exists on node and
1998         rolename is '*'
1999
2000 2007-01-14  Eyal Alaluf  <eyala@mainsoft.com>
2001
2002         * HttpRequest.jvm.cs, HttpContext.jvm.cs: Added TARGET_J2EE specific files.
2003         * HttpContext.cs, HttpResponse.cs, HttpRequest.cs, HttpCookie.cs:
2004           Add J2EE Portal support for TARGET_J2EE.
2005
2006 2007-01-04  Vladimir Krasnov  <vladimirk@mainsoft.com>
2007
2008         * HttpRequest.cs: fixed IsLocal, should check all ip addresses of host
2009
2010 2007-01-05  Marek Habersack  <grendello@gmail.com>
2011
2012         * HttpApplicationFactory.cs: Use the new app resources compiler.
2013
2014         * HttpRuntime.cs: Use the new app resources compiler.
2015
2016         * HttpContext.cs: Reimplement the GetGlobalResourceObject
2017         methods, implement the GetLocalResourceObject methods.
2018
2019         * HttpResponse.cs: Implement the HeaderEncoding property.
2020
2021 2007-01-04  Andreia Gaita  <avidigal@novell.com>
2022
2023         * HttpRuntime.cs: Add check for NET_2_0 when initializing
2024         WebConfigurationManager, build failing on 1.1 profile
2025         
2026 2007-01-04  Vladimir Krasnov  <vladimirk@mainsoft.com>
2027
2028         * HttpApplicationFactory.cs, HttpRuntime.cs: WebConfigurationManager
2029         should be initializaed before any possible access to it
2030
2031 2007-01-04  Vladimir Krasnov  <vladimirk@mainsoft.com>
2032
2033         * HttpRequest.cs: fixed Path property, add call of
2034         Uri.UnescapeDataString in net_2_0
2035
2036 2007-01-04  Vladimir Krasnov  <vladimirk@mainsoft.com>
2037
2038         * HttpApplication.cs: fixed PreStart, should not set thread culture
2039         to invariant
2040
2041 2007-01-03  Vladimir Krasnov  <vladimirk@mainsoft.com>
2042
2043         * HttpRequest.cs: fixed jvm version of MakeInputStream, should not
2044         throw exception on zero content length
2045
2046 2007-01-03  Vladimir Krasnov  <vladimirk@mainsoft.com>
2047
2048         * SiteMap.cs, SiteMapNodeCollection.cs: TARGET_JVM of static members
2049
2050 2006-12-20  Marek Habersack  <grendello@gmail.com>
2051
2052         * HttpContext.cs: add internal setter for the Profile property.
2053
2054         * HttpApplicationFactory.cs: Added a shortcut version of
2055         InvokeSessionEnd for use from the 2.0 SessionState code.
2056
2057 2006-12-18  Vladimir Krasnov  <vladimirk@mainsoft.com>
2058
2059         * HttpRequest.cs: fixed Path property, returns unescaped url
2060
2061 2006-12-16  Marek Habersack  <grendello@gmail.com>
2062
2063         * HttpRequest.cs: Fix for http exception during first visit to an
2064         application when the visit path is not the app's virtual root.
2065
2066 2006-12-12 Igor Zelmanovich <igorz@mainsoft.com>
2067
2068         * SiteMapProvider.cs.cs:
2069         * XmlSiteMapProvider.cs: fixed: because more then one node with empty url
2070         is allowed unique key is generated for each node.               
2071
2072 2006-12-12 Igor Zelmanovich <igorz@mainsoft.com>
2073
2074         * SiteMapProvider.cs.cs: fixed: IsAccessibleToUser resolvs relative url.
2075         * StaticSiteMapProvider.cs: fixed: RemoveNode   
2076
2077 2006-12-12 Igor Zelmanovich <igorz@mainsoft.com>
2078
2079         * VirtualPathUtility.cs: fixed: Combine(), ToAbsolute() methods.
2080
2081 2006-12-12 Igor Zelmanovich <igorz@mainsoft.com>
2082
2083         * VirtualPathUtility.cs: fixed: IsAppRelative() method.
2084
2085 2006-12-07  Vladimir Krasnov  <vladimirk@mainsoft.com>
2086
2087         * BrowserCapabilities.cs: fixed MSDomVersion property
2088
2089 2006-12-05 Igor Zelmanovich <igorz@mainsoft.com>
2090
2091         * VirtualPathUtility.cs: fixed: ToAbsolute() method.
2092
2093 2006-12-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2094
2095         * HttpRequest.cs: call MapPath on the HttpWorkerRequest so that if
2096         FilePath is changed we get the new physical path, not the one of the
2097         original request. Fixes bug #80152.
2098
2099 2006-12-03 Igor Zelmanovich <igorz@mainsoft.com>
2100
2101         * HttpWriter.cs: reverted r38835.
2102
2103 2006-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2104
2105         * HttpWriter.cs: remove unused WriteBytes method.
2106
2107 2006-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2108
2109         * HttpRequest.cs: physical path comes from GetFilePathTranslated to
2110         avoid trimming in HttpRequest.MapPath.
2111
2112 2006-11-29  Marek Habersack  <grendello@gmail.com>
2113
2114         * HttpApplication.cs: Make use of the handler stack implemented
2115         in HttpContext.
2116
2117         * HttpCacheVaryByHeaders.cs: Optionally omit the vary:* header
2118         value in the 2.0 profile.
2119
2120         * HttpServerUtility.cs: Make use of the handler stack implemented
2121         in HttpContext.
2122         Implemented the UrlToken{Encode,Decode} 2.0 methods.
2123
2124         * HttpResponse.cs: Implemented the IsRequestBeingRedirected
2125         property.
2126
2127         * HttpContext.cs: Implemented the CurrentHandler and PreviousHandler
2128         methods, together with helper functions to handle the handler
2129         stack.
2130         GetSection(string) should be present only in the 2.0 profile.
2131
2132         * HttpCachePolicy.cs: implement the SetNoServerCaching,
2133         SetNoStore, SetNoTransforms, SetValidUntilExpires and
2134         SetOmitVaryStar methods.
2135         Added code to set the no-store and no-transform options of the
2136         Cache-Control header.
2137
2138 2006-11-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2139
2140         * HttpServerUtility.cs: don't prepend extra '?' when the original url
2141         already has a query string. Fixes bug #80042.
2142
2143 2006-11-24  Miguel de Icaza  <miguel@novell.com>
2144
2145         * HttpApplicationFactory.cs (InitType): Also look for "Web.Config"
2146         casing here.
2147
2148 2006-11-20  Marek Habersack  <grendello@gmail.com>
2149
2150         * HttpApplication.cs: Added support for automatic detection of
2151         user's preferred language.
2152
2153 2006-11-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2154
2155         * HttpApplication.cs: don't leak the directory name for non-local
2156         connections.
2157
2158 2006-11-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2159
2160         * CapabilitiesLoader.cs: made the hasstable that contains the properties
2161         for the brower case insensitive. Fixes bug #79795.
2162
2163 2006-11-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2164
2165         * HttpResponse.cs: fix typo that prevented Server.Execute from restoring
2166         the initial output stream used. Closes bug #79916.
2167
2168 2006-11-12  Marek Habersack  <grendello@gmail.com>
2169
2170         * HttpContext.cs: Implemented the 2.0 RewritePath overloads.
2171
2172 2006-11-08  Marek Habersack  <grendello@gmail.com>
2173
2174         * HttpRuntime.cs: Moved the resource compiler results handling to
2175         the resource compiler itself.
2176
2177         * HttpApplicationFactory.cs: Add invocation of the App_Code
2178         compiler. Moved the resource compiler results handling to the
2179         resource compiler itself. Removed compilation of the local
2180         resources from here - it should be done only when a request
2181         determines that the App_LocalResources directory exists.
2182         
2183
2184 2006-11-07  Andrew Skiba  <andrews@mainsoft.com>
2185
2186         * HttpRuntime.cs: TARGET_JVM ifdef
2187
2188 2006-11-05  Andrew Skiba  <andrews@mainsoft.com>
2189
2190         * SiteMapProvider.cs: don't iterate through Roles when they are null.
2191
2192 2006-11-05  Vladimir Krasnov  <vladimirk@mainsoft.com>
2193
2194         * HttpContext.cs: implemented Profile property
2195
2196 2006-11-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2197
2198         * HttpApplication.cs: the unexpected 'tick' exceptions can be an abort
2199         exception due to timeout or end of the request.
2200
2201 2006-10-18  Marek Habersack  <grendello@gmail.com>
2202
2203         * HttpRuntime.cs: add support for compilation of local resources
2204         at the start of request.
2205
2206         * HttpContext.cs: implement the GetGlobalResourceObject APIs
2207
2208         * HttpApplicationFactory.cs: include the bootstrap code for the
2209         global/local resources compiler.
2210
2211 2006-10-09  Marek Habersack  <grendello@gmail.com>
2212
2213         * HttpApplication.cs: change the pipeline order for ASP.NET 2.0 to
2214         comply with the Microsoft documentation.
2215
2216 2006-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2217
2218         * HttpApplication.cs: this makes the test run successfully. Still need
2219         to figure out why that is null.
2220
2221 2006-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2222
2223         * HttpApplication.cs: band-aid patch to help debugging hang running 2.0
2224         tests.
2225
2226 2006-09-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2227
2228         * HttpServerUtility.cs: 1.1 Execute(s) preserves the query string.
2229         Thanks to Hubert Fongarnand. Fixes bug #79506.
2230
2231 2006-09-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2232
2233         * QueueManager.cs: if disposed, always return null for next request.
2234         * HttpRuntime.cs: dispose the queue manager when shutting down the
2235         domain. This will close pending requests with a 503.
2236         * HttpApplication.cs: release the handler before marking the request
2237         as completed. If in PipelineDone context is null, use
2238         HttpContext.Current. Fixes some of those "Tick detected an unhandled
2239         exception" errors printed out.
2240
2241 2006-09-11  Andrew Skiba <andrews@mainsoft.com>
2242
2243         * XmlSiteMapProvider.cs: ifdef TARGET_JVM
2244
2245 2006-09-11  Vladimir Krasnov  <vladimirk@mainsoft.com>
2246
2247         * HttpWriter.cs: fixed WriteLine to work correctly in utf-16 encoding
2248
2249 2006-09-08  Robert Jordan  <robertj@gmx.net>
2250
2251         * TraceData.cs: fixed NRE if `sizes' is null, which may happen
2252         if a page was unable to save its viewstate and size.
2253
2254 2006-09-07 Andrew Skiba <andrews@mainsoft.com>
2255
2256         * HttpApplicationFactory.cs: ifdef the previous fix with TARGET_JVM to
2257         pass compilation.
2258
2259 2006-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2260
2261         * HttpApplicationFactory.cs: watch web.config too. Fixes bug #78356.
2262
2263 2006-09-05  Konstantin Triger <kostat@mainsoft.com>
2264
2265         * SiteMapProvider.cs: consider authorization section for access decision.
2266
2267 2006-09-04 Igor Zelmanovich <igorz@mainsoft.com>
2268
2269         * HttpUtility.cs: fixed UrlPathEncode method.
2270
2271 2006-08-31      Boris Kirzner <borisk@mainsoft.com>
2272
2273         * VirtualPathUtility.cs : pass parameters in correct order.
2274
2275 2006-08-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2276
2277         * HttpApplicationFactory.cs: handle the 'renamed' event too.
2278
2279 2006-08-08  Vladimir Krasnov  <vladimirk@mainsoft.com>
2280
2281         * HttpApplication.cs: fixed BeginProcessRequest, TARGET_JVM part
2282         merged
2283
2284 2006-08-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2285
2286         * HttpApplication.cs: don't leak local path names when a file is not
2287         found.
2288
2289 2006-06-21 Konstantin Triger <kostat@mainsoft.com>
2290
2291         * XmlSiteMapProvider.cs: if the url is relative, make it relative to the
2292                 context root.
2293
2294 2006-06-07 Juraj Skripsky <js@hotfeet.ch>
2295
2296         * HttpException.cs (GetHtmlizedErrorMessage): Beautify compilation error
2297         page by showing multiple errors on separate lines.
2298
2299 2006-06-05 Juraj Skripsky <js@hotfeet.ch>
2300
2301         * HttpRequest.cs: simplify code around uri_builder (and rename 
2302         to url_components). Move storage of query_string into 
2303         uri_builder.Query and initialize it lazily using 
2304         worker_request.GetQueryStringRawBytes() or GetQueryString().
2305         (QueryString): Use HttpUtility.ParseQueryString instead of 
2306         duplicating its functionality.
2307
2308 2006-06-05 Juraj Skripsky <js@hotfeet.ch>
2309
2310         * HttpUtility.cs (ParseQueryString): move core of
2311         ParseQueryString into internal method to make it available to 
2312         HttpRequest.
2313
2314 2006-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2315
2316         * HttpApplication.cs: assign the context when run from a thread not in
2317         the threadpool. Patch by Andrew Skiba. Fixes bug #78583.
2318
2319 2006-05-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2320
2321         * HttpApplication.cs: context.Handler does not change for
2322         HttpServerUtility.Execute, so moved setting it into the pipeline instead
2323         of GetHandler.
2324
2325 2006-05-17  Kazuki Oikawa  <kazuki@panicode.com>
2326
2327         * HttpUtility.cs: implemented ParseQueryString
2328
2329 2006-05-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2330
2331         * HttpUtility.cs: get rid of TryParseHexa.
2332
2333 2006-04-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2334
2335         * HttpApplicationFactory.cs: make sure that the application start event
2336         is run before any request is processed.
2337
2338 2006-04-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2339
2340         * HttpServerUtility.cs: don't reset the query string in Execute() when
2341         the path does not contain it and we have one from the previous request.
2342         Fixes bug #78177.
2343
2344 2006-04-20 Andrew Skiba <andrews@mainsoft.com>
2345
2346         * SiteMapNode.cs: fix few null reference exceptions
2347
2348 2006-04-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2349
2350         * HttpResponse.cs:
2351         (TransmitFile): make sure we can read the file before buffering it.
2352
2353 2006-04-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2354
2355         * HttpApplicationFactory.cs: don't fail on events that are not
2356         EventHandlers. Patch by Matthew Metnetsky.
2357
2358 2006-04-11 Andrew Skiba <andrews@mainsoft.com>
2359
2360         * HttpRequest.cs: remove code duplication (see UrlUtils.Combine)
2361
2362 2006-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2363
2364         * HttpUtility.cs: allow "%%" as a escape for '%' and ignore invalid
2365         hexadecimal characters. Based on a patch by Vladimir Krasnov.
2366
2367 2006-04-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2368
2369         * HttpWriter.cs: only keep the byte buffer around if its size is less
2370         than or equals to 32K.
2371
2372 2006-04-08  Miguel de Icaza  <miguel@novell.com>
2373
2374         * HttpWriter.cs (Write): Added missing check for null string as
2375         something is now calling it like that. 
2376
2377 2006-03-27 Joshua Tauberer <tauberer@for.net>
2378
2379         * HttpWriter.cs: Avoid creation of a byte[] on each Write()
2380           by reusing and resizing a private array.
2381
2382 2006-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2383
2384         * HttpRequest.cs: the field content_length can be < 0 and then we try to
2385         read when there's no data and block.
2386
2387 2006-04-05 Andrew Skiba <andrews@mainsoft.com>
2388
2389         * HttpUtility: UrlEncode and UrlEncodeUnicode logic unified, behaviour
2390         fixed to match dotnet and http://rfc.net/rfc1738.html
2391
2392 2006-03-30 Konstantin Triger <kostat@mainsoft.com>
2393
2394         * HttpApplicationFactory.cs: refactoring: remove static modifier from session_end field.
2395         Does not check the behavior as HttpApplicationFactory is a singleton.
2396
2397 2006-03-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2398
2399         * HttpUtility.cs: UrlDecode does not throw if an hexadecimal sequence
2400         fails to parse as an integer. Fixes bug #77931.
2401
2402 2006-03-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2403
2404         * HttpResponse.cs: more fixes for CacheControl: MS allows to set it to
2405         null and "" and the getter value does not completely depend on Cache.
2406
2407         * HttpRequest.cs: fail validating the request input if there's a control
2408         character after a '<'. Fixes XSS_Null test.
2409
2410         All System.Web tests pass again.
2411 2006-03-22  Robert Jordan  <robertj@gmx.net>
2412
2413         * HttpCachePolicy.cs: fix the Cache-control header. Fixes bug #77826.
2414
2415 2006-03-22  Chris Toshok  <toshok@ximian.com>
2416
2417         * HttpApplication.cs: fix typo - AuthenticateRequest =>
2418         PostAuthenticateRequest.
2419
2420 2006-03-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2421
2422         * ChangeLog:
2423         * HttpRequest.cs: revert part of r58229.
2424
2425 2006-03-21  Vladimir Krasnov  <vladimirk@mainsoft.com>
2426
2427         * ServerVariablesCollection.cs: fixed "URL" variable, it should not
2428         return path info
2429
2430 2006-03-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2431
2432         * HttpRequest.cs:
2433         (CheckString): style and don't index the string twice per iteration.
2434
2435 2006-03-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2436
2437         * TempFileStream.cs: a FileStream that removes the file once
2438         it is disposed.
2439         * HttpRequest.cs: support for writing request data to on-disk
2440         files if the request is longer than the threshold specified in the
2441         configuration files. In mono this will work for 1.x and 2.0, while with
2442         MS this only works for 2.0.
2443
2444 2006-03-18  Robert Jordan  <robertj@gmx.net>
2445
2446         * HttpCachePolicy.cs: expose the validation callbacks.
2447         Fixes bug #77825.
2448
2449 2006-03-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2450
2451         * HttpApplication.cs: fix upper bound when iterating through the module
2452         collection.
2453
2454 2006-03-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2455
2456         * HttpRequest.cs: use the provided content encoding to decode the file
2457         name. Fixes bug #77714.
2458
2459 2006-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2460
2461         * HttpResponse.cs: allow setting a Cache-Control header through
2462         AppendHeader. Fixes bug #77775.
2463
2464 2006-03-15  Chris Toshok  <toshok@ximian.com>
2465
2466         * XmlSiteMapProvider.cs (RemoveProvider): oops, no override.
2467
2468         * StaticSiteMapProvider.cs (AddNode): call MapUrl.
2469         (FindSiteMapNode): same.
2470
2471 2006-03-15  Chris Toshok  <toshok@ximian.com>
2472
2473         * SiteMapProvider.cs (ReturnNodeIfAccessible): new function,
2474         either return the node or throw InvalidOperationException.
2475         (get_RootNode): use ReturnNodeIfAccessible.
2476         (IsAccessibleToUser): flesh this out a bit, and add comments on
2477         how the rest of the implementation should be written.
2478         (FindSiteMapNodeFromKey): implement to match MS behavior, docs be
2479         damned.
2480
2481         * XmlSiteMapProvider.cs: corcompare work.
2482
2483         * StaticSiteMapProvider.cs (AddNode): Add a check to see if node
2484         == RootNode.  Not sure if this is actually correct, but it's
2485         required given our implementation of XmlSiteMapProvider.  without
2486         this check, we end up assigning RootNode.ParentNode == RootNode,
2487         which makes for an infinite loop when we traverse up the tree.
2488
2489 2006-03-15  Vladimir Krasnov  <vladimirk@mainsoft.com>
2490
2491         * HttpRequest.cs: fixed MakeInputStream method under TARGET_JVM,
2492         fixed if content lenght value is less that byte received
2493
2494 2006-03-10  Chris Toshok  <toshok@ximian.com>
2495
2496         * StaticSiteMapProvider.cs (UrlToNode): this entire file is #if
2497         NET_2_0, no need to embed another #if NET_2_0.
2498
2499         * SiteMapProvider.cs (AddNode): throw NotImplementedException.
2500         (FindSiteMapNode): with null context, return null.  don't throw
2501         ArgumentNullException.
2502         (RemoveNode): throw NotImplementedException.
2503         (IsAccessibleToUser): check arguments to make test pass.  still
2504         lacking the method's actual functionality.
2505         (ResourceKey): add missing property.
2506
2507 2006-03-10  Chris Toshok  <toshok@ximian.com>
2508
2509         * HttpRequest.cs (CheckString): add back in the check for \xff1c
2510         that i took out.  oops.
2511
2512 2006-03-10  Chris Toshok  <toshok@ximian.com>
2513
2514         * HttpRequest.cs (CheckString): implement as described in
2515         Shackow's "Professional ASP.NET 2.0 Security, Membership, and Role
2516         Management", page 310.
2517
2518 2006-03-08  Chris Toshok  <toshok@ximian.com>
2519
2520         * SiteMap.cs: clean this up a bunch.  use the SiteMapSection to
2521         initialize the provider collection, and don't add a provider.
2522         web.config handles that for us.  Also, don't always return true
2523         from get_Enabled.
2524
2525 2006-02-28  Chris Toshok  <toshok@ximian.com>
2526
2527         * HttpCookieMode.cs: corcompare work.
2528
2529         * ProcessShutdownReason.cs: same.
2530
2531         * SiteMapNodeCollection.cs: same.
2532
2533         * SiteMapNode.cs: same.
2534
2535         * SiteMapProvider.cs: same.
2536
2537         * HttpCacheRevalidation.cs: same.
2538
2539         * HttpCacheability.cs: same.
2540
2541         * StaticSiteMapProvider.cs: same.
2542
2543         * HttpValidationStatus.cs: same.
2544         
2545 2006-02-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2546
2547         * DefaultHttpHandler.cs: New file.
2548
2549 2006-02-01  Chris Toshok  <toshok@ximian.com>
2550
2551         * SiteMap.cs: use GetSection instead of GetWebApplicationSection.
2552
2553 2006-02-01  Chris Toshok  <toshok@ximian.com>
2554
2555         * HttpApplication.cs: CONFIGURATION_2_0 => NET_2_0, and use
2556         GetSection instead of GetWebApplicationSection.
2557
2558         * HttpApplication.jvm.cs: same.
2559         
2560         * HttpApplicationFactory.cs: same.
2561
2562         * HttpContext.cs: same.
2563
2564         * CapabilitiesLoader.cs: same.
2565
2566         * QueueManager.cs: same.
2567
2568         * HttpRuntime.cs: same.
2569
2570         * TraceManager.cs: same.
2571
2572         * HttpRequest.cs: same.
2573         
2574 2006-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2575
2576         * HttpApplication.cs: keep any exception that happens during
2577         initialization.
2578
2579 2006-01-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2580
2581         * HttpDataTransferMode.cs: Removed file.
2582         * HttpRequestPriority.cs: Removed file.
2583         * ApplicationShutdownReason.cs:
2584         * SiteMap.cs:
2585         * HttpRuntime.cs:
2586         * HttpApplication.cs: minor class status fixes.
2587
2588 2006-01-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2589
2590         * VirtualPathUtility.cs: done with all the not implemented methods.
2591
2592 2006-01-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2593
2594         * HttpResponse.cs: use UInt64.Parse for content length. In AppendHeader,
2595         set cache_control through the property to update the cachebility
2596         accordingly. When using the cached headers, don't add again all the
2597         headers to that collection.
2598         * HttpCacheVaryByParams.cs: if there are no params, return null.
2599         Otherwise we get an empty 'Vary' header.
2600
2601 2006-01-25  Chris Toshok  <toshok@ximian.com>
2602
2603         * HttpApplication.cs (Start): wrap InitOnce in a try/catch block,
2604         and if there's a configuration error, output it and end things
2605         immediately.
2606
2607 2006-01-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2608
2609         * HttpRequest.cs: fixed the file path when RewritePath is used. Also
2610         add the PathInfo to the Url. Fixes bug #77291.
2611
2612 2006-01-22  Chris Toshok  <toshok@ximian.com>
2613
2614         * HttpRequest.cs (ReadBoundary): remove two unused variables to
2615         quiet mcs.
2616         (IsBoundary): remove unused method.
2617
2618         * MimeTypes.cs (.cctor): use a 2.0 friendly form of the Hashtable
2619         ctor to silence a warning.
2620
2621         * HttpCacheVaryByHeaders.cs (.ctor): same.
2622
2623         * HttpCacheVaryByParams.cs (.ctor): same.
2624
2625         * StaticSiteMapProvider.cs (UrlToNode): same.
2626
2627 2006-01-22  Konstantin Triger <kostat@mainsoft.com>
2628
2629         * HttpWorkerRequest.cs: ensure case insensitivity in header search.
2630
2631 2006-01-19  Konstantin Triger <kostat@mainsoft.com>
2632
2633         * HttpApplication.jvm.cs: merge HttpApplication.cs changes.
2634
2635 2006-01-17  Chris Toshok  <toshok@ximian.com>
2636
2637         * CapabilitiesLoader.cs (Init): use WebConfigurationManager in the
2638         CONFIGURATION_2_0 case.
2639
2640         * HttpRuntime.cs (MachineConfigurationDirectory): same.
2641
2642 2006-01-16  Chris Toshok  <toshok@ximian.com>
2643
2644         * HttpApplicationFactory.cs: call WebConfigurationManager.Init in
2645         the CONFIGURATION_2_0 case.
2646
2647 2006-01-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2648
2649         * HttpWriter.cs: made Write (char) less memory hungry. Thanks to Mike
2650         Glenn for pointing this out.
2651
2652 2006-01-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2653
2654         * HttpApplicationFactory.cs: fix condition for ContextAvailable.
2655
2656 2006-01-11  Vladimir Krasnov  <vladimirk@mainsoft.com>
2657
2658         * HttpResponse.cs: removed TARGET_JVM block from End
2659         * GetJavaTextReader: Merged TARGET_JVM block from LoadFile
2660         to GetJavaTextReader
2661
2662 2006-01-11  Vladimir Krasnov  <vladimirk@mainsoft.com>
2663
2664         * HttpRequest.cs: removed TARGET_JVM block from MapPath
2665
2666 2006-01-11  Vladimir Krasnov  <vladimirk@mainsoft.com>
2667
2668         * HttpRequest.cs: little fix in MapPath(), virtualPath.Replace
2669         return value wasnt stored.
2670
2671 2006-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2672
2673         * HttpResponse.cs: typo in comment.
2674
2675         * HttpApplicationFactory.cs:
2676         * HttpApplication.cs: don't discard the application used for running the
2677         Application_Start event to allow for Redirect/Transfer to be used. Fail
2678         to get the request/response from the application object as MS does (it
2679         can still be retrieved through HttpContext.Current.blah). Fixes
2680         bug #77162.
2681
2682 2006-01-09  Vladimir Krasnov <vladimirk@mainsoft.com>
2683
2684         * CapabilitiesLoader.cs: Merged TARGET_JVM parts in LoadFile
2685         from /main/9
2686         * HttpException.cs: Merged TARGET_JVM parts in GetHtmlizedErrorMessage
2687         from /main/13
2688         * HttpRequest.cs: Merged TARGET_JVM parts in MapPath from /main/29
2689         * HttpResponse.cs: Merged TARGET_JVM parts in End() from /main/30
2690         * StaticFileHandler.cs: Merged TARGET_JVM parts in ProcessRequest
2691         from /main/7
2692
2693 2006-01-08  Konstantin Triger <kostat@mainsoft.com>
2694
2695         * BrowserCapabilities.cs, HttpBrowserCapabilities.cs,
2696         HttpResponseStream.cs: TARGET_JVM changes to let the compilation
2697         pass with csc 1.1.
2698
2699 2006-01-04  Chris Toshok  <toshok@ximian.com>
2700
2701         * HttpContext.cs (IsCustomErrorEnabled): add CONFIGURATION_2_0
2702         code.  use a nasty 'using' hack to map the 2.0 CustomErrorsMode to
2703         the 1.x CustomErrorMode name.
2704         (IsDebuggingEnabled): add CONFIGURATION_2_0 code.
2705         (ConfigTimeout): add CONFIGURATION_2_0 code.
2706
2707         * HttpRequest.cs (MakeInputStream): add CONFIGURATION_2_0 code.
2708
2709         * HttpApplication.cs (RedirectCustomError): add CONFIGURATION_2_0
2710         code.
2711
2712         * SiteMap.c (Init): use
2713         WebConfigurationManager.GetWebApplicationSection.
2714
2715 2005-12-21  Miguel de Icaza  <miguel@novell.com>
2716
2717         * HttpUtility.cs (UrlEncodeUnicode): The generated encoding of
2718         unicode values must be in %XXXX format, not %XX sometimes.
2719
2720 2005-12-08 Robert Jordan  <robertj@gmx.net> 
2721
2722         * MimeTypes.cs: added entry for "jpg".
2723
2724 2005-12-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2725
2726         * HttpRequest.cs: only read up to content-length when provided. Patch
2727         by Peter Teichman.
2728
2729 2005-12-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2730
2731         * HttpCookie.cs: fixed the set_Secure. Closes bug #76906.
2732
2733 2005-11-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2734
2735         * HttpResponseStream.cs: flush the filter stream before closing.
2736         Patch by Geir Bergum that fixes bug #76753.
2737
2738 2005-11-28  Chris Toshok  <toshok@ximian.com>
2739
2740         * HttpContext.cs (Profile): remove the #if false from around this,
2741         as we now have the ProfileBase type.
2742         (GetConfig): add CONFIGURATION_2_0 version.
2743         (GetSection): add CONFIGURATION_2_0 version.
2744
2745 2005-11-28  Chris Toshok  <toshok@ximian.com>
2746
2747         * TraceManager.cs (..ctor): CONFIGURATION_2_0 work.
2748
2749         * QueueManager.cs (..ctor): CONFIGURATION_2_0 work.
2750
2751         * HttpRequest.cs (AnonymousID): add 2.0 property.
2752         (MakeInputStream): CONFIGURATION_2_0 work.
2753
2754         * HttpApplication.cs (InitOnce): change around the
2755         CONFIGURATION_2_0 stuff since we need additional Culture foo for
2756         it.
2757
2758 2005-11-27  Chris Toshok  <toshok@ximian.com>
2759
2760         * HttpApplication.cs (InitOnce): add Configuration_2.0 code.
2761         (GetHandler): same.
2762
2763 2005-11-26  Miguel de Icaza  <miguel@novell.com>
2764
2765         * HttpResponseStream.cs: Do not try to write zero bytes.
2766
2767 2005-11-24  Miguel de Icaza  <miguel@novell.com>
2768
2769         * WebROCollection.cs: Do not add an empty "=" to the query string
2770         if the key is empty or null.
2771
2772 2005-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2773
2774         * WebROCollection.cs: override ToString and generate a query string from
2775         the key/value pairs. Fixes bug #76779.
2776
2777 2005-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2778
2779         * HttpServerUtility.cs: prevent possible nullref in GetLastError().
2780
2781 2005-11-07  Jason Diamond  <jason@diamond.name>
2782
2783         * HttpRequest.cs: Don't throw exception when Content-Length doesn't
2784         match length of POSTed data. Also, allow charset parameter on
2785         Content-Type header when type is "application/x-www-form-urlencoded".
2786
2787 2005-11-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2788
2789         * WebROCollection.cs: add an ID for the collection. Page needs it.
2790
2791 2005-11-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2792
2793         * HttpRequest.cs: no need to allocate the buffer when all the content
2794         is preloaded.
2795
2796 2005-11-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2797
2798         * HttpApplication.cs: ignore TAE in ProcesssError. The Error event might
2799         redirect or transfer and that causes a TAE to be thrown. Fixes
2800         bug #76573.
2801
2802 2005-11-01  Chris Toshok  <toshok@ximian.com>
2803
2804         * VirtualPathUtility.cs: new (partial implementation) to get some
2805         MS provider examples compiling.
2806
2807 2005-10-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2808
2809         * HttpContext.cs: added a new internal overload for ClearError.
2810
2811 2005-10-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2812
2813         * HttpRuntime.cs: invoke callbacks on private items in the cache before 
2814         calling disposing the app. factory. This way we get notifications of
2815         removal for all sessions stored in the cache (InProc only).
2816
2817 2005-10-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2818
2819         * HttpResponseStream.cs: reworked buffering so that adjacents blocks are
2820         written at once. Also fix bug #76460.
2821
2822 2005-10-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2823
2824         * HttpResponseStream.cs: when allocating a chunk larger than the
2825         default chunk size, mark all the blocks as taken. Fixes bug
2826         #76452.
2827
2828 2005-10-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2829
2830         * HttpResponse.cs: use HaveFilter instead of Filter.
2831         * HttpResponseStream.cs: allocate chunks of the requested size
2832         when it's > 32KB. Fixes bug #76460.
2833
2834 2005-10-14  Sebastien Pouliot  <sebastien@ximian.com> 
2835
2836         * ServerVariablesCollection.cs: Added a demand for 
2837         SerializationFormatter on GetObjectData method (even if it's not 
2838         really required in this case as it remove warnings from gendarme.
2839
2840 2005-10-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2841
2842         * HttpResponse.cs:
2843         * HttpRequest.cs: buglets in error checking in Filter.
2844
2845 2005-10-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2846
2847         * OutputFilterStream.cs: proxy class for response filters.
2848         * HttpResponse.cs: moved all the actual write operations into the
2849         response stream. Handle response filtering. When caching, get the
2850         actual length of the data, not the buffer length.
2851         * HttpApplication.cs: if there's no error, invoke the filters before
2852         updating the request cache.
2853         * HttpResponseStream.cs: new Filter property. SendChunkSize is moved
2854         here and now supports writing the final chunk. New method ApplyFilter
2855         that filters the existing buckets and replaces them with the filtered
2856         ones. Modified Write to deal with buffering and filtering.
2857
2858 2005-10-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2859
2860         * HttpResponseStream.cs: allow for writes of more than 32K at once.
2861
2862 2005-10-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2863
2864         * InputFilterStream.cs proxy stream for use by filters.
2865         * HttpRequest.cs: implement input filtering.
2866
2867 2005-10-02 Eyal Alaluf <eyala@mainsoft.com>
2868         * HttpApplication.jvm.cs - Workaround for use of yield in
2869         HttpApplication.cs HttpRuntime.cs: AppDomain.Unload is not supported
2870         * under TARGET_J2EE
2871
2872 2005-09-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2873
2874         * HttpResponseStream.cs: remove dead code.
2875
2876 2005-09-29  Sebastien Pouliot  <sebastien@ximian.com> 
2877
2878         * HttpClientCertificate.cs: Remove last TODO on IsValid. This now 
2879         works when using XSP. Now use flags to determine valid/presence.
2880
2881 2005-09-26  Chris Toshok  <toshok@ximian.com>
2882
2883         * HttpApplicationFactory.cs (OnAppFileChanged): add null checks
2884         for bin_watcher and app_file_watcher so we don't get NRE's here.
2885
2886 2005-09-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2887
2888         * BrowserCapabilities.cs: don't rely on the win32 attribute to be there.
2889         Just use the platform to determine whether Win32 is true or not. Fixes
2890         bug #74777.
2891
2892 2005-09-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2893
2894         * HttpApplication.cs: fixed typo when setting UI culture. Closes bug
2895         #76189.
2896
2897 2005-09-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2898
2899         * HttpRequest.cs: new SetFilePath() that does not conflict with
2900         SetCurrentExePath. Now when transfering from a page to another,
2901         CurrentExecutionFilePath and FilePath are correct.
2902
2903 2005-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2904
2905         * TraceContext.cs: add new method to store size of controls.
2906         * TraceData.cs: render control size.
2907         * HttpResponse.cs: new internal method to get the number of bytes of
2908         buffered output.
2909         * HttpResponseStream.cs: added Length property to the Buckets and new
2910         GetTotalLength.
2911
2912 2005-09-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2913
2914         * TraceData.cs: we have to change the method of getting a control render
2915         size. MS does not do this or otherwise would run into the same bug
2916         (#76051) that this patch fixes. This is temporarily setting the size
2917         to 0.
2918
2919 2005-09-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2920
2921         * HttpResponseStream.cs: implemented Send(stream) for files. Fixes bug
2922         #76145.
2923
2924 2005-09-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2925
2926         * HttpRuntime.cs: catch errors when compiling global.asax and
2927         initializing the application. Fixes bug #76090.
2928
2929 2005-09-14  Sebastien Pouliot  <sebastien@ximian.com> 
2930  
2931         * BrowserCapabilities.cs: Fixed changes (in 2.0) with versions. Fixed
2932         compare with "True" (culture and case sensitivity).
2933         * HttpApplicationState.cs: Added LinkDemand for Minimal. Use the 
2934         internal HttpStaticObjectsCollection ctor to avoid the UnmanagedCode
2935         demand.
2936         * HttpContext.cs: Added LinkDemand for Minimal. Added 2.0 properties
2937         and methods to test CAS on them.
2938         * HttpRequest.cs: Added LinkDemand for Minimal. Ensure we return 
2939         proper values when worker_request is null.
2940         * HttpResponse.cs: Added LinkDemand for Minimal. Ensure we return 
2941         proper values when context or WorkerRequest is null. Added 2.0 
2942         properties and methods to test CAS on them.
2943         * HttpRuntime.cs: Added LinkDemand for Minimal. Added PathDiscovery 
2944         demands for properties returning directories. Added demand for High 
2945         level on AppDomainAppId and AppDomainId properties, Low level on 
2946         IsOnUNCShare, Medium level on ProcessRequest and a demand for 
2947         UnmanagedCode on UnloadAppDomain method. Constructor also has a 
2948         UnmanagedCode demand for 1.x.
2949         * HttpStaticObjectsCollection.cs: Added LinkDemand for Minimal. Added
2950         a UnmanagedCode demand to public ctor. Added internal ctor without the
2951         demand. Changed Serialize and Deserialize methods to public for 2.0.
2952
2953 2005-09-14  Sebastien Pouliot  <sebastien@ximian.com>
2954
2955         * HttpWorkerRequest.cs: Removed TODO for 2.0 APIs and return the 
2956         default values for them.
2957
2958 2005-09-13  Sebastien Pouliot  <sebastien@ximian.com>
2959
2960         * HttpApplication.cs: : Added LinkDemand and InheritanceDemand (class)
2961         for Minimal. Changed AssemblyLocation to a property (so it doesn't 
2962         require special permission, PathDiscovery) to create an instance. 
2963         Protected Modules property with a Demand for High level. Added some 
2964         missing HttpException for null context.
2965         * HttpServerUtility.cs: Added LinkDemand for Minimal. Added demands 
2966         for UnmanagedCode on all CreateObject* methods. Added demand for 
2967         Medium level on MachineName and ScriptTimeout properties. Added new
2968         overloaded Transfer method (2.0) to test CAS on it.
2969         * HttpUtility.cs: Added LinkDemand for Minimal. Added [Obsolete] to 
2970         ctor (2.0). Changed some return values when 'count' is 0. Added 
2971         ParseQueryString (overload) methods for 2.0 (to enabled CAS testing on
2972         them).
2973         * HttpWorkerRequest.cs: Added LinkDemand and InheritanceDemand (class)
2974         for Minimal. Added RequestTraceIdentifier and RootWebConfigPath (2.0) 
2975         properties, GetPreloadedEntityBody, GetPreloadedEntityBodyLength, 
2976         GetTotalEntityBodyLength and ReadEntityBody (2.0) methods to test CAS 
2977         on them. Fixed SendResponseFromMemory to ignore IntPtr.Zero (used in 
2978         tests without failures).
2979         * ServerVariablesCollection.cs: Fixed loadServerVariablesCollection 
2980         when HttpWorkerRequest is null.
2981         * TraceContext.cs: Added LinkDemand for Minimal. Fixed default Mode 
2982         (SortByTime). Added new (2.0) TraceFinished event to test CAS on it.
2983
2984 2005-09-13  Sebastien Pouliot  <sebastien@ximian.com> 
2985  
2986         * HttpBrowserCapabilities.cs: Added LinkDemand and InheritanceDemand 
2987         (class) for Minimal. Note that current MCS has problem compiling 
2988         security attributes on partial class (bug #75969).
2989         * HttpCachePolicy.cs: Added LinkDemand for Minimal. Added 2.0 methods
2990         (stub) to enable CAS tests on them.
2991         * HttpCacheVaryByHeaders.cs: Added LinkDemand for Minimal.
2992         * HttpCacheVaryByParams.cs: Added LinkDemand for Minimal.
2993         * HttpClientCertificate.cs: Added LinkDemand and InheritanceDemand 
2994         (class) for Minimal.
2995         * HttpCookie.cs: Added LinkDemand for Minimal.
2996         * HttpCookieCollection.cs: Added LinkDemand for Minimal.
2997         * HttpFileCollection.cs: Added LinkDemand for Minimal.
2998         * HttpModuleCollection.cs: Added LinkDemand for Minimal.
2999         * HttpPostedFile.cs: Added LinkDemand for Minimal.
3000         * HttpRequestPriority.cs: Fix enum values.
3001         * HttpWriter.cs: Added LinkDemand for Minimal.
3002
3003 2005-09-13  Sebastien Pouliot  <sebastien@ximian.com>
3004
3005         * ProcessInfo.cs: Added LinkDemand and InheritanceDemand (class) for
3006         Minimal.
3007         * ProcessModelInfo.cs: Added LinkDemand and InheritanceDemand (class)
3008         for Minimal. Methods GetCurrentProcessInfo and GetHistory are also
3009         protected by Demand for High level.
3010
3011 2005-09-13  Sebastien Pouliot  <sebastien@ximian.com> 
3012  
3013         * HttpCompileException.cs: Added new public ctors and [Serializable]
3014         to 2.0. Added new Message property and GetObjectData (protected by a
3015         demand for SerializationFormatter) for 2.0. Fixed line-ending.
3016         * HttpException.cs: Added LinkDemand and InheritanceDemand (class) for
3017         Minimal. Renamed parameters to match documentation.
3018         * HttpParseException.cs: Added LinkDemand (class) for Minimal. Added
3019         demand for SerializationFormatter on GetObjectData method. Fixed 
3020         line-ending.
3021         * HttpRequestValidationException.cs: Added new public ctors and 
3022         [Serializable] to 2.0. Added LinkDemand for Minimal.
3023         * HttpUnhandledException.cs: Added new public ctors and [Serializable]
3024         to 2.0. Removed unused internal ctor. Added LinkDemand for Minimal.
3025         Fixed line-ending.
3026
3027 2005-09-13  Sebastien Pouliot  <sebastien@ximian.com>
3028
3029         * HttpResponseSubstitutionCallback.cs: New. 2.0 delegate.
3030         * TraceContextEventArgs.cs: New. 2.0 class.
3031         * TraceContextEventHandler.cs: New. 2.0 delegate.
3032
3033 2005-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3034
3035         * HttpRequest.cs: use GetServerName instead of GetLocalAddress when
3036         building the Url.
3037
3038 2005-09-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3039
3040         * HttpRequest.cs: fix the indexer.
3041
3042 2005-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3043
3044         * HttpPostedFile.cs: fixes in Seek and Position.
3045
3046 2005-09-08  Sebastien Pouliot  <sebastien@ximian.com>
3047
3048         * HttpRequest.cs: Make sure the MemoryStream created have their 
3049         contents marked as public - or else you can't call GetBuffer on them!
3050
3051 2005-09-08  Miguel de Icaza  <miguel@novell.com>
3052
3053         * HttpRequest.cs: Patch from Juraj Skripsky <js@hotfeet.ch> that
3054         fixes UrlReferrer. 
3055
3056 2005-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3057
3058         * HttpPostedFile.cs: Make this class actually work. Every time we read,
3059         we have to position the underlying stream.
3060
3061 2005-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3062
3063         * HttpRequest.cs: reading multipart/form-data works again.
3064
3065 2005-09-08 Eyal Alaluf <eyala@mainsoft.com>
3066         * HttpRequest.cs: Under TARGET_JVM the input stream must allow GetBuffer.
3067
3068 2005-09-08 Eyal Alaluf <eyala@mainsoft.com>
3069         * HttpApplicationFactory.cs: TARGET_J2EE/JVM fix.
3070
3071 2005-09-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3072
3073         * HttpRequest.cs: correctly detect multipart/form-data.
3074
3075 2005-09-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3076
3077         * HttpApplicationFactory.cs: recycle after invoking session_end.
3078
3079 2005-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3080
3081         * HttpRuntime.cs: remove Console.
3082
3083         * HttpApplicationFactory.cs: don't hook Session_End, but keep
3084         the MethodInfo around for later invocation if needed. Don't call
3085         GetMethods() for every HttpApplication (or derived class) instances.
3086         Added a method, used by SessionStateModule, that will create use an
3087         application without context to invoke Session_End. Keep a pool of
3088         applications that are meant to be used by this method only.
3089
3090         * HttpApplication.cs: add a SetSession method and do not
3091         attach all the events if the application is for Session_End only.
3092
3093 2005-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3094
3095         * HttpRuntime.cs: actually unload the domain when requested. Reformatted
3096         FinishUnavailable() and removed the 'Location' header form the error.
3097
3098         * HttpApplicationFactory.cs: set up the watcher for the bin directory.
3099         This also prevents a nullref when global.asax is changed.
3100
3101 2005-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3102
3103         * HttpApplication.cs: fixed bug introduced when moving GetHandler call
3104         around. Now we get error pages again.
3105
3106 2005-09-06  Miguel de Icaza  <miguel@novell.com>
3107
3108         * HttpApplication.cs: Catch EndRequest errors as well.
3109
3110 2005-09-05  Miguel de Icaza  <miguel@novell.com>
3111
3112         * HttpApplication.cs: Invoke EndRequest handler before OutputPage
3113         as FormsAuthentication will issue a Redirect from the EndRequest 
3114         handler. 
3115
3116 2005-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3117
3118         * HttpApplication.cs: when writing an error message, catch the possible
3119         write error.
3120
3121 2005-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3122
3123         * HttpResponseStream.cs: prevent invalid cast exception if the first
3124         thing written is a file.
3125
3126 2005-09-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3127
3128         * HttpApplication.cs: fix invalid cast exception (bug #75926).
3129
3130 2005-09-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3131
3132         * HttpApplicationFactory.cs: only trigger the Application_Start event
3133         once. It was being invoked more than once when several clients were
3134         hitting the server at the same time on startup.
3135
3136 2005-09-01 Eyal Alaluf <eyala@mainsoft.com>
3137
3138         * HttpContext.cs HttpResponse.cs HttpWorkerRequest.cs HttpRuntime.cs
3139           HttpApplicationFactory.cs HttpApplication.cs: TARGET_J2EE/JVM fixes.
3140           Mostly workaround limited AppModel in TARGET_J2EE.
3141
3142 2005-08-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3143
3144         * HttpResponse.cs: if the request method is HEAD, that's equivalent to
3145         SuppressContent. Added an internal TransmitFile that allows setting the
3146         final_flush flag.
3147         * StaticFileHandler.cs: use the new internal TransmitFile and remove
3148         generation of Content-Length header, as now it's computed correctly.
3149         * HttpApplication.cs: remove debugging stuff.
3150         * HttpResponseStream.cs: suppress_content is checked in HttpResponse.
3151
3152 2005-08-31  Miguel de Icaza  <miguel@novell.com>
3153
3154         Removed debugging info.
3155         
3156         * HttpApplication.cs: Add support for async handlers. 
3157
3158         Add extra 2.x methods. 
3159
3160 2005-08-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3161
3162         * BrowserCapabilities.cs: removed extra 'using'.
3163
3164         * HttpApplication.cs: use just the 'modcoll' to hold the collection of
3165         modules instead of having a separate 'modules' one.
3166
3167 2005-08-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3168
3169         * HttpApplication.cs: clone the module collection so that
3170         it's not shared between HttpApplications. Call GetHandler() in the
3171         right place.
3172
3173 2005-08-30  Miguel de Icaza  <miguel@novell.com>
3174
3175         * HttpApplication.cs: Add the new 2.x method overloads that take a
3176         data object.
3177
3178         (RunHooks): Pass the extra data instead of null.
3179
3180         * HttpCookie.cs (HttpOnly): Add 2.x cookie header.
3181
3182         * BrowserCapabilities.cs: Move the core of the capabilities into a
3183         separate file.  Use partial classes to choose what version to
3184         compile against.
3185
3186         * HttpBrowserCapabilities.cs: Update to move the code elsewhere.
3187
3188 2005-08-30 Eyal Alaluf <eyala@mainsoft.com>
3189
3190         * HttpResponseStream.cs: Fix a bug introduced by last fix (thanks to
3191         Ben)
3192
3193 2005-08-30 Eyal Alaluf <eyala@mainsoft.com>
3194
3195         * HttpResponseStream.cs: Compilation fixes for TARGET_JVM. TARGET_JVM
3196         does not support unsafe code. I localized all unsafe code within Chunk
3197         & Block and created a managed version of Chunk.
3198
3199 2005-08-30 Eyal Alaluf <eyala@mainsoft.com>
3200         * HttpApplicationFactory.cs: Compilation fixes for TARGET_J2EE. Under
3201         TARGET_J2EE static fields are shared by all app domains. We handle
3202         this difference by explicitly getting/setting values from the app
3203         domain.  Since HttpApplicationFactory has many static fields, I
3204         refactored it to have one static instance and moved the static fields
3205         into instance fields.
3206
3207 2005-08-29 Eyal Alaluf <eyala@mainsoft.com>
3208
3209         * HttpRequest.cs: Disable use of IntPtrStream for TARGET_JVM
3210
3211 2005-08-29 Eyal Alaluf <eyala@mainsoft.com>
3212
3213         * HttpContext.cs: Compilation fixes for TARGET_J2EE/JVM
3214
3215 2005-08-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3216
3217         * HttpResponse.cs: don't duplicate the 'charset=' and don't send a
3218         charset for unknown MIME types.
3219         * StaticFileHandler.cs: set the Content-Length header here.
3220         * HttpRequest.cs: prevent nullrefs when we have no 'charset='.
3221
3222 2005-08-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3223
3224         * StaticFileHandler.cs: use TransmitFile instead of WriteFile. This way
3225         xsp will use sendfile().
3226
3227 2005-08-28  Chris Toshok  <toshok@ximian.com>
3228
3229         * SiteMapNode.cs: fix IHierarchyData.GetParent.
3230
3231 2005-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3232
3233         * HttpRequest.cs:
3234         * IntPtrStream.cs: now we only have a read-only MemoryStream or an
3235         IntPtrStream. The copy is moved into HttpRequest.
3236
3237 2005-08-26  Sebastien Pouliot  <sebastien@ximian.com>
3238
3239         * WebCategoryAttribute.cs: New. Required internal attribute.
3240         * WebSysDescriptionAttribute.cs: New. Required internal attribute.
3241
3242 2005-08-26  Jackson Harper  <jackson@ximian.com>
3243
3244         * HttpResponseStream.cs: Use GetBuffer so the memory isn't
3245         duplicated.
3246
3247 2005-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3248
3249         * HttpApplication.cs: GetHandler might return null when, for example,
3250         a web service fails, but that does not mean that returning a null
3251         handler should throw another exception, as the web service code
3252         serialized the error as a faultString. So if the handler is null, just
3253         don't call ProcessRequest and keep going.
3254
3255 2005-08-26  Jackson Harper  <jackson@ximian.com>
3256
3257         * HttpResponse.cs: Send the cached headers if this is a cached
3258         response. Save the headers, date header, and page data. Fix a typo.
3259         * HttpResponseStream.cs: Add new accesor to get a byte [] of the
3260         page data.
3261
3262 2005-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3263
3264         * HttpWorkerRequest.cs: SetEndOfSendNotification is a noop. No matter
3265         what callback you use that never gets called. In XSP I actually
3266         implement something for this method.
3267         * HttpServerUtility.cs: unused variable.
3268
3269 2005-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3270
3271         * HttpInputStream.cs: new ctor that takes a byte [].
3272         * IntPtrStream.cs: make it work on a byte [] too.
3273
3274         * HttpRequest.cs:
3275         (ContentLength): return 0 for negative numbers or error parsing, but
3276         keep content_length negative in those cases.
3277         (MakeInputStream): when there's no content-length (or it's negative),
3278         we still read the request into a MemoryStream. Use
3279         IsEntireEntityIsPreloaded() as a fast path.
3280
3281 2005-08-25  Sebastien Pouliot  <sebastien@ximian.com>
3282
3283         * HttpClientCertificate.cs: On 1.x the .ctor throws a 
3284         ArgumentNullException (but 2.0 throws a NRE).
3285
3286 2005-08-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3287
3288         * HttpRequest.cs: HttpMethod deserves its own field. Fix IsLocal.
3289
3290 2005-08-25  Chris Toshok  <toshok@ximian.com>
3291
3292         * HttpApplication.cs (IsReusable): return true.
3293         (InitOnce): remove the initialization of handler_factory from
3294         here.
3295         (GetHandler) and move it here, so we make sure to load handlers
3296         from all needed web.config files.
3297
3298 2005-08-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3299
3300         * HttpServerUtility.cs: use GetHandler().
3301         * HttpApplication.cs: remove obsolete method. Now Transfe/Execute work.
3302
3303 2005-08-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3304
3305         * HttpApplication.cs: no need for the local var. here.
3306
3307 2005-08-25  Chris Toshok  <toshok@ximian.com>
3308
3309         * HttpApplication.cs (InitOnce): move the initialization of
3310         modules above the call to HttpApplicationFactory.AttachEvents,
3311         since that method accesses HttpApplication.Modules.  Fixes
3312         nGallery.
3313         (IsReusable): mark TODO.
3314
3315 2005-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3316
3317         * HttpResponseHeader.cs: removed obsolete class.
3318         * HttpResponse.cs: no more 'obsolete' warnings.
3319
3320 2005-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3321
3322         * HttpRuntime.cs: implemeted some missing properties.
3323
3324 2005-08-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3325
3326         * HttpResponse.cs: implemented RemoveOutputCacheItem().
3327
3328 2005-08-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3329
3330         * HttpApplication.cs: implemented GetVaryByCustomString().
3331
3332 2005-08-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3333
3334         * HttpRequest.cs: implemented SetHeader (allows adding a header
3335         circumventing the read-only protection of the collection) and SetForm,
3336         which just assigns a value of the 'form' collection.
3337         * HttpServerUtility.cs: NameValueCollection -> WebROCollection.
3338
3339 2005-08-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3340
3341         * HttpContext.cs:
3342         * HttpRequest.cs: implemented RewritePath and supporting methods.
3343
3344 2005-08-22  Sebastien Pouliot  <sebastien@ximian.com>
3345
3346         * HttpRequest.cs: Avoid NRE if work_request if null in the ctor.
3347         * HttpResponse.cs: Avoid NRE if work_request if null in the ctor.
3348
3349 2005-08-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3350
3351         * HttpApplication.cs: if there's any exception thrown when getting the
3352         handler, don't add an extra error to the context, as we already have
3353         one.
3354
3355 2005-08-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3356
3357         * HttpWriter.cs:
3358         * HttpResponse.cs:
3359         * HttpWorkerRequest.cs:
3360         * HttpApplication.cs: added mising attributes and enabled methods
3361         present in 1.1 SP1.
3362
3363 2005-08-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3364
3365         * WebROCollection.cs: a collection that allows setting IsReadOnly.
3366         * HttpRequest.cs: implemented MapImageCoordinates(). Use WebROCollection
3367         instead of a NameValueCollection in Form, Headers, Params, QueryString.
3368
3369 2005-08-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3370
3371         * HttpInputStream.cs: new copy ctor.
3372         * IntPtrStream.cs: getters for base_address and size.
3373         * HttpRequest.cs: implemented SaveAs(). Use a wrapper on top of
3374         InputStream so that reading POST form or files does not modify the state
3375         if InputStream. Don't use uri_builder.Query in QueryStringRaw, as it
3376         returns the '?'.
3377
3378 2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3379
3380         * HttpRequest.cs: implemented UserLanguages and reuse code from
3381         AcceptTypes.
3382
3383 2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3384
3385         * HttpRequest.cs: implemented AcceptTypes.
3386
3387 2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3388
3389         * HttpRequest.cs: implemented this[] in terms of Params. Don't add the
3390         header collection in Params.
3391
3392 2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3393
3394         * HttpRequest.cs: fix Files property.
3395         * HttpApplication.cs: invoke the default authentication event after all 
3396         the other auth. modules.
3397
3398 2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3399
3400         * ServerVariablesCollection.cs: mark the collection as read-only except
3401         when we fill it. Add the HTTP_blah key/value pairs too.
3402
3403 2005-08-18  Chris Toshok  <toshok@ximian.com>
3404
3405         * HttpRequest.cs (get_Params): implement.
3406
3407 2005-08-17  Chris Toshok  <toshok@ximian.com>
3408
3409         * HttpResponse.cs: HttpResponse's Cookie's collection acts
3410         differently than HttpRequests in that it never returns null from
3411         the "this [string]" accessor.
3412
3413 2005-08-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3414
3415         * HttpRequest.cs: check length 0 case when reading a POST.
3416
3417 2005-08-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3418
3419         * HttpContext.cs: added security attributes for User and
3420         SkipAuthorization properties.
3421         * HttpApplicationFactory.cs: AttachEvents is now called form the
3422         application .ctor. Recycle instead of dispose.
3423         * HttpApplication.cs: attach events to the newly created application.
3424
3425 2005-08-15  Jackson Harper  <jackson@ximian.com>
3426
3427         * ApplicationShutdownReason.cs: make build
3428
3429 2005-08-15  Miguel de Icaza  <miguel@novell.com>
3430
3431         * HttpApplication.cs: Update comments
3432
3433         * HttpPostedFile.cs: Use a substream to read from the uploaded
3434         multiparts. 
3435
3436         * HttpRequest.cs: use new code to read the uploaded files.
3437
3438 2005-08-12  Miguel de Icaza  <miguel@novell.com>
3439
3440         2.x API fixage and small additions:
3441         
3442         * HttpResponse.cs: Make constructor internal.
3443
3444         * HttpRequest.cs (IsLocal): Expose if NET_2.x
3445
3446         * HttpContext.cs: Remove internal routine.
3447
3448         * HttpApplication.cs: Add 2.x events. 
3449
3450         * HttpRequest.cs: Another iFolder issue: I was not setting up the
3451         uri_builder here.
3452
3453         Fixes to get iFolder to work:
3454         
3455         * HttpApplicationFactory.cs: Set the context when we are initting
3456         the application.
3457
3458         * HttpApplication.cs (SetContext): helper routine. 
3459
3460         * HttpResponse.cs: Implement the various cache operations:n
3461         Expires, ExpiresAbsolute, CacheControl.
3462
3463         Actually produce the Cache-Control header, the "Cache" property
3464         takes precedence over the compatibility settings (Expires,
3465         ExpiresAbsolutely and CacheControl). 
3466
3467         * HttpCachePolicy.cs: Fix style.
3468
3469         Fix the generation of the headers, use lower-case values, do not
3470         add the max-value if the value is zero.  
3471
3472         Allow for all possible values in SetCacheability. 
3473
3474         * HttpRuntime.cs (ClrInstallDirectory): Implement.
3475
3476         * HttpResponseStream.cs: Remove debugging stuff. 
3477
3478 2005-08-11  Miguel de Icaza  <miguel@novell.com>
3479
3480         Big chunked handling rewrite, and integration of Ben's unmanaged
3481         output stream.
3482
3483         * HttpWriter.cs: Delegate chunked encoding writing to the
3484         HttpResponse. 
3485
3486         * HttpResponse.cs: Rework the chunked encoding system, centralize
3487         it all. 
3488
3489         * HttpResponseStream.cs: Deploy Ben's bucket-base unmanaged
3490         buffers code. 
3491
3492         Changed the way that we handle chunked encoding, centralize it
3493         all;  
3494
3495         Remove a lot of manual handling of buffering turned off, and
3496         instead delegate it all to Flush, fixes several issues with the
3497         new framework.
3498
3499         * HttpWorkerRequest.cs (SendResponseFromMemory (IntPtr, int)):
3500         Provide a default implementation since currently XSP does not have
3501         this method implemented. 
3502
3503 2005-08-11  Sebastien Pouliot  <sebastien@ximian.com> 
3504  
3505         * HttpClientCertificate.cs: Culture insensitive int parsing. Fixed
3506         NET_2_0 build.
3507
3508 2005-08-10  Miguel de Icaza  <miguel@novell.com>
3509
3510         * ServerVariablesCollection.cs: For Ben.  Implement the header
3511         fetching here, do not implement it in HttpRequest.cs.
3512
3513 2005-08-10  Sebastien Pouliot  <sebastien@ximian.com> 
3514  
3515         * HttpClientCertificate.cs: Changed IsPresent logic so that new unit
3516         tests will work as expected.
3517
3518 2005-08-10  Sebastien Pouliot  <sebastien@ximian.com>
3519
3520         * HttpClientCertificate.cs: Implemented, except for validation. Note 
3521         that the HttpWorkerRequest derived classes must be updated to supply 
3522         the required informations.
3523         * HttpRequest.cs: Create an HttpClientCertificate on first call to
3524         ClientCertificate.
3525
3526 2005-08-09  Miguel de Icaza  <miguel@novell.com>
3527
3528         * HttpRuntime.cs (AspInstallDirectory): Implement.
3529
3530 2005-08-09  Sebastien Pouliot  <sebastien@ximian.com>
3531
3532         * HttpClientCertificate.cs: New. Stub. It won't be fun to test.
3533
3534 2005-08-04  Ben Maurer  <bmaurer@ximian.com>
3535
3536         * HttpContext.cs: Kill a NIE.
3537
3538 2005-08-04  Miguel de Icaza  <miguel@novell.com>
3539
3540         * HttpApplicationFactory.cs: Change "Start" event like the "End"
3541         event, and only do this once, when we init the type.
3542
3543         Fire the "Application_Start" event after we create the type.
3544
3545 2005-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3546
3547         * HttpApplication.cs: catch a ThreadAbort (coming from Response.End)
3548         here too.
3549
3550 2005-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3551
3552         * HttpResponse.cs: setting the Status property resets the
3553         StatusDescription (see the tests) and the default value for the
3554         description is the one provided by GetStatusDescription() in
3555         HttpWorkerRequest.
3556
3557 2005-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3558
3559         * HttpRequest.cs: s/boundry/boundary/ and fix typo in array creation.
3560
3561 2005-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3562
3563         * HttpApplication.cs: add call to EndOfRequest when everything is said
3564         and done.
3565
3566 2005-08-02  Miguel de Icaza  <miguel@novell.com>
3567
3568         * HttpResponse.cs: Stub for TransmitFile.
3569
3570         * HttpRequest.cs (IsAuthenticated): Implement.
3571
3572 2005-08-01  Miguel de Icaza  <miguel@novell.com>
3573
3574         * HttpRequest.cs: Cope with implementations of HttpWorkerRequest
3575         (unpatched xsp) that do not send back the PreloadedEntityBody. 
3576
3577         * HttpApplication.cs: keep track of the factory. 
3578         (Dispose): Only dispose once, clean up other variables, release
3579         the ManualResetEvent.
3580         Release the handler to the factory.
3581
3582         * HttpApplicationFactory.cs: Implement a stack to reuse the
3583         applications. 
3584
3585         * HttpRequest.cs: On uploads, if the ContentLenght is zero, throw
3586         a 411.
3587
3588         * HttpRuntime.cs: Recycle the application after using it.
3589
3590         * HttpPostedFile.cs: Implement SaveAs.
3591
3592         * HttpContext.cs: Return the "Server" property.
3593
3594 2005-08-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3595
3596         * HttpServerUtility.cs: implemented missing bits.
3597
3598 2005-08-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3599
3600         * HttpRequest.cs: query string was getting a '?' as the start of the
3601         first variable name. This makes the asmx help page work again.
3602
3603 2005-08-01  Miguel de Icaza  <miguel@novell.com>
3604
3605         * HttpRequest.cs (Cookies, Forms): Add validation.
3606         (Forms): Add application/x-www-form-urlencoded parsing and
3607         multipart/form-data parsing.
3608         
3609         (HttpMultiPart): Implement new class to load multi-part data from
3610         a stream since there is no longer a byte [] that holds the data
3611         (currently we have an unmanaged IntPtr buffer wrapped as a
3612         stream).  Also the 2.x framework will add support for large
3613         uploads which are sent directly to disk, which will require the
3614         FileStream interface. 
3615         
3616         (Path, PathInfo): Fill a couple more methods to avoid crashes.
3617
3618         * HttpContext.cs: Fill another one to get web services summary
3619         page painting.  The page does not work though.
3620         
3621         * HttpApplication.cs: Rework the pipeline to not depend on
3622         `finally', as `finally' would not be invoked if we choose not to
3623         call the pipeline again (which happens if the `stop' variable is
3624         set). 
3625
3626         Instead force the pipeline to go to the shutdown, and yield from
3627         there after all the release-state callbacks have been invoked. 
3628
3629 2005-07-31  Miguel de Icaza  <miguel@novell.com>
3630
3631         * HttpApplication.cs: Remove debugging messages since the compiler
3632         bug has been fixed.
3633
3634         You must use at least mcs from revision 47879 for the application
3635         pipeline to work. 
3636
3637 2005-07-30  Miguel de Icaza  <miguel@novell.com>
3638
3639         * HttpContext.cs: Error handling methods.
3640
3641         * HttpResponse.cs: Trigger the last event.
3642
3643         * HttpRuntime.cs: Add queueing of the next request. 
3644
3645         * HttpApplication.cs: Deploy the new yield-based application
3646         pipeline, add error handling to the pipeline.
3647         
3648         * HttpApplication.cs (AsyncRequestState): Just use the done event
3649         from the parent.
3650
3651 2005-07-29  Miguel de Icaza  <miguel@novell.com>
3652
3653         * HttpResponseStream.cs, HttpRequest.cs: Fix bugs found by nunit.
3654
3655         * HttpApplication.cs: Fix a race condition. 
3656
3657         * HttpResponseStream.cs: Fix bug, send the size of the buffer that
3658         we have so far instead of the internal size of the buffer.   This
3659         will need work later to ensure we enforce the Content-Length
3660         maximum output size if set.
3661
3662         * ServerVariablesCollection.cs: This class now inherits from
3663         NameValueCollection, we should probably review what the middle
3664         class did, there are no dependencies on it.
3665
3666         I need to write tests to investigate if something is missing or
3667         has changed in this implementation. 
3668
3669 2005-07-27  Miguel de Icaza  <miguel@novell.com>
3670
3671         * HttpRequest.cs: No happy replies here, send a 411.
3672
3673 2005-07-27  Chris Toshok  <toshok@ximian.com>
3674
3675         * HttpResponseHeader.cs: remove spew.
3676         
3677 2005-07-27  Chris Toshok  <toshok@ximian.com>
3678
3679         * HttpResponseHeader.cs (HttpResponseHandler..ctor): use
3680         HttpWorkerRequest.GetKnownResponseHeaderName instead of
3681         GetKnownRequestHeaderName.  Fixes Response.Redirect until miguel's
3682         new HttpReponse is online.
3683
3684 2005-07-26  Miguel de Icaza  <miguel@novell.com>
3685
3686         * HttpResponse.cs: use_chunked is now a byte-array, if not null,
3687         we use it to hold the size of the chunked so we do not have to
3688         allocate many of these. 
3689         (SendSize): Helper routine to send the chunked headers.
3690         (BinaryWrite): First user of the chunked writer.
3691
3692         * HttpApplication.cs: Do not crash if they request a Server
3693         instance, but throw a NotImplementedException.
3694
3695         * HttpRequest.cs: fix a few problems exposed by the regression
3696         test suite.
3697
3698         * HttpRequest.cs (Cookies): use Chris' new constructor to get the
3699         cookies parsed.
3700
3701         : The big Uri rework: instead of using QueryString
3702         as the population mechanism, populate an UriBuilder from the
3703         various HttpWorkerRequest methods.
3704
3705         * HttpWorkerRequest.cs (GetProtocol): Implement in terms of
3706         IsSecure().
3707
3708         * HttpResponse.cs: Pointed by Ben, Write (null) is a nop instead
3709         of a crash.
3710
3711         * HttpContext.cs: Add a couple of properties to help the 2.x
3712         build.
3713         
3714         * HttpResponse.cs: Make ContentLength a long, add back support for
3715         session's app_path_mod.
3716         (ApplyAppPathmodifier): put back.
3717         (End): Pass a flag to abort so we can tell the exceptions appart
3718         in HttpApplication.
3719         (WriteHeaders): Send the HTTP status.
3720         (Redirect): Implement.
3721         (Write): Use the Output property to load writer when needed.
3722         
3723         * HttpRequest.cs (ctor): Temporary use of InitFromWR, will fix
3724         later. 
3725         (MakeInputStream): check content-length size, use routines to load
3726         the preloaded data, handle incomplete transfers.
3727         (Query): Do not insert null keys into the collection.
3728         (Url): implement.
3729         (UrlReferer): implement.
3730
3731         * HttpApplication.cs (RunHooks): Catch Thread.Abort, and call
3732         Thread.ResetAbort after each step.
3733
3734         Ensure that ReleaseState is called if we ever succeed in acquiring
3735         the state even if we have stopped the request pipeline.
3736
3737         Report file not found, directory not found.
3738
3739 2005-07-25  Miguel de Icaza  <miguel@novell.com>
3740
3741         * HttpCookieCollection.cs: Add expiration of the cookie. 
3742
3743         * HttpRequest.cs: Add check for ContentLength, use
3744         GetPreloadedEntityBody, correct number of bytes uploaded.
3745
3746 2005-07-21  Miguel de Icaza  <miguel@novell.com>
3747
3748         * HttpResponseHeader.cs: Our implementation of HttpResponse only
3749         uses the text headers, does not use any constants as XSP would go
3750         through a slower code path anyways.
3751
3752 2005-07-21  Chris Toshok  <toshok@ximian.com>
3753
3754         * HttpBrowserCapabilities.cs: enable support for the W3CDomVersion
3755         and EcmaScriptVersion properties.
3756
3757 2005-07-21  Chris Toshok  <toshok@ximian.com>
3758
3759         * HttpResponseHeader.cs: hi, i'm stupid and missed String.Replace.
3760         
3761 2005-07-21  Chris Toshok  <toshok@ximian.com>
3762
3763         * HttpResponseHeader.cs: url encode just \r and \n if they're
3764         present in the value.
3765
3766 2005-07-20  Chris Toshok  <toshok@ximian.com>
3767
3768         * HttpPostedFile.cs: add missing ContentLength property.
3769
3770 2005-07-20  Chris Toshok  <toshok@ximian.com>
3771
3772         * HttpCookieCollection.cs: add a new ctor that takes a string (the
3773         contents of the Cookies: header).
3774
3775 2005-07-20  Chris Toshok  <toshok@ximian.com>
3776
3777         * HttpCookieCollection.cs: add another ctor (internal, but not
3778         obsolete, so we aren't passing a stupid HttpResponse in in order
3779         to change the behavior of the collection.)
3780
3781         * HttpCookie.cs: init this.values in the internal ctor.
3782
3783 2005-07-20  Chris Toshok  <toshok@ximian.com>
3784
3785         * HttpCookieCollection.cs: use "auto-fill mode" when we're dealing
3786         with an HttpResponse's cookie collection.  That is, create the
3787         cookie if the consumer looks it up.
3788
3789 2005-07-20  Miguel de Icaza  <miguel@novell.com>
3790
3791         * HttpApplication.cs: Ongoing work on pipeline, I will need to
3792         redo this later.
3793
3794 2005-07-19  Miguel de Icaza  <miguel@novell.com>
3795
3796         * HttpContext.cs (GetService): Implement.  Return all of the
3797         properties that we have access to.  Make HttpWorkerRequest the
3798         first match as this is the only likely reason people need to use
3799         this. 
3800
3801         * IntPtrStream.cs: Bring from corlib.
3802
3803         * MultiPartContentParser.cs: use a MemoryStream as HttpInputStream
3804         will now be using IntPtrStream. 
3805
3806         * HttpRequest.cs (MakeInputStream): move code that loads the
3807         request here
3808         (CloseInputStream): Helper method that we will call later to
3809         ensure that we dispose properly the malloced() block. 
3810         (BinaryRead): Implemented.
3811
3812         * HttpInputStream.cs: Rewrite to be a descendant of
3813         IntPtrStream.cs 
3814
3815 2005-07-18  Miguel de Icaza  <miguel@novell.com>
3816
3817         * HttpApplication.cs (Modules): Add modules support and
3818         AsyncResult.
3819
3820 2005-07-18  Chris Toshok  <toshok@ximian.com>
3821
3822         * HttpResponseHeader.cs: initial implementation.
3823
3824 2005-07-18  Chris Toshok  <toshok@ximian.com>
3825
3826         * HttpModuleCollection.cs (HttpModuleCollection.GetKey): add
3827         missing method.
3828
3829         * HttpFileCollection.cs: initial implementation.
3830
3831 2005-07-18  Chris Toshok  <toshok@ximian.com>
3832
3833         * HttpModuleCollection.cs (HttpModuleCollection.CopyTo): implement
3834         missing method.
3835
3836 2005-07-18  Chris Toshok  <toshok@ximian.com>
3837
3838         * HttpModuleCollection.cs: initial implementation.
3839
3840 2005-07-18  Chris Toshok  <toshok@ximian.com>
3841
3842         * HttpCacheVaryByHeaders.cs: only add the header if it's not
3843         already in the hash.
3844
3845         * HttpCacheVaryByParams.cs: only add the param if it's not already
3846         in the hash.
3847
3848 2005-07-18  Chris Toshok  <toshok@ximian.com>
3849
3850         * HttpCookie.cs (HttpCookie+CookieNVC.Set): new override to fix an
3851         MS quirk.
3852
3853 2005-07-17  Miguel de Icaza  <miguel@novell.com>
3854
3855         * HttpRequest.cs (Headers, InputStream): implemented two more
3856         properties.
3857
3858         * HttpInputStream.cs: All we need is a MemoryStream with writable
3859         set to false.
3860
3861         * HttpPostedFile.cs: Use a Stream.
3862
3863 2005-07-16  Chris Toshok  <toshok@ximian.com>
3864
3865         * HttpCacheVaryByHeaders.cs: make sure we set vary_by_unspecified
3866         = false in the custom setter.
3867
3868 2005-07-16  Chris Toshok  <toshok@ximian.com>
3869
3870         * HttpCacheVaryByParams.cs: initial implementation.
3871
3872 2005-07-16  Chris Toshok  <toshok@ximian.com>
3873
3874         * HttpCacheVaryByHeaders.cs: initial implementation.
3875
3876 2005-07-15  Chris Toshok  <toshok@ximian.com>
3877
3878         * HttpCookie.cs: one more time.
3879
3880 2005-07-15  Chris Toshok  <toshok@ximian.com>
3881
3882         * HttpCookie.cs (HttpCookie.GetCookieHeader): use
3883         expires.ToString().
3884         
3885 2005-07-15  Chris Toshok  <toshok@ximian.com>
3886
3887         * HttpCookie.cs (HttpCookie.GetCookieHeader): implement to fix
3888         ben's bug.
3889
3890 2005-07-15  Chris Toshok  <toshok@ximian.com>
3891
3892         * HttpCookieCollection.cs: initial implementation (with a couple
3893         of labeled inefficiencies.)
3894
3895 2005-07-15  Chris Toshok  <toshok@ximian.com>
3896
3897         * HttpCookie.cs (HttpCookie.get_HasKeys): use values.HasKeys()
3898         instead of trying to be smart about it ourselves.
3899
3900 2005-07-15  Chris Toshok  <toshok@ximian.com>
3901
3902         * HttpCookie.cs: initial implementation.  we fail one unit test,
3903         but it might be due to a bug in NameValueCollection.
3904
3905 2005-07-15  Miguel de Icaza  <miguel@novell.com>
3906
3907         * HttpRequest.cs: 
3908
3909 2005-07-14  Miguel de Icaza  <miguel@novell.com>
3910
3911         * HttpRuntime.cs: Return a few of the values from the AppDomain
3912         data. 
3913
3914         Put the application shutdown process.
3915
3916         * HttpApplicationFactory.cs (AddEvent): Fixed bug when more than
3917         one method existed.
3918         
3919         (FireEvent): Do not ignore errors.
3920
3921         * HttpContext.cs (GetAppConfig, GetConfig): First success, use
3922         ConfigurationSettings.GetConfig to get the value that QueueManager
3923         needed.
3924
3925 2005-07-14  Dick Porter  <dick@ximian.com>
3926
3927         * HttpPostedFile.cs: New basic implementation; needs someone to
3928         figure out what a HttpRequestStream does
3929
3930 2005-07-13  Miguel de Icaza  <miguel@novell.com>
3931
3932         * HttpRequest.cs: More work on this file
3933
3934         * HttpRequest.cs, HttpApplication.cs, HttpContext.cs,
3935         HttpRuntime.cs: New from scratch implementation.
3936
3937 2005-07-01  Lluis Sanchez Gual <lluis@novell.com>
3938
3939         * SiteMap.cs: Read provider info from the configuration files.
3940
3941 2005-06-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3942
3943         * HttpResponseHeader.cs: URL encode \r and \n in header values. Fixes
3944         bug #75392.
3945
3946 2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3947
3948         * HttpUtility.cs: fix another stupid buglet in htmldecode.
3949
3950 2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3951
3952         * HttpContext.cs:
3953         * HttpResponse.cs:
3954         * HttpRequest.cs: use StrUtils (invariant culture).
3955
3956 2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3957
3958         * HttpRequest.cs: use StartsWith when looking for 'multipart/form-data'.
3959         File uploading was broken since a few commits ago.
3960
3961 2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3962
3963         * HttpResponse.cs: ensure that the last chunk ('0\r\n\r\n') is sent
3964         even if response.Close is called before a final flush. MS/IIS fails to
3965         do this.
3966
3967 2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3968
3969         * HttpRequest.cs: don't print anything for unknown content types in
3970         ParseFormData. Use lowercase compare.
3971
3972 2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3973
3974         * HttpResponse.cs: invariant love.
3975
3976 2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3977
3978         * HttpResponse.cs: avoid 1 string concat.
3979         * HttpRequest.cs: fix BinaryRead. It was totally wrong.
3980
3981 2005-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3982
3983         * HttpUtility.cs: don't append an extra 0 when no digits seen. Fixes
3984         bug #75370.
3985
3986 2005-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3987
3988         * HttpUtility.cs: the lower limit for using &#xx; encoding is 160, not
3989         128. Reset number back to 0 after use. Fixes bug #75365.
3990
3991 2005-06-19  Svetlana Zholkovsky <svetlanaz-at-mainsoft.com>
3992                 * In following classes added TARGET_J2EE or/and TARGET_JVM
3993                   directives:
3994                         - HttpResponse.cs
3995                         - HttpRuntime.cs
3996                         - HttpUtility.cs
3997                         - CapabilitiesLoader.cs
3998                         - HttpApplication.cs
3999                         - HttpApplicationFactory.cs
4000                         - HttpContext.cs
4001                         - HttpException.cs
4002                         - HttpRequest.cs
4003                 * Added Mainsoft's specific files :
4004                         - GhHttpAsyncResult.jvm.cs
4005
4006 2005-06-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4007
4008         * HttpRequest.cs: avoid one intermediate buffer when reading the request
4009         body and fail for over limit content length when the content type is
4010         not handled as form or multipart data.
4011
4012 2005-06-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4013
4014         * HttpResponse.cs: fix the check in Close() so that CloseConnection is
4015         called even if there has been no final Flush. Fixes bug #75176.
4016
4017 2005-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4018
4019         * HttpParseException.cs:
4020         * HttpResponse.cs:
4021         * HttpApplication.cs: updates for 1.1 service pack.
4022
4023 2005-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4024
4025         * HttpUtility.cs: fix InvalidCastException.
4026
4027 2005-06-05  Kornél Pál <kornelpal@hotmail.com>
4028
4029         * HttpWriter.cs: Fixed: _OutputFilter.Close () was called twice.
4030
4031 2005-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4032
4033         * HttpUtility.cs: modified HtmlDecode so that it does not need to call
4034         Int32.Parse and handles improper &# sequences. Fixes bug #74907.
4035
4036 2005-05-26  Lluis Sanchez Gual <lluis@novell.com>
4037
4038         * SiteMapNodeCollection.cs: Implemented missing methods. The collection
4039         does not inherit from CollectionBase any more.
4040         * SiteMapNode.cs: Track api changes.
4041         * SiteMapProvider.cs: Moved several methods to the new
4042         StaticSiteMapProvider class. Other fixes.
4043         * XmlSiteMapProvider.cs: Watch changes in the xml files. Other fixes.
4044         * SiteMapProviderCollection.cs: Minor fixes.
4045         * SiteMap.cs: Added missing event. Avoid double check lock.
4046         * StaticSiteMapProvider.cs: New class that implements some of the
4047         funtionality of SiteMapProvider.
4048
4049 2005-05-25  Ben Maurer  <bmaurer@ximian.com>
4050
4051         * MimeTypes.cs: Remove extra spaces, they were typos. Fixes 75049.
4052
4053 2005-05-13 Atsushi Enomoto <atsishi@ximian.com>
4054
4055         * HttpUtility.cs : UrlDecodeToBytes() incorrectly decoded escaped 
4056           characters. Patch by Kazuki Oikawa.
4057
4058 2005-05-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4059
4060         * HttpRuntime.cs: PlatformID.Unix.
4061
4062 2005-05-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4063
4064         * HttpResponse.cs: cleaned up the .ctors, fix IsClientConnected and just
4065         Clear the _Headers array instead of creating a new ArrayList in
4066         ClearHeaders().
4067
4068 2005-05-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4069
4070         * HttpResponse.cs: we had 2 variables to track client connection status.
4071         Use only one. Increase the buffer size to 28KB when writing from a file.
4072
4073         * StaticFileHandler.cs: set the Content-Type before writing the file.
4074         This allows flushing before all the content is written.
4075
4076         * HttpApplication.cs: use the variable instead of the property when
4077         setting the Principal for the current process.
4078
4079 2005-05-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4080
4081         * ReusableMemoryStream.cs:
4082         * HttpWriter.cs: keep a pool of buffers to avoid allocations.
4083
4084 2005-05-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4085
4086         * HttpResponse.cs: no need to save/restore the thread culture when
4087         getting the Date header. According to Ben's profiling, this is a big
4088         deal in performance.
4089
4090         * HttpRuntime.cs: ignore exceptions that might be thrown when unloading 
4091         a domain.
4092
4093 2005-05-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4094
4095         * HttpApplicationFactory.cs: ignore any exception thrown when invoking
4096         an application event.
4097
4098 2005-04-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4099
4100         * HttpBrowserCapabilities.cs: fix Win32 property.
4101
4102 2005-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4103
4104         * HttpResponse.cs: only add the charset when explicitly set or for
4105         well-known content types.
4106
4107 2005-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4108
4109         * HttpCachePolicy.cs:
4110         * HttpAsyncResult.cs:
4111         * HttpClientCertificate.cs:
4112         * HttpException.cs:
4113         * HttpRuntime.cs:
4114         * HttpCacheVaryByHeaders.cs:
4115         * HttpBrowserCapabilities.cs:
4116         * HttpUtility.cs:
4117         * HttpCacheVaryByParams.cs: no more warnings.
4118
4119         * QueueManager.cs: check for local connections with minLocalFreeThreads.
4120
4121 2005-04-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4122
4123         * ServerVariablesCollection.cs: shuffled variables, added missing ones
4124         and call a method in HttpRequest to set the HTTP_ variables.
4125
4126         * HttpRequest.cs: new method to add HTTP_ variables to a collection.
4127
4128 2005-04-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4129
4130         * HttpRequest.cs: GetAllHeaders was returning the value twice instead
4131         of 'name: value'. When HTTP_ is requested on the output, don't include
4132         unknown headers.
4133
4134 2005-03-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4135
4136         * HttpCookieCollection.cs: when adding more than one cookie with the
4137         same name, the last one is the winner.
4138
4139 2005-03-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4140
4141         * HttpRequest.cs: correctly store the value cookies in Params. Fixes
4142         bug #73345.
4143
4144 2005-02-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4145
4146         * HttpRequest.cs: Path and FilePath also change when RewritePath is
4147         called. Fixes bug #73055.
4148
4149 2005-02-23  Sebastien Pouliot  <sebastien@ximian.com>
4150
4151         * HttpRequest.cs: Make sure that any access after a ValidateInput 
4152         throws an exception if the data isn't safe.
4153
4154 2005-02-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4155
4156         * CapabilitiesLoader.cs: fix the path, as machine.config is now in a
4157         x.x/ directory below $PREFIX/etc/mono.
4158
4159 2005-02-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4160
4161         * HttpRequest.cs: fail on unicode full-width '<' and '>' too. Fixes
4162         a security report (http://secunia.com/advisories/14325) that wan't
4163         reported to us before public disclosure.
4164
4165 2005-02-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4166
4167         * HttpResponse.cs: send the calculated content length even when it's 0.
4168         Fixes bug #72655.
4169
4170 2005-02-04  Lluis Sanchez Gual <lluis@novell.com>
4171
4172         * HttpContext.cs: Added internal property to keep a reference to
4173         the last accessed page. Page uses this to implement PreviousPage.
4174
4175 2005-02-02  Lluis Sanchez Gual <lluis@novell.com>
4176
4177         * ProcessModelInfo.cs: Fixed warning.
4178
4179 2005-02-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4180
4181         * TraceContext.cs: writing a message without any other argument is not
4182         a warniing. Fixes bug #72017.
4183
4184 2005-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4185
4186         * HttpApplication.cs: if there are no more handlers, finish the
4187         request and ensure we call Complete on it. Now FreeTextBox 3.0 works.
4188
4189 2004-12-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4190
4191         * HttpRequest.cs: honor the maxRequestSize limit from machine.config.
4192
4193 2004-12-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4194
4195         * HttpApplication.cs: reread application CultureInfo as web.config
4196         might have changed. Fixes bug #62539.
4197
4198 2004-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4199
4200         * HttpResponse.cs: fixed ApplyAppPathModifier to insert the session ID.
4201
4202 2004-11-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4203
4204         * HttpApplicationFactory.cs: monitor changes in global.asax and bin
4205         directory and shutdown the application when that happens. Fixes bug
4206         #49651.
4207
4208 2004-11-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4209
4210         * ReusableMemoryStream.cs: copied from System.IO.MemoryStream and
4211         slightly modified to allow expanding the buffer for cases on which the
4212         regular MemoryStream don't allow it.
4213
4214         * HttpWriter.cs: use the new ReusableMemoryStream and fix bug #59841.
4215         Otherwise we would have to allocate a new MemoryStream...
4216
4217 2004-11-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4218
4219         * HttpApplication.cs: Create() is now GetInstance().
4220
4221 2004-11-18 Lluis Sanchez Gual <lluis@novell.com>
4222
4223         * SiteMapNodeCollection.cs: Added missing properties.
4224         * HttpParseException.cs: Added 2.0 methods and properties.
4225         * SiteMapNode.cs: Added missing methods and properties.
4226         * SiteMapProvider.cs, XmlSiteMapProvider.cs, 
4227         SiteMapProviderCollection.cs: IProvider does not exist any
4228         more, it is now ProviderBase.
4229         * ISiteMapProvider.cs: Deleted.
4230         * ParserErrorCollection.cs, ParserError.cs, SiteMapResolveEventArgs.cs:
4231           Implemented.
4232         * SiteMap.cs: Minor fixes.      
4233
4234 2004-11-15 Lluis Sanchez Gual <lluis@novell.com>
4235
4236         * SiteMapProviderCollection.cs: Fixed warning.
4237         * HttpApplication.cs: Added new 2.0 events.
4238
4239 2004-11-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4240
4241         * HttpResponse.cs: added internl SetHeadersSent.
4242         * HttpRuntime.cs: don't throw the 'headers already sent' exception
4243         if we're sending a runtime error.
4244
4245 2004-11-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4246
4247         * HttpApplication.cs: undo the TimeoutManager.(Add|Remove) shuffling.
4248         It causes troubles under heavy load.
4249
4250 2004-11-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4251
4252         * SiteMap.cs: don't lock on Type.
4253         * CapabilitiesLoader.cs: avoid 2 locks when loading data.
4254
4255 2004-11-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4256
4257         * HttpRequest.cs: patch by Dennis Gervalle that fixes PhysicalPath in
4258         presence of rewriting.
4259
4260 2004-10-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4261
4262         * HttpApplication.cs: don't hang if a sync step is aborted. Fixes the
4263         system.web portion of bug #68270.
4264
4265 2004-10-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4266
4267         * TraceContext.cs: don't cast to Page is the handler it's
4268         not a page.
4269
4270 2004-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4271
4272         * HttpRequest.cs: CurrentExecutionFilePath is the one that
4273         changes when Transfer or Execute are used, not FilePath.
4274
4275         * HttpServerUtility.cs: moved form saving/restoring from
4276         Transfer to Execute, as it's needed there too. the query string is
4277         correctly set now. Fixes bug #67388.
4278
4279         * HttpContext.cs: use SetCurrentExePath instead of SetFilePath.
4280
4281 2004-10-03 Ben Maurer  <bmaurer@ximian.com>
4282
4283         * HttpResponse.cs: use UtcNow
4284
4285 2004-10-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4286
4287         * HttpResponse.cs: SuppressContent does not throw and clears all the
4288         buffered output. Fixes bug #67213.
4289
4290 2004-09-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4291
4292         * HttpUtility.cs: UrlPathEncode is static. Fixes bug #67155.
4293
4294 2004-09-29 Ben Maurer  <bmaurer@ximian.com>
4295
4296         * HttpContext.cs, TimeoutManager: Use DateTime.UtcNow.
4297
4298 2004-09-25 Ben Maurer  <bmaurer@ximian.com>
4299
4300         * HttpApplication.cs: Make sure requests are removed from
4301         the timeout manager. Fixes a major leak. #66751.
4302
4303 2004-09-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4304
4305         * HttpApplicationFactory.cs:
4306         * HttpRuntime.cs: implemented UnloadAppDomain and be ready for domain
4307         unloading.
4308
4309 2004-09-12 Ben Maurer  <bmaurer@ximian.com>
4310
4311         * HttpContext.cs: use CallContext. It is a little bit faster.
4312
4313 2004-09-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4314
4315         * HttpStaticObjectsCollection.cs: don't share static session objects
4316         declared in the application file across the application, but on a
4317         per-session basis. Fixes bug #65446.
4318
4319 2004-09-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4320
4321         * HttpServerUtility.cs: in Transfer(path), don't keep form data if
4322         the transfer is done from inside a page that received a postback.
4323         Fixes bug #65613.
4324
4325 2004-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4326
4327         * HttpValueCollection.cs: fixed signature of ToString (). Closes bug
4328         #65392.
4329
4330 2004-09-06 Ben Maurer  <bmaurer@users.sourceforge.net>
4331
4332         * HttpWriter.cs (.ctor): Dont create teh StreamWriter twice
4333         (Clear): Don't recreate the MemoryStream and StreamWriter
4334
4335 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4336
4337         * HttpApplication.cs: only add/remove to/from the timeout
4338         manager when we're in a interruptible step.
4339
4340 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4341
4342         * TraceContext.cs: when IsEnabled has not been set, return the value
4343         from the TraceManager. Fixes bug #63469.
4344
4345 2004-08-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4346
4347         * HttpRuntime.cs: initialize the response writer when finishing a
4348         request because it cannot be queued. Under heavy load we made new
4349         requests be processed before the ones that might be queued. This is
4350         no longer the case.
4351
4352         * QueueManager.cs: instead of queueing/dequeuing separately, we now
4353         have a single method that does everything needed to decide which one
4354         will be the next request processed.
4355
4356 2004-08-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4357
4358         * HttpRuntime.cs: removed initializations to null in .cctor. Prevent
4359         other requests from avoiding the lock if they are received before the
4360         configuration system is inited. Ensure that the queue manager is not
4361         null before using it (it can be null while the first request is being
4362         processed).
4363
4364 2004-08-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4365
4366         * HttpServerUtility.cs: ensure we have a full virtual path for the
4367         request being executed.
4368
4369 2004-08-02  Duncan Mak  <duncan@ximian.com>
4370
4371         * ApplicationShutdownReason.cs: Fixed typos.
4372
4373         * HttpCookieMode.cs:
4374         * HttpDataTransferMode.cs:
4375         * HttpRequestPriority.cs: Added [Serializable] attribute.
4376         
4377 2004-08-02  Duncan Mak  <duncan@ximian.com>
4378
4379         * ApplicationShutdownReason.cs:
4380         * HttpCookieMode.cs:
4381         * HttpDataTransferMode.cs:
4382         * HttpRequestPriority.cs: Added 2.0 enumerations.
4383         
4384 2004-07-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4385
4386         * HttpApplication.cs: the file not found might be a dependency.
4387
4388 2004-07-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4389
4390         * HttpCookie.cs: use invariant when formatting expires date. Fixes bug
4391         #61690.
4392
4393 2004-07-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4394
4395         * HttpApplication.cs: don't keep the session around if we got it from
4396         the context. Fixes bug #61232.
4397
4398 2004-07-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4399
4400         * HttpUtility.cs: fixed stupid bug in UrlDecode from bytes. Closes bug
4401         #61181.
4402
4403 2004-07-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4404
4405         * TraceContext.cs: added internal HaveTrace property whose
4406         value is true when the page has a Trace attribute.
4407
4408 2004-06-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4409
4410         * TraceData.cs: fixed <br> output. Closes bug #60181.
4411
4412 2004-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4413
4414         * HttpUtility.cs: check for control characters in the string to encode
4415         or decode and return the same string if there are none.
4416
4417 2004-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4418
4419         * HttpApplication.cs: change/restore the IPrincipal in their own methods
4420         and make them internal.
4421
4422 2004-06-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4423
4424         * HttpContext.cs: reverting Pedro's patch and sending mail with test
4425         to mono-devel.
4426
4427 2004-06-09  Pedro Martnez Juli  <yoros@wanadoo.es>
4428
4429         * HttpContext: User property returns its own "user" value because
4430         the context can walk through different Threads. When "User" property
4431         is changed, change "Thread.CurrentPrincipal" too.
4432
4433 2004-06-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4434
4435         * HttpRequest.cs: removed extra ^Ms and fixed style of last patch.
4436
4437 2004-06-08  Alon Gazit  <along@mainsoft.com>
4438
4439         * HttpRequest.cs: Add a patch for HttpRequest.ServerVariables.
4440
4441 2004-06-07  Sebastien Pouliot  <sebastien@ximian.com>
4442
4443         * HttpContext.cs: User property now get/set Thread.CurrentPrincipal.
4444         Fix (at least partially) #59683.
4445
4446 2004-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4447
4448         * HttpRequest.cs: reverting patch from Alon Gazit. Uses the above file
4449         that doesn't compile.
4450
4451 2004-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4452
4453         * TraceData.cs: fixes nullref in an application that relies on
4454         r ["Message"] not being null. Closes bug #59679.
4455
4456 2004-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4457
4458         * HttpCachePolicy.cs: implemented SetAllowResponseInBrowserHistory.
4459
4460 2004-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4461
4462         * HttpRuntime.cs: implemented a 5 simple properties that were TODOs.
4463
4464 2004-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4465
4466         * HttpBrowserCapabilities.cs: implemented ClrVersion and GetClrVersions.
4467         * HttpException.cs: removed MonoTODO.
4468
4469 2004-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4470
4471         * TraceContext.cs: don't check if HttpRuntime.TraceManager
4472         is enabled when writing.
4473
4474 2004-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4475
4476         * HttpRequest.cs: added ClientTarget internal property.
4477
4478 2004-06-03  Lluis Sanchez Gual <lluis@ximian.com>
4479
4480         * HttpApplication.cs: Clear the http handler list after releasing the
4481           handlers.
4482
4483 2004-06-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4484
4485         * TraceData.cs: html-encode the messages written to the trace. Fixes
4486         bug #59431.
4487
4488 2004-06-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4489
4490         * HttpWorkerRequest.cs: the hashtables are now case-insensitive. Thanks
4491         to Markus Krutner.
4492
4493 2004-05-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4494
4495         * HttpRequest.cs: nullify _sRequestRootVirtualDir and baseVirtualDir
4496         when SetFilePath is called. This way the cached values are reset and
4497         get the right value in case someone (namely SessionStateModule + 
4498         cookieless session) changes the FilePath after the property cached its
4499         value. Fixes bug #59364.
4500
4501 2004-05-27      Patrik Torstensson <totte@hiddenpeaks.com>
4502
4503         * HttpApplicationFactory.cs: Added SignalError (still todo)
4504
4505 2004-05-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4506
4507         * HttpResponse.cs: remove hardcoded "HTTP/1.0" version that kept
4508         chunked encoding disabled. Fixed chunked suffix and end. Send the
4509         'lastchunk' marked when in the final Flush even if the content length
4510         is 0. This makes mod-mono-server work fine with chunked encoding.
4511          
4512         * HttpRuntime.cs: Set the _firstRequest* variables to true
4513         earlier. TraceContext don't take any parameter now.
4514
4515         * TraceManager.cs: don't need a context. Use GetAppConfig.
4516
4517 2004-05-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4518
4519         * HttpApplication.cs: set culture/uiculture from configuration and
4520         restore it after each step. Fixes bug #52851.
4521
4522 2004-05-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4523
4524         * HttpUtility.cs: use lower case in UrlEncode like MS does. Delay
4525         entities hashtable creation until it's really needed.
4526
4527 2004-05-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4528
4529         * HttpApplicationFactory.cs: if no module matches the name found for a
4530         possible event, ignore it. Fixes bug #58542.
4531
4532 2004-05-16      Patrik Torstensson <totte@hiddenpeaks.com>
4533
4534         * HttpRuntime (Init): Removed old todo
4535         * HttApplication : Implemented IHttpHandlerFactory recycling
4536         
4537 2004-04-28      Patrik Torstensson
4538
4539         * HttpApplicationState.cs: Performance, usage of ReaderWriter lock,
4540         removed MonoTodo
4541
4542 2004-04-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4543
4544         * HttpUtility.cs: return null in HtmlDecode for null input instead of
4545         throwing an exception. Patch by Jan Jaros (bug #57083).
4546
4547 2004-04-10  Vladimir Vukicevic  <vladimir@pobox.com>
4548
4549         * TimeoutManager.cs: Swap the order of initialization of contexts
4550         and the Timer, to avoid race condition of CheckTimeouts being called
4551         before contexts gets initialized.
4552
4553 2004-03-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4554
4555         * HttpRequestStream.cs: patch from Jan Jaros that fixes bug #56080.
4556         Now the posted file content does not have the boundaries and headers
4557         included.
4558
4559 2004-03-25  Alon Gazit <along@mainsoft.com>
4560
4561         * HttpRequest.cs: fix ValidateCookieCollection() to prevent
4562         InvalidCastException.
4563
4564 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4565
4566         * HttpValueCollection.cs: don't UrlDecode cookies. Fixes bug #55254.
4567
4568 2004-03-01  Larry Ewing  <lewing@ximian.com>
4569
4570         * HttpUtility.cs: fix UrlEncodeToBytes count check.
4571
4572 2004-02-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4573
4574         * HttpServerUtility.cs:
4575         * HttpUtility.cs: added some checks for null. Fixed UrlPathEncode (bug
4576         #53670).
4577
4578 2004-02-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4579
4580         * HttpUtility.cs: fixed length check. Closes bug #54201.
4581         Thanks to Michal Moskal. Use MemoryStream instead of an ArrayList when
4582         decoding.
4583
4584 2004-02-11  Jackson Harper <jackson@ximian.com>
4585
4586         * TraceData.cs: Use ToString for cookie/header/var name values so
4587         null is handled properly.
4588         
4589 2004-02-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4590
4591         * HttpApplication.cs: ApplicationState is inited by the factory so,
4592         return that value in the property. when we use the context Session,
4593         cache it in the instance field.
4594
4595         * HttpApplicationFactory.cs: fixed target Type for the event when
4596         hooking application and module events. Initialize application
4597         and session scope objects. Fixes non-aplication events hook up.
4598
4599         * HttpStaticObjectsCollection.cs: added StaticItem and delay the
4600         creation of the objects until they are requested.
4601
4602 2004-01-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4603
4604         * HttpApplicationFactory.cs: fixlet for session events hook.
4605
4606 2004-01-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4607
4608         * HttpApplicationFactory.cs: attach all events from Type and BaseType
4609         at the same time. Fixes bug #53454.
4610
4611 2004-01-27  Jackson Harper <jackson@ximian.com>
4612
4613         * HttpCachePolicy.cs: varybyparams::GetResponseHeader can return
4614         null now, dont hadd the header if it does.
4615         * HttpCacheVaryByParams.cs: Return null if there are no items.
4616
4617 2004-01-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4618
4619         * HttpCachePolicy.cs: it's not public.
4620         * HttpRuntime.cs: wait for requests before disposing the queue.
4621
4622 2004-01-15  Jackson Harper <jackson@ximian.com>
4623
4624         * HttpCachePolicy.cs: Fix typo causing varyby params headers to be
4625         created when they shouldn't be.
4626         
4627 2004-01-14  Jackson Harper <jackson@ximian.com>
4628
4629         * TraceData.cs: Fix some typos in the output text. Fix control
4630         position when adding controls recursively.
4631         
4632 2004-01-14  Jackson Harper <jackson@ximian.com>
4633
4634         * HttpCachePolicy.cs: Expose duration and sliding properties.
4635         
4636 2004-01-14  Jackson Harper <jackson@ximian.com>
4637
4638         * HttpCachePolicy.cs: Add an event that is fired when the
4639         cacheability is updated. The response uses this to determine
4640         whether or not it needs to cache itself.
4641         * HttpResponse.cs: When the cacheability is updated either create
4642         or dispose of the cached raw response based on whether or not we
4643         wil need it. This allows output caching to be controlled
4644         programatically.
4645         
4646 2004-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4647
4648         * HttpContext.cs: add setter for ConfigTimeout.
4649         * HttpException.cs: added Description property and HTML encode some
4650         unescaped values.
4651
4652         * HttpRequest.cs: support request validation.
4653
4654         * HttpRequestValidationException.cs: added message and description.
4655
4656         * HttpServerUtility.cs: implemented ScriptTimeout.
4657
4658 2004-01-11  Jackson Harper <jackson@ximian.com>
4659
4660         * TraceManager.cs: Dont crash if there is no trace config element.
4661         
4662 2004-01-11  Jackson Harper <jackson@ximian.com>
4663
4664         * HttpRequest.cs: Add property for determining if the request is
4665         local or not.
4666         
4667 2004-01-10  Jackson Harper <jackson@ximian.com>
4668
4669         * TraceContext.cs: Handle tracing when it is enabled in the config
4670         file but not on the page.
4671         * TraceManager.cs: Get settings from the configuration object.
4672         * HttpRuntime.cs: Create trace manager in the first request start
4673         so it can get configuration settings.
4674         
4675 2004-01-10  Jackson Harper <jackson@ximian.com>
4676
4677         * TraceContext.cs: Save the request path in the trace data.
4678         * TraceData.cs: Add RequestPath property, make some rendering
4679         methods internal static so the TraceHandler can use them.
4680         * TraceManager.cs: Expose trace data, add a method for clearing
4681         trace data.
4682         
4683 2004-01-10  Jackson Harper <jackson@ximian.com>
4684
4685         * HttpRuntime.cs: Add trace manager
4686         * TraceManager.cs: New class for handling trace configuration and
4687         storing trace data objects.
4688         * TraceContext.cs: Save trace data to the trace manager. Fix typo.
4689         
4690 2004-01-10  Jackson Harper <jackson@ximian.com>
4691
4692         * TraceData.cs: New class for storing trace data. Data is stored
4693         here instead of the trace context so it can be saved and accessed
4694         from the trace handler.
4695         * TraceContext.cs: Save data in the TraceData object, let the
4696         trace data object handle the rendering.
4697         
4698 2004-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4699
4700         * HttpRequest.cs: use ContentEncoding for QueryString. Fixes bug #52577.
4701         Thanks to Jan Jaros (mono-bug@jerryweb.info).
4702
4703         * HttpRequestValidationException.cs: fix comment.
4704
4705 2004-01-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4706
4707         * HttpException.cs: default to error 500. Fixes bug #52623.
4708
4709 2004-01-04  Jackson Harper <jackson@ximian.com>
4710
4711         * TraceContext.cs: Store and render trace info times. Also render
4712         cookie sizes. Remove debug code.
4713         
4714 2004-01-04  Jackson Harper <jackson@ximian.com>
4715
4716         * HttpResponse.cs: Set the cached response date header so it can
4717         be updated.
4718         * HttpResponseHeader.cs: Let values be set so we can update cached 
4719         response header values.
4720         
4721 2004-01-04  Jackson Harper <jackson@ximian.com>
4722
4723         * HttpResponse.cs: Implement RemoveOutputCacheItem.
4724         
4725 2004-01-04  Jackson Harper <jackson@ximian.com>
4726
4727         * HttpCachePolicy.cs: Add internal method to get the vary by custom string
4728         * HttpCacheVaryByHeaders.cs: Add internal method to get the header names.
4729         
4730 2004-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4731
4732         * HttpRuntime.cs: implemented MachineConfigurationDirectory,
4733
4734 2004-1-1  Alon Gazit <along@mainsoft.com>
4735         * HttpWriter.cs: add check in Write() in order to prevent
4736         NullReferenceException.
4737
4738 2004-1-1  Alon Gazit <along@mainsoft.com>
4739         * HttpResponse.cs: implemented ExpiresAbsolute and Expires.
4740
4741 2003-12-18  Jackson Harper <jackson@ximian.com>
4742
4743         * TraceContext.cs: Write () methods are not warnings.
4744         
4745 2003-12-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4746
4747         * HttpBrowserCapabilities.cs: added GetClrVersions ().
4748         * HttpCachePolicy.cs: added SetAllowResponseInBrowserHistory ().
4749         * HttpContext.cs: added set_Current and RewritePath (s, s, s) for 1.1.
4750         * HttpRequest.cs: added set_ContentType, SetPathInfo and ValidateInput.
4751         * HttpRequestValidationException.cs: new class for 1.1
4752         * HttpResponse.cs: added RedirectLocation.
4753         * HttpRuntime.cs: added UnloadAppDomain.
4754         * HttpServerUtility.cs: Execute (s, t, b) is internal for < 1.2
4755         * HttpUtility.cs: copied UrlPathEncode from HttpServerUtility.
4756         * HttpWorkerRequest.cs: added [ComVisible] and made the ctor public.
4757
4758 2003-12-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4759
4760         * HttpContext.cs: implemented IsCustomErrorEnabled and
4761         IsDebuggingEnabled. Added internal ErrorPage property.
4762
4763         * HttpRuntime.cs: on error, check if we have a custom error page enabled
4764         to handle it and redirect.
4765
4766         * HttpResponse.cs: added RedirectCustomError (), which actually does
4767         the redirection to the error page.
4768         
4769 2003-12-16  Jackson Harper <jackson@ximian.com>
4770
4771         * TraceContext.cs: Render all the data, and the stylesheet.
4772         
4773 2003-12-16  Jackson Harper <jackson@ximian.com>
4774
4775         * TraceContext.cs: Add incomplete render method.
4776         
4777 2003-12-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4778
4779         * CapabilitiesLoader.cs: loads browser detection and capabilities data
4780         from browscap.ini file by Gary J. Keith.
4781
4782         * HttpBrowserCapabilities.cs: removed almost all TODOs.
4783
4784         * HttpRequest.cs: fixed Browser property.
4785
4786 2003-12-15  Jackson Harper <jackson@ximian.com>
4787
4788         * TraceContext.cs: Initial implementation of storing data.
4789         * HttpContext.cs: Create and expose a trace object.
4790         
4791 2003-12-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4792
4793         * HttpApplication.cs: ThreadAbortException is ok on Redirect.
4794         * HttpContext.cs: added TimeoutPossible property.
4795         * HttpResponse.cs: throw ThreadAbortException if End () is called within
4796         a step in which is possible to timeout.
4797
4798         Fixes bug #51703.
4799
4800 2003-12-04  Jackson Harper <jackson@ximian.com>
4801
4802         * HttpRequest.cs: Cleanup method.
4803         
4804 2003-12-04  Jackson Harper <jackson@ximian.com>
4805
4806         * HttpValueCollection.cs: Allow blank value names. Posting
4807         <blank>=SomeValue is valid. And occurs if a radio button does
4808         not have its name set.
4809         
4810 2003-12-03  Jackson Harper <jackson@ximian.com>
4811
4812         * HttpResponse.cs: Actually apply an app path modifier in
4813         ApplyAppPathModifer and add a method to set the app path modifier.
4814         * HttpRequest.cs: Add utility method for setting a request header.
4815         
4816 2003-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4817
4818         * HttpApplication.cs: handle FileNotFound and DirectoryNotFound
4819         exceptions when creating the handler to generate a better error page.
4820
4821         * HttpException.cs: display the http_code if available.  Changed all
4822         \n by \r\n to make the hidden stack trace readable.
4823         
4824         * StaticFileHandler.cs: don't send the real path in th eerror.
4825
4826 2003-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4827
4828         * HttpContext.cs: updated GetConfig and GetAppConfig to new API.
4829         
4830         * HttpResponse.cs: separate initialization of the HttpWriter, as it
4831         tries to read configuration settings while the config. system is not
4832         available (ie, before the first request).
4833         
4834         * HttpRuntime.cs: delayed queueManager and response writer
4835         initialization until the configuration system is working.
4836
4837 2003-11-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4838
4839         * HttpRuntime.cs: added request queue handling.
4840
4841         * QueueManager.cs: simple request queue.
4842         
4843         * TimeoutManager.cs: added some locks to prevent the enumerator used in
4844         CheckTimeouts to be out of synch.
4845
4846 2003-11-25  Jackson Harper <jackson@ximian.com>
4847
4848         * HttpStaticObjectsCollection.cs: Add methods for serialization
4849         and conversion to/from byte arrays.
4850         
4851 2003-11-21  Jackson Harper <jackson@ximian.com>
4852
4853         * HttpResponse.cs: When caching data set the content length in the
4854         cached repsonse so that only that amount will be written back to
4855         the client. Add method to write a range of binary data.
4856         * HttpCacheVaryByParams.cs: Add method to retrieve param names.
4857         
4858 2003-11-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4859
4860         * HttpApplication.cs:
4861         * HttpContext.cs:
4862         * HttpRuntime.cs: add timeout handling.
4863         * TimeoutManager.cs: new class that takes care of aborting threads on
4864         timeout.
4865
4866 2003-11-19  Jackson Harper <jackson@ximian.com>
4867
4868         * HttpWriter.cs: Use a constant for the buffer size so the cache
4869         can get the buffer size. Add method to get the buffer.
4870         * HttpResponse.cs: Methods for getting data to cache, and setting
4871         vars from the cache.
4872         * HttpCachePolicy.cs: Expose a pages cache expire time.
4873         
4874 2003-11-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4875
4876         * HttpResponse.cs: 
4877         * HttpWriter.cs: some fixes to allow closing a response stream without
4878         messing the rest.
4879
4880 2003-11-13  Jackson Harper  <jackson@ximian.com>
4881
4882         * HttpCachePolicy.cs: Make sure cacheability and maxage get
4883         set. Add method to set Http response header data
4884         * HttpCacheVaryByParams.cs: Add method to create a response header.
4885         * HttpCacheability.cs: Add ServerAndPrivate and ServerAndNoCache.
4886         * HttpResponse.cs: Set cache headers.
4887         
4888 2003-11-11 Ben Maurer  <bmaurer@users.sourceforge.net>
4889
4890         * HttpModuleCollection.cs (GetKey): Recursion, again!
4891
4892 2003-11-11 Ben Maurer  <bmaurer@users.sourceforge.net>
4893
4894         * HttpClientCertificate.cs (ValidUntil): recursion!
4895
4896 2003-11-08 Ben Maurer  <bmaurer@users.sourceforge.net>
4897
4898         * SiteMapNode.cs (GetDataSourceView): Implement.
4899         * SiteMapProvider.cs: Typo fixing.
4900         * XmlSiteMapProvider.cs: We shouldnt resolve here.
4901         
4902 2003-11-08 Ben Maurer  <bmaurer@users.sourceforge.net>
4903
4904         * SiteMap.cs (Init): implement a hack that doesnt need the config
4905         stuff. Should do that later.
4906         * SiteMapNodeCollection (OnValidate): Fix recursion.
4907         * SiteMapProvider.cs: We dont implement some culture stuff work
4908         around it. Fix typo.
4909         * XmlSiteMapProvider.cs: Added.
4910         
4911 2003-11-07 Ben Maurer  <bmaurer@users.sourceforge.net>
4912
4913         * ISiteMapProvider.cs:
4914         * SiteMap.cs:
4915         * SiteMapNode.cs:
4916         * SiteMapNodeCollection.cs:
4917         * SiteMapProvider.cs:
4918         * SiteMapProviderCollection.cs: V2 sitemap related stuff.
4919
4920 2003-11-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4921
4922         * HttpRequest.cs: don't attempt to read more bytes than specified
4923         content length.
4924
4925 2003-11-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4926
4927         * HttpRequest.cs:
4928         * HttpResponse.cs:
4929         * HttpUtility.cs:
4930         * HttpValueCollection.cs: encoding fixes/updates.
4931
4932         * HttpWriter.cs: when updating the encoding, flush the existing stream.
4933         Encoding updates.
4934
4935 2003-11-04 Ben Maurer  <bmaurer@users.sourceforge.net>
4936
4937         * HttpContext.cs (IsCustomErrorEnabled): dont throw exception, just
4938         return false (which makes sense, as the custom errors *arent* enabled;
4939         ie they dont work.
4940         * HttpResponseStream.cs: you actually can write with len = 0
4941
4942 2003-11-03 Jackson Harper <jackson@ximian.com>
4943
4944         * HttpResponse.cs (ContentEncoding): Throw
4945         ArgumentNullException. Patch by Yaron Shkop.
4946         
4947 2003-10-30  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
4948
4949         * HttpMultipartContentParser.cs : Quick fix for cygwin build. 
4950           CSC complains that constant char cannot be casted as byte.
4951
4952 2003-10-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4953
4954         * HttpApplication.cs: added AssemblyLocation property.
4955
4956 2003-10-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4957
4958         * HttpApplicationFactory.cs: use NoParamsInvoker.
4959         * HttpRequest.cs: support request filters.
4960         * HttpRequestStream.cs: mono-stylized and added new Set method.
4961
4962         * NoParamsInvoker.cs: proxy class to invoke user-provided methods
4963         without parameters that are invoked by EventHandlers.
4964
4965 2003-10-13  Lluis Sanchez Gual <lluis@ximian.com>
4966
4967         * HttpResponse.cs: Changed harcoded switch to en-US culture to a switch
4968           to invariant culture.
4969
4970 2003-10-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4971
4972         * HttpResponse.cs:
4973         * HttpServerUtility.cs: change the response writer in Execute. Thanks
4974         to Rich Alimi <rich@velvetsea.net> for noticing this.
4975
4976 2003-10-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4977
4978         * HttpApplicationFactory.cs: support for wiring up events without
4979         parameters.
4980
4981 2003-10-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4982
4983         * HttpUtility.cs: small memory usage reduction.
4984
4985 2003-10-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4986
4987         * HttpApplication.cs: pass the Uri, not the file path to
4988         when looking for a handler.
4989
4990 2003-09-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4991
4992         * HttpRequest.cs: small fix needed when reading big POST data.
4993
4994 2003-09-04  Lluis Sanchez Gual <lluis@ximian.com>
4995
4996         * HttpRequest.cs: Url property: use GetLocalAddress() to get the address
4997           (this will get the address from the request headers).
4998
4999 2003-09-04  Lluis Sanchez Gual <lluis@ximian.com>
5000
5001         * HttpServerUtility.cs: In Transfer(), preserve the query string if
5002           told to do so.
5003
5004 2003-08-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5005
5006         * HttpApplication.cs: ensure we do all the EndRequest steps. Don't
5007         filter the output on error.
5008         
5009         * HttpResponse.cs: modified DoFilter to allow bypassing filtering.
5010
5011 2003-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5012
5013         * HttpApplication.cs: when the request is completed or an
5014         error happens, execute all the delegates attached to EndRequest, not
5015         only the last one. This makes xsp/test/authtest work again.
5016         
5017         * HttpMethodNotAllowedHandler.cs: fixed description for http
5018         status code.
5019
5020 2003-08-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5021
5022         * HttpRequest.cs: quick way of checking that the path is within the
5023         root for the application. Thanks to Johannes for reporting.
5024         
5025         * HttpRuntime.cs: use the status code from teh exception when it'ss a
5026         HttpException.
5027
5028         * StaticFileHandler.cs: forbidden is 403.
5029
5030 2003-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5031
5032         * HttpServerUtility.cs: fixed path and query. Path by Rich Alimi
5033         <rich@velvetsea.net>.
5034
5035 2003-08-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5036
5037         * HttpException.cs: make the unhandled error more like the MS one.
5038         * HttpRuntime.cs: set a 500 error code on unhandled exceptions.
5039
5040 2003-08-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5041
5042         * HttpResponse.cs: flush headers when the body length is 0.
5043         * StaticFileHandler.cs: added If-Modified-Since handling patch slightly
5044         modified from the original by Piers Haken <piersh@friskit.com>.
5045
5046 2003-08-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5047
5048         * HttpResponse.cs: another patch from totte and me. This one prevents
5049         writing output if the client have disconnected and filters the data
5050         when there's a non-final Flush in the middle of the process.
5051
5052 2003-08-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5053
5054         * HttpApplication.cs: fixed typos. Closes bug #44197.
5055
5056 2003-08-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5057
5058         * HttpApplication.cs:
5059         * HttpApplicationFactory.cs: fix duplicate application OnStart events.
5060
5061         Patch by Patrik Torstensson.
5062
5063 2003-08-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5064
5065         * HttpApplicationFactory.cs: use the correct Delegate.CreateDelegate
5066         overload. The previous one only admits static methods.
5067
5068 2003-08-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
5069
5070         * ProcessModelInfo.cs: Fixed signature
5071
5072 2003-07-30  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
5073
5074         * WebCategoryAttribute.cs: Implemented localization
5075         * WebSysDescriptionAttribute.cs: Implemented localization
5076
5077 2003-07-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5078
5079         * HttpRuntime.cs: also clear the headers that may have been set upon
5080         error processing the request.
5081
5082 2003-07-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5083
5084         * HttpResponseStreamProxy.cs: reformatted. Fixed infinite recursion in
5085         Write method.
5086
5087         * HttpWriter.cs: flush the filter after writing.
5088
5089 2003-07-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5090
5091         * HttpWriter.cs: avoid duplicating the MemoryStream byte buffer.
5092
5093 2003-07-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5094
5095         * HttpContext.cs: Session doesn't have a setter.
5096
5097         * HttpResponse.cs: Request is private.
5098
5099 2003-07-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5100
5101         * HttpRequest.cs: fixed Headers property. It was getting known headers
5102         values instead of known headers names.
5103
5104 2003-07-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5105
5106         * HttpApplication.cs: prevent nullref if an error happens before context
5107         is set.
5108         * HttpException.cs: small fix in the stack trace sent.
5109         * HttpUtility.cs: the lock is not needed.
5110
5111 2003-06-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5112
5113         * HttpRequest.cs: added REMOTE_PORT.
5114         * HttpValueCollection.cs: fixed bug #45490.
5115
5116 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5117
5118         * HttpApplication.cs:
5119         * HttpApplicationFactory.cs: fire application start and session
5120         start/end events.
5121
5122 2003-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5123
5124         * HttpException.cs: encode as HTML the inner exception that
5125         is appended as a comment at the end of error pages.
5126
5127 2003-05-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5128
5129         * HttpWriter.cs: don't do anything in Flush. Fixes #42249.
5130
5131 2003-05-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5132
5133         * HtmlizedException.cs: added more virtual methods.
5134
5135         * HttpException.cs:  some work on the output when there's a source
5136         file present.
5137
5138 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5139
5140         * HtmlizedException.cs: simplified to cope with the new interface.
5141
5142         * HttpApplicationFactory.cs: use the application file parser to get the 
5143         application Type.
5144         
5145         * HttpException.cs: small changes. Needs some more work on
5146         ParseExceptions.
5147         
5148 2003-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5149
5150         * HttpRequest.cs: fixed Url property.
5151
5152 2003-03-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5153
5154         * HtmlizedException.cs:
5155         * HttpException.cs: display the correct line number in error messages.
5156
5157 2003-03-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5158
5159         * HttpCachePolicy.cs: implemented all TODOs.
5160         * HttpRequestStream.cs: make it internal.
5161
5162 2003-03-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5163
5164         * HttpContext.cs: implemented RewritePath in other way.
5165         * HttpRequest.cs: removed SetPhysicalPath and added SetForm.
5166         * HttpServerUtility.cs: implemented Transfer (string, bool).
5167
5168 2003-03-16  Daniel Lopez Ridruejo <daniel @ rawbyte.com>
5169         * HttpContext.cs : Implemented RewritePath
5170         * HttpRequest.cs : Added internal function SetPhysicalPath
5171
5172 2003-03-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5173
5174         * HttpServerUtility.cs: implemented Transfer ().
5175
5176 2003-03-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5177
5178         * HttpRuntime.cs: Cache no longer have a Dispose method.
5179
5180         * HttpServerUtility.cs: removed MonoTODO.
5181
5182 2003-03-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5183
5184         * HttpHelper.cs: store the values in an ArrayList to get them in correct
5185         order.
5186
5187 2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5188
5189         * HttpApplicationFactory.cs: Global.asax takes precedence over
5190         global.asax if it exists.
5191
5192         * HttpRequest.cs: use allowCrossAppMapping in MapPath.
5193
5194 2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5195
5196         * HttpApplication.cs: CreateHttpHandler is now internal.
5197
5198         * HttpRequest.cs: allow setting QueryStringRaw, which
5199         invalidates the data obtained from the previous value. Added internal
5200         SetFilePath method.
5201
5202         * HttpServerUtility.cs: implemented Execute and GetLastError.
5203
5204 2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5205
5206         * HttpServerUtility.cs: style.
5207
5208 2003-02-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5209
5210         * HttpApplication.cs: only execute the EndRequest step on error
5211         condition or request marked as completed. This prevent page events from
5212         being called when, for example, the url authorization module forbids
5213         the request.
5214
5215 2003-02-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5216
5217         * HttpRequest.cs: implemented the indexer.
5218
5219 2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5220
5221         * HtmlizedException.cs: base class for exceptions that makes it easy to
5222         generate error pages.
5223
5224         * HttpException.cs: improved error displaying.
5225
5226         * HttpRuntime.cs: removed debugging output.
5227
5228 2003-02-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5229
5230         * HttpApplication.cs: display the error instead of hanging when we get
5231         any error before the last step of the request.
5232
5233 2003-02-04  Tim Haynes <thaynes@openlinksw.com>
5234
5235         * HttpApplicationFactory.cs: fixed HttpRuntime.Close() to decrement
5236         instance counter.
5237
5238 2003-01-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5239
5240         * HttpRequest.cs: added BaseVirtualDir property and use it in MapPath.
5241
5242 2003-01-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5243
5244         * HttpRequest.cs: implemented CurrentExecutionFilePath.
5245
5246 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5247
5248         * HttpApplication.cs: keep _lasterror if no context. Attach
5249         application events *after* modules initialization (if not, User is not
5250         set when the user handler is called).
5251         
5252         * HttpApplicationFactory.cs: made all methods related to
5253         AttachEvents static. I will fix OnStart/OnEnd for application and
5254         session later.
5255         
5256         * HttpRequest.cs: don't initialize cookies twice.
5257
5258 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5259
5260         * HttpResponse.cs:
5261         (ApplyAppPathModifiers): return the root directory for "".
5262
5263 2003-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5264
5265         * HttpUtility.cs: fixed HtmlDecode to avoid ArgumentOutOfRangeException.
5266
5267 2003-01-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5268
5269         * HttpApplication.cs: added new state to handle default authentication.
5270
5271 2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5272
5273         * HttpContext.cs: removed hack to get the User.
5274
5275 2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5276
5277         * HttpUtility.cs: fixed bug #36038. Thanks to juancri@tagnet.org for
5278         reporting the bug and how to fix it.
5279
5280 2002-12-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5281
5282         * HttpCookie.cs: send 'expires' in the header.
5283
5284 2002-12-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5285
5286         * HttpValueCollection.cs: patch from Botjan Vizin 
5287         <bostjan.vizin@siol.net> that implements ToString (bool).
5288
5289 2002-12-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5290
5291         * HttpApplicationFactory.cs: add the context as parameter when building
5292         the application Type.
5293         
5294         * HttpCookie.cs: new internal constructor.
5295         * HttpCookieCollection.cs: new internal method to make a cookie expire.
5296
5297         * HttpRequest.cs: MapPath fixes.
5298         * HttpResponse.cs: implemented ApplyAppPathModifier.
5299         * HttpRuntime.cs: fixed typo in AppDomainAppVirtualPath.
5300
5301 2002-12-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5302
5303         * HttpContext.cs: hack to create a default user when there's no one.
5304         Implemented GetConfig (string).
5305
5306         * HttpRequest.cs: fixes to MapPath (string).
5307
5308 2002-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5309
5310         * HttpRuntime.cs: avoid nulls and exception when getting resource
5311         format strings.
5312
5313         * StaticFileHandler.cs: added file name to error message.
5314
5315 2002-12-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5316
5317         * HttpResponse.cs: avoid sending chunked content for HTTP/1.1.
5318
5319 2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5320
5321         * HttpApplicationFactory.cs: get the events from the application class,
5322         fire Application/Session Start/End and add the others as application
5323         events.
5324
5325 2002-11-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5326
5327         * HttpApplicationFactory.cs: compile global.asax file if it exists.
5328
5329 2002-11-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5330
5331         * HttpRequest.cs: provide a default Browser until we detect it.
5332         * HttpResponse.cs:
5333         (End): do not close the connection here.
5334         (Flush (bool)): send the headers when, for example, Redirect () is
5335         called.
5336
5337 2002-11-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5338
5339         * HttpException.cs: simple error output.
5340
5341 2002-11-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5342
5343         * HttpApplication.cs: style.
5344         * HttpException.cs: style.
5345         * HttpRuntime.cs: only flush the response if there are no errors.
5346         Otherwise, write an error output.
5347         * HttpWriter.cs: change Unicode to UTF8.
5348
5349 2002-11-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5350
5351         * HttpApplication.cs: don't begin the request using ExecuteNextAsync
5352         (it fails to work on NetServ).
5353
5354         * HttpWorkerRequest.cs: typo.
5355
5356 2002-11-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5357
5358         * HttpValueCollection.cs: the value may contain trailing '=' as it is
5359         UrlEncoded. Don't split name=value based on '='.
5360
5361 2002-11-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5362
5363         * HttpCookie.cs: made GetCookieHeader internal.
5364
5365         * HttpRequest.cs: get cookies from request.
5366
5367         * HttpResponse.cs: send cookies. Implemented
5368         AddFileDependencies (). Added check for _Writer == null in Flush
5369         (Patrik ;-). Clear the content if HEAD or SupressContent == true.
5370         Removed redirect hack used in old server.
5371
5372 2002-10-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5373
5374         * HttpRequest.cs: fixed GetRawContent (). Now it only tries to read at
5375         most ContentLength bytes.
5376
5377         * HttpResponse.cs: now it sends the headers. Added
5378         X-Powered-By header :-).
5379
5380         * HttpRuntime.cs: fixed typo.
5381
5382         * HttpValueCollection.cs: cosmetic changes.
5383
5384 2002-10-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5385
5386         * HttpApplication.cs: reenabled a few lines of code
5387         (ThreadPool already fixed). 
5388         
5389         * HttpRequest.cs:
5390         * HttpResponse.cs:
5391         * HttpUtility.cs:
5392         * HttpValueCollection.cs:
5393         * HttpWriter.cs: Use WebEncoding.Encoding.
5394
5395 2002-10-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5396
5397         * HttpWriter.cs: changed encoding of the writer from Unicode to UTF8.
5398         This fixes sending bytes and allows mixing byte with chars.
5399
5400 2002-10-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5401
5402         * HttpResponse.cs: implemented WriteFile methods.
5403         * MimeTypes.cs: removed duplicated entries.
5404
5405 2002-10-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5406
5407         * HttpResponse.cs: don't throw exception in a couple of
5408         methods not yet implemented.
5409
5410 2002-10-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5411
5412         * HttpApplication.cs: fixed type and handle factories when creating
5413         IHttpHandler for a request.
5414
5415 2002-10-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5416
5417         * HttpApplication.cs: use handlers from configuration.
5418         * HttpContext.cs: get handlers from ConfigurationSettings.
5419
5420 2002-10-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5421
5422         * HttpMethodNotAllowedHandler.cs:
5423         * HttpRuntime.cs:
5424         * StaticFileHandler.cs: Modified file.
5425
5426         * HttpUtility.cs: implemented all missing methods.
5427
5428
5429 2002-09-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5430
5431         * System.Web/HttpApplication.cs: use the static file handler.
5432         * System.Web/HttpForbiddenHandler.cs: handler to forbid access.
5433         * System.Web/HttpMethodNotAllowedHandler.cs: handler for method not
5434         allowed.
5435         
5436         * System.Web/HttpUtility.cs: finished all UrlDecode methods.
5437         * System.Web/MimeTypes.cs: map from file extension to MIME type.
5438         * System.Web/StaticFileHandler.cs: serves static files
5439
5440 2002-09-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5441
5442         * System.Web/HttpApplication.cs:
5443         * System.Web/HttpApplicationFactory.cs:
5444         * System.Web/HttpRequest.cs:
5445         * System.Web/HttpRuntime.cs: we are now able to compile pages and use
5446         HttpApplication, HttpRuntime and SimpleWorkerRequest.
5447
5448 2002-09-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5449
5450         * HttpApplication.cs: added some missing methods.
5451         * HttpApplicationFactory.cs: get event handlers for the application.
5452         * HttpAsyncResult.cs: little fixes.
5453         * HttpRequest.cs: make Encoding work even with no worker request.
5454
5455 2002-08-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5456
5457         * HttpWorkerRequest.cs: mcs doesn't go crazy. It's just me, that forgot
5458         to add HttpMapPath to the list file...
5459
5460 2002-08-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5461
5462         * HttpWorkerRequest.cs: fixes compilation with mcs. I will add a bug
5463         report when i get a test case.
5464
5465 2002-08-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5466
5467         * HttpApplicationFactory.cs:
5468         * HttpCachePolicy.cs:
5469         * HttpResponseHeader.cs:
5470         * HttpResponseStream.cs:
5471         * HttpResponseStreamProxy.cs:
5472         * HttpValueCollection.cs: misc. fixes based on class status page.
5473
5474         * IHttpMapPath.cs: New file.
5475
5476         * HttpRequest.cs: implemented ContentEncoding.
5477         * HttpWorkerRequest.cs: mono-stylized and implemented
5478         SendResponseFromMemory.
5479
5480 2002-08-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5481
5482         * HttpContext.cs: reformatted.
5483         * HttpStaticObjectsCollection.cs: implemented GetEnumertor, CopyTo and
5484         the indexer.
5485
5486 2002-08-05  Patrik Torstensson <ptorsten@hotmail.com>
5487
5488         * HttpApplication.cs: Implemented a state machine to allow handling of
5489         HttpModules and HttpHandlers. Implementation of async handlers. 
5490                                                                  
5491         * HttpApplicationFactory.cs: Factory for creating HttpApplication
5492         instances, including caching.
5493         
5494         * HttpRuntime.cs: Usage of the new HttpApplicationFactory to get a
5495         application instance to execute requests in and implementation of 
5496         request execution (still no request queue). 
5497                                                          
5498         * HttpAsyncResult.cs: New file to handle async module results.                                          
5499                                                          
5500         * HttpRequest.cs: Change signature of Dispose
5501         * HttpResponse.cs: new internal method allowing filtering to happen
5502         during the request flow in the state machine.
5503
5504 2002-07-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5505
5506         * HttpApplication.cs: events were not being initialized.
5507
5508 2002-07-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5509
5510         * ProcessModelInfo.cs: fixed compilation.
5511
5512 2002-07-25  Tim Coleman <tim@timcoleman.com>
5513         * ProcessModelInfo.cs:
5514                 New class added
5515         * HttpParseException.cs:
5516         * HttpCompileException.cs:
5517         * HttpUnhandledException.cs:
5518                 Internal constructors added to these
5519
5520 2002-07-24  Tim Coleman <tim@timcoleman.com>
5521         * ProcessInfo.cs: 
5522                 Fix constructor, reference to shutdownreason.
5523
5524 2002-07-24  Tim Coleman <tim@timcoleman.com>
5525         * HttpCachePolicy.cs:
5526                 Added stubbs to this class.
5527         * HttpCacheability.cs:
5528         * HttpCacheRevalidation.cs:
5529         * HttpValidationStatus.cs:
5530         * ProcessShutdownReason.cs:
5531         * ProcessStatus.cs:
5532         * TraceMode.cs:
5533                 Reorder the enumerations (and in some cases make
5534                 one-based) in order to agree with the .NET 
5535                 implementation, based on the class status page.
5536         * ProcessInfo.cs:
5537                 Implementation of this class.
5538
5539 2002-07-23  Tim Coleman <tim@timcoleman.com>
5540         * HttpCompileException.cs:
5541         * HttpParseException.cs:
5542         * HttpUnhandledException.cs:
5543                 New stubbs created.
5544         * HttpApplication.cs:
5545         * HttpBrowserCapabilities.cs:
5546                 Added missing methods stubbs and attributes based
5547                 on the class status page.  Also reformatted some
5548                 source for consistency.
5549
5550 2002-07-23  Tim Coleman <tim@timcoleman.com>
5551         * HttpUtility.cs: Moved entities hashtable into main
5552                 class as a static object, so we don't instantiate
5553                 a new one every time.  Also put the hashtable
5554                 building into a lock block.
5555
5556 2002-07-22  Tim Coleman <tim@timcoleman.com>
5557         * HttpUtility.cs: Cleanup of the code, implementation
5558                 of HtmlDecode/HtmlEncode functions
5559
5560 2002-07-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5561
5562         * HttpResponse.cs: quick&dirty hack to make redirection work. Should
5563         be out of there once we have SimpleWorkerRequest.
5564
5565 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5566
5567         * HttpUtility.cs: little typo, big headache.
5568
5569 2002-07-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5570
5571         * HttpRuntime.cs: don't throw NotImplemented in a couple of methods.
5572
5573 2002-06-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5574
5575         * System.Web/HttpResponse.cs: 
5576
5577         Fixes based on class status page:
5578         
5579                 - Add attributes (DefaultEvent, ParseChildren).
5580                 - Fix declarations.
5581                 - Explicitly implement some interfaces (IPostBackDataHandler
5582                 and IPostBackEventHandler).
5583                 - Implemented some missing methods.
5584
5585 2002-06-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5586
5587         * HttpContext.cs:
5588         (Session): return null instead of throwing an exception.
5589
5590         * HttpRequest.cs:
5591         (HttpMethod): return RequestType if not set.
5592         (GetRawContent): return QueryString if we don't have a
5593         HttpWorkerRequest.
5594
5595         * HttpUtility.cs: fixed Decode and Encode.
5596
5597 2002-06-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5598
5599         * HttpApplication.cs:
5600         * HttpContext.cs: added System.Web.SessionState namespace.
5601
5602         * HttpSessionState.cs: removed. It is under
5603         System.Web.SessionState.
5604
5605 2002-06-10  Duncan Mak  <duncan@ximian.com>
5606
5607         * HttpBrowserCapabilities.cs (BackgroundSounds): Fixed typo.
5608
5609 2002-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5610
5611         * HttpRequest.cs: implemented Browser property.
5612
5613 2002-06-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5614
5615         * HttpBrowserCapabilities.cs: stubbed out.
5616
5617 2002-05-18  Miguel de Icaza  <miguel@ximian.com>
5618
5619         * HttpRuntime.cs: Reformat file.
5620
5621 2002-05-07  Duncan Mak  <duncan@ximian.com>
5622
5623         * HttpBrowserCapabilities.cs: Added, replacing
5624         HttpBrowserCapabilites because of typo.
5625
5626         * HttpBrowserCapabilites.cs: Removed, replaced by above.
5627
5628         * HttpRequest.cs (Browser): Fixed typo.
5629
5630 2002-04-12  Patrik Torstensson <patrik.torstensson@labs2.com>
5631
5632         * HttpApplication.cs: Minor updates
5633         * HttpApplicationState.cs: Ready.
5634         * HttpClientCertificate.cs: Signature updates
5635         * HttpValueCollection.cs: ready
5636         * HttpStaticObjectsCollection.cs: ready
5637         * HttpResponseHeader.cs: made internal only
5638         * HttpResponse.cs: Signature updates
5639         * HttpPostedFile.cs: ready
5640         * HttpCacheVaryByHeaders.cs: ready (except communication to policy)
5641         * HttpCacheVaryByParams.cs: ready (except communication to policy)
5642         
5643         System.Web is now over 60% ready.. 
5644
5645 2002-04-11  Patrik Torstensson <patrik.torstensson@labs2.com>
5646
5647         * HttpException.cs: 95% ready, only windows dependent code left
5648         * HttpFileCollection.cs: Finished.
5649         * HttpRequest.cs: Minor fixes and fixed signature problems
5650         * HttpResponse.cs: Implementation of missing methods and signature problems
5651         * HttpResponseHeader.cs: Fixed signature problems
5652         * HttpRuntime.cs: Fixed signature problems
5653         * HttpServerUtility.cs: Added support for HttpApplication
5654         * HttpSessionState.cs: Fixed signature issues
5655         * HttpUtility.cs: fixed signature issues
5656         * HttpValueCollection.cs: Support for cookie parsing and fixed signature issues
5657         * HttpWorkerRequest.cs: Fixed small signature issue
5658         * HttpWriter.cs: Fixed signature issue
5659         * HttpApplication.cs: Basic implementation
5660         * HttpApplicationState.cs: Small fixes to support major change comming up
5661         * HttpBrowserCapabilities.cs: Added Type method
5662         * HttpClientCertificate.cs: Almost ready, needs to parse certificate.
5663         * HttpContext.cs: Fixed signature issues and added last methods.
5664         * HttpCookie.cs: Full implementation
5665         * HttpCookieCollection.cs: Full implementation
5666         * TraceContext.cs: Methods implemented.
5667         * HttpPostedFile.cs: Placeholder
5668         * HttpStaticObjectsCollection.cs: Placeholder
5669         * HttpModuleCollection.cs: Ready, will be used during the major revamp.
5670         
5671         * Fixed a number of other small signature problems also (class status page)
5672         
5673         
5674 2002-04-10  Patrik Torstensson <patrik.torstensson@labs2.com>
5675
5676     * HttpWorkerRequest.EndOfSendNotification.cs Removed (included in WorkerRequest)
5677     * Checkin of all new files (noted in last changenote)
5678
5679 2002-04-10  Patrik Torstensson <patrik.torstensson@labs2.com>
5680
5681     * HttpContext.cs: First implementation (basic support, few methods left to impl)
5682     * HttpException.cs: Partial implementation (basic support)
5683     * HttpHelper.cs: Header parse helper, used by runtime (non public)
5684     * HttpRequest.cs: Implementation (all methods there, not all fully impl)
5685     * HttpRequestStream.cs: Full implementation
5686     * HttpResponse.cs: Partial implementation(almost all methods)
5687     * HttpResponseHeader.cs: Header helper
5688     * HttpResponseStream.cs: Full implementation - Response stream support
5689     * HttpResponseStreamProxy.cs: Implementation - filter support
5690     * HttpRuntime.cs: Rewrite to support one IHttpModule (use for testing the runtime)
5691         * HttpServerUtility.cs: Implemented usage of HttpContext for methods
5692                                 and moved encoding functions to HttpUtility.
5693
5694     * HttpUtility.cs: Added encoding/decoding functions from HttpServerUtility and
5695                       added the Attribute encoding functions.
5696
5697     * HttpValueCollection.cs: Implementation.
5698     * HttpWorkerRequest.cs: Rewrite and implementation of all methods (ready)
5699     * HttpWriter.cs: Implementation (with filter support)    
5700
5701     * HttpFileCollection: Added dummy class (placeholder)
5702     * HttpApplication.cs: Added dummy class (placeholder)
5703     * HttpApplicationState.cs: Added dummy class (placeholder)
5704     * HttpBrowserCapabilities.cs: Added dummy class (placeholder)
5705     * HtttpCachePolicy.cs: Added dummy class (placeholder)
5706     * HttpClientCertificate.cs: Added dummy class (placeholder)
5707     * HttpSessionState.cs: Added dummy class (placeholder)
5708     * TraceContext.cs: Added dummy class (placeholder)
5709     
5710
5711 2002/04/10  Nick Drochak <ndrochak@gol.com>
5712
5713         * HttpServerUtility.cs: Fix build breaker.
5714
5715 2002-03-28  Wictor Wiln  <wictor@iBizkit.se>
5716
5717         * HttpServerUtils.cs : Added some more functionality
5718         
5719 2002-03-28  Martin Baulig  <martin@gnome.org>
5720
5721         * HttpServerUtils.cs (UrlDecode): You cannot implicitly cast a
5722         char to a string, use ToString() instead.
5723
5724 2002-03-16  Gaurav Vaish  <gavish@iitk.ac.in>
5725
5726         * WebCategoryAttribute.cs
5727                                : Added private attribute.
5728
5729 2002-03-16  Gaurav Vaish  <gavish@iitk.ac.in>
5730
5731         * HttpRuntime.cs       : Stubbed methods for
5732                   FormatStringResource(...) in agreement with the various
5733                   overloads available at String.Format(...)
5734
5735 2002-01-08  Gaurav Vaish  <gavish@iitk.ac.in>
5736
5737         * TODOAttribute.cs     : Added, as an internal class to the assembly
5738
5739 2002-01-03  Nick Drochak  <ndrochak@gol.com>
5740
5741         * HttpRuntime.cs: remove uneeded exception variable from catch and
5742         initialize remaining instance members to avoid compile warnings
5743
5744 2002-01-02  Nick Drochak  <ndrochak@gol.com>
5745
5746         * HttpRuntime.cs: fix spelling error/variable name change.
5747
5748 2001-12-18  Gaurav Vaish <gvaish@iitk.ac.in>
5749
5750         * HttpRuntime.cs       : Initial implementation
5751
5752 2001-08-29  Bob Smith  <bob@thestuff.net>
5753
5754         * HttpWorkerRequest.cs: Partial Implementation.
5755
5756 2001-08-16  Bob Smith  <bob@thestuff.net>
5757
5758          * HttpCookieCollection.cs, HttpCookie.cs: Bug fixes.
5759
5760 2001-08-09  Bob Smith  <bob@thestuff.net>
5761
5762          * BeginEventHandler.cs: Implemented.
5763          * EndEventHandler.cs: Implemented.
5764          * HttpCacheability.cs: Implemented.
5765          * HttpCacheRevalidation.cs: Implemented.
5766          * HttpCacheValidateHandler.cs: Implemented.
5767          * HttpCookieCollection.cs: Implemented.
5768          * HttpCookie.cs: Implemented.
5769          * HttpValidationStatus.cs: Implemented.
5770          * HttpWorkerRequest.EndOfSendNotification.cs: Implemented.
5771          * IHttpAsyncHandler.cs: Implemented.
5772          * IHttpHandler.cs: Implemented.
5773          * IHttpHandlerFactory.cs: Implemented.
5774          * IHttpModule.cs: Implemented.
5775          * ProcessShutdownReason.cs: Implemented.
5776          * ProcessStatus.cs: Implemented.
5777          * TraceMode.cs: Implemented.