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