aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/BasicDOSProtector.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-10-09* Add a session concurrency option per key. Allows developer/config to ↵teravus1-15/+81
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* Refactorteravus1-87/+35
* Break out common BasicDOSProtector code into separate class.
2013-10-07* Added a Basic DOS protection container/base object for the most common ↵teravus1-0/+233
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.