* 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
* src/Mono.WebServer/ApplicationServer.cs: don't run BeginAccept when
the server has been stopped. Fixes bug #79361.
svn path=/trunk/xsp/; revision=65253
* src/Mono.WebServer/XSPApplicationHost.cs: Read from the stream, not
the socket as the socket data is encrypted when using SSL. Fix from
Jean-Francois Burdet.
svn path=/trunk/xsp/; revision=64827
src/Makefile.am:
src/Mono.WebServer/Makefile.am: Add GACUTIL_FLAGS to make gac root dir package
friendly (Relative to DESTDIR)
svn path=/trunk/xsp/; revision=64277
* configure.in:
* src/mono.snk:
* src/AssemblyInfo.cs.in:
* src/Makefile.am:
* src/Mono.WebServer/xsp-2.pc.in:
* src/Mono.WebServer/xsp.pc.in:
* src/Mono.WebServer/AssemblyInfo2.cs.in:
* src/Mono.WebServer/AssemblyInfo.cs.in:
* src/Mono.WebServer/Makefile.am:
* src/AssemblyInfoModMono.cs.in:
* src/mono.pub:
* scripts/Makefile.am: xsp, xsp2, Mono.WebServer and Mono.WebServer2 are
installed in the GAC now to avoid problems with the upcoming patch in
the runtime.
svn path=/trunk/xsp/; revision=63843
* src/Mono.WebServer/MonoWorkerRequest.cs:
* src/Mono.WebServer/XSPApplicationHost.cs:
* src/ModMonoApplicationHost.cs: display unexpected errors in
ProcessRequest from the root domain, as it will help pinpoint deployment
errors once the upcoming patch modifies the way assemblies are loaded
in newly created domains.
svn path=/trunk/xsp/; revision=63815
* src/server.cs:
* src/Mono.WebServer/XSPWorkerRequest.cs:
* src/Mono.WebServer/BaseRequestBroker.cs:
* src/Mono.WebServer/ApplicationServer.cs:
* src/Mono.WebServer/XSPApplicationHost.cs:
* src/Mono.WebServer/InitialWorkerRequest.cs:
* src/Mono.WebServer/LingeringNetworkStream.cs:
* src/Mono.WebServer/IWebSource.cs:
* src/ModMonoApplicationHost.cs: accepting a connection and the initial
read are now done asynchronously. SocketPool class and that Select are
over now and xsp/mod-mono-server behave much better when getting many
simultaneous connections.
svn path=/trunk/xsp/; revision=60518
* src/server.cs: make the hash different when the last argument is an
option (like a port number). Fixes bug #78034. Thanks to Hubert
Fongarnand.
svn path=/trunk/xsp/; revision=59120
* src/Mono.WebServer/Makefile.am: define NET_2_0 in the
Mono.WebServer2.dll case.
* src/Mono.WebServer/XSPWorkerRequest.cs: use ConfigurationManager
in 2.0.
* src/Makefile.am: define NET_2_0 in the
xsp2.exe/mod-moon-server2.exe cases.
* src/server.cs (AppSettings): use ConfigurationManager in 2.0,
and isolate the ifdef here so everywhere else we can just use
"AppSettings".
(Main): s/ConfigurationSettings.AppSettings/AppSettings/
* src/ModMonoWorkerRequest.cs: use ConfigurationManager in 2.0
svn path=/trunk/xsp/; revision=56046