* src/Mono.WebServer/BaseRequestBroker.cs: Correct a mistake
in my previous patch: checking for wrap-around on requests_served
counter, since we bitmask it 0x7FFF, wrap-around occurs at 0x8000.
svn path=/trunk/xsp/; revision=84355
* src/Mono.WebServer/XSPWorker.cs: do not rethrow an exception
that might occur on write, write an error message to the console
and close our end of the connection instead. Fixes bug #81699
svn path=/trunk/xsp/; revision=84059
* src/ModMonoWorkerRequest.cs: ReadEntityBody makes sure the
number of bytes to copy is > 0 and that the read buffer is not
null.
svn path=/trunk/xsp/; revision=84028
* src/ModMonoWorkerRequest.cs,
src/Mono.WebServer/XSPWorkerRequest.cs: do not fail if default
index files configuration cannot be retrieved. Based on patch from
Juraj Skripsky <juraj@hotfeet.ch>, thanks! Fixes bug #82379.
svn path=/trunk/xsp/; revision=83730
* src/ModMonoWorker.cs: move request unregister call from the
finally block to the catch block. This is to avoid unregistering
the request while it is still being processed by the HttpRuntime
(asynchronously). Patch from Joshua Tauberer <jit@occams.info>,
thanks!
svn path=/trunk/xsp/; revision=83717
* src/Mono.WebServer/MonoWorkerRequest.cs: don't use the
SendResponseFromFile (IntPtr, long, long) overload from the
SendResponseFromFile (string, long, long) one - prevents double
close of the file handle.
svn path=/trunk/xsp/; revision=83660
* src/Mono.WebServer/ApplicationServer.cs: leave only the
implementation of the ApplicationServer class here, the other
classes are moved to own files, below.
* src/Mono.WebServer/Paths.cs: new file, moved Paths class
implementation here.
* src/Mono.WebServer/HttpErrors.cs: new file, moved HttpErrors
class implementation here.
* src/Mono.WebServer/VPathToHost.cs: new file, moved VPathToHost
class implementation here.
svn path=/trunk/xsp/; revision=83643
* src/Mono.WebServer/XSPApplicationHost.cs: leave only the
implementation of the XSPApplicationHost here, the other classes
are moved to own files, below.
* src/Mono.WebServer/XSPWorker.cs: new file, moved XSPWorker class
implementation here.
* src/Mono.WebServer/XSPWebSource.cs: new file, moved XSPWebSource
class implementation here.
* src/Mono.WebServer/XSPRequestBroker.cs: new file, moved
XSPRequestBroker class implementation here.
* src/Mono.WebServer/Makefile.am (monowebserver_sources): added
new source files.
* src/ModMonoApplicationHost.cs: leave only the implementation of
the ModMonoApplicationHost class here, the other classes are moved
to own files, below.
* src/ModMonoWorker.cs: new file, moved ModMonoWorker class
implementation here.
* src/ModMonoWebSource.cs: new file, moved ModMonoWebSource class
implementation here.
* src/ModMonoRequestBroker.cs: new file, moved
ModMonoRequestBroker class implementation here.
* src/Makefile.am (modmono_only): added new source files.
svn path=/trunk/xsp/; revision=83642
* src/Mono.WebServer/BaseRequestBroker.cs: applied patch by Joshua
Tauberer (with minor changes) proposed in bug #82057. The change
turns request id into a compound of the unique request id in the
upper 16 bits and the index into request array in the lower 16
bits.
* src/Mono.WebServer/BaseApplicationHost.cs: fixed documentation.
svn path=/trunk/xsp/; revision=83570
* src/Mono.WebServer/BaseApplicationHost.cs: added some more
documentation.
* src/Mono.WebServer/BaseRequestBroker.cs: call the
UnregisterRequest handlers before freeing the request data.
svn path=/trunk/xsp/; revision=83528
* src/Mono.WebServer/BaseRequestBroker.cs: added an event fired
when the request has just been unregistered.
* src/ModMonoApplicationHost.cs: add an event handler for the
UnregisterRequest event in the request broker to make sure that
the same request is never unregistered twice.
svn path=/trunk/xsp/; revision=82030
* src/Mono.WebServer/BaseRequestBroker.cs: add some
documentation and avoid reallocating request buffers. Patch from
Brian Nickel <brian.nickel@gmail.com>, thanks!
svn path=/trunk/xsp/; revision=80539
* src/Mono.WebServer/BaseApplicationHost.cs: do not assume that
requestBroker is not null and that it is
BaseRequestBroker. Modified patch from Brian Nickel
<brian.nickel@gmail.com>, thanks!
svn path=/trunk/xsp/; revision=80538
* src/ModMonoRequest.cs: added support for virtual hosts
(ServerAlias) Patch from Juraj Skripsky
<juraj@hotfeet.ch>, thanks! Closes bug #81878.
* src/ModMonoApplicationHost.cs: as above
svn path=/trunk/xsp/; revision=80295
* src/Mono.WebServer/ApplicationServer.cs: do not skip checking
the path when vhost is '*'. Patch from Brian Nickel
<brian.nickel@gmail.com>, thanks!
svn path=/trunk/xsp/; revision=79645
* tools/asp_state/Makefile.am:
* tools/dbsessmgr/Makefile.am:
Split DATA and SCRIPTS for .exe and .exe.config so that .config doesn't
have the execute bit set (otherwise, causes warning in suse's rpmlint)
svn path=/trunk/xsp/; revision=78907
* src/Mono.WebServer/BaseApplicationHost.cs: put the worker's
ProcessRequest in try/catch in order to handle uncaught exceptions
more gracefully.
* src/Mono.WebServer/MonoWorkerRequest.cs: more robust exception
handling. We no longer leave the connection open and the browser
spinning after an early exception (e.g. configuration exception
while reading the top-level web.config file) ocurred.
svn path=/trunk/xsp/; revision=76164
* src/Mono.WebServer/BaseRequestBroker.cs: replace old code that
used hashtables to store request data with arrays. Array is also
used to acquire a unique request id. Previously the code used
GetHashCode() to do that, incorrectly assuming that the return
value from the method is unique. This caused frequent race
conditions and crashes. The new code uses arrays sized at 200
slots initially - this means it can handle up to 200 _concurrent_
requests before it needs to resize the arrays.
* src/Mono.WebServer/XSPApplicationHost.cs: make sure worker is
not null before attempting to use it.
* src/ModMonoApplicationHost.cs: make sure worker is not null
before attempting to use it.
svn path=/trunk/xsp/; revision=75696
* src/Mono.WebServer/BaseRequestBroker.cs: protect access to the
buffer in Read at least a bit. It can still be released by some
other thread after or during Read.
svn path=/trunk/xsp/; revision=75192
* src/Mono.WebServer/Tracing.cs: added a utility class to help in
tracing.
* src/Mono.WebServer/Makefile.am (monowebserver_sources): added Tracing.cs
* configure.in: Define TRACE together with WEBTRACE.
svn path=/trunk/xsp/; revision=75182
* src/Mono.WebServer/Makefile.am (MCSFLAGS): support tracing if
enabled.
* src/Makefile.am (MCSFLAGS): support tracing if enabled
* configure.in: add a parameter to enable conditional tracing.
svn path=/trunk/xsp/; revision=75179
* src/ModMonoApplicationHost.cs: Do not try to call Close on a
null stream (Stream can become null inside InnerRun) and this
makes debugging with gdb harder.
svn path=/trunk/xsp/; revision=75144
* src/ModMonoRequest.cs: Only compute the data once.
(GetClientBlock): if we get a -1, return the -1 to the client, do
not try to call Read.
svn path=/trunk/xsp/; revision=75120
* src/Mono.WebServer/xsp-2.pc.in:
* src/Mono.WebServer/xsp.pc.in:
Use VERSION from configure.in in the .pc files (they were always
0.1 and 0.2 before, but this isn't useful since the files
are xsp and xsp-2)
svn path=/trunk/xsp/; revision=73654
2007-01-08 Sebastien Pouliot <sebastien@ximian.com>
* ChangeLog: Track changes in tests.
* Makefile: Build/run unit tests.
* FileExtensionsTest.cs: Tests that try, by messing with the file
extensions, to retrieve the original source code of the web page.
* DirectoryTraversalTest.cs: Tests that try, by messing with the path,
to retrieve a file outside the webroot.
* WebTestHelper.cs: Base class with helper methods for tests.
In .:
2007-01-08 Sebastien Pouliot <sebastien@ximian.com>
* webroot/*: Web files used for the tests.
* NOACCESS: Test file that resides outside the web root directory.
* README: Instruction about how to run the tests.
svn path=/trunk/xsp/; revision=70662
* src/Mono.WebServer/ApplicationServer.cs: set the server as stopped
early on to prevent a possible nullref. Closes bug #80230.
svn path=/trunk/xsp/; revision=70003
* src/Mono.WebServer/XSPWorkerRequest.cs: close the connection if
there's an error reading the headers (including assembly loading
exceptions due to a bad installation).
* src/ModMonoApplicationHost.cs: kill the warning that everyone is
worried about.
svn path=/trunk/xsp/; revision=68041