aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Remove legacy sqlite lines added internally by OpenSimulator to the ↵Justin Clark-Casey (justincc)2013-10-281-1/+0
| | | | | | [Startup] section. These are long unused but confusingly will be seen in the [Startup] section on a "config save".
* * Add a session concurrency option per key. Allows developer/config to ↵teravus2013-10-094-23/+102
| | | | specify number of concurrent requests on a service.
* * Move the BasicDOSProtector.cs to OpenSim.Framework (all useful classes ↵teravus2013-10-071-1/+29
| | | | | | belong there.....) * Add an IsBlocked(string Key) method so it can be used more generically. (think.. if we want to rate limit login failures, we could have a call in the Login Service to IsBlocked(uuid.ToString()) and ignore the connection if it returns true, if IsBlocked returns false, we could run the login information and if the login fails we could run the Process method to count the login failures.
* * Refactorteravus2013-10-074-410/+213
| | | | * Break out common BasicDOSProtector code into separate class.
* * Added a Basic DOS protection container/base object for the most common ↵teravus2013-10-074-0/+994
| | | | | | | | | HTTP Server handlers. XMLRPC Handler, GenericHttpHandler and <Various>StreamHandler * Applied the XmlRpcBasicDOSProtector.cs to the login service as both an example, and good practice. * Applied the BaseStreamHandlerBasicDOSProtector.cs to the friends service as an example of the DOS Protector on StreamHandlers * Added CircularBuffer, used for CPU and Memory friendly rate monitoring. * DosProtector has 2 states, 1. Just Check for blocked users and check general velocity, 2. Track velocity per user, It only jumps to 2 if it's getting a lot of requests, and state 1 is about as resource friendly as if it wasn't even there.
* * Add an initial complete frame timeout to the WebSocket processor to make ↵teravus2013-10-041-2/+65
| | | | it easier to write WebSocket service code that is resistant to Denial of Service attacks.
* Bump OPenSimulator version and assembly versions up to 0.8.0 DevJustin Clark-Casey (justincc)2013-10-0412-12/+12
|
* refactor: Rename Scene.AddNewClient() to AddNewAgent() to make it obvious in ↵Justin Clark-Casey (justincc)2013-09-271-2/+2
| | | | the code that this is symmetric with CloseAgent()
* refactor: rename Scene.IncomingCloseAgent() to CloseAgent() in order to make ↵Justin Clark-Casey (justincc)2013-09-271-5/+7
| | | | | | it clear that all non-clientstack callers should be using this rather than RemoveClient() in order to step through the ScenePresence state machine properly. Adds IScene.CloseAgent() to replace RemoveClient()
* Don't use 'Indented' formatting for RpcXml responses.Aleric Inglewood2013-09-221-1/+15
| | | | (cherry picked from commit 93abcde69043b175071e0bb752538d9730433f1d)
* Preserve attachment point & position when attachment is rezzed in worldAleric Inglewood2013-09-221-0/+11
| | | | | | | | | | Patch taken from http://opensimulator.org/mantis/view.php?id=4905 originally by Greg C. Fixed to apply to r/23314 commit ba9daf849e7c8db48e7c03e7cdedb77776b2052f (cherry picked from commit 4ff9fbca441110cc2b93edc7286e0e9339e61cbe)
* Make new regions PG by default instead of Mature.Justin Clark-Casey (justincc)2013-09-201-1/+1
| | | | | This makes scripted object sounds and a few other things play by default instead of having to switch the viewer to adult This reduces the support burden
* minor simplification of some unix date functions in Util. No functional change.Justin Clark-Casey (justincc)2013-09-031-5/+3
|
* Add experimental "show grid users online" console command to show grid users ↵Justin Clark-Casey (justincc)2013-09-031-4/+4
| | | | | | | | online from a standalone/robust instance. This is not guaranteed to be accurate since users may be left "online" in certain situations. For example, if a simulator crashes and they never login/logout again. To counter this somewhat, only users continuously online for less than 5 days are shown.
* Allow one to specify a DefaultHGRegion flag in [GridService] in order to ↵Justin Clark-Casey (justincc)2013-09-021-1/+2
| | | | | | | | | | allow different default regions for HG and direct grid logins. This requires a new GridService.GetDefaultHypergridRegions() so ROBUST services require updating but not simulators. This method still returns regions flagged with just DefaultRegion after any DefaultHGRegions, so if no DefaultHGRegions are specified then existing configured defaults will still work. Immediate use is for conference where we need to be able to specify different defaults However, this is also generally useful to send experienced HG users to one default location and local users whose specified region fails (e.g. no "home" or "last") to another.
* minor: Correct typo on "debug stats record start" messageJustin Clark-Casey (justincc)2013-08-231-1/+1
|
* Make it possible to disconnected a specified number of bots via the pCampbot ↵Justin Clark-Casey (justincc)2013-08-191-2/+27
| | | | | | | console command "disconnect [<n>]" Bots disconnected are ascending from last in numeric order. Temporarily no way to reconnect bots.
* remove mono compiler warnings from PollServiceRequestManagerJustin Clark-Casey (justincc)2013-08-171-4/+2
|
* minor: remove mono compiler warning in StatsManagerJustin Clark-Casey (justincc)2013-08-171-1/+1
|
* Stats treaking. Update ToOSDMap for Stat and PercentageStat to returnRobert Adams2013-08-104-150/+235
| | | | | all the various numbers that have been added to the console output. Break out EventHistogram from CounterStat.
* Add parameter and explanation of ManagedStats return to OpenSimDefaults.ini.Robert Adams2013-08-081-0/+6
| | | | | Add 'callback' query parameter to managed stats return to return function form of JSON data.
* Add a JSON web fetch of the statististics managed by StatsManager.Robert Adams2013-08-081-0/+31
| | | | | | | | | | Disabled by default. Enable by setting [Startup]ManagedStatsRemoteFetchURI="Something" and thereafter "http://ServerHTTPPort/Something/" will return all the managed stats (equivilent to "show stats all" console command). Accepts queries "cat=", "cont=" and "stat=" to specify statistic category, container and statistic names. The special name "all" is the default and returns all values in that group.
* minor: Remove console lines at bottom of FakeParcelIDTests() regression test ↵Justin Clark-Casey (justincc)2013-08-081-2/+0
| | | | that were accidentally left in
* Fixed error in BuildFakeParcelID() which was detected by regression tests.Kevin Cozens2013-08-081-2/+2
|
* Added regression tests for the routines related to fake parcel IDs.Kevin Cozens2013-08-081-0/+84
|
* Additional regression tests for the location routines in Location.csKevin Cozens2013-08-081-0/+7
|
* minor: add some method doc to ScenePresence fields used for entity transfer, ↵Justin Clark-Casey (justincc)2013-08-071-0/+6
| | | | | | add minor details to some log messages, rename a misleading local variable name. No functional changes.
* Add file missing from last commit 4c2f6deJustin Clark-Casey (justincc)2013-08-061-0/+108
|
* Add the experimental ability to dump stats (result of command "show stats ↵Justin Clark-Casey (justincc)2013-08-061-12/+40
| | | | | | | | all") to file OpenSimStats.log every 5 seconds. This can currently only be activated with the console command "debug stats record start". Off by default. Records to file OpenSimStats.log for simulator and RobustStats.log for ROBUST
* Add "debug threadpool status" console command to show min/max/current ↵Justin Clark-Casey (justincc)2013-08-061-0/+23
| | | | worker/iocp threadpool numbers
* Add "debug comms status" command to show current debug comms settingsJustin Clark-Casey (justincc)2013-08-051-0/+11
|
* Make it possible to switch whether we serialize osd requests per endpoint or ↵Justin Clark-Casey (justincc)2013-08-053-5/+74
| | | | | | not, either via config (SerializeOSDRequests in [Network]) or via the "debug comms set" console command. For debug purposes to assess what impact this has on network response in a heavy test environment.
* minor: move "threads abort" and "force gc" console commands into debug ↵Justin Clark-Casey (justincc)2013-08-051-2/+2
| | | | category - these are not things one needs to do in normal operation
* Make it possible to set worker/iocp min/max threadpool limits on the fly ↵Justin Clark-Casey (justincc)2013-08-051-0/+78
| | | | with the console command "debug threadpool set"
* Add checks monitoring framework to provide alerts if certain conditions do ↵Justin Clark-Casey (justincc)2013-08-055-3/+385
| | | | | | not hold. Not yet in use.
* Issue: 10 simultaneous TPs, many not making it. Now bypassing the per-url ↵Diva Canto2013-08-021-3/+3
| | | | lock -- we should be "ok" (or, more "ok") now that we have increased the connection limit on the http library. But this is a sensitive part of the code, so it may need reverting.
* * Thanks Plugh for pointing out that the constructor that takes a ulong ↵teravus2013-08-012-15/+15
| | | | regionhandle and saves it to to X,Y vars in the OpenSim.Framework.Location object was inverting the X and Y resulting in X and Y confusion. The test also used 256x256 in the uint,uint constructor so it was unable to determine if the X and Y components swapped. I don't expect much upheaval from this commit, not a lot of features were using the ulong Location object constructor. The database never stores the ulong regionhandle... the prims are loaded by region Guid. LLUDPServer used it to determine regions that it handled in a service definition where there was simply a X == X test which has the same logical result un-switched as it did switched. Again, thanks LibOMV for the regionhandle code.
* Make "abnormal thread terminations" into "ClientLogoutsDueToNoReceives" and ↵Justin Clark-Casey (justincc)2013-07-292-22/+68
| | | | | | | add this to the StatsManager This reflects the actual use of this stat - it hasn't recorded general exceptions for some time. Make the sim extra stats collector draw the data from the stats manager rather than maintaing this data itself.
* Several major improvements to group (V2) chat. Specifically: handle ↵Diva Canto2013-07-271-0/+18
| | | | | | join/drop appropriately, invitechatboxes. The major departure from flotsam is to send only one message per destination region, as opposed to one message per group member. This reduces messaging considerably in large groups that have clusters of members in certain regions.
* Increased the rate of the PollServiceRequestManager to 0.5 secs (it was ↵Diva Canto2013-07-261-1/+1
| | | | 1sec). Group chat is going over the EQ... Hopefully this won't increase CPU when there's nothing going on, but we need to watch for that.
* Fix regression tests relating to agent transfer by making simulator use last ↵Justin Clark-Casey (justincc)2013-07-261-0/+5
| | | | week's SIMULATOR/0.1 protocol for now.
* New Teleport protocol (V2), still compatible with V1 and older. (version of ↵Diva Canto2013-07-241-5/+6
| | | | | | | | the destination is being checked) In this new protocol, and as committed before, the viewer is not sent EnableSimulator/EstablishChildCommunication for the destination. Instead, it is sent TeleportFinish directly. TeleportFinish, in turn, makes the viewer send a UserCircuitCode packet followed by CompleteMovementIntoRegion packet. These 2 packets tend to occur one after the other almost immediately to the point that when CMIR arrives the client is not even connected yet and that packet is ignored (there might have been some race conditions here before); then the viewer sends CMIR again within 5-8 secs. But the delay between them may be higher in busier regions, which may lead to race conditions. This commit improves the process so there are are no race conditions at the destination. CompleteMovement (triggered by the viewer) waits until Update has been sent from the origin. Update, in turn, waits until there is a *root* scene presence -- so making sure CompleteMovement has run MakeRoot. In other words, there are two threadlets at the destination, one from the viewer and one from the origin region, waiting for each other to do the right thing. That makes it safe to close the agent at the origin upon return of the Update call without having to wait for callback, because we are absolutely sure that the viewer knows it is in th new region. Note also that in the V1 protocol, the destination was getting UseCircuitCode from the viewer twice -- once on EstablishAgentCommunication and then again on TeleportFinish. The second UCC was being ignored, but it shows how we were not following the expected steps...
* Correct issue where the last instance of a sampled stat was shown 3x larger ↵Justin Clark-Casey (justincc)2013-07-231-1/+2
| | | | than it should have been (though internal use was correct)
* Improve spacing between data and units on console stats displayJustin Clark-Casey (justincc)2013-07-231-3/+12
|
* For stats which can show average change over time, show the last sample as ↵Justin Clark-Casey (justincc)2013-07-231-1/+11
| | | | | | well as the average. This is somewhat cryptic at the moment, need to improve documentation.
* EDIT BEAMS!!! They had been missing from OpenSim since ever. Thanks to ↵Diva Canto2013-07-211-1/+1
| | | | lkalif for telling me how to route the information. The viewer effect is under the distance filter, so only avatars with cameras < 10m away see the beams.
* Manage AgentUpdates more sanely:Diva Canto2013-07-211-0/+2
| | | | | | - The existing event to scene has been split into 2: OnAgentUpdate and OnAgentCameraUpdate, to better reflect the two types of updates that the viewer sends. We can run one without the other, which is what happens when the avie is still but the user is camming around - Added thresholds (as opposed to equality) to determine whether the update is significant or not. I thin these thresholds are ok, but we can play with them later - Ignore updates of HeadRotation, which were problematic and aren't being used up stream
* Removed verbose debug from previous commitDiva Canto2013-07-211-1/+0
|
* PollServiceRequestManager: changed the long poll from a Queue to a List. No ↵Diva Canto2013-07-211-13/+17
| | | | need to dequeue and enqueue items every 1sec.
* Delay the enqueueing of non-longpoll requests for 100ms. No need to have ↵Diva Canto2013-07-211-1/+11
| | | | these requests actively on the processing queue if it seems they're not ready.