teravus
75f63ecfcd
* Add a session concurrency option per key. Allows developer/config to specify number of concurrent requests on a service.
2013-10-09 22:21:25 -05:00
teravus
e7ea053c4a
* Remove a test *cleanup*
2013-10-07 23:52:44 -05:00
teravus
1df58d04b1
* Move the BasicDOSProtector.cs to OpenSim.Framework (all useful classes 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 23:48:24 -05:00
teravus
75fdd6054d
* Refactor
...
* Break out common BasicDOSProtector code into separate class.
2013-10-07 23:19:50 -05:00
teravus
f76cc6036e
* Added a Basic DOS protection container/base object for the most common 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-07 21:35:55 -05:00
teravus
31246ecd04
* Added a unique and interesting WebSocket grid login processor by hijacking the LLSD login code. This sends the data through the normal login channels and spits out a JSON object back that mimics the login response. Feel free to comment on the best way to set this up as a config option.
2013-10-04 20:53:01 -05:00
teravus
85593d8d25
* Add an initial complete frame timeout to the WebSocket processor to make it easier to write WebSocket service code that is resistant to Denial of Service attacks.
2013-10-04 20:37:59 -05:00
Diva Canto
083eb7679b
Added SimulatorFeatures/OpenSimExtras: say-range, whisper-range, shout-range, at the request of Singularity dev Liru-Dargon
2013-10-04 17:32:17 -07:00
Justin Clark-Casey (justincc)
44580e2233
Update an AssmblyVersion property that I missed to 0.8.0
2013-10-04 23:36:28 +01:00
Justin Clark-Casey (justincc)
42bdf44658
Bump OPenSimulator version and assembly versions up to 0.8.0 Dev
2013-10-04 23:33:47 +01:00
Justin Clark-Casey (justincc)
970249a3c7
Add OnChatToNPC and OnInstantMessageToNPC messages to NPCAvatar to allow region modules to directly subscribe to chat and messages received by NPCs
...
Currently still requires INPC from NPCModule.GetNPC() to be cast to an NPCAvatar.
2013-10-04 19:40:43 +01:00
Justin Clark-Casey (justincc)
8996ac1a9c
minor: Disable logging left active on regression test TestSameSimulatorIsolatedRegionsV2()
2013-09-27 22:33:42 +01:00
Justin Clark-Casey (justincc)
2cd95fac73
refactor: Rename Scene.AddNewClient() to AddNewAgent() to make it obvious in the code that this is symmetric with CloseAgent()
2013-09-27 22:27:39 +01:00
Justin Clark-Casey (justincc)
b16bc7b01c
refactor: rename Scene.IncomingCloseAgent() to CloseAgent() in order to make 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-27 19:14:21 +01:00
dahlia
b704de9bf8
minor code formatting for the sake of consistency and readability
2013-09-26 16:27:11 -07:00
Justin Clark-Casey (justincc)
585d0800dd
minor: Make OpenSimDefaults.ini consistent (spacing and tabs to spaces)
2013-09-27 00:14:40 +01:00
Justin Clark-Casey (justincc)
70b51f12cd
minor: Clean up tabbing and spacing issues in OpenSim.ini.example
2013-09-27 00:01:18 +01:00
Justin Clark-Casey (justincc)
d6d82dbd3c
minor: correct attachment spelling mistake in log message in HGEntityTransferModule.OnIncomingSceneObject()
2013-09-26 20:13:29 +01:00
Justin Clark-Casey (justincc)
e24edada24
minor: Comment out windlight log message about sending scene data for now.
2013-09-26 00:39:32 +01:00
Justin Clark-Casey (justincc)
253f8de8cd
minor: Add scene name to baked textures in cache log message
2013-09-26 00:33:50 +01:00
Justin Clark-Casey (justincc)
babfbe8d6d
minor: log MaxOutgoingTransferVersion at EntityTransferModule startup
2013-09-26 00:31:33 +01:00
Justin Clark-Casey (justincc)
4664090b34
minor: correct spelling of Initialized in LSC connector version message
2013-09-25 22:59:57 +01:00
Justin Clark-Casey (justincc)
b22c92368f
Move adding UUID.Zero -> Unknown User binding to UMM.Init() so that it's also called by HGUserManagementModule
2013-09-25 21:53:38 +01:00
Justin Clark-Casey (justincc)
32ddfc2740
Reinsert client.SceneAgent checks into LLUDPServer.HandleCompleteMovementIntoRegion() to fix race condition regression in commit 7dbc93c
(Wed Sep 18 21:41:51 2013 +0100)
...
This check is necessary to close a race condition where the CompleteAgentMovement processing could proceed when the UseCircuitCode thread had added the client to the client manager but before the ScenePresence had registered to process the CompleteAgentMovement message.
This is most probably why the message appeared to get lost on a proportion of entity transfers.
A better long term solution may be to set the IClientAPI.SceneAgent property before the client is added to the manager.
2013-09-25 18:45:56 +01:00
Justin Clark-Casey (justincc)
732554be04
Reinsert 200ms sleep accidentally removed in commit 7dbc93c
(Wed Sep 18 21:41:51 2013 +0100)
2013-09-25 18:29:14 +01:00
Justin Clark-Casey (justincc)
f384a6291e
Instead of swallowing any socket begin/end receive exceptions, log them for debugging purposes.
...
This may reveal why on some teleports with current code, the UseCircuitCode message gets through but CompleteMovement disappears into the ether.
2013-09-25 00:02:17 +01:00
teravus
8de5c29e2c
* The last two are the the patch that Aleric wanted pulled from his repo. * Added GregC to CONTRIBUTORS.txt, Aleric was already in there. * There's some controversy, Some people have suggested that this could be stored in dynamic attributes instead of the database.. Melanie was wanting to pull from the avination repo but was asked to wait on committing anything new until the release. The cherry-pick doesn't answer those questions.
2013-09-22 21:34:55 -05:00
Aleric Inglewood
7889e7757a
Don't use 'Indented' formatting for RpcXml responses.
...
(cherry picked from commit 93abcde69043b175071e0bb752538d9730433f1d)
2013-09-22 21:10:01 -05:00
Aleric Inglewood
2dc92e7de1
Preserve attachment point & position when attachment is rezzed in world
...
Patch taken from
http://opensimulator.org/mantis/view.php?id=4905
originally by Greg C.
Fixed to apply to r/23314 commit
ba9daf849e
(cherry picked from commit 4ff9fbca441110cc2b93edc7286e0e9339e61cbe)
2013-09-22 21:10:01 -05:00
Justin Clark-Casey (justincc)
a37c59b43e
minor: Recomment out log message uncommented in previous cbdfe969
2013-09-21 00:40:23 +01:00
Oren Hurvitz
cbdfe96905
When giving items between avatars in different simulators, only add the item to the receiving avatar's inventory once.
...
When a user gives an item, the user's client sends an InventoryOffered IM message to its simulator. This adds the item to the receiver's inventory. If the receiver isn't in the same simulator then XMLRPC is used to forward the IM to the correct simulator. The bug was that the receiving simulator handled the message by calling OnInstantMessage() again, which added a second copy of the item to the inventory. Instead, the receiving simulator should only notify the avatar that the item was offered.
2013-09-21 00:32:56 +01:00
Justin Clark-Casey (justincc)
4c0ec86176
minor: Add prefix to log message in LureModule
2013-09-21 00:14:57 +01:00
Justin Clark-Casey (justincc)
e2b3b7a2ae
minor: Correct minor spelling mistake Reseting -> Resetting in HG Map module log message
2013-09-20 23:42:55 +01:00
Justin Clark-Casey (justincc)
8502517d80
Make UUID.Zero resolve to "Unknown User" in user cache.
...
This is to avoid massive numbers of 'no user found' logs when user IDs are missing for some reason.
UUID.Zero should not be used for any user ID.
2013-09-20 23:07:24 +01:00
Justin Clark-Casey (justincc)
c01db5fbdd
Lock around read/write of ScenePresence.m_originRegionID to make sure that all threads are seeing the latest value and not a cached one.
...
There is a possibilty that some V2 teleport failures are due to the viewer triggered CompleteMovement thread not seeing the change of m_originRegionID by the UpdateAgent thread.
2013-09-20 22:41:53 +01:00
Justin Clark-Casey (justincc)
c6dea6ee78
Change some message log levels in Scene.IncomingUpdateChildAgent() for debugging purposes
2013-09-20 20:19:44 +01:00
Robert Adams
35a6361b24
BulletSim: reduce avatar walking stopped threshold.
...
Add parameter for setting the walking stopped threshold.
This fixes the slight jump when an avatar stops walking.
2013-09-20 09:58:45 -07:00
Robert Adams
07d7a5fd76
BulletSim: zero velocity when avatar not moving.
...
This fixes a movement jitter that happens when an avatar is standing on a
tilted surface.
2013-09-20 09:58:25 -07:00
Justin Clark-Casey (justincc)
c06a9ffe5c
Make new regions PG by default instead of Mature.
...
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-20 00:04:33 +01:00
Oren Hurvitz
f1267730ef
UUID Gatherer: find assets used in Light Projection, Particle Systems, and Collision Sounds.
2013-09-19 23:01:06 +01:00
Justin Clark-Casey (justincc)
979b17165b
For debug purposes, allow simulators to force use of earlier SIMULATION/0.1 teleport protocol even if SIMULATION/0.2 is available.
...
This is specified in the MaxOutgoingTransferVersion attribute of [EntityTransfer] in OpenSim.ini, see OpenSimDefaults.ini for more details.
Default remains "SIMULATION/0.2"
Primarily for http://opensimulator.org/mantis/view.php?id=6755
2013-09-19 22:45:50 +01:00
Justin Clark-Casey (justincc)
b6f10780c2
minor: Make SP.MakeRootAgent() private - no external code has any business calling this method
2013-09-19 21:44:30 +01:00
Justin Clark-Casey (justincc)
03b2b5b77b
minor: Make log message at top of ScenePresence.CompleteMovement info level and comment out later log message in ScenePresence.MakeRootAgent()
...
Need an info message since this is currently important in detecting teleport issue when not at debug log level.
CompleteMovement message occurs before MakeRootAgent() one did
2013-09-19 20:59:27 +01:00
Justin Clark-Casey (justincc)
6bdef1f70b
minor: Stop debug logging whenever an npc is moved, other npc log related formatting cleanups
2013-09-19 20:49:55 +01:00
Justin Clark-Casey (justincc)
3a9a8d2113
Revert "Also check user authorization if looking to upgrade from a child to a root agent."
...
This reverts commit c7ded0618c
.
This proves not to be necessary - the necessary checks are already being done via QueryAccess() before cross or teleport
2013-09-19 20:26:26 +01:00
Justin Clark-Casey (justincc)
83c113896e
Create regression TestCrossOnSameSimulatorNoRootDestPerm() to check that avatars are not allowed to cross into a neighbour where they are not authorized, even if a child agent was allowed.
2013-09-19 20:26:08 +01:00
Justin Clark-Casey (justincc)
997700c4aa
minor: Make config-include .ini files more consistent
...
Chiefly tabs to spaces.
No actual setting changes
2013-09-18 23:49:27 +01:00
Justin Clark-Casey (justincc)
ac0a527976
Add [SimulationService] section to GridHypergrid.ini and StandaloneHypergrid.ini
...
This was already in Grid.ini and Standalone.ini
Default settings are same as previously, just introduce a debug ConnectorProtocolVersion parameter
2013-09-18 23:27:37 +01:00
Justin Clark-Casey (justincc)
8999f06025
minor: correct method name in comment
2013-09-18 23:13:31 +01:00
Justin Clark-Casey (justincc)
ddcbd4bb7d
refactor: rename *ChildAgentDataUpdate() methods to *UpdateChildAgent()
...
verb-noun is consistent with other similar methods
2013-09-18 23:09:38 +01:00