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