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