HttpRequest.cs: IsLocal should return true for loopback addresses
[mono.git] / mcs / class / System.Web / System.Web / ChangeLog
1 2007-04-11  Konstantin Triger <kostat@mainsoft.com>
2
3         * HttpRequest.cs: IsLocal should return true for loopback addresses.
4
5 2007-04-10  Marek Habersack  <mhabersack@novell.com>
6
7         * HttpCookie.cs: format the output of HttpCookie.Values.ToString()
8         in the same way MS.NET does. Fixes bug #81333. Patch from Mike
9         Morano <mmorano@mikeandwan.us>.
10
11         * XmlSiteMapProvider.cs: add the NotifyFilters.Size to the
12         watcher flags, so that we watch for modifications to a file when
13         using Linux inotify.
14
15         * HttpApplicationFactory.cs: add the NotifyFilters.Size to the
16         watcher flags, so that we watch for modifications to a file when
17         using Linux inotify.
18         App_Code, App_Browsers and App_GlobalResources watchers must watch
19         for events with the '*' mask so that they can notice events
20         related to subdirectory creation/deletion.
21         Watch for subdirectory events with the App_Code watcher.
22
23 2007-04-07  Marek Habersack  <mhabersack@novell.com>
24
25         * HttpException.cs: show a default custom error message if custom
26         errors are enabled.
27         Cleaned up the errors HTML, made it XHTML-compliant. Generated
28         HTML now uses inline CSS styles.
29
30 2007-04-06  Marek Habersack  <mhabersack@novell.com>
31
32         * HttpUtility.cs: added a constant that contains the default query
33         parameter character.
34         ParseQueryString supports queries with both '&' and ';' parameter
35         separators.
36
37 2007-04-05  Marek Habersack  <mhabersack@novell.com>
38
39         * CapabilitiesLoader.cs: Make sure that the capability names
40         (keys) are stored in lowercase.
41
42 2007-04-05 Igor Zelmanovich <igorz@mainsoft.com>
43
44         * XmlSiteMapProvider.cs: 
45         custom attributes of siteMapNode are loaded properly.
46
47 2007-04-05  Marek Habersack  <mhabersack@novell.com>
48
49         * CapabilitiesLoader.cs: add a full default set of capabilities
50         for cases when browscap.ini is broken, missing or doesn't contain
51         definition for the client's User-Agent. Makes it possible to surf
52         asp.net sites from unsupported clients.
53
54 2007-04-04 Juraj Skripsky <js@hotfeet.ch>
55
56         * HttpApplicationFactory.cs: Make sure an web application is
57         shutdown only once (and Application_End in global.asax is called
58         only once as well). This is necessary because FileSystemWatcher
59         emits multiple events when e.g. global.asax is changed.
60
61 2007-04-01  Vladimir Krasnov  <vladimirk@mainsoft.com>
62
63         * HttpRequest.cs: fixed Headers property to use optimized
64         HeadersCollection
65         * WebROCollection.cs: used StringComparer.OrdinalIgnoreCase for
66         NET_2_0
67         * ServerVariablesCollection.cs: used lazy collection fill optimization
68         * added: HeadersCollection.cs, BaseParamsCollection.cs
69
70 2007-04-01  Konstantin Triger <kostat@mainsoft.com>
71
72         * HttpContext.cs: 
73                 GetLocalResourceObject - should not prefix resources with 'Resources.'.
74
75 2007-04-01  Konstantin Triger <kostat@mainsoft.com>
76
77         * BrowserCapabilities.cs: Default Browser (userAgent) property to 'Unknown'.
78
79 2007-03-29  Vladimir Krasnov  <vladimirk@mainsoft.com>
80
81         * HttpContext.cs: timeout methods removed from TARGET_J2EE compilation
82         * HttpContext.jvm.cs: added stubs for timeout methods
83
84 2007-03-28 Igor Zelmanovich <igorz@mainsoft.com>
85
86         * StaticSiteMapProvider.cs:
87         GetChildNodes does not return null but SiteMapNodeCollection.EmptyCollection.
88
89 2007-03-28  Konstantin Triger <kostat@mainsoft.com>
90
91         * BrowserCapabilities.cs: 
92                 1. refactoring.
93                 2. Break recoursion in case 'browser' capability is not found.
94
95 2007-03-28 Igor Zelmanovich <igorz@mainsoft.com>
96
97         * SiteMapNode.cs: fixed GetAllNodes method.
98
99 2007-03-27 Igor Zelmanovich <igorz@mainsoft.com>
100
101         * XmlSiteMapProvider.cs: fixed:
102         resolve app-relative path from config such siteMapFile="~/Web.sitemap".
103
104 2007-03-27 Igor Zelmanovich <igorz@mainsoft.com>
105
106         * SiteMapNode.cs:
107         * XmlSiteMapProvider.cs: fixed: Localize Site-Map Data.
108
109 2007-03-26  Konstantin Triger <kostat@mainsoft.com>
110
111         * HttpRequest.cs: correctly handle null and empty virtual pathes in MapPath.
112
113 2007-03-25  Vladimir Krasnov  <vladimirk@mainsoft.com>
114
115         * HttpContext.cs: AppGlobalResourcesAssembly static member stored in
116         AppDomain for TARGET_JVM
117
118 2007-03-24  Marek Habersack  <mhabersack@novell.com>
119
120         * HttpRuntime.cs: use ICalls.GetMachineConfigPath instead of
121         opening the machine.config file and getting its path.
122
123         * CapabilitiesLoader.cs: use HttpRuntime.MachineConfigurationDirectory 
124         instead of opening the machine config file and getting its path.
125
126 2007-03-23  Konstantin Triger <kostat@mainsoft.com>
127
128         * HttpApplication.cs: complete the pipeline in case of exception during
129                 InitOnce() to avoid a deadlock.
130
131 2007-03-22  Adar Wesley <adarw@mainsoft.com>
132
133         * BrowserCapabilities.cs: Added implementation for all capabilities.
134         changed implementation to throw when capability is not defined in browscaps.ini.
135
136         * CapabilitiesLoader.cs: fixed parent resultion bug.  added internal support for
137         browser and browsers capabilities.
138
139 2007-03-21  Vladimir Krasnov  <vladimirk@mainsoft.com>
140
141         * HttpContext.jvm.cs, HttpRuntime.cs: cached instance of HttpRuntime
142         in context in addition to AppDomain
143
144 2007-03-21  Vladimir Krasnov  <vladimirk@mainsoft.com>
145         
146         * HttpCookie.cs, HttpCookieCollection.cs: used OrdinalIgnoreCase
147         StringComparer for cookies and values collections 
148
149 2007-03-21  Vladimir Krasnov  <vladimirk@mainsoft.com>
150
151         * HttpApplication.cs: refactred handlers configuration section as
152         member of class
153
154 2007-03-20  Marek Habersack  <mhabersack@novell.com>
155
156         * HttpRequest.cs: implement AppRelativeCurrentExecutionFilePath.
157
158 2007-03-18 Igor Zelmanovich <igorz@mainsoft.com>
159
160         * VirtualPathUtility.cs: fixed GetFileName(), GetExtension() methods.
161
162 2007-03-18 Igor Zelmanovich <igorz@mainsoft.com>
163
164         * VirtualPathUtility.cs: fixed GetDirectory() method.
165
166 2007-03-15  Marek Habersack  <mhabersack@novell.com>
167
168         * XmlSiteMapProvider.cs: handle cases with no default for the
169         reskey properly.
170
171 2007-03-15 Igor Zelmanovich <igorz@mainsoft.com>
172
173         * HttpRequest.cs: fixed MapPath () method.
174
175 2007-03-15 Igor Zelmanovich <igorz@mainsoft.com>
176
177         * VirtualPathUtility.cs: fixed ToAbsolute() method.
178
179 2007-03-15 Igor Zelmanovich <igorz@mainsoft.com>
180
181         * VirtualPathUtility.cs: refactoring: class is shared with 1.x.
182
183 2007-03-15  Marek Habersack  <mhabersack@novell.com>
184
185         * XmlSiteMapProvider.cs: add support for the enableLocalization
186         <siteMap> attribute and handle per-node localization resource
187         strings for explicit localization as well as the resourceKey
188         attribute to <siteMapNode> for implicit localization (closes bug
189         #81103).
190
191         * SiteMapNode.cs: add support for the resource keys and foreign
192         attributes.
193         Implement GetImplicitResourceString.
194         Add support for translation of the Title and Description
195         attributes (closes bug #81103) as well as foreign attributes.
196
197 2007-03-15 Igor Zelmanovich <igorz@mainsoft.com>
198
199         * VirtualPathUtility.cs: fixed: works properly with appRelative path.
200
201 2007-03-13  Marek Habersack  <mhabersack@novell.com>
202
203         * HttpApplicationFactory.cs: resources compiler no longer accepts
204         a boolean parameter.
205
206         * HttpRuntime.cs: Do not compile local resources here anymore.
207
208         * HttpContext.cs: if App_LocalResources assembly corresponding to
209         the virtual path is not found, compile it here.
210         Look up resources in the "Resources." class path.
211
212 2007-03-13 Igor Zelmanovich <igorz@mainsoft.com>
213
214         * HttpUtility.cs: fixed HttpUtillity.HtmlAttributeEncode
215          '<' char must be encoded.      
216
217 2007-03-12  Vladimir Krasnov  <vladimirk@mainsoft.com>
218
219         * CapabilitiesLoader.cs: added TARGET_JVM part of static members,
220         added caching to GetCapabilities method for performance improvement
221
222 2007-03-12  Marek Habersack  <mhabersack@novell.com>
223
224         * XmlSiteMapProvider.cs: support custom site map providers. Fixes
225         bug #81115
226
227 2007-03-06  Vladimir Krasnov  <vladimirk@mainsoft.com>
228
229         * StaticFileHandler.cs: fixed ProcessRequest TARGET_JVM path,
230         if_modified_since fixed in WAR mode
231
232 2007-02-25  Vladimir Krasnov  <vladimirk@mainsoft.com>
233
234         * HttpRequest.jvm.cs: fixed LoadWwwForm, should distinguish between
235         query string and form values
236
237 2007-02-21  Marek Habersack  <grendello@gmail.com>
238
239         * HttpRuntime.cs: BinDirectory returns the bin directory
240         determined by the application host on the application startup.
241
242         * HttpApplicationFactory.cs: Watch the bin directory determined by
243         the application host on the application startup.
244
245 2007-02-20  Vladimir Krasnov  <vladimirk@mainsoft.com>
246
247         * HttpRequest.cs: fixed MapPath, removed TARGET_J2EE block that checks
248         war root symbol
249
250 2007-02-19  Marek Habersack  <grendello@gmail.com>
251
252         * HttpContext.cs: Make sure all the global resource objects are
253         sought in the Resources. namespace.
254
255 2007-02-18  Eyal Alaluf  <eyala@mainsoft.com>
256
257         * HttpContext.jvm.cs, HttpRequest.jvm.cs: Adapt for tunning under test
258           harness where we don't have a SevletRequest/Response.
259
260 2007-02-13  Vladimir Krasnov  <vladimirk@mainsoft.com>
261
262         * HttpApplication.cs: fixed InitOnce, httpModules section is global and
263         taken from the root web.config
264
265 2007-02-12  Robert Jordan  <robertj@gmx.net>
266
267         * HttpResponseStream.cs (BlockManager.EnsureCapacity):
268         don't call Marshal.ReAllocHGlobal on NULL because, unlike
269         realloc(3) and g_realloc, it doesn't support this semantic.
270         Fixes a part of bug #77075.
271
272 2007-02-12  Marek Habersack  <grendello@gmail.com>
273
274         * HttpRuntime.cs: support for preservation (.compiled) assembly
275         mapping files.
276
277 2007-02-11  Vladimir Krasnov  <vladimirk@mainsoft.com>
278
279         * HttpApplication.cs: added exception pass through from processAction
280         in j2ee portal
281
282 2007-02-02  Marek Habersack  <grendello@gmail.com>
283
284         * HttpApplicationFactory.cs: make code a bit more compact.
285
286 2007-01-30  Vladimir Krasnov  <vladimirk@mainsoft.com>
287
288         * HttpResponse.cs: fixed TARGET_J2EE part of Redirect for portlet
289
290 2007-01-30  Adar Wesley <adarw@mainsoft.com>
291
292         * VirtualPathUtility.cs: fixed exceptions thrown from Combine
293         so they are compatible with MS.
294
295 2007-01-25  Marek Habersack  <grendello@gmail.com>
296
297         * HttpApplication.cs: Make sure that a specific culture is used
298         when setting the current thread culture.
299
300 2007-01-21 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
301
302         * HttpServerUtility.cs: implement Execute/Transfer overloads that take
303         an IHttpHandler. Still missing the documented check for page IsCallback.
304         Also, on MS when i derive from Page for my IHttpHandler, it works fine,
305         but if I just implement IHttpHandler, an exception is thrown. This needs
306         to be researched but, by now, the IHttpHandler version works on mono
307         and fails on MS.
308
309 2007-01-20  Miguel de Icaza  <miguel@novell.com>
310
311         * SiteMapNode.cs (GetExplicitResourceString): implement.
312
313         * HttpContext.cs (GetGlobalResourceObject): remove unused variable.
314
315         * StaticFileHandler.cs (ProcessRequest): remove unused variable.
316
317         * HttpApplication.cs (ProcessError): Remove unused variable. 
318
319         * HttpServerUtility.cs (Execute): Add new overload and rename
320         parameter to match MS (as they are normative).
321
322 2007-01-17  Marek Habersack  <grendello@gmail.com>
323
324         * HttpApplicationFactory.cs: Implement code and framework to
325         enable automatic application restarts on changes to folders/files
326         in a generic way. Patch from Damien Churchill
327         <damien.churchill@ukplc.net>, thanks!
328         Make sure the top-level assemblies (App_Code, resources) are not
329         referenced twice should a compilation error occur.
330
331 2007-01-16  Atsushi Enomoto  <atsushi@ximian.com>
332
333         * TraceData.cs : page could be null. Fixed bug #80480.
334
335 2007-01-15  Ilya Kharmatsky   <ilya -at- decode-systems.com>
336
337         * VirtualPathUtility.cs: fixed bugs in methods - GetDirectory and
338         GetExtension, according to the VirtualPathUtilityTest
339
340 2007-01-15  Vladimir Krasnov  <vladimirk@mainsoft.com>
341
342         * SiteMapProvider.cs: fixed IsAccessibleToUser, true if
343         SecurityTrimmingEnabled not enabled, true if Roles exists on node and
344         rolename is '*'
345
346 2007-01-14  Eyal Alaluf  <eyala@mainsoft.com>
347
348         * HttpRequest.jvm.cs, HttpContext.jvm.cs: Added TARGET_J2EE specific files.
349         * HttpContext.cs, HttpResponse.cs, HttpRequest.cs, HttpCookie.cs:
350           Add J2EE Portal support for TARGET_J2EE.
351
352 2007-01-04  Vladimir Krasnov  <vladimirk@mainsoft.com>
353
354         * HttpRequest.cs: fixed IsLocal, should check all ip addresses of host
355
356 2007-01-05  Marek Habersack  <grendello@gmail.com>
357
358         * HttpApplicationFactory.cs: Use the new app resources compiler.
359
360         * HttpRuntime.cs: Use the new app resources compiler.
361
362         * HttpContext.cs: Reimplement the GetGlobalResourceObject
363         methods, implement the GetLocalResourceObject methods.
364
365         * HttpResponse.cs: Implement the HeaderEncoding property.
366
367 2007-01-04  Andreia Gaita  <avidigal@novell.com>
368
369         * HttpRuntime.cs: Add check for NET_2_0 when initializing
370         WebConfigurationManager, build failing on 1.1 profile
371         
372 2007-01-04  Vladimir Krasnov  <vladimirk@mainsoft.com>
373
374         * HttpApplicationFactory.cs, HttpRuntime.cs: WebConfigurationManager
375         should be initializaed before any possible access to it
376
377 2007-01-04  Vladimir Krasnov  <vladimirk@mainsoft.com>
378
379         * HttpRequest.cs: fixed Path property, add call of
380         Uri.UnescapeDataString in net_2_0
381
382 2007-01-04  Vladimir Krasnov  <vladimirk@mainsoft.com>
383
384         * HttpApplication.cs: fixed PreStart, should not set thread culture
385         to invariant
386
387 2007-01-03  Vladimir Krasnov  <vladimirk@mainsoft.com>
388
389         * HttpRequest.cs: fixed jvm version of MakeInputStream, should not
390         throw exception on zero content length
391
392 2007-01-03  Vladimir Krasnov  <vladimirk@mainsoft.com>
393
394         * SiteMap.cs, SiteMapNodeCollection.cs: TARGET_JVM of static members
395
396 2006-12-20  Marek Habersack  <grendello@gmail.com>
397
398         * HttpContext.cs: add internal setter for the Profile property.
399
400         * HttpApplicationFactory.cs: Added a shortcut version of
401         InvokeSessionEnd for use from the 2.0 SessionState code.
402
403 2006-12-18  Vladimir Krasnov  <vladimirk@mainsoft.com>
404
405         * HttpRequest.cs: fixed Path property, returns unescaped url
406
407 2006-12-16  Marek Habersack  <grendello@gmail.com>
408
409         * HttpRequest.cs: Fix for http exception during first visit to an
410         application when the visit path is not the app's virtual root.
411
412 2006-12-12 Igor Zelmanovich <igorz@mainsoft.com>
413
414         * SiteMapProvider.cs.cs:
415         * XmlSiteMapProvider.cs: fixed: because more then one node with empty url
416         is allowed unique key is generated for each node.               
417
418 2006-12-12 Igor Zelmanovich <igorz@mainsoft.com>
419
420         * SiteMapProvider.cs.cs: fixed: IsAccessibleToUser resolvs relative url.
421         * StaticSiteMapProvider.cs: fixed: RemoveNode   
422
423 2006-12-12 Igor Zelmanovich <igorz@mainsoft.com>
424
425         * VirtualPathUtility.cs: fixed: Combine(), ToAbsolute() methods.
426
427 2006-12-12 Igor Zelmanovich <igorz@mainsoft.com>
428
429         * VirtualPathUtility.cs: fixed: IsAppRelative() method.
430
431 2006-12-07  Vladimir Krasnov  <vladimirk@mainsoft.com>
432
433         * BrowserCapabilities.cs: fixed MSDomVersion property
434
435 2006-12-05 Igor Zelmanovich <igorz@mainsoft.com>
436
437         * VirtualPathUtility.cs: fixed: ToAbsolute() method.
438
439 2006-12-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
440
441         * HttpRequest.cs: call MapPath on the HttpWorkerRequest so that if
442         FilePath is changed we get the new physical path, not the one of the
443         original request. Fixes bug #80152.
444
445 2006-12-03 Igor Zelmanovich <igorz@mainsoft.com>
446
447         * HttpWriter.cs: reverted r38835.
448
449 2006-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
450
451         * HttpWriter.cs: remove unused WriteBytes method.
452
453 2006-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
454
455         * HttpRequest.cs: physical path comes from GetFilePathTranslated to
456         avoid trimming in HttpRequest.MapPath.
457
458 2006-11-29  Marek Habersack  <grendello@gmail.com>
459
460         * HttpApplication.cs: Make use of the handler stack implemented
461         in HttpContext.
462
463         * HttpCacheVaryByHeaders.cs: Optionally omit the vary:* header
464         value in the 2.0 profile.
465
466         * HttpServerUtility.cs: Make use of the handler stack implemented
467         in HttpContext.
468         Implemented the UrlToken{Encode,Decode} 2.0 methods.
469
470         * HttpResponse.cs: Implemented the IsRequestBeingRedirected
471         property.
472
473         * HttpContext.cs: Implemented the CurrentHandler and PreviousHandler
474         methods, together with helper functions to handle the handler
475         stack.
476         GetSection(string) should be present only in the 2.0 profile.
477
478         * HttpCachePolicy.cs: implement the SetNoServerCaching,
479         SetNoStore, SetNoTransforms, SetValidUntilExpires and
480         SetOmitVaryStar methods.
481         Added code to set the no-store and no-transform options of the
482         Cache-Control header.
483
484 2006-11-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
485
486         * HttpServerUtility.cs: don't prepend extra '?' when the original url
487         already has a query string. Fixes bug #80042.
488
489 2006-11-24  Miguel de Icaza  <miguel@novell.com>
490
491         * HttpApplicationFactory.cs (InitType): Also look for "Web.Config"
492         casing here.
493
494 2006-11-20  Marek Habersack  <grendello@gmail.com>
495
496         * HttpApplication.cs: Added support for automatic detection of
497         user's preferred language.
498
499 2006-11-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
500
501         * HttpApplication.cs: don't leak the directory name for non-local
502         connections.
503
504 2006-11-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
505
506         * CapabilitiesLoader.cs: made the hasstable that contains the properties
507         for the brower case insensitive. Fixes bug #79795.
508
509 2006-11-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
510
511         * HttpResponse.cs: fix typo that prevented Server.Execute from restoring
512         the initial output stream used. Closes bug #79916.
513
514 2006-11-12  Marek Habersack  <grendello@gmail.com>
515
516         * HttpContext.cs: Implemented the 2.0 RewritePath overloads.
517
518 2006-11-08  Marek Habersack  <grendello@gmail.com>
519
520         * HttpRuntime.cs: Moved the resource compiler results handling to
521         the resource compiler itself.
522
523         * HttpApplicationFactory.cs: Add invocation of the App_Code
524         compiler. Moved the resource compiler results handling to the
525         resource compiler itself. Removed compilation of the local
526         resources from here - it should be done only when a request
527         determines that the App_LocalResources directory exists.
528         
529
530 2006-11-07  Andrew Skiba  <andrews@mainsoft.com>
531
532         * HttpRuntime.cs: TARGET_JVM ifdef
533
534 2006-11-05  Andrew Skiba  <andrews@mainsoft.com>
535
536         * SiteMapProvider.cs: don't iterate through Roles when they are null.
537
538 2006-11-05  Vladimir Krasnov  <vladimirk@mainsoft.com>
539
540         * HttpContext.cs: implemented Profile property
541
542 2006-11-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
543
544         * HttpApplication.cs: the unexpected 'tick' exceptions can be an abort
545         exception due to timeout or end of the request.
546
547 2006-10-18  Marek Habersack  <grendello@gmail.com>
548
549         * HttpRuntime.cs: add support for compilation of local resources
550         at the start of request.
551
552         * HttpContext.cs: implement the GetGlobalResourceObject APIs
553
554         * HttpApplicationFactory.cs: include the bootstrap code for the
555         global/local resources compiler.
556
557 2006-10-09  Marek Habersack  <grendello@gmail.com>
558
559         * HttpApplication.cs: change the pipeline order for ASP.NET 2.0 to
560         comply with the Microsoft documentation.
561
562 2006-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
563
564         * HttpApplication.cs: this makes the test run successfully. Still need
565         to figure out why that is null.
566
567 2006-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
568
569         * HttpApplication.cs: band-aid patch to help debugging hang running 2.0
570         tests.
571
572 2006-09-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
573
574         * HttpServerUtility.cs: 1.1 Execute(s) preserves the query string.
575         Thanks to Hubert Fongarnand. Fixes bug #79506.
576
577 2006-09-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
578
579         * QueueManager.cs: if disposed, always return null for next request.
580         * HttpRuntime.cs: dispose the queue manager when shutting down the
581         domain. This will close pending requests with a 503.
582         * HttpApplication.cs: release the handler before marking the request
583         as completed. If in PipelineDone context is null, use
584         HttpContext.Current. Fixes some of those "Tick detected an unhandled
585         exception" errors printed out.
586
587 2006-09-11  Andrew Skiba <andrews@mainsoft.com>
588
589         * XmlSiteMapProvider.cs: ifdef TARGET_JVM
590
591 2006-09-11  Vladimir Krasnov  <vladimirk@mainsoft.com>
592
593         * HttpWriter.cs: fixed WriteLine to work correctly in utf-16 encoding
594
595 2006-09-08  Robert Jordan  <robertj@gmx.net>
596
597         * TraceData.cs: fixed NRE if `sizes' is null, which may happen
598         if a page was unable to save its viewstate and size.
599
600 2006-09-07 Andrew Skiba <andrews@mainsoft.com>
601
602         * HttpApplicationFactory.cs: ifdef the previous fix with TARGET_JVM to
603         pass compilation.
604
605 2006-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
606
607         * HttpApplicationFactory.cs: watch web.config too. Fixes bug #78356.
608
609 2006-09-05  Konstantin Triger <kostat@mainsoft.com>
610
611         * SiteMapProvider.cs: consider authorization section for access decision.
612
613 2006-09-04 Igor Zelmanovich <igorz@mainsoft.com>
614
615         * HttpUtility.cs: fixed UrlPathEncode method.
616
617 2006-08-31      Boris Kirzner <borisk@mainsoft.com>
618
619         * VirtualPathUtility.cs : pass parameters in correct order.
620
621 2006-08-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
622
623         * HttpApplicationFactory.cs: handle the 'renamed' event too.
624
625 2006-08-08  Vladimir Krasnov  <vladimirk@mainsoft.com>
626
627         * HttpApplication.cs: fixed BeginProcessRequest, TARGET_JVM part
628         merged
629
630 2006-08-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
631
632         * HttpApplication.cs: don't leak local path names when a file is not
633         found.
634
635 2006-06-21 Konstantin Triger <kostat@mainsoft.com>
636
637         * XmlSiteMapProvider.cs: if the url is relative, make it relative to the
638                 context root.
639
640 2006-06-07 Juraj Skripsky <js@hotfeet.ch>
641
642         * HttpException.cs (GetHtmlizedErrorMessage): Beautify compilation error
643         page by showing multiple errors on separate lines.
644
645 2006-06-05 Juraj Skripsky <js@hotfeet.ch>
646
647         * HttpRequest.cs: simplify code around uri_builder (and rename 
648         to url_components). Move storage of query_string into 
649         uri_builder.Query and initialize it lazily using 
650         worker_request.GetQueryStringRawBytes() or GetQueryString().
651         (QueryString): Use HttpUtility.ParseQueryString instead of 
652         duplicating its functionality.
653
654 2006-06-05 Juraj Skripsky <js@hotfeet.ch>
655
656         * HttpUtility.cs (ParseQueryString): move core of
657         ParseQueryString into internal method to make it available to 
658         HttpRequest.
659
660 2006-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
661
662         * HttpApplication.cs: assign the context when run from a thread not in
663         the threadpool. Patch by Andrew Skiba. Fixes bug #78583.
664
665 2006-05-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
666
667         * HttpApplication.cs: context.Handler does not change for
668         HttpServerUtility.Execute, so moved setting it into the pipeline instead
669         of GetHandler.
670
671 2006-05-17  Kazuki Oikawa  <kazuki@panicode.com>
672
673         * HttpUtility.cs: implemented ParseQueryString
674
675 2006-05-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
676
677         * HttpUtility.cs: get rid of TryParseHexa.
678
679 2006-04-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
680
681         * HttpApplicationFactory.cs: make sure that the application start event
682         is run before any request is processed.
683
684 2006-04-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
685
686         * HttpServerUtility.cs: don't reset the query string in Execute() when
687         the path does not contain it and we have one from the previous request.
688         Fixes bug #78177.
689
690 2006-04-20 Andrew Skiba <andrews@mainsoft.com>
691
692         * SiteMapNode.cs: fix few null reference exceptions
693
694 2006-04-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
695
696         * HttpResponse.cs:
697         (TransmitFile): make sure we can read the file before buffering it.
698
699 2006-04-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
700
701         * HttpApplicationFactory.cs: don't fail on events that are not
702         EventHandlers. Patch by Matthew Metnetsky.
703
704 2006-04-11 Andrew Skiba <andrews@mainsoft.com>
705
706         * HttpRequest.cs: remove code duplication (see UrlUtils.Combine)
707
708 2006-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
709
710         * HttpUtility.cs: allow "%%" as a escape for '%' and ignore invalid
711         hexadecimal characters. Based on a patch by Vladimir Krasnov.
712
713 2006-04-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
714
715         * HttpWriter.cs: only keep the byte buffer around if its size is less
716         than or equals to 32K.
717
718 2006-04-08  Miguel de Icaza  <miguel@novell.com>
719
720         * HttpWriter.cs (Write): Added missing check for null string as
721         something is now calling it like that. 
722
723 2006-03-27 Joshua Tauberer <tauberer@for.net>
724
725         * HttpWriter.cs: Avoid creation of a byte[] on each Write()
726           by reusing and resizing a private array.
727
728 2006-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
729
730         * HttpRequest.cs: the field content_length can be < 0 and then we try to
731         read when there's no data and block.
732
733 2006-04-05 Andrew Skiba <andrews@mainsoft.com>
734
735         * HttpUtility: UrlEncode and UrlEncodeUnicode logic unified, behaviour
736         fixed to match dotnet and http://rfc.net/rfc1738.html
737
738 2006-03-30 Konstantin Triger <kostat@mainsoft.com>
739
740         * HttpApplicationFactory.cs: refactoring: remove static modifier from session_end field.
741         Does not check the behavior as HttpApplicationFactory is a singleton.
742
743 2006-03-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
744
745         * HttpUtility.cs: UrlDecode does not throw if an hexadecimal sequence
746         fails to parse as an integer. Fixes bug #77931.
747
748 2006-03-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
749
750         * HttpResponse.cs: more fixes for CacheControl: MS allows to set it to
751         null and "" and the getter value does not completely depend on Cache.
752
753         * HttpRequest.cs: fail validating the request input if there's a control
754         character after a '<'. Fixes XSS_Null test.
755
756         All System.Web tests pass again.
757 2006-03-22  Robert Jordan  <robertj@gmx.net>
758
759         * HttpCachePolicy.cs: fix the Cache-control header. Fixes bug #77826.
760
761 2006-03-22  Chris Toshok  <toshok@ximian.com>
762
763         * HttpApplication.cs: fix typo - AuthenticateRequest =>
764         PostAuthenticateRequest.
765
766 2006-03-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
767
768         * ChangeLog:
769         * HttpRequest.cs: revert part of r58229.
770
771 2006-03-21  Vladimir Krasnov  <vladimirk@mainsoft.com>
772
773         * ServerVariablesCollection.cs: fixed "URL" variable, it should not
774         return path info
775
776 2006-03-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
777
778         * HttpRequest.cs:
779         (CheckString): style and don't index the string twice per iteration.
780
781 2006-03-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
782
783         * TempFileStream.cs: a FileStream that removes the file once
784         it is disposed.
785         * HttpRequest.cs: support for writing request data to on-disk
786         files if the request is longer than the threshold specified in the
787         configuration files. In mono this will work for 1.x and 2.0, while with
788         MS this only works for 2.0.
789
790 2006-03-18  Robert Jordan  <robertj@gmx.net>
791
792         * HttpCachePolicy.cs: expose the validation callbacks.
793         Fixes bug #77825.
794
795 2006-03-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
796
797         * HttpApplication.cs: fix upper bound when iterating through the module
798         collection.
799
800 2006-03-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
801
802         * HttpRequest.cs: use the provided content encoding to decode the file
803         name. Fixes bug #77714.
804
805 2006-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
806
807         * HttpResponse.cs: allow setting a Cache-Control header through
808         AppendHeader. Fixes bug #77775.
809
810 2006-03-15  Chris Toshok  <toshok@ximian.com>
811
812         * XmlSiteMapProvider.cs (RemoveProvider): oops, no override.
813
814         * StaticSiteMapProvider.cs (AddNode): call MapUrl.
815         (FindSiteMapNode): same.
816
817 2006-03-15  Chris Toshok  <toshok@ximian.com>
818
819         * SiteMapProvider.cs (ReturnNodeIfAccessible): new function,
820         either return the node or throw InvalidOperationException.
821         (get_RootNode): use ReturnNodeIfAccessible.
822         (IsAccessibleToUser): flesh this out a bit, and add comments on
823         how the rest of the implementation should be written.
824         (FindSiteMapNodeFromKey): implement to match MS behavior, docs be
825         damned.
826
827         * XmlSiteMapProvider.cs: corcompare work.
828
829         * StaticSiteMapProvider.cs (AddNode): Add a check to see if node
830         == RootNode.  Not sure if this is actually correct, but it's
831         required given our implementation of XmlSiteMapProvider.  without
832         this check, we end up assigning RootNode.ParentNode == RootNode,
833         which makes for an infinite loop when we traverse up the tree.
834
835 2006-03-15  Vladimir Krasnov  <vladimirk@mainsoft.com>
836
837         * HttpRequest.cs: fixed MakeInputStream method under TARGET_JVM,
838         fixed if content lenght value is less that byte received
839
840 2006-03-10  Chris Toshok  <toshok@ximian.com>
841
842         * StaticSiteMapProvider.cs (UrlToNode): this entire file is #if
843         NET_2_0, no need to embed another #if NET_2_0.
844
845         * SiteMapProvider.cs (AddNode): throw NotImplementedException.
846         (FindSiteMapNode): with null context, return null.  don't throw
847         ArgumentNullException.
848         (RemoveNode): throw NotImplementedException.
849         (IsAccessibleToUser): check arguments to make test pass.  still
850         lacking the method's actual functionality.
851         (ResourceKey): add missing property.
852
853 2006-03-10  Chris Toshok  <toshok@ximian.com>
854
855         * HttpRequest.cs (CheckString): add back in the check for \xff1c
856         that i took out.  oops.
857
858 2006-03-10  Chris Toshok  <toshok@ximian.com>
859
860         * HttpRequest.cs (CheckString): implement as described in
861         Shackow's "Professional ASP.NET 2.0 Security, Membership, and Role
862         Management", page 310.
863
864 2006-03-08  Chris Toshok  <toshok@ximian.com>
865
866         * SiteMap.cs: clean this up a bunch.  use the SiteMapSection to
867         initialize the provider collection, and don't add a provider.
868         web.config handles that for us.  Also, don't always return true
869         from get_Enabled.
870
871 2006-02-28  Chris Toshok  <toshok@ximian.com>
872
873         * HttpCookieMode.cs: corcompare work.
874
875         * ProcessShutdownReason.cs: same.
876
877         * SiteMapNodeCollection.cs: same.
878
879         * SiteMapNode.cs: same.
880
881         * SiteMapProvider.cs: same.
882
883         * HttpCacheRevalidation.cs: same.
884
885         * HttpCacheability.cs: same.
886
887         * StaticSiteMapProvider.cs: same.
888
889         * HttpValidationStatus.cs: same.
890         
891 2006-02-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
892
893         * DefaultHttpHandler.cs: New file.
894
895 2006-02-01  Chris Toshok  <toshok@ximian.com>
896
897         * SiteMap.cs: use GetSection instead of GetWebApplicationSection.
898
899 2006-02-01  Chris Toshok  <toshok@ximian.com>
900
901         * HttpApplication.cs: CONFIGURATION_2_0 => NET_2_0, and use
902         GetSection instead of GetWebApplicationSection.
903
904         * HttpApplication.jvm.cs: same.
905         
906         * HttpApplicationFactory.cs: same.
907
908         * HttpContext.cs: same.
909
910         * CapabilitiesLoader.cs: same.
911
912         * QueueManager.cs: same.
913
914         * HttpRuntime.cs: same.
915
916         * TraceManager.cs: same.
917
918         * HttpRequest.cs: same.
919         
920 2006-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
921
922         * HttpApplication.cs: keep any exception that happens during
923         initialization.
924
925 2006-01-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
926
927         * HttpDataTransferMode.cs: Removed file.
928         * HttpRequestPriority.cs: Removed file.
929         * ApplicationShutdownReason.cs:
930         * SiteMap.cs:
931         * HttpRuntime.cs:
932         * HttpApplication.cs: minor class status fixes.
933
934 2006-01-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
935
936         * VirtualPathUtility.cs: done with all the not implemented methods.
937
938 2006-01-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
939
940         * HttpResponse.cs: use UInt64.Parse for content length. In AppendHeader,
941         set cache_control through the property to update the cachebility
942         accordingly. When using the cached headers, don't add again all the
943         headers to that collection.
944         * HttpCacheVaryByParams.cs: if there are no params, return null.
945         Otherwise we get an empty 'Vary' header.
946
947 2006-01-25  Chris Toshok  <toshok@ximian.com>
948
949         * HttpApplication.cs (Start): wrap InitOnce in a try/catch block,
950         and if there's a configuration error, output it and end things
951         immediately.
952
953 2006-01-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
954
955         * HttpRequest.cs: fixed the file path when RewritePath is used. Also
956         add the PathInfo to the Url. Fixes bug #77291.
957
958 2006-01-22  Chris Toshok  <toshok@ximian.com>
959
960         * HttpRequest.cs (ReadBoundary): remove two unused variables to
961         quiet mcs.
962         (IsBoundary): remove unused method.
963
964         * MimeTypes.cs (.cctor): use a 2.0 friendly form of the Hashtable
965         ctor to silence a warning.
966
967         * HttpCacheVaryByHeaders.cs (.ctor): same.
968
969         * HttpCacheVaryByParams.cs (.ctor): same.
970
971         * StaticSiteMapProvider.cs (UrlToNode): same.
972
973 2006-01-22  Konstantin Triger <kostat@mainsoft.com>
974
975         * HttpWorkerRequest.cs: ensure case insensitivity in header search.
976
977 2006-01-19  Konstantin Triger <kostat@mainsoft.com>
978
979         * HttpApplication.jvm.cs: merge HttpApplication.cs changes.
980
981 2006-01-17  Chris Toshok  <toshok@ximian.com>
982
983         * CapabilitiesLoader.cs (Init): use WebConfigurationManager in the
984         CONFIGURATION_2_0 case.
985
986         * HttpRuntime.cs (MachineConfigurationDirectory): same.
987
988 2006-01-16  Chris Toshok  <toshok@ximian.com>
989
990         * HttpApplicationFactory.cs: call WebConfigurationManager.Init in
991         the CONFIGURATION_2_0 case.
992
993 2006-01-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
994
995         * HttpWriter.cs: made Write (char) less memory hungry. Thanks to Mike
996         Glenn for pointing this out.
997
998 2006-01-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
999
1000         * HttpApplicationFactory.cs: fix condition for ContextAvailable.
1001
1002 2006-01-11  Vladimir Krasnov  <vladimirk@mainsoft.com>
1003
1004         * HttpResponse.cs: removed TARGET_JVM block from End
1005         * GetJavaTextReader: Merged TARGET_JVM block from LoadFile
1006         to GetJavaTextReader
1007
1008 2006-01-11  Vladimir Krasnov  <vladimirk@mainsoft.com>
1009
1010         * HttpRequest.cs: removed TARGET_JVM block from MapPath
1011
1012 2006-01-11  Vladimir Krasnov  <vladimirk@mainsoft.com>
1013
1014         * HttpRequest.cs: little fix in MapPath(), virtualPath.Replace
1015         return value wasnt stored.
1016
1017 2006-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1018
1019         * HttpResponse.cs: typo in comment.
1020
1021         * HttpApplicationFactory.cs:
1022         * HttpApplication.cs: don't discard the application used for running the
1023         Application_Start event to allow for Redirect/Transfer to be used. Fail
1024         to get the request/response from the application object as MS does (it
1025         can still be retrieved through HttpContext.Current.blah). Fixes
1026         bug #77162.
1027
1028 2006-01-09  Vladimir Krasnov <vladimirk@mainsoft.com>
1029
1030         * CapabilitiesLoader.cs: Merged TARGET_JVM parts in LoadFile
1031         from /main/9
1032         * HttpException.cs: Merged TARGET_JVM parts in GetHtmlizedErrorMessage
1033         from /main/13
1034         * HttpRequest.cs: Merged TARGET_JVM parts in MapPath from /main/29
1035         * HttpResponse.cs: Merged TARGET_JVM parts in End() from /main/30
1036         * StaticFileHandler.cs: Merged TARGET_JVM parts in ProcessRequest
1037         from /main/7
1038
1039 2006-01-08  Konstantin Triger <kostat@mainsoft.com>
1040
1041         * BrowserCapabilities.cs, HttpBrowserCapabilities.cs,
1042         HttpResponseStream.cs: TARGET_JVM changes to let the compilation
1043         pass with csc 1.1.
1044
1045 2006-01-04  Chris Toshok  <toshok@ximian.com>
1046
1047         * HttpContext.cs (IsCustomErrorEnabled): add CONFIGURATION_2_0
1048         code.  use a nasty 'using' hack to map the 2.0 CustomErrorsMode to
1049         the 1.x CustomErrorMode name.
1050         (IsDebuggingEnabled): add CONFIGURATION_2_0 code.
1051         (ConfigTimeout): add CONFIGURATION_2_0 code.
1052
1053         * HttpRequest.cs (MakeInputStream): add CONFIGURATION_2_0 code.
1054
1055         * HttpApplication.cs (RedirectCustomError): add CONFIGURATION_2_0
1056         code.
1057
1058         * SiteMap.c (Init): use
1059         WebConfigurationManager.GetWebApplicationSection.
1060
1061 2005-12-21  Miguel de Icaza  <miguel@novell.com>
1062
1063         * HttpUtility.cs (UrlEncodeUnicode): The generated encoding of
1064         unicode values must be in %XXXX format, not %XX sometimes.
1065
1066 2005-12-08 Robert Jordan  <robertj@gmx.net> 
1067
1068         * MimeTypes.cs: added entry for "jpg".
1069
1070 2005-12-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1071
1072         * HttpRequest.cs: only read up to content-length when provided. Patch
1073         by Peter Teichman.
1074
1075 2005-12-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1076
1077         * HttpCookie.cs: fixed the set_Secure. Closes bug #76906.
1078
1079 2005-11-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1080
1081         * HttpResponseStream.cs: flush the filter stream before closing.
1082         Patch by Geir Bergum that fixes bug #76753.
1083
1084 2005-11-28  Chris Toshok  <toshok@ximian.com>
1085
1086         * HttpContext.cs (Profile): remove the #if false from around this,
1087         as we now have the ProfileBase type.
1088         (GetConfig): add CONFIGURATION_2_0 version.
1089         (GetSection): add CONFIGURATION_2_0 version.
1090
1091 2005-11-28  Chris Toshok  <toshok@ximian.com>
1092
1093         * TraceManager.cs (..ctor): CONFIGURATION_2_0 work.
1094
1095         * QueueManager.cs (..ctor): CONFIGURATION_2_0 work.
1096
1097         * HttpRequest.cs (AnonymousID): add 2.0 property.
1098         (MakeInputStream): CONFIGURATION_2_0 work.
1099
1100         * HttpApplication.cs (InitOnce): change around the
1101         CONFIGURATION_2_0 stuff since we need additional Culture foo for
1102         it.
1103
1104 2005-11-27  Chris Toshok  <toshok@ximian.com>
1105
1106         * HttpApplication.cs (InitOnce): add Configuration_2.0 code.
1107         (GetHandler): same.
1108
1109 2005-11-26  Miguel de Icaza  <miguel@novell.com>
1110
1111         * HttpResponseStream.cs: Do not try to write zero bytes.
1112
1113 2005-11-24  Miguel de Icaza  <miguel@novell.com>
1114
1115         * WebROCollection.cs: Do not add an empty "=" to the query string
1116         if the key is empty or null.
1117
1118 2005-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1119
1120         * WebROCollection.cs: override ToString and generate a query string from
1121         the key/value pairs. Fixes bug #76779.
1122
1123 2005-11-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1124
1125         * HttpServerUtility.cs: prevent possible nullref in GetLastError().
1126
1127 2005-11-07  Jason Diamond  <jason@diamond.name>
1128
1129         * HttpRequest.cs: Don't throw exception when Content-Length doesn't
1130         match length of POSTed data. Also, allow charset parameter on
1131         Content-Type header when type is "application/x-www-form-urlencoded".
1132
1133 2005-11-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1134
1135         * WebROCollection.cs: add an ID for the collection. Page needs it.
1136
1137 2005-11-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1138
1139         * HttpRequest.cs: no need to allocate the buffer when all the content
1140         is preloaded.
1141
1142 2005-11-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1143
1144         * HttpApplication.cs: ignore TAE in ProcesssError. The Error event might
1145         redirect or transfer and that causes a TAE to be thrown. Fixes
1146         bug #76573.
1147
1148 2005-11-01  Chris Toshok  <toshok@ximian.com>
1149
1150         * VirtualPathUtility.cs: new (partial implementation) to get some
1151         MS provider examples compiling.
1152
1153 2005-10-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1154
1155         * HttpContext.cs: added a new internal overload for ClearError.
1156
1157 2005-10-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1158
1159         * HttpRuntime.cs: invoke callbacks on private items in the cache before 
1160         calling disposing the app. factory. This way we get notifications of
1161         removal for all sessions stored in the cache (InProc only).
1162
1163 2005-10-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1164
1165         * HttpResponseStream.cs: reworked buffering so that adjacents blocks are
1166         written at once. Also fix bug #76460.
1167
1168 2005-10-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1169
1170         * HttpResponseStream.cs: when allocating a chunk larger than the
1171         default chunk size, mark all the blocks as taken. Fixes bug
1172         #76452.
1173
1174 2005-10-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1175
1176         * HttpResponse.cs: use HaveFilter instead of Filter.
1177         * HttpResponseStream.cs: allocate chunks of the requested size
1178         when it's > 32KB. Fixes bug #76460.
1179
1180 2005-10-14  Sebastien Pouliot  <sebastien@ximian.com> 
1181
1182         * ServerVariablesCollection.cs: Added a demand for 
1183         SerializationFormatter on GetObjectData method (even if it's not 
1184         really required in this case as it remove warnings from gendarme.
1185
1186 2005-10-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1187
1188         * HttpResponse.cs:
1189         * HttpRequest.cs: buglets in error checking in Filter.
1190
1191 2005-10-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1192
1193         * OutputFilterStream.cs: proxy class for response filters.
1194         * HttpResponse.cs: moved all the actual write operations into the
1195         response stream. Handle response filtering. When caching, get the
1196         actual length of the data, not the buffer length.
1197         * HttpApplication.cs: if there's no error, invoke the filters before
1198         updating the request cache.
1199         * HttpResponseStream.cs: new Filter property. SendChunkSize is moved
1200         here and now supports writing the final chunk. New method ApplyFilter
1201         that filters the existing buckets and replaces them with the filtered
1202         ones. Modified Write to deal with buffering and filtering.
1203
1204 2005-10-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1205
1206         * HttpResponseStream.cs: allow for writes of more than 32K at once.
1207
1208 2005-10-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1209
1210         * InputFilterStream.cs proxy stream for use by filters.
1211         * HttpRequest.cs: implement input filtering.
1212
1213 2005-10-02 Eyal Alaluf <eyala@mainsoft.com>
1214         * HttpApplication.jvm.cs - Workaround for use of yield in
1215         HttpApplication.cs HttpRuntime.cs: AppDomain.Unload is not supported
1216         * under TARGET_J2EE
1217
1218 2005-09-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1219
1220         * HttpResponseStream.cs: remove dead code.
1221
1222 2005-09-29  Sebastien Pouliot  <sebastien@ximian.com> 
1223
1224         * HttpClientCertificate.cs: Remove last TODO on IsValid. This now 
1225         works when using XSP. Now use flags to determine valid/presence.
1226
1227 2005-09-26  Chris Toshok  <toshok@ximian.com>
1228
1229         * HttpApplicationFactory.cs (OnAppFileChanged): add null checks
1230         for bin_watcher and app_file_watcher so we don't get NRE's here.
1231
1232 2005-09-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1233
1234         * BrowserCapabilities.cs: don't rely on the win32 attribute to be there.
1235         Just use the platform to determine whether Win32 is true or not. Fixes
1236         bug #74777.
1237
1238 2005-09-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1239
1240         * HttpApplication.cs: fixed typo when setting UI culture. Closes bug
1241         #76189.
1242
1243 2005-09-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1244
1245         * HttpRequest.cs: new SetFilePath() that does not conflict with
1246         SetCurrentExePath. Now when transfering from a page to another,
1247         CurrentExecutionFilePath and FilePath are correct.
1248
1249 2005-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1250
1251         * TraceContext.cs: add new method to store size of controls.
1252         * TraceData.cs: render control size.
1253         * HttpResponse.cs: new internal method to get the number of bytes of
1254         buffered output.
1255         * HttpResponseStream.cs: added Length property to the Buckets and new
1256         GetTotalLength.
1257
1258 2005-09-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1259
1260         * TraceData.cs: we have to change the method of getting a control render
1261         size. MS does not do this or otherwise would run into the same bug
1262         (#76051) that this patch fixes. This is temporarily setting the size
1263         to 0.
1264
1265 2005-09-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1266
1267         * HttpResponseStream.cs: implemented Send(stream) for files. Fixes bug
1268         #76145.
1269
1270 2005-09-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1271
1272         * HttpRuntime.cs: catch errors when compiling global.asax and
1273         initializing the application. Fixes bug #76090.
1274
1275 2005-09-14  Sebastien Pouliot  <sebastien@ximian.com> 
1276  
1277         * BrowserCapabilities.cs: Fixed changes (in 2.0) with versions. Fixed
1278         compare with "True" (culture and case sensitivity).
1279         * HttpApplicationState.cs: Added LinkDemand for Minimal. Use the 
1280         internal HttpStaticObjectsCollection ctor to avoid the UnmanagedCode
1281         demand.
1282         * HttpContext.cs: Added LinkDemand for Minimal. Added 2.0 properties
1283         and methods to test CAS on them.
1284         * HttpRequest.cs: Added LinkDemand for Minimal. Ensure we return 
1285         proper values when worker_request is null.
1286         * HttpResponse.cs: Added LinkDemand for Minimal. Ensure we return 
1287         proper values when context or WorkerRequest is null. Added 2.0 
1288         properties and methods to test CAS on them.
1289         * HttpRuntime.cs: Added LinkDemand for Minimal. Added PathDiscovery 
1290         demands for properties returning directories. Added demand for High 
1291         level on AppDomainAppId and AppDomainId properties, Low level on 
1292         IsOnUNCShare, Medium level on ProcessRequest and a demand for 
1293         UnmanagedCode on UnloadAppDomain method. Constructor also has a 
1294         UnmanagedCode demand for 1.x.
1295         * HttpStaticObjectsCollection.cs: Added LinkDemand for Minimal. Added
1296         a UnmanagedCode demand to public ctor. Added internal ctor without the
1297         demand. Changed Serialize and Deserialize methods to public for 2.0.
1298
1299 2005-09-14  Sebastien Pouliot  <sebastien@ximian.com>
1300
1301         * HttpWorkerRequest.cs: Removed TODO for 2.0 APIs and return the 
1302         default values for them.
1303
1304 2005-09-13  Sebastien Pouliot  <sebastien@ximian.com>
1305
1306         * HttpApplication.cs: : Added LinkDemand and InheritanceDemand (class)
1307         for Minimal. Changed AssemblyLocation to a property (so it doesn't 
1308         require special permission, PathDiscovery) to create an instance. 
1309         Protected Modules property with a Demand for High level. Added some 
1310         missing HttpException for null context.
1311         * HttpServerUtility.cs: Added LinkDemand for Minimal. Added demands 
1312         for UnmanagedCode on all CreateObject* methods. Added demand for 
1313         Medium level on MachineName and ScriptTimeout properties. Added new
1314         overloaded Transfer method (2.0) to test CAS on it.
1315         * HttpUtility.cs: Added LinkDemand for Minimal. Added [Obsolete] to 
1316         ctor (2.0). Changed some return values when 'count' is 0. Added 
1317         ParseQueryString (overload) methods for 2.0 (to enabled CAS testing on
1318         them).
1319         * HttpWorkerRequest.cs: Added LinkDemand and InheritanceDemand (class)
1320         for Minimal. Added RequestTraceIdentifier and RootWebConfigPath (2.0) 
1321         properties, GetPreloadedEntityBody, GetPreloadedEntityBodyLength, 
1322         GetTotalEntityBodyLength and ReadEntityBody (2.0) methods to test CAS 
1323         on them. Fixed SendResponseFromMemory to ignore IntPtr.Zero (used in 
1324         tests without failures).
1325         * ServerVariablesCollection.cs: Fixed loadServerVariablesCollection 
1326         when HttpWorkerRequest is null.
1327         * TraceContext.cs: Added LinkDemand for Minimal. Fixed default Mode 
1328         (SortByTime). Added new (2.0) TraceFinished event to test CAS on it.
1329
1330 2005-09-13  Sebastien Pouliot  <sebastien@ximian.com> 
1331  
1332         * HttpBrowserCapabilities.cs: Added LinkDemand and InheritanceDemand 
1333         (class) for Minimal. Note that current MCS has problem compiling 
1334         security attributes on partial class (bug #75969).
1335         * HttpCachePolicy.cs: Added LinkDemand for Minimal. Added 2.0 methods
1336         (stub) to enable CAS tests on them.
1337         * HttpCacheVaryByHeaders.cs: Added LinkDemand for Minimal.
1338         * HttpCacheVaryByParams.cs: Added LinkDemand for Minimal.
1339         * HttpClientCertificate.cs: Added LinkDemand and InheritanceDemand 
1340         (class) for Minimal.
1341         * HttpCookie.cs: Added LinkDemand for Minimal.
1342         * HttpCookieCollection.cs: Added LinkDemand for Minimal.
1343         * HttpFileCollection.cs: Added LinkDemand for Minimal.
1344         * HttpModuleCollection.cs: Added LinkDemand for Minimal.
1345         * HttpPostedFile.cs: Added LinkDemand for Minimal.
1346         * HttpRequestPriority.cs: Fix enum values.
1347         * HttpWriter.cs: Added LinkDemand for Minimal.
1348
1349 2005-09-13  Sebastien Pouliot  <sebastien@ximian.com>
1350
1351         * ProcessInfo.cs: Added LinkDemand and InheritanceDemand (class) for
1352         Minimal.
1353         * ProcessModelInfo.cs: Added LinkDemand and InheritanceDemand (class)
1354         for Minimal. Methods GetCurrentProcessInfo and GetHistory are also
1355         protected by Demand for High level.
1356
1357 2005-09-13  Sebastien Pouliot  <sebastien@ximian.com> 
1358  
1359         * HttpCompileException.cs: Added new public ctors and [Serializable]
1360         to 2.0. Added new Message property and GetObjectData (protected by a
1361         demand for SerializationFormatter) for 2.0. Fixed line-ending.
1362         * HttpException.cs: Added LinkDemand and InheritanceDemand (class) for
1363         Minimal. Renamed parameters to match documentation.
1364         * HttpParseException.cs: Added LinkDemand (class) for Minimal. Added
1365         demand for SerializationFormatter on GetObjectData method. Fixed 
1366         line-ending.
1367         * HttpRequestValidationException.cs: Added new public ctors and 
1368         [Serializable] to 2.0. Added LinkDemand for Minimal.
1369         * HttpUnhandledException.cs: Added new public ctors and [Serializable]
1370         to 2.0. Removed unused internal ctor. Added LinkDemand for Minimal.
1371         Fixed line-ending.
1372
1373 2005-09-13  Sebastien Pouliot  <sebastien@ximian.com>
1374
1375         * HttpResponseSubstitutionCallback.cs: New. 2.0 delegate.
1376         * TraceContextEventArgs.cs: New. 2.0 class.
1377         * TraceContextEventHandler.cs: New. 2.0 delegate.
1378
1379 2005-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1380
1381         * HttpRequest.cs: use GetServerName instead of GetLocalAddress when
1382         building the Url.
1383
1384 2005-09-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1385
1386         * HttpRequest.cs: fix the indexer.
1387
1388 2005-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1389
1390         * HttpPostedFile.cs: fixes in Seek and Position.
1391
1392 2005-09-08  Sebastien Pouliot  <sebastien@ximian.com>
1393
1394         * HttpRequest.cs: Make sure the MemoryStream created have their 
1395         contents marked as public - or else you can't call GetBuffer on them!
1396
1397 2005-09-08  Miguel de Icaza  <miguel@novell.com>
1398
1399         * HttpRequest.cs: Patch from Juraj Skripsky <js@hotfeet.ch> that
1400         fixes UrlReferrer. 
1401
1402 2005-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1403
1404         * HttpPostedFile.cs: Make this class actually work. Every time we read,
1405         we have to position the underlying stream.
1406
1407 2005-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1408
1409         * HttpRequest.cs: reading multipart/form-data works again.
1410
1411 2005-09-08 Eyal Alaluf <eyala@mainsoft.com>
1412         * HttpRequest.cs: Under TARGET_JVM the input stream must allow GetBuffer.
1413
1414 2005-09-08 Eyal Alaluf <eyala@mainsoft.com>
1415         * HttpApplicationFactory.cs: TARGET_J2EE/JVM fix.
1416
1417 2005-09-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1418
1419         * HttpRequest.cs: correctly detect multipart/form-data.
1420
1421 2005-09-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1422
1423         * HttpApplicationFactory.cs: recycle after invoking session_end.
1424
1425 2005-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1426
1427         * HttpRuntime.cs: remove Console.
1428
1429         * HttpApplicationFactory.cs: don't hook Session_End, but keep
1430         the MethodInfo around for later invocation if needed. Don't call
1431         GetMethods() for every HttpApplication (or derived class) instances.
1432         Added a method, used by SessionStateModule, that will create use an
1433         application without context to invoke Session_End. Keep a pool of
1434         applications that are meant to be used by this method only.
1435
1436         * HttpApplication.cs: add a SetSession method and do not
1437         attach all the events if the application is for Session_End only.
1438
1439 2005-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1440
1441         * HttpRuntime.cs: actually unload the domain when requested. Reformatted
1442         FinishUnavailable() and removed the 'Location' header form the error.
1443
1444         * HttpApplicationFactory.cs: set up the watcher for the bin directory.
1445         This also prevents a nullref when global.asax is changed.
1446
1447 2005-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1448
1449         * HttpApplication.cs: fixed bug introduced when moving GetHandler call
1450         around. Now we get error pages again.
1451
1452 2005-09-06  Miguel de Icaza  <miguel@novell.com>
1453
1454         * HttpApplication.cs: Catch EndRequest errors as well.
1455
1456 2005-09-05  Miguel de Icaza  <miguel@novell.com>
1457
1458         * HttpApplication.cs: Invoke EndRequest handler before OutputPage
1459         as FormsAuthentication will issue a Redirect from the EndRequest 
1460         handler. 
1461
1462 2005-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1463
1464         * HttpApplication.cs: when writing an error message, catch the possible
1465         write error.
1466
1467 2005-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1468
1469         * HttpResponseStream.cs: prevent invalid cast exception if the first
1470         thing written is a file.
1471
1472 2005-09-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1473
1474         * HttpApplication.cs: fix invalid cast exception (bug #75926).
1475
1476 2005-09-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1477
1478         * HttpApplicationFactory.cs: only trigger the Application_Start event
1479         once. It was being invoked more than once when several clients were
1480         hitting the server at the same time on startup.
1481
1482 2005-09-01 Eyal Alaluf <eyala@mainsoft.com>
1483
1484         * HttpContext.cs HttpResponse.cs HttpWorkerRequest.cs HttpRuntime.cs
1485           HttpApplicationFactory.cs HttpApplication.cs: TARGET_J2EE/JVM fixes.
1486           Mostly workaround limited AppModel in TARGET_J2EE.
1487
1488 2005-08-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1489
1490         * HttpResponse.cs: if the request method is HEAD, that's equivalent to
1491         SuppressContent. Added an internal TransmitFile that allows setting the
1492         final_flush flag.
1493         * StaticFileHandler.cs: use the new internal TransmitFile and remove
1494         generation of Content-Length header, as now it's computed correctly.
1495         * HttpApplication.cs: remove debugging stuff.
1496         * HttpResponseStream.cs: suppress_content is checked in HttpResponse.
1497
1498 2005-08-31  Miguel de Icaza  <miguel@novell.com>
1499
1500         Removed debugging info.
1501         
1502         * HttpApplication.cs: Add support for async handlers. 
1503
1504         Add extra 2.x methods. 
1505
1506 2005-08-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1507
1508         * BrowserCapabilities.cs: removed extra 'using'.
1509
1510         * HttpApplication.cs: use just the 'modcoll' to hold the collection of
1511         modules instead of having a separate 'modules' one.
1512
1513 2005-08-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1514
1515         * HttpApplication.cs: clone the module collection so that
1516         it's not shared between HttpApplications. Call GetHandler() in the
1517         right place.
1518
1519 2005-08-30  Miguel de Icaza  <miguel@novell.com>
1520
1521         * HttpApplication.cs: Add the new 2.x method overloads that take a
1522         data object.
1523
1524         (RunHooks): Pass the extra data instead of null.
1525
1526         * HttpCookie.cs (HttpOnly): Add 2.x cookie header.
1527
1528         * BrowserCapabilities.cs: Move the core of the capabilities into a
1529         separate file.  Use partial classes to choose what version to
1530         compile against.
1531
1532         * HttpBrowserCapabilities.cs: Update to move the code elsewhere.
1533
1534 2005-08-30 Eyal Alaluf <eyala@mainsoft.com>
1535
1536         * HttpResponseStream.cs: Fix a bug introduced by last fix (thanks to
1537         Ben)
1538
1539 2005-08-30 Eyal Alaluf <eyala@mainsoft.com>
1540
1541         * HttpResponseStream.cs: Compilation fixes for TARGET_JVM. TARGET_JVM
1542         does not support unsafe code. I localized all unsafe code within Chunk
1543         & Block and created a managed version of Chunk.
1544
1545 2005-08-30 Eyal Alaluf <eyala@mainsoft.com>
1546         * HttpApplicationFactory.cs: Compilation fixes for TARGET_J2EE. Under
1547         TARGET_J2EE static fields are shared by all app domains. We handle
1548         this difference by explicitly getting/setting values from the app
1549         domain.  Since HttpApplicationFactory has many static fields, I
1550         refactored it to have one static instance and moved the static fields
1551         into instance fields.
1552
1553 2005-08-29 Eyal Alaluf <eyala@mainsoft.com>
1554
1555         * HttpRequest.cs: Disable use of IntPtrStream for TARGET_JVM
1556
1557 2005-08-29 Eyal Alaluf <eyala@mainsoft.com>
1558
1559         * HttpContext.cs: Compilation fixes for TARGET_J2EE/JVM
1560
1561 2005-08-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1562
1563         * HttpResponse.cs: don't duplicate the 'charset=' and don't send a
1564         charset for unknown MIME types.
1565         * StaticFileHandler.cs: set the Content-Length header here.
1566         * HttpRequest.cs: prevent nullrefs when we have no 'charset='.
1567
1568 2005-08-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1569
1570         * StaticFileHandler.cs: use TransmitFile instead of WriteFile. This way
1571         xsp will use sendfile().
1572
1573 2005-08-28  Chris Toshok  <toshok@ximian.com>
1574
1575         * SiteMapNode.cs: fix IHierarchyData.GetParent.
1576
1577 2005-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1578
1579         * HttpRequest.cs:
1580         * IntPtrStream.cs: now we only have a read-only MemoryStream or an
1581         IntPtrStream. The copy is moved into HttpRequest.
1582
1583 2005-08-26  Sebastien Pouliot  <sebastien@ximian.com>
1584
1585         * WebCategoryAttribute.cs: New. Required internal attribute.
1586         * WebSysDescriptionAttribute.cs: New. Required internal attribute.
1587
1588 2005-08-26  Jackson Harper  <jackson@ximian.com>
1589
1590         * HttpResponseStream.cs: Use GetBuffer so the memory isn't
1591         duplicated.
1592
1593 2005-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1594
1595         * HttpApplication.cs: GetHandler might return null when, for example,
1596         a web service fails, but that does not mean that returning a null
1597         handler should throw another exception, as the web service code
1598         serialized the error as a faultString. So if the handler is null, just
1599         don't call ProcessRequest and keep going.
1600
1601 2005-08-26  Jackson Harper  <jackson@ximian.com>
1602
1603         * HttpResponse.cs: Send the cached headers if this is a cached
1604         response. Save the headers, date header, and page data. Fix a typo.
1605         * HttpResponseStream.cs: Add new accesor to get a byte [] of the
1606         page data.
1607
1608 2005-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1609
1610         * HttpWorkerRequest.cs: SetEndOfSendNotification is a noop. No matter
1611         what callback you use that never gets called. In XSP I actually
1612         implement something for this method.
1613         * HttpServerUtility.cs: unused variable.
1614
1615 2005-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1616
1617         * HttpInputStream.cs: new ctor that takes a byte [].
1618         * IntPtrStream.cs: make it work on a byte [] too.
1619
1620         * HttpRequest.cs:
1621         (ContentLength): return 0 for negative numbers or error parsing, but
1622         keep content_length negative in those cases.
1623         (MakeInputStream): when there's no content-length (or it's negative),
1624         we still read the request into a MemoryStream. Use
1625         IsEntireEntityIsPreloaded() as a fast path.
1626
1627 2005-08-25  Sebastien Pouliot  <sebastien@ximian.com>
1628
1629         * HttpClientCertificate.cs: On 1.x the .ctor throws a 
1630         ArgumentNullException (but 2.0 throws a NRE).
1631
1632 2005-08-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1633
1634         * HttpRequest.cs: HttpMethod deserves its own field. Fix IsLocal.
1635
1636 2005-08-25  Chris Toshok  <toshok@ximian.com>
1637
1638         * HttpApplication.cs (IsReusable): return true.
1639         (InitOnce): remove the initialization of handler_factory from
1640         here.
1641         (GetHandler) and move it here, so we make sure to load handlers
1642         from all needed web.config files.
1643
1644 2005-08-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1645
1646         * HttpServerUtility.cs: use GetHandler().
1647         * HttpApplication.cs: remove obsolete method. Now Transfe/Execute work.
1648
1649 2005-08-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1650
1651         * HttpApplication.cs: no need for the local var. here.
1652
1653 2005-08-25  Chris Toshok  <toshok@ximian.com>
1654
1655         * HttpApplication.cs (InitOnce): move the initialization of
1656         modules above the call to HttpApplicationFactory.AttachEvents,
1657         since that method accesses HttpApplication.Modules.  Fixes
1658         nGallery.
1659         (IsReusable): mark TODO.
1660
1661 2005-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1662
1663         * HttpResponseHeader.cs: removed obsolete class.
1664         * HttpResponse.cs: no more 'obsolete' warnings.
1665
1666 2005-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1667
1668         * HttpRuntime.cs: implemeted some missing properties.
1669
1670 2005-08-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1671
1672         * HttpResponse.cs: implemented RemoveOutputCacheItem().
1673
1674 2005-08-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1675
1676         * HttpApplication.cs: implemented GetVaryByCustomString().
1677
1678 2005-08-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1679
1680         * HttpRequest.cs: implemented SetHeader (allows adding a header
1681         circumventing the read-only protection of the collection) and SetForm,
1682         which just assigns a value of the 'form' collection.
1683         * HttpServerUtility.cs: NameValueCollection -> WebROCollection.
1684
1685 2005-08-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1686
1687         * HttpContext.cs:
1688         * HttpRequest.cs: implemented RewritePath and supporting methods.
1689
1690 2005-08-22  Sebastien Pouliot  <sebastien@ximian.com>
1691
1692         * HttpRequest.cs: Avoid NRE if work_request if null in the ctor.
1693         * HttpResponse.cs: Avoid NRE if work_request if null in the ctor.
1694
1695 2005-08-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1696
1697         * HttpApplication.cs: if there's any exception thrown when getting the
1698         handler, don't add an extra error to the context, as we already have
1699         one.
1700
1701 2005-08-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1702
1703         * HttpWriter.cs:
1704         * HttpResponse.cs:
1705         * HttpWorkerRequest.cs:
1706         * HttpApplication.cs: added mising attributes and enabled methods
1707         present in 1.1 SP1.
1708
1709 2005-08-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1710
1711         * WebROCollection.cs: a collection that allows setting IsReadOnly.
1712         * HttpRequest.cs: implemented MapImageCoordinates(). Use WebROCollection
1713         instead of a NameValueCollection in Form, Headers, Params, QueryString.
1714
1715 2005-08-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1716
1717         * HttpInputStream.cs: new copy ctor.
1718         * IntPtrStream.cs: getters for base_address and size.
1719         * HttpRequest.cs: implemented SaveAs(). Use a wrapper on top of
1720         InputStream so that reading POST form or files does not modify the state
1721         if InputStream. Don't use uri_builder.Query in QueryStringRaw, as it
1722         returns the '?'.
1723
1724 2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1725
1726         * HttpRequest.cs: implemented UserLanguages and reuse code from
1727         AcceptTypes.
1728
1729 2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1730
1731         * HttpRequest.cs: implemented AcceptTypes.
1732
1733 2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1734
1735         * HttpRequest.cs: implemented this[] in terms of Params. Don't add the
1736         header collection in Params.
1737
1738 2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1739
1740         * HttpRequest.cs: fix Files property.
1741         * HttpApplication.cs: invoke the default authentication event after all 
1742         the other auth. modules.
1743
1744 2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1745
1746         * ServerVariablesCollection.cs: mark the collection as read-only except
1747         when we fill it. Add the HTTP_blah key/value pairs too.
1748
1749 2005-08-18  Chris Toshok  <toshok@ximian.com>
1750
1751         * HttpRequest.cs (get_Params): implement.
1752
1753 2005-08-17  Chris Toshok  <toshok@ximian.com>
1754
1755         * HttpResponse.cs: HttpResponse's Cookie's collection acts
1756         differently than HttpRequests in that it never returns null from
1757         the "this [string]" accessor.
1758
1759 2005-08-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1760
1761         * HttpRequest.cs: check length 0 case when reading a POST.
1762
1763 2005-08-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1764
1765         * HttpContext.cs: added security attributes for User and
1766         SkipAuthorization properties.
1767         * HttpApplicationFactory.cs: AttachEvents is now called form the
1768         application .ctor. Recycle instead of dispose.
1769         * HttpApplication.cs: attach events to the newly created application.
1770
1771 2005-08-15  Jackson Harper  <jackson@ximian.com>
1772
1773         * ApplicationShutdownReason.cs: make build
1774
1775 2005-08-15  Miguel de Icaza  <miguel@novell.com>
1776
1777         * HttpApplication.cs: Update comments
1778
1779         * HttpPostedFile.cs: Use a substream to read from the uploaded
1780         multiparts. 
1781
1782         * HttpRequest.cs: use new code to read the uploaded files.
1783
1784 2005-08-12  Miguel de Icaza  <miguel@novell.com>
1785
1786         2.x API fixage and small additions:
1787         
1788         * HttpResponse.cs: Make constructor internal.
1789
1790         * HttpRequest.cs (IsLocal): Expose if NET_2.x
1791
1792         * HttpContext.cs: Remove internal routine.
1793
1794         * HttpApplication.cs: Add 2.x events. 
1795
1796         * HttpRequest.cs: Another iFolder issue: I was not setting up the
1797         uri_builder here.
1798
1799         Fixes to get iFolder to work:
1800         
1801         * HttpApplicationFactory.cs: Set the context when we are initting
1802         the application.
1803
1804         * HttpApplication.cs (SetContext): helper routine. 
1805
1806         * HttpResponse.cs: Implement the various cache operations:n
1807         Expires, ExpiresAbsolute, CacheControl.
1808
1809         Actually produce the Cache-Control header, the "Cache" property
1810         takes precedence over the compatibility settings (Expires,
1811         ExpiresAbsolutely and CacheControl). 
1812
1813         * HttpCachePolicy.cs: Fix style.
1814
1815         Fix the generation of the headers, use lower-case values, do not
1816         add the max-value if the value is zero.  
1817
1818         Allow for all possible values in SetCacheability. 
1819
1820         * HttpRuntime.cs (ClrInstallDirectory): Implement.
1821
1822         * HttpResponseStream.cs: Remove debugging stuff. 
1823
1824 2005-08-11  Miguel de Icaza  <miguel@novell.com>
1825
1826         Big chunked handling rewrite, and integration of Ben's unmanaged
1827         output stream.
1828
1829         * HttpWriter.cs: Delegate chunked encoding writing to the
1830         HttpResponse. 
1831
1832         * HttpResponse.cs: Rework the chunked encoding system, centralize
1833         it all. 
1834
1835         * HttpResponseStream.cs: Deploy Ben's bucket-base unmanaged
1836         buffers code. 
1837
1838         Changed the way that we handle chunked encoding, centralize it
1839         all;  
1840
1841         Remove a lot of manual handling of buffering turned off, and
1842         instead delegate it all to Flush, fixes several issues with the
1843         new framework.
1844
1845         * HttpWorkerRequest.cs (SendResponseFromMemory (IntPtr, int)):
1846         Provide a default implementation since currently XSP does not have
1847         this method implemented. 
1848
1849 2005-08-11  Sebastien Pouliot  <sebastien@ximian.com> 
1850  
1851         * HttpClientCertificate.cs: Culture insensitive int parsing. Fixed
1852         NET_2_0 build.
1853
1854 2005-08-10  Miguel de Icaza  <miguel@novell.com>
1855
1856         * ServerVariablesCollection.cs: For Ben.  Implement the header
1857         fetching here, do not implement it in HttpRequest.cs.
1858
1859 2005-08-10  Sebastien Pouliot  <sebastien@ximian.com> 
1860  
1861         * HttpClientCertificate.cs: Changed IsPresent logic so that new unit
1862         tests will work as expected.
1863
1864 2005-08-10  Sebastien Pouliot  <sebastien@ximian.com>
1865
1866         * HttpClientCertificate.cs: Implemented, except for validation. Note 
1867         that the HttpWorkerRequest derived classes must be updated to supply 
1868         the required informations.
1869         * HttpRequest.cs: Create an HttpClientCertificate on first call to
1870         ClientCertificate.
1871
1872 2005-08-09  Miguel de Icaza  <miguel@novell.com>
1873
1874         * HttpRuntime.cs (AspInstallDirectory): Implement.
1875
1876 2005-08-09  Sebastien Pouliot  <sebastien@ximian.com>
1877
1878         * HttpClientCertificate.cs: New. Stub. It won't be fun to test.
1879
1880 2005-08-04  Ben Maurer  <bmaurer@ximian.com>
1881
1882         * HttpContext.cs: Kill a NIE.
1883
1884 2005-08-04  Miguel de Icaza  <miguel@novell.com>
1885
1886         * HttpApplicationFactory.cs: Change "Start" event like the "End"
1887         event, and only do this once, when we init the type.
1888
1889         Fire the "Application_Start" event after we create the type.
1890
1891 2005-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1892
1893         * HttpApplication.cs: catch a ThreadAbort (coming from Response.End)
1894         here too.
1895
1896 2005-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1897
1898         * HttpResponse.cs: setting the Status property resets the
1899         StatusDescription (see the tests) and the default value for the
1900         description is the one provided by GetStatusDescription() in
1901         HttpWorkerRequest.
1902
1903 2005-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1904
1905         * HttpRequest.cs: s/boundry/boundary/ and fix typo in array creation.
1906
1907 2005-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1908
1909         * HttpApplication.cs: add call to EndOfRequest when everything is said
1910         and done.
1911
1912 2005-08-02  Miguel de Icaza  <miguel@novell.com>
1913
1914         * HttpResponse.cs: Stub for TransmitFile.
1915
1916         * HttpRequest.cs (IsAuthenticated): Implement.
1917
1918 2005-08-01  Miguel de Icaza  <miguel@novell.com>
1919
1920         * HttpRequest.cs: Cope with implementations of HttpWorkerRequest
1921         (unpatched xsp) that do not send back the PreloadedEntityBody. 
1922
1923         * HttpApplication.cs: keep track of the factory. 
1924         (Dispose): Only dispose once, clean up other variables, release
1925         the ManualResetEvent.
1926         Release the handler to the factory.
1927
1928         * HttpApplicationFactory.cs: Implement a stack to reuse the
1929         applications. 
1930
1931         * HttpRequest.cs: On uploads, if the ContentLenght is zero, throw
1932         a 411.
1933
1934         * HttpRuntime.cs: Recycle the application after using it.
1935
1936         * HttpPostedFile.cs: Implement SaveAs.
1937
1938         * HttpContext.cs: Return the "Server" property.
1939
1940 2005-08-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1941
1942         * HttpServerUtility.cs: implemented missing bits.
1943
1944 2005-08-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1945
1946         * HttpRequest.cs: query string was getting a '?' as the start of the
1947         first variable name. This makes the asmx help page work again.
1948
1949 2005-08-01  Miguel de Icaza  <miguel@novell.com>
1950
1951         * HttpRequest.cs (Cookies, Forms): Add validation.
1952         (Forms): Add application/x-www-form-urlencoded parsing and
1953         multipart/form-data parsing.
1954         
1955         (HttpMultiPart): Implement new class to load multi-part data from
1956         a stream since there is no longer a byte [] that holds the data
1957         (currently we have an unmanaged IntPtr buffer wrapped as a
1958         stream).  Also the 2.x framework will add support for large
1959         uploads which are sent directly to disk, which will require the
1960         FileStream interface. 
1961         
1962         (Path, PathInfo): Fill a couple more methods to avoid crashes.
1963
1964         * HttpContext.cs: Fill another one to get web services summary
1965         page painting.  The page does not work though.
1966         
1967         * HttpApplication.cs: Rework the pipeline to not depend on
1968         `finally', as `finally' would not be invoked if we choose not to
1969         call the pipeline again (which happens if the `stop' variable is
1970         set). 
1971
1972         Instead force the pipeline to go to the shutdown, and yield from
1973         there after all the release-state callbacks have been invoked. 
1974
1975 2005-07-31  Miguel de Icaza  <miguel@novell.com>
1976
1977         * HttpApplication.cs: Remove debugging messages since the compiler
1978         bug has been fixed.
1979
1980         You must use at least mcs from revision 47879 for the application
1981         pipeline to work. 
1982
1983 2005-07-30  Miguel de Icaza  <miguel@novell.com>
1984
1985         * HttpContext.cs: Error handling methods.
1986
1987         * HttpResponse.cs: Trigger the last event.
1988
1989         * HttpRuntime.cs: Add queueing of the next request. 
1990
1991         * HttpApplication.cs: Deploy the new yield-based application
1992         pipeline, add error handling to the pipeline.
1993         
1994         * HttpApplication.cs (AsyncRequestState): Just use the done event
1995         from the parent.
1996
1997 2005-07-29  Miguel de Icaza  <miguel@novell.com>
1998
1999         * HttpResponseStream.cs, HttpRequest.cs: Fix bugs found by nunit.
2000
2001         * HttpApplication.cs: Fix a race condition. 
2002
2003         * HttpResponseStream.cs: Fix bug, send the size of the buffer that
2004         we have so far instead of the internal size of the buffer.   This
2005         will need work later to ensure we enforce the Content-Length
2006         maximum output size if set.
2007
2008         * ServerVariablesCollection.cs: This class now inherits from
2009         NameValueCollection, we should probably review what the middle
2010         class did, there are no dependencies on it.
2011
2012         I need to write tests to investigate if something is missing or
2013         has changed in this implementation. 
2014
2015 2005-07-27  Miguel de Icaza  <miguel@novell.com>
2016
2017         * HttpRequest.cs: No happy replies here, send a 411.
2018
2019 2005-07-27  Chris Toshok  <toshok@ximian.com>
2020
2021         * HttpResponseHeader.cs: remove spew.
2022         
2023 2005-07-27  Chris Toshok  <toshok@ximian.com>
2024
2025         * HttpResponseHeader.cs (HttpResponseHandler..ctor): use
2026         HttpWorkerRequest.GetKnownResponseHeaderName instead of
2027         GetKnownRequestHeaderName.  Fixes Response.Redirect until miguel's
2028         new HttpReponse is online.
2029
2030 2005-07-26  Miguel de Icaza  <miguel@novell.com>
2031
2032         * HttpResponse.cs: use_chunked is now a byte-array, if not null,
2033         we use it to hold the size of the chunked so we do not have to
2034         allocate many of these. 
2035         (SendSize): Helper routine to send the chunked headers.
2036         (BinaryWrite): First user of the chunked writer.
2037
2038         * HttpApplication.cs: Do not crash if they request a Server
2039         instance, but throw a NotImplementedException.
2040
2041         * HttpRequest.cs: fix a few problems exposed by the regression
2042         test suite.
2043
2044         * HttpRequest.cs (Cookies): use Chris' new constructor to get the
2045         cookies parsed.
2046
2047         : The big Uri rework: instead of using QueryString
2048         as the population mechanism, populate an UriBuilder from the
2049         various HttpWorkerRequest methods.
2050
2051         * HttpWorkerRequest.cs (GetProtocol): Implement in terms of
2052         IsSecure().
2053
2054         * HttpResponse.cs: Pointed by Ben, Write (null) is a nop instead
2055         of a crash.
2056
2057         * HttpContext.cs: Add a couple of properties to help the 2.x
2058         build.
2059         
2060         * HttpResponse.cs: Make ContentLength a long, add back support for
2061         session's app_path_mod.
2062         (ApplyAppPathmodifier): put back.
2063         (End): Pass a flag to abort so we can tell the exceptions appart
2064         in HttpApplication.
2065         (WriteHeaders): Send the HTTP status.
2066         (Redirect): Implement.
2067         (Write): Use the Output property to load writer when needed.
2068         
2069         * HttpRequest.cs (ctor): Temporary use of InitFromWR, will fix
2070         later. 
2071         (MakeInputStream): check content-length size, use routines to load
2072         the preloaded data, handle incomplete transfers.
2073         (Query): Do not insert null keys into the collection.
2074         (Url): implement.
2075         (UrlReferer): implement.
2076
2077         * HttpApplication.cs (RunHooks): Catch Thread.Abort, and call
2078         Thread.ResetAbort after each step.
2079
2080         Ensure that ReleaseState is called if we ever succeed in acquiring
2081         the state even if we have stopped the request pipeline.
2082
2083         Report file not found, directory not found.
2084
2085 2005-07-25  Miguel de Icaza  <miguel@novell.com>
2086
2087         * HttpCookieCollection.cs: Add expiration of the cookie. 
2088
2089         * HttpRequest.cs: Add check for ContentLength, use
2090         GetPreloadedEntityBody, correct number of bytes uploaded.
2091
2092 2005-07-21  Miguel de Icaza  <miguel@novell.com>
2093
2094         * HttpResponseHeader.cs: Our implementation of HttpResponse only
2095         uses the text headers, does not use any constants as XSP would go
2096         through a slower code path anyways.
2097
2098 2005-07-21  Chris Toshok  <toshok@ximian.com>
2099
2100         * HttpBrowserCapabilities.cs: enable support for the W3CDomVersion
2101         and EcmaScriptVersion properties.
2102
2103 2005-07-21  Chris Toshok  <toshok@ximian.com>
2104
2105         * HttpResponseHeader.cs: hi, i'm stupid and missed String.Replace.
2106         
2107 2005-07-21  Chris Toshok  <toshok@ximian.com>
2108
2109         * HttpResponseHeader.cs: url encode just \r and \n if they're
2110         present in the value.
2111
2112 2005-07-20  Chris Toshok  <toshok@ximian.com>
2113
2114         * HttpPostedFile.cs: add missing ContentLength property.
2115
2116 2005-07-20  Chris Toshok  <toshok@ximian.com>
2117
2118         * HttpCookieCollection.cs: add a new ctor that takes a string (the
2119         contents of the Cookies: header).
2120
2121 2005-07-20  Chris Toshok  <toshok@ximian.com>
2122
2123         * HttpCookieCollection.cs: add another ctor (internal, but not
2124         obsolete, so we aren't passing a stupid HttpResponse in in order
2125         to change the behavior of the collection.)
2126
2127         * HttpCookie.cs: init this.values in the internal ctor.
2128
2129 2005-07-20  Chris Toshok  <toshok@ximian.com>
2130
2131         * HttpCookieCollection.cs: use "auto-fill mode" when we're dealing
2132         with an HttpResponse's cookie collection.  That is, create the
2133         cookie if the consumer looks it up.
2134
2135 2005-07-20  Miguel de Icaza  <miguel@novell.com>
2136
2137         * HttpApplication.cs: Ongoing work on pipeline, I will need to
2138         redo this later.
2139
2140 2005-07-19  Miguel de Icaza  <miguel@novell.com>
2141
2142         * HttpContext.cs (GetService): Implement.  Return all of the
2143         properties that we have access to.  Make HttpWorkerRequest the
2144         first match as this is the only likely reason people need to use
2145         this. 
2146
2147         * IntPtrStream.cs: Bring from corlib.
2148
2149         * MultiPartContentParser.cs: use a MemoryStream as HttpInputStream
2150         will now be using IntPtrStream. 
2151
2152         * HttpRequest.cs (MakeInputStream): move code that loads the
2153         request here
2154         (CloseInputStream): Helper method that we will call later to
2155         ensure that we dispose properly the malloced() block. 
2156         (BinaryRead): Implemented.
2157
2158         * HttpInputStream.cs: Rewrite to be a descendant of
2159         IntPtrStream.cs 
2160
2161 2005-07-18  Miguel de Icaza  <miguel@novell.com>
2162
2163         * HttpApplication.cs (Modules): Add modules support and
2164         AsyncResult.
2165
2166 2005-07-18  Chris Toshok  <toshok@ximian.com>
2167
2168         * HttpResponseHeader.cs: initial implementation.
2169
2170 2005-07-18  Chris Toshok  <toshok@ximian.com>
2171
2172         * HttpModuleCollection.cs (HttpModuleCollection.GetKey): add
2173         missing method.
2174
2175         * HttpFileCollection.cs: initial implementation.
2176
2177 2005-07-18  Chris Toshok  <toshok@ximian.com>
2178
2179         * HttpModuleCollection.cs (HttpModuleCollection.CopyTo): implement
2180         missing method.
2181
2182 2005-07-18  Chris Toshok  <toshok@ximian.com>
2183
2184         * HttpModuleCollection.cs: initial implementation.
2185
2186 2005-07-18  Chris Toshok  <toshok@ximian.com>
2187
2188         * HttpCacheVaryByHeaders.cs: only add the header if it's not
2189         already in the hash.
2190
2191         * HttpCacheVaryByParams.cs: only add the param if it's not already
2192         in the hash.
2193
2194 2005-07-18  Chris Toshok  <toshok@ximian.com>
2195
2196         * HttpCookie.cs (HttpCookie+CookieNVC.Set): new override to fix an
2197         MS quirk.
2198
2199 2005-07-17  Miguel de Icaza  <miguel@novell.com>
2200
2201         * HttpRequest.cs (Headers, InputStream): implemented two more
2202         properties.
2203
2204         * HttpInputStream.cs: All we need is a MemoryStream with writable
2205         set to false.
2206
2207         * HttpPostedFile.cs: Use a Stream.
2208
2209 2005-07-16  Chris Toshok  <toshok@ximian.com>
2210
2211         * HttpCacheVaryByHeaders.cs: make sure we set vary_by_unspecified
2212         = false in the custom setter.
2213
2214 2005-07-16  Chris Toshok  <toshok@ximian.com>
2215
2216         * HttpCacheVaryByParams.cs: initial implementation.
2217
2218 2005-07-16  Chris Toshok  <toshok@ximian.com>
2219
2220         * HttpCacheVaryByHeaders.cs: initial implementation.
2221
2222 2005-07-15  Chris Toshok  <toshok@ximian.com>
2223
2224         * HttpCookie.cs: one more time.
2225
2226 2005-07-15  Chris Toshok  <toshok@ximian.com>
2227
2228         * HttpCookie.cs (HttpCookie.GetCookieHeader): use
2229         expires.ToString().
2230         
2231 2005-07-15  Chris Toshok  <toshok@ximian.com>
2232
2233         * HttpCookie.cs (HttpCookie.GetCookieHeader): implement to fix
2234         ben's bug.
2235
2236 2005-07-15  Chris Toshok  <toshok@ximian.com>
2237
2238         * HttpCookieCollection.cs: initial implementation (with a couple
2239         of labeled inefficiencies.)
2240
2241 2005-07-15  Chris Toshok  <toshok@ximian.com>
2242
2243         * HttpCookie.cs (HttpCookie.get_HasKeys): use values.HasKeys()
2244         instead of trying to be smart about it ourselves.
2245
2246 2005-07-15  Chris Toshok  <toshok@ximian.com>
2247
2248         * HttpCookie.cs: initial implementation.  we fail one unit test,
2249         but it might be due to a bug in NameValueCollection.
2250
2251 2005-07-15  Miguel de Icaza  <miguel@novell.com>
2252
2253         * HttpRequest.cs: 
2254
2255 2005-07-14  Miguel de Icaza  <miguel@novell.com>
2256
2257         * HttpRuntime.cs: Return a few of the values from the AppDomain
2258         data. 
2259
2260         Put the application shutdown process.
2261
2262         * HttpApplicationFactory.cs (AddEvent): Fixed bug when more than
2263         one method existed.
2264         
2265         (FireEvent): Do not ignore errors.
2266
2267         * HttpContext.cs (GetAppConfig, GetConfig): First success, use
2268         ConfigurationSettings.GetConfig to get the value that QueueManager
2269         needed.
2270
2271 2005-07-14  Dick Porter  <dick@ximian.com>
2272
2273         * HttpPostedFile.cs: New basic implementation; needs someone to
2274         figure out what a HttpRequestStream does
2275
2276 2005-07-13  Miguel de Icaza  <miguel@novell.com>
2277
2278         * HttpRequest.cs: More work on this file
2279
2280         * HttpRequest.cs, HttpApplication.cs, HttpContext.cs,
2281         HttpRuntime.cs: New from scratch implementation.
2282
2283 2005-07-01  Lluis Sanchez Gual <lluis@novell.com>
2284
2285         * SiteMap.cs: Read provider info from the configuration files.
2286
2287 2005-06-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2288
2289         * HttpResponseHeader.cs: URL encode \r and \n in header values. Fixes
2290         bug #75392.
2291
2292 2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2293
2294         * HttpUtility.cs: fix another stupid buglet in htmldecode.
2295
2296 2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2297
2298         * HttpContext.cs:
2299         * HttpResponse.cs:
2300         * HttpRequest.cs: use StrUtils (invariant culture).
2301
2302 2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2303
2304         * HttpRequest.cs: use StartsWith when looking for 'multipart/form-data'.
2305         File uploading was broken since a few commits ago.
2306
2307 2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2308
2309         * HttpResponse.cs: ensure that the last chunk ('0\r\n\r\n') is sent
2310         even if response.Close is called before a final flush. MS/IIS fails to
2311         do this.
2312
2313 2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2314
2315         * HttpRequest.cs: don't print anything for unknown content types in
2316         ParseFormData. Use lowercase compare.
2317
2318 2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2319
2320         * HttpResponse.cs: invariant love.
2321
2322 2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2323
2324         * HttpResponse.cs: avoid 1 string concat.
2325         * HttpRequest.cs: fix BinaryRead. It was totally wrong.
2326
2327 2005-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2328
2329         * HttpUtility.cs: don't append an extra 0 when no digits seen. Fixes
2330         bug #75370.
2331
2332 2005-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2333
2334         * HttpUtility.cs: the lower limit for using &#xx; encoding is 160, not
2335         128. Reset number back to 0 after use. Fixes bug #75365.
2336
2337 2005-06-19  Svetlana Zholkovsky <svetlanaz-at-mainsoft.com>
2338                 * In following classes added TARGET_J2EE or/and TARGET_JVM
2339                   directives:
2340                         - HttpResponse.cs
2341                         - HttpRuntime.cs
2342                         - HttpUtility.cs
2343                         - CapabilitiesLoader.cs
2344                         - HttpApplication.cs
2345                         - HttpApplicationFactory.cs
2346                         - HttpContext.cs
2347                         - HttpException.cs
2348                         - HttpRequest.cs
2349                 * Added Mainsoft's specific files :
2350                         - GhHttpAsyncResult.jvm.cs
2351
2352 2005-06-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2353
2354         * HttpRequest.cs: avoid one intermediate buffer when reading the request
2355         body and fail for over limit content length when the content type is
2356         not handled as form or multipart data.
2357
2358 2005-06-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2359
2360         * HttpResponse.cs: fix the check in Close() so that CloseConnection is
2361         called even if there has been no final Flush. Fixes bug #75176.
2362
2363 2005-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2364
2365         * HttpParseException.cs:
2366         * HttpResponse.cs:
2367         * HttpApplication.cs: updates for 1.1 service pack.
2368
2369 2005-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2370
2371         * HttpUtility.cs: fix InvalidCastException.
2372
2373 2005-06-05  Korn__l P__l <kornelpal@hotmail.com>
2374
2375         * HttpWriter.cs: Fixed: _OutputFilter.Close () was called twice.
2376
2377 2005-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2378
2379         * HttpUtility.cs: modified HtmlDecode so that it does not need to call
2380         Int32.Parse and handles improper &# sequences. Fixes bug #74907.
2381
2382 2005-05-26  Lluis Sanchez Gual <lluis@novell.com>
2383
2384         * SiteMapNodeCollection.cs: Implemented missing methods. The collection
2385         does not inherit from CollectionBase any more.
2386         * SiteMapNode.cs: Track api changes.
2387         * SiteMapProvider.cs: Moved several methods to the new
2388         StaticSiteMapProvider class. Other fixes.
2389         * XmlSiteMapProvider.cs: Watch changes in the xml files. Other fixes.
2390         * SiteMapProviderCollection.cs: Minor fixes.
2391         * SiteMap.cs: Added missing event. Avoid double check lock.
2392         * StaticSiteMapProvider.cs: New class that implements some of the
2393         funtionality of SiteMapProvider.
2394
2395 2005-05-25  Ben Maurer  <bmaurer@ximian.com>
2396
2397         * MimeTypes.cs: Remove extra spaces, they were typos. Fixes 75049.
2398
2399 2005-05-13 Atsushi Enomoto <atsishi@ximian.com>
2400
2401         * HttpUtility.cs : UrlDecodeToBytes() incorrectly decoded escaped 
2402           characters. Patch by Kazuki Oikawa.
2403
2404 2005-05-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2405
2406         * HttpRuntime.cs: PlatformID.Unix.
2407
2408 2005-05-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2409
2410         * HttpResponse.cs: cleaned up the .ctors, fix IsClientConnected and just
2411         Clear the _Headers array instead of creating a new ArrayList in
2412         ClearHeaders().
2413
2414 2005-05-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2415
2416         * HttpResponse.cs: we had 2 variables to track client connection status.
2417         Use only one. Increase the buffer size to 28KB when writing from a file.
2418
2419         * StaticFileHandler.cs: set the Content-Type before writing the file.
2420         This allows flushing before all the content is written.
2421
2422         * HttpApplication.cs: use the variable instead of the property when
2423         setting the Principal for the current process.
2424
2425 2005-05-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2426
2427         * ReusableMemoryStream.cs:
2428         * HttpWriter.cs: keep a pool of buffers to avoid allocations.
2429
2430 2005-05-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2431
2432         * HttpResponse.cs: no need to save/restore the thread culture when
2433         getting the Date header. According to Ben's profiling, this is a big
2434         deal in performance.
2435
2436         * HttpRuntime.cs: ignore exceptions that might be thrown when unloading 
2437         a domain.
2438
2439 2005-05-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2440
2441         * HttpApplicationFactory.cs: ignore any exception thrown when invoking
2442         an application event.
2443
2444 2005-04-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2445
2446         * HttpBrowserCapabilities.cs: fix Win32 property.
2447
2448 2005-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2449
2450         * HttpResponse.cs: only add the charset when explicitly set or for
2451         well-known content types.
2452
2453 2005-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2454
2455         * HttpCachePolicy.cs:
2456         * HttpAsyncResult.cs:
2457         * HttpClientCertificate.cs:
2458         * HttpException.cs:
2459         * HttpRuntime.cs:
2460         * HttpCacheVaryByHeaders.cs:
2461         * HttpBrowserCapabilities.cs:
2462         * HttpUtility.cs:
2463         * HttpCacheVaryByParams.cs: no more warnings.
2464
2465         * QueueManager.cs: check for local connections with minLocalFreeThreads.
2466
2467 2005-04-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2468
2469         * ServerVariablesCollection.cs: shuffled variables, added missing ones
2470         and call a method in HttpRequest to set the HTTP_ variables.
2471
2472         * HttpRequest.cs: new method to add HTTP_ variables to a collection.
2473
2474 2005-04-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2475
2476         * HttpRequest.cs: GetAllHeaders was returning the value twice instead
2477         of 'name: value'. When HTTP_ is requested on the output, don't include
2478         unknown headers.
2479
2480 2005-03-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2481
2482         * HttpCookieCollection.cs: when adding more than one cookie with the
2483         same name, the last one is the winner.
2484
2485 2005-03-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2486
2487         * HttpRequest.cs: correctly store the value cookies in Params. Fixes
2488         bug #73345.
2489
2490 2005-02-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2491
2492         * HttpRequest.cs: Path and FilePath also change when RewritePath is
2493         called. Fixes bug #73055.
2494
2495 2005-02-23  Sebastien Pouliot  <sebastien@ximian.com>
2496
2497         * HttpRequest.cs: Make sure that any access after a ValidateInput 
2498         throws an exception if the data isn't safe.
2499
2500 2005-02-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2501
2502         * CapabilitiesLoader.cs: fix the path, as machine.config is now in a
2503         x.x/ directory below $PREFIX/etc/mono.
2504
2505 2005-02-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2506
2507         * HttpRequest.cs: fail on unicode full-width '<' and '>' too. Fixes
2508         a security report (http://secunia.com/advisories/14325) that wan't
2509         reported to us before public disclosure.
2510
2511 2005-02-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2512
2513         * HttpResponse.cs: send the calculated content length even when it's 0.
2514         Fixes bug #72655.
2515
2516 2005-02-04  Lluis Sanchez Gual <lluis@novell.com>
2517
2518         * HttpContext.cs: Added internal property to keep a reference to
2519         the last accessed page. Page uses this to implement PreviousPage.
2520
2521 2005-02-02  Lluis Sanchez Gual <lluis@novell.com>
2522
2523         * ProcessModelInfo.cs: Fixed warning.
2524
2525 2005-02-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2526
2527         * TraceContext.cs: writing a message without any other argument is not
2528         a warniing. Fixes bug #72017.
2529
2530 2005-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2531
2532         * HttpApplication.cs: if there are no more handlers, finish the
2533         request and ensure we call Complete on it. Now FreeTextBox 3.0 works.
2534
2535 2004-12-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2536
2537         * HttpRequest.cs: honor the maxRequestSize limit from machine.config.
2538
2539 2004-12-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2540
2541         * HttpApplication.cs: reread application CultureInfo as web.config
2542         might have changed. Fixes bug #62539.
2543
2544 2004-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2545
2546         * HttpResponse.cs: fixed ApplyAppPathModifier to insert the session ID.
2547
2548 2004-11-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2549
2550         * HttpApplicationFactory.cs: monitor changes in global.asax and bin
2551         directory and shutdown the application when that happens. Fixes bug
2552         #49651.
2553
2554 2004-11-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2555
2556         * ReusableMemoryStream.cs: copied from System.IO.MemoryStream and
2557         slightly modified to allow expanding the buffer for cases on which the
2558         regular MemoryStream don't allow it.
2559
2560         * HttpWriter.cs: use the new ReusableMemoryStream and fix bug #59841.
2561         Otherwise we would have to allocate a new MemoryStream...
2562
2563 2004-11-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2564
2565         * HttpApplication.cs: Create() is now GetInstance().
2566
2567 2004-11-18 Lluis Sanchez Gual <lluis@novell.com>
2568
2569         * SiteMapNodeCollection.cs: Added missing properties.
2570         * HttpParseException.cs: Added 2.0 methods and properties.
2571         * SiteMapNode.cs: Added missing methods and properties.
2572         * SiteMapProvider.cs, XmlSiteMapProvider.cs, 
2573         SiteMapProviderCollection.cs: IProvider does not exist any
2574         more, it is now ProviderBase.
2575         * ISiteMapProvider.cs: Deleted.
2576         * ParserErrorCollection.cs, ParserError.cs, SiteMapResolveEventArgs.cs:
2577           Implemented.
2578         * SiteMap.cs: Minor fixes.      
2579
2580 2004-11-15 Lluis Sanchez Gual <lluis@novell.com>
2581
2582         * SiteMapProviderCollection.cs: Fixed warning.
2583         * HttpApplication.cs: Added new 2.0 events.
2584
2585 2004-11-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2586
2587         * HttpResponse.cs: added internl SetHeadersSent.
2588         * HttpRuntime.cs: don't throw the 'headers already sent' exception
2589         if we're sending a runtime error.
2590
2591 2004-11-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2592
2593         * HttpApplication.cs: undo the TimeoutManager.(Add|Remove) shuffling.
2594         It causes troubles under heavy load.
2595
2596 2004-11-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2597
2598         * SiteMap.cs: don't lock on Type.
2599         * CapabilitiesLoader.cs: avoid 2 locks when loading data.
2600
2601 2004-11-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2602
2603         * HttpRequest.cs: patch by Dennis Gervalle that fixes PhysicalPath in
2604         presence of rewriting.
2605
2606 2004-10-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2607
2608         * HttpApplication.cs: don't hang if a sync step is aborted. Fixes the
2609         system.web portion of bug #68270.
2610
2611 2004-10-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2612
2613         * TraceContext.cs: don't cast to Page is the handler it's
2614         not a page.
2615
2616 2004-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2617
2618         * HttpRequest.cs: CurrentExecutionFilePath is the one that
2619         changes when Transfer or Execute are used, not FilePath.
2620
2621         * HttpServerUtility.cs: moved form saving/restoring from
2622         Transfer to Execute, as it's needed there too. the query string is
2623         correctly set now. Fixes bug #67388.
2624
2625         * HttpContext.cs: use SetCurrentExePath instead of SetFilePath.
2626
2627 2004-10-03 Ben Maurer  <bmaurer@ximian.com>
2628
2629         * HttpResponse.cs: use UtcNow
2630
2631 2004-10-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2632
2633         * HttpResponse.cs: SuppressContent does not throw and clears all the
2634         buffered output. Fixes bug #67213.
2635
2636 2004-09-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2637
2638         * HttpUtility.cs: UrlPathEncode is static. Fixes bug #67155.
2639
2640 2004-09-29 Ben Maurer  <bmaurer@ximian.com>
2641
2642         * HttpContext.cs, TimeoutManager: Use DateTime.UtcNow.
2643
2644 2004-09-25 Ben Maurer  <bmaurer@ximian.com>
2645
2646         * HttpApplication.cs: Make sure requests are removed from
2647         the timeout manager. Fixes a major leak. #66751.
2648
2649 2004-09-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2650
2651         * HttpApplicationFactory.cs:
2652         * HttpRuntime.cs: implemented UnloadAppDomain and be ready for domain
2653         unloading.
2654
2655 2004-09-12 Ben Maurer  <bmaurer@ximian.com>
2656
2657         * HttpContext.cs: use CallContext. It is a little bit faster.
2658
2659 2004-09-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2660
2661         * HttpStaticObjectsCollection.cs: don't share static session objects
2662         declared in the application file across the application, but on a
2663         per-session basis. Fixes bug #65446.
2664
2665 2004-09-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2666
2667         * HttpServerUtility.cs: in Transfer(path), don't keep form data if
2668         the transfer is done from inside a page that received a postback.
2669         Fixes bug #65613.
2670
2671 2004-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2672
2673         * HttpValueCollection.cs: fixed signature of ToString (). Closes bug
2674         #65392.
2675
2676 2004-09-06 Ben Maurer  <bmaurer@users.sourceforge.net>
2677
2678         * HttpWriter.cs (.ctor): Dont create teh StreamWriter twice
2679         (Clear): Don't recreate the MemoryStream and StreamWriter
2680
2681 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2682
2683         * HttpApplication.cs: only add/remove to/from the timeout
2684         manager when we're in a interruptible step.
2685
2686 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2687
2688         * TraceContext.cs: when IsEnabled has not been set, return the value
2689         from the TraceManager. Fixes bug #63469.
2690
2691 2004-08-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2692
2693         * HttpRuntime.cs: initialize the response writer when finishing a
2694         request because it cannot be queued. Under heavy load we made new
2695         requests be processed before the ones that might be queued. This is
2696         no longer the case.
2697
2698         * QueueManager.cs: instead of queueing/dequeuing separately, we now
2699         have a single method that does everything needed to decide which one
2700         will be the next request processed.
2701
2702 2004-08-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2703
2704         * HttpRuntime.cs: removed initializations to null in .cctor. Prevent
2705         other requests from avoiding the lock if they are received before the
2706         configuration system is inited. Ensure that the queue manager is not
2707         null before using it (it can be null while the first request is being
2708         processed).
2709
2710 2004-08-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2711
2712         * HttpServerUtility.cs: ensure we have a full virtual path for the
2713         request being executed.
2714
2715 2004-08-02  Duncan Mak  <duncan@ximian.com>
2716
2717         * ApplicationShutdownReason.cs: Fixed typos.
2718
2719         * HttpCookieMode.cs:
2720         * HttpDataTransferMode.cs:
2721         * HttpRequestPriority.cs: Added [Serializable] attribute.
2722         
2723 2004-08-02  Duncan Mak  <duncan@ximian.com>
2724
2725         * ApplicationShutdownReason.cs:
2726         * HttpCookieMode.cs:
2727         * HttpDataTransferMode.cs:
2728         * HttpRequestPriority.cs: Added 2.0 enumerations.
2729         
2730 2004-07-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2731
2732         * HttpApplication.cs: the file not found might be a dependency.
2733
2734 2004-07-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2735
2736         * HttpCookie.cs: use invariant when formatting expires date. Fixes bug
2737         #61690.
2738
2739 2004-07-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2740
2741         * HttpApplication.cs: don't keep the session around if we got it from
2742         the context. Fixes bug #61232.
2743
2744 2004-07-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2745
2746         * HttpUtility.cs: fixed stupid bug in UrlDecode from bytes. Closes bug
2747         #61181.
2748
2749 2004-07-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2750
2751         * TraceContext.cs: added internal HaveTrace property whose
2752         value is true when the page has a Trace attribute.
2753
2754 2004-06-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2755
2756         * TraceData.cs: fixed <br> output. Closes bug #60181.
2757
2758 2004-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2759
2760         * HttpUtility.cs: check for control characters in the string to encode
2761         or decode and return the same string if there are none.
2762
2763 2004-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2764
2765         * HttpApplication.cs: change/restore the IPrincipal in their own methods
2766         and make them internal.
2767
2768 2004-06-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2769
2770         * HttpContext.cs: reverting Pedro's patch and sending mail with test
2771         to mono-devel.
2772
2773 2004-06-09  Pedro Martnez Juli  <yoros@wanadoo.es>
2774
2775         * HttpContext: User property returns its own "user" value because
2776         the context can walk through different Threads. When "User" property
2777         is changed, change "Thread.CurrentPrincipal" too.
2778
2779 2004-06-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2780
2781         * HttpRequest.cs: removed extra ^Ms and fixed style of last patch.
2782
2783 2004-06-08  Alon Gazit  <along@mainsoft.com>
2784
2785         * HttpRequest.cs: Add a patch for HttpRequest.ServerVariables.
2786
2787 2004-06-07  Sebastien Pouliot  <sebastien@ximian.com>
2788
2789         * HttpContext.cs: User property now get/set Thread.CurrentPrincipal.
2790         Fix (at least partially) #59683.
2791
2792 2004-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2793
2794         * HttpRequest.cs: reverting patch from Alon Gazit. Uses the above file
2795         that doesn't compile.
2796
2797 2004-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2798
2799         * TraceData.cs: fixes nullref in an application that relies on
2800         r ["Message"] not being null. Closes bug #59679.
2801
2802 2004-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2803
2804         * HttpCachePolicy.cs: implemented SetAllowResponseInBrowserHistory.
2805
2806 2004-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2807
2808         * HttpRuntime.cs: implemented a 5 simple properties that were TODOs.
2809
2810 2004-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2811
2812         * HttpBrowserCapabilities.cs: implemented ClrVersion and GetClrVersions.
2813         * HttpException.cs: removed MonoTODO.
2814
2815 2004-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2816
2817         * TraceContext.cs: don't check if HttpRuntime.TraceManager
2818         is enabled when writing.
2819
2820 2004-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2821
2822         * HttpRequest.cs: added ClientTarget internal property.
2823
2824 2004-06-03  Lluis Sanchez Gual <lluis@ximian.com>
2825
2826         * HttpApplication.cs: Clear the http handler list after releasing the
2827           handlers.
2828
2829 2004-06-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2830
2831         * TraceData.cs: html-encode the messages written to the trace. Fixes
2832         bug #59431.
2833
2834 2004-06-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2835
2836         * HttpWorkerRequest.cs: the hashtables are now case-insensitive. Thanks
2837         to Markus Krutner.
2838
2839 2004-05-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2840
2841         * HttpRequest.cs: nullify _sRequestRootVirtualDir and baseVirtualDir
2842         when SetFilePath is called. This way the cached values are reset and
2843         get the right value in case someone (namely SessionStateModule + 
2844         cookieless session) changes the FilePath after the property cached its
2845         value. Fixes bug #59364.
2846
2847 2004-05-27      Patrik Torstensson <totte@hiddenpeaks.com>
2848
2849         * HttpApplicationFactory.cs: Added SignalError (still todo)
2850
2851 2004-05-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2852
2853         * HttpResponse.cs: remove hardcoded "HTTP/1.0" version that kept
2854         chunked encoding disabled. Fixed chunked suffix and end. Send the
2855         'lastchunk' marked when in the final Flush even if the content length
2856         is 0. This makes mod-mono-server work fine with chunked encoding.
2857          
2858         * HttpRuntime.cs: Set the _firstRequest* variables to true
2859         earlier. TraceContext don't take any parameter now.
2860
2861         * TraceManager.cs: don't need a context. Use GetAppConfig.
2862
2863 2004-05-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2864
2865         * HttpApplication.cs: set culture/uiculture from configuration and
2866         restore it after each step. Fixes bug #52851.
2867
2868 2004-05-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2869
2870         * HttpUtility.cs: use lower case in UrlEncode like MS does. Delay
2871         entities hashtable creation until it's really needed.
2872
2873 2004-05-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2874
2875         * HttpApplicationFactory.cs: if no module matches the name found for a
2876         possible event, ignore it. Fixes bug #58542.
2877
2878 2004-05-16      Patrik Torstensson <totte@hiddenpeaks.com>
2879
2880         * HttpRuntime (Init): Removed old todo
2881         * HttApplication : Implemented IHttpHandlerFactory recycling
2882         
2883 2004-04-28      Patrik Torstensson
2884
2885         * HttpApplicationState.cs: Performance, usage of ReaderWriter lock,
2886         removed MonoTodo
2887
2888 2004-04-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2889
2890         * HttpUtility.cs: return null in HtmlDecode for null input instead of
2891         throwing an exception. Patch by Jan Jaros (bug #57083).
2892
2893 2004-04-10  Vladimir Vukicevic  <vladimir@pobox.com>
2894
2895         * TimeoutManager.cs: Swap the order of initialization of contexts
2896         and the Timer, to avoid race condition of CheckTimeouts being called
2897         before contexts gets initialized.
2898
2899 2004-03-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2900
2901         * HttpRequestStream.cs: patch from Jan Jaros that fixes bug #56080.
2902         Now the posted file content does not have the boundaries and headers
2903         included.
2904
2905 2004-03-25  Alon Gazit <along@mainsoft.com>
2906
2907         * HttpRequest.cs: fix ValidateCookieCollection() to prevent
2908         InvalidCastException.
2909
2910 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2911
2912         * HttpValueCollection.cs: don't UrlDecode cookies. Fixes bug #55254.
2913
2914 2004-03-01  Larry Ewing  <lewing@ximian.com>
2915
2916         * HttpUtility.cs: fix UrlEncodeToBytes count check.
2917
2918 2004-02-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2919
2920         * HttpServerUtility.cs:
2921         * HttpUtility.cs: added some checks for null. Fixed UrlPathEncode (bug
2922         #53670).
2923
2924 2004-02-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2925
2926         * HttpUtility.cs: fixed length check. Closes bug #54201.
2927         Thanks to Michal Moskal. Use MemoryStream instead of an ArrayList when
2928         decoding.
2929
2930 2004-02-11  Jackson Harper <jackson@ximian.com>
2931
2932         * TraceData.cs: Use ToString for cookie/header/var name values so
2933         null is handled properly.
2934         
2935 2004-02-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2936
2937         * HttpApplication.cs: ApplicationState is inited by the factory so,
2938         return that value in the property. when we use the context Session,
2939         cache it in the instance field.
2940
2941         * HttpApplicationFactory.cs: fixed target Type for the event when
2942         hooking application and module events. Initialize application
2943         and session scope objects. Fixes non-aplication events hook up.
2944
2945         * HttpStaticObjectsCollection.cs: added StaticItem and delay the
2946         creation of the objects until they are requested.
2947
2948 2004-01-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2949
2950         * HttpApplicationFactory.cs: fixlet for session events hook.
2951
2952 2004-01-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2953
2954         * HttpApplicationFactory.cs: attach all events from Type and BaseType
2955         at the same time. Fixes bug #53454.
2956
2957 2004-01-27  Jackson Harper <jackson@ximian.com>
2958
2959         * HttpCachePolicy.cs: varybyparams::GetResponseHeader can return
2960         null now, dont hadd the header if it does.
2961         * HttpCacheVaryByParams.cs: Return null if there are no items.
2962
2963 2004-01-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2964
2965         * HttpCachePolicy.cs: it's not public.
2966         * HttpRuntime.cs: wait for requests before disposing the queue.
2967
2968 2004-01-15  Jackson Harper <jackson@ximian.com>
2969
2970         * HttpCachePolicy.cs: Fix typo causing varyby params headers to be
2971         created when they shouldn't be.
2972         
2973 2004-01-14  Jackson Harper <jackson@ximian.com>
2974
2975         * TraceData.cs: Fix some typos in the output text. Fix control
2976         position when adding controls recursively.
2977         
2978 2004-01-14  Jackson Harper <jackson@ximian.com>
2979
2980         * HttpCachePolicy.cs: Expose duration and sliding properties.
2981         
2982 2004-01-14  Jackson Harper <jackson@ximian.com>
2983
2984         * HttpCachePolicy.cs: Add an event that is fired when the
2985         cacheability is updated. The response uses this to determine
2986         whether or not it needs to cache itself.
2987         * HttpResponse.cs: When the cacheability is updated either create
2988         or dispose of the cached raw response based on whether or not we
2989         wil need it. This allows output caching to be controlled
2990         programatically.
2991         
2992 2004-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2993
2994         * HttpContext.cs: add setter for ConfigTimeout.
2995         * HttpException.cs: added Description property and HTML encode some
2996         unescaped values.
2997
2998         * HttpRequest.cs: support request validation.
2999
3000         * HttpRequestValidationException.cs: added message and description.
3001
3002         * HttpServerUtility.cs: implemented ScriptTimeout.
3003
3004 2004-01-11  Jackson Harper <jackson@ximian.com>
3005
3006         * TraceManager.cs: Dont crash if there is no trace config element.
3007         
3008 2004-01-11  Jackson Harper <jackson@ximian.com>
3009
3010         * HttpRequest.cs: Add property for determining if the request is
3011         local or not.
3012         
3013 2004-01-10  Jackson Harper <jackson@ximian.com>
3014
3015         * TraceContext.cs: Handle tracing when it is enabled in the config
3016         file but not on the page.
3017         * TraceManager.cs: Get settings from the configuration object.
3018         * HttpRuntime.cs: Create trace manager in the first request start
3019         so it can get configuration settings.
3020         
3021 2004-01-10  Jackson Harper <jackson@ximian.com>
3022
3023         * TraceContext.cs: Save the request path in the trace data.
3024         * TraceData.cs: Add RequestPath property, make some rendering
3025         methods internal static so the TraceHandler can use them.
3026         * TraceManager.cs: Expose trace data, add a method for clearing
3027         trace data.
3028         
3029 2004-01-10  Jackson Harper <jackson@ximian.com>
3030
3031         * HttpRuntime.cs: Add trace manager
3032         * TraceManager.cs: New class for handling trace configuration and
3033         storing trace data objects.
3034         * TraceContext.cs: Save trace data to the trace manager. Fix typo.
3035         
3036 2004-01-10  Jackson Harper <jackson@ximian.com>
3037
3038         * TraceData.cs: New class for storing trace data. Data is stored
3039         here instead of the trace context so it can be saved and accessed
3040         from the trace handler.
3041         * TraceContext.cs: Save data in the TraceData object, let the
3042         trace data object handle the rendering.
3043         
3044 2004-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3045
3046         * HttpRequest.cs: use ContentEncoding for QueryString. Fixes bug #52577.
3047         Thanks to Jan Jaros (mono-bug@jerryweb.info).
3048
3049         * HttpRequestValidationException.cs: fix comment.
3050
3051 2004-01-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3052
3053         * HttpException.cs: default to error 500. Fixes bug #52623.
3054
3055 2004-01-04  Jackson Harper <jackson@ximian.com>
3056
3057         * TraceContext.cs: Store and render trace info times. Also render
3058         cookie sizes. Remove debug code.
3059         
3060 2004-01-04  Jackson Harper <jackson@ximian.com>
3061
3062         * HttpResponse.cs: Set the cached response date header so it can
3063         be updated.
3064         * HttpResponseHeader.cs: Let values be set so we can update cached 
3065         response header values.
3066         
3067 2004-01-04  Jackson Harper <jackson@ximian.com>
3068
3069         * HttpResponse.cs: Implement RemoveOutputCacheItem.
3070         
3071 2004-01-04  Jackson Harper <jackson@ximian.com>
3072
3073         * HttpCachePolicy.cs: Add internal method to get the vary by custom string
3074         * HttpCacheVaryByHeaders.cs: Add internal method to get the header names.
3075         
3076 2004-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3077
3078         * HttpRuntime.cs: implemented MachineConfigurationDirectory,
3079
3080 2004-1-1  Alon Gazit <along@mainsoft.com>
3081         * HttpWriter.cs: add check in Write() in order to prevent
3082         NullReferenceException.
3083
3084 2004-1-1  Alon Gazit <along@mainsoft.com>
3085         * HttpResponse.cs: implemented ExpiresAbsolute and Expires.
3086
3087 2003-12-18  Jackson Harper <jackson@ximian.com>
3088
3089         * TraceContext.cs: Write () methods are not warnings.
3090         
3091 2003-12-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3092
3093         * HttpBrowserCapabilities.cs: added GetClrVersions ().
3094         * HttpCachePolicy.cs: added SetAllowResponseInBrowserHistory ().
3095         * HttpContext.cs: added set_Current and RewritePath (s, s, s) for 1.1.
3096         * HttpRequest.cs: added set_ContentType, SetPathInfo and ValidateInput.
3097         * HttpRequestValidationException.cs: new class for 1.1
3098         * HttpResponse.cs: added RedirectLocation.
3099         * HttpRuntime.cs: added UnloadAppDomain.
3100         * HttpServerUtility.cs: Execute (s, t, b) is internal for < 1.2
3101         * HttpUtility.cs: copied UrlPathEncode from HttpServerUtility.
3102         * HttpWorkerRequest.cs: added [ComVisible] and made the ctor public.
3103
3104 2003-12-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3105
3106         * HttpContext.cs: implemented IsCustomErrorEnabled and
3107         IsDebuggingEnabled. Added internal ErrorPage property.
3108
3109         * HttpRuntime.cs: on error, check if we have a custom error page enabled
3110         to handle it and redirect.
3111
3112         * HttpResponse.cs: added RedirectCustomError (), which actually does
3113         the redirection to the error page.
3114         
3115 2003-12-16  Jackson Harper <jackson@ximian.com>
3116
3117         * TraceContext.cs: Render all the data, and the stylesheet.
3118         
3119 2003-12-16  Jackson Harper <jackson@ximian.com>
3120
3121         * TraceContext.cs: Add incomplete render method.
3122         
3123 2003-12-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3124
3125         * CapabilitiesLoader.cs: loads browser detection and capabilities data
3126         from browscap.ini file by Gary J. Keith.
3127
3128         * HttpBrowserCapabilities.cs: removed almost all TODOs.
3129
3130         * HttpRequest.cs: fixed Browser property.
3131
3132 2003-12-15  Jackson Harper <jackson@ximian.com>
3133
3134         * TraceContext.cs: Initial implementation of storing data.
3135         * HttpContext.cs: Create and expose a trace object.
3136         
3137 2003-12-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3138
3139         * HttpApplication.cs: ThreadAbortException is ok on Redirect.
3140         * HttpContext.cs: added TimeoutPossible property.
3141         * HttpResponse.cs: throw ThreadAbortException if End () is called within
3142         a step in which is possible to timeout.
3143
3144         Fixes bug #51703.
3145
3146 2003-12-04  Jackson Harper <jackson@ximian.com>
3147
3148         * HttpRequest.cs: Cleanup method.
3149         
3150 2003-12-04  Jackson Harper <jackson@ximian.com>
3151
3152         * HttpValueCollection.cs: Allow blank value names. Posting
3153         <blank>=SomeValue is valid. And occurs if a radio button does
3154         not have its name set.
3155         
3156 2003-12-03  Jackson Harper <jackson@ximian.com>
3157
3158         * HttpResponse.cs: Actually apply an app path modifier in
3159         ApplyAppPathModifer and add a method to set the app path modifier.
3160         * HttpRequest.cs: Add utility method for setting a request header.
3161         
3162 2003-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3163
3164         * HttpApplication.cs: handle FileNotFound and DirectoryNotFound
3165         exceptions when creating the handler to generate a better error page.
3166
3167         * HttpException.cs: display the http_code if available.  Changed all
3168         \n by \r\n to make the hidden stack trace readable.
3169         
3170         * StaticFileHandler.cs: don't send the real path in th eerror.
3171
3172 2003-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3173
3174         * HttpContext.cs: updated GetConfig and GetAppConfig to new API.
3175         
3176         * HttpResponse.cs: separate initialization of the HttpWriter, as it
3177         tries to read configuration settings while the config. system is not
3178         available (ie, before the first request).
3179         
3180         * HttpRuntime.cs: delayed queueManager and response writer
3181         initialization until the configuration system is working.
3182
3183 2003-11-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3184
3185         * HttpRuntime.cs: added request queue handling.
3186
3187         * QueueManager.cs: simple request queue.
3188         
3189         * TimeoutManager.cs: added some locks to prevent the enumerator used in
3190         CheckTimeouts to be out of synch.
3191
3192 2003-11-25  Jackson Harper <jackson@ximian.com>
3193
3194         * HttpStaticObjectsCollection.cs: Add methods for serialization
3195         and conversion to/from byte arrays.
3196         
3197 2003-11-21  Jackson Harper <jackson@ximian.com>
3198
3199         * HttpResponse.cs: When caching data set the content length in the
3200         cached repsonse so that only that amount will be written back to
3201         the client. Add method to write a range of binary data.
3202         * HttpCacheVaryByParams.cs: Add method to retrieve param names.
3203         
3204 2003-11-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3205
3206         * HttpApplication.cs:
3207         * HttpContext.cs:
3208         * HttpRuntime.cs: add timeout handling.
3209         * TimeoutManager.cs: new class that takes care of aborting threads on
3210         timeout.
3211
3212 2003-11-19  Jackson Harper <jackson@ximian.com>
3213
3214         * HttpWriter.cs: Use a constant for the buffer size so the cache
3215         can get the buffer size. Add method to get the buffer.
3216         * HttpResponse.cs: Methods for getting data to cache, and setting
3217         vars from the cache.
3218         * HttpCachePolicy.cs: Expose a pages cache expire time.
3219         
3220 2003-11-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3221
3222         * HttpResponse.cs: 
3223         * HttpWriter.cs: some fixes to allow closing a response stream without
3224         messing the rest.
3225
3226 2003-11-13  Jackson Harper  <jackson@ximian.com>
3227
3228         * HttpCachePolicy.cs: Make sure cacheability and maxage get
3229         set. Add method to set Http response header data
3230         * HttpCacheVaryByParams.cs: Add method to create a response header.
3231         * HttpCacheability.cs: Add ServerAndPrivate and ServerAndNoCache.
3232         * HttpResponse.cs: Set cache headers.
3233         
3234 2003-11-11 Ben Maurer  <bmaurer@users.sourceforge.net>
3235
3236         * HttpModuleCollection.cs (GetKey): Recursion, again!
3237
3238 2003-11-11 Ben Maurer  <bmaurer@users.sourceforge.net>
3239
3240         * HttpClientCertificate.cs (ValidUntil): recursion!
3241
3242 2003-11-08 Ben Maurer  <bmaurer@users.sourceforge.net>
3243
3244         * SiteMapNode.cs (GetDataSourceView): Implement.
3245         * SiteMapProvider.cs: Typo fixing.
3246         * XmlSiteMapProvider.cs: We shouldnt resolve here.
3247         
3248 2003-11-08 Ben Maurer  <bmaurer@users.sourceforge.net>
3249
3250         * SiteMap.cs (Init): implement a hack that doesnt need the config
3251         stuff. Should do that later.
3252         * SiteMapNodeCollection (OnValidate): Fix recursion.
3253         * SiteMapProvider.cs: We dont implement some culture stuff work
3254         around it. Fix typo.
3255         * XmlSiteMapProvider.cs: Added.
3256         
3257 2003-11-07 Ben Maurer  <bmaurer@users.sourceforge.net>
3258
3259         * ISiteMapProvider.cs:
3260         * SiteMap.cs:
3261         * SiteMapNode.cs:
3262         * SiteMapNodeCollection.cs:
3263         * SiteMapProvider.cs:
3264         * SiteMapProviderCollection.cs: V2 sitemap related stuff.
3265
3266 2003-11-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3267
3268         * HttpRequest.cs: don't attempt to read more bytes than specified
3269         content length.
3270
3271 2003-11-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3272
3273         * HttpRequest.cs:
3274         * HttpResponse.cs:
3275         * HttpUtility.cs:
3276         * HttpValueCollection.cs: encoding fixes/updates.
3277
3278         * HttpWriter.cs: when updating the encoding, flush the existing stream.
3279         Encoding updates.
3280
3281 2003-11-04 Ben Maurer  <bmaurer@users.sourceforge.net>
3282
3283         * HttpContext.cs (IsCustomErrorEnabled): dont throw exception, just
3284         return false (which makes sense, as the custom errors *arent* enabled;
3285         ie they dont work.
3286         * HttpResponseStream.cs: you actually can write with len = 0
3287
3288 2003-11-03 Jackson Harper <jackson@ximian.com>
3289
3290         * HttpResponse.cs (ContentEncoding): Throw
3291         ArgumentNullException. Patch by Yaron Shkop.
3292         
3293 2003-10-30  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
3294
3295         * HttpMultipartContentParser.cs : Quick fix for cygwin build. 
3296           CSC complains that constant char cannot be casted as byte.
3297
3298 2003-10-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3299
3300         * HttpApplication.cs: added AssemblyLocation property.
3301
3302 2003-10-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3303
3304         * HttpApplicationFactory.cs: use NoParamsInvoker.
3305         * HttpRequest.cs: support request filters.
3306         * HttpRequestStream.cs: mono-stylized and added new Set method.
3307
3308         * NoParamsInvoker.cs: proxy class to invoke user-provided methods
3309         without parameters that are invoked by EventHandlers.
3310
3311 2003-10-13  Lluis Sanchez Gual <lluis@ximian.com>
3312
3313         * HttpResponse.cs: Changed harcoded switch to en-US culture to a switch
3314           to invariant culture.
3315
3316 2003-10-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3317
3318         * HttpResponse.cs:
3319         * HttpServerUtility.cs: change the response writer in Execute. Thanks
3320         to Rich Alimi <rich@velvetsea.net> for noticing this.
3321
3322 2003-10-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3323
3324         * HttpApplicationFactory.cs: support for wiring up events without
3325         parameters.
3326
3327 2003-10-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3328
3329         * HttpUtility.cs: small memory usage reduction.
3330
3331 2003-10-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3332
3333         * HttpApplication.cs: pass the Uri, not the file path to
3334         when looking for a handler.
3335
3336 2003-09-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3337
3338         * HttpRequest.cs: small fix needed when reading big POST data.
3339
3340 2003-09-04  Lluis Sanchez Gual <lluis@ximian.com>
3341
3342         * HttpRequest.cs: Url property: use GetLocalAddress() to get the address
3343           (this will get the address from the request headers).
3344
3345 2003-09-04  Lluis Sanchez Gual <lluis@ximian.com>
3346
3347         * HttpServerUtility.cs: In Transfer(), preserve the query string if
3348           told to do so.
3349
3350 2003-08-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3351
3352         * HttpApplication.cs: ensure we do all the EndRequest steps. Don't
3353         filter the output on error.
3354         
3355         * HttpResponse.cs: modified DoFilter to allow bypassing filtering.
3356
3357 2003-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3358
3359         * HttpApplication.cs: when the request is completed or an
3360         error happens, execute all the delegates attached to EndRequest, not
3361         only the last one. This makes xsp/test/authtest work again.
3362         
3363         * HttpMethodNotAllowedHandler.cs: fixed description for http
3364         status code.
3365
3366 2003-08-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3367
3368         * HttpRequest.cs: quick way of checking that the path is within the
3369         root for the application. Thanks to Johannes for reporting.
3370         
3371         * HttpRuntime.cs: use the status code from teh exception when it'ss a
3372         HttpException.
3373
3374         * StaticFileHandler.cs: forbidden is 403.
3375
3376 2003-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3377
3378         * HttpServerUtility.cs: fixed path and query. Path by Rich Alimi
3379         <rich@velvetsea.net>.
3380
3381 2003-08-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3382
3383         * HttpException.cs: make the unhandled error more like the MS one.
3384         * HttpRuntime.cs: set a 500 error code on unhandled exceptions.
3385
3386 2003-08-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3387
3388         * HttpResponse.cs: flush headers when the body length is 0.
3389         * StaticFileHandler.cs: added If-Modified-Since handling patch slightly
3390         modified from the original by Piers Haken <piersh@friskit.com>.
3391
3392 2003-08-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3393
3394         * HttpResponse.cs: another patch from totte and me. This one prevents
3395         writing output if the client have disconnected and filters the data
3396         when there's a non-final Flush in the middle of the process.
3397
3398 2003-08-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3399
3400         * HttpApplication.cs: fixed typos. Closes bug #44197.
3401
3402 2003-08-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3403
3404         * HttpApplication.cs:
3405         * HttpApplicationFactory.cs: fix duplicate application OnStart events.
3406
3407         Patch by Patrik Torstensson.
3408
3409 2003-08-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3410
3411         * HttpApplicationFactory.cs: use the correct Delegate.CreateDelegate
3412         overload. The previous one only admits static methods.
3413
3414 2003-08-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3415
3416         * ProcessModelInfo.cs: Fixed signature
3417
3418 2003-07-30  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3419
3420         * WebCategoryAttribute.cs: Implemented localization
3421         * WebSysDescriptionAttribute.cs: Implemented localization
3422
3423 2003-07-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3424
3425         * HttpRuntime.cs: also clear the headers that may have been set upon
3426         error processing the request.
3427
3428 2003-07-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3429
3430         * HttpResponseStreamProxy.cs: reformatted. Fixed infinite recursion in
3431         Write method.
3432
3433         * HttpWriter.cs: flush the filter after writing.
3434
3435 2003-07-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3436
3437         * HttpWriter.cs: avoid duplicating the MemoryStream byte buffer.
3438
3439 2003-07-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3440
3441         * HttpContext.cs: Session doesn't have a setter.
3442
3443         * HttpResponse.cs: Request is private.
3444
3445 2003-07-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3446
3447         * HttpRequest.cs: fixed Headers property. It was getting known headers
3448         values instead of known headers names.
3449
3450 2003-07-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3451
3452         * HttpApplication.cs: prevent nullref if an error happens before context
3453         is set.
3454         * HttpException.cs: small fix in the stack trace sent.
3455         * HttpUtility.cs: the lock is not needed.
3456
3457 2003-06-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3458
3459         * HttpRequest.cs: added REMOTE_PORT.
3460         * HttpValueCollection.cs: fixed bug #45490.
3461
3462 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3463
3464         * HttpApplication.cs:
3465         * HttpApplicationFactory.cs: fire application start and session
3466         start/end events.
3467
3468 2003-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3469
3470         * HttpException.cs: encode as HTML the inner exception that
3471         is appended as a comment at the end of error pages.
3472
3473 2003-05-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3474
3475         * HttpWriter.cs: don't do anything in Flush. Fixes #42249.
3476
3477 2003-05-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3478
3479         * HtmlizedException.cs: added more virtual methods.
3480
3481         * HttpException.cs:  some work on the output when there's a source
3482         file present.
3483
3484 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3485
3486         * HtmlizedException.cs: simplified to cope with the new interface.
3487
3488         * HttpApplicationFactory.cs: use the application file parser to get the 
3489         application Type.
3490         
3491         * HttpException.cs: small changes. Needs some more work on
3492         ParseExceptions.
3493         
3494 2003-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3495
3496         * HttpRequest.cs: fixed Url property.
3497
3498 2003-03-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3499
3500         * HtmlizedException.cs:
3501         * HttpException.cs: display the correct line number in error messages.
3502
3503 2003-03-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3504
3505         * HttpCachePolicy.cs: implemented all TODOs.
3506         * HttpRequestStream.cs: make it internal.
3507
3508 2003-03-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3509
3510         * HttpContext.cs: implemented RewritePath in other way.
3511         * HttpRequest.cs: removed SetPhysicalPath and added SetForm.
3512         * HttpServerUtility.cs: implemented Transfer (string, bool).
3513
3514 2003-03-16  Daniel Lopez Ridruejo <daniel @ rawbyte.com>
3515         * HttpContext.cs : Implemented RewritePath
3516         * HttpRequest.cs : Added internal function SetPhysicalPath
3517
3518 2003-03-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3519
3520         * HttpServerUtility.cs: implemented Transfer ().
3521
3522 2003-03-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3523
3524         * HttpRuntime.cs: Cache no longer have a Dispose method.
3525
3526         * HttpServerUtility.cs: removed MonoTODO.
3527
3528 2003-03-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3529
3530         * HttpHelper.cs: store the values in an ArrayList to get them in correct
3531         order.
3532
3533 2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3534
3535         * HttpApplicationFactory.cs: Global.asax takes precedence over
3536         global.asax if it exists.
3537
3538         * HttpRequest.cs: use allowCrossAppMapping in MapPath.
3539
3540 2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3541
3542         * HttpApplication.cs: CreateHttpHandler is now internal.
3543
3544         * HttpRequest.cs: allow setting QueryStringRaw, which
3545         invalidates the data obtained from the previous value. Added internal
3546         SetFilePath method.
3547
3548         * HttpServerUtility.cs: implemented Execute and GetLastError.
3549
3550 2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3551
3552         * HttpServerUtility.cs: style.
3553
3554 2003-02-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3555
3556         * HttpApplication.cs: only execute the EndRequest step on error
3557         condition or request marked as completed. This prevent page events from
3558         being called when, for example, the url authorization module forbids
3559         the request.
3560
3561 2003-02-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3562
3563         * HttpRequest.cs: implemented the indexer.
3564
3565 2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3566
3567         * HtmlizedException.cs: base class for exceptions that makes it easy to
3568         generate error pages.
3569
3570         * HttpException.cs: improved error displaying.
3571
3572         * HttpRuntime.cs: removed debugging output.
3573
3574 2003-02-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3575
3576         * HttpApplication.cs: display the error instead of hanging when we get
3577         any error before the last step of the request.
3578
3579 2003-02-04  Tim Haynes <thaynes@openlinksw.com>
3580
3581         * HttpApplicationFactory.cs: fixed HttpRuntime.Close() to decrement
3582         instance counter.
3583
3584 2003-01-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3585
3586         * HttpRequest.cs: added BaseVirtualDir property and use it in MapPath.
3587
3588 2003-01-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3589
3590         * HttpRequest.cs: implemented CurrentExecutionFilePath.
3591
3592 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3593
3594         * HttpApplication.cs: keep _lasterror if no context. Attach
3595         application events *after* modules initialization (if not, User is not
3596         set when the user handler is called).
3597         
3598         * HttpApplicationFactory.cs: made all methods related to
3599         AttachEvents static. I will fix OnStart/OnEnd for application and
3600         session later.
3601         
3602         * HttpRequest.cs: don't initialize cookies twice.
3603
3604 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3605
3606         * HttpResponse.cs:
3607         (ApplyAppPathModifiers): return the root directory for "".
3608
3609 2003-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3610
3611         * HttpUtility.cs: fixed HtmlDecode to avoid ArgumentOutOfRangeException.
3612
3613 2003-01-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3614
3615         * HttpApplication.cs: added new state to handle default authentication.
3616
3617 2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3618
3619         * HttpContext.cs: removed hack to get the User.
3620
3621 2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3622
3623         * HttpUtility.cs: fixed bug #36038. Thanks to juancri@tagnet.org for
3624         reporting the bug and how to fix it.
3625
3626 2002-12-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3627
3628         * HttpCookie.cs: send 'expires' in the header.
3629
3630 2002-12-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3631
3632         * HttpValueCollection.cs: patch from Botjan Vizin 
3633         <bostjan.vizin@siol.net> that implements ToString (bool).
3634
3635 2002-12-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3636
3637         * HttpApplicationFactory.cs: add the context as parameter when building
3638         the application Type.
3639         
3640         * HttpCookie.cs: new internal constructor.
3641         * HttpCookieCollection.cs: new internal method to make a cookie expire.
3642
3643         * HttpRequest.cs: MapPath fixes.
3644         * HttpResponse.cs: implemented ApplyAppPathModifier.
3645         * HttpRuntime.cs: fixed typo in AppDomainAppVirtualPath.
3646
3647 2002-12-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3648
3649         * HttpContext.cs: hack to create a default user when there's no one.
3650         Implemented GetConfig (string).
3651
3652         * HttpRequest.cs: fixes to MapPath (string).
3653
3654 2002-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3655
3656         * HttpRuntime.cs: avoid nulls and exception when getting resource
3657         format strings.
3658
3659         * StaticFileHandler.cs: added file name to error message.
3660
3661 2002-12-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3662
3663         * HttpResponse.cs: avoid sending chunked content for HTTP/1.1.
3664
3665 2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3666
3667         * HttpApplicationFactory.cs: get the events from the application class,
3668         fire Application/Session Start/End and add the others as application
3669         events.
3670
3671 2002-11-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3672
3673         * HttpApplicationFactory.cs: compile global.asax file if it exists.
3674
3675 2002-11-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3676
3677         * HttpRequest.cs: provide a default Browser until we detect it.
3678         * HttpResponse.cs:
3679         (End): do not close the connection here.
3680         (Flush (bool)): send the headers when, for example, Redirect () is
3681         called.
3682
3683 2002-11-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3684
3685         * HttpException.cs: simple error output.
3686
3687 2002-11-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3688
3689         * HttpApplication.cs: style.
3690         * HttpException.cs: style.
3691         * HttpRuntime.cs: only flush the response if there are no errors.
3692         Otherwise, write an error output.
3693         * HttpWriter.cs: change Unicode to UTF8.
3694
3695 2002-11-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3696
3697         * HttpApplication.cs: don't begin the request using ExecuteNextAsync
3698         (it fails to work on NetServ).
3699
3700         * HttpWorkerRequest.cs: typo.
3701
3702 2002-11-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3703
3704         * HttpValueCollection.cs: the value may contain trailing '=' as it is
3705         UrlEncoded. Don't split name=value based on '='.
3706
3707 2002-11-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3708
3709         * HttpCookie.cs: made GetCookieHeader internal.
3710
3711         * HttpRequest.cs: get cookies from request.
3712
3713         * HttpResponse.cs: send cookies. Implemented
3714         AddFileDependencies (). Added check for _Writer == null in Flush
3715         (Patrik ;-). Clear the content if HEAD or SupressContent == true.
3716         Removed redirect hack used in old server.
3717
3718 2002-10-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3719
3720         * HttpRequest.cs: fixed GetRawContent (). Now it only tries to read at
3721         most ContentLength bytes.
3722
3723         * HttpResponse.cs: now it sends the headers. Added
3724         X-Powered-By header :-).
3725
3726         * HttpRuntime.cs: fixed typo.
3727
3728         * HttpValueCollection.cs: cosmetic changes.
3729
3730 2002-10-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3731
3732         * HttpApplication.cs: reenabled a few lines of code
3733         (ThreadPool already fixed). 
3734         
3735         * HttpRequest.cs:
3736         * HttpResponse.cs:
3737         * HttpUtility.cs:
3738         * HttpValueCollection.cs:
3739         * HttpWriter.cs: Use WebEncoding.Encoding.
3740
3741 2002-10-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3742
3743         * HttpWriter.cs: changed encoding of the writer from Unicode to UTF8.
3744         This fixes sending bytes and allows mixing byte with chars.
3745
3746 2002-10-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3747
3748         * HttpResponse.cs: implemented WriteFile methods.
3749         * MimeTypes.cs: removed duplicated entries.
3750
3751 2002-10-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3752
3753         * HttpResponse.cs: don't throw exception in a couple of
3754         methods not yet implemented.
3755
3756 2002-10-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3757
3758         * HttpApplication.cs: fixed type and handle factories when creating
3759         IHttpHandler for a request.
3760
3761 2002-10-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3762
3763         * HttpApplication.cs: use handlers from configuration.
3764         * HttpContext.cs: get handlers from ConfigurationSettings.
3765
3766 2002-10-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3767
3768         * HttpMethodNotAllowedHandler.cs:
3769         * HttpRuntime.cs:
3770         * StaticFileHandler.cs: Modified file.
3771
3772         * HttpUtility.cs: implemented all missing methods.
3773
3774
3775 2002-09-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3776
3777         * System.Web/HttpApplication.cs: use the static file handler.
3778         * System.Web/HttpForbiddenHandler.cs: handler to forbid access.
3779         * System.Web/HttpMethodNotAllowedHandler.cs: handler for method not
3780         allowed.
3781         
3782         * System.Web/HttpUtility.cs: finished all UrlDecode methods.
3783         * System.Web/MimeTypes.cs: map from file extension to MIME type.
3784         * System.Web/StaticFileHandler.cs: serves static files
3785
3786 2002-09-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3787
3788         * System.Web/HttpApplication.cs:
3789         * System.Web/HttpApplicationFactory.cs:
3790         * System.Web/HttpRequest.cs:
3791         * System.Web/HttpRuntime.cs: we are now able to compile pages and use
3792         HttpApplication, HttpRuntime and SimpleWorkerRequest.
3793
3794 2002-09-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3795
3796         * HttpApplication.cs: added some missing methods.
3797         * HttpApplicationFactory.cs: get event handlers for the application.
3798         * HttpAsyncResult.cs: little fixes.
3799         * HttpRequest.cs: make Encoding work even with no worker request.
3800
3801 2002-08-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3802
3803         * HttpWorkerRequest.cs: mcs doesn't go crazy. It's just me, that forgot
3804         to add HttpMapPath to the list file...
3805
3806 2002-08-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3807
3808         * HttpWorkerRequest.cs: fixes compilation with mcs. I will add a bug
3809         report when i get a test case.
3810
3811 2002-08-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3812
3813         * HttpApplicationFactory.cs:
3814         * HttpCachePolicy.cs:
3815         * HttpResponseHeader.cs:
3816         * HttpResponseStream.cs:
3817         * HttpResponseStreamProxy.cs:
3818         * HttpValueCollection.cs: misc. fixes based on class status page.
3819
3820         * IHttpMapPath.cs: New file.
3821
3822         * HttpRequest.cs: implemented ContentEncoding.
3823         * HttpWorkerRequest.cs: mono-stylized and implemented
3824         SendResponseFromMemory.
3825
3826 2002-08-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3827
3828         * HttpContext.cs: reformatted.
3829         * HttpStaticObjectsCollection.cs: implemented GetEnumertor, CopyTo and
3830         the indexer.
3831
3832 2002-08-05  Patrik Torstensson <ptorsten@hotmail.com>
3833
3834         * HttpApplication.cs: Implemented a state machine to allow handling of
3835         HttpModules and HttpHandlers. Implementation of async handlers. 
3836                                                                  
3837         * HttpApplicationFactory.cs: Factory for creating HttpApplication
3838         instances, including caching.
3839         
3840         * HttpRuntime.cs: Usage of the new HttpApplicationFactory to get a
3841         application instance to execute requests in and implementation of 
3842         request execution (still no request queue). 
3843                                                          
3844         * HttpAsyncResult.cs: New file to handle async module results.                                          
3845                                                          
3846         * HttpRequest.cs: Change signature of Dispose
3847         * HttpResponse.cs: new internal method allowing filtering to happen
3848         during the request flow in the state machine.
3849
3850 2002-07-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3851
3852         * HttpApplication.cs: events were not being initialized.
3853
3854 2002-07-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3855
3856         * ProcessModelInfo.cs: fixed compilation.
3857
3858 2002-07-25  Tim Coleman <tim@timcoleman.com>
3859         * ProcessModelInfo.cs:
3860                 New class added
3861         * HttpParseException.cs:
3862         * HttpCompileException.cs:
3863         * HttpUnhandledException.cs:
3864                 Internal constructors added to these
3865
3866 2002-07-24  Tim Coleman <tim@timcoleman.com>
3867         * ProcessInfo.cs: 
3868                 Fix constructor, reference to shutdownreason.
3869
3870 2002-07-24  Tim Coleman <tim@timcoleman.com>
3871         * HttpCachePolicy.cs:
3872                 Added stubbs to this class.
3873         * HttpCacheability.cs:
3874         * HttpCacheRevalidation.cs:
3875         * HttpValidationStatus.cs:
3876         * ProcessShutdownReason.cs:
3877         * ProcessStatus.cs:
3878         * TraceMode.cs:
3879                 Reorder the enumerations (and in some cases make
3880                 one-based) in order to agree with the .NET 
3881                 implementation, based on the class status page.
3882         * ProcessInfo.cs:
3883                 Implementation of this class.
3884
3885 2002-07-23  Tim Coleman <tim@timcoleman.com>
3886         * HttpCompileException.cs:
3887         * HttpParseException.cs:
3888         * HttpUnhandledException.cs:
3889                 New stubbs created.
3890         * HttpApplication.cs:
3891         * HttpBrowserCapabilities.cs:
3892                 Added missing methods stubbs and attributes based
3893                 on the class status page.  Also reformatted some
3894                 source for consistency.
3895
3896 2002-07-23  Tim Coleman <tim@timcoleman.com>
3897         * HttpUtility.cs: Moved entities hashtable into main
3898                 class as a static object, so we don't instantiate
3899                 a new one every time.  Also put the hashtable
3900                 building into a lock block.
3901
3902 2002-07-22  Tim Coleman <tim@timcoleman.com>
3903         * HttpUtility.cs: Cleanup of the code, implementation
3904                 of HtmlDecode/HtmlEncode functions
3905
3906 2002-07-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3907
3908         * HttpResponse.cs: quick&dirty hack to make redirection work. Should
3909         be out of there once we have SimpleWorkerRequest.
3910
3911 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3912
3913         * HttpUtility.cs: little typo, big headache.
3914
3915 2002-07-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3916
3917         * HttpRuntime.cs: don't throw NotImplemented in a couple of methods.
3918
3919 2002-06-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3920
3921         * System.Web/HttpResponse.cs: 
3922
3923         Fixes based on class status page:
3924         
3925                 - Add attributes (DefaultEvent, ParseChildren).
3926                 - Fix declarations.
3927                 - Explicitly implement some interfaces (IPostBackDataHandler
3928                 and IPostBackEventHandler).
3929                 - Implemented some missing methods.
3930
3931 2002-06-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3932
3933         * HttpContext.cs:
3934         (Session): return null instead of throwing an exception.
3935
3936         * HttpRequest.cs:
3937         (HttpMethod): return RequestType if not set.
3938         (GetRawContent): return QueryString if we don't have a
3939         HttpWorkerRequest.
3940
3941         * HttpUtility.cs: fixed Decode and Encode.
3942
3943 2002-06-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3944
3945         * HttpApplication.cs:
3946         * HttpContext.cs: added System.Web.SessionState namespace.
3947
3948         * HttpSessionState.cs: removed. It is under
3949         System.Web.SessionState.
3950
3951 2002-06-10  Duncan Mak  <duncan@ximian.com>
3952
3953         * HttpBrowserCapabilities.cs (BackgroundSounds): Fixed typo.
3954
3955 2002-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3956
3957         * HttpRequest.cs: implemented Browser property.
3958
3959 2002-06-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3960
3961         * HttpBrowserCapabilities.cs: stubbed out.
3962
3963 2002-05-18  Miguel de Icaza  <miguel@ximian.com>
3964
3965         * HttpRuntime.cs: Reformat file.
3966
3967 2002-05-07  Duncan Mak  <duncan@ximian.com>
3968
3969         * HttpBrowserCapabilities.cs: Added, replacing
3970         HttpBrowserCapabilites because of typo.
3971
3972         * HttpBrowserCapabilites.cs: Removed, replaced by above.
3973
3974         * HttpRequest.cs (Browser): Fixed typo.
3975
3976 2002-04-12  Patrik Torstensson <patrik.torstensson@labs2.com>
3977
3978         * HttpApplication.cs: Minor updates
3979         * HttpApplicationState.cs: Ready.
3980         * HttpClientCertificate.cs: Signature updates
3981         * HttpValueCollection.cs: ready
3982         * HttpStaticObjectsCollection.cs: ready
3983         * HttpResponseHeader.cs: made internal only
3984         * HttpResponse.cs: Signature updates
3985         * HttpPostedFile.cs: ready
3986         * HttpCacheVaryByHeaders.cs: ready (except communication to policy)
3987         * HttpCacheVaryByParams.cs: ready (except communication to policy)
3988         
3989         System.Web is now over 60% ready.. 
3990
3991 2002-04-11  Patrik Torstensson <patrik.torstensson@labs2.com>
3992
3993         * HttpException.cs: 95% ready, only windows dependent code left
3994         * HttpFileCollection.cs: Finished.
3995         * HttpRequest.cs: Minor fixes and fixed signature problems
3996         * HttpResponse.cs: Implementation of missing methods and signature problems
3997         * HttpResponseHeader.cs: Fixed signature problems
3998         * HttpRuntime.cs: Fixed signature problems
3999         * HttpServerUtility.cs: Added support for HttpApplication
4000         * HttpSessionState.cs: Fixed signature issues
4001         * HttpUtility.cs: fixed signature issues
4002         * HttpValueCollection.cs: Support for cookie parsing and fixed signature issues
4003         * HttpWorkerRequest.cs: Fixed small signature issue
4004         * HttpWriter.cs: Fixed signature issue
4005         * HttpApplication.cs: Basic implementation
4006         * HttpApplicationState.cs: Small fixes to support major change comming up
4007         * HttpBrowserCapabilities.cs: Added Type method
4008         * HttpClientCertificate.cs: Almost ready, needs to parse certificate.
4009         * HttpContext.cs: Fixed signature issues and added last methods.
4010         * HttpCookie.cs: Full implementation
4011         * HttpCookieCollection.cs: Full implementation
4012         * TraceContext.cs: Methods implemented.
4013         * HttpPostedFile.cs: Placeholder
4014         * HttpStaticObjectsCollection.cs: Placeholder
4015         * HttpModuleCollection.cs: Ready, will be used during the major revamp.
4016         
4017         * Fixed a number of other small signature problems also (class status page)
4018         
4019         
4020 2002-04-10  Patrik Torstensson <patrik.torstensson@labs2.com>
4021
4022     * HttpWorkerRequest.EndOfSendNotification.cs Removed (included in WorkerRequest)
4023     * Checkin of all new files (noted in last changenote)
4024
4025 2002-04-10  Patrik Torstensson <patrik.torstensson@labs2.com>
4026
4027     * HttpContext.cs: First implementation (basic support, few methods left to impl)
4028     * HttpException.cs: Partial implementation (basic support)
4029     * HttpHelper.cs: Header parse helper, used by runtime (non public)
4030     * HttpRequest.cs: Implementation (all methods there, not all fully impl)
4031     * HttpRequestStream.cs: Full implementation
4032     * HttpResponse.cs: Partial implementation(almost all methods)
4033     * HttpResponseHeader.cs: Header helper
4034     * HttpResponseStream.cs: Full implementation - Response stream support
4035     * HttpResponseStreamProxy.cs: Implementation - filter support
4036     * HttpRuntime.cs: Rewrite to support one IHttpModule (use for testing the runtime)
4037         * HttpServerUtility.cs: Implemented usage of HttpContext for methods
4038                                 and moved encoding functions to HttpUtility.
4039
4040     * HttpUtility.cs: Added encoding/decoding functions from HttpServerUtility and
4041                       added the Attribute encoding functions.
4042
4043     * HttpValueCollection.cs: Implementation.
4044     * HttpWorkerRequest.cs: Rewrite and implementation of all methods (ready)
4045     * HttpWriter.cs: Implementation (with filter support)    
4046
4047     * HttpFileCollection: Added dummy class (placeholder)
4048     * HttpApplication.cs: Added dummy class (placeholder)
4049     * HttpApplicationState.cs: Added dummy class (placeholder)
4050     * HttpBrowserCapabilities.cs: Added dummy class (placeholder)
4051     * HtttpCachePolicy.cs: Added dummy class (placeholder)
4052     * HttpClientCertificate.cs: Added dummy class (placeholder)
4053     * HttpSessionState.cs: Added dummy class (placeholder)
4054     * TraceContext.cs: Added dummy class (placeholder)
4055     
4056
4057 2002/04/10  Nick Drochak <ndrochak@gol.com>
4058
4059         * HttpServerUtility.cs: Fix build breaker.
4060
4061 2002-03-28  Wictor Wiln  <wictor@iBizkit.se>
4062
4063         * HttpServerUtils.cs : Added some more functionality
4064         
4065 2002-03-28  Martin Baulig  <martin@gnome.org>
4066
4067         * HttpServerUtils.cs (UrlDecode): You cannot implicitly cast a
4068         char to a string, use ToString() instead.
4069
4070 2002-03-16  Gaurav Vaish  <gavish@iitk.ac.in>
4071
4072         * WebCategoryAttribute.cs
4073                                : Added private attribute.
4074
4075 2002-03-16  Gaurav Vaish  <gavish@iitk.ac.in>
4076
4077         * HttpRuntime.cs       : Stubbed methods for
4078                   FormatStringResource(...) in agreement with the various
4079                   overloads available at String.Format(...)
4080
4081 2002-01-08  Gaurav Vaish  <gavish@iitk.ac.in>
4082
4083         * TODOAttribute.cs     : Added, as an internal class to the assembly
4084
4085 2002-01-03  Nick Drochak  <ndrochak@gol.com>
4086
4087         * HttpRuntime.cs: remove uneeded exception variable from catch and
4088         initialize remaining instance members to avoid compile warnings
4089
4090 2002-01-02  Nick Drochak  <ndrochak@gol.com>
4091
4092         * HttpRuntime.cs: fix spelling error/variable name change.
4093
4094 2001-12-18  Gaurav Vaish <gvaish@iitk.ac.in>
4095
4096         * HttpRuntime.cs       : Initial implementation
4097
4098 2001-08-29  Bob Smith  <bob@thestuff.net>
4099
4100         * HttpWorkerRequest.cs: Partial Implementation.
4101
4102 2001-08-16  Bob Smith  <bob@thestuff.net>
4103
4104          * HttpCookieCollection.cs, HttpCookie.cs: Bug fixes.
4105
4106 2001-08-09  Bob Smith  <bob@thestuff.net>
4107
4108          * BeginEventHandler.cs: Implemented.
4109          * EndEventHandler.cs: Implemented.
4110          * HttpCacheability.cs: Implemented.
4111          * HttpCacheRevalidation.cs: Implemented.
4112          * HttpCacheValidateHandler.cs: Implemented.
4113          * HttpCookieCollection.cs: Implemented.
4114          * HttpCookie.cs: Implemented.
4115          * HttpValidationStatus.cs: Implemented.
4116          * HttpWorkerRequest.EndOfSendNotification.cs: Implemented.
4117          * IHttpAsyncHandler.cs: Implemented.
4118          * IHttpHandler.cs: Implemented.
4119          * IHttpHandlerFactory.cs: Implemented.
4120          * IHttpModule.cs: Implemented.
4121          * ProcessShutdownReason.cs: Implemented.
4122          * ProcessStatus.cs: Implemented.
4123          * TraceMode.cs: Implemented.