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