Commit Graph

625 Commits

Author SHA1 Message Date
Justin Clark-Casey (justincc)
2025dd25f6 Add missing file BaseOutputStreamHandler.cs from recent commit e19defd 2013-07-08 23:50:40 +01:00
Justin Clark-Casey (justincc)
dc54581700 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-07-08 22:19:37 +01:00
Diva Canto
b2d4b8b1da BaseHttpServer: if the handler sets the content length, don't override it. This happens in HEAD handlers. 2013-07-08 14:12:11 -07:00
Justin Clark-Casey (justincc)
e19defde36 Add "show caps stats by user" and "show caps stats by cap" console commands to print various counts of capability invocation by user and by cap
This currently prints caps requests received and handled, so that overload of received compared to handled or deadlock can be detected.
This involves making BaseStreamHandler and BaseOutputStream record the ints, which means inheritors should subclass ProcessRequest() instead of Handle()
However, existing inheriting classes overriding Handle() will still work, albeit without stats recording.
"show caps" becomes "show caps list" to disambiguate between show caps commands
2013-07-08 22:03:07 +01:00
Justin Clark-Casey (justincc)
a33b6eed6d minor: remove mono compiler warnings in WebsocketServerHandler.cs 2013-06-20 00:54:19 +01:00
Justin Clark-Casey (justincc)
84af1cab9b Display existing statistic of how many http requests a server is making as server.network.HTTPRequestsMade in "show stats all" 2013-06-19 20:48:12 +01:00
Justin Clark-Casey (justincc)
9501a583cb Make number of inbound http requests handled available as a httpserver.<port>.IncomingHTTPRequestsProcessed stat 2013-06-18 23:07:18 +01:00
Justin Clark-Casey (justincc)
b7c9dee033 refactor: Move existing code to generate report information on the threadpool to the ServerBase rather than being in Util 2013-06-17 23:57:10 +01:00
Justin Clark-Casey (justincc)
0d2fd0d914 Make general server stats available on the robust console as well as the simulator console
This means the "show stats" command is now active on the robust console.
2013-06-17 22:39:00 +01:00
Justin Clark-Casey (justincc)
47b6e78790 Implement logging of first 80 characters (debug level 5) or full body data (debug level 6) on outgoing requests, depending on debug level
This is set via "debug http out <level>"
This matches the existing debug level behaviours for logging incoming http data
2013-06-12 21:34:20 +01:00
Justin Clark-Casey (justincc)
7af97f88b7 Add port numbers to poll service thread names so that we can tell which belong to which HttpServer 2013-06-10 23:39:17 +01:00
Justin Clark-Casey (justincc)
32d1e50565 Reinstate explicit starting and stopping of PollServiceRequestManager added 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
2013-06-10 23:30:35 +01:00
Melanie
75631e0267 Supply proper type information for the various types of requests 2013-06-07 23:55:03 +01:00
Melanie
7c0bfca7a0 Adding Avination's PollService to round out the HTTP inventory changes 2013-06-07 23:43:45 +01:00
Justin Clark-Casey (justincc)
8e04c752fc If OpenSimulator is writing a PID file and finds the file already present on startup, logging an error since this is commonly due to an unclean shutdown.
Unclean shutdown can cause constantly moving objects to disappear if an OAR has just been loaded and they have not reached persistence time threshold, among other problems.
2013-04-09 22:38:47 +01:00
teravus
d2367968e4 * In between the fog, a moment of clarity. This fixes mantis 6570 2013-04-04 19:10:23 -04:00
teravus
6e1b3f9951 *Yet another HTTPServer update code changes in OpenSim Libs. * This fixes a 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. 2013-03-16 03:14:11 -04:00
Justin Clark-Casey (justincc)
12900ea84e Log same environment information to Robust log as is already done for simulator logs, for debug purposes 2013-03-14 23:39:15 +00:00
BlueWall
f676408e2a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-03-05 15:30:54 -05:00
teravus
69fbcdf14c * Add a Max Payload size property to the Websocket Server Handler. If you 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. 2013-03-05 00:04:09 -05:00
BlueWall
66d74e76b1 Add method to remove JsonRpc Handlers from the server 2013-03-03 09:40:44 -05:00
Justin Clark-Casey (justincc)
056f11c297 Show http poll handlers in separate http (poll) section of "show http-handlers" console command instead of never showing them (due to a previous bug).
The code was assuming that poll handlers were also included in general http handlers but this was not the case.
2013-02-27 20:33:11 +00:00
Justin Clark-Casey (justincc)
80c19b7cac Make sure we dispose of WebResponse, StreamReader and Stream in various places where we were not already. 2013-02-27 00:21:02 +00:00
Diva Canto
4779f7d7d5 Deleted all AssemblyFileVersion directives 2013-02-19 17:14:55 -08:00
teravus
c22276a169 * gracefully handle a Situation where a double close is called on the WebSocket handler 2013-02-14 18:43:53 -05:00
teravus
94a5232d3a * Adds Websocket support to baseHttpServer and IHttpServer.cs . This allows modules to set up a websocket server that websocket clients can connect to. An example module is in OptionalModules/Example/WebSocketEchoTest/WebSocketEchoModule.cs 2013-02-07 10:50:17 -05:00
teravus
4867a7cbbf This is the final commit that enables the Websocket handler 2013-02-07 10:27:18 -05:00
teravus
1dc09d8e8f We're not really done here.. but we're getting there. Socket Read is working.. Still have to do Header.ToBytes and compose a websocket frame with a payload. 2013-02-05 18:02:25 -05:00
Justin Clark-Casey (justincc)
1f1da23097 Bump version and assembly version numbers from 0.7.5 to 0.7.6
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.
2013-02-05 00:23:17 +00:00
BlueWall
2841ed05cf Merge branch 'master' of /home/opensim/var/repo/opensim 2013-01-23 08:16:18 -05:00
BlueWall
1776986dc3 Add additional return status
Adding additional return status for JsonRpcMethod. Now returns true/false
2013-01-23 08:14:21 -05:00
Justin Clark-Casey (justincc)
3eee991935 Explicitly stop PollServiceRequestManager() rather than relying on its destructor.
Hopes to address occasional shutdown failures from http://opensimulator.org/mantis/view.php?id=6503
2013-01-19 02:04:36 +00:00
BlueWall
ca3e0d67d2 Add Json-Rpc 2.0 To Registered Handlers
Added registration json-rpc handlers in the http server. Covers version 2.0
  See: http://www.jsonrpc.org/specification
2013-01-15 10:04:16 -05:00
Justin Clark-Casey (justincc)
fdf8876e20 In BaseHttpServer.HandleRequest(), use Culture.SetCurrentCulture() rather than creating a new CultureInfo separately 2012-12-05 21:52:10 +00:00
Justin Clark-Casey (justincc)
22d4c52ffc Consistenly make NUnit test cases inherit from OpenSimTestCase which automatically turns off any logging enabled between tests 2012-11-24 03:15:24 +00:00
Justin Clark-Casey (justincc)
999cb4b20c Make "show threads" and "thread abort" console commands available on all servers 2012-11-23 04:40:49 +00:00
Justin Clark-Casey (justincc)
e0a3e01850 Make "force gc" console command available across all servers 2012-11-23 04:27:04 +00:00
Justin Clark-Casey (justincc)
4b46a0d536 Make "show version" console command available across all servers 2012-11-23 04:19:08 +00:00
Justin Clark-Casey (justincc)
065d6d6fe1 Delete unused BaseHttpServer.HandleAgentRequest() 2012-11-23 04:15:21 +00:00
Justin Clark-Casey (justincc)
3ce00e97cc Factor out command script code.
This also allows comments in command scripts (lines starting with ;, # or //) to be used across all servers
2012-11-22 05:57:20 +00:00
Justin Clark-Casey (justincc)
9fcf3f1a3f Make "config show/set/get/save" console commands available on all servers 2012-11-22 05:48:41 +00:00
Justin Clark-Casey (justincc)
8269d2b893 Factor out common pid file creation and removal code.
Log path at which pid file is created or reason for failure to create.
2012-11-22 05:14:43 +00:00
Justin Clark-Casey (justincc)
42e87a6582 Add "get log level" command - this returns the current server session console logging level.
This supersedes getting information by calling "set log level" without a 4th argument, which is confusing.
2012-11-22 04:57:45 +00:00
Justin Clark-Casey (justincc)
34ff96a119 Remove unused BaseOpenSimServer.ShowHelp() 2012-11-22 04:52:29 +00:00
Justin Clark-Casey (justincc)
4c4379b50f Make "set log level" command available across all servers 2012-11-22 04:50:09 +00:00
Justin Clark-Casey (justincc)
45d1e6ab09 Make "show info" command available across all servers
This helpfully lists version information, startup location and console log level
2012-11-22 04:45:53 +00:00
Justin Clark-Casey (justincc)
cf03d6ea92 Factor out common registration of "show uptime" command 2012-11-22 04:11:03 +00:00
Justin Clark-Casey (justincc)
5c48d7a378 factor out common HandleShow code for "show uptime" 2012-11-22 04:05:09 +00:00
Justin Clark-Casey (justincc)
74a20a62ee refactor: Factor out copy/pasted server uptime report code 2012-11-22 03:43:21 +00:00
Justin Clark-Casey (justincc)
dc5711ad62 minor: If logging full incoming HTTP data, don't deceptively print ... at the end of the body. 2012-11-20 04:10:03 +00:00