| Commit message (Collapse) | Author | Files | Lines |
|
httpserver.<port>.IncomingHTTPRequestsProcessed stat
|
|
belong to which HttpServer
|
|
in 3eee991 but removed in 7c0bfca
Do not rely on destructors to stop things.
These fire at unpredictable times and cause problems such as http://opensimulator.org/mantis/view.php?id=6503
and most probably http://opensimulator.org/mantis/view.php?id=6668
|
|
|
|
|
|
|
|
connection close issue by getting rid of the socket references * This adds a connection timeout checker to shutdown poor or evil connections and combats DOS attempts that just connect and make no complete requests and just wait. It also actually implements KeepAlive... instead of just understanding the connection header in the request... you can test by connecting and requesting a keepalive header and sending another request on the same connection. The new timeout checker closes expired keepalive sessions, just make sure you send the request within 70 seconds of connecting or the timeout checker will timeout the connection.
|
|
would like to restrict the maximum packet size, (and therefore protect against Memory DOSing) then you should set this. I defaulted it to 40MB. This means that in theory, a malicious user could connect and send a packet that claims that the payload is up to 40 mb (even if it doesn't actually turn out to be 40mb. More testing needs to be done on it where the packets are maliciously malformed.
|
|
|
|
places where we were not already.
|
|
|
|
WebSocket handler
|
|
|
|
working.. Still have to do Header.ToBytes and compose a websocket frame with a payload.
|
|
This is mostly Bluewall's work but I am also bumping the general version number
OpenSimulator 0.7.5 remains in the release candidate stage.
I'm doing this because master is significantly adding things that will not be in 0.7.5
This update should not cause issues with existing external binary DLLs because our DLLs do not have strong names
and so the exact version match requirement is not in force.
|
|
This reverts commit 141ad829f448b9138b12be7cf99c834c1f3977ec.
|
|
|
|
Adding additional return status for JsonRpcMethod. Now returns true/false
|
|
destructor.
Hopes to address occasional shutdown failures from http://opensimulator.org/mantis/view.php?id=6503
|
|
Added registration json-rpc handlers in the http server. Covers version 2.0
See: http://www.jsonrpc.org/specification
|
|
than creating a new CultureInfo separately
|
|
|
|
the end of the body.
|
|
|
|
instead of blank if no content type was set.
|
|
where this wasn't already used.
This allows log level 5 (log sample or large part of incoming post data) to operate and removes copy/paste.
|
|
check we received a request handler first since this is not guaranteed.
Resolves harmless logged exception when content type and generic xml rpc requests take more than 3 seconds.
|
|
|
|
http://stackoverflow.com/questions/2519655/httpwebrequest-is-extremely-slow."
But the patch is here, in case anyone wants to try it.
This reverts commit 531edd51d82ecd6a842a2611c99e9919634491ef.
|
|
http://stackoverflow.com/questions/2519655/httpwebrequest-is-extremely-slow.
Thanks R.Gunther (rigun@rigutech.nl) https://lists.berlios.de/pipermail/opensim-users/2012-September/010986.html
|
|
newlines at this level to '\n' to enable them to be logged.
|
|
|
|
As far as I know, this was only used by the IBM Rest modules, much of which has been commented out for a very long time now. Other similar code uses HTTP or stream handlers instead.
So commenting this out to reduce code complexity and the need to make this facility consistent with the others where it may not be used anyway.
If this facility is actually being used then please notify me or uncomment it if you are core.
|
|
this was already being done for outgoing HTTP requests.
This allows us to associate debug logging messages with the right request.
It also allows us to put a request number on 'long request' logging even if other debug logging is not enabled, which gives us some idea of whether every request is suffering this problem or only some.
This is a separate internal number not associated with any incoming number in the opensim-request-id header, this will be clarified when logging of this incoming request number is re-enabled.
This commit also adds port number to HTTP IN logging to allow us to distinguish between different request numbers on different ports.
|
|
request took.
This is only printed if debug http level >= 4 and the request didn't take more than the time considered 'long', in which case the existing log message is printed.
This displaces the previous log levels 4 and 5 which are now 5 and 6 respectively.
|
|
WebUtil.
This is for debugging purposes.
This is controlled via the "debug http" command which can already log incoming requests.
This now gains a mandatory parameter of in, out or all to control what is logged.
Log messages are also shortened and labelled and HTTP IN or HTTP OUT to be consistent with existing UDP PACKET IN and PACKET OUT messages.
|
|
Also converts newlines to "\n" text.
|
|
incoming request data and the entire incoming data respectively.
See "help debug http" for more details.
|
|
with other monitoring code from OpenSim.Framework
|
|
can trigger an exception is the URL was being removed at the same time.
This involves three steps
1) Return gracefully in UrlModule.HttpRequestHandler() instead of throwing an exception when the url cannot be found in its index
2) Return true instead of false in HasEvents() if no matching request is found in the map. This call will only happen in the first place for raced requests.
3) Return a 404 in GetEvents() if the request is not in the index, rather than a blank 200 OK.
Many thanks to Tom Haines in http://opensimulator.org/mantis/view.php?id=6051 for doing some of the work on this.
|
|
would always return OK even if some other status code had been set
|
|
This allows one to see incoming requests as they happen.
This required making everything use the common MainServer class for registering and retrieving http servers, rather than duplicate structures.
|
|
logic.
This does require the server to be added before it is set as the main Instance
|
|
the main instance.
|
|
warn to be logged if we receive invalid xml for xmlrpc.
|
|
Accidentally make responseString null by default instead of String.Empty.
It needs to be something in case the XmlRpcRequest deserialize throws an exception due to bad xml (a failure which we silently swallow!)
|
|
slow handling of requests.
This is to avoid logging a 'slow' request when the source of delay is the viewer in processing a response.
This is not something we can do much about on the server end - it's server-side delay that we're interested in.
To ensure consistency, this commit also had to refactor and simplify inbound non-poll network request handling, though there should be no functional change.
IOSHttpResponse no longer exposes the Send() method, only classes in OpenSim.Framework.Servers.HttpServer should be doing this.
Only the GetTextureHandler was sending its own response. Now it leaves this to BaseHttpServer, like all other core handlers.
|
|
|
|
timeout is breached.
This alarm can then invoke this to log extra information.
This is used in LLUDPServer to show which client was being processed when incoming and outgoing udp watchdog alarms are triggered.
|
|
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
|