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