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