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