Commit Graph

490 Commits

Author SHA1 Message Date
Diva Canto
b33db917f5 Really bad idea to lock m_UserCache for so long in UserManagementModule. Added a special lock object instead, if we really want to avoid concurrent executions of that code. 2013-06-11 15:36:27 -07:00
Melanie
81ad9255b5 Hook up Keyframe motion to almost everything. Failing to cross a sim border
may yield unexpected results in some cases. No database persistence yet,
2013-06-06 03:03:05 +01:00
Justin Clark-Casey (justincc)
cc7aa88b26 Try caching the user name for a new agent earlier on in the process of establishing a connection, to see if this helps with "Unknown UserUMMTGUN" issues.
The UMMTGUN form of Unknown User seems to appear because a viewer sometimes sends a UUIDNameRequest UDP request that fails to find a binding.
However, in theory the incoming agent should have made that binding before any such request is triggered.
So moving this binding to an earlier point in the process to see if this makes a difference.
Unknown user name is also updated to UserUMMTGUN2 - if you see the old name then you need to clear your viewer cache.
This relates to http://opensimulator.org/mantis/view.php?id=6625
2013-05-29 23:08:54 +01:00
Justin Clark-Casey (justincc)
4898f18f89 Add HG regression TestCachedUserNameForNewAgent() 2013-05-29 21:28:38 +01:00
Justin Clark-Casey (justincc)
28548ab347 Fix bug where both ordinary UserManagementModule and HGUserManagementModules were being added to scenes if no UserManagementModule was specified.
Without explicit config non-hg UMM is used - this is in common with other HG modules.
This was causing a non-HG module to unpredictably use the UMM or HGUMM, though lack of bug reports suggest either UMM was always used or it didn't matter in this case.
2013-05-23 23:05:56 +01:00
Justin Clark-Casey (justincc)
06ab168897 To further help with tracking down the apperance of too much "Unknown User" in chatlogs, etc. temporarily change each instance of this in OpenSimulator so we can identify where it's coming from
For instance, the "Unknown User" in Util.ParseUniversalUserIdenitifer becaomes "Unknown UserUPUUI (class initials + method initials)
This is to help with http://opensimulator.org/mantis/view.php?id=6625
2013-05-21 22:26:15 +01:00
Justin Clark-Casey (justincc)
ba6a6b2d40 Fix compile failure from recent git master 434c3cf 2013-05-21 18:18:16 +01:00
Justin Clark-Casey (justincc)
434c3cf83b Make "show name" command display HomeURL like "show names" 2013-05-21 18:15:22 +01:00
Justin Clark-Casey (justincc)
5c8d38d6cf minor: Change "show names" command to use consistent console display table 2013-05-21 18:11:07 +01:00
Justin Clark-Casey (justincc)
6edecd5d94 Add "show name" console command to make it possible to show a single binding of a UUID to a name. 2013-05-21 18:00:41 +01:00
Justin Clark-Casey (justincc)
c47de9878d Log when "Unknown User" is sent to a user because the UMM had no binding for that UUID and when a binding replaces a previous "Unknown User" entry.
This is a temporary measure to hunt down issues where some but not all users see others as "Unknown user" in text chat, etc.
http://opensimulator.org/mantis/view.php?id=6625
2013-05-21 17:45:15 +01:00
Justin Clark-Casey (justincc)
6ae426c96b Lock m_UserCache whilst iterating over it in UserManagementModule.GetUserData() to avoid concurrency exceptions 2013-05-21 17:25:06 +01:00
Justin Clark-Casey (justincc)
ec818a506b minor: remove long commented out scene cache clearing code in EntityTransferModule.CrossAgentToNewRegionAsync() 2013-05-16 18:26:22 +01:00
Justin Clark-Casey (justincc)
61f4ab6674 minor: Remove completely unused IClientAPI.RequestClientInfo() call from EntityTransferModule.CrossAgentToNewRegionAsync() 2013-05-16 18:25:04 +01:00
Justin Clark-Casey (justincc)
3bc8cf65a4 Where this is not already happening, trigger asychoronous calls to CloseChildAgent() above the LocalSimulationConnector level.
This is so that other callers (such as SceneCommunicationService.SendCloseChildAgentConnections() can perform all closes asynchronously without pointlessly firing another thread for local closes).
No functional change apart from elimination of unnecessary chaining of new threads.
2013-05-16 17:30:30 +01:00
Diva Canto
e92c05ebbd Added AvatarPickerSearch capability handler. 2013-05-07 18:01:48 -07:00
Melanie
4c83b5e719 Step one of estate settings sharing - port the Avination Estate module (complete module) as changes are too extensive to apply manually 2013-05-07 00:31:11 +01:00
BlueWall
e3d9d5566a Fix inventory issue
Fix issue where objects rezzed from Trash or Lost And Found then be placed back in the respective folder when taking the object or a copy back into inventory.
2013-05-01 18:51:43 -04:00
Melanie
b26276c8c4 Fix the long standing bug of items being delivered to lost and found or trash when takig copy.
This bug was recently aggravated through the perms changes required for the
export permission.
2013-05-01 21:35:50 +01:00
Melanie
ac135c649c Fix CAPS to work like they should - do not send caps to the viewer if they're not in the requested caps list.
The previous wrong behavior caused the debug setting "UseHTTPInventory" to fail
on all viewers when turned off. UDB inventory would not be correctly used in
that case.
2013-04-30 23:50:23 +01:00
Diva Canto
70081a40a4 Bug fix: compare tolower. This should fix the issue where HG visitors currently in the region were not being found by the avatar picker window. 2013-04-24 12:45:19 -07:00
Justin Clark-Casey (justincc)
29e28f4b84 minor: remove mono compiler warnings in InventoryAccessModule 2013-04-10 00:05:03 +01:00
Justin Clark-Casey (justincc)
7f070236f7 Fix taking (and rezzing) of coalesced objects in the non-root subregions of megaregions.
This fixes the combined bounding box location for regions bigger than 256x256.
It also fixes the position on taking coalesced objects in the non-root regions, where position checks are properly done on rez instead.
It also fixes the megaregion land channel to return null if the land does not exist, which should probably also be done for the ordinary land channels rather than returning a dummy region.
Inspiration from Garmin's commit in http://opensimulator.org/mantis/view.php?id=6595.  Thanks!
2013-04-06 02:34:51 +01:00
Justin Clark-Casey (justincc)
0f008d5f7d When rezzing a coalesced object, check adjust position of all components. 2013-04-06 01:44:06 +01:00
Justin Clark-Casey (justincc)
94d44142e3 minor: Stop falsely logging that a teleport was being aborted on client logout even when no teleport was active. 2013-04-03 00:48:36 +01:00
Justin Clark-Casey (justincc)
0dce496499 Fix what appears to be a bug in HGUserManagementModule where it enables on the base.Name rather than its own Name. 2013-04-02 00:55:00 +01:00
Justin Clark-Casey (justincc)
f8785b5f47 refactor: rename ETM.InformClientToInitateTeleportToLocationDelegate to InformClientToInitiateTeleportToLocationDelegate to correct spelling and bring into line with other ETM Initiate methods 2013-03-30 00:29:52 +00:00
Justin Clark-Casey (justincc)
e89bcf4f77 Revert "Try eliminating the pause before auto-reteleporting for a megaregion now that we're telepoting in a different way."
Unfortunately fails on Nebadon's system right now.  Needs investigation.  May put in a temproary option for experimentation soon.

This reverts commit d87ddf50fc.
2013-03-29 01:34:31 +00:00
Justin Clark-Casey (justincc)
d87ddf50fc Try eliminating the pause before auto-reteleporting for a megaregion now that we're telepoting in a different way.
On my own system, I can now eliminate the pause entirely and the reteleport happens whilst the teleport screen is still up.
Trying this change to see if this is true for other people.
2013-03-29 01:16:29 +00:00
Justin Clark-Casey (justincc)
feffc8081d minor: remove some mono compiler warnings from EntityTransferModule 2013-03-28 22:56:30 +00:00
Justin Clark-Casey (justincc)
9ca54d00d8 Add back a log message when we attempt a megaregion auto-reteleport 2013-03-28 02:29:34 +00:00
Justin Clark-Casey (justincc)
afd0d6af07 minor: Only try to deregister stats in EntityTransferModule.RemoveRegion() if module was enabled. 2013-03-28 02:23:09 +00:00
Justin Clark-Casey (justincc)
d9c049fd9f Fix a bug in HGEntityTransferModule to call base.RemoveRegion() when a region is removed rather than base.AddRegion() 2013-03-28 02:20:43 +00:00
Justin Clark-Casey (justincc)
b05ed4ffa6 Instead of going via GodLikeRequestTeleport, auto-teleport the agent directly in a megaregion, in the same manner at the "teleport user" console command.
This is to bypass an issue with the HGLureModule which stops the auto-teleport from happening.
2013-03-28 02:17:32 +00:00
Justin Clark-Casey (justincc)
506d5e41bf On the North and East sides of a megaregion, only consider regions within 256m to be neighbours rather than regions up to 512 distant.
This looks like an off-by-one bug since the view distance was already only 256 on the west and south sides.
This reduces the number of child agents being logged into regions neighbouring a megaregion.
2013-03-28 01:54:11 +00:00
Justin Clark-Casey (justincc)
f32027f3b5 Remove some Console.WriteLines accidentally left in last commit cfb20f09 2013-03-28 01:08:47 +00:00
Justin Clark-Casey (justincc)
cfb20f09a9 refactor: combine the checks for megaregion view range into a single place. 2013-03-28 00:57:43 +00:00
Justin Clark-Casey (justincc)
dd7d7683c9 Fix problem with megaregions where teleporting into a different region which already had a child agent would stop the eq working for the agent in the new region.
This was because the calculation as to whether a new agent was needed in the receiving region did not take megaregions into account,
unlike the original calculation when the user first teleported into the region.
This meant that on teleport, entity transfer would create a new CAP but this would be ignored by the viewer and receiving region, meaning that the EQ could no longer be used.
This would prevent subsequent teleport, amongst other things.
Currently, regions up to 512m from a megaregion are considered neighbours.
2013-03-28 00:12:48 +00:00
Melanie
5f4c4df227 Phase 1 of implementing a transfer permission. Overwrite libOMV's PermissionMask
with our own and add export permissions as well as a new definition for "All" as meaning "all conventional permissions" rather than "all possible permissions"
2013-03-26 03:40:06 +00:00
Justin Clark-Casey (justincc)
128c72a234 Start recording inter-region teleport attempts, aborts, cancels and failures in statistics for monitoring/debugging purposes
These are recorded as 'entitytransfer' stats as seen by the "show stats entitytransfer" console command.
2013-03-25 21:53:27 +00:00
Justin Clark-Casey (justincc)
93206ef0fa Add "show borders" command to show the borders of a region.
This is relevant to mega-regions where the borders are very different to a regular region.
Also adds some method doc and other code comments.
2013-03-23 00:45:21 +00:00
Justin Clark-Casey (justincc)
1f17ef6d3c Take out a testing sleep I accidentally left in the teleport code from last commit 7471bc7 2013-03-22 01:06:56 +00:00
Justin Clark-Casey (justincc)
7471bc7775 At strategic points in the teleport process, if the client has simultaneously logged out then do not continue.
This aims to reduce any side effects if the process tries to complete after the client has logged back in (e.g. it was delayed due to a slow destination region response).
This introduces a new Aborting entity transfer state which signals that the teleport should be stopped but no compensating actions performed.
2013-03-22 01:00:13 +00:00
Justin Clark-Casey (justincc)
e23a0dcc5d minor: On teleport, signal a child agent before we send the viewer TeleportFinish in order to avoid a theoretical race condition when teleporting to a neighbour.
If we do this after TeleportFinish, then it's possible for a neighbour destination to request the source to create a child agent whilst its still treated as root.
This closes the original presence which we don't really want to do.
This is probably okay (albeit with warnings on the console) but afaics there's no reason not to move the child agent signal.
2013-03-21 23:37:23 +00:00
Justin Clark-Casey (justincc)
46c833810c On a teleport, lock m_agentsInTransit whilst we grab the value to check for completion just to be sure we're not using a thread cached version. 2013-03-21 00:46:08 +00:00
Justin Clark-Casey (justincc)
36651bed71 On the later forms of teleport failure, tell the user if this was because viewer couldn't/didn't connect with destination or if destination didn't signal teleport completion.
Also adds regression test for the case where the viewer couldn't connect with the destination region.
Also refactoring of regression test support code associated with entity transfer in order to make this test possible and the code less obscure.
2013-03-20 23:01:16 +00:00
Robert Adams
1dd2d432f1 For those people collecting and comparing logfiles from servers scattered
around the world, change LogWriter to use DateTime.UtcNow rather than
DateTime.Now.
2013-03-19 11:40:10 -07:00
Justin Clark-Casey (justincc)
d3e76730bd Add example code to DOExampleModule to pull data from that previously saved by DAExampleModule when instantiating a dynamc object. 2013-03-15 00:49:35 +00:00
Justin Clark-Casey (justincc)
cb74186888 Add ParentGroup.HasGroupChanged = true setting to DAExampleModule as this is necessary to get attributes to save (though this probably happens anyway due to the prim move) 2013-03-15 00:27:06 +00:00
Justin Clark-Casey (justincc)
43220afda2 Improve DAExampleModule to show current necessary locking to avoid race conditions with a serialization thread. 2013-03-13 23:42:14 +00:00