Commit Graph

663 Commits (6627da693e48836334016e26ddc1cd71b99e0fa8)

Author SHA1 Message Date
Melanie Thielker 17e920aacd More plumbing on agent states 2015-08-20 00:40:49 +02:00
Melanie Thielker 028506cf3c Partial plumbing for the agent stateful module features negotiation 2015-08-20 00:18:45 +02:00
Diva Canto 4cbbbefbf6 Removed ignoreCase=true from the call to Type.GetInterface, because, well, we don't want to ignore case. And this seems to be causing problems in mono 4.3. 2015-08-15 16:08:14 -07:00
Diva Canto 959872315f WARNING: massive refactor to follow libomv's latest changes regarding inventory folders. The newest version of libomv itself is committed here. Basically, everything that was using the AssetType enum has been combed through; many of those uses were changed to the new FolderType enum.
This means that from now on, [new] root folders have code 8 (FolderType.Root), as the viewers expect, as opposed to 9, which was what we had been doing. Normal folders are as they were, -1. Also now sending folder code 100 for Suitcase folders to viewers, with no filter.
All tests pass, but fingers crossed!
2015-08-08 12:12:50 -07:00
Oren Hurvitz 14b4d8bad7 Eliminated several warnings 2015-07-31 18:13:39 +03:00
Cinder 0fa94f222d Refactor AgentPreferences so that database operations happen centrally. the opensim way.
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-06-13 07:27:42 -07:00
Diva Canto 923a57a91f Added tests for UserAccountService in Robust. In the process fixed a couple of bugs in the network connectors. For some reason the robust-bound code had a CreateUser method, while the client-bound code had no such method. I assume someone is extending the client-side code with their own connectors. I added the missing method, but didn't add it to the service interface. 2015-05-11 19:55:23 -07:00
Diva Canto c2cf22ea4f Added the beginning of a new test framework for robust connectors and services. For now, just Grid and Presence. This framework starts a robust server (as a thread) listening on a port in localhost, then the tests are client code. 2015-05-10 21:04:46 -07:00
Diva Canto 0bf1209f90 Another major overhaul of inventory downloading, this time pertaining to inventory links. Added yet another function to IInventoryService to get multiple items at once, so that fetching collections of linked items is done once per folder instead of once per item. 2015-05-08 20:53:28 -07:00
Diva Canto c74cef0f42 Major change in the way inventory is downloaded: added a method throughout IIventoryService that fetches sets of folders at once. Also added folder id in the InventoryCollection data structure, so that we don't need to go to inventory server again just for that. This reduces the chatter between sims and inventory server by... a lot. On my tests, this reduces initial inventory download down to 30% of what it currently is. 2015-05-07 19:24:08 -07:00
Diva Canto da32512ea4 Updated all occurrences of AssemblyVersion("0.8.1.*") to AssemblyVersion("0.8.2.*") 2015-04-29 18:47:17 -07:00
Robert Adams 07dead7dcb varregion: any conversions of use of Constants.RegionSize converted into
Util.cs routines to convert region coords to and from world coords or handles.
2015-03-29 14:25:12 -07:00
Justin Clark-Casey (justincc) fec2527e6c minor: fix compiler warnings in EstateDataRobustConnector 2015-03-14 00:18:35 +00:00
Melanie Thielker cf402812b7 Fix content type checking to confirm to newer core versions 2015-03-10 01:03:31 +01:00
Diva Canto 8e562f04d1 Donation of robust network connectors for estate service, as promised. This allows to have one central database for estates without having to open the MySql port. This is off by default, so not to disturb everyone's existing installations. To use it, see GridCommon.ini.example [EstateDataStore] section and Robust*.ini.example's new additions.
Note that I also made things consistent by removing both the EstateDataService and the SimulationService into their own dlls, just like all other services. They really didn't belong in Services.Connectors, since everything in that component is about network connectors to robust backends. We may have too many dlls, and at some point it might not be a bad idea to merge all services into one single dll, since they all have more or less the same dependencies.
2015-01-06 21:24:44 -08:00
Diva Canto 04e76dc5d6 Comment out the suppression of console output for mono addins in robust too. Seriously, ppl, let's not ignore important warning messages! 2015-01-02 21:47:23 -08:00
Diva Canto 7d1c59b8e3 Changed the Robust-as-addin version number to match OpenSim release numbers. 2015-01-02 09:15:30 -08:00
Justin Clark-Casey (justincc) 9edc5cac96 In XBakes use proper disposal semantics to always close the stream on Store() no matter what 2014-12-20 01:32:49 +00:00
Justin Clark-Casey (justincc) ec8d21c434 Label all threadpool calls being made in core OpenSimulator. This is to add problem diagnosis.
"show threadpool calls" now also returns named (labelled), anonymous (unlabelled) and total call stats.
2014-11-25 23:23:10 +00:00
Justin Clark-Casey (justincc) 8c9f82b035 Just for now, don't alert the user or log if we couldn't change their server-side preferences due to no e-mail address being sent.
This is to avoid user confusion in the oscc rehearsal as they are often not aware that this fails because no e-mail is set.
Also may be failing in the hypergrid case, though this may also be a config issue.
This is meant as a temporary solution.
2014-11-25 23:23:10 +00:00
Justin Clark-Casey (justincc) 90f9cea07b minor: be consistent about reporting errors out of HttpServerBase 2014-11-25 23:21:38 +00:00
Justin Clark-Casey (justincc) f4424bdfcf If the port entry in [Network] for a server is missing, then actually tell the user that's the problem rather than simply exiting silently.
Also exit with Environment.Exit(), not by aborting the thread.
2014-11-25 23:21:38 +00:00
Justin Clark-Casey (justincc) 0d77796584 minor: resolve warnings from unused fields in XBakesGet and Post handlers 2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc) d5ead532cb Remove compiler warning from UserProfilesHandlers 2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc) fc878a33ed refactor: consistently put all test classes in the OpenSim.Tests.Common package rather than some in OpenSim.Tests.Common.Mock
the separate mock package was not useful and was just another using line to always add
2014-11-25 23:21:37 +00:00
UbitUmarov fd79f75ba6 TEST**** wingridproxy detection at grid login. Untested possible not
very reliable. Adds some load even on region servers because of code at
 BaseHttpServer.
2014-10-24 02:12:30 +01:00
Melanie Thielker 0ecc417534 Allow 20 outbound connections per endpoint for the services 2014-10-13 23:24:47 +02:00
Melanie Thielker c19183932e Set connection limit to 20 for all servers. 2014-10-13 23:22:18 +02:00
BlueWall c7a11899f6 Give ability to define constants that may be used throught the configuration 2014-10-09 14:59:54 -04:00
Melanie Thielker 45739e3d5c Fix a string format 2014-09-24 23:10:15 +02:00
UbitUmarov df773ee8c3 make CreateAgent sync for logins, async for other cases 2014-09-24 20:57:23 +01:00
UbitUmarov c9079360b9 coment out stack trace at newUserConnection, add log msh at createAgent 2014-09-24 18:37:59 +01:00
UbitUmarov 68ea1f7776 TEST do createAgent sync, forcing grid services and other regions to wait
for it to complet.  This is not that good, but maybe needed
2014-09-24 17:56:58 +01:00
Jak Daniels bde60cc92e Add persistent command history in console
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2014-09-23 10:36:00 -04:00
Melanie Thielker 5f51abada9 If GridUserService is asked for a nonexistent user, bail gracefully 2014-08-23 18:17:33 +02:00
Melanie Thielker cbd7c7b9ec Change the map tile system to be multi-grid hosting compatible 2014-08-23 17:27:01 +02:00
BlueWall dabb8e62f4 Update OpenID server handler with proper interface. fixes http://opensimulator.org/mantis/view.php?id=7301 2014-08-13 20:06:07 -04:00
BlueWall 10a8d2852e OpenSimExtras
Move the experimental extra features functionality into the GridService. This sends default values for map, search and destination guide, plus ExportSupported control to the region on startup. Please watch http://opensimulator.org/wiki/SimulatorFeatures_Extras for changes and documentation.
2014-08-06 17:25:12 -04:00
BlueWall 3ec695e05b Add Chat module extra feature settings to GridExtraFeatures service 2014-07-30 15:01:26 -04:00
BlueWall e0d8f42e6b Simulator Extra Features Service
Provide a means for regions to fetch extra features supported by modern viewers from a central location
.
2014-07-30 11:24:39 -04:00
Justin Clark-Casey (justincc) 36920adb96 minor: convert tabs to spaces that got in on recent commit 4a9282e 2014-07-21 23:58:30 +01:00
BlueWall 4a9282e681 Add missing parts to profiles - classified delete 2014-07-21 12:46:26 -04:00
Oren Hurvitz 99ac770abb Close streams immediately when we finish using them 2014-07-21 08:30:03 +01:00
Melanie Thielker 159fcbf150 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
2014-06-21 00:39:55 +02:00
Melanie Thielker 94650c43cd Add forgotten file 2014-06-21 00:08:39 +02:00
Justin Clark-Casey (justincc) 5450b1b024 Change assembly versions to 0.8.1 2014-06-17 18:37:15 +01:00
Diva Canto fe779128b0 Added simulation version compatibility check so that agents coming from 0.7.6 to a varregion running in 0.8 and above will be denied teleport, rather than be allowed and crash the viewer. 2014-06-06 11:04:53 -07:00
Justin Clark-Casey (justincc) c32ccfb520 minor: Comment out 2 error level debugging message in authentication code 2014-05-27 23:18:33 +01:00
Diva Canto 449548d7a4 Adds an optional redirect URL to the asset server handler for when assets are not found locally. 2014-05-26 08:13:49 -07:00
Diva Canto 20f20895cf Adds optional HTTP Basic Authentication to Robust service connectors. 2014-05-23 16:19:43 -07:00
Oren Hurvitz 47b84875fd Tell QueryAccess explicitly whether the user is coming in via Teleport or Cross, because the permission checks are different.
Previously we used a heuristic of checking if the entry position is 0 to differentiate between Teleport and Cross, but that doesn't work anymore since we've started providing the precise entry position for cross, too. That's required in order to ensure that the user is allowed to enter the parcel that he's walking into.
2014-05-19 11:19:11 +01:00
Oren Hurvitz ef262799ca Better error handling in AssetServerPostHandler. Invalid XML causes an InvalidOperationException, not an XmlException 2014-05-06 09:43:07 +03:00
Diva Canto 7f570636f8 Please note: older simulators (0.7.6) still send the info about gzip in ContentType 2014-05-04 11:41:52 -07:00
Melanie Thielker 5c661baf6c Allow opening a https port using only http so that nginx can be used for ssl 2014-04-26 02:42:30 +02:00
Oren Hurvitz 018832522c Removed GetUserInventory(). It wasn't being used, and was creating warnings because it's Obsolete. 2014-04-23 14:38:33 +01:00
Oren Hurvitz 998d7009a6 Eliminated many warnings 2014-04-23 16:37:36 +03:00
Oren Hurvitz 06e0528d0b In teleports, pass the source region to the destination (similar to an HTTP referrer) 2014-04-09 09:22:20 +01:00
Oren Hurvitz 85d51e57a9 When sending QueryAccess to a region, also send the user's Home URI 2014-04-07 07:32:36 +01:00
Oren Hurvitz abe0f4a088 When preparing a Hypergrid teleport, tell the receiving grid which user is entering the grid.
This can affect which region to use. E.g., returning users may be allowed to enter any region, whereas users from other grids will have to enter a gateway region. Previously per-user decisions were only made later, but by then it's too late to change which region the user enters.
2014-04-06 15:40:45 +01:00
Oren Hurvitz 6d2893be67 When teleporting using Hypergrid, show more informative error messages in case of error 2014-04-03 14:13:03 +01:00
Oren Hurvitz fad0fd7f75 Fixed the "Update Asset" handler: it was looking for the Asset ID in the wrong parameter.
This doesn't actually matter because the "Update Asset" operation isn't implemented in AssetsServer. But still, the handler should do the right thing...
2014-04-02 06:32:40 +01:00
Oren Hurvitz d1c3f8eef5 Added assets service method AssetsExist(), which returns whether the given list of assets exist.
This method is used to optimize sending assets with embedded assets: e.g., when a Hypergrid visitor takes an item into the inventory.
2014-04-02 06:30:57 +01:00
Oren Hurvitz 6d1d58b654 Use the "X-Content-Encoding" header to indicate gzipped data, because old OpenSims fail if they get an unknown "Content-Encoding" 2014-03-25 18:09:23 +01:00
Oren Hurvitz b1d8aa0b64 Use the "Content-Encoding" header to indicate gzipped streams 2014-03-25 15:36:59 +01:00
Oren Hurvitz 8cec0b3fa1 If updating a user's profile notes fails then return an error
Resolves http://opensimulator.org/mantis/view.php?id=6938
2014-03-24 18:02:17 +01:00
Oren Hurvitz 6734b94761 Better error messages
This resolves http://opensimulator.org/mantis/view.php?id=6936
2014-03-24 12:22:32 +01:00
Dev Random 6955190c7d Add Util method to load OpSys env vars 2014-02-26 23:39:45 +00:00
Melanie f0f852b27f Final code drop for appearance. Adding Avination's baked texture storage server. 2014-02-04 02:29:02 +00:00
Robert Adams 49af6b53e7 varregion: enable teleporting to a varregion by clicking on the map and
pressing the 'teleport' button.
This commit adds returning region map info for all the subregions of a
varregion. This also handles the selection of the extra region and then
the displacement of the postion so the teleport is to the correct location.
2014-01-26 19:32:28 -08:00
Robert Adams afb2e07111 varregion: pass region size in more HG services. 2014-01-24 06:30:38 -08:00
Robert Adams 6937eec258 Merge branch 'master' into varregion
Add new region crossing code to varregion

Conflicts:
	OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2013-12-17 06:18:13 -08:00
Melanie 958a8f274b Revert "Add support for user preferences (im via email)"
This reverts commit 1842388bb4.
2013-12-07 01:29:15 +00:00
Melanie ba48816fb6 Merge branch 'master' into careminster 2013-12-07 01:19:20 +00:00
BlueWall 1842388bb4 Add support for user preferences (im via email) 2013-12-06 02:52:13 -05:00
Robert Adams 7aa00632b9 varregion: many replacements of in-place arithmetic with calls to
the Util functions for converting world addresses to region addresses
and converting region handles to locations.
2013-11-28 08:20:16 -08:00
Melanie ba203ed94f Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2013-11-03 21:34:36 +00:00
teravus e7ea053c4a * Remove a test *cleanup* 2013-10-07 23:52:44 -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
Melanie 69054ad134 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Framework/Servers/VersionInfo.cs
	OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
2013-10-06 18:32:20 +01: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
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
Melanie 2f365ea80b Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
	OpenSim/Region/Framework/Scenes/Scene.cs
2013-09-07 13:54:19 +01:00
Justin Clark-Casey (justincc) 4cbadc3c49 Allow one to specify a DefaultHGRegion flag in [GridService] in order to 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-09-02 17:27:45 +01:00
Melanie bef03fb30b Merge branch 'master' into careminster
Conflicts:
	OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs
	OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
	OpenSim/Services/Connectors/Neighbour/NeighbourServicesConnector.cs
2013-08-17 03:23:45 +01:00
Justin Clark-Casey (justincc) b3052c425e Remove some mono compiler warnings from OpenSim/Server/Handlers 2013-08-17 01:08:19 +01:00
Melanie 7830cc9954 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Capabilities/Handlers/GetTexture/GetTextureHandler.cs
	OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
	OpenSim/Region/ClientStack/Linden/Caps/UploadBakedTextureModule.cs
	OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
	OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs
	OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs
	OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
	OpenSim/Region/Framework/Scenes/Scene.cs
	OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs
	OpenSim/Server/Handlers/Simulation/AgentHandlers.cs
	OpenSim/Services/Connectors/Asset/AssetServicesConnector.cs
	OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
	OpenSim/Services/HypergridService/UserAgentService.cs
2013-07-18 10:08:10 +01:00
Diva Canto f3b3e21dea Change the auth token to be the user's sessionid. 2013-07-14 07:28:40 -07:00
Diva Canto b4f1b9acf6 Guard against unauthorized agent deletes. 2013-07-13 21:28:46 -07:00
Diva Canto 931eb892d9 Deleted GET agent all around. Not used. 2013-07-13 17:56:42 -07:00
Justin Clark-Casey (justincc) c3db595944 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-07-08 22:07:27 +01: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
Diva Canto bbb9af363d Print out caller IP when unusual requests are received. 2013-07-07 20:43:42 -07:00
Melanie 5ddcc25ee9 Merge branch 'master' into careminster 2013-07-04 22:32:58 +01:00
Diva Canto 4d24bf75fd Deleted debug messages. Fixed a null ref exception on the POST handler of GridUserServerPostHandler.cs 2013-07-02 16:46:35 -07:00
Melanie ffcee82b1d Merge branch 'master' into careminster
Conflicts:
	OpenSim/Data/MySQL/MySQLSimulationData.cs
	OpenSim/Region/Framework/Scenes/EventManager.cs
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
2013-06-30 18:27:30 +01:00
Justin Clark-Casey (justincc) e26e8b8829 Remove "Asset deletion not supported by database" message from "delete asset" robust/standalone console command since it actually was implemented and performed.
Improve other associated messages.
2013-06-28 19:19:38 +01:00
Melanie f70357eaa3 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Framework/Monitoring/BaseStatsCollector.cs
	OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs
	OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs
	OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
2013-06-23 01:59:57 +01:00
Diva Canto 6c7e33fe47 Change IsLocalRegion from using region handle to using regionID. This was affecting UpdateAgent and CloseAgent in cases where the foreign region is on the same coordinates as *some* local region. 2013-06-22 08:29:06 -07:00
Diva Canto 4778d67005 Finally moved HG agent transfers to use agent fatpacks. 2013-06-21 20:52:46 -07:00