aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-10-28Remove legacy sqlite lines added internally by OpenSimulator to the ↵Justin Clark-Casey (justincc)1-1/+0
[Startup] section. These are long unused but confusingly will be seen in the [Startup] section on a "config save".
2013-10-09* Add a session concurrency option per key. Allows developer/config to ↵teravus4-23/+102
specify number of concurrent requests on a service.
2013-10-07* Move the BasicDOSProtector.cs to OpenSim.Framework (all useful classes ↵teravus1-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.
2013-10-07* Refactorteravus4-410/+213
* Break out common BasicDOSProtector code into separate class.
2013-10-07* Added a Basic DOS protection container/base object for the most common ↵teravus4-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.
2013-10-04* Add an initial complete frame timeout to the WebSocket processor to make ↵teravus1-2/+65
it easier to write WebSocket service code that is resistant to Denial of Service attacks.
2013-10-04Bump OPenSimulator version and assembly versions up to 0.8.0 DevJustin Clark-Casey (justincc)12-12/+12
2013-09-27refactor: Rename Scene.AddNewClient() to AddNewAgent() to make it obvious in ↵Justin Clark-Casey (justincc)1-2/+2
the code that this is symmetric with CloseAgent()
2013-09-27refactor: rename Scene.IncomingCloseAgent() to CloseAgent() in order to make ↵Justin Clark-Casey (justincc)1-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()
2013-09-22Don't use 'Indented' formatting for RpcXml responses.Aleric Inglewood1-1/+15
(cherry picked from commit 93abcde69043b175071e0bb752538d9730433f1d)
2013-09-22Preserve attachment point & position when attachment is rezzed in worldAleric Inglewood1-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)
2013-09-20Make new regions PG by default instead of Mature.Justin Clark-Casey (justincc)1-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
2013-09-03minor simplification of some unix date functions in Util. No functional change.Justin Clark-Casey (justincc)1-5/+3
2013-09-03Add experimental "show grid users online" console command to show grid users ↵Justin Clark-Casey (justincc)1-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.
2013-09-02Allow one to specify a DefaultHGRegion flag in [GridService] in order to ↵Justin Clark-Casey (justincc)1-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.
2013-08-23minor: Correct typo on "debug stats record start" messageJustin Clark-Casey (justincc)1-1/+1
2013-08-19Make it possible to disconnected a specified number of bots via the pCampbot ↵Justin Clark-Casey (justincc)1-2/+27
console command "disconnect [<n>]" Bots disconnected are ascending from last in numeric order. Temporarily no way to reconnect bots.
2013-08-17remove mono compiler warnings from PollServiceRequestManagerJustin Clark-Casey (justincc)1-4/+2
2013-08-17minor: remove mono compiler warning in StatsManagerJustin Clark-Casey (justincc)1-1/+1
2013-08-10Stats treaking. Update ToOSDMap for Stat and PercentageStat to returnRobert Adams4-150/+235
all the various numbers that have been added to the console output. Break out EventHistogram from CounterStat.
2013-08-08Add parameter and explanation of ManagedStats return to OpenSimDefaults.ini.Robert Adams1-0/+6
Add 'callback' query parameter to managed stats return to return function form of JSON data.
2013-08-08Add a JSON web fetch of the statististics managed by StatsManager.Robert Adams1-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.
2013-08-08minor: Remove console lines at bottom of FakeParcelIDTests() regression test ↵Justin Clark-Casey (justincc)1-2/+0
that were accidentally left in
2013-08-08Fixed error in BuildFakeParcelID() which was detected by regression tests.Kevin Cozens1-2/+2
2013-08-08Added regression tests for the routines related to fake parcel IDs.Kevin Cozens1-0/+84
2013-08-08Additional regression tests for the location routines in Location.csKevin Cozens1-0/+7
2013-08-07minor: add some method doc to ScenePresence fields used for entity transfer, ↵Justin Clark-Casey (justincc)1-0/+6
add minor details to some log messages, rename a misleading local variable name. No functional changes.
2013-08-06Add file missing from last commit 4c2f6deJustin Clark-Casey (justincc)1-0/+108
2013-08-06Add the experimental ability to dump stats (result of command "show stats ↵Justin Clark-Casey (justincc)1-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
2013-08-06Add "debug threadpool status" console command to show min/max/current ↵Justin Clark-Casey (justincc)1-0/+23
worker/iocp threadpool numbers
2013-08-05Add "debug comms status" command to show current debug comms settingsJustin Clark-Casey (justincc)1-0/+11
2013-08-05Make it possible to switch whether we serialize osd requests per endpoint or ↵Justin Clark-Casey (justincc)3-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.
2013-08-05minor: move "threads abort" and "force gc" console commands into debug ↵Justin Clark-Casey (justincc)1-2/+2
category - these are not things one needs to do in normal operation
2013-08-05Make it possible to set worker/iocp min/max threadpool limits on the fly ↵Justin Clark-Casey (justincc)1-0/+78
with the console command "debug threadpool set"
2013-08-05Add checks monitoring framework to provide alerts if certain conditions do ↵Justin Clark-Casey (justincc)5-3/+385
not hold. Not yet in use.
2013-08-02Issue: 10 simultaneous TPs, many not making it. Now bypassing the per-url ↵Diva Canto1-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.
2013-08-01* Thanks Plugh for pointing out that the constructor that takes a ulong ↵teravus2-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.
2013-07-29Make "abnormal thread terminations" into "ClientLogoutsDueToNoReceives" and ↵Justin Clark-Casey (justincc)2-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.
2013-07-27Several major improvements to group (V2) chat. Specifically: handle ↵Diva Canto1-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.
2013-07-26Increased the rate of the PollServiceRequestManager to 0.5 secs (it was ↵Diva Canto1-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.
2013-07-26Fix regression tests relating to agent transfer by making simulator use last ↵Justin Clark-Casey (justincc)1-0/+5
week's SIMULATOR/0.1 protocol for now.
2013-07-24New Teleport protocol (V2), still compatible with V1 and older. (version of ↵Diva Canto1-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...
2013-07-23Correct issue where the last instance of a sampled stat was shown 3x larger ↵Justin Clark-Casey (justincc)1-1/+2
than it should have been (though internal use was correct)
2013-07-23Improve spacing between data and units on console stats displayJustin Clark-Casey (justincc)1-3/+12
2013-07-23For stats which can show average change over time, show the last sample as ↵Justin Clark-Casey (justincc)1-1/+11
well as the average. This is somewhat cryptic at the moment, need to improve documentation.
2013-07-21EDIT BEAMS!!! They had been missing from OpenSim since ever. Thanks to ↵Diva Canto1-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.
2013-07-21Manage AgentUpdates more sanely:Diva Canto1-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
2013-07-21Removed verbose debug from previous commitDiva Canto1-1/+0
2013-07-21PollServiceRequestManager: changed the long poll from a Queue to a List. No ↵Diva Canto1-13/+17
need to dequeue and enqueue items every 1sec.
2013-07-21Delay the enqueueing of non-longpoll requests for 100ms. No need to have ↵Diva Canto1-1/+11
these requests actively on the processing queue if it seems they're not ready.