Compare commits

..

2205 Commits

Author SHA1 Message Date
Melanie
e321306517 Prevent object loss and positioning outside the region with failed object sim
crossings
2012-02-14 00:02:53 +01:00
Melanie
acfe7e555e Merge branch 'master' into careminster 2012-02-10 23:59:10 +00:00
Melanie
4455140f30 Change parser to leave embedded quotes alone if the pattern is recognized
as an OptionSet long option
2012-02-10 23:52:06 +00:00
Melanie
215acbcc96 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
	OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs
2012-02-10 10:20:51 +00:00
Melanie
7c888f6af1 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneGraph.cs
2012-02-09 00:19:37 +00:00
Melanie
9c6ba8d18f Push more NPC stuff into threads 2012-02-08 13:04:23 +01:00
Melanie
236e1c45f2 Merge branch 'master' into careminster 2012-02-07 23:30:48 +00:00
Melanie
de255321f1 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2012-02-07 20:52:04 +01:00
Melanie
37049180f6 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
	OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
2012-02-07 21:09:04 +00:00
Melanie
a829f20828 Experimental. Expand Fire & Forget for NPC delete 2012-02-06 22:26:25 +01:00
Melanie
54fc78013d Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2012-02-05 20:58:04 +00:00
Melanie
ce5e900721 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Data/MySQL/Resources/RegionStore.migrations
	OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
2012-02-04 11:48:20 +00:00
Melanie
0dbfa70443 Merge branch 'master' into careminster 2012-02-03 08:47:26 +00:00
Melanie
bce5dfe711 Merge branch 'master' into careminster 2012-02-03 00:09:05 +00:00
Melanie
573a64ad24 Merge branch 'master' into careminster 2012-02-03 00:05:59 +00:00
Melanie
bdc31bddfc Merge branch 'master' into careminster 2012-02-02 23:41:27 +00:00
Melanie
8f8b5f9a4d Merge branch 'master' into careminster 2012-02-02 22:36:41 +00:00
Melanie
07c487a28f Make ban, eject, freeze and the scripted versions of those work. 2012-02-02 21:36:45 +01:00
Melanie
fd7e82ee72 Streamline banning code using existing methods. 2012-02-02 16:51:39 +01:00
Melanie
857d4e60cc Rehook the eject and freeze events that had gotten unhooked in the merge 2012-02-02 13:46:46 +01:00
Melanie
6fe4b6fbe8 Fix remembering attachment point and position when an item is rezzed in world.
Also fix PRIM_LOCAL_POS returning 0 when used on child prims from a script
in the root.
2012-02-02 02:51:59 +01:00
Melanie
dbc3f1ff92 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Framework/TaskInventoryItem.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
2012-02-02 01:53:13 +00:00
Melanie
45ad9e39a6 Improve reliability of script state saving by covering various saving
and loading scenarios which resulted in loss of continuity on item ids
2012-02-02 01:05:14 +01:00
Melanie
e5ae84b42b Re-Add the reading of attachment data hat was lost in the merge 2012-02-02 01:04:54 +01:00
Melanie
16aa00e944 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
2012-02-01 10:08:45 +00:00
Melanie
727ddffb71 Merge branch 'master' into careminster 2012-01-31 21:53:32 +00:00
Melanie
d76ca9cd93 Merge branch 'master' of ssh://melanie@3dhosting.de/var/git/careminster into careminster 2012-01-31 20:54:04 +00:00
Melanie
1b63b21a4d Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Application/OpenSimBase.cs
2012-01-31 20:53:49 +00:00
Melanie
c305b55012 Draw brders around parcels for sale 2012-01-31 06:31:02 +01:00
Melanie
71012ef883 Make parcel sale overlays work. No auction support. 2012-01-31 02:19:34 +01:00
Melanie
a0206e5a17 Comment debug spam 2012-01-30 22:30:20 +01:00
Melanie
0f181fe5d0 Fix displaying landmark and search info properly with long names 2012-01-30 22:30:02 +01:00
Melanie
cfe924e4a8 Merge branch 'master' into careminster 2012-01-30 21:40:50 +00:00
Melanie
e1cad4c34f Use the requested sim's map, not our own 2012-01-30 21:38:46 +00:00
Melanie
9dbb58ee8b Merge branch 'master' into careminster 2012-01-30 21:26:47 +00:00
Melanie
ad02e01e77 Merge branch 'master' of ssh://melanie@3dhosting.de/var/git/careminster into careminster 2012-01-30 16:44:26 +00:00
Melanie
1b600e7803 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Data/MySQL/MySQLSimulationData.cs
2012-01-30 16:38:11 +00:00
Melanie
9a86a713d3 Merge branch 'master' into careminster 2012-01-29 22:50:59 +00:00
Melanie
7c824f02b4 Add the ability to abort a pending restart using the viewer UI or a
RemoteAdmin message
2012-01-28 22:19:10 +01:00
Melanie
498fe1afe7 Fix calculating land prim count type width issue 2012-01-28 21:23:54 +01:00
Melanie
dac826da4e Prevent an overlong description from messing up a ParcelInfoReply 2012-01-28 20:38:50 +01:00
Melanie
6fbc48ee9c Make all NPCs owned by default 2012-01-28 03:32:25 +01:00
Melanie
6db9109b3f Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2012-01-28 03:22:36 +01:00
Melanie
abffda269f Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
2012-01-28 04:05:53 +00:00
Melanie
fbe324cc5e Fix build break 2012-01-28 03:15:17 +01:00
Melanie
090164ff7a Completely disable NPC being sensed as agents, the abuse potential is too great 2012-01-28 03:12:56 +01:00
Melanie
428407c5e4 Merge branch 'master' into careminster 2012-01-28 01:01:23 +00:00
Melanie
26a4e8a161 Merge branch 'master' into careminster 2012-01-27 23:30:26 +00:00
Melanie
86b9e6fbed Merge branch 'master' into careminster 2012-01-27 19:47:24 +00:00
Melanie
9d60b84f78 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Framework/EstateSettings.cs
2012-01-26 23:07:31 +00:00
Melanie
7229f6e64b Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2012-01-26 10:32:22 +00:00
Melanie
a537f7e1a3 Merge branch 'master' into careminster 2012-01-26 09:10:46 +00:00
Melanie
36e6edfc65 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
2012-01-26 00:44:32 +00:00
Melanie
4ce42762ee Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2012-01-26 00:21:21 +00:00
Melanie
b996517c94 Typo fix 2012-01-25 15:18:31 +01:00
Melanie
24862eaf15 Spin off starting scripts in rezzed objects into a thread to avoid a recursion
into the script engine if the script was suspended inside an event.
2012-01-25 14:44:09 +01:00
Melanie
2ca80add14 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneGraph.cs
2012-01-25 15:24:25 +00:00
Melanie
427ab55058 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneGraph.cs
2012-01-25 00:45:57 +00:00
Melanie
18fd36cba4 Merge branch 'master' into careminster 2012-01-24 04:07:02 +00:00
Melanie
6581849d24 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2012-01-24 03:14:47 +01:00
Melanie
ef6d6d20b9 Merge branch 'master' into careminster 2012-01-24 02:36:54 +00:00
Melanie
f10288ceae Add handling bans properly 2012-01-24 03:14:00 +01:00
Melanie
0369d21917 Add teleport routing, first part 2012-01-24 03:13:44 +01:00
Melanie
cc02f78d4e Simplify and streamline telehub editing code. Verify rotations and fix
spwan point positioning on rotated telehubs.
2012-01-24 01:48:38 +01:00
Melanie
d51ae0ecac Merge branch 'master' into careminster 2012-01-24 01:31:07 +00:00
Melanie
696fbdfa24 Reverse the spawn point distance vector 2012-01-24 01:29:50 +00:00
Melanie
69e4debc42 Merge branch 'master' into careminster 2012-01-24 01:18:43 +00:00
Melanie
090bf7acca Correct a coordinate to make the viewer like it 2012-01-24 01:17:41 +00:00
Melanie
8fcb9bf418 Correct some SQL syntax 2012-01-24 00:57:52 +00:00
Melanie
7a87be5015 Fix merge artefacts and build break 2012-01-24 00:45:17 +00:00
Melanie
616f2b5861 Merge branch 'master' into careminster 2012-01-24 00:38:34 +00:00
Melanie
07ad821157 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Data/MySQL/MySQLSimulationData.cs
	OpenSim/Framework/RegionSettings.cs
2012-01-24 00:36:42 +00:00
Melanie
22ae9331bb Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2012-01-23 13:51:20 +01:00
Melanie
4e0bb49394 Fix llLookAt the right way 2012-01-23 13:48:16 +01:00
Melanie
cd2bf64b87 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Data/MySQL/MySQLSimulationData.cs
2012-01-23 00:24:31 +00:00
Melanie
02572ab1d3 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Framework/RegionSettings.cs
2012-01-22 16:35:14 +00:00
Melanie
ba3b0c69f1 Merge branch 'master' into careminster 2012-01-21 19:52:33 +00:00
Melanie
08b6b3bb48 Add some logging 2012-01-17 17:36:26 +01:00
Melanie
5afb70b9fe Fix prim calculations so that > 32767 prims are supported 2012-01-17 15:30:52 +01:00
Melanie
747c25e920 Spin off NPC deletion into a thread to avoid it being done on a script
microthread. A stab at fixing exceptions.
2012-01-17 11:18:56 +01:00
Melanie
7549836986 Merge branch 'master' into careminster 2012-01-16 23:10:41 +00:00
Melanie
b14a6acd2f Merge branch 'master' into careminster 2012-01-16 23:08:47 +00:00
Melanie
d6b9504c84 Add methods to allow the groups modules to query online status and last login 2012-01-16 02:19:19 +01:00
Melanie
35911d2362 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2012-01-15 14:51:00 +01:00
Melanie
9447b6d15f Merge branch 'master' into careminster 2012-01-15 14:40:33 +00:00
Melanie
068b8e1f9b Disable using an agent ID to clone NPCs. The griefing potential is too great 2012-01-15 14:49:32 +01:00
Melanie
4cbf8d728e Fix merge 2012-01-14 05:39:56 +01:00
Melanie
43128c9016 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2012-01-14 06:09:19 +00:00
Melanie
72247bdaef Allow SmtpClients and other SSL users to work with our cert handler installed 2012-01-14 05:28:57 +01:00
Melanie
982f3d58a9 Merge branch 'master' into careminster 2012-01-13 04:04:39 +00:00
Melanie
9dc7fef4f6 Merge branch 'master' into careminster 2012-01-13 02:27:20 +00:00
Melanie
c7757d1038 Fix typo 2012-01-12 23:07:38 +01:00
Melanie
aa2cde2493 Disable unowned NPCs 2012-01-12 23:04:38 +01:00
Melanie
cf166d3f1e Merge branch 'master' into careminster 2012-01-12 23:22:55 +00:00
Melanie
4492bc1bcd Merge branch 'master' into careminster 2012-01-12 17:52:29 +00:00
Melanie
5d9e135b5c Remove ViewObjectInventory method unsupported by core 2012-01-12 01:11:05 +01:00
Melanie
1a3a1e6665 Adapt a cast to using the new TeleportFlags 2012-01-11 19:00:17 +01:00
Melanie
8fa1108b72 Merge branch 'master' into careminster 2012-01-10 21:28:59 +00:00
Melanie
a4c2e7f599 Merge branch 'master' into careminster 2012-01-10 20:34:43 +00:00
Melanie
1cc685e820 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2012-01-10 18:33:32 +00:00
Melanie
bc08cc201b Merge branch 'master' into careminster 2012-01-09 19:22:06 +00:00
Melanie
520b8b342e Merge branch 'master' into careminster 2012-01-09 06:52:46 +00:00
Melanie
0cf59534ff Update teleport routing to match Avination 2012-01-08 23:39:23 +00:00
Melanie
d5c5bbe0a1 Update teleport routing to match Avination 2012-01-08 23:38:43 +00:00
Melanie
4bf2e19898 Merge branch 'master' into careminster 2012-01-07 18:11:21 +00:00
Melanie
94fa6cb071 Fix threat level setting on osNpcPlayAnimation 2012-01-07 12:29:59 +01:00
Melanie
efe51fd5cb Don't try to save a NPCs attachment states on NPC delete 2012-01-07 12:06:21 +01:00
Melanie
69c0f252a4 Force the group tag of NPCs to "- NPC -" unless the name is completely blank. 2012-01-07 12:05:42 +01:00
Melanie
38ae479249 Make sure to prefix NPC names with "NPC:" so they can't be mistaken for users 2012-01-07 02:49:52 +01:00
Melanie
70157a4ec5 Fix some syntax issues 2012-01-06 22:33:51 +01:00
Melanie
a47aa46962 Add osNpcPlayAnimation and osNpcStopAnimation which respect ownership as well 2012-01-06 22:59:08 +00:00
Melanie
a34278cfc3 Merge branch 'master' into careminster
Conflicts:
	OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs
2012-01-06 22:41:26 +00:00
Melanie
de9d6096a5 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2012-01-06 21:37:01 +01:00
Melanie
11c48ac807 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
	OpenSim/Region/ScriptEngine/Shared/Tests/LSL_ApiTest.cs
2012-01-06 21:41:36 +00:00
John Cochran
e9b9eb6a4c Replaced llRot2Euler function.
The original function suffered from unexpected results due to rounding
errors. An error of only 1 or 2 ulps would cause the code to not detect
a singularity at Y rotation +/- PI/2 and take the non-singularity code
path. The replacement code does not suffer from wildly inaccurate
results at the +/- PI/2 singularity. The check in the code for the
singularity isn't strictly needed, but gives more consistent results
At the singularity, the X and Z rotations add. The if check simply
forces the X rotation to be zero so the entirety of the X+Z rotation is
carried by Z.

Additionally, the test code has been updated to include test cases that
caused the old code to fail. The test algorithm is also updated to
perform a more meaningful test. The original code checked if the values
against expected values. This could fail at +/- PI rotations since a
rotation around an axis by PI causes the identical effect as a rotation
by -PI. The new test code checks that the returned angles can be used
to recreate a quaternion that causes the same rotation.
2012-01-06 21:30:51 +00:00
Melanie
f1846045a6 Add osNpcCreateOwned to create an owned NPC. Those can be sensed only by the owner, can be destroyed only by the owner and only the owner can save their appearance. Added "NPC" as a flag to llSensor to sense NPCs and exclude them from "AGENT" results. 2012-01-06 21:34:43 +01:00
Melanie
2304420f6d Merge branch 'master' into careminster 2012-01-06 17:44:07 +00:00
Melanie
3003133a66 Merge branch 'master' of ssh://melanie@3dhosting.de/var/git/careminster into careminster 2012-01-06 17:39:39 +00:00
Melanie
81cf774fe8 Merge branch 'master' into careminster 2012-01-06 17:38:53 +00:00
Melanie
31dc5aa728 If dragging a script that is no copy from prim inventory into agent
inventory, stop it first in scene. If deleting from prims, move to trash
rather then making it poof.
2012-01-06 13:15:04 +01:00
Melanie
db482cb7dd Fix up asset stuff 2012-01-06 00:04:32 +01:00
Melanie
23ce1dfc27 Remove a dangling command registration 2012-01-05 23:54:51 +01:00
Melanie
fdfc4ab2a8 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Services/Connectors/Asset/AssetServiceConnector.cs
2012-01-06 00:08:18 +00:00
Melanie
e9296721c7 That needs to be callable from elsewhere! 2012-01-05 08:04:04 +01:00
Melanie
85d82c8140 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2012-01-05 07:43:16 +01:00
Melanie
1ebc9d04aa Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
2012-01-05 08:15:33 +00:00
Melanie
045f3b8b11 Clean up GetWorldPosition 2012-01-05 07:37:31 +01:00
Melanie
32b8fa4a77 Prevent spurious "CHANGED_POSITION" during region backup 2012-01-05 07:37:09 +01:00
Melanie
a6e305063e Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs
	OpenSim/Region/Framework/Scenes/Scene.cs
	OpenSim/Services/Connectors/Asset/AssetServiceConnector.cs
	OpenSim/Services/Interfaces/IUserAccountService.cs
2012-01-02 21:41:36 +00:00
Melanie
bde004c08e Merge branch 'master' into careminster 2011-12-28 09:24:35 +00:00
Melanie
bf4d727cd5 Fix permissions being lost and correct slam behavior, removing icompatible
code inherited from core and dead code.
2011-12-27 14:04:49 +01:00
Melanie
ad1c6442cd Remove a debug spam 2011-12-27 01:40:44 +01:00
Melanie
41f6d6a5ff Introduce a LightShare kill packet ans send it when needed. Currently only
understood by AVN v0.3
2011-12-24 16:18:01 +01:00
Melanie
2e07d24199 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2011-12-24 01:46:04 +01:00
Melanie
c4e16b26bb Merge branch 'master' into careminster 2011-12-24 02:21:35 +00:00
Melanie
c9dbcfbb31 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2011-12-24 01:43:44 +01:00
Melanie
f2855d3668 Add setter for Acceleration on physics objects. 2011-12-24 01:41:32 +01:00
Melanie
5b28e29530 Fix camera orientation for sit targets to use the prim actually sat on.
Now SL compatible.
2011-12-24 01:40:58 +01:00
Melanie
04806e02ed Add PRIM_POS_LOCAL as an alias to PRIM_POSITION for setting the position.
For SL compatibility only
2011-12-24 01:40:09 +01:00
Melanie
b8a914b15b Merge branch 'master' into careminster 2011-12-23 01:00:34 +00:00
Melanie
eef6f92029 Merge branch 'master' into careminster 2011-12-22 19:52:59 +00:00
Melanie
a15a58a7c1 Merge branch 'master' into careminster 2011-12-22 17:33:31 +00:00
Melanie
b72dd852b7 Merge branch 'master' into careminster 2011-12-22 16:58:38 +00:00
Melanie
66a0471efa Merge branch 'master' into careminster 2011-12-22 16:52:14 +00:00
Melanie
c63d5f8e0c Merge branch 'master' into careminster 2011-12-22 16:49:15 +00:00
Melanie
b970d4f976 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-12-22 16:37:25 +00:00
Melanie
ca6113a4d5 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
2011-12-20 21:51:43 +00:00
Melanie
2b4ebe657c Merge branch 'master' into careminster 2011-12-19 23:16:20 +00:00
Melanie
efa4284391 Merge branch 'master' into careminster 2011-12-19 21:30:57 +00:00
Melanie
759f1d2dbe Merge branch 'master' into careminster 2011-12-18 10:49:45 +00:00
Melanie
c4f1906b0a Make raycast more efficient by checking exclusion flags earlier 2011-12-17 12:57:20 +01:00
Melanie
8a9a8ed5c9 Fix hit testing link sets properly. Fix raycasting for LSL. 2011-12-17 12:31:25 +01:00
Melanie
69f29cb53e Merge branch 'master' into careminster 2011-12-14 19:50:43 +00:00
Melanie
898549d13e Merge branch 'master' into careminster 2011-12-14 08:57:55 +00:00
Melanie
df65245671 Spin off terrain save into a new thread and make it so that it uses the old
values for places where NaN are found.
2011-12-13 12:58:28 +01:00
Melanie
6d1d1c0dbf Comment debug spam 2011-12-13 00:36:44 +01:00
Melanie
d18a9f22e7 Prevent a nasty deadlock on teleport 2011-12-12 23:43:45 +01:00
Melanie
8418288e26 Make m_attachments private 2011-12-12 18:29:54 +01:00
Melanie
afab4b276e Remove spammy log messages when querying sim health 2011-12-12 13:51:31 +01:00
Melanie
95d533ce8a Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2011-12-12 11:09:13 +01:00
Melanie
52a4dbccbe Merge branch 'master' into careminster
Conflicts:
	OpenSim/Framework/RegionInfo.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-12-12 11:42:22 +00:00
Melanie
943b37b8e6 Send changed animation event asynchronously 2011-12-12 11:08:50 +01:00
Melanie
323ffd7a89 Fix a regression that causes data from the attachments module to fail loading 2011-12-10 15:28:32 +01:00
Melanie
db98698bbe Prevent spurious error message when client tries to move a null item 2011-12-10 14:47:00 +01:00
Melanie
6b080d57cb Merge branch 'master' into careminster 2011-12-10 15:19:31 +00:00
Melanie
3f42183797 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs
2011-12-10 00:40:41 +00:00
Melanie
5f6a4c4111 Merge branch 'master' into careminster 2011-12-09 22:55:08 +00:00
Melanie
00b36eb0fe Restore the Avination way of position and angle calculation so resizers
work again.
2011-12-09 20:55:48 +01:00
Melanie
f025387f10 Set adaptive throttles false by default because it doesn't play nice with AVN
code
2011-12-09 19:56:03 +01:00
Melanie
07c26111af Fix llGetLinkKey to report avatars properly 2011-12-09 16:36:25 +01:00
Melanie
cf97809ff1 Reverse the last one 2011-12-09 10:59:47 +01:00
Melanie
4eb3622bfe Dummy commit 2011-12-09 10:58:47 +01:00
Melanie
96b3eed1b0 Merge branch 'careminster' into bigmerge 2011-12-09 11:23:34 +00:00
Melanie
d913303875 Merge branch 'master' into bigmerge 2011-12-09 08:13:57 +00:00
Melanie
3b991a2222 Merge branch 'bigmerge' of ssh://melanie@3dhosting.de/var/git/careminster into bigmerge 2011-12-08 18:30:09 +00:00
Melanie
96539ffc79 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2011-12-08 18:29:19 +00:00
Melanie
8d7c353500 Merge branch 'master' into bigmerge 2011-12-08 05:47:45 +00:00
Melanie
3217bccfcd Merge branch 'bigmerge' of ssh://3dhosting.de/var/git/careminster into bigmerge 2011-12-08 05:29:13 +01:00
Melanie
1e4842eaba Remove superfluous try block 2011-12-08 05:28:54 +01:00
Melanie
7c7dd6269a Merge branch 'bigmerge' of ssh://3dhosting.de/var/git/careminster into bigmerge 2011-12-08 03:37:48 +01:00
Melanie
ea1f5fb08d Merge branch 'master' into bigmerge 2011-12-08 03:53:30 +00:00
Melanie
603ad905e1 Adapt to justincc's remote admin refactor 2011-12-08 03:53:09 +00:00
Melanie
ac82fc60f9 Merge commit 'fb2f4f158c42ecfea114eb7cefd9074dc001626f' into bigmerge 2011-12-08 03:30:23 +00:00
Melanie
50aa89dae6 Merge commit 'eda770e978c09c756d15ba62dbbf6ee34a61b2f5' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2011-12-08 03:24:25 +00:00
Melanie
b459239833 Recover from an internal mess-up in the outgoing packet queues by creating
a new queue object.
2011-12-08 01:08:40 +01:00
Melanie
ccba04f345 Fix intersim object give messages 2011-12-07 01:27:52 +01:00
Melanie
f317953290 Fix up intersim give messaging 2011-12-07 01:02:46 +01:00
Melanie
d6486fe14a Fix task inventory giving 2011-12-07 00:43:59 +01:00
Melanie
62d0a0cdbf Remove harmless merge artefact 2011-12-06 22:58:00 +01:00
Melanie
5490a3e549 Fix phantom and temp flags not taking 2011-12-06 19:44:45 +01:00
Melanie
28da235888 Merge branch 'master' into bigmerge 2011-12-06 19:01:05 +00:00
Melanie
09c043fe52 Adapt GodsModule to core changes 2011-12-05 21:26:43 +01:00
Melanie
5b07370ec4 Remove erroneous message about hyperlinks when entering an invalid region name
in map search.
2011-12-05 21:26:06 +01:00
Melanie
bc17e2e9cf Merge branch 'master' into bigmerge 2011-12-05 20:32:35 +00:00
Melanie
47d0a50a19 Add the proper result code as per the LL announcement for llTransferLindenDollars 2011-12-05 20:02:27 +01:00
Melanie
6362df1202 Serialize the Volume Detect field 2011-12-05 19:33:25 +01:00
Melanie
1ece4feccd Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
2011-12-05 19:08:19 +00:00
Melanie
cc482ee865 Merge branch 'bigmerge' of ssh://melanie@3dhosting.de/var/git/careminster into bigmerge 2011-12-05 18:54:31 +00:00
Melanie
2a8a46a32d Fix CHANGED_TEXTURE and CHANGED_COLOR. 2011-12-05 18:32:40 +01:00
Melanie
5ab536a1e9 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-12-05 17:10:51 +00:00
Melanie
3281b99362 Strip CR from http responses and limit them to 2048 chars 2011-12-05 15:57:47 +01:00
Melanie
b7c9eb4bf7 Don't allow deletion of a terrain from the database unless we have one to replace it with 2011-12-05 15:46:57 +01:00
Melanie
68bdd0b7fe Fix setting seated avatar position and make llSameGroup work as in SL. 2011-12-05 15:26:49 +01:00
Melanie
35800d6a86 Reinstate setter for OffsetPosition to allow setting the offset by script
while seated
2011-12-05 15:26:22 +01:00
Melanie
19d6aa2bc9 Don't allow position update on sitting avatar. Don't bounds check sitting
avatars as they will be crossed by the vehicle and not individually
2011-12-04 20:16:07 +01:00
Melanie
ec8c93aa5e Implement ChangeInventoryItemFlagsPacket handling 2011-12-04 12:35:01 +01:00
Melanie
516c3dfbbb Remove some debug code that had snuck in 2011-12-01 16:12:09 +01:00
Melanie
797982ee11 Implement llTransferLindenDollars 2011-12-01 13:30:10 +01:00
Melanie
8f2d7881bd Merge branch 'bigmerge' of ssh://3dhosting.de/var/git/careminster into bigmerge 2011-12-01 11:56:40 +01:00
Melanie
b60ff651a3 Merge branch 'master' into bigmerge 2011-12-01 12:16:59 +00:00
Melanie
dc612d0f08 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
2011-11-28 11:06:38 +00:00
Melanie
80148bf784 Merge branch 'bigmerge' of ssh://3dhosting.de/var/git/careminster into bigmerge 2011-11-28 11:21:15 +01:00
Melanie
a8270cb48c Merge branch 'master' into bigmerge 2011-11-24 01:16:37 +00:00
Melanie
11dfd7711b Merge branch 'bigmerge' of ssh://3dhosting.de/var/git/careminster into bigmerge 2011-11-24 00:54:52 +01:00
Melanie
bdb5ac96d9 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
	OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
2011-11-19 22:39:15 +00:00
Melanie
dec8b9c98d Merge branch 'bigmerge' of ssh://3dhosting.de/var/git/careminster into bigmerge 2011-11-19 22:26:41 +01:00
Melanie
31736b1aac Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
2011-11-17 19:04:27 +00:00
Melanie
d1c80efd41 Merge branch 'bigmerge' of ssh://3dhosting.de/var/git/careminster into bigmerge 2011-11-17 19:15:41 +01:00
Melanie
e9c386f6a6 Force a sim exit when hearbeat isn't restarting successfully 2011-11-17 19:15:11 +01:00
Melanie
df35720cf5 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneViewer.cs
2011-11-14 20:34:49 +00:00
Melanie
17f32b7773 Fix build break 2011-11-14 20:33:39 +00:00
Melanie
afca742392 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs
2011-11-14 20:03:47 +00:00
Melanie
6daa61d6ba Merge branch 'master' into bigmerge 2011-11-12 12:36:52 +00:00
Melanie
efc6c6db7c Fix taking or returning locked objects losing permissions for owner 2011-11-12 12:09:28 +01:00
Melanie
a4ec97cfdd Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
	OpenSim/Services/AuthenticationService/PasswordAuthenticationService.cs
2011-11-11 23:43:18 +00:00
Melanie
ed9500f08c Merge branch 'master' into bigmerge 2011-11-11 16:32:08 +00:00
Melanie
3a307878fd Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneGraph.cs
2011-11-11 01:24:53 +00:00
Melanie
a9fbf3a4e0 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
2011-11-11 01:19:38 +00:00
Melanie
d15d5bf181 Merge branch 'master' into bigmerge 2011-11-11 00:28:21 +00:00
Melanie
a081df75e2 Prevent linking objects while they are deeded. On unlinking deeded objects,
set LastOwnerID properly so the parts cannot be transferred, circumventing
no trans perms
2011-11-10 23:59:13 +01:00
Melanie
e9055cec17 Merge branch 'master' into bigmerge 2011-11-10 23:44:19 +00:00
Melanie
008b213ec0 Fix turn left and turn right properly. Works for both built-ins and LSL AOs 2011-11-10 23:15:03 +01:00
Melanie
4939d99b57 Merge branch 'master' into bigmerge 2011-11-10 23:03:50 +00:00
Melanie
e7fed80e85 Merge branch 'bigmerge' of ssh://3dhosting.de/var/git/careminster into bigmerge 2011-11-10 22:35:41 +01:00
Melanie
81fbe7ffb1 Implement nudging support for strafing motion 2011-11-10 22:34:54 +01:00
Melanie
cb7ea68942 Merge branch 'master' into bigmerge 2011-11-10 20:56:44 +00:00
Melanie
063920e0a2 Fix misaligned sit animation on scripted sit caused by the default sit
animation being run after the scripted one.
2011-11-10 20:26:14 +01:00
Melanie
a1426739a2 Merge branch 'master' into bigmerge 2011-11-10 17:35:35 +00:00
Melanie
d40d0e4596 Fix the ability to move the seated avatar via LSL 2011-11-08 23:15:09 +01:00
Melanie
adbc69bb07 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs
2011-11-07 02:41:56 +00:00
Melanie
69322b84ce Fix up failing test to compensate for changed sit target offset 2011-11-06 21:46:03 +00:00
Melanie
323b76cee4 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
	OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
	OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
	OpenSim/Region/Framework/Scenes/AsyncSceneObjectGroupDeleter.cs
	OpenSim/Region/Framework/Scenes/Scene.cs
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
2011-11-06 20:54:13 +00:00
Melanie
84a61cd00b Merge branch 'bigmerge' of ssh://melanie@3dhosting.de/var/git/careminster into bigmerge 2011-11-06 20:45:07 +00:00
Melanie
51bad0f8ae Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2011-11-06 20:12:57 +00:00
Melanie
c9179be1ed Small preformance tweak 2011-11-06 20:16:24 +01:00
Melanie
89a1d7c37c Break out the parts of ScenePresence that differ from core 2011-11-05 23:37:43 +00:00
Melanie
1abb381c7a Merge branch 'master' into bigmerge 2011-11-05 23:12:23 +00:00
Melanie
57194facdc Fix up with core changes 2011-11-05 23:06:59 +00:00
Melanie
facdc9c46e Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-11-05 22:56:08 +00:00
Melanie
9bded61ca4 Whitespace fix from core 2011-11-05 22:48:32 +00:00
Melanie
5517e21068 Harmonize with core and remove extraneous comments with no information in them 2011-11-05 22:34:36 +00:00
Melanie
534560df8c Remove backup optimization that was causing prim contents to poof 2011-11-05 23:31:20 +01:00
Melanie
8fb6ae379a Change m_falling public to a getter property. 2011-11-05 22:05:27 +00:00
Melanie
9c6025f928 Adapt to the core SP rework 2011-11-05 21:53:05 +00:00
Melanie
0f279b1187 Some more changes to catch up with core 2011-11-05 21:23:25 +00:00
Melanie
cc8e693fb9 Remove unused and broken OffsetRotation from ScenePresence 2011-11-05 20:39:43 +00:00
Melanie
506653ff00 Some trivial changes to get closer to core 2011-11-05 20:32:20 +00:00
Melanie
1a6b2a6429 Change comment formatting to match core for a cleaner diff 2011-11-05 20:17:02 +00:00
Melanie
bda7b3dffe Replace our patched up, broken an rebroken sit code with the code from
core which has now matured beyond what we had.
2011-11-05 19:28:16 +01:00
Melanie
03f5bbcaf2 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-11-05 11:17:40 +00:00
Melanie
2cf6172689 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-11-05 11:05:32 +00:00
Melanie
c3a23ffcdc Merge branch 'master' into bigmerge 2011-11-05 00:10:53 +00:00
Melanie
b9f7aebde3 Merge branch 'master' into bigmerge 2011-11-04 23:21:19 +00:00
Melanie
24235006f4 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
	OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs
	OpenSim/Region/CoreModules/LightShare/LightShareModule.cs
	OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
2011-11-04 01:18:37 +00:00
Melanie
457195466d Merge branch 'master' into bigmerge 2011-11-03 00:23:58 +00:00
Melanie
26a4f32013 Merge branch 'bigmerge' of ssh://3dhosting.de/var/git/careminster into bigmerge 2011-11-02 23:42:37 +01:00
Melanie
afde92d8cc Merge branch 'master' into bigmerge 2011-11-03 00:07:29 +00:00
Melanie
243acef917 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneGraph.cs
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2011-11-03 00:06:14 +00:00
Melanie
52d8fa2d0f Merge branch 'master' into bigmerge 2011-11-02 23:51:12 +00:00
Melanie
ce8419fdd0 Fix link order when linking sets to sets 2011-11-02 23:42:09 +01:00
Melanie
afae9eafbe Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2011-11-02 12:34:57 +00:00
Melanie
c55e161dc4 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2011-11-02 11:49:25 +00:00
Melanie
9a8715ec9a Merge branch 'master' into bigmerge 2011-11-02 00:07:59 +00:00
Melanie
b69f679122 Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
2011-11-01 23:54:09 +00:00
Melanie
4002e205cb Merge branch 'master' into bigmerge 2011-10-31 10:53:17 +00:00
Melanie
e431d5dae4 Plug a security hole in the inventory service 2011-10-31 10:18:25 +01:00
Melanie
083b28de8c Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
2011-10-30 10:16:25 +00:00
Melanie
175d74e68c Fix the offline message module to revert core changes and restore avn
specific behavior
2011-10-28 23:10:54 +02:00
Melanie
9b6ce41b0e Reduce severity and remove duplication if a common log message regarding
baked textures
2011-10-28 23:10:22 +02:00
Melanie
955144584d Merge branch 'bigmerge' of ssh://3dhosting.de/var/git/careminster into bigmerge 2011-10-27 17:45:51 +02:00
Melanie
b975cbcbed Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
	OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs
	OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs
	OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2011-10-27 18:14:38 +01:00
Melanie
6a96c9546d Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2011-10-26 17:48:51 +01:00
Melanie
c763419043 Merge branch 'bigmerge' of ssh://3dhosting.de/var/git/careminster into bigmerge 2011-10-26 17:55:53 +02:00
Melanie
fd22159d0c Merge branch 'master' into bigmerge
Conflicts:
	OpenSim/Framework/Watchdog.cs
2011-10-26 01:27:24 +01:00
Melanie
27aca49a1f Merge commit 'e14cb45b9bc4c78300cb804833cb66c1c2e62187' into bigmerge 2011-10-25 03:26:51 +01:00
Melanie
c8dfef1583 Merge commit '9ec672c70b28b8c1d6d81bab7744fcf7bf9b83c7' into bigmerge 2011-10-25 03:26:44 +01:00
Melanie
a055dd39ac Merge commit '79d5bc9beb445ca07cff9ecbd91d89b2a57e14da' into bigmerge 2011-10-25 03:26:34 +01:00
Melanie
8131ad0fb6 Merge commit '48295793b0d07579d9e31744ae6969df647f663c' into bigmerge 2011-10-25 03:26:27 +01:00
Melanie
740077a291 Merge commit 'e28e2d24c714c3fba1cba60097986a1c1c28c6c0' into bigmerge 2011-10-25 03:26:20 +01:00
Melanie
4e9457ca0c Merge commit '4c9400e6460a73baa2d687afe73a62c6efca9f37' into bigmerge
Conflicts:
	OpenSim/Services/AuthenticationService/AuthenticationServiceBase.cs
2011-10-25 03:26:09 +01:00
Melanie
e94574196f Merge commit 'b868328d519cfb3db597f684fd1f947912fc2222' into bigmerge 2011-10-25 03:19:55 +01:00
Melanie
271c798813 Merge commit 'c2272a755fc6d3b07bc9b87bd9b83f4ae063ce9f' into bigmerge 2011-10-25 03:19:49 +01:00
Melanie
84ea10a78c Merge commit '3fc47275cff5f74e370a24f63f42a6bee023ee17' into bigmerge 2011-10-25 03:19:35 +01:00
Melanie
508f2ebb76 Merge commit '655aee44c4236d7023b9274645bf033b87b17131' into bigmerge 2011-10-25 03:19:30 +01:00
Melanie
98b7bd01cb Merge commit '229ca09b7956f51fc2618dc35dff87cf04bf0fc9' into bigmerge 2011-10-25 03:19:16 +01:00
Melanie
02f0aa592d Merge commit 'ffdf59a57c936189e3b161b79b4a76a3a9b260bb' into bigmerge 2011-10-25 03:19:10 +01:00
Melanie
8639b037e1 Merge commit '30320505fa54640baf4ecaff8bb743f62ef01f86' into bigmerge 2011-10-25 03:18:59 +01:00
Melanie
de8cdbda15 Merge commit 'bc2da4eaadb0dbf8502d95fc2e40b1fdcc86e218' into bigmerge 2011-10-25 03:18:53 +01:00
Melanie
be2cfeb5c3 Merge commit 'c4f8da735914f9a9b1fb99f05313ba0537b528b9' into bigmerge 2011-10-25 03:18:49 +01:00
Melanie
da805d0cce Merge commit '5d7eaedbebd408d948321dc474927fc72d3d98c5' into bigmerge 2011-10-25 03:18:38 +01:00
Melanie
56f3da7b5a Merge commit '9b3bbedeea5c6ea2421b36e5f0e23ab798870ba0' into bigmerge 2011-10-25 03:18:29 +01:00
Melanie
1ae36695ba Merge commit 'a1f05a289dd845edb7e3d163b84ceecc85374427' into bigmerge 2011-10-25 03:18:23 +01:00
Melanie
0531b73695 Merge commit '4241ee5dfab99d4e247624a2f368a8a931d2e54c' into bigmerge 2011-10-25 03:18:10 +01:00
Melanie
564563d273 Merge commit '30fe66d3ab534422407415817b570a66096c543b' into bigmerge 2011-10-25 03:18:04 +01:00
Melanie
6d4480c1ca Merge commit '9c430208769ab7fd7877093e278e8fcae02ecef3' into bigmerge 2011-10-25 03:17:59 +01:00
Melanie
3d0d84aff7 Merge commit '6837e44d0707e501795df2d690c6005f5ba1d591' into bigmerge 2011-10-25 03:17:45 +01:00
Melanie
e35835602f Merge commit 'b63ec987b0a1692da4c5e84facf0ea149d4cfe90' into bigmerge 2011-10-25 03:17:40 +01:00
Melanie
e058b0822f Merge commit 'f16d125027aba098e45dc026f9d507a430bc2b10' into bigmerge 2011-10-25 03:17:26 +01:00
Melanie
bfc0c96379 Merge commit '9ab2943abf5f890a53dc8ada48bf63ed15331c07' into bigmerge 2011-10-25 03:17:18 +01:00
Melanie
d1028b3647 Merge commit 'eac29396d98a4864923a69e0eb73cecdd8a225b3' into bigmerge 2011-10-25 03:17:11 +01:00
Melanie
68682d6faa Merge commit '8b20faf06c4850df800945c8135aa90c2eebe034' into bigmerge 2011-10-25 03:16:58 +01:00
Melanie
04678836c3 Merge commit 'da794f34a56f7c88904315ae538de8f3790e6891' into bigmerge 2011-10-25 03:16:47 +01:00
Melanie
635b1bf18e Merge commit '601dabb1b73a894e4f2f61abe6e9053d380008cd' into bigmerge 2011-10-25 03:16:40 +01:00
Melanie
85d40ce1d1 Merge commit '5607fd3af828846291de3358067bb1214619489e' into bigmerge
Conflicts:
	OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
	OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
2011-10-25 03:16:26 +01:00
Melanie
df430d572d Merge commit '3cf7fb4eca2ad57835311e8098868f2571709392' into bigmerge
Conflicts:
	OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
	OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
2011-10-25 03:10:54 +01:00
Melanie
1bb0e3c800 Merge commit 'b45219065c7a81b3ec488b3a6734773c34268618' into bigmerge
Conflicts:
	OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
2011-10-25 03:07:25 +01:00
Melanie
1ec82bb000 Merge commit '116fbe8258e336be3f6ac1e11119214629799faa' into bigmerge
Conflicts:
	OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
2011-10-25 03:06:18 +01:00
Melanie
89e973805d Merge commit 'ecad9f9fd589f90d1c7a20faf14af0304804b616' into bigmerge 2011-10-25 02:57:01 +01:00
Melanie
a71c60ee6d Merge commit 'd9184eceab5ff9087801b0f0d447dec2f5227a50' into bigmerge 2011-10-25 02:56:56 +01:00
Melanie
b6881187d0 Merge commit 'fe484ab331871e1419ee78afefca7c8856e2dfb4' into bigmerge 2011-10-25 02:56:45 +01:00
Melanie
752b744105 Merge commit '178b8d0926a53d82f54d60c088f36c7bad13dc87' into bigmerge 2011-10-25 02:56:40 +01:00
Melanie
1b87a0c229 Merge commit '4cffdf15ba320b71650ade9edddec2286b1c5258' into bigmerge 2011-10-25 02:56:30 +01:00
Melanie
3555987fe9 Merge commit '9f171041c950d55d86481cdcee7a04c623bea8b2' into bigmerge 2011-10-25 02:56:22 +01:00
Melanie
e1ff72209f Merge commit '97c66f8eac648229b55ba5a000d57e4b9377c663' into bigmerge 2011-10-25 02:56:15 +01:00
Melanie
cdca0fb387 Merge commit '9d59b285bbc84aa620200e7da69be0f347dd69f4' into bigmerge 2011-10-25 02:56:03 +01:00
Melanie
f5e2bdebef Merge commit 'c85a780583cb36bac95f69c5d704f60a758d56bb' into bigmerge 2011-10-25 02:55:57 +01:00
Melanie
71b4486356 Merge commit '581885da75c57250201b34e2d585d32c8f07089a' into bigmerge 2011-10-25 02:55:46 +01:00
Melanie
6a01246cc6 Merge commit '03202ada2918c0c0837e8de50e3a0436e4407c91' into bigmerge 2011-10-25 02:55:38 +01:00
Melanie
10dff1da7f Merge commit '1d4cd76e8a8c64da71fc384ff9c654d7f4f849c1' into bigmerge 2011-10-25 02:55:25 +01:00
Melanie
2134f23da0 Merge commit 'f10a824e47549806c1fa647c4e9fba4c8cf6ad13' into bigmerge 2011-10-25 02:55:19 +01:00
Melanie
43751d0cfd Merge commit '5515c45e3b42497f64f8e5846697471b1de952c5' into bigmerge 2011-10-25 02:55:14 +01:00
Melanie
7ac9463e35 Merge commit '71d221cdc090cdedf371ead534421bb7074908cd' into bigmerge 2011-10-25 02:55:01 +01:00
Melanie
90f17785c3 Merge commit '352002fd0b74a87f62ea82c76969e4110ba2542f' into bigmerge 2011-10-25 02:54:53 +01:00
Melanie
0cbba1da8d Merge commit 'aeb4ff02744573cb91e8991bf9df81412b80e156' into bigmerge 2011-10-25 02:54:41 +01:00
Melanie
dc24ac4f20 Merge commit '120114e96becc6fee1311300359dcefaf4013c0e' into bigmerge 2011-10-25 02:54:34 +01:00
Melanie
51fd5bac5e Merge commit '96ff2c63ed47e29a92cc79b6e8753d21e54da061' into bigmerge
Conflicts:
	OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
2011-10-25 02:54:24 +01:00
Melanie
b7237ef059 Merge commit '62a63f834b7cc056ee37c396034d0e268f66b4a8' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-10-25 02:35:33 +01:00
Melanie
5c09cffe55 Merge commit '79c13cd99728f09a5175dff1750dcb9d7790fcdc' into bigmerge 2011-10-25 02:27:35 +01:00
Melanie
496c647ab5 Merge commit 'de161585c0960a93911f446f0179441ba5470245' into bigmerge 2011-10-25 02:27:26 +01:00
Melanie
8c5c32fc45 Merge commit 'ddcb88ff53d2348dfc81451a3ec61bb643c49aff' into bigmerge 2011-10-25 02:27:13 +01:00
Melanie
e2de57ca29 Merge commit '0c041ce12f393367e2754e88d9b8dad5e45f88c4' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-10-25 02:26:56 +01:00
Melanie
f6ea36b4fa Fix a missing locking call 2011-10-25 03:15:28 +02:00
Melanie
4215aea036 Merge commit '730460169f2a45e934b42b2464f7c7472f7fac48' into bigmerge 2011-10-25 02:15:13 +01:00
Melanie
57b51287ae Merge commit 'bbd0e68c06b79acf0781d78e81fa292f549d676b' into bigmerge 2011-10-25 02:15:06 +01:00
Melanie
f387e84e51 Merge commit 'b9930a6305e9c8bb9197fc9dc49219f4fb7ff32c' into bigmerge 2011-10-25 02:15:01 +01:00
Melanie
353f0c0e03 Merge commit 'ddf54b5537f2701deeb615ef8e1eeef20b746ea1' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2011-10-25 02:14:39 +01:00
Melanie
585f1b189f Merge 2011-10-25 02:08:43 +01:00
Melanie
f50538c81a Merge commit '528cc8136e567b5bac583728fbb0235baaba2f02' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
2011-10-25 01:55:01 +01:00
Melanie
3cdea11e29 Merge commit '5ddefc256468e4b394d82a2c4bc69fe28c4b59ea' into bigmerge 2011-10-25 01:54:07 +01:00
Melanie
8841b77cd1 Merge commit '3843efe478ed682fd08bf12ea8bd7377c68a36fb' into bigmerge 2011-10-25 01:53:53 +01:00
Melanie
9dd7d9c16c Merge commit 'f2889d7ce97a01086dc7fc0690865a1eae452364' into bigmerge 2011-10-25 01:53:24 +01:00
Melanie
28d2103439 Merge commit '732e9373795a35ed1965bbb93a02117fcf0a8c3e' into bigmerge 2011-10-25 01:53:02 +01:00
Melanie
e43e1b49db Merge commit 'c93c9ea072f319125f466c913f5f4fe1f6864045' into bigmerge 2011-10-25 01:52:54 +01:00
Melanie
077e3500b2 Merge commit '978fb3d482072d840e6280aa5acd090b67ee6205' into bigmerge 2011-10-25 01:52:42 +01:00
Melanie
a09e72c8cc Merge commit '9cc2694776e261868138c325a82ce5481c2908ec' into bigmerge 2011-10-25 01:52:26 +01:00
Melanie
63cbdb9b2a Merge commit 'f2132329a358db2c66c29501d35ef54eae8d6eed' into bigmerge 2011-10-25 01:52:19 +01:00
Melanie
3eb51e9a79 Merge commit 'bea65b06a445c267ecb77be08452146cb7fee1ce' into bigmerge 2011-10-25 01:52:12 +01:00
Melanie
2d4ba1a871 Merge commit '03102864f0d9851b6937ca5472f48f10ec861a26' into bigmerge 2011-10-25 01:52:00 +01:00
Melanie
f4e4026a7a Merge commit '4bfc2f5cdea4b739110cae3b37945d88ad527334' into bigmerge 2011-10-25 01:51:49 +01:00
Melanie
fe014a05ac Merge commit '83c7b9b609d3c78d099a0bf18de8685676184f94' into bigmerge 2011-10-25 01:51:37 +01:00
Melanie
2895789bd0 Merge commit 'aa19ccf65c9cd235e0ba941e9832c5240df4412c' into bigmerge 2011-10-25 01:51:24 +01:00
Melanie
24e260744a Merge commit '77c65951e06c1d309f2bc8f6d2451b2b9a82c9df' into bigmerge 2011-10-25 01:51:06 +01:00
Melanie
69b480770a Merge commit 'ee84c0589ccca1e7f3216ca1395c3002b773f30f' into bigmerge
Conflicts:
	OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
2011-10-25 01:50:55 +01:00
Melanie
b4395143e7 Merge commit '4e7d4330c2b2c61e64c9f82efa7b824b717b2e4d' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2011-10-25 01:50:07 +01:00
Melanie
0a65e7cadc Merge commit '128d8dfd8b355f84a71e2093e942937ca720c5c6' into bigmerge 2011-10-25 01:47:38 +01:00
Melanie
be3939358b Merge commit 'fd274a668803bc3da4cec95180538116038b503a' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2011-10-25 01:47:35 +01:00
Melanie
506769c6a2 Merge commit 'a6fa15e8b65a123d79a1bea8cccb459f76139314' into bigmerge 2011-10-25 01:43:27 +01:00
Melanie
53caaa8236 Merge commit 'ceb326284e49f0817fa0f848136ff60e6f66568f' into bigmerge 2011-10-25 01:43:12 +01:00
Melanie
747786aac0 Merge commit '20da04fd0c909a00c0cdc2585f242e95c868801a' into bigmerge 2011-10-25 01:43:05 +01:00
Melanie
d68b73bfba Merge commit '227db07f2ff8a1ba840a0d3018bb242a34d6038f' into bigmerge 2011-10-25 01:42:56 +01:00
Melanie
a8cc81a37e Merge commit 'f08664f422f984fa57cc0ecb97c04eee3dccd183' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-10-25 01:42:52 +01:00
Melanie
9ceb98344a Merge commit '631d5e16ef8c5340b6283b1a9ed9cc95aea3e3a1' into bigmerge 2011-10-25 01:37:11 +01:00
Melanie
13d635d1d7 Merge commit 'f5f7ca47ea7a27fb7f82367cc7a4e04e11cb5155' into bigmerge 2011-10-25 01:37:01 +01:00
Melanie
8e69dde397 Merge commit 'ea7366ddc6f0e13519589fcaa3729fd36b5eef79' into bigmerge
Conflicts:
	OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
2011-10-25 01:36:39 +01:00
Melanie
0b833c458a Merge commit 'c5826d589ab2f33a71105bc2d3015ffbb7dd2973' into bigmerge 2011-10-25 01:35:51 +01:00
Melanie
b8352c153b Merge commit '36e73dbc9b7fb46885865f5537c43a29239fd559' into bigmerge 2011-10-25 01:35:38 +01:00
Melanie
080a41e9f9 Merge commit 'f9ffd2538f3bf300e8f751258a6129fb780b5b0a' into bigmerge 2011-10-25 01:35:30 +01:00
Melanie
5f025d20fe Fix ground sit autopilot 2011-10-25 00:53:39 +02:00
Melanie
4a6160e7ad Fake an AgentCircuitData if none is available rather than crashing out 2011-10-24 18:22:36 +02:00
Melanie
8cca9fe23c Allow updating the movement animation while flying. This fixes falling,
splatting and ground sit. Walking to a ground sit still doesn't work.
2011-10-21 03:15:56 +02:00
Melanie
fd0e65b0b1 Fix up the animator and ScenePresence to like each other again 2011-10-20 23:11:53 +02:00
Melanie
35def547f7 Merge branch 'master' into bigmerge 2011-10-12 16:45:48 +01:00
Melanie
c9fae6f8a2 Disable Flotsam groups messaging module in our config base 2011-10-12 09:27:48 +02:00
Melanie
d2dc2316c2 Merge branch 'master' into bigmerge 2011-10-12 09:26:35 +01:00
Melanie
1d379a9c7b Make WALK animation state work again. TURNLEFT and TURNRIGHT are now rebroken 2011-10-12 07:46:13 +02:00
Melanie
e3effc4974 Merge branch 'master' into bigmerge 2011-10-12 07:29:35 +01:00
Melanie
4b069d23d0 Merge commit 'f138a2056ecea4016d75fec276a390955dbfd688' into bigmerge 2011-10-12 07:24:53 +01:00
Melanie
816d0de11a Merge commit '28f549bd64eb423ae43a5c23c1da5094e6269150' into bigmerge 2011-10-12 07:24:46 +01:00
Melanie
628ca122b8 Merge commit '353e7ce873fb139ad4050023ce08339d953ad4d5' into bigmerge 2011-10-12 07:24:34 +01:00
Melanie
de109797f2 Merge commit '62aad4c18f1ebc0780ce47cf179f3d5550ff0837' into bigmerge 2011-10-12 07:24:26 +01:00
Melanie
cc637b78fb Merge commit '19096bd391ac88bbccda00e4660a061020118bb9' into bigmerge 2011-10-12 07:24:13 +01:00
Melanie
ad46ad1ab2 Merge commit '8114f895c2973ac9e2e456ac2aaad8deb23f3852' into bigmerge 2011-10-12 07:23:54 +01:00
Melanie
98ae98510c Merge commit '2b290793ab7153c956db5637dd27dfbbd0a1cf98' into bigmerge 2011-10-12 07:23:40 +01:00
Melanie
5d3acc9ac3 Merge commit '013bf2775fc02d12ef39f6ca49ff8ecd53028e9c' into bigmerge 2011-10-12 07:23:32 +01:00
Melanie
b716d98e23 Merge commit '156385f48b2b2829f2d427c72f269406c46019fa' into bigmerge 2011-10-12 07:23:18 +01:00
Melanie
3657cd436c Merge commit 'a6c5e00c45b3d64b4e912a65c8ed7f31eb643759' into bigmerge 2011-10-12 07:23:08 +01:00
Melanie
cc4b1c69d8 Merge commit '29660fe175ef3b49ff649a26bd9bcf4c9eb7c6dd' into bigmerge 2011-10-12 07:23:02 +01:00
Melanie
3a290e581a Merge commit '71d29decc87952790b3f5264ad4a29da171b1689' into bigmerge
Conflicts:
	OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs
2011-10-12 07:09:41 +01:00
Melanie
1c67c13d77 Merge commit '5551542c286c5db4fa47527c3167bcf539116ada' into bigmerge 2011-10-12 07:09:10 +01:00
Melanie
2c23fc9e68 Merge commit '4073cd6ced525cb36e4335e79e3f94ad4872b263' into bigmerge 2011-10-12 07:09:04 +01:00
Melanie
d03d486dbb Merge commit 'ff80113534182bbcbcb49a73035776134fb04e3e' into bigmerge 2011-10-12 07:08:46 +01:00
Melanie
2f6cc77154 Adjust CM version tag 2011-10-12 07:08:23 +01:00
Melanie
336f6f7ec4 Merge commit 'f8c06c61149b1ab3e3002247280be250b558a79e' into bigmerge 2011-10-12 07:07:37 +01:00
Melanie
e2935c1bd4 Merge commit 'b5e6209cfd1c0b655852cf40e99f50aa2db9d8fa' into bigmerge 2011-10-12 07:07:23 +01:00
Melanie
4a284110e6 Merge commit '5bc6503ae1295d00934a5f2ab92484ebcc8513a1' into bigmerge 2011-10-12 07:07:12 +01:00
Melanie
8211169876 Merge commit '1c548179778befb50ee7481be7ffc91f2d53fede' into bigmerge 2011-10-12 07:07:05 +01:00
Melanie
492a50d6f7 Merge commit 'a9b3ab0c85b567552f31490126a1ff5479352413' into bigmerge 2011-10-12 07:06:59 +01:00
Melanie
e18a76f6d6 Merge commit 'e3c522e2118108a01d2c6f77c8065224d53d6bb9' into bigmerge 2011-10-12 07:05:57 +01:00
Melanie
00285082d8 Merge commit '4b46b7a5adb1c7449725ed1cf1fa5d7122af10bb' into bigmerge 2011-10-12 07:05:47 +01:00
Melanie
9b4b022ecb Merge commit 'f26a966b8e79688ca2ed81c236492d694f34ac7d' into bigmerge 2011-10-12 07:05:39 +01:00
Melanie
abfb0c9399 Merge commit '4748c19bdbcdcaf6050e1f04a5f7394a88e0bf3e' into bigmerge 2011-10-12 07:05:18 +01:00
Melanie
b251423b11 Merge commit '1f78dc65041729567edc411a3e63dd9a32a268a3' into bigmerge 2011-10-12 07:04:28 +01:00
Melanie
65aed5f1d3 Merge commit '4c812884be59d76039afee74725fc45981356f36' into bigmerge 2011-10-12 07:04:06 +01:00
Melanie
86e28724bd Merge commit '95910f03d454e678a04ae7e800a445ba609b6003' into bigmerge 2011-10-12 07:03:58 +01:00
Melanie
265e9d094d Merge commit '9a16e76f5151c11fbf76e41b89f8eb03b1731828' into bigmerge 2011-10-12 07:02:36 +01:00
Melanie
b2090e711f Merge commit '08f264d096e1dca535a64e683fa5ab5918368085' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-10-12 07:02:15 +01:00
Melanie
f4de1a6d9b HACK: Remove advanced property resending until it is fixed properly in core. 2011-10-12 06:48:40 +02:00
Melanie
906df08ae6 Merge branch 'bigmerge' of ssh://melanie@3dhosting.de/var/git/careminster into bigmerge 2011-10-12 02:02:58 +01:00
Melanie
9733b64dc8 Merge commit 'bd9ba904c3e4d9c2c626a7749f19f124b4ddcf15' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-10-12 02:02:46 +01:00
Melanie
ba978d0d77 Merge commit '77b8fb0f86cd0342fa7331f04f56c0b5980290c2' into bigmerge 2011-10-12 01:43:52 +01:00
Melanie
4e88fe42e4 Merge commit 'ca83f99332316fda1c412a5bf2889f9cf5cf3577' into bigmerge 2011-10-12 01:42:39 +01:00
Melanie
5f2cb7caa3 Merge commit '7fa1c979cf60a981200c4ddc3ea0ff8d0ddb2aa7' into bigmerge 2011-10-12 01:42:30 +01:00
Melanie
77f9d98831 Merge commit '8a8983b3d40ba4e38569f4456c6a98d9372c3822' into bigmerge 2011-10-12 01:41:59 +01:00
Melanie
d595f9fd85 Merge commit '604708fc969b92af4f07d4acae9f3d15c7cee63e' into bigmerge 2011-10-12 01:41:52 +01:00
Melanie
b0ee174296 Merge commit '9090039324ecc45bf1005e719f61a80f0187cb73' into bigmerge 2011-10-12 01:41:44 +01:00
Melanie
e68226afd3 Merge commit '7d033187d8fd49d9a38531061c38783e81d69f5b' into bigmerge 2011-10-12 01:41:28 +01:00
Melanie
c0555f6be6 Merge commit '3142982353a121920e571e5b33acffc065b20a2e' into bigmerge 2011-10-12 01:39:38 +01:00
Melanie
2c03b6f0ae Merge commit '38d205502a83ed334d9827f43862579cec305639' into bigmerge 2011-10-12 01:39:30 +01:00
Melanie
f5e78ca616 Merge commit '146322eb34c15a5722cfe42dd012821ddf441fe6' into bigmerge
Conflicts:
	OpenSim/Region/OptionalModules/World/TreePopulator/TreePopulatorModule.cs
2011-10-12 01:31:34 +01:00
Melanie
70fc130a49 Merge commit '9a49b3b5197f41353c32443dbc5432a4bcd58958' into bigmerge 2011-10-12 01:30:25 +01:00
Melanie
6af388ded9 Merge commit 'b907a66f394b279d3ca2b1ac620bc7bb13cc6dd2' into bigmerge 2011-10-12 01:30:14 +01:00
Melanie
cd52f63b65 Merge commit '413e299045112d4a1553929eb042e87587cb3d2e' into bigmerge 2011-10-12 01:30:07 +01:00
Melanie
30b2fc6aea Merge commit 'b229a72a5fb929d4886117f39ed6bd17a6d56aef' into bigmerge 2011-10-12 01:29:47 +01:00
Melanie
f8016a730e Merge commit '8a216dc1ccdc336a22958cd476de034d065cf676' into bigmerge 2011-10-12 01:29:37 +01:00
Melanie
e3f6344f54 Merge commit 'f1986d54bb3569e6b075b2125e860f31842a60cc' into bigmerge 2011-10-12 01:29:31 +01:00
Melanie
1ebfd2fb68 Fix tree populator 2011-10-12 01:55:12 +02:00
Melanie
59e3ac1ec6 Fix rezzing coalesced object broken by core merge 2011-10-12 00:50:13 +02:00
Melanie
1c2b5d99c9 Merge branch 'bigmerge' of ssh://3dhosting.de/var/git/careminster into bigmerge 2011-10-12 00:10:15 +02:00
Melanie
e4f3ba8610 Merge commit '92c88121c72386f85472c6cf4891eca8b62b9867' into bigmerge
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
	OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
2011-10-12 00:10:30 +01:00
Melanie
29c31983d8 Merge commit 'bfa405e6f70ee31510a20f708327c1c254398926' into bigmerge 2011-10-11 23:32:46 +01:00
Melanie
a9af618842 Merge commit '460946ad62b682c7a942751f192ca9e96b662f0e' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2011-10-11 23:32:16 +01:00
Melanie
0b96991ab4 Merge commit 'c7d0d71666a92b201d639511d062a7c22726b3c9' into bigmerge 2011-10-11 23:28:16 +01:00
Melanie
b8e22b25fd Merge commit 'b98442dceccd416a493f19153f5daad2e173183e' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
2011-10-11 23:28:06 +01:00
Melanie
1ca86114e1 Merge commit 'a8af0a5ba873dbb8c447e16b142ba7f5af715bdb' into bigmerge 2011-10-11 23:22:23 +01:00
Melanie
3359bafc3e Merge commit '8a6e6866d9c6c60e4a2e4b980ca2e35ae3963d0d' into bigmerge 2011-10-11 23:22:08 +01:00
Melanie
57c6d79b62 Merge commit '34026887feb7ec769d1f9551bcd1ccd9b3b9ea7c' into bigmerge 2011-10-11 23:21:58 +01:00
Melanie
1b3ea64fe9 Merge commit '37ae6451f9ddb2e07402a5e79a9ab58668781104' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2011-10-11 23:21:36 +01:00
Melanie
ef9a811ea6 Merge commit 'e77c919290e166f19e77f3ef040418dd39f2f5bd' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
2011-10-11 23:17:47 +01:00
Melanie
1556389913 Merge commit '31125a5fd275a37261d87a336385f5447a62004e' into bigmerge 2011-10-11 23:16:53 +01:00
Melanie
7891433148 Merge commit '56dbab35e122e724c9277b05820417a05ad8a1be' into bigmerge 2011-10-11 23:16:43 +01:00
Melanie
0ae63d0e8b Merge commit '42fe774ad10d469c11fe58731fcab0e4df760871' into bigmerge
Conflicts:
	OpenSim/Region/Examples/SimpleModule/ComplexObject.cs
	OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
2011-10-11 23:16:19 +01:00
Melanie
efaa113fb9 Merge commit 'c7db3df3442657cda398ff2f90d387bce98c718a' into bigmerge 2011-10-11 23:15:41 +01:00
Melanie
95a1a804bf Merge commit 'a1875ec7600758087f6c06ccaf625507362e215c' into bigmerge 2011-10-11 23:15:29 +01:00
Melanie
ae67eb0a1f Merge commit '246443773ae52420092b483603d0e1daf9b87f00' into bigmerge 2011-10-11 23:15:17 +01:00
Melanie
ae8504f8d9 Merge commit '844b4f3a168a5fb1c19902e1f230f24d677c152f' into bigmerge 2011-10-11 23:15:00 +01:00
Melanie
20a2b5d63c Merge commit '6d0978594d1eca9ae56584afe38215f4262256e7' into bigmerge 2011-10-11 23:14:54 +01:00
Melanie
d1e681f682 Merge commit 'e742cffe15d3e50841908d7babc2e4c4a7630635' into bigmerge
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
2011-10-11 23:14:23 +01:00
Melanie
61a8e35b7d Merge commit '528fcede6c31c056c3863fd19528558fcbaf475f' into bigmerge 2011-10-11 23:08:38 +01:00
Melanie
b9826035f6 Merge commit 'a3531dec1aaafdcd22a70764cc512dd5666c75fc' into bigmerge 2011-10-11 23:08:18 +01:00
Melanie
a157fdedcf Merge commit '2b2580e3a12d5c493f9a77bf9435ca32a0a0355c' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
2011-10-11 23:08:07 +01:00
Melanie
66c06c5685 Merge commit '8caf3ed49ec3403843e25db018cc9db63e2ca643' into bigmerge 2011-10-11 23:02:19 +01:00
Melanie
ea8350a526 Merge commit 'e789ab659c8a35a32f4edfc8f79f367b9a993721' into bigmerge 2011-10-11 23:02:04 +01:00
Melanie
5536cdf90c Merge commit '39d7945efc8daa6e5cd0f4728b499e7a624526cd' into bigmerge
Conflicts:
	OpenSim/Framework/RegionLoader/Web/RegionLoaderWebServer.cs
2011-10-11 23:01:52 +01:00
Melanie
ed1bb2081e Merge commit 'c14c4bc1ec5f381aa754068caf460c95e4539b17' into bigmerge 2011-10-11 22:54:03 +01:00
Melanie
308b6937ad Merge commit '839c1cdcc4e9ce410636becb5b81190463dec5bf' into bigmerge 2011-10-11 22:53:53 +01:00
Melanie
d8b78ca498 Merge commit '53646070057c9355bba6df9e181253232d97d8e9' into bigmerge 2011-10-11 22:53:38 +01:00
Melanie
fbe9216695 Merge commit 'def74404f1ea6b2a0f479c602fd67bcfced41426' into bigmerge 2011-10-11 22:53:30 +01:00
Melanie
83ec064868 Merge commit 'bec0cbe82b0de1b5fa8e214a0cc59d0db1f25959' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
2011-10-11 22:53:27 +01:00
Melanie
1b2849319c Merge commit 'ceb09cde4ddaff6b7e76ce18656f0c2049bcb8ec' into bigmerge 2011-10-11 22:52:15 +01:00
Melanie
b40157fc9b Merge commit 'c8304b7f84b1a8d9fb978cae510f684e36419deb' into bigmerge
Conflicts:
	OpenSim/Region/CoreModules/Agent/AssetTransaction/AgentAssetsTransactions.cs
2011-10-11 22:51:44 +01:00
Melanie
7c897ef2a1 Merge commit '41616cad09ad5a2936635dfca4caf38c89d00b38' into bigmerge 2011-10-11 22:45:21 +01:00
Melanie
75fd256ef8 Merge commit '3ccb58c05c0a11fb4cff0f3adf90ca29d67b0c8b' into bigmerge 2011-10-11 22:43:27 +01:00
Melanie
2048976a6e Merge commit '28a482a7ee2cebab1aa720477af175d7e26d702e' into bigmerge 2011-10-11 22:43:01 +01:00
Melanie
833420e167 Merge commit '2c0bb8118db0b91c14783c2e2a401725e88aa650' into bigmerge 2011-10-11 22:42:51 +01:00
Melanie
652c59c0a9 Merge commit 'd358125cac4e01194dae4b1f0bc9afc87e463f76' into bigmerge 2011-10-11 22:42:18 +01:00
Melanie
2e47d24832 Merge commit '241e07d006fad1b54e088d8a9ddede0b98a1e800' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2011-10-11 22:41:51 +01:00
Melanie
a671fcfd2c Merge commit 'f9438e7147bbb347a45b14126fa7181307f8ef43' into bigmerge 2011-10-11 22:33:58 +01:00
Melanie
e3450da66c Merge commit '572b680cb01a856f860b1e3fb40a7153a36113f2' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-10-11 22:33:53 +01:00
Melanie
67e7f25d6c Merge commit 'c9c40343afb313ee6999c6dfb2663fb06bfac407' into bigmerge 2011-10-11 22:32:21 +01:00
Melanie
6101de2316 Merge commit '8159fd7110459246ff61a41800899f5d854eceee' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-10-11 22:32:10 +01:00
Melanie
9935eb6578 Merge commit '7ec7a3cf33b3a67cb10df14bad04cf6f09262822' into bigmerge 2011-10-11 22:26:18 +01:00
Melanie
a4ba99f020 Merge commit '7829b7a6019454b8e83497456bea81539c9a4234' into bigmerge 2011-10-11 22:25:03 +01:00
Melanie
6e6c70be15 Merge commit 'fa9291512aabbe72cb6b1b0b7a9af79d9b05d253' into bigmerge 2011-10-11 22:24:40 +01:00
Melanie
1ba53850b2 Merge commit 'aadf7dd91cdeb98b48cd81c5db06481593aff993' into bigmerge 2011-10-11 22:23:40 +01:00
Melanie
34954172a1 Merge commit '1e798136c3458b8255fcb6341713bf9dbb689f4b' into bigmerge 2011-10-11 22:23:16 +01:00
Melanie
36ec9f0e94 Merge commit '27af016381f2f4aaa8cda99ce7f029980bf8ea76' into bigmerge 2011-10-11 22:22:49 +01:00
Melanie
b9de3b7f5b Merge commit 'f95033812402aaf31a9f2f66c946165d2d79669f' into bigmerge
Conflicts:
	OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETCharacter.cs
	OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs
	prebuild.xml
2011-10-11 22:22:34 +01:00
Melanie
071c3fe721 Merge commit '6f69ab3bcb932589f102c16b718e7f8964d2c8eb' into bigmerge 2011-10-11 22:15:44 +01:00
Melanie
03d533dc1e Merge commit '385c4a210deb63c25f082ab8a3f0c63c7bff8fb5' into bigmerge 2011-10-11 22:15:25 +01:00
Melanie
45ce8db5db Merge commit '744602f6d170373882cb31155c8c899b43a5339e' into bigmerge 2011-10-11 22:14:17 +01:00
Melanie
341efb0942 Merge commit '6f542f73d4aacc0b92c2ebcff84b4ce2c8d9433b' into bigmerge 2011-10-11 22:12:25 +01:00
Melanie
68a42af30f Merge commit 'adfe713b4340771eee15371dd1216527b5662545' into bigmerge 2011-10-11 22:11:55 +01:00
Melanie
6978ae0a59 Merge commit 'b2356340d22578143af2daab979ea4633faa93dc' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-10-11 22:11:44 +01:00
Melanie
117d24be54 Merge commit 'c38b25a1d21540fd5be4ae438b38ab67ba88d166' into bigmerge 2011-10-11 21:45:01 +01:00
Melanie
634fbca6bb Merge commit 'c695e23dd9474e31b031e4d1f57b23aba386145a' into bigmerge 2011-10-11 21:41:46 +01:00
Melanie
a8747b3888 Merge commit '903d5c02cb372af3fef5884d95312110229fbc1e' into bigmerge 2011-10-11 21:41:30 +01:00
Melanie
189f766b8b Merge commit '30b68388378f96f83b3f9509f72664869a6c20c6' into bigmerge 2011-10-11 21:32:49 +01:00
Melanie
f1fa059b37 Merge commit 'a00327d0e5f512ccf56e18082c7e7c7366517379' into bigmerge 2011-10-11 21:32:24 +01:00
Melanie
3ac15c03b2 Merge commit '923f2459cfa8106c6de52dc694c700ab07d8109b' into bigmerge 2011-10-11 21:32:14 +01:00
Melanie
0fa21b7b5e Merge commit 'd4043c084a86da5f462356ec5c65eab2b861564d' into bigmerge 2011-10-11 21:31:48 +01:00
Melanie
673886d231 Merge commit '1458fab82c4dab9901d81419e6b515f47ea7320f' into bigmerge 2011-10-11 21:30:42 +01:00
Melanie
986a3838a6 Merge commit '90466515839eb34d7fd9984c92f1970ab5d6f3ad' into bigmerge 2011-10-11 21:29:58 +01:00
Melanie
288f5bd727 Merge commit '37370a8102f066dab1fe3fd9b0b4a7d3541e8b47' into bigmerge 2011-10-11 21:29:38 +01:00
Melanie
5b40389352 Merge commit '4ae4b14b5da9b828bbb7c4e5b05693ad8528556a' into bigmerge 2011-10-11 21:29:04 +01:00
Melanie
8fac7c0650 Merge commit '522d6261f11ffaf8320c3f0775beb5d0608ce226' into bigmerge
Conflicts:
	OpenSim/Region/CoreModules/ServiceConnectorsOut/UserAccounts/LocalUserAccountServiceConnector.cs
2011-10-11 21:28:23 +01:00
Melanie
9d22110c23 Merge commit 'c4efb97d49dec736151dfa3fa102efe6a5f6fbab' into bigmerge 2011-10-11 21:22:58 +01:00
Melanie
cc1fe354d0 Merge commit 'de19dc3024e5359f594d0a32c593d905163c24ea' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
2011-10-11 21:21:44 +01:00
Melanie
859a804d59 Merge commit 'a4cc5f628f053ad1f9f849addf79551cd58e9337' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
2011-10-11 21:10:55 +01:00
Melanie
c95c8ab246 Merge commit '8fb3e71b14e28bf8a4ddb72e3d1b529128f090ce' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
2011-10-11 21:06:06 +01:00
Melanie
7d2a3dc174 Merge commit '42f1b88eb2492f8d218526c1b30ac027a65d67f3' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
2011-10-11 20:57:31 +01:00
Melanie
9500415c61 Merge branch 'careminster-presence-refactor' into bigmerge 2011-10-06 17:57:28 +02:00
Melanie
300d357573 Fix physics proxy position when linking and rotating the root prim only 2011-10-06 17:55:20 +02:00
Melanie
363a99593d Change the asset connector to allow connection to different asset servers
depending on the first two digits of the asset id.
2011-10-06 15:39:21 +02:00
Tom
e15917f465 Fixed a movement regression - Kitto's jump code is no longer needed (plus it's an eyesore) 2011-09-14 19:34:03 -07:00
Tom
1129b80629 Fix a rather stupid VS warning "The operation overflows at compile time in checked mode" - doesn't make much sense to me, but for some reason it doesn't like 256 - 6 when 256 is a constant... 2011-09-14 19:31:55 -07:00
Tom
5484c9b585 Bring us up to date. 2011-09-14 19:11:32 -07:00
Tom
cda4cd6b55 Merge fixes, and fix the build 2011-09-14 18:46:42 -07:00
Tom
03f6734f43 First set of merge fixes 2011-09-07 09:42:18 -07:00
Tom
9cc2d0b60a Now merging the core changes. 2011-09-04 08:30:23 -07:00
Tom
af59352c4c Change of tactic. Reverting this to the careminster version, then i'll selectively merge the changes made to core. 2011-09-04 07:54:17 -07:00
Tom
9ab951a954 I fucked up the merge for SOG, so reverting back to OpenSim Core's version... 2011-09-04 07:38:25 -07:00
Tom
66dec3b874 Resolve merge commits, stage 1 2011-09-04 07:06:36 -07:00
Melanie
6ab5ca2bda Guard another nullref 2011-08-09 22:11:27 +02:00
Melanie
0e9dda91cb Guard against a bad login leaving us with a null queue 2011-08-09 20:55:06 +02:00
Melanie
434091d3f4 Allow removing users from search and avatar picker 2011-07-31 17:04:22 +02:00
Melanie
04eaca2af8 Ensure that packet headers get parsed correctly 2011-07-27 08:35:19 +02:00
Melanie
5c012cac54 Add a timer to monitor the heartbeat. Restart it if it's been dead for
5 seconds.
2011-07-25 04:16:53 +02:00
Melanie
2e83b48873 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-07-23 18:34:46 +02:00
Melanie
c2de0c930c Fix failure to find avatars due to trainling spaces being sent by viewers. 2011-07-23 18:29:43 +02:00
Melanie
96174595da Fix LLTextBox to work with the updated libOMV 2011-07-23 11:39:32 +01:00
Melanie
705f70064e Fix merge artefact 2011-07-22 12:38:08 +01:00
Melanie
0e52010c0e Thank you, Michelle Argus, for a patch that adds reading the agent limit
from XML properly.
2011-07-22 12:36:49 +01:00
Careminster Team
cbaa4aa88f Tidy up a superfluous AddPrimShape override in PhysicsScene 2011-07-19 18:16:44 +01:00
root
c768d18c92 Revert "Tidy up a superfluous AddPrimShape override in PhysicsScene"
This reverts commit f5623b5c39.
2011-07-19 18:16:36 +01:00
Tom
f5623b5c39 Tidy up a superfluous AddPrimShape override in PhysicsScene 2011-07-19 10:15:34 -07:00
root
b5fcd2caba Fix some local id issues in physics glue 2011-07-15 20:11:12 +01:00
Melanie
c7dbd7cbd0 Fox some local id issues in physics glue 2011-07-15 19:36:00 +02:00
Melanie
8dff9d564d Revert "Add localid support to ch0de properly"
This reverts commit bb402d0d95.
2011-07-15 19:35:49 +02:00
Melanie
8925fb5537 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-07-15 19:30:23 +02:00
Tom
bb402d0d95 Add localid support to ch0de properly 2011-07-15 12:08:40 -07:00
Tom
cc69d12d54 Fix a raycast issue 2011-07-15 11:12:10 -07:00
Melanie
7fac07d9ab Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-07-15 18:48:43 +02:00
Melanie
b59b1ff3d9 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-07-10 18:16:09 +02:00
Melanie
9c9b3e3976 Dammit, loggin the type of an exception without providing the FULL DUMP is NOT
going to help squash bugs!
2011-07-10 17:27:20 +02:00
root
c920ff9d1d Merge branch 'master' into careminster-presence-refactor 2011-07-09 01:06:46 +01:00
Melanie
fedfa02b64 Remove another core SNAFU. AbsolutePosition is NOT equal to group position
in attachments! Breaks resizers!!!
2011-07-06 21:20:11 +02:00
Melanie
06d5989f4d Fix parcel prim count and max reporting. Viewer already multiplies. 2011-07-06 09:59:05 +02:00
root
f45746613d Revert "If a user has the rights to edit a parcel's properties, then also allow them always to enter that parcel."
This reverts commit b8e7258051.

Letting this go in would prevent land owners from banning someone who would
have incidental editing rights through a group. The land owner should be the
only unbannable person.
2011-07-05 04:02:16 +01:00
root
47cf9c8fe0 Merge branch 'master' into careminster-presence-refactor 2011-07-05 04:01:59 +01:00
Melanie
719e0702be Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-07-05 03:13:39 +02:00
Melanie
30482e7ae5 Don't store the default WL profile. This will prevent "valid" from being
set on the default profile and hopefully finally fix day and night
2011-07-05 03:11:56 +02:00
Melanie
d2fc23c034 Stop displaying "Sending windowslig profile to client" when WL is disabled
or there is no valid WL for that region.
2011-07-05 03:08:36 +02:00
root
5f927dc104 Merge branch 'master' into careminster-presence-refactor 2011-06-30 00:26:03 +01:00
Melanie
1b7fec0842 Remove friends debug spam 2011-06-20 03:20:32 +02:00
Melanie
f4f55c4d6b Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-06-20 03:08:56 +02:00
Melanie
6ae73aea49 Merge branch 'master' into careminster-presence-refactor 2011-06-20 03:11:34 +01:00
Melanie
163ee82168 Add some flags to control content in search better 2011-06-20 02:29:09 +02:00
Melanie
9b1d3f0c38 Merge branch 'master' into careminster-presence-refactor 2011-06-13 12:38:17 +01:00
Melanie
a1c16a4200 Merge branch 'master' into careminster-presence-refactor 2011-06-11 12:08:02 +01:00
Melanie
326c46ba70 Merge branch 'master' into careminster-presence-refactor 2011-06-09 02:05:04 +01:00
Melanie
a41051f1dd Make the last otem in a list created with llCSV2List findable 2011-06-05 17:08:21 +02:00
Melanie
458a8c6d0b Persist Buoyancy in inventory 2011-06-02 18:44:51 +02:00
Melanie
61bf2bf2dd Make Buoyancy a prim property 2011-06-02 18:32:25 +02:00
Melanie
f02fbdbc68 Merge branch 'master' into careminster-presence-refactor 2011-05-27 01:10:02 +01:00
Melanie
5cbb203efb Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-05-27 01:05:02 +01:00
Melanie
3e54aad76c Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-05-26 16:29:45 +02:00
Melanie
4d324f1b74 Change setter on changed flags to public so modules can reset it 2011-05-26 16:29:00 +02:00
Tom
03525959c9 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-05-26 03:42:45 -07:00
Tom
b000d9ba72 Some additional protection, it seems that responsedata needs to be locked, but I can't immediately see where it's being accessed from another thread. For now, this will protect the server 2011-05-26 03:42:01 -07:00
Melanie
38ef8ba430 Merge branch 'master' into careminster-presence-refactor 2011-05-25 12:17:59 +01:00
Melanie
932db1c374 Add PayPrice to serialization format Xml2 2011-05-25 11:30:21 +02:00
Melanie
1b106c3928 Merge branch 'master' into careminster-presence-refactor 2011-05-24 04:04:16 +01:00
Melanie
d1870d0c47 Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-05-24 04:03:36 +01:00
Melanie
3612ce4888 Merge branch 'master' into careminster-presence-refactor 2011-05-24 04:03:08 +01:00
Melanie
4b088dca69 Merge branch 'master' into careminster-presence-refactor 2011-05-24 03:11:51 +01:00
Melanie
62e0c96036 Allow disabling the legacy backup mechanism to avoid the object clone if
backup is not used.
2011-05-24 03:37:25 +02:00
Melanie
d5841e07c2 Create a method to force the script engine to save state from outside 2011-05-24 02:40:59 +02:00
Melanie
8b42f824d3 Add an event for an orderly region shutdown that fires once per region before
the SceneGraph is torn down.
2011-05-24 00:53:28 +02:00
Melanie
b9fb7cdf9f Merge branch 'master' into careminster-presence-refactor 2011-05-23 03:39:20 +01:00
Melanie
9c1f799582 Implement llGodLikeRezObject and llGetUsedMemory 2011-05-22 21:01:31 +02:00
Melanie
89705b19c7 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-05-22 20:00:59 +02:00
Melanie
be1996f121 Merge branch 'master' into careminster-presence-refactor 2011-05-22 20:23:25 +01:00
Melanie
e62d1cc480 Merge branch 'master' into careminster-presence-refactor 2011-05-20 22:38:05 +01:00
Melanie
fdbcd2fbf9 Add a missing virtual keyword 2011-05-20 23:27:16 +02:00
Melanie
8a46484a59 Make public interface methods in MySQLSimulation data virtual so the CM
data layer can inherit from it
2011-05-20 23:17:46 +02:00
Tom
74dd619575 If a response cannot be obtained (the script has no handler) return a more friendly 500 error instead of crashing out with a null reference and letting the connection hang 2011-05-17 19:12:37 -07:00
Tom
1f17960e67 Also fix the locking of url.requests and tidy the locks in general 2011-05-17 18:56:55 -07:00
Tom
3d49f5bf57 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-05-17 18:44:54 -07:00
Tom
e847d1d83f Lock m_requestMap properly to prevent some nasty access errors and the resulting downward spiral 2011-05-17 18:44:07 -07:00
Melanie
f9203ca7e0 Add a message packing library to binary-pack AgentCircuitData for faster
teleporting
2011-05-17 22:38:45 +02:00
Melanie
6bac16fd88 Fix up handling of the estate dialog to prevent duplication of ban list names.
Allow more than 61 names in ban list without crashing the viewer.
2011-05-15 14:55:36 +02:00
Melanie
37a7b87862 Merge branch 'master' into careminster-presence-refactor 2011-05-14 21:09:52 +01:00
Melanie
344815ab79 Globally throttle script channel 0 comms to 5/s with 10s burst to prevent lag
griefing attacks
2011-05-14 17:24:59 +02:00
Melanie
d773d89145 Plug a hole that allows selling a copy of no copy objects when using hacked god mode to fool the viewer into thinking it can set that sale type 2011-05-14 17:24:22 +02:00
Melanie
c4fad3d887 Fix up a linking issue 2011-05-14 09:13:31 +02:00
Melanie
75d4956ee5 Merge branch 'master' into careminster-presence-refactor 2011-05-13 12:05:46 +01:00
Melanie
1bd949614a Merge branch 'master' into careminster-presence-refactor 2011-05-09 18:37:35 +01:00
Melanie
fbfed0ae9b Merge branch 'master' into careminster-presence-refactor 2011-05-09 03:21:15 +01:00
Melanie
9daad86717 Convert the prim count module into a permissionsmodule 2011-05-09 02:47:40 +02:00
E. Allen Soard
f644c0346b Incremental - Just did some cleanup of comments and class name change to clean up from using BareBonesNonShared as a template. 2011-05-09 02:35:57 +02:00
E. Allen Soard
939026d874 Incremental patch to add config options to enable/disable the prim limits module to OpenSim.ini. EnforcePrimLimits is set to false by default to emulate the current behavior. 2011-05-09 02:35:32 +02:00
E. Allen Soard
d3c3feb6b1 Adds an optional module to enforce prim limits on a given parcel Takes into account acculmitive prim allowance when multiple parcels are owned by the same avatar on the same region. Does not handle prims that are moved by a script or account for temporary objects at the time of creation. other wise handles all tested cases including: Creating a new object from the build menu Moving an object from another parcel duplicating an object via shift move rezing an object from a script 2011-05-09 02:35:04 +02:00
Melanie
c164be1ee5 Fix bans so the region owner and estate managers can't be banned by renters 2011-05-09 01:12:21 +02:00
Melanie
d511c1e355 Merge branch 'master' into careminster-presence-refactor 2011-05-09 01:28:53 +01:00
Melanie
73a9ebc21e Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-05-09 01:00:35 +02:00
Melanie
66a5906548 Merge branch 'master' into careminster-presence-refactor 2011-05-09 01:04:55 +01:00
Melanie
dbf623a3d2 Add commands to delete objects by name, UUID, creator or owner 2011-05-09 00:59:32 +02:00
Melanie
7cc5286f2d Merge branch 'master' into careminster-presence-refactor 2011-05-08 23:53:07 +01:00
Melanie
ade09d0fa1 Also compress the actual fatpacks 2011-05-08 23:23:33 +02:00
Melanie
784e8afaa8 Merge branch 'master' into careminster-presence-refactor 2011-05-08 22:06:14 +01:00
Melanie
1fbf4c8300 Remove a spammy debug I left in. Disable TP cancel button at the point
of no return.
2011-05-08 21:36:51 +02:00
Melanie
b451cc1ebb Merge branch 'master' into careminster-presence-refactor 2011-05-08 20:23:06 +01:00
Melanie
763666e2d6 Enable compressed (gzip) fatpack transfers. 2011-05-08 19:50:35 +02:00
Melanie
5591abf9d1 Allow attachments to track the user's camera 2011-05-05 15:10:59 +02:00
Melanie
e7e88c4db1 Merge branch 'master' into careminster-presence-refactor 2011-05-05 13:28:15 +01:00
Melanie
3149e6e851 Fix up some paths in prebuild 2011-05-05 12:13:56 +01:00
Melanie
4beb0c9b9b Merge branch 'master' into careminster-presence-refactor 2011-05-05 09:49:10 +01:00
Melanie
6008ffe943 Merge branch 'master' into careminster-presence-refactor 2011-05-05 00:34:48 +01:00
Melanie
3f7050173d Attempt to make teleports more reliable. This may break redirection on login 2011-05-03 22:33:53 +02:00
Melanie
61263e2ce3 Some private changes to the prioritizer: 30m steps instead of 10 and disable
the broken frontback math. Much better user experience.
2011-05-03 16:58:39 +02:00
Melanie
aa73f99de6 Revert the CM prioritizer to the core version 2011-05-03 16:44:45 +01:00
Melanie
af55eda16b Merge branch 'master' into careminster-presence-refactor 2011-05-03 14:26:18 +01:00
Melanie
6becb7b80f Merge branch 'master' into careminster-presence-refactor 2011-04-30 16:20:40 +01:00
Melanie
8a398ef02d When coming in from a legacy region without fatpacks, start scripts the
usual way
2011-04-30 16:01:54 +02:00
Melanie
27891fddcf Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-04-30 14:23:20 +02:00
Melanie
d1cf1fe3d7 Merge branch 'master' into careminster-presence-refactor 2011-04-30 14:37:37 +01:00
Melanie
98fe37051a Set the attachment data on scripted rez to allow toasters to work. 2011-04-30 14:22:46 +02:00
Melanie
57efed988c Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-04-26 23:41:57 +01:00
Melanie
4ed54dcc01 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-04-26 23:20:13 +02:00
Melanie
e713b7e3bb Try to repair attachments ion the fly if they are detached and reattached. 2011-04-26 23:18:52 +02:00
Melanie
a6c53b1ba2 Merge branch 'queuetest' into careminster-presence-refactor 2011-04-25 23:26:37 +01:00
Melanie
9bf5e94b70 Merge branch 'master' into careminster-presence-refactor 2011-04-25 23:18:32 +01:00
Melanie
c411ab54ee Merge branch 'master' into careminster-presence-refactor 2011-04-22 08:55:12 +01:00
Melanie
0c68fbdb1a Merge branch 'master' into careminster-presence-refactor 2011-04-21 23:06:01 +01:00
Melanie
a1dce960d7 Add fix a minor bug 2011-04-21 22:45:46 +02:00
Melanie
282e116f94 Honor agent limit for region crossings and teleports 2011-04-21 22:34:49 +02:00
Melanie
204b8b7b7e Merge branch 'queuetest' into careminster-presence-refactor 2011-04-21 16:51:39 +01:00
Melanie
09b6d717bf Merge branch 'master' into careminster-presence-refactor 2011-04-21 16:28:29 +01:00
Melanie
ccf63a9c63 Merge branch 'master' into careminster-presence-refactor 2011-04-18 21:04:09 +01:00
Melanie
d1913f2429 Merge branch 'master' into careminster-presence-refactor 2011-04-18 20:17:29 +01:00
Melanie
ec0aa7a90b Fix up client implementations 2011-04-17 23:17:05 +02:00
Melanie
dbf52b8cd1 Correct the delegate for classified deletes 2011-04-17 22:54:23 +01:00
Melanie
0e3580066b Merge branch 'master' into careminster-presence-refactor 2011-04-17 21:46:27 +01:00
Melanie
c02e0e930d Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-04-17 18:42:06 +02:00
Melanie
474910c9d6 Merge branch 'master' into careminster-presence-refactor 2011-04-17 18:48:53 +01:00
Melanie
2761810531 Fix the cert validation handler so that it will not block other parts of
the server doing ssl successfully.
2011-04-17 18:28:06 +02:00
Melanie
5db8dcb563 Fix agent animation updates 2011-04-17 17:11:33 +02:00
Melanie
42b96a8be0 Merge branch 'master' into careminster-presence-refactor 2011-04-12 00:27:39 +01:00
Melanie
18f7a24cc7 Merge branch 'master' into careminster-presence-refactor 2011-04-08 04:19:45 +01:00
Melanie
738daadace Merge branch 'master' into careminster-presence-refactor 2011-04-08 04:16:29 +01:00
Melanie
33dd74e410 Add support for the new display name related functions in LSL. This does not
implement the display names functionality as such, but it allows scripts
that are display name aware to function as if the display name were implemented
and set to the avatar name.
2011-04-08 03:50:27 +02:00
Melanie
407c2b1823 Merge branch 'master' into careminster-presence-refactor 2011-04-06 09:22:55 +01:00
Melanie
ebfccbea81 Merge branch 'master' into careminster-presence-refactor 2011-04-03 20:32:26 +01:00
Melanie
0069ec2c84 Merge branch 'master' into careminster-presence-refactor 2011-04-03 14:17:21 +01:00
Melanie
15e0b55e66 Merge branch 'master' into careminster-presence-refactor 2011-04-03 14:16:28 +01:00
Melanie
89a65df160 Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-04-03 14:15:29 +01:00
Melanie
4256693a9e Make CHANGED_OWNER work for deeding and god-mode in-world change 2011-04-03 13:50:19 +02:00
Melanie
112dceb4a0 Merge branch 'master' into careminster-presence-refactor 2011-04-01 22:05:07 +01:00
Melanie
3053b60143 Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-04-01 21:52:04 +01:00
Melanie
95e524dde1 A stab at making CHANGED_OWNER work 2011-04-01 18:49:53 +02:00
Melanie
329fa73695 Merge branch 'master' into careminster-presence-refactor 2011-04-01 07:44:43 +01:00
Melanie
83c78029e3 Make the login service's call to the sim time out quicker so we have a
chance to try fallback before the client quits
2011-03-31 15:48:42 +02:00
Tom
45548873bd Fix llGetParcelPrimOwners so that it returns LSL_Strings in the list rather than C# Strings 2011-03-29 09:28:27 -07:00
Tom
c39b391b6a Many scripted items use long lists of llSetLinkPrimitiveParams rules to make prims "teleport" or jump large distances. When teleporting to 10,000 meters, this results in 1,000 SetPos calls, which severely rapes the physics and update system. This change modifies this behaviour to only provide one update after all the rules have been executed. 2011-03-28 13:28:59 -07:00
Tom
f7276dda02 Flag root prim changes for persistence 2011-03-27 14:20:25 -07:00
Melanie
a62b435a39 Merge branch 'master' into careminster-presence-refactor 2011-03-27 21:41:54 +01:00
Tom
2d2a1acfae Upgrade terse to full update on root rotation change. Not entirely sure why, but it seems that the terse update causes the first prim to rotate improperly on occasion (only temporary, it's fixed by the full update on deselect, but this will prevent confusion.) 2011-03-27 13:43:32 -07:00
Tom
553a195493 Fix issues with UpdateRootRotation and also increase efficiency 2011-03-27 13:09:19 -07:00
Melanie
8338b74d3f Add giving lists of items to another prim 2011-03-25 02:39:17 +01:00
Melanie
5ef490b5ad Switching vivox to https for production use 2011-03-25 01:10:41 +01:00
Melanie
3dc9b0ef18 Remove a spammy debug 2011-03-23 00:32:19 +01:00
Melanie
985f78dbf5 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-03-23 00:06:43 +01:00
Melanie
bbbcb45398 Fudge the group join permissions for god user in god mode. Allows to join
every group without an invite.
2011-03-23 00:05:27 +01:00
Melanie
78a7c6cace Remove the forced landmark and home poermissions because they are now in the
database
2011-03-23 00:02:41 +01:00
Melanie
edf9f3d630 Raise the position for lures by 2m to prevent the target avatar getting stuck
in a prim.
2011-03-23 00:01:41 +01:00
Kitto Flora
764e8c2a43 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-03-22 20:33:24 +00:00
Melanie
c330f89fb1 Add some more fields to Estate settings and make them work.
Run alter table estate_settings add column AllowLandmark tinyint not null default 1, add column AllowParcelChanges tinyint not null default 1, add column AllowSetHome tinyint not null default 1;
to make this work.
2011-03-22 10:43:43 +01:00
Melanie
3cfaf4c225 Adding a helper function lifted from Aurora. Not for core. 2011-03-22 09:29:40 +01:00
Melanie
a073ca57da Add a definition for a region flag to omit a region from traffic counting 2011-03-22 09:23:46 +01:00
Tom
b70596c15c Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-03-21 13:31:22 -07:00
Tom
4d4765aa28 Since we've plugged the leak, now increase URLs to 5000 since the limit is being hit in several sims 2011-03-21 13:30:53 -07:00
Melanie
e4f143fb1c Merge branch 'master' into careminster-presence-refactor 2011-03-21 07:57:56 +00:00
Melanie
7b11a83c08 Don't send a windlight profile to clients if windlight is not set for
that region. This should restore normal day and night cycles for
regions without WL settings.
2011-03-21 05:52:29 +01:00
Melanie
1241cc50f1 Revert "Switch Vivox voice module to https"
This reverts commit a8096b52cd.
2011-03-18 11:25:08 +01:00
Melanie
a8096b52cd Switch Vivox voice module to https 2011-03-18 10:59:32 +01:00
Melanie
13aae75ad8 Prevent god users from being stopped logging into a region 2011-03-16 22:43:49 +01:00
Melanie
3dc877c59f Merge branch 'master' into careminster-presence-refactor 2011-03-14 14:48:00 +00:00
Melanie
f54ddd88a2 Up the timeout on slow requests to 3000 to stop console spam. Make sure
request method and target are reported correctly and drop the txn id
as it's empty 99% of the time.
2011-03-14 12:56:50 +01:00
Melanie
4a5560a86e Change avatar picker search to work properly when two name parts are used 2011-03-12 13:06:13 +01:00
Melanie
9165a5207d Merge branch 'master' into careminster-presence-refactor 2011-03-10 07:14:03 +00:00
Melanie
0719ffa6fa Change protection from being teleported home to extend to incognito gods. 2011-03-01 23:34:02 +01:00
Melanie
9b277b372b Merge branch 'master' into careminster-presence-refactor 2011-02-27 19:47:37 +00:00
Melanie
11105d38bd Fix a few little things 2011-02-27 18:55:17 +01:00
Melanie
9be1d2aef1 Merge branch 'master' into careminster-presence-refactor 2011-02-24 02:37:21 +00:00
Melanie
87e9acf714 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-02-21 04:16:33 +01:00
Melanie
1a31f7b579 Allow modifying a no mod object through llGiveInventoryItem if the object
sets allowed drop. This makes breedables feasible.
2011-02-21 04:14:49 +01:00
Melanie
efd8d03c59 Prevent giving copies of no copy scripts or transferring no trans scripts
through LSL
2011-02-21 04:02:47 +01:00
Melanie
04dc43f591 Prevent attaching things you don't own from inworld. Simple solution for a
complex issue
2011-02-21 04:02:16 +01:00
Mike Rieker
86decb2aa8 throttle group notices to max of 4 threads at a time
...otherwise it can create hundreds of threads and hang
2011-02-20 15:57:57 +00:00
Melanie
5a78161e74 Restore heartbeat thread 2011-02-19 01:32:20 +01:00
Melanie
4834b47679 Merge branch 'master' into careminster-presence-refactor 2011-02-19 01:59:49 +00:00
Melanie
c79f79fc84 Add needed dummy to sample money 2011-02-17 18:51:43 +01:00
Melanie
3f93db8371 Streamline ban line processing. Remove remnants of old advisory messages.
Centralize ban checking and prepare for adding a "ban and eject" function.
2011-02-16 05:23:30 +01:00
Melanie
cfce0aa448 Change the QUERYACCESS method to eliminate spurious access denied messages 2011-02-16 05:22:05 +01:00
Melanie
ccd6e5d071 Merge branch 'master' into careminster-presence-refactor 2011-02-16 02:41:49 +00:00
Melanie
ba03e2e262 Add the country functions in the careminster API 2011-02-12 20:59:09 +01:00
Melanie
413f0c6848 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-02-11 23:53:52 +01:00
Melanie
e2762a68b3 Merge branch 'master' into careminster-presence-refactor 2011-02-12 00:42:10 +00:00
Melanie
f62cb1fcbe Temp fix (or is it a fox?) for map weirdness 2011-02-08 21:13:31 +01:00
Melanie
8c20f94939 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-02-07 22:26:09 +01:00
Melanie
076f2ac8db Merge branch 'master' into careminster-presence-refactor 2011-02-07 23:07:36 +00:00
Melanie
6becaf65e1 Fix merge issues 2011-02-07 22:28:59 +00:00
Melanie
3889e68c54 Merge branch 'master' into careminster-presence-refactor
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
	OpenSim/Server/Handlers/Simulation/AgentHandlers.cs
	OpenSim/Services/Connectors/SimianGrid/SimianGridMaptileModule.cs
	OpenSim/Services/GridService/HypergridLinker.cs
2011-02-07 22:08:53 +00:00
Melanie
e8ba3d3a10 Prevent a nonexistent inventory item from throwing an exception 2011-02-07 22:25:43 +01:00
Kitto Flora
511b12db6b Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-02-04 17:32:31 +00:00
Kitto Flora
b6dda231f2 Corrections for Avatar Auto-pilot target; add llStopMoveToTarget() for Avatar-attached. 2011-02-04 17:31:52 +00:00
Tom
9a9c9644ac Repair x-query-string 2011-02-03 17:25:55 -08:00
Melanie
595891409c Add another flag 2011-02-02 21:45:37 +01:00
Melanie
722ae4f031 Add a missing constand and fix ToDoubleList to not eat the last memeber 2011-02-02 20:22:03 +01:00
Melanie
4a56038d11 Change the timeout on WebUtil to 20s to help make more tps succeed 2011-02-02 03:28:47 +01:00
Melanie
ba39d9f0e6 Squash a nullref 2011-02-02 03:10:39 +01:00
Tom
e5ef993f2b Fix cm/15627 : Don't block the entire URL on duplicate requests, just that particular request! 2011-01-31 18:01:53 -08:00
Tom
35d29ef3e3 If llHTTPRequest results in an error, still attempt to get the response text. If we can't (which implies the server is unreachable), return the StatusDescription as before. 2011-01-29 19:38:05 -08:00
Tom
a2d51f0ff4 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-01-29 12:46:47 -08:00
Tom
188bdfc878 Ignore duplicate llHTTPResponse calls to the same request. Prevents response corruption. Only the first llHTTPResponse call is obeyed, akin to SL. 2011-01-29 12:45:53 -08:00
Melanie
c14acf8a06 Adapt to CM 2011-01-29 04:51:11 +00:00
Melanie
24a768a99b Merge branch 'master' into careminster-presence-refactor 2011-01-29 04:47:32 +00:00
Tom
87ed39c953 Significantly increase the total number of URL's available. In second life, the limit is 15,000 URL's (one per prim), so i'd hope we can manage 1k. 2011-01-28 16:51:35 -08:00
Tom
13d4fedf7a Fix a discrepancy vs. SL with parsing x-query-string 2011-01-28 13:45:27 -08:00
Tom
ffbfc14689 Make llRequestAgentData shout an error instead of crashing the script when an invalid UUID is passed to it. 2011-01-28 09:55:46 -08:00
Melanie
d91ee131b9 Make the new style stuff compatible with the older revision 2011-01-28 04:31:21 +01:00
Melanie
3bce53b6e6 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-01-28 04:05:49 +01:00
Kitto Flora
eb3a4c2477 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-01-28 04:36:20 +00:00
Kitto Flora
9abaac4d60 Correct chat source location for Av seated on daughter prim. 2011-01-28 04:35:43 +00:00
Melanie
1b2deb5b77 Merge branch 'master' into careminster-presence-refactor 2011-01-28 04:09:38 +00:00
Melanie
0ea8046545 Change the way ban lines are handled. Remove a lot of useless stuff designed
to physically move the avatar and instead just re-set the position. Ban lines
now work fully.
2011-01-28 04:04:30 +01:00
Melanie
3834000778 Change the way ban lines work 2011-01-28 03:35:59 +01:00
Melanie
657c14c5db Fix up QueryAccess to also check parcels 2011-01-28 03:07:25 +01:00
Melanie
566eff17de Comment a very spammy debug message that was being output directly to console.
My last fox that makes bumping into sim borders/bans work makes this spam
endlessly.
2011-01-28 01:46:30 +01:00
Melanie
878d458d9f Merge branch 'master' into careminster-presence-refactor 2011-01-28 02:39:15 +00:00
Melanie
57bf5d9b2a Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-01-28 02:37:59 +00:00
Melanie
3f200da878 Merge branch 'master' into careminster-presence-refactor 2011-01-28 02:36:20 +00:00
Melanie
7492131bb6 Fix bumping into sim borders and check estate bans for walking crossings 2011-01-28 01:37:37 +01:00
Melanie
3435816541 Merge branch 'master' into careminster-presence-refactor 2011-01-27 20:54:02 +00:00
Melanie
b13eac9996 Make the estate setting "Allow direct teleport" override the constraint
of local tepeports to landing points like it is meant to
2011-01-27 07:07:33 +01:00
Melanie
2a9e712cb4 Let gods TP in wherever they like while in god mode 2011-01-27 07:03:43 +01:00
Melanie
8568c6a7c0 Implement "Cannot teleport closer to destination" message 2011-01-27 06:57:54 +01:00
Melanie
1143e022b4 Make landing points work on local teleports. Constrain owners and gods to
landing points when coming from off sim (matches agni) to prevent landing
in floors or other prims.
2011-01-27 06:45:53 +01:00
Melanie
eca82d90c2 Change the way landing points are honored 2011-01-27 06:04:56 +01:00
Melanie
d894007920 Make it work 2011-01-27 05:46:31 +01:00
Melanie
0e76f2f64e Merge branch 'master' into careminster-presence-refactor 2011-01-27 05:38:12 +00:00
Melanie
4cc8d84281 Fix build break 2011-01-27 05:30:39 +00:00
Melanie
42c22f41dd Merge branch 'master' into careminster-presence-refactor 2011-01-27 05:18:28 +00:00
Melanie
c43b892f3a Add a TeleportFlags member to SP so we can tell how we got there. 2011-01-27 04:14:41 +01:00
Melanie
1f19bd5f90 Also set Godlike flag. Might be useful 2011-01-27 03:54:41 +01:00
Melanie
3b8b606eeb Add TeleportFlags.ViaRegionID to the flags sent on login when the region
was entered by hand to determine whether or not to honor the landing
point
2011-01-27 03:49:32 +01:00
Melanie
0e1d28a862 Clear user account cache before checking flags on login. This will make AV
and other bannable flags work in this case.
2011-01-27 03:05:33 +01:00
Melanie
dd1980c24c Add an interface for a region's user account cache 2011-01-27 02:58:14 +01:00
Melanie
307a2c61ef Fix merge artifacts 2011-01-27 02:43:52 +01:00
Melanie
3321f9d745 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-01-27 02:29:10 +01:00
Melanie
11c742a5a8 Make bans work for teleport. Now teleport will complete block if the user
is not allowed on the estate. If the user is allowed on no parcel, the
teleport will also be blocked. If the user is allowed on a parcel, but
not the desired one, the user will be shifted to the closest allowed
location.
2011-01-27 02:16:41 +01:00
Tom
31fb448cfc Mostly revert the last commit with the aim of searching for a better solution 2011-01-26 17:06:17 -08:00
Tom
6b27587bc7 Add a "useCached" parameter to GetUserAccount. Add a function to Scene to get the user flags. It has to be here due to access restrictions :/ 2011-01-26 16:25:08 -08:00
Tom
3ecf712e4d Add userFlags check to isBanned. This checks bans against DenyAnonymous and DenyMinors. Note that the ban doesn't actually work yet due to some stuff mel's working on . 2011-01-26 14:20:39 -08:00
Tom
04c62c4959 Revert my previous SHA1 commit in favour of a better implementation 2011-01-26 12:54:12 -08:00
Tom
63dcd44e87 Provide an SL compatible llMD5String function across all platforms 2011-01-26 12:47:43 -08:00
Tom
4d3696d658 Make llSHA1Hash SL compatible when using characters like the euro symbol (€) 2011-01-26 12:40:33 -08:00
Melanie
3c075aaf46 Reproduce a corner case behavior for llListReplaceList 2011-01-25 16:19:29 +01:00
Melanie
aa6c097cca Complete country support 2011-01-24 03:08:00 +01:00
Melanie
3d098bf27d Merge branch 'master' into careminster-presence-refactor 2011-01-24 03:08:47 +00:00
Melanie
649d9ef934 Fix script data not being reset as it should be 2011-01-24 02:20:54 +01:00
Melanie
dbbf43663e Add a careminster API to scripting again 2011-01-24 02:16:28 +01:00
Melanie
105deab601 Merge branch 'master' into careminster-presence-refactor 2011-01-23 23:29:25 +00:00
Melanie
17787e7c87 Completely nixing flags from the client causes wearables to break. Fix it
so we let the lowest byte through.
2011-01-22 19:00:46 +01:00
Kitto Flora
b92673c1c9 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-01-20 06:52:10 +00:00
Kitto Flora
bfa5b7850c Fix drift of static prim. 2011-01-20 06:51:50 +00:00
Melanie
f3968c4959 Merge branch 'master' into careminster-presence-refactor 2011-01-18 06:18:10 +00:00
Melanie
6306578fcf Merge branch 'master' into careminster-presence-refactor 2011-01-18 01:28:50 +00:00
Melanie
2126d12ab8 Merge branch 'master' into careminster-presence-refactor 2011-01-18 01:26:53 +00:00
Melanie
2463f5451c Merge branch 'master' into careminster-presence-refactor 2011-01-18 01:26:03 +00:00
Melanie
4f8ba53f86 Prevent activation and deactivation of gestures from clobbering the slam
bits
2011-01-18 00:55:08 +01:00
Melanie
ddb4de139c Change gesture activation to not quash any other flags 2011-01-17 21:22:32 +01:00
Melanie
76f39d326e Add a new ViewObjectInventory permission to decouple viewing from
+MOD status
2011-01-14 18:26:41 +01:00
Melanie
8074c6ace1 Revert "Replace the new, tricky MySql.Data.dll with the older version from 0.6.9"
This reverts commit e5ce59ff34.

The old module causes a truly massive (double!) rise in connections. Please
put "old guids=true;" back in after this commit
2011-01-14 14:54:28 +01:00
Melanie
d60ddfdfcb Revert "Remove old guids from the examples, for completeness' sake"
This reverts commit 52222d82d5.
2011-01-14 14:54:14 +01:00
Melanie
a30bbcbb64 Temporarily reinstate prim counting in the update loop to make the production
systems run
2011-01-14 04:09:02 +01:00
Melanie
fe2d9be0cf Implement nonlocal god kicks and freezes 2011-01-14 03:35:45 +01:00
Melanie
139e84c0b2 Fix slam bits being lost when editing perms in prim inventory 2011-01-14 01:01:02 +01:00
Melanie
ddb5f4e44a Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-01-13 20:01:50 +00:00
Melanie
3fc5b6a8ec Merge branch 'master' into careminster-presence-refactor 2011-01-13 19:53:44 +00:00
Melanie
4eefdd5549 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-01-13 20:21:53 +01:00
Melanie
69666be28c Implement kicking, freezing and unfreezing users in the same sim via
profile god buttons.
2011-01-13 16:05:17 +01:00
Kitto Flora
c0134710f7 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-01-13 04:48:32 +00:00
Kitto Flora
d92069fb8b Add llLookAt() kinetic. Reduce StandUp +x offset to 0.3M. 2011-01-13 04:44:04 +00:00
Melanie
e4bb8dc385 Guard against invalid light color specifiers from the database 2011-01-13 00:19:39 +01:00
Melanie
6a2b947e8c Merge branch 'master' into careminster-presence-refactor 2011-01-12 21:47:05 +00:00
Melanie
f59b55d930 Dont' trust the viewer! Fix a permission slam error caused by trusting
the viewer too much.
2011-01-12 17:40:21 +01:00
Melanie
7f99a8c900 Fix direct item give permissions 2011-01-12 16:20:38 +01:00
Melanie
52222d82d5 Remove old guids from the examples, for completeness' sake 2011-01-11 15:07:04 +01:00
Melanie
05b1b94cd8 Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-01-11 14:41:37 +00:00
Melanie
d7fd4b2153 Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-01-11 14:38:10 +00:00
Melanie
e5ce59ff34 Replace the new, tricky MySql.Data.dll with the older version from 0.6.9
This requires REMOVING the "Old Guids=true" fromt he MYSQL connection strings!
Sorry for the inconvenience, but this version of the DLL is much less buggy
than the new one for production use.
2011-01-11 14:35:21 +00:00
Melanie
d8fd777e13 Use ToString() rather than a cast (more robust) 2011-01-11 14:59:55 +01:00
Melanie
2c6a410e90 Partial permissions fix for boxed items. 2011-01-10 22:02:22 +01:00
Melanie
72048169c0 Taint SOGs the right way 2011-01-10 22:02:09 +01:00
Melanie
c271bbcc8a Preserve the script running flag when copying an object. 2011-01-08 16:44:28 +01:00
Melanie
1ab9cd0997 Fix a couple of security issues 2011-01-08 13:51:34 +01:00
Melanie
de4eaab584 Merge branch 'master' into careminster-presence-refactor 2011-01-06 19:08:15 +00:00
Melanie
d1b6b4d288 Fix god mode perms adjustment 2011-01-06 19:12:25 +01:00
Kitto Flora
ba7a227763 Revise Materials properties; Fix Double-Click Autopilot; Allow non-script sit positions >= 0.1M; Add llLookAt(); Comment out spammy bad adjacent sim message. 2011-01-04 21:36:09 +00:00
Melanie
dc4f557426 Merge branch 'master' into careminster-presence-refactor 2011-01-03 19:45:08 +00:00
Melanie
e15ab75d62 Add permissions hooks for object transfers 2011-01-03 19:56:56 +01:00
Melanie
5432dfd53a Allow cross-scope friendships to work, and also allow other cross scope name
resolution
2011-01-02 01:29:22 +01:00
Melanie
04e450e2bc Fix child agent scoping 2010-12-31 16:05:59 +01:00
Melanie
5545b03168 Fix scoping for prim region crossings 2010-12-31 15:53:31 +01:00
Melanie
6820deed34 Implement Scope ID lookup on GetLandData. Stacked regions were not handled
properly
2010-12-31 15:45:08 +01:00
Melanie
24a997eb7c Add MessageKey to section Messaging, a key that prevents injection of
IM from external sources
2010-12-30 20:57:56 +01:00
Melanie
98769ed040 Merge branch 'master' into careminster-presence-refactor 2010-12-30 02:31:43 +00:00
Melanie
3b50066ceb Merge branch 'master' into careminster-presence-refactor 2010-12-30 01:40:38 +00:00
Melanie
2cb2bff9b2 Implement SendPlacesReply 2010-12-30 00:31:59 +01:00
Melanie
dbaaccf92a Copying a ref type under lock doesn't dissociate it from the source.
Use a new list to do that.
2010-12-29 21:02:45 +01:00
Kitto Flora
88db69e017 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-12-29 21:18:28 +00:00
Kitto Flora
64209c9be1 Fix av/prim eject problem. 2010-12-29 21:13:49 +00:00
Melanie
dfc0c8dca6 Remove the restriction on communication across scopes. This will allow
cross-scope users to IM each other.
2010-12-29 15:13:10 +01:00
Kitto Flora
61b7ec5fb5 Fixing AbsolutePosition to correct llSensor in vehicles 2010-12-26 22:52:03 +00:00
Melanie
f2dd324bc8 Fix linking link sets to rotated prims. 2010-12-26 20:42:47 +01:00
Melanie
8186bf2525 Remove some code that was meant to fool the viewer into thinking SLT. It never
worked and it turned out the issues were really in the backend.
2010-12-26 07:29:23 +01:00
Melanie
b17150c3e8 Fix the corner casse of stack overflow when logging out with attachments 2010-12-25 08:05:42 +01:00
Melanie
0aeafc9919 Fix the recent stack overflow 2010-12-25 07:25:56 +01:00
Melanie
75010e5e1c Merge branch 'master' into careminster-presence-refactor 2010-12-25 00:04:46 +00:00
Melanie
b16f4024db Update child prim group positions in moving vehicles 2010-12-24 21:04:10 +01:00
Melanie
42d44c00f3 Change the mute list parts of the client interface so that all data is provided
to the module
2010-12-24 03:46:57 +01:00
Melanie
2e3d0fb276 Merge branch 'master' into careminster-presence-refactor 2010-12-24 02:23:26 +00:00
Melanie
70bb542727 Merge branch 'master' into careminster-presence-refactor 2010-12-23 17:20:45 +00:00
Melanie
2cc07de0ba Merge branch 'master' into careminster-presence-refactor 2010-12-23 12:08:38 +00:00
Melanie
efa8bd8eb3 Revert "reactivating some traces to track a dead thread"
This reverts commit d7df871f9f.

Useless spam nit suitable for debugging anything that is currently brokwn
2010-12-23 11:15:43 +00:00
sacha
98f0b4c72a Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-12-23 08:14:43 +00:00
sacha
d7df871f9f reactivating some traces to track a dead thread
seen @ NT and Otaku
2010-12-23 08:11:52 +00:00
Melanie
d06456c8b2 Merge branch 'master' into careminster-presence-refactor 2010-12-23 02:57:45 +00:00
Melanie
32cc569b00 Fix up some locking issues in task inventory. Don't use any prior versions in production! 2010-12-22 13:45:21 +01:00
Melanie
cf37b3b943 Prevent a null ref when an avatar login doesn't go as planned 2010-12-22 03:25:30 +01:00
Melanie
e9382c2939 Merge branch 'master' into careminster-presence-refactor 2010-12-21 23:09:12 +00:00
Melanie
303c02133f Merge branch 'master' into careminster-presence-refactor 2010-12-21 23:00:01 +00:00
Melanie
a70b597840 Merge branch 'master' into careminster-presence-refactor 2010-12-21 22:57:31 +00:00
Melanie
da37ddff9f Merge branch 'master' into careminster-presence-refactor 2010-12-21 22:50:35 +00:00
Melanie
4093e22833 Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-12-21 20:57:52 +00:00
Melanie
b1180a53dd Merge branch 'master' into careminster-presence-refactor 2010-12-21 20:56:37 +00:00
Melanie
c9aa420c2d Restore CM loking after core extract 2010-12-21 20:48:58 +00:00
Melanie
2f84f2171f Make prim inventories a bit more sane 2010-12-21 20:47:00 +00:00
Kitto Flora
5fccbe21d6 Update materials parameters. 2010-12-20 07:04:35 +00:00
Melanie
11eabf0e51 Merge branch 'master' into careminster-presence-refactor 2010-12-20 02:49:31 +00:00
Mike Rieker
7a78de8105 fix 'system.exception: unknown type in list.size: system.uint32' 2010-12-18 23:29:49 +00:00
Melanie
a82112a47c Merge branch 'master' into careminster-presence-refactor 2010-12-17 22:50:25 +00:00
Melanie
d7622cbedc Fix notecards that end with an embedded object causing an exception 2010-12-16 21:01:38 +01:00
Melanie
835e4dbc2c Add locks on m_killRecord without breaking things like justin did 2010-12-16 20:49:40 +01:00
Melanie
aebc011f7b Remove some spam from FreeSwitchModule 2010-12-16 20:12:18 +01:00
Melanie
4719e925b8 Revert the locking changes in LLCLientView 2010-12-16 20:11:26 +01:00
Melanie
d457b4c4b1 Merge branch 'master' into careminster-presence-refactor 2010-12-15 22:59:52 +00:00
Melanie
62e66b17bc Make sure the material is set on physical prims 2010-12-15 17:54:57 +01:00
Melanie
ee1e725e39 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-12-15 08:18:02 +01:00
Melanie
f8beeb1e93 Fix casts in llSetPayPrice 2010-12-15 08:15:12 +01:00
Melanie
354f568508 Merge branch 'master' into careminster-presence-refactor 2010-12-14 23:58:45 +00:00
Tom
5ce296e08d Workaround to allow llHTTPRequest to POST data to Lighthttpd which doesn't support Expect: 100-Continue 2010-12-14 09:14:34 -08:00
Melanie
cb51fc129e Merge branch 'master' into careminster-presence-refactor
Also fix the failure to fire CHANGED_LINK on sit, which is different in our
code.
2010-12-14 12:12:27 +00:00
Melanie
2d9946d7c9 Merge branch 'master' into careminster-presence-refactor 2010-12-14 04:38:04 +00:00
Melanie
6528fc5c64 Fix a small bug in ban list handling 2010-12-13 22:27:03 +01:00
Melanie
7538926292 Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-12-13 20:20:02 +00:00
Melanie
d2ff4ebf2d Merge branch 'master' into careminster-presence-refactor 2010-12-13 20:19:10 +00:00
Melanie
6b374fa547 Revamp the viewer -> banlist packet processing so fix a number of bugs.
Remove the too coarse CanEditParcel method in favor of a CanEditParcelProperties
method that takes a GroupPowers argument to specify what action is to be
taken. Also, make the method to set parcel data much more granular. Permissions
in a deeded setting should now work.
2010-12-13 20:19:52 +01:00
Melanie
d36b880022 Change some lookups in he Land Management module to make group permissions
work better. Add a generic group permissions hoot to the scene permissions
system.
2010-12-13 11:13:34 +01:00
Kitto Flora
9f9af315ec Correct Sensor axis for unattached daughter prims. 2010-12-12 23:26:58 +00:00
Melanie
d3b081744e Prevent objects that are worn from ground from vanishing from the scene 2010-12-12 22:12:50 +01:00
Melanie
63353a0687 Fix a perms issue when wearing an object from inworld 2010-12-12 21:24:00 +01:00
Melanie
663a626a6f Apply the useful part of diva's patch that was skipped 2010-12-12 08:57:26 +00:00
Melanie
28022a9198 Merge branch 'master' into careminster-presence-refactor 2010-12-12 01:22:50 +00:00
Melanie
fe61c00958 Merge branch 'master' into careminster-presence-refactor 2010-12-12 01:22:27 +00:00
Melanie
8aa63093b1 Merge branch 'master' into careminster-presence-refactor 2010-12-12 01:20:46 +00:00
Kitto Flora
95a915efd8 Fix border fence for physicals. Fix llRotLookAt() for Vehicles. 2010-12-11 21:04:03 +00:00
Melanie
711db25dfa Allow floats in the list for llSetPayPrice and silently convert them to int, 2010-12-11 03:31:57 +01:00
Melanie
7fef89847c Merge branch 'master' into careminster-presence-refactor 2010-12-09 02:24:12 +00:00
Melanie
f28dc77ab4 Plumb a code path for the entity transfer module to ask a destination scene
whether or not an agent is allowed there as a root agent.
2010-12-09 02:01:41 +01:00
Melanie
80b84e4bad Prevent sending of attachment data to any client if the attachment
is not actually attached to any avatar. Another stab ad fixing "HUD hair"
2010-12-08 00:08:14 +01:00
Melanie
1e7b7ffd6b Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-12-07 23:43:53 +01:00
Melanie
b9f54fca5d Allow TPing multiple people in the friends list in one go. 2010-12-07 23:01:42 +01:00
Melanie
dd416f4b63 Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-12-07 15:27:50 +00:00
Melanie
c8f0c8ebc4 Remove old Freeswitch configurations 2010-12-07 15:24:17 +00:00
Melanie
549f90c5b5 Update calling card interface 2010-12-07 04:45:28 +01:00
Melanie
a4f7937eb3 Add the interface needed to revive calling cards 2010-12-07 03:08:48 +01:00
Melanie
b325721d6f Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-12-07 01:07:57 +01:00
Melanie
b960a05e67 Cowardly refuse to keep running when no application plugins are loaded.
Prevents empty instances from hanging around when Mono.Addins messes up
2010-12-07 01:07:13 +01:00
Melanie
b1a5c03985 Lock the attachments dict so it doesn't get out of sync when iterating 2010-12-06 17:40:07 +01:00
Melanie
45314c6622 Merge branch 'master' into careminster-presence-refactor 2010-12-06 02:54:51 +00:00
sacha
835103af82 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-12-04 21:50:48 +00:00
sacha
9b9ce8fb27 add more detail to the log in case of FORM Timeout
cause nothing relevant are in the services logs
2010-12-04 21:40:18 +00:00
Melanie
4b979362e9 Add some safeguards: DOn't send someone else's HUDs, don't send deleted prims
Removed some unneccessarily wordy core comments
2010-12-04 14:41:57 +01:00
Melanie
96446adfa4 Monitor the UUIDs used to create and update wearable assets. Reject any changed
texture that is not present in the user's inventory full perm.
This will prevent "UUID snatching", a copybot-type of attack that can cause
clothing makers to be forced to destroy and replace legit items in order to
invalidate the copies.
2010-12-04 07:06:30 +01:00
Melanie
f41dfbabc8 Simplify updating of agent inventory assets. Make newly created asset IDs
random rather than using IDs known by the client ahead of time.
2010-12-04 05:01:44 +01:00
Melanie
349767f8a2 Merge branch 'master' into careminster-presence-refactor 2010-12-04 04:25:39 +00:00
Melanie
bab6b6cd87 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-12-04 04:36:44 +01:00
Melanie
da91a2ab7e Convert the agent asset transactions module to a new style module.
Refactor to remove the property "MyScene" and the pointless circular
refs to the managing classes. Converted the module to a non-shared module.
Reformatted source for 80 columns. Removed the special role the module
had in the old loader.
2010-12-04 04:33:14 +01:00
Melanie
24af7b8384 Merge branch 'master' into careminster-presence-refactor 2010-12-04 00:09:32 +00:00
Melanie
8e3bacc691 When linking something, immediately persist the linked set. 2010-12-03 23:06:44 +01:00
Kitto Flora
bf695cccba Fix spurious Av move when clothing item worn or removed. 2010-12-03 18:32:58 +00:00
Melanie
60b055de4c Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-12-03 19:04:59 +01:00
Melanie
4407c4700f Fix status responses in remote admin 2010-12-03 19:02:42 +01:00
Melanie
8741676bc3 Revert "Revert "Trigger changed event with CHANGED_TELEPORT when teleporting to another region.""
This reverts commit 6c01ebb875.
2010-12-03 18:32:03 +01:00
Melanie
b940925173 Improve health reporting 2010-12-03 07:27:29 +01:00
Melanie
e913e1690e Fix health reporting. This will now actually monitor the threads properly
and not just the http server. It will also restart a dead heartbeat.
2010-12-03 07:16:06 +01:00
Melanie
ce1aedf474 Add a missing interface memeber to the new HG stuff 2010-12-03 07:04:07 +01:00
Melanie
6c01ebb875 Revert "Trigger changed event with CHANGED_TELEPORT when teleporting to another region."
This reverts commit 2827deffe8.

Pulling out a bad core commit that broke attachment teleporting for us
2010-12-03 04:39:51 +01:00
Melanie
342dc532ec Merge branch 'master' into careminster-presence-refactor
Also prevent god takes from ending up in Lost and Found
2010-12-03 02:36:13 +00:00
Melanie
ec01936d38 Change the way sim health reporting reports sim startup 2010-12-03 02:37:08 +01:00
Mic Bowman
ab2adaf341 Various bug fixes for appearance handling 2010-11-30 16:20:43 +01:00
Melanie
0218845c2e Prevent the restart module from barfing if it's not configured 2010-11-30 15:40:50 +01:00
Melanie
b08cc63003 Change inworld restart to use blue boxes rather than notices to match SL 2010-11-29 21:45:03 +01:00
Melanie
836b73f765 Fix the build break 2010-11-29 01:15:02 +00:00
Melanie
0acfe80f21 Remove the most spammy XML dumps from the FS voice module 2010-11-28 23:37:21 +00:00
Melanie
4c917d39d5 Merge branch 'master' into careminster-presence-refactor 2010-11-28 23:35:49 +00:00
Marck
4d104cf6fe Make gatekeeper's address check case-insensitive. 2010-11-28 23:35:38 +00:00
Melanie
2bee150aac Implement health monitoring of the packet receiving and sending threads 2010-11-28 20:45:03 +01:00
Melanie
0f1fc79994 Implement god summons 2010-11-28 20:14:58 +01:00
Melanie
4765fd9cd0 Remove hard limit on prim owners. The new LibOMV autosplits packets to
prevent overflow
2010-11-27 19:31:18 +01:00
Melanie
2412b3cb4a Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-11-27 13:07:23 +01:00
Melanie
0b41606e73 Instrument TI Dictionary to finally find that pesky script-caused deadlock 2010-11-27 13:02:51 +01:00
Melanie
35c6bba6d7 Merge branch 'master' into careminster-presence-refactor 2010-11-27 01:29:01 +00:00
Melanie
a1ab2a2244 Merge branch 'master' into careminster-presence-refactor 2010-11-27 01:25:02 +00:00
Melanie
e05f728b08 Merge branch 'master' into careminster-presence-refactor 2010-11-27 01:08:12 +00:00
Melanie
385a6c4b34 Convert the scope id in the im session id to a URL variable. Fixes offline
group notice attachments not working
2010-11-26 23:20:43 +01:00
Melanie
cccfd1db34 Add marker files to the restart module so external scripts can be used to
kill a process that hasn't restarted properly
2010-11-26 03:21:51 +01:00
Melanie
33c023bf6a Allow group lookup during tp / login to make restricting parcels to group
work.
2010-11-25 21:22:22 +01:00
Melanie
ee9aca9c52 Add the ability for gods to impersonate users. For this, bit 6 needs to be
set in the target's UserFlags and the impersonator must have UserLevel 200
or above. The user can then log in using the target's name and their own
password.
2010-11-25 20:34:55 +01:00
Melanie
c14592d4ba Export the module interface for restart 2010-11-25 04:16:34 +01:00
Melanie
efb03f6f99 Fix a bug caused by leftover code 2010-11-25 03:59:57 +01:00
Melanie
e74b0deb4e Fix up remote controller. 2010-11-25 03:43:23 +00:00
Melanie
6c3eb21440 Merge branch 'master' into careminster-presence-refactor 2010-11-25 03:27:35 +00:00
Melanie
1522567920 Finish the RestartModule and fix some bugs. Add new console commands:
region restart bluebox <msg> <time> ...
region restart notice <msg> <time> ...
region restart abort [<message>]
2010-11-25 02:37:50 +01:00
Melanie
eb9d7bff6c Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-11-25 01:25:56 +00:00
Melanie
2c1c04119d Merge branch 'master' into careminster-presence-refactor 2010-11-25 01:24:32 +00:00
Melanie
b3a71c6df1 Prevent an overlength button label from producing a debug dump and aborting
the script.
2010-11-24 18:56:25 +01:00
Melanie
a47fb93b74 Prevent a dump in the llGetLinkKey method when using LINK_ROOT in a single prim 2010-11-23 23:48:52 +01:00
Melanie
6557d5f359 Merge branch 'master' into careminster-presence-refactor 2010-11-23 14:05:09 +00:00
Melanie
3caea83e9a Merge branch 'master' into careminster-presence-refactor 2010-11-23 14:03:33 +00:00
Melanie
4a54b3318b Fix more potential nullrefs 2010-11-23 00:31:09 +01:00
Melanie
571becefb6 Fix some crashes caused by the addition of the CreatorData column 2010-11-22 23:31:29 +01:00
Melanie
506192e466 Make an invalud key string in llTextBox and llDialog non fatal to avoid
breakinf sloppily made no-mod scripted items.
2010-11-22 15:16:28 +01:00
Melanie
54d1d6d917 Fox case on a method 2010-11-22 14:32:51 +01:00
Melanie
87f30709a2 Merge branch 'master' into careminster-presence-refactor 2010-11-22 14:14:45 +00:00
Melanie
22ff06ba17 Merge branch 'master' into careminster-presence-refactor 2010-11-22 01:09:26 +00:00
Melanie
7e9a3019ac Fox the buglets in Freeswitch. Grid mode works now and there is no reason why standalone should not. 2010-11-22 00:55:11 +01:00
Melanie
8d7b181b58 Merge branch 'master' into careminster-presence-refactor 2010-11-21 23:47:28 +00:00
Melanie
5f8a0f3d1f Add the remote connector for freeswitch config retrieval 2010-11-21 23:41:56 +00:00
Melanie
83a427a8f9 Move Dialplan and Directory from the region module to the ROBUST server 2010-11-21 21:18:03 +00:00
Melanie
1cf8eb8a90 Start implementing Freeswitch in ROBUST 2010-11-21 20:59:01 +00:00
Melanie
164007dd00 Merge branch 'master' into careminster-presence-refactor 2010-11-18 19:06:09 +00:00
Melanie
f3e4000a55 Send media and other parcel data to client on login. Makes streams visible
right away and starts media.
2010-11-18 13:26:35 +01:00
Melanie
47f0468995 Send parcel data upon becoming root. This will make streams play and build
flags be set properly
2010-11-18 04:18:43 +01:00
Melanie
095e3aae67 Allow llDialog without any buttons and add the automatic OK button as it is
in SL.
2010-11-18 01:11:11 +01:00
Melanie
3bc9c1adb4 Merge branch 'master' into careminster-presence-refactor 2010-11-17 18:21:35 +00:00
Melanie
2e5ae1b013 Fix gesture and viewer preview sounds not playing 2010-11-17 17:54:32 +01:00
Melanie
80d3998001 Recalculate prim counts when a parcel is deeded 2010-11-17 17:54:03 +01:00
Melanie
0049ec16f5 Prevent leftover attachments from clogging up the pipes 2010-11-16 22:26:07 +01:00
Melanie
c4eb430ad2 Merge branch 'master' into careminster-presence-refactor 2010-11-16 21:15:15 +00:00
Melanie
d4d45c3acb Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-11-16 20:47:29 +01:00
Melanie
4f15b8d4e6 Change the way attachments are persisted. Editing a worn attachment will now
save properly, as will the results of a resizer script working. Attachment
positions are no longer saved on each move, but instead are saved once on
logout. Attachment script states are saved as part of the attachment now
when detaching.
2010-11-16 20:44:39 +01:00
Melanie
c2ac5dc358 Can't detach an object from within the script thread because it will throw.
Use FireAndForget for that.
2010-11-16 01:37:44 +01:00
Melanie
7a9c57a81e When detaching a scripted item, always consider it modified. Script states
will have changed and for real usability, we need to save it. It bloats
assets, but that can't be avoided.
2010-11-16 01:35:45 +01:00
Melanie
0f152bfe8c Diva needs a spanking! Serializing OldItemID breaks script state
persistence in agent inventory.
2010-11-16 01:33:24 +01:00
Kitto Flora
b2aeea66e3 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-11-11 04:51:05 +00:00
Kitto Flora
9462a1861b Fix excessive forward motion and flailing while descending a slope, prevent adding motion while falling from flying. 2010-11-11 04:49:47 +00:00
Melanie
aace455249 Prevent teleporting to a region when the egent is banned in all parcels 2010-11-10 16:22:55 +01:00
Melanie
b68f701c00 Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-11-09 23:55:19 +00:00
Melanie
fa64f2e56e Although the Allow Voice setting is per estate rather than per region,
apparently it is required in the region handshake to let the client
enable parcel voice controls. So, send it.
2010-11-09 23:54:08 +00:00
Melanie
ee85a530f6 Merge branch 'master' into careminster-presence-refactor 2010-11-09 22:16:48 +00:00
Melanie
d206721e2f Add option SeeIntoBannedRegion to allow band to act like SL, where you can
see in but not enter. Defaults to false, so no change.
2010-11-09 22:41:40 +01:00
Melanie
dfe11566f4 Fix parcel bans to work only on the avatars they're supposed to work on instead of pushing all avatars, even the ones that are allowed. 2010-11-09 20:18:36 +01:00
Melanie
ccfbce3176 Remove "OpenSimulator" from startup message 2010-11-09 16:07:43 +01:00
Melanie
09ea73f7cc Change "OpenSim" to "Careminster" and remove CM suffix. 2010-11-09 15:33:03 +01:00
Melanie
15da52d73a Prevent temp-on-rez prims from being persisted 2010-11-08 19:00:03 +01:00
Melanie
df0787f5cf Merge branch 'master' into careminster-presence-refactor 2010-11-08 03:08:02 +00:00
Melanie
8a97d58f09 Merge branch 'master' into careminster-presence-refactor 2010-11-08 03:05:07 +00:00
Melanie
5a3cd9f1d0 Decrease min search length to 2 chars for map search. 2010-11-07 16:08:41 +01:00
Melanie
4db60a5a40 Fix the inventory transfer module to not cause duplicated text IMs 2010-11-05 15:24:08 +01:00
Melanie
7844872067 Fix merge artefacts 2010-11-05 14:46:13 +01:00
Melanie
ddd3c6824a Revert "Spin the AddNewClient process off into a new thread to avoid locking up the LLUDPServer (and therefore the entire scene)"
This reverts commit 40e05f4109.

Conflicts:

	OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
2010-11-05 14:27:53 +01:00
Melanie
f985775962 Revert "Fix for hanging on "Connecting to region".. caused by packets being processed before the presence has bound to receive events. Fixed this by adding packets to a queue and then processing them when the presence is ready."
This reverts commit 91b1d17e5b.

Conflicts:

	OpenSim/Client/Sirikata/ClientStack/SirikataClientView.cs
	OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2010-11-05 14:27:14 +01:00
Melanie
654814d563 Merge branch 'master' into careminster-presence-refactor 2010-11-05 13:45:50 +00:00
Melanie
6bac92db80 Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-11-05 13:34:54 +00:00
Melanie
53d64f755a Merge branch 'master' into careminster-presence-refactor 2010-11-05 13:33:58 +00:00
Melanie
893915ce0b Fix child prims returning after being unlinked and deleted where the root is
not deleted
2010-11-04 21:09:59 +01:00
Melanie
82e534a029 Fix avatar to avatar inventory gives across servers 2010-11-04 19:07:43 +01:00
Melanie
b8924167e0 Fix creation of a duplicate physics actor on chained drag-copy operations,
the main cause for "ghost prims"
2010-11-04 10:37:39 +01:00
Melanie
c2bd6ccdb8 Fix playing sound from HUDs 2010-11-03 23:20:30 +01:00
Melanie
5f8ab9f018 Merge branch 'master' into careminster-presence-refactor 2010-11-03 02:34:36 +00:00
Melanie
636ca6218d Change the default of the new bind_ip_address RemoteAdmin option to 0.0.0.0
so it reflects the prior default. We are not in the habot of changing default
behavior without good reason and making localhost the default would break
most current use cases.
2010-11-03 01:11:04 +00:00
Melanie
c285f87702 Fix config items. Less used / expert items go in OpenSimDefaults.ini
The default shown is always the hardcoded default
2010-11-03 01:09:42 +00:00
mores
d5d0e81df2 Admin Server can now bind to a private ip address
Signed-off-by: Melanie <melanie@t-data.com>
2010-11-03 01:09:38 +00:00
Melanie
e9ec187746 Merge branch 'master' into careminster-presence-refactor 2010-11-03 00:48:18 +00:00
Melanie
797e461ef9 Merge branch 'master' into careminster-presence-refactor 2010-11-02 23:41:13 +00:00
Melanie
26f12f479f Merge branch 'master' into careminster-presence-refactor 2010-11-02 22:58:33 +00:00
Melanie
69c1e0b2f7 Merge branch 'master' into careminster-presence-refactor 2010-10-29 21:22:35 +01:00
Melanie
840b75ca9b Add my work on top of cmickeyb's 2010-10-29 20:48:37 +02:00
Melanie
9331898c32 Merge branch 'master' into careminster-presence-refactor 2010-10-29 20:40:48 +01:00
Melanie
b800a299aa Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-10-29 20:36:03 +02:00
Melanie
dbd1a68b58 Fix a LSL issue and a prim naming issue 2010-10-29 20:35:06 +02:00
Melanie
3231602b88 Revert "Preliminary work on appearance layers. No user functionality yet."
This reverts commit e6a8d2872c.
2010-10-29 20:34:53 +02:00
Melanie
bd4e3b0aaf Add a default alpha layer 2010-10-29 20:31:17 +02:00
Melanie
e2b08bac6d Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-10-29 18:56:20 +01:00
Melanie
13129f1a8d Preliminary work on appearance layers. No user functionality yet. 2010-10-29 18:55:58 +01:00
Melanie
e6a8d2872c Preliminary work on appearance layers. No user functionality yet. 2010-10-29 18:59:53 +02:00
Melanie
a51a545cb9 Fix attached sounds from HUDs erroneously being delivered to other avatars 2010-10-28 13:24:45 +01:00
Melanie
05dbe4f2c4 Merge branch 'master' into careminster-presence-refactor 2010-10-27 20:49:27 +01:00
Melanie
3113cc9129 Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-10-25 01:24:42 +01:00
Melanie
ac370cf57b Merge branch 'master' into careminster-presence-refactor 2010-10-25 01:24:30 +01:00
Melanie
cf78f3fae3 Comment repeated add and remove of avatars from the physical scene. It's no
longer needed.
2010-10-25 00:53:38 +02:00
Melanie
dd7f9ed7bf Implement llGetLinkNumberOfSides(), needed for 1-script sculptie foot shoe
scripts.
2010-10-25 00:33:34 +02:00
Melanie
61137eac22 Add PRIM_NAME, PRIM_DESC and PRIM_ROT_LOCAL 2010-10-24 18:19:48 +02:00
Melanie
2f0a3391ee Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-10-24 17:21:16 +02:00
Melanie
5f266fd571 Change the results from llGetPrimitiveParams to be the same as SL for
the prim position. This will make attached resizer scripts work like SL.
Existing resizers may be affected adversely.
2010-10-24 17:18:21 +02:00
Melanie
d0c707209a Prevent an exception if a string passed into llXorBase64StringsCorrect is not
a base 64 string. Return the empty string in this case.
2010-10-23 22:40:56 +01:00
Melanie
9a78281f82 Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-10-23 00:22:23 +01:00
Melanie
7f74dc1b14 Merge branch 'master' into careminster-presence-refactor 2010-10-23 00:21:42 +01:00
Melanie
9fa915bdef Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-10-23 00:20:18 +02:00
Melanie
c3ddf46188 Prevent database lookups on every avatar movement when land is set to group
access. Fixes a massive performance degradation.
2010-10-23 00:18:56 +02:00
Melanie
301a926015 Change some exception to use ToString(). e.Message is not sufficient to fix
errors. Please don't use e.Message, devs NEED to see the dumps!
2010-10-22 13:29:59 +01:00
Melanie
28c4dd7931 Merge branch 'master' into careminster-presence-refactor 2010-10-21 20:26:29 +01:00
Melanie
fa7da00cc3 COnvert some funky K&R notation to proper (MS) style 2010-10-21 09:35:33 +01:00
Melanie
12ebed8bab Merge branch 'master' into careminster-presence-refactor 2010-10-21 09:33:12 +01:00
Melanie
fc33d569cd Merge branch 'master' into careminster-presence-refactor 2010-10-21 07:33:01 +01:00
Melanie
8853c21763 COmmented the wrong line instead, now I commented them all to be on the safe side 2010-10-19 01:22:31 +01:00
Melanie
e0a02d6ca3 Merge branch 'master' into careminster-presence-refactor 2010-10-19 00:52:35 +01:00
Melanie
ce3594f7f2 Change substring matching to prefix matching in region search. This affects
both map and login, as they use the same method.
2010-10-18 22:58:04 +01:00
Melanie
78a6e5489b Fix merge issues 2010-10-18 20:50:16 +02:00
Melanie
bb7a755cba Merge branch 'master' into careminster-presence-refactor 2010-10-18 20:30:46 +01:00
Melanie
46e5c8e919 Merge branch 'master' into careminster-presence-refactor 2010-10-16 10:52:56 +01:00
Melanie
e6d0fb0b0e Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-10-16 10:51:44 +02:00
Melanie
efc555ca22 Actually set the PrivateBinPath in XEngine so relocating the scripts
directory works
2010-10-16 10:50:07 +02:00
Melanie
455a2ba7de Merge branch 'master' into careminster-presence-refactor 2010-10-16 02:27:51 +01:00
Melanie
537905d81b Add a setter to OldItemID so it can be deserialized 2010-10-13 19:45:55 +01:00
Melanie
bb1e35fbd9 Merge branch 'master' into careminster-presence-refactor 2010-10-13 18:44:58 +01:00
Melanie
3eb68c319e change default next owner persm to mod/trans to match SL. 2010-10-13 08:24:18 +02:00
Melanie
0806d03780 Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-10-10 22:08:54 +01:00
Melanie
cb79e228e4 Merge branch 'master' into careminster-presence-refactor 2010-10-10 22:08:36 +01:00
Melanie
2804c97a39 Change the part for sound playback to be the root part / object UUID instead
of the child prim because using the child prim plain doesn't work.
2010-10-10 22:06:47 +01:00
Melanie
c2971a6398 Add group invites to the list of messages that get offlined 2010-10-10 20:15:02 +02:00
Melanie
231feab57f Merge branch 'master' into careminster-presence-refactor
Conflicts:
	OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
2010-10-09 01:07:41 +01:00
Melanie
ff49a21eca Fix a security relevant issue with take / take copy 2010-10-09 01:02:57 +02:00
Melanie
52dd547863 Make SendKillObject send multiple localIDs in one packet. This avoids the
halting visual behavior of large group deletes and eliminates the packet flood
2010-10-08 11:31:52 +02:00
Melanie
ba0afa53d3 Implement rezzing coalesced objects 2010-10-07 05:12:39 +02:00
Melanie
2db0ac74c7 Implement taking of coalesced objects.
WARNING!!!!!
You can TAKE them, but you can't REZ them again. Only the first of the contained
objects will rez, the rest is inaccessible until rezzing them is implemented.
Also, rotations are not explicitly stored. This MAY work. Or not.
2010-10-07 01:13:17 +02:00
Melanie
42f76773a1 Plumb the path for multiple object deletes 2010-10-06 19:59:30 +02:00
Melanie
ca50f6a82c Merge branch 'master' into careminster-presence-refactor 2010-10-06 05:45:29 +01:00
Melanie
1a47ec082e Convert worldview to GET 2010-10-06 05:15:47 +02:00
Melanie
b7586806cd Merge branch 'master' into careminster-presence-refactor 2010-10-06 03:52:57 +01:00
Melanie
d8149373c1 Merge branch 'master' into careminster-presence-refactor 2010-10-06 00:27:10 +01:00
Latif Khalifa
e55e93c994 Avoid throwing errors when adding existing meshes to the render scene 2010-10-04 06:02:28 +01:00
Melanie
da6816c805 Merge branch 'master' into careminster-presence-refactor 2010-10-04 04:49:54 +01:00
Melanie
c19ac997b1 Merge branch 'master' into careminster-presence-refactor 2010-10-04 01:08:11 +01:00
Melanie
7bbc486c62 Merge branch 'master' into careminster-presence-refactor 2010-10-04 00:44:50 +01:00
Melanie
6ba7ee6b2e Update libOMV 2010-10-04 00:44:27 +01:00
Melanie
90f9b7b7c4 Fix line endings 2010-10-04 00:37:18 +02:00
Melanie
50b03d08a8 Add linden prim renderer and update libOMV 2010-10-04 00:04:42 +02:00
Melanie
48988bf4e9 Merge branch 'master' into careminster-presence-refactor 2010-10-03 22:38:32 +01:00
Melanie
b4fe6da4eb Add the Warp3D dll 2010-10-03 16:57:45 +01:00
Melanie
5910be236f Merge branch 'master' into careminster-presence-refactor 2010-10-03 16:52:27 +01:00
Melanie
662976b602 Merge branch 'master' into careminster-presence-refactor 2010-10-02 20:12:36 +01:00
Melanie
fd56fd2ce8 Merge branch 'master' into careminster-presence-refactor 2010-10-02 19:51:43 +01:00
Melanie
b40c91777c Replace CalculateMass with a more accurate version, contributed by Ubit.
Thank you.
2010-10-02 00:19:30 +02:00
Melanie
9f7f266f58 Replace CalculateMass with a better, contributed version 2010-10-02 00:18:52 +02:00
Melanie
7ad1b60eca Enforce region agent limit as set in estate tools 2010-09-30 20:01:55 +02:00
Melanie
521e2c8355 Merge branch 'master' into careminster-presence-refactor 2010-09-30 16:01:45 +01:00
Melanie
ac7a4a7d38 Fix an inventory fetch issue 2010-09-30 02:47:07 +02:00
Melanie
9522881404 Fix a potential key collision 2010-09-30 02:46:47 +02:00
Melanie
3d75e9addd Lock the iteration over the inventory items when saving script states 2010-09-28 02:22:32 +02:00
Melanie
841c84831f Try to prevent threading issues in SP.SetAppearance by locking it 2010-09-27 19:34:16 +02:00
Melanie
5b2aa02fd9 Merge branch 'master' into careminster-presence-refactor 2010-09-27 03:48:15 +01:00
Melanie
41051b3cc6 Prevent setting arbitrary groups on your objects. 2010-09-27 02:13:22 +01:00
Melanie
296cf04ce6 Merge branch 'master' into careminster-presence-refactor 2010-09-27 01:32:06 +01:00
Melanie
34e8bf45b6 Restrict inventory items added in a transaction to folder belonging
to the connected client.
2010-09-27 00:29:27 +01:00
Melanie
9f17ae580d Merge branch 'master' into careminster-presence-refactor 2010-09-26 23:57:06 +01:00
Melanie
aecac9bba9 Typo fixes 2010-09-26 18:05:55 +01:00
Melanie
6f689f591a Merge Master 2010-09-26 17:56:31 +01:00
Melanie
0080f28f1d Merge branch 'master' into careminster-presence-refactor 2010-09-25 06:57:53 +01:00
Melanie
4fbdcb95a0 Merge branch 'master' into careminster-presence-refactor 2010-09-25 06:19:26 +01:00
Melanie
83b16612ce Experimental locking of taint processing 2010-09-25 05:57:08 +02:00
Melanie
1c1f308052 if you can't edit a prim's inventory, you don't need to see the asset ids.
Prevents stealing IDs of animations, sounds and textures from prim
inventories. Prevents copybot from gathering the wearable UUIDs needed for
pirating things from vendors.
2010-09-24 23:48:52 +02:00
Melanie
33bd4fe789 When clearing the addin registry, respect a custom path 2010-09-24 22:00:51 +02:00
Melanie
41847e8fdf Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-09-21 04:03:40 +01:00
Melanie
9feef34a81 Merge branch 'master' into careminster-presence-refactor 2010-09-21 04:03:14 +01:00
Melanie
12f9b1df8c Fix a typo 2010-09-21 03:57:09 +02:00
Melanie
7229bc4fbd Refactor script create permission into the perms module 2010-09-21 02:08:55 +02:00
Melanie
9cf8795ecf Fix a merge artefact that broke script state persistence in XAttachments 2010-09-19 22:53:05 +02:00
Melanie
3a760ad12b Overwrite the core version of the string parsing method with ours 2010-09-17 22:20:20 +01:00
Melanie
bdd4dcf69b Merge branch 'master' into careminster-presence-refactor 2010-09-17 22:12:48 +01:00
Melanie
a6382deec5 Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-09-17 22:06:18 +01:00
Melanie
9f7aa7deef Add LandServices to make landmarks work right in grids 2010-09-17 21:40:49 +01:00
Melanie
e32855d080 Merge branch 'master' into careminster-presence-refactor 2010-09-17 03:57:15 +01:00
Melanie
7df4383235 Merge branch 'master' into careminster-presence-refactor
Integrate the next large patch.
Don't use this version, it has a ghost avatar issue. Next push
will fix it.
2010-09-17 03:49:30 +01:00
root
87a1e00f05 Remove the now unused partslock 2010-09-17 04:00:00 +02:00
root
251f2444d0 Revert "* Changed 11 calls for session info to the more optimized API method"
This reverts commit 5dc9ea2f24.
Also makes online indicators and IM more robust
2010-09-17 01:50:48 +02:00
root
1e4e978f7f Removing debug 2010-09-16 23:26:53 +02:00
root
a0c87b5af6 JustinCC is evil. f7b28dd3 broke script persistence. This fixes it. 2010-09-16 23:12:32 +02:00
root
512ded6eb5 Catch a nullref 2010-09-16 21:07:09 +02:00
root
d50a072336 Suppress the strange "Result not Dictionary" messages that happen when
a region queries for a nonexistent presence.
2010-09-16 20:21:30 +02:00
root
ec89dc99b7 Some small bug fixes 2010-09-16 18:58:25 +02:00
Melanie
58b1ee8e2c Merge branch 'master' into careminster-presence-refactor 2010-09-16 18:04:50 +01:00
meta7
571693d7b6 Revert last commit 2010-09-15 08:16:38 -07:00
meta7
77eb8ade8c Don't throw an exception if the authorizationservice is missing a serviceuri config entry. Not every authorization service will need a URI. 2010-09-15 08:08:29 -07:00
meta7
1f74f013b2 Don't fart when deserializing a prim with no ParentGroup set yet 2010-09-15 07:59:28 -07:00
Melanie
7f7bbbb84a Fix the above 2010-09-14 23:05:42 +01:00
Melanie
18beb796bc Merge branch 'master' into careminster-presence-refactor 2010-09-14 22:50:38 +01:00
Melanie Thielker
540a1912ce Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-09-14 22:14:23 +02:00
Melanie
356b1ef1d9 Merge branch 'master' into careminster-presence-refactor 2010-09-14 22:16:02 +01:00
Melanie
e27f59cf42 reorder some code to avoid merge issues in the future 2010-09-14 22:15:16 +01:00
Melanie
2f41bc4ca7 Fix merge issues 2010-09-14 22:14:08 +01:00
Melanie
1212cb0c74 Merge branch 'master' into careminster-presence-refactor 2010-09-14 22:03:42 +01:00
Melanie Thielker
cc290abf7a Adjust the code for ghost prim removal to new information from Kitto 2010-09-14 22:13:44 +02:00
Melanie Thielker
d299f8b55c Fix a small left over buglet and also add checking of the physics actor
position on backup. This way, ant object that has been moved will be
checked for ghost prims as soon as it is persisted.
2010-09-14 19:41:53 +02:00
meta7
ec305a4825 LSL compatibility: Don't throw an exception if an invalid key is passed to llInstantMessage, instead shout about it and apply the usual delay. This now matches SL. 2010-09-13 17:43:45 -07:00
Melanie
656e64b3ed Change the help message to point to copying OpenSimDefaults.ini.example.
Provide a mostly empty OpenSim.ini.example
2010-09-13 23:22:25 +01:00
Melanie
8e51ca3a7b Output an error and quit if the master file is missing. Also rename
OpenSim.ini.example to bin/OpenSimDefaults.ini.example
2010-09-13 23:17:42 +01:00
Melanie
5e1aab92f5 Make the inimaster option default to OpenSimDefaults.ini. 2010-09-13 23:12:48 +01:00
Melanie
6a1ce17cdb Merge branch 'master' into careminster-presence-refactor
The modules will need to be updated for this to compile and run again. Please
don't use until I do the companion commit to modules later on.
2010-09-13 16:17:38 +01:00
Melanie
d264f0d301 Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-09-11 20:22:53 +01:00
Melanie
5e5260ad1b Prevent child agents from being blacklisted in the kill record. 2010-09-11 20:22:10 +01:00
Melanie Thielker
319007783c Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-09-08 00:50:31 +02:00
Melanie Thielker
7a1b1dd419 Make AddRestoredSceneObject reset the IsDeleted flag so we can take an
object out of the scene and then put it back in.
2010-09-08 00:49:32 +02:00
Melanie
342c64b7ac Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-09-07 20:20:16 +01:00
Melanie
50cc22c9e6 Fix Simian regression 2010-09-07 20:19:52 +01:00
Melanie Thielker
8ab4b277c1 Fix some issues with unlinking 2010-09-07 17:12:28 +02:00
Melanie
2684ca0838 Merge branch 'master' into careminster-presence-refactor 2010-09-07 11:51:26 +01:00
Melanie
3284356bba Merge branch 'master' into careminster-presence-refactor 2010-09-07 01:48:00 +01:00
Kitto Flora
cfaefad754 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-09-06 21:45:17 +00:00
Kitto Flora
c719e016ed Falling animation fix, comment out instrumentation. 2010-09-06 21:45:07 +00:00
Melanie Thielker
8886afd319 Fix yet another cause of "Ghost attachments" 2010-09-06 21:59:52 +02:00
Melanie Thielker
f4f9a2cb45 Don't turn off the sale settings on child prims when linking, and on copy
of prims anymore. The behavior now matches SL and can be used to link
vendor prims for transport
2010-09-06 18:14:24 +02:00
Melanie Thielker
06adbc1324 Revert "Workaround for mono bug #312968"
This reverts commit f2e343d530.

Doesn't compile with our version of Mono. Patched Mono instead.
2010-09-06 17:24:10 +02:00
Melanie Thielker
f2e343d530 Workaround for mono bug #312968 2010-09-06 14:09:46 +02:00
Melanie Thielker
00a23eea0e Reflect the ParcelPropertiesUpdateRequest into Scene.EventManager, because
modules need to see it (Search!) even if it comes in via CAPS
2010-09-06 03:59:48 +02:00
Melanie
b9c20fbaa7 Merge branch 'master' into careminster-presence-refactor 2010-09-05 19:15:49 +01:00
Melanie
e4c2b44e5c Merge branch 'master' into careminster-presence-refactor 2010-09-05 15:06:00 +01:00
Melanie Thielker
e593607171 Remove "Dwell" support from core and replace it with calls to methods
on IDwellModule
2010-09-05 14:16:42 +02:00
Melanie
5cbc4e2a5f Merge branch 'master' into careminster-presence-refactor 2010-09-03 19:18:03 +01:00
Melanie
4e0d6e8e41 Merge branch 'master' into careminster-presence-refactor 2010-09-03 03:37:18 +01:00
Melanie Thielker
457160afc3 Fix an issue with rezzing scripted objects. 2010-09-03 03:16:08 +02:00
Kitto Flora
24c73aa8b2 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-09-02 21:51:27 +00:00
Kitto Flora
16814dd8f1 Fixes to JUMP system. 2010-09-02 21:51:19 +00:00
Melanie Thielker
5ea979d515 Remove commented code and the comment, as the change has proven out 2010-09-02 20:51:27 +02:00
Melanie Thielker
eea5d8368a Experimentally comment the sending of unbaked avatars 2010-09-02 20:08:39 +02:00
Melanie Thielker
713c666827 Show when appearance is sent to an avatar to help track down failure
\to display avatars
2010-09-02 19:49:42 +02:00
Melanie Thielker
0f40ec5c65 Implement UploadBakedTexture cap 2010-09-02 16:10:44 +02:00
Melanie Thielker
db015963a9 Remove the annoying "Script saved" popups when saving scripts in task
inventory. They cause spam when using recompile scripts in selection
and are redundant because that message is also shown in the script window
message pane. These popups were a legacy from when we couldn't drive the
message pane and their finest hour has now come.
2010-09-02 14:17:33 +02:00
Melanie Thielker
09fba16094 Prevent Meta7 plants from being treated like dropped attachments and removed
from the sim.
2010-09-01 20:10:44 +02:00
Melanie Thielker
2232e6f273 Improve sim health reporting. Output error message if heartbeat thread is restarted by scene. This may help to find out why this recovery mechanism isn't working. 2010-09-01 14:08:52 +02:00
Melanie Thielker
aca10cb027 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-31 22:26:17 +02:00
Melanie Thielker
b973fe5297 Adjust the "Magic numbers" we use because we can't reference the actual
script state enum to reflect recent changes.
2010-08-31 22:24:11 +02:00
meta7
35d6181b78 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-30 11:42:17 -07:00
meta7
4cf5ef3cd4 Kick the user from the region in the circumstance that the TP home failed - ONLY if it was triggered by an estate ban. This makes baby jesus cry, and should be fixed to search for alternative regions if the home region is unavailable. 2010-08-30 11:41:20 -07:00
Melanie
79bfa275da Merge branch 'master' into careminster-presence-refactor 2010-08-30 02:30:28 +01:00
Melanie
8ee31d97a8 Remove CRLF endings 2010-08-30 02:19:21 +01:00
Melanie Thielker
47818a2db3 Fix a horrible bug in SG, where iteration of scene objects is carried
out in a fashion that causes the delegate to be invoked once per child
prim for a given group.
2010-08-26 01:06:50 +02:00
Melanie Thielker
4b47008d30 Correct whitespace 2010-08-26 00:37:54 +02:00
Melanie
fc8d2be632 Merge branch 'master' into careminster-presence-refactor
This was rather conflicted. Please test linking.
2010-08-26 00:11:07 +01:00
Melanie
252e159340 Merge branch 'master' into careminster-presence-refactor 2010-08-25 23:22:23 +01:00
Melanie Thielker
1096f43f0d Prevent an object disposed exception that made forms comms unreliable. After
starting an asynchronous write, one should not close the channel it will
be written to synchrnously, that leads to grief.
2010-08-25 23:34:39 +02:00
Melanie Thielker
dc1baf8025 Change object cleanup again. Make scene object directories more robust and
prevent deleted SOP's from sticking around
2010-08-25 23:11:00 +02:00
Melanie Thielker
1bcb2e788f Change some e.Message to e.ToString. Don't use e.Message, it doesn't carry
any useful information. Error messages are useless without location information.
It looks more elegant, but is totally pointless.
2010-08-25 23:04:12 +02:00
Melanie Thielker
c13045b25e Correct a logic error in attachment cleanup 2010-08-25 20:11:47 +02:00
Melanie Thielker
314d1171ef Lock the attachment cleanup so it doesn't go into an endless deletion frenzy 2010-08-25 16:06:06 +02:00
Melanie
ef5b628191 Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-24 19:22:00 +01:00
Melanie
7296286267 Merge branch 'master' into careminster-presence-refactor 2010-08-24 19:20:43 +01:00
Melanie Thielker
4e324ae3cb Call the cleanup after saving attachment states, so that the attachments
don't get killed before they can be saved
2010-08-24 19:07:42 +02:00
Melanie Thielker
512a13dbe7 Call the Cleanup when an agent logs out, when an agent leaves and just
before an agent logs in directly. Intentionally not calling this from MakeRoot
as that would mess up attachment transfer in teleport
2010-08-24 18:52:00 +02:00
Melanie Thielker
5a05de0eec Call attachment cleanup when an agent crosses out 2010-08-24 18:38:54 +02:00
Melanie
483fc88b07 Merge branch 'master' into careminster-presence-refactor 2010-08-24 17:37:11 +01:00
Melanie Thielker
b9e12ed3b7 Add a method to delete left over / dropped attachments 2010-08-24 18:20:24 +02:00
Melanie
1bfec00a88 Merge branch 'master' into careminster-presence-refactor 2010-08-23 23:55:15 +01:00
meta7
8a1640f0a1 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-22 09:32:49 -07:00
meta7
46412f4931 Fix llGetLinkKey and llGetNumberOfPrims to play nice with avatars in the linkset (emulated) 2010-08-22 09:32:40 -07:00
Melanie Thielker
5c368c8d38 Refix the fix 2010-08-22 16:44:22 +02:00
Melanie Thielker
0ca771c185 Provide a better implementation of llList2Float 2010-08-22 16:23:36 +02:00
Melanie Thielker
98b2d3a7f2 Revert "Fix a typecasting issue in llList2Float. This addresses mantis #262"
This reverts commit 810840b862.

This breaks llList2Float in horrible ways. 12 hours 14 minutes becomes
1214.0 and 023.145 becomes 23145.0
Could just add the dot to fix the latter issue but that would not help
the first part. Another solution is needed.
2010-08-22 15:55:23 +02:00
Melanie Thielker
32ddeab5e3 Add printing the default script engine name. Report real exceptions when
there is an issue with the config file, as a typo could cause configuration to
silently fail.
2010-08-22 14:26:58 +02:00
Melanie Thielker
071edaff49 Suppress error messages about scripts not foind if they're in fact disabled 2010-08-22 13:51:15 +02:00
Melanie Thielker
a0a25bb8ca A stab at making a better bounding box calculation 2010-08-22 13:42:29 +02:00
Melanie Thielker
8613336674 Don't allow oversized search reply packets 2010-08-21 17:48:49 +02:00
meta7
3ffdadef70 Add support for attached avatars in llGetLinkKey() 2010-08-21 07:22:41 -07:00
meta7
839b08c32b Removed the NotImplementedException from llSetSoundQueueing, because the function not working won't actually stop the script from working, firing an exception will. 2010-08-21 06:30:53 -07:00
Melanie
f8ff98577e Merge branch 'master' into careminster-presence-refactor 2010-08-21 00:32:26 +01:00
Melanie Thielker
f7c4be1fa1 Forward-port a small improvement to the land out connector 2010-08-21 00:46:16 +02:00
meta7
c448151f6b Someone from germany broke the build :P mentioning no names 2010-08-20 11:38:59 -07:00
Melanie Thielker
4708083434 Use the database mthod directly to delete items in a single sql swoop 2010-08-20 18:53:33 +02:00
meta7
b1790ba56e Delete items as well as folders in XInventoryService.PurgeFolder - this should make emptying the trash work properly. 2010-08-20 11:25:31 -07:00
meta7
187ccd72f0 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-20 11:01:03 -07:00
meta7
cc8864b0e3 Get maturity level from access number. This addresses mantis #269 2010-08-20 11:00:14 -07:00
Melanie Thielker
47838e5fb3 Add some maptile options, change maptile generation from OpenSimBase to Scene
to make it more configurable.
2010-08-20 08:46:46 +02:00
Melanie
1ab631f015 Merge branch 'master' into careminster-presence-refactor 2010-08-19 20:25:17 +01:00
Melanie Thielker
a1074cad5c Short-circuit the grid server lookup for RequestSimulatorData if the region
info is requested for is the local region
2010-08-19 20:41:55 +02:00
Melanie
77705145a0 Merge branch 'master' into careminster-presence-refactor 2010-08-19 11:47:50 +01:00
Melanie Thielker
1a8a11140c Revert "Adding Group managment to the offline system"
This reverts commit 7c673c79d4.

That module only handles text IM
2010-08-19 12:04:46 +02:00
Melanie Thielker
fdc59ee802 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-19 12:02:26 +02:00
Melanie Thielker
0344395776 Skip conversion if fields that are null in the database. This may
uncover errors elsewhere.
2010-08-19 12:01:40 +02:00
sacha
7c673c79d4 Adding Group managment to the offline system
Sending a group invite is offlined now
2010-08-19 08:31:51 +00:00
Melanie Thielker
fb2deb0d45 Prevent a bad cast in llCreateLink(). 2010-08-18 20:17:20 +02:00
meta7
810840b862 Fix a typecasting issue in llList2Float. This addresses mantis #262 2010-08-18 04:23:56 -07:00
meta7
ca8b1e488c Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-18 02:53:27 -07:00
Melanie
e74809ff4c Merge branch 'master' into careminster-presence-refactor 2010-08-18 00:59:20 +01:00
Melanie Thielker
f2d7f3e731 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-14 14:00:12 +02:00
Melanie Thielker
a32b0ce0ae Fix a possible nullref in BestAvatarResponsiveness policy 2010-08-14 13:59:36 +02:00
sacha
042eb80a62 clearing some debugmessages 2010-08-14 08:59:57 +00:00
meta7
b43a731beb Fix a nullref exception in the prioritizer 2010-08-12 05:40:41 -07:00
meta7
df9521caf3 Add ini.example section for the MOTD module. 2010-08-11 15:30:42 -07:00
meta7
7aac4d650f Fix the llRemoveInventory recursive lock error (again) 2010-08-11 14:30:09 -07:00
meta7
24577876be Add some console debug to help fix a threadlock issue. 2010-08-11 14:10:47 -07:00
meta7
ac581b532e Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-11 13:40:31 -07:00
meta7
fa393cb13a Fix Omega getting overwritten on startup. 2010-08-11 13:39:36 -07:00
Melanie Thielker
d00a954d35 Log the state of the prejump flag 2010-08-11 03:09:56 +02:00
Melanie Thielker
a5a60df687 Change chat packets to bypass the throttles. This should alleviate chat lag 2010-08-11 02:52:52 +02:00
Melanie Thielker
af60b8ac16 Set triggering the texture and height update on a two second timer. This fixes
the texture rubberbanding.
2010-08-10 22:52:51 +02:00
meta7
1582e05ac7 Fix a nullref issue in the AgentSetAppearance packet handler when removing the physactor from the scene 2010-08-10 09:55:40 -07:00
meta7
48c52d6e48 Fix a dangling lock issue in llRemoveInventory 2010-08-10 09:50:18 -07:00
meta7
fb14390fb0 Note to self: don't break the build 2010-08-10 09:17:30 -07:00
meta7
9fba4b66bb Resolve merge failure 2010-08-10 09:11:55 -07:00
Melanie
5e8c3f8325 Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-10 20:12:13 +01:00
sacha
7fead01786 remoning debug messages 2010-08-10 19:43:32 +00:00
sacha
d0a22fb359 fixed ground texture issues ( it seems ) 2010-08-10 19:35:17 +00:00
Melanie
24b9a2885f Resolve merge issues 2010-08-10 20:11:55 +01:00
Melanie
c2e5d1d203 Merge branch 'master' into careminster-presence-refactor 2010-08-10 19:49:35 +01:00
Melanie
383ee0d647 Remove 4000+ DOS line endings. Grrr! 2010-08-10 19:48:45 +01:00
Melanie
d98d5ee6be Remove windows line endinge 2010-08-10 19:42:18 +01:00
meta7
1ead2ed5ee Add a stack trace to the error output on the recursive read lock warning on my RWlocks. Whilst recursive locks are safe, coupled with other issues we're experiencing with the TaskInventoryDictionary it implies that somewhere the lock is not being freed possibly due to a merge error somewhere, and thus it needs to be looked into. 2010-08-10 09:07:17 -07:00
meta7
912bfba20c Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-09 23:36:59 -07:00
meta7
eb5c508f8b Add a DebuggerSafe option to the ini to help with debugging in visual studio. This essentially silences exceptions in the script engine. Disabled by default, naturally. 2010-08-09 23:35:40 -07:00
meta7
f0bad66d41 For my own sanity, fix a bug in xengine 2010-08-09 23:34:37 -07:00
Melanie Thielker
0f9eebdfb1 Change prejump from hardcoded true to default true so it can be disabled.
It completely destroys roleplay jumping
2010-08-10 03:52:00 +02:00
meta7
bef6fa37b9 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-08 18:57:16 -07:00
meta7
32ccc19a62 Make fallbacks work, the destination was never actually updated with the fallback details. 2010-08-08 18:56:47 -07:00
Melanie Thielker
f20dc512e8 Whitespace conflict 2010-08-09 02:46:09 +02:00
Melanie
1f052520ae Merge branch 'master' into careminster-presence-refactor 2010-08-09 02:27:54 +01:00
meta7
680e801bf2 Print a console message when we deny access because of no valid parcel found. 2010-08-08 17:32:20 -07:00
meta7
603b3a1606 Fix minimap issues. This addresses mantis #228. 2010-08-08 17:31:29 -07:00
Melanie
b0795bcfef Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-09 00:49:40 +01:00
Melanie
52f49b2a78 Merge branch 'master' into careminster-presence-refactor 2010-08-09 00:49:15 +01:00
Melanie Thielker
ca2a4bbded Add debug messages to attachment receiving and cowardly refuse to create
them if the owner can't be determined.
2010-08-08 19:35:20 +02:00
Melanie
321e1148da Merge branch 'master' into careminster-presence-refactor 2010-08-08 18:24:33 +01:00
Melanie Thielker
6cb50c49b5 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-08 17:53:25 +02:00
Melanie Thielker
1cde77293e Thank you, Marck00, for a patch that implemented region distance sorting
for fallback regions. Applied with changes.
2010-08-08 17:51:43 +02:00
meta7
a1f2be5e69 The real fix for unscripted sit positions. This one doesn't fuck everything else up. Promise. 2010-08-07 22:25:37 -07:00
meta7
f9b5f23383 Reverted: * Fix the unscripted sit rotation being incorrect .. will commit a proper fix now. 2010-08-07 22:19:26 -07:00
meta7
12dd97c9f8 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-07 20:14:58 -07:00
meta7
0794c6a941 Implement parcel group access control. This addresses mantis #158. 2010-08-07 20:13:45 -07:00
meta7
aa54e8d95e Increase sit distance to 256 meters, but leave the initial autopilot process in the picture so sit position can still be raycast by the existing code. 2010-08-07 17:35:16 -07:00
meta7
b771965f28 Get rid of some debug chatter that someone who can't spell left behind. ;) 2010-08-07 17:33:27 -07:00
meta7
acb1590cf0 Fix the unscripted sit rotation being incorrect (relative to the prim). Note that unscripted sit offset is still really poor but this is not something i'm prepared to spend time on fixing. 2010-08-07 17:32:36 -07:00
Melanie Thielker
d2b3d45d76 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-08 02:04:37 +02:00
Melanie Thielker
50ac61e17f In my crusade against facelights, I am striking the killing blow. Add a
DisableFacelights option to OpenSim.ini to finally kill those immersion-
breaking, silly vanity lights that destroy nighttime RP. Girls, you look
just fine without them. Guys, you too. Thank you. Melanie has left the building.
2010-08-08 02:01:24 +02:00
meta7
19ab4c9508 Fix a rather nasty issue where the Backup() process causes objects and avatars sitting on them to be pushed to the corner of the sim. 2010-08-07 16:52:03 -07:00
meta7
8d3a73d126 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-07 16:32:18 -07:00
meta7
a6048518b7 Repair lsGetWindlightScene, the constant was added to the list as a uint, which is bad - convert to LSL_Integer first. 2010-08-07 16:18:44 -07:00
Melanie
4c5788c4c0 Add search URL to Login Service 2010-08-07 22:24:17 +01:00
Melanie
68e4b1115a Dumb error in fix 2010-08-07 22:23:51 +01:00
Melanie Thielker
71f2cec1bd Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-07 22:11:18 +02:00
sacha
4900d39b7d Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-07 21:05:18 +00:00
sacha
478d835392 removing more stains ... 2010-08-07 21:04:16 +00:00
Melanie Thielker
7bac069976 Mantis #229. Fix Global sim ccordinates 2010-08-07 22:10:46 +02:00
meta7
cabbd187e7 Fix the distance from which autopilot is negated when sitting on an unscripted prim - and also add some more Velocity code to ensure it gets set to zero in all cases 2010-08-07 11:13:05 -07:00
Melanie Thielker
97f8175090 Delete some files from bin that should not have been committed 2010-08-07 18:34:11 +02:00
meta7
413b0525db It seems hippo disregards velocities in full updates, so also send a terse update when an agent sits to avoid drifting off 2010-08-07 11:06:07 -07:00
meta7
19debab060 Fix the general alert message so it doesn't get sent to child agents 2010-08-07 08:17:11 -07:00
meta7
b017d985ab Add some nullref checks to the UnackedPacketCollection. 2010-08-07 08:06:41 -07:00
sacha
b58a47c373 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-07 13:41:56 +00:00
sacha
00cc42a607 and another endless debug cleaning 2010-08-07 13:40:38 +00:00
meta7
bcb3b57f8d Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-07 06:33:51 -07:00
Tom
4f80d75bf3 Add a CHANGED_POSITION event so scripts don't have to run expensive loops to check for position changes 2010-08-07 06:28:04 -07:00
sacha
047a4764f2 and another one... 2010-08-07 13:19:53 +00:00
sacha
e69efdd4ce Clean the loo after use please !!!!!
No need to keep useless debug message !
Never heard of wasted cpucycle you darn kid !
2010-08-07 13:13:27 +00:00
Melanie
8fd3f6cf7f Merge branch 'master' into careminster-presence-refactor 2010-08-07 05:41:41 +01:00
Melanie Thielker
c554de7501 Correct display of landmark about info. Also correct region maturity rating
in LM info. Maturity is NOT the parcel's setting, that is only for the
image and text. Parcel maturity is governed by region maturity.
2010-08-07 05:45:52 +02:00
Melanie Thielker
fa11ac8c85 Change the (hackish) constant to match the changed enum for attachs 2010-08-07 05:42:30 +02:00
Melanie Thielker
7477d7a036 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-07 03:40:01 +02:00
Melanie Thielker
a783f048a3 Make the landmark properties and search places work again 2010-08-07 03:38:35 +02:00
Tom
f9f776e407 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-06 11:44:57 -07:00
Tom
330343505c Implement CreateNewOutfitAttachments. This addresses mantis #199. 2010-08-06 11:39:10 -07:00
Melanie
26387252f5 Merge branch 'master' into careminster-presence-refactor 2010-08-06 18:08:40 +01:00
Tom
e941da205b Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-06 09:54:09 -07:00
Tom
03da22378e Estate managers should be allowed to add and remove new users, groups and bans to/from the estate settings. 2010-08-06 09:53:40 -07:00
Tom
0d4086e602 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-06 08:09:10 -07:00
Tom
52e2360e91 Since i've narrowed the fault down to one function, add some spammy debug to try and fix ghost prims on HUDs in future. Note, the console only gets messages if there is a problem, so it's harmless. 2010-08-06 08:08:43 -07:00
Melanie Thielker
5559422d32 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-06 16:09:45 +02:00
Melanie Thielker
c48be64d9a Remove posting region restart event from SOP, as it's now in XMRe 2010-08-06 16:08:50 +02:00
Tom
3ce335c6f8 Fix StateSource constants, provide RegionStart 2010-08-06 06:41:25 -07:00
Tom
a636af13e7 Make sure the avatar position gets moved along with a prim it is sitting on. This fixes mantis #208 and (maybe) issues with chat and sound coming from the wrong place when sat on a vehicle. 2010-08-06 06:37:40 -07:00
Melanie Thielker
696c2c429b Change XEngine to use the new constant 2010-08-06 15:33:22 +02:00
Melanie Thielker
42613ec536 Allow the trash folder itself to be passed to PurgeFolder 2010-08-06 15:18:48 +02:00
sacha
5da272d042 reverese my last commit 2010-08-06 14:45:54 +00:00
sacha
23d1f0978e Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-06 14:39:34 +00:00
sacha
a390541e1c Allowing the expected purge trash folder...
Please validate !!!
2010-08-06 14:38:11 +00:00
Tom
0a004f8c44 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-06 02:43:26 -07:00
Tom
c5c6627adb Implement CHANGED_REGION_(RE)START and also fix various CHANGED_* constants which had the wrong values (checked using LSL in SL). This addresses mantis #217 and mantis #53. 2010-08-06 02:40:31 -07:00
Melanie Thielker
d7fe9f7b44 Prevent users from becoming stuck online. This affects only 0.7 2010-08-06 00:02:38 +02:00
Melanie Thielker
7368992ee9 Actually cache positives 2010-08-05 23:48:55 +02:00
Melanie Thielker
d8f9b98c4a Prevent hammering the grid services with llRequestAgentData requests. Cache the
user information permanently, and the online status for 20 seconds. Also
cache negatives.
2010-08-05 22:50:09 +02:00
Melanie Thielker
8bdbcda2b7 We already have a record of killed prims. It just wasn't used by the new
JHurlicane code anymore. Use it to prevent sending updates after kills.
2010-08-05 18:50:17 +02:00
Melanie Thielker
05520d676c Revert "Enforce a 0.2 second sleep on llDie() before the command is executed - this should get rid of ghost prims (which are much rarer, but still occuring)"
This reverts commit 85fd2def9c.

The sleep helps in only one case: static prims rezzed by script.
In other cases (physical prims, bullets) it's harmful.
2010-08-05 18:45:17 +02:00
Tom
0eda6714f3 llRequestSimulatorData DATA_SIM_POS : Divide by RegionSize, don't multiply. This resolves mantis #215 2010-08-05 08:41:08 -07:00
Tom
85fd2def9c Enforce a 0.2 second sleep on llDie() before the command is executed - this should get rid of ghost prims (which are much rarer, but still occuring) 2010-08-05 08:15:05 -07:00
Tom
8689cdd4dc Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-04 19:47:47 -07:00
Tom
663e25fd3a Pacify osGetAvatarList to provide LSL types instead of omv types 2010-08-04 19:46:41 -07:00
Kitto Flora
0871d20adb Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-04 21:08:14 +00:00
Kitto Flora
cb3b124df9 Fixes fresh hollowed prim collision shape. 2010-08-04 21:08:00 +00:00
Melanie Thielker
4a33210771 Send attachment updates only to the owner if it's a HUD 2010-08-04 18:12:31 +02:00
sacha
a48c493210 Cost Reduction : Removing verbose message.... 2010-08-04 08:16:55 +00:00
Tom
463fbb4990 If a user has no home position set, tell them so instead of leaving the request dangling 2010-08-04 00:17:02 -07:00
Tom
c8f09f7fcb Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-03 22:42:32 -07:00
Tom
cd9506e842 Don't know HOW we missed this, llSetPos was broken in child prims (and in the llSetPrimitveParams family), it was using the global coordinate as a start location. This resolves mantis #204 2010-08-03 22:41:02 -07:00
Tom
6076eb5558 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-03 19:55:57 -07:00
Tom
f1c51c8bb4 Scripted sit target fixes 2010-08-03 19:51:32 -07:00
Melanie Thielker
b38d69287a Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-04 03:24:06 +02:00
Melanie Thielker
0020dbee23 Remove StandAlone from default hardcoded config 2010-08-04 03:23:19 +02:00
Melanie Thielker
5ff9db7388 Clean up some messiness in IM sending. Having offline IM enabled now no longer
suppresses "Inventory Saved" messages.
2010-08-04 02:51:41 +02:00
Melanie Thielker
d57bfec702 A god is a god is a god is a god. Right? Right. You're a god from 200, let's
show it!
2010-08-04 02:16:46 +02:00
Melanie
757929012e Merge branch 'master' into careminster-presence-refactor 2010-08-04 01:11:47 +01:00
Melanie
164719119b Merge branch 'master' into careminster-presence-refactor 2010-08-04 01:01:08 +01:00
Melanie
e12993ed22 Merge branch 'master' into careminster-presence-refactor 2010-08-04 00:33:02 +01:00
Melanie Thielker
d9ae837063 Allow specifying default region flags. Correct a typo. 2010-08-04 00:45:15 +02:00
Tom
e3cea888fb Fix some more issues causing regions with corrupt sculpts to freeze. 2010-08-03 16:07:18 -07:00
Tom
ae99c1393d Fix scripted sit offset in child prims 2010-08-03 15:31:04 -07:00
Tom
2221517935 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-03 14:12:05 -07:00
Tom
1d1da5069c Catch a meshing exception caused by corrupt or missing sculpt maps, and mark the prim as "mesh failed" so it doesn't try meshing continuously 2010-08-03 14:11:11 -07:00
Mike Rieker
6e3c79f31e don't mask current time reads (since we don't mask the corresponding subtract)
if you mask the reads you have to mask the subtract as well.
simplest is just don't mask any of it.
2010-08-03 20:09:00 +00:00
Tom
f04d51378f Drop the RestClient timeout from 15 minutes to 30 seconds. This does not address the problem, but it will allow the regions to recover in the event that the remote server goes away. 2010-08-03 11:06:41 -07:00
Melanie Thielker
e3184753a6 Log the UUID of a prim that fails meshing and set the prim to phantom during
region startup
2010-08-03 05:25:23 +02:00
Melanie Thielker
d2d1c63b17 Revert "Catch meshing error in Meshmerizer"
This reverts commit 8f2986bc6a.

In favor of a fix that tells us where the issue is instead of eating the error
2010-08-03 05:25:01 +02:00
Tom
ecfea5fa69 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-02 21:56:30 -07:00
Tom
8f2986bc6a Catch meshing error in Meshmerizer 2010-08-02 21:54:47 -07:00
Melanie Thielker
16e90809a9 Remove the (wrong) implementation if llPointAt. It never worked on the LL
grid and is officially deprecated. There is no way to rotate an avatar
programmatically.
2010-08-02 00:54:58 +02:00
Tom
d2d56494b2 Fix the XmlRpcRouterModule so it reads from the correct config section ([XMLRPC] not [Startup]) and disable by default (since it's disabled in the ini by default) 2010-08-01 10:24:43 -07:00
Tom
763dc8bb76 Add an m_enabled flag to XmlRpcRouterModule so it won't try to bind the xmlrpc_uri event if it's not mentioned in the ini. 2010-08-01 10:24:17 -07:00
Tom
b860c8021e First, change DefaultPermissionsModule so it returns the correct name...
... Then, make sure we also check the old-style module stack before we throw a tantrum
2010-08-01 10:23:48 -07:00
Tom
d5f497478a Add config option securePermissionsLoading which will stop the region from loading if the specified permissions modules fail to load. 2010-08-01 10:21:56 -07:00
Melanie
5f94b98cb2 Merge branch 'master' into careminster-presence-refactor 2010-08-01 18:00:04 +01:00
Melanie
dd2d9a68a7 Merge branch 'master' into careminster-presence-refactor 2010-07-31 01:05:13 +01:00
Melanie
3302e8ddc4 Merge branch 'master' into careminster-presence-refactor 2010-07-31 00:57:50 +01:00
Melanie Thielker
f9280374d2 Bannination fixes. Objects in nonpublic parcels were muted by default. Gods
were muted, too.
2010-07-30 15:03:03 +02:00
Melanie
7a9e246ccd Merge branch 'master' into careminster-presence-refactor 2010-07-29 16:20:59 +01:00
Melanie Thielker
7871dd606e Allow gods and estate managers/owners to be unaffected by parcel bans 2010-07-29 16:33:20 +02:00
Melanie Thielker
3e97b3ae33 Fix the XMREngine not starting scripts on region startup. Turns out it
was a dumb merge artefact that caused it.
2010-07-25 21:55:31 +02:00
Melanie Thielker
516ec4acd0 Eat a lockign exception that kills scripts. May bear more investigation
in the long run.
2010-07-25 08:11:39 +02:00
Tom Grimshaw
8e137e31cd Fix the XmlRpcRouterModule so it reads from the correct config section ([XMLRPC] not [Startup]) and disable by default (since it's disabled in the ini by default) 2010-07-24 11:34:43 -07:00
Tom Grimshaw
81186e76b6 Add an m_enabled flag to XmlRpcRouterModule so it won't try to bind the xmlrpc_uri event if it's not mentioned in the ini. 2010-07-24 10:43:57 -07:00
Tom Grimshaw
3057974f31 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2010-07-22 18:06:16 -07:00
Tom Grimshaw
bfd883f533 ... Then, make sure we also check the old-style module stack before we throw a tantrum 2010-07-22 18:05:56 -07:00
Tom Grimshaw
da5b7e199a First, change DefaultPermissionsModule so it returns the correct name... 2010-07-22 18:04:55 -07:00
Melanie Thielker
64cc76bd79 Fix up the name of the default permissions module to match it's config name 2010-07-23 01:32:29 +02:00
Melanie Thielker
83aec1ec94 Fix a little infinite recursion i added just for sh.ts and giggles. NOT. 2010-07-22 23:47:10 +02:00
Tom Grimshaw
bf374705c6 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2010-07-22 10:49:14 -07:00
Tom Grimshaw
9ce2f95f37 Add config option securePermissionsLoading which will stop the region from loading if the specified permissions modules fail to load. 2010-07-22 10:46:57 -07:00
Melanie Thielker
7ebabf185e change the delay to 0.2s. My bad. 2010-07-22 19:31:02 +02:00
Melanie Thielker
ce8b9b4181 LSL compatibility fix. Add 0.1 s sleep to llSetLinkPrimitiveParams so fade scripts will time correctly. The -Fast version works without a delay 2010-07-22 19:20:09 +02:00
Melanie Thielker
316854dc13 Allow megaregions to be used in M7, should we so decide 2010-07-21 19:25:40 +01:00
Melanie
9136e02ed3 Merge branch '0.6.9-post-fixes' into careminster 2010-07-21 19:24:18 +01:00
Melanie Thielker
fb89d0ff4e Allow megaregions to be used in M7, should we so decide 2010-07-21 12:32:23 +02:00
Melanie Thielker
d4022becc3 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-07-21 12:16:30 +02:00
Melanie
f63a4c8f2f Merge branch 'master' into careminster-presence-refactor 2010-07-21 12:03:44 +01:00
Melanie Thielker
c72c84b455 Refine autoreturn a bit 2010-07-21 12:16:17 +02:00
Melanie
4ccc141764 Resync with master 2010-07-20 21:49:31 +01:00
Melanie
c0b8cbd85b Merge branch 'master' into careminster-presence-refactor 2010-07-20 21:47:53 +01:00
Melanie
1d6735f0ec Fix the XML serializationt to provide an empty script state element if
the script hasn't yet saved state, or can't save state because of a loop
2010-07-20 21:47:28 +01:00
Melanie
dcf7973c9b Merge branch 'master' into careminster-presence-refactor 2010-07-20 21:39:20 +01:00
Melanie
686837d9ed Merge branch 'master' into careminster-presence-refactor 2010-07-20 21:18:27 +01:00
Melanie Thielker
fd66ee57f3 When a god uses mass permission setting, the V bit is cleared from next
perms, rendering the item unmoveable for the next owenr. Make god mods
conform to the rules, too.
2010-07-20 14:45:46 +02:00
Melanie Thielker
191bee2ed0 Remove the null checks altogether 2010-07-20 00:55:31 +02:00
Melanie Thielker
54da64acac Remove exception badness in the LSL Types. Who ever came up with that.....?! 2010-07-20 00:46:39 +02:00
Melanie Thielker
c263fc54ac Add a state change method to the Async commands handler to allow timers
and http requests to survive state changes
2010-07-18 21:05:50 +02:00
Tom Grimshaw
c088397ec7 If the client requests that an object be deleted, and the SOG/SOP is null and/or is marked as deleted, just send the KillObject 2010-07-18 06:01:26 -07:00
Tom Grimshaw
fabe2206db Ensure that packets do NOT get delivered to a client before the modules that can deal with the client's response have finished loading. 2010-07-17 15:08:59 -07:00
Tom Grimshaw
17412389f3 Revert 233c872.. "* Call client.Start() sunchronously. Calling thos async avoids some stuttering", pending fix for the core issue 2010-07-17 14:34:35 -07:00
Tom Grimshaw
ef6565470f XGitminster: Update config options; commitFrameInterval -> CommitInterval and a new option DisableNonEssentialCommits 2010-07-17 06:54:46 -07:00
Melanie Thielker
d52fb4d2e9 Shorten LLEmail delay to 15s. With the external spam protection, we can
afford to do that
2010-07-17 16:35:14 +02:00
Melanie Thielker
22371ac527 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-07-17 16:33:31 +02:00
Melanie Thielker
c41d418380 Allow communicating with blue box dialogs across a region border via a
child agent
2010-07-17 16:32:55 +02:00
Melanie
373ac90156 Allow Megaregions to start properly after an unclean shutdown 2010-07-17 07:19:58 +01:00
Melanie
859e3252be Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-07-17 03:18:01 +01:00
Melanie
6f591376dd Merge branch '0.6.9-post-fixes' into careminster 2010-07-17 03:09:27 +01:00
Melanie Thielker
d1040c9ff9 Replace the screenful of code i deleted. 2010-07-17 02:46:04 +02:00
Melanie Thielker
e06b7ee368 Make webloading more robust by addign retries 2010-07-17 02:38:00 +02:00
Melanie Thielker
85f454e3ae Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-07-17 02:26:34 +02:00
Melanie Thielker
9bf6179d24 Fix scripted give of items 2010-07-17 02:26:09 +02:00
Justin Clark-Casey (justincc)
95d9c773d9 Stop occasional permanently high 100% utilization when the server is started with many scripts
See http://opensimulator.org/mantis/view.php?id=4799 for more details
This is the equivalent patch that was applied to master 3.5 weeks ago, seemingly without bad consequences
Thanks Snoopy!
2010-07-17 01:18:43 +01:00
Justin Clark-Casey (justincc)
4ae04dd0a8 extend exception catching for DoCreateChildAgentCall() from just WebException to Exception on feedback from Chris Hart.
See http://opensimulator.org/mantis/view.php?id=4810
2010-07-17 01:00:23 +01:00
unknown
61f9b3c2cf Bug in 0.6.9 sometimes restoring script state causes region console to crash due to unhandled file lock exception. Attempt to resolve by wrapping several instances of file create / read logic in using statements and added some error handling for locked file exceptions. If it is IDisposable, it must be disposed! The close statements are unnecessary but harmless so I have left those in. The end of the using block will close and dispose automagically. 2010-07-17 00:44:54 +01:00
Kitto Flora
236c0f8e8b Fix llSetForecAndTorque([0]) stops linear motion. Mantis #187 2010-07-16 22:17:06 +00:00
Melanie Thielker
2e5f200b3b Fix showing CreateSelected on all parts of a rez 2010-07-16 20:23:41 +02:00
Melanie Thielker
3f91805afb prevent hacked viewers from being able to delete arbitrary items from any
prim. Allow friends with perms and shared group members to move or copy
things out of prims
2010-07-15 20:28:18 +02:00
Melanie Thielker
8d2b4b7b48 Fix a few permissions vulnerability. Owners could cause permissions
escalation on items contained in prims using a hacked viewer
2010-07-15 20:03:08 +02:00
Melanie
0dd2496a56 Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-07-14 23:03:59 +01:00
Melanie Thielker
50d56c54a3 Detach attachments displaced by other attachments 2010-07-14 23:03:38 +01:00
Melanie Thielker
ddfff55cc7 Preserve attachment data while a prim is in world. Allows attachment
editing on the ground without losing attachpoint and position
2010-07-14 21:06:49 +02:00
Melanie
0b74662ce2 Merge branch 'master' into careminster-presence-refactor 2010-07-14 19:53:15 +01:00
Melanie Thielker
d665f0ae66 Detach attachments displaced by other attachments 2010-07-14 20:46:26 +02:00
Melanie Thielker
bebbe407ee Major attachments cleanup. Remove unused AttachObject ClientView method
Clean up use of AttachObject throughout, reduce number of overloads
and number of parameters
2010-07-14 19:58:23 +02:00
Melanie Thielker
0c445239a6 Remove useless quaternion parameter from AttachObject sig 2010-07-14 19:21:01 +02:00
Melanie
d1f94b5d58 Merge branch 'master' into careminster-presence-refactor 2010-07-14 16:12:14 +01:00
Melanie Thielker
cbb3a8ab94 Fix a permissions issue 2010-07-14 16:21:55 +02:00
Melanie Thielker
af13c80d68 Remove getting the object capacity from the money module. It is now set
directly from the Region Info (and the region ini file)
2010-07-14 03:59:26 +02:00
Justin Clark-Casey (justincc)
b2ef5658b1 Merge branch '0.6.9-post-fixes' of ssh://opensimulator.org/var/git/opensim into 0.6.9-post-fixes 2010-07-13 23:36:56 +01:00
Justin Clark-Casey (justincc)
a7f0af41ab replace o with ; in oXmlRpcPort in OpenSim.ini.example
Thanks to Nebadon for the spot
2010-07-13 23:36:05 +01:00
Tom Grimshaw
c5891c14c7 Bail out in AttachToBackup if the group is an attachment 2010-07-13 15:32:35 -07:00
Tom Grimshaw
7270cd0ade Second part of the fix for llGetLocalPos; get attachment offset in the root prim of an attachment. This function now behaves in line with SL. 2010-07-13 14:57:50 -07:00
sacha
8c2e1c6c29 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-07-13 21:12:01 +00:00
sacha
8c26c8bbc6 adding the 'wearble' case for llGetLocalPos.
Still not working cause the offsets are not updated (always <0,0,0>)
2010-07-13 21:10:26 +00:00
Kitto Flora
84227fd558 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-07-13 20:37:45 +00:00
Kitto Flora
7ab103c96f Rewrite collision dictionary handling, cleans up deleted obects/avs. Fixes occasional collision event failure. ChOde only. 2010-07-13 20:37:13 +00:00
Melanie
eacf3d9221 Merge branch 'master' into careminster-presence-refactor 2010-07-13 20:46:21 +01:00
Melanie Thielker
89c1c5c35a Revamp the permissions propagation. This MAY mess up. Please test.
Change the slam bit from 3 to 4. Assume the old slam bit is always set.
The new slam bit is a "changed owner" bit, correcting a bug where an item
passed from the creator to another with less than full perms, then back (sale
test) would arrive back full perm. Lots of in-code docs.
2010-07-13 20:40:23 +02:00
Melanie Thielker
31cbd6d113 Add CreateSelected flag onto objects rezzed from inventory 2010-07-13 18:23:23 +02:00
Tom Grimshaw
5f4105d48c Removed the CHANGED_COLOR event post from the Color accessor in SOP. This is not the correct usage of this changed event - it's only supposed to be posted when the /textures/ change colour or alpha transparency, not the floating text. This fixes several race conditions in scripts ported from SL. 2010-07-12 13:55:56 -07:00
Melanie Thielker
7f0f11304f Add scripted controllers into agent intersim messaging 2010-07-11 14:26:57 +02:00
Melanie
922e874653 Merge branch 'master' into careminster-presence-refactor 2010-07-11 13:32:10 +01:00
Tom Grimshaw
cea856cfc2 Fix the synchronousrestformsrequester so it will successfully handle a response from a server which does not provide a valid content length header 2010-07-10 19:00:12 -07:00
Tom Grimshaw
cecd660388 Fix an issue where the SynchronousRestObjectRequester will fail if a webserver does not report a content length (-1), but the content is still valid 2010-07-10 18:48:49 -07:00
Melanie Thielker
8aa5f30082 Make taken items go back to the folder they came from 2010-07-10 10:51:49 +02:00
dahlia
c7a2e1b2d4 llVecNorm() now returns a zero-length vector when one is supplied as input. Addresses Mantis #4752 2010-07-08 10:17:28 -07:00
Melanie
05b35eb57c Correct a merge artefact 2010-07-08 18:17:02 +01:00
dahlia
0116b80795 fix a potential division by zero 2010-07-08 10:14:02 -07:00
Melanie
5f400a50be Merge branch 'master' into careminster-presence-refactor 2010-07-08 17:32:57 +01:00
Mike Rieker
faaef1b498 minimizes temp garbage for llParseStringKeepNulls()
and uses common routine for llParseStringKeepNulls()/llParseString2List()
2010-07-06 23:59:06 +00:00
Mike Rieker
6e7f1a3ac1 Merge branch 'careminster-presence-refactor' of www.3dhosting.de:/var/git/careminster into careminster-presence-refactor 2010-07-06 02:23:10 +00:00
Mike Rieker
90c5555d6d rewrote hanging llParseStringKeepNulls() 2010-07-06 02:22:47 +00:00
Tom Grimshaw
e947d04038 Undo fix is now complete. This commit repairs the special case of the root prim moving or rotating independently of the rest of the group. 2010-07-05 05:44:35 -07:00
Tom Grimshaw
be5dd04150 Bring "Redo" up to date with "Undo" so it works too 2010-07-05 03:58:18 -07:00
Tom Grimshaw
8849b9af8b Fix single prim rotation undo. All UNDO functions are now working correctly except for when the root prim is moved or rotated as a single prim (coming soon). 2010-07-04 20:45:11 -07:00
Tom Grimshaw
c616335019 Rotation undo fix and remove a debug chatter i missed. Still not working: Individual child prim rotational undo and special cases where the root prim was moved or rotated (all the children then need to restore their offsets). Coming shortly. 2010-07-04 19:58:52 -07:00
Tom Grimshaw
5b68343361 The majority of the Undo fix. There is still an issue with Rotation which i'll address next; however position undo and scale undo should be working just fine now. Also removed some residual debug logging. 2010-07-04 19:28:39 -07:00
Tom Grimshaw
7665013ad8 Correct positioning of timeout modifier in the SynchronousRestObjectRequester 2010-07-04 19:25:54 -07:00
Tom Grimshaw
f3e902092a Add System.Core assembly reference to two projects so that TimeZoneInfo can be used 2010-07-04 12:51:48 -07:00
Tom Grimshaw
14ab22dcd4 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-07-04 06:51:01 -07:00
Tom Grimshaw
3368e3853a Check cached asset to make sure it contains data, and if not, re-request 2010-07-04 06:45:04 -07:00
Melanie
8a45191aa9 Merge branch 'master' into careminster-presence-refactor 2010-07-04 11:02:21 +01:00
Melanie Thielker
baa20a10c3 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-07-03 20:29:06 +02:00
Melanie Thielker
edcfaf60c9 Fix IMs the right way. This sets it up so that timestamps are actually
in PST (to match viewer time), does correct storage and retrieval of
IMs, corrects the session ID and makes sure IMs don't get marked "saved"
if they're live. Removes the group IM save option, which our group IM
module never had in the first place, as saving group chatter makes no
sense at all.
2010-07-03 20:27:00 +02:00
Tom Grimshaw
4cd5e64231 Use SendTransferAbort in a more sensible place 2010-07-03 09:22:58 -07:00
Tom Grimshaw
e4739523d3 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-07-03 06:11:46 -07:00
Tom Grimshaw
fe2b044d38 Fix Undo! Made a lot of changes to Undo state saving; it now considers that groups of objects can be moved and not just individual prims.. 2010-07-03 06:10:55 -07:00
Tom Grimshaw
39ae1def85 Re-implement the Undo stack as a List; the old implementation was buggy 2010-07-03 06:10:02 -07:00
Tom Grimshaw
2b49cb9227 Make sure the AssetServiceConnector times out within 30 seconds. If it doesn't, the client will get bored and give an upload error, instead of granting success and entering the asset into our retry queue. 2010-07-03 06:09:20 -07:00
Tom Grimshaw
3d495b709e Implement a timeout value in the SynchronousRestObjectRequester. Default is 100 seconds. 2010-07-03 06:08:18 -07:00
Melanie Thielker
86a82e6ecb Now, fix the slash issue the right way. Our URLs now work like SL's 2010-07-03 08:33:08 +02:00
Melanie Thielker
721d8a7298 Re-add the slashes at the end of the URL. Too much depends on them 2010-07-03 07:09:27 +02:00
Melanie Thielker
233c872d24 Call client.Start() sunchronously. Calling thos async avoids some stuttering
when people log in, but fatally screws up money.
2010-07-02 09:40:58 +02:00
Melanie Thielker
c87e6a289c Clean up IMoneyModule and adjust the other modules to the changes 2010-07-02 06:20:36 +02:00
Melanie Thielker
beb5259cd1 Remove GetEconomyData and the economy data structure (unused) 2010-07-02 04:51:31 +02:00
Melanie Thielker
a7c4cb95aa Fox another scripting nasty. Stuff no system.string objects into lists 2010-07-02 04:26:55 +02:00
Melanie Thielker
120c9a4ebb Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-07-02 03:11:18 +02:00
Melanie
ec73074aac Merge branch 'master' into careminster-presence-refactor 2010-07-02 03:02:53 +01:00
Melanie Thielker
60c15d7c28 Fix a dumb little sign error that makes a LSL wiki example fail 2010-07-02 03:05:40 +02:00
Tom Grimshaw
68281b356c Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-07-01 09:47:18 -07:00
Tom Grimshaw
071d601dcb Cache all assets on upload so that the client can still retrieve the asset if it enters a retry queue 2010-07-01 09:46:57 -07:00
Tom Grimshaw
b38a22506b Fix build break 2010-07-01 08:57:13 -07:00
Tom Grimshaw
38384cc79c Report asset upload success if it has previously failed 2010-07-01 08:52:30 -07:00
Tom Grimshaw
4851706d35 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-07-01 08:49:53 -07:00
Tom Grimshaw
1cb7695fb0 Catch newid == null which is what happens if the asset service is offline (seems a connection failure does not throw an exception) 2010-07-01 08:48:02 -07:00
Melanie Thielker
3d5d44279b ANother stab at LSL compatibility 2010-07-01 17:06:29 +02:00
Melanie Thielker
2312504b04 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-07-01 16:41:03 +02:00
Melanie Thielker
d5cbe4cb75 Remove trailing slash from HTTP URLs to be compatible with SL 2010-07-01 16:40:26 +02:00
Melanie Thielker
3940a4dbc7 Avoid a spurious error message when taking a friend's no copy item 2010-07-01 16:11:10 +02:00
Melanie
46a531d865 Merge branch 'master' into careminster-presence-refactor 2010-06-30 21:35:05 +01:00
Melanie
d743a221e8 Fix scripts in rezzed objects not starting (Mantis #4775) 2010-06-30 21:27:55 +01:00
Justin Clark-Casey (justincc)
92edbd3e47 If an emergency pos is required for a new root agent, correctly preserve the z co-ord instead of accidentally resetting the incorrect x co-ord
This is a one-liner.  It has already been addressed in master and 0.7-post-fixes in a more extensive way
2010-06-30 21:23:57 +01:00
Tom Grimshaw
9012084d11 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-06-29 23:19:08 -07:00
Tom Grimshaw
8dc7c0849e The other half of the asset fix. Implement an exponentially incrementing retry timer for asset upload failures. Total queue time in the ballpark of 24 hours, which should be a reasonable time for any grid admin to get their asset service back online. This should stop lost assets. 2010-06-29 23:18:48 -07:00
Justin Clark-Casey (justincc)
cabb70d90a Revert "stop exceptions in setting and getting state from propogating since they aren't fatal to operations"
This reverts commit ae24548216.

Reverted for now pending a fix to the underlying xengine problem instead.
2010-06-29 22:50:04 +01:00
Justin Clark-Casey (justincc)
ae24548216 stop exceptions in setting and getting state from propogating since they aren't fatal to operations
this will hopefully stop "save oar" from failing if a script asset is corrupt
2010-06-29 18:54:31 +01:00
Melanie Thielker
3cd717d929 Comment the "Notecard saved" notification that pops up when a notecard
is saved into a prim. Sl doesn't have it, and for good reason: It also
happens on scripts in our version. Which is wrong. Better no message
than a wrong one.
2010-06-29 04:09:14 +02:00
Melanie Thielker
6f4d4543b9 Make newly created prims be named "Object" and make newly created scripts
have a default touch handler. Compatibility patch
2010-06-29 03:51:16 +02:00
Tom Grimshaw
06fa038875 Return a UUID.Zero if the asset fails to upload 2010-06-28 07:09:05 -07:00
Tom Grimshaw
a5a1df68c2 Provide the interface for StoreAsset to report success or failure 2010-06-28 04:02:33 -07:00
Melanie Thielker
3e908023b2 Force IM timestamps to current server time to prevent "Saved on" headers
while the sender is online
2010-06-28 08:58:51 +02:00
Tom Grimshaw
7807d11807 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-06-27 22:23:08 -07:00
Tom Grimshaw
827d9be48f Fix the sound issue. It was caused by missing assets; once the client has made one request, it continued to wait for asset before requesting any new ones, until the TransferRequest timed out. Fixed by adding a TransferAbortPacket if the asset cannot be retrieved. 2010-06-27 22:23:01 -07:00
Melanie Thielker
4fa1d4896c Change the way IRegionModule us referenced by IEmailModule to
allow later conversion to new style
2010-06-28 02:30:36 +02:00
Melanie Thielker
a817f6b48c Remove AgentID and GroupOD from the signature of SOG.Copy(). They were never
used, but made for a very mispleading read of the code in the callers.
2010-06-28 01:48:24 +02:00
Melanie Thielker
d570cffa39 Fix Copy on Ray, Drag Copy and other little things. Removed the wrong and
nonworking ownership assignment in SOG, which messed things up before.
No longer trust the client to send the ID of the person something is copied
as, since it allows to run a script with someone else's permissions. Properly
adjust inventory ownership and perms.
2010-06-28 01:29:30 +02:00
Melanie Thielker
2cced72d70 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-06-27 21:05:06 +02:00
Melanie
9c553cd254 Fix more perms weirdness. Preserve "Locked" status across gives and rez/take.
Preserve "Anyone can move" flag in most cases.
2010-06-27 20:20:08 +01:00
Melanie
ba38c697e8 Merge branch 'master' into careminster-presence-refactor 2010-06-27 20:05:55 +01:00
Melanie Thielker
19f18c8a1b Make drag copy and copy-on-ray handle friends list perms properly 2010-06-27 21:04:30 +02:00
Tom Grimshaw
ef0ac7c403 Deal with incoming land objects properly so they don't just stack up 2010-06-26 23:20:28 -07:00
Tom Grimshaw
9f00f141fe Restore "AllowCareminsterFunctions" as an alias to the new "AllowLightshareFunctions". 2010-06-26 18:54:55 -07:00
Tom Grimshaw
592ff1288d Add a new global event : OnTerrainUpdate 2010-06-26 18:51:19 -07:00
Tom Grimshaw
c97e9f8621 Reverting the ITerrainModule changes. Turns out this was useless. 2010-06-26 18:43:01 -07:00
Tom Grimshaw
3bcee57e3e add HasChanged to ITerrainModule 2010-06-26 17:34:19 -07:00
Tom Grimshaw
c3e806a2ea Add a new accessor for the TerainModule : "HasChanged" 2010-06-26 17:25:45 -07:00
Tom Grimshaw
49272657d7 Make RegionLightShareData serializable 2010-06-26 15:30:47 -07:00
Tom Grimshaw
8f0adfbfb2 Trigger the RegionLightShareData OnSave event properly when the profile is saved 2010-06-26 15:15:19 -07:00
Tom Grimshaw
d188ed8ed8 Return everything at once, it's more efficient that way 2010-06-26 13:07:17 -07:00
Tom Grimshaw
ed5dac7e82 Fix another nullref issue in DeRezSceneObject 2010-06-26 13:06:47 -07:00
Tom Grimshaw
bd19cf739a Fix a bug with DeRezObjects (check for a null remoteClient) 2010-06-26 12:38:08 -07:00
Tom Grimshaw
acab2a159d Return objects which are NoCopy instead of just leaving them when cleaning the scene, if exceptNoCopy = true. 2010-06-26 11:24:36 -07:00
Tom Grimshaw
70d3b9aeca Add a DeleteAllSceneObjects(bool exceptNoCopy) method to allow NoCopy objects to be retained when the scene is cleared. 2010-06-26 11:14:58 -07:00
Tom Grimshaw
5b6485481b Add extra Gitminster config options to ini.example 2010-06-26 11:02:09 -07:00
Melanie Thielker
6c6c7b0927 Remove libs from main tree 2010-06-26 06:25:03 +02:00
Melanie Thielker
d3d63fe553 remove conflicting pdb debug files 2010-06-26 06:21:38 +02:00
Melanie Thielker
06fd49bda9 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-06-26 06:17:09 +02:00
Melanie Thielker
6274317e63 Fix loading of attachments on login 2010-06-26 06:16:24 +02:00
Tom Grimshaw
f64d1cb396 Add new event: OnChangedBackup 2010-06-25 14:39:15 -07:00
Tom Grimshaw
30397b6fbc Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-06-25 14:26:07 -07:00
Tom Grimshaw
96e649189f Add two events: OnAttachToBackup and OnDetachFromBackup. 2010-06-25 14:25:39 -07:00
Tom Grimshaw
8daa149c36 Remove the prepending slash from the default git repo name 2010-06-25 13:03:00 -07:00
Tom Grimshaw
3ef70b55e9 Whoops, enabled = true not enabled = 1 2010-06-25 12:58:13 -07:00
Tom Grimshaw
e0d533dc4e Add [Git] section to OpenSim.ini.example for Gitminster 2010-06-25 12:55:02 -07:00
Melanie
dc9e9931eb Merge branch 'master' into careminster-presence-refactor 2010-06-25 20:26:48 +01:00
Tom Grimshaw
94ece2789d Add some libraries for XGitminster 2010-06-25 12:21:24 -07:00
Tom Grimshaw
3101d53064 Make "Allow other residents to edit terrain" default to FALSE 2010-06-25 05:25:41 -07:00
Melanie Thielker
afff74a835 Add DwellModule interface 2010-06-25 01:44:17 +02:00
Melanie Thielker
8a0ec60c8f Unhook the dwell request from the land module (and therefore local storage) 2010-06-25 01:41:00 +02:00
Melanie Thielker
f186882c0f Also make prims send the proper position. I hate it when people comment
out things just because they're "not yet used". Grrrr.
2010-06-24 20:51:04 +02:00
Melanie Thielker
cbca58401a Add the object owner UUID into the binary bucket of object to user IM 2010-06-24 20:46:24 +02:00
Melanie Thielker
2cc1f14b0c Replace the imSessionID, which is useless out of context, with the scope id
in saved IMs
2010-06-24 19:37:02 +02:00
Melanie Thielker
b012e963d7 New viewers don't set the "save offline IM" flag anymore. Set it serverside
so messages get saved
2010-06-24 18:48:40 +02:00
Melanie Thielker
6c37a02c0f bug fix. 0,0 is a vlid sim coordinate 2010-06-24 06:02:44 +02:00
Melanie Thielker
9d03271265 And another 2010-06-24 03:43:50 +02:00
Melanie
e94cf3d9b7 And another conflict 2010-06-24 03:35:42 +01:00
Melanie
e93853623b Merge branch 'master' into careminster-presence-refactor 2010-06-24 03:30:11 +01:00
Melanie
ce6fbd9680 Merge branch 'master' into careminster-presence-refactor 2010-06-22 23:40:59 +01:00
Melanie
317ac50a97 Merge branch 'master' into careminster-presence-refactor 2010-06-22 23:38:56 +01:00
Melanie Thielker
5c02fb435d Security fix: Allow only textures to be fetched using HTTP texture cap 2010-06-22 17:35:00 +02:00
Melanie Thielker
962dade155 Cause collisions with the avatar to be sent to attachments. Currently
ignores collision filter. Physics collisions are still dodgy, so we
don't get the events we should be getting.
2010-06-22 04:04:59 +02:00
Melanie Thielker
3428196631 Guard prioritizer agains null values as those produced by a bullet dying
before it can be updated
2010-06-22 02:33:20 +02:00
Melanie Thielker
3ea4e5ccbe Correctly update the LastSeen field 2010-06-21 23:26:27 +02:00
Melanie Thielker
53905cf919 Bump the migration version, ot it would never happen 2010-06-21 22:15:33 +02:00
Melanie Thielker
ab023c6a29 Fix build break 2010-06-21 18:06:46 +02:00
Melanie Thielker
9fd45406be Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-06-21 17:06:59 +02:00
Melanie Thielker
973537f819 Ensure no UUID.Zero region ID is ever written to presence. Add a Migration
to add a LastSeen field of type "Timestamp" to Presence for MySQL
2010-06-21 17:06:05 +02:00
Tom Grimshaw
9d251b1dc5 Fix the StandUp position to calculate as if we're still using the child prim id. 2010-06-20 15:57:01 -07:00
Tom Grimshaw
fc715a092c Fix the sit code to ensure that we use the root prim of a linkset as a reference in the case of an avatar sitting on a child prim. This fixes various camera issues and fixes mantis #0000059. 2010-06-20 15:38:48 -07:00
Tom Grimshaw
33d05ef554 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-06-20 14:45:36 -07:00
Tom Grimshaw
a1416612a9 Update all clients sitting on a linkset if a child prim is moved. This prevents avatars being "lost in the void" until they stand up when a child prim is moved that they're sitting on. 2010-06-20 14:45:04 -07:00
Melanie Thielker
13a0b65a80 Modify avatar responsiveness policy to send roots before children 2010-06-20 21:38:06 +02:00
Melanie Thielker
797767da57 Insert a space after the comma on the ToString methos of lsl vectors
and rotations to match SL.
2010-06-20 07:16:19 +02:00
Melanie Thielker
95c763201f Set the offline flag in inventory offers 2010-06-20 06:36:46 +02:00
Melanie Thielker
76b59b8df7 Make dataserver() return a 0 when agent id offline, instead of a timeout 2010-06-20 06:23:08 +02:00
Melanie
04b60aa490 Merge branch 'master' into careminster-presence-refactor 2010-06-19 20:32:01 +01:00
Tom Grimshaw
49d7d8534c Allow moving an avatar as part of a linkset using llSetLinkPrimitiveParams. This unlocks an awful lot of poseball-free content, and is a step towards resolving mantis #59. 2010-06-19 10:06:09 -07:00
Tom Grimshaw
6d8da699b2 Add "AvatarHeight/2" to the Home Position when set to avoid having the avatar fall through the ground when they TP home. 2010-06-19 07:00:01 -07:00
Melanie
891214c65b Merge branch 'master' into careminster-presence-refactor 2010-06-18 20:49:21 +01:00
Kitto Flora
cea7905602 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-06-17 13:04:32 -04:00
Kitto Flora
958c6c6fde Add rez on water surface. 2010-06-17 13:04:18 -04:00
Tom Grimshaw
33c092781e Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-06-17 04:15:56 -07:00
Tom Grimshaw
d1c8b083b8 Fix llRot2Euler with a mathematically sound implementation. The only difference between this an SL is that SL resolves a figure of negative PI into PI, and does the equivalent in the reverse (llEuler2Rot, -1.0 becomes 1.0); 2010-06-17 04:15:07 -07:00
Melanie
8b3042f24f Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-06-17 03:09:17 +01:00
Melanie
7e22be3441 Merge branch 'master' into careminster-presence-refactor 2010-06-17 03:08:55 +01:00
Tom Grimshaw
b9c40320f1 Fix llAttachToAvatar. This addresses mantis 128 . 2010-06-16 09:20:20 -07:00
Tom Grimshaw
117fd629d6 Allow llMapDestination to be used in any event if the host is an attachment. This fixes Mantis 0000098. 2010-06-16 08:32:47 -07:00
Melanie
0b75f759b4 Merge branch 'master' into careminster-presence-refactor 2010-06-16 04:10:55 +01:00
Tom Grimshaw
ef1496ca2d Add "alert dialog" for sending dialogs to users from the console 2010-06-14 04:28:38 -07:00
Tom Grimshaw
704da8c823 osGetAvatarList: Use AbsolutePosition instead of the position of the physics actor, or the avatar disappears when they sit down. 2010-06-14 04:03:54 -07:00
Melanie
fdf648bcf3 Merge branch 'master' into careminster-presence-refactor 2010-06-14 02:49:15 +01:00
Melanie Thielker
9b30f44672 D.U.H. #2. Inverted test. Again. Argh! 2010-06-14 02:28:31 +02:00
Melanie Thielker
1532dbca0a Guard against a potential nullref 2010-06-14 00:12:39 +02:00
Melanie Thielker
f9b4f5f594 Revert "Introduce SOP.UpdateSitters() to update sitting avatars' chat position if"
This reverts commit f59e272643.
2010-06-14 00:05:01 +02:00
Melanie Thielker
5fda89fdb5 Revert "D.U.H."
This reverts commit 3058761806.
2010-06-14 00:04:02 +02:00
Melanie Thielker
093cc047cd Revert "Try it witht he root prim"
This reverts commit d520360cb8.
2010-06-14 00:03:43 +02:00
Melanie Thielker
62763cc0fb Report current position instead of position at the time we sat down 2010-06-14 00:02:17 +02:00
Melanie Thielker
d520360cb8 Try it witht he root prim 2010-06-13 23:01:15 +02:00
Melanie Thielker
3058761806 D.U.H.
un-reverse a reversed condition
2010-06-13 22:43:14 +02:00
Melanie Thielker
520b0e131c Try to make prims stop moving. Reset velocity, etc, unconditionally. Although
the phys actor may be new, the prim fields could still be set and the
slimupdates system would continue sending that data out.
2010-06-13 22:37:11 +02:00
Melanie Thielker
3d319d6c3f Actually update the SP. EXPERIMENTAL 2010-06-13 22:23:07 +02:00
Melanie Thielker
f59e272643 Introduce SOP.UpdateSitters() to update sitting avatars' chat position if
needed
2010-06-13 22:21:05 +02:00
Melanie
5e4bee0f34 Merge branch 'master' into careminster-presence-refactor 2010-06-12 19:15:59 +01:00
Melanie
4950ee5f3b Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-06-12 16:27:55 +01:00
Melanie
d2342319da Merge branch 'master' into careminster-presence-refactor 2010-06-12 16:27:37 +01:00
Tom Grimshaw
63531b1df5 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-06-12 04:36:14 -07:00
Tom Grimshaw
3ea11fe2e6 Get rid of spamming SOG debug message 2010-06-12 04:35:51 -07:00
Melanie Thielker
03a48f87e4 Preserving the link numbers is a serializer's highest duty.
Prevent region crossings from screwing up complex attachments by preserving
link numbers.
2010-06-12 08:29:20 +02:00
Melanie Thielker
e337c9130f Make local teleports send CHANGED_TELEPORT 2010-06-12 07:34:22 +02:00
Melanie
57a60282f5 Don't filre CHANGED_INVENTORY if a prim comes in from storage 2010-06-12 06:57:10 +01:00
Melanie
0ece71f8d1 Merge branch 'master' into careminster-presence-refactor 2010-06-12 06:14:10 +01:00
Melanie
3c3ad08868 Merge branch 'master' into careminster-presence-refactor
0.7.1CM Dev
2010-06-12 02:46:11 +01:00
Melanie
ae0a7e2c37 Merge branch 'master' into careminster-presence-refactor 2010-06-12 02:19:57 +01:00
Melanie
508bfa1de8 Merge branch 'master' into careminster-presence-refactor 2010-06-12 01:26:55 +01:00
Melanie
6a2e0c707c Merge branch 'master' into careminster-presence-refactor 2010-06-12 00:34:26 +01:00
Melanie
836728e5de Merge branch 'master' into careminster-presence-refactor 2010-06-12 00:08:20 +01:00
Melanie
4e34770aba Merge branch 'master' into careminster-presence-refactor 2010-06-11 20:56:43 +01:00
Melanie
1cfebca48d Merge branch 'master' into careminster-presence-refactor 2010-06-11 20:35:00 +01:00
Justin Clark-Casey (justincc)
85c20e1493 revert group membership checking to older code pending resolution of reported performance problems 2010-06-11 19:40:09 +01:00
Justin Clark-Casey (justincc)
821b8a5517 remove SimianGrid Groups OpenSim.ini.example stuff that accidentally crept in through a cherry-pick 2010-06-11 18:43:02 +01:00
Melanie
9318674cdb Merge branch 'master' into careminster-presence-refactor 2010-06-11 17:54:35 +01:00
Melanie
77ef0053f2 Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-06-11 17:52:59 +01:00
Melanie
8a084cb7e1 Remove a company name referecne from the example 2010-06-11 17:52:29 +01:00
Melanie
de8f9e201f Merge branch 'master' into careminster-presence-refactor 2010-06-11 17:49:12 +01:00
Melanie
b1224c3540 Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-06-11 17:47:34 +01:00
Melanie
aa2f5bdd77 Merge branch 'master' into careminster-presence-refactor 2010-06-11 17:46:29 +01:00
Melanie Thielker
be71a2e5bc Revert "Remove the cm* function namespace"
This reverts commit ef93ac4452.
2010-06-11 17:52:19 +02:00
Melanie Thielker
ef93ac4452 Remove the cm* function namespace 2010-06-11 17:48:33 +02:00
Melanie Thielker
10ef80cf15 Rename CM files to LS 2010-06-11 17:42:16 +02:00
Melanie Thielker
97d83c87ec Rename cm* function set to ls* (for LightShare) 2010-06-11 17:23:06 +02:00
Melanie Thielker
8d5cec5e0d Remove cmGetAvatarList() 2010-06-11 17:08:18 +02:00
Melanie Thielker
b3cf5ccf6d Clone cmGetAvatarList into osGetAvatarList for more generic use. 2010-06-11 17:04:54 +02:00
Melanie
1dce243661 Merge branch 'master' into careminster-presence-refactor 2010-06-09 20:25:05 +01:00
Melanie
30d3ea3d4b Give attachments the same priority as other avatars in BestAvatarResponsiveness
policy
2010-06-09 17:00:24 +01:00
Melanie
6b2d2413f7 Merge branch 'master' into careminster-presence-refactor 2010-06-09 16:48:37 +01:00
Melanie
491d898db8 If a script is deleted before it gets compiled, don't even bother to try
compiling it
2010-06-09 03:52:59 +01:00
Melanie
20ea823c19 Merge branch 'master' into careminster-presence-refactor 2010-06-08 22:07:01 +01:00
Justin Clark-Casey (justincc)
5f60eb136e Improve instructions for [Groups] setup in OpenSim.ini.example 2010-06-08 21:16:19 +01:00
Melanie Thielker
7d75dc1294 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-06-08 22:04:09 +02:00
Kitto Flora
54209907f3 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-06-08 16:15:45 -04:00
Kitto Flora
6e2cc98eac Fixed llMoveToTarget() and Rotation Lock/Enable (ChODE/ODEPrim only) 2010-06-08 16:15:16 -04:00
Melanie Thielker
4921d5ac2d Make the text mode remote console really work. It can now be used to send
multi-word commands with proper quoting, handles arguments with spaces
and allows interactive use, e.g. user creation.
2010-06-08 22:03:08 +02:00
Justin Clark-Casey (justincc)
8b3b89ecf4 backport xmlrpcgroups cache from master 2010-06-08 20:31:39 +01:00
Justin Clark-Casey (justincc)
0524458069 remove references to OpenSim.Framework.Commuications.Tests.dll since all relevant test code has been obsoleted
this allows the tests to pass on my local system
2010-06-08 16:10:40 +01:00
Justin Clark-Casey (justincc)
a160b44e07 Merge branch '0.6.9-post-fixes' into share-with-group 2010-06-08 15:50:21 +01:00
Melanie
d2dfbbe339 Merge branch 'master' into careminster-presence-refactor 2010-06-08 00:44:53 +01:00
Justin Clark-Casey (justincc)
255e05beb5 minor: remove some commented out code and return ScenePresence.UpdatePriority() to private 2010-06-07 19:52:45 +01:00
Justin Clark-Casey (justincc)
912f0c7fde Stop some hud components disappearing on region crossings
If viewers (or at least, Linden Viewer 1.23.5) receive child hud object updates before the root prim, then the children are not displayed.
Updates were being queued in LLClientView in the right order (root first) but were being sent in a random order since they were all at the same prioritization
This commit prioritizes the root prim of a hud to its highest level when queued.
I'm not sure if the periodic reprioritization triggered via ScenePresence might reset this, but boosting priority appears to work so far.
Also committed is a belt and braces mechanism in LLClientView to prevent child hud prim being sent out before their root, but since this doesn't appear to be needed it is currently commented out.
2010-06-07 19:14:40 +01:00
Justin Clark-Casey (justincc)
693b5d0838 reapply fix for double sending of attachment update on standalone region crossing 2010-06-07 19:14:30 +01:00
Justin Clark-Casey (justincc)
50ddb20204 commit code which stops full updates being fired multiple times when attachments cross standalone region boundaries
lots of messy debug code here too which would need to be removed
2010-06-07 19:14:22 +01:00
Melanie
cc2622660b Merge branch '0.6.9-post-fixes' into careminster 2010-06-07 05:23:52 +01:00
Melanie
74d62901c8 Merge branch 'master' into careminster-presence-refactor 2010-06-07 00:44:36 +01:00
Melanie Thielker
fad5158ab4 Add a call to SOG.ResumeScripts() after region crossing / teleport 2010-06-07 00:09:44 +02:00
Tom Grimshaw
e962c44749 Fix support for PRIM_SCULPT_FLAG_INVERT and PRIM_SCULPT_FLAG_MIRROR in the llSetPrimitiveParams series of functions. This makes it possible to mirror a sculpt by script. 2010-06-04 19:36:31 -07:00
Melanie
c5878b6610 Merge branch 'master' into careminster-presence-refactor 2010-06-04 21:11:15 +01:00
Justin Clark-Casey (justincc)
bdeda18b52 Revert "commit code which stops full updates being fired multiple times when attachments cross standalone region boundaries"
This reverts commit 5074d290e4.

This gets rid of the massive amount of scene object log spam - sorry about that, folks
2010-06-04 18:54:58 +01:00
Justin Clark-Casey (justincc)
8eb70f9719 Fix bug where prim items were not loaded in the new sqlite database handler
This addresses mantis http://opensimulator.org/mantis/view.php?id=4739
2010-06-04 18:02:30 +01:00
Justin Clark-Casey (justincc)
2f6d401db1 Merge remote branch 'origin/0.6.9' into 0.6.9-post-fixes
This chiefly brings in the new sqlite adaptor and renames the old one to SQLiteLegacy
Existing configuratios should continue to work without changes unless you are using Mac OSX and mono 2.6 or later, in which case you will need to enable SQLiteLegacy instead.  Please se the instructions in OpenSim.ini.example and the relevant config/include .ini files

Conflicts:
	OpenSim/Framework/Servers/VersionInfo.cs
	OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
2010-06-04 18:00:48 +01:00
Tom Grimshaw
dda7185b43 Change the admin kick message to something more generic, "OpenSim Manager" is not really accurate 2010-06-03 17:55:50 -07:00
Melanie
82d0d1c092 Revert "Next OSG test. Don't remove app domains if they contain running threads."
This reverts commit f831a1778b.

With this, post-fixes is back to normal.
2010-06-02 21:02:53 +01:00
Melanie
f831a1778b Next OSG test. Don't remove app domains if they contain running threads. 2010-06-02 19:57:03 +01:00
Melanie
20e6b7a320 Next OSG test. Cowardly refuse to save the state of badly behaved scripts, instead of forcing the issue. 2010-06-02 18:05:58 +01:00
Melanie
c38f7c96e7 Revert "Next OSG TEST RELEASE. Join aborted threads."
This reverts commit 698066d7e3.
2010-06-02 18:00:44 +01:00
Melanie
698066d7e3 Next OSG TEST RELEASE. Join aborted threads. 2010-06-02 17:41:28 +01:00
Melanie
c5cfae7bac Revert "After aborting a thread, wait for it to actually finish. EXPERIMENTAL for OSG"
This reverts commit 241ed5734e.
2010-06-02 17:39:58 +01:00
Melanie
241ed5734e After aborting a thread, wait for it to actually finish. EXPERIMENTAL for OSG
testing. DO NOT UPDATE TO THIS UNLESS YOU KNOW WHAT YOU'RE DOING!
2010-06-02 17:14:37 +01:00
Tom Grimshaw
293f775fa5 Always provide at least 2 packets of a texture (if the texture is larger than 1 packet). This fixes compatibility with the newer (broken) SnowGlobe and Emerald viewer(s), but also matches the behaviour of SL. 2010-06-02 07:59:18 -07:00
Melanie Thielker
655f02b695 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-06-02 01:05:36 +02:00
Melanie Thielker
70aa965c26 Add a forgotten security check. Make the new functions only work on prims
owned by the host prim owner.
2010-06-02 01:04:17 +02:00
Melanie Thielker
d8962ef415 Add two new osFunctions:
list osGetPrimititveParams(key prim, list rules);
osSetPrimitiveParams(key prim, list rules);
2010-06-02 01:01:56 +02:00
Tom Grimshaw
90c814a7ca Fix nullref in cmGetAvatarList() (ported from 0.69) 2010-06-01 13:29:12 -07:00
Tom Grimshaw
0209033dd9 Gosh, fixing another nullref issue in cmGetAvatarList. I deserve spanks. 2010-06-01 13:22:24 -07:00
Melanie Thielker
6668c789d3 One should not lock null objects. 2010-06-01 19:01:21 +02:00
Melanie Thielker
c900134f91 Lock the object queue when dequeueing 2010-06-01 16:03:53 +02:00
Melanie
f5ca701273 Comment and remove JScript support. Mono 2.7Dev and 2.8 no longer include the
needed libraries
2010-06-01 14:19:26 +01:00
Melanie
f8e2d25739 Merge branch 'master' into careminster-presence-refactor 2010-06-01 02:24:12 +01:00
Melanie Thielker
28c5759456 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-06-01 03:18:03 +02:00
Melanie Thielker
16d8602d3c Fix prim returns I broke earlier 2010-06-01 03:17:21 +02:00
Melanie Thielker
6c4c72546c Fix prim returns I broke earlier 2010-06-01 03:05:08 +02:00
Melanie Thielker
eca15cfbf2 Change the handling of CreateSelected. Only send it on real creation, not
for each prim coming into view.
2010-06-01 02:45:14 +02:00
Melanie Thielker
bf233ea0dc Continuing refactor. Refactor DeRezObject to deal with multiple objects 2010-06-01 02:27:30 +02:00
Melanie Thielker
f57f2370f1 Add a method to get the bounding box and root prim offsets within it for
a group of prims.
2010-06-01 01:25:24 +02:00
Melanie Thielker
70f7790413 Split GetAxisAlignedBoundingBox into two methods to allow calculation of
combined bounding boxes and offsets
2010-06-01 01:07:46 +02:00
Melanie Thielker
9d4913224f Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-05-31 19:00:36 +02:00
Melanie Thielker
d4b4cbf5a5 Fix create selection getting overwritten by multiple updates for the same prim. 2010-05-31 19:00:02 +02:00
Melanie
0526a91206 Merge branch '0.6.9-post-fixes' into careminster 2010-05-31 17:57:48 +01:00
Tom Grimshaw
4be13b1a42 Fix casting in llParcelMediaCommandList so that it actually, you know, works 2010-05-31 08:41:00 -07:00
Tom Grimshaw
6c1665bf46 Fix casting in llParcelMediaCommandList so that it actually, you know, works 2010-05-31 08:38:41 -07:00
Melanie Thielker
bbb4d6e4c9 Fix a nullref in EventManager caused by RegionReady not setting the scene 2010-05-31 01:02:04 +02:00
Melanie Thielker
992efdc283 Fix a nullref in EventManager caused by RegionReady not setting the scene 2010-05-30 23:57:33 +01:00
Melanie Thielker
890f3cc54c Changes osFunction permissions again. Allow_ with a list of UUIDs now again
refers to prim OWNERS. A new option set, Creators_, is added to allow
selection by script creator. For existing installs, this means no functional
change. The warning from my prior commit doesn't apply anymore.
2010-05-30 15:46:54 +02:00
Melanie Thielker
59a5367433 Changes OSSL Api permissions for the case of UUID list. In 0.6.9, the UUIDs
would be the IDs of the prim owners in whose prims these functions would
run. This changes it so the UUID is the SCRIPT CREATOR instead. Further,
osfunctions limited by uuid will not run if the creator and owner differ
and the owner has mod rights on the script.
There is still a danger in passing moodifiable scripts to others, as they
can insert a harmful function, then remove the mod rights to make it runnable.
As before, care needs to be taken, but where it was modable prims that were
the risk before, modable scripts are the weak spot now.
In cases where prim owner == script creator == script owner, nothing will
change.
2010-05-30 13:46:05 +02:00
Melanie Thielker
84e30bee6d Revert "Meta7 Communities : Authorization service added, skeleton, not yet functional"
This reverts commit 31439293cc.
2010-05-29 12:34:02 +02:00
Tom Grimshaw
31439293cc Meta7 Communities : Authorization service added, skeleton, not yet functional 2010-05-29 03:56:34 -07:00
Tom Grimshaw
e3dac1292e Implement suspended updates - When an operation is occurring on lots of prims in a single group, don't schedule any updates until the operation has completed. This makes things like llSetAlpha(LINK_SET,0.0,ALL_SIDES); a *lot* faster, more efficient and less buggy, and also makes unlinking a lot better. Linking is still treacherous.. this needs to be analysed. 2010-05-29 02:10:34 -07:00
Tom Grimshaw
3a5d379db8 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-05-29 01:07:19 -07:00
Tom Grimshaw
2f409116db Stop IGridService from throwing a fatal exception when an IPEndPoint cannot be resolved, and add some handlers to deal with this cleanly; a condition was observed on OSGrid where a neighbouring region with an invalid (unresolveable) hostname would prevent a region from starting. This is bad. 2010-05-29 01:03:59 -07:00
Melanie Thielker
e7bf6afd3a Get the user's DOB back from the server response properly. 2010-05-29 05:14:18 +02:00
Melanie
542e6b8af4 Merge branch 'master' into careminster-presence-refactor 2010-05-28 21:56:42 +01:00
Justin Clark-Casey (justincc)
c7d812802f Adjust Scene.DeleteAllSceneObjects() to not delete objects attached to avatars.
This is going to be the right behaviour in all cases, I should think.
This means that avatars in region when an oar is loaded do not lose their attachments
2010-05-28 18:52:30 +01:00
Mike Rieker
ea5bcc7b88 Merge branch 'careminster-presence-refactor' of www.3dhosting.de:/var/git/careminster into careminster-presence-refactor 2010-05-27 22:14:43 -04:00
Mike Rieker
9ea42fdfab Merge branch 'careminster-presence-refactor' of www.3dhosting.de:/var/git/careminster into careminster-presence-refactor 2010-05-27 21:31:10 -04:00
Mike Rieker
7d6680b38a fix hanging output throttle arithmetic
had multiply overflow and subtract wrap-around errors
2010-05-27 21:28:47 -04:00
Melanie Thielker
66b4309f34 Apply Mike's TokenBucket fix 2010-05-28 02:44:12 +02:00
Justin Clark-Casey (justincc)
5074d290e4 commit code which stops full updates being fired multiple times when attachments cross standalone region boundaries
lots of messy debug code here too which would need to be removed
2010-05-27 21:35:17 +01:00
Melanie Thielker
ba49319c07 Prevent a null ref 2010-05-27 20:08:48 +02:00
Melanie Thielker
ac5373427f Comment noisy "CONNECTION DEBUGGING" messages, because they push more
important stuff off screen too fast. Clean this time
2010-05-27 20:08:12 +02:00
Justin Clark-Casey (justincc)
d6e1333810 If a transfer request is received for a task inventory item asset, then route the permissions request through the existing CanEditScript() and CanEditNotecard() methods.
This implements the 'share with group' flag for notecards and scripts in prim inventory since the PermissionsModule checks group membership and permissions.
Other than that, the code in PermissionsModule duplicates the checks in LLClientView so there should be no change other than allowing group members to edit embedded notecards and scripts.
For all other asset types, the permission checking code in LLClientView continues to be used, pending refactoring of suitable permissions code
This means that 'share with group' will not yet work for prim inventory items other than notecards and scripts
2010-05-26 21:12:56 +01:00
Justin Clark-Casey (justincc)
66a833796c check group membership and powers with the groups module rather than just the client's active group id
this resolves the earlier issue where notecards/scripts shared with group could only be edited if the user had that group active
2010-05-26 20:59:25 +01:00
Justin Clark-Casey (justincc)
32c43bf59a Partially implement share with group option for object inventory items
If serverside permissions are off then this works as expected.  Previously, it was impossible for more than one person to edit such items even if permissions were off.
If serverside permissions are on then this works as expected if the object was created by an avatar who had the required group active.
However, if the group for the object is later set then the contained item is still not editable.  This may be linked to a wider bug where the object is still not modifiable by the group anyway

Resolve conflict in LLClientView
2010-05-26 20:58:40 +01:00
Melanie Thielker
9e3b5a5587 Remove orphaned .dll.config files from tests 2010-05-26 19:29:56 +02:00
Melanie Thielker
f90d81a864 Just because there is an agent update handler, that doesn't mean there is
a pre agent update handler. Null check these separately.
2010-05-26 19:26:30 +02:00
Melanie
97501495eb Merge branch 'master' into careminster-presence-refactor 2010-05-26 17:19:02 +01:00
Melanie
00737f1c13 Merge branch 'master' into careminster-presence-refactor 2010-05-24 23:40:22 +01:00
Justin Clark-Casey (justincc)
a6c7995b71 backport from master fix for attachment display
this fix stops two full updates being sent on attachment rather than one.  Sending two can stop the client displaying attachments properly
2010-05-24 19:19:44 +01:00
Justin Clark-Casey (justincc)
8048a8a39d backport some IGroupsModule method doc and an extra exposed method from git master 2010-05-24 17:33:58 +01:00
Justin Clark-Casey (justincc)
2603f9a134 stop "load oar" reporting ignored objects when those objects were actually loaded just fine
this fix also means that loaded scripts are properly/more promptly started
here, the fix is only done in the oar module.  In master, the underlying problem was fixed instead but this is more invasive.
2010-05-24 16:53:43 +01:00
Melanie
72b96e8121 Add the SitGround flag back in 2010-05-23 06:12:11 +01:00
Melanie
a9dad99432 Merge branch 'master' into careminster-presence-refactor
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2010-05-23 06:09:54 +01:00
Justin Clark-Casey (justincc)
3bd2ec7b2e Apply http://opensimulator.org/mantis/view.php?id=4724
Tweak to update appearance calls
Fix for deleting inventory items from a folder.
Thanks StrawberryFride!
2010-05-21 22:40:15 +01:00
Justin Clark-Casey (justincc)
e589a31bc4 Only send dialogs and notices to root agents, not child agents
Small change for backport

Conflicts:

	OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs
2010-05-21 22:23:13 +01:00
Melanie
297bcb5c3d Merge branch 'master' into careminster-presence-refactor 2010-05-21 21:16:04 +01:00
Melanie
c0cb66e602 Merge branch 'master' into careminster-presence-refactor 2010-05-21 15:58:34 +01:00
Melanie
e4114799c3 Replace CSJ2K with fixed version (Mantis #3318) 2010-05-21 15:57:36 +01:00
Melanie
59546a348a Change the way the object perms are propagated to attempt to salvage
some older content
2010-05-21 15:57:16 +01:00
Melanie
ccbcf421e7 Merge branch 'master' into careminster-presence-refactor 2010-05-21 15:27:17 +01:00
Melanie
344f209565 Merge branch 'master' into careminster-presence-refactor 2010-05-21 06:28:13 +01:00
Melanie Thielker
af5eeab7cf Ensure that the first update sent out for any given prim is a full update 2010-05-21 07:37:55 +02:00
Melanie
a92780fe5f Merge branch 'master' into careminster-presence-refactor 2010-05-21 03:51:58 +01:00
Melanie
d28da5e5ce Refactor scene presence list for lockless iteration. Lock contention will now only be for simultaneous add/removes of scene presences from the scene. 2010-05-21 03:41:32 +01:00
Melanie
b6674c9b76 Merge branch 'careminster' into careminster-presence-refactor 2010-05-21 03:03:35 +01:00
Melanie
ddd072b3fb Merge branch '0.6.9-post-fixes' into careminster 2010-05-21 02:44:20 +01:00
Melanie
147c2d6f80 Change the way the object perms are propagated to attempt to salvage
some older content
2010-05-21 02:31:14 +01:00
Justin Clark-Casey (justincc)
427ae1087f minor: correctly print out missing item id when it can't be found rather than a NullReferenceException 2010-05-20 23:44:49 +01:00
John Hurliman
1c63f6cd85 Don't append ACKs to zerocoded packets. Although this should fine in theory, I'm seeing the viewer ignore or fail to parse ACKs appended to our zerocoded packets. This should cut down on viewer->sim resend traffic 2010-05-20 23:38:38 +01:00
Justin Clark-Casey (justincc)
3b38cc10de When saving an oar/iar, don't attempt to write out the data byte array if it's empty
On Mono 2.6 (and probably before) this causes a non-obvious IOException
2010-05-20 23:35:36 +01:00
Justin Clark-Casey (justincc)
d446b19e72 minor: commented out code removal 2010-05-20 23:34:44 +01:00
Justin Clark-Casey (justincc)
e9bac02fec Completely prevent full update packets being sent after kill object packets
If a full update is sent after the kill, the object remains as in the linden viewer but in an undeletable and unowned state until relog
This patch prevents this by recording kills in LLClientView
Backport from master
2010-05-20 23:32:23 +01:00
Justin Clark-Casey (justincc)
8b5d012200 Completely prevent full update packets being sent after kill object packets
If a full update is sent after the kill, the object remains as in the linden viewer but in an undeletable and unowned state until relog
This patch prevents this by recording kills in LLClientView
2010-05-20 23:32:11 +01:00
Justin Clark-Casey (justincc)
fa8def5e70 minor: Print out port that http servers are using
do this in callers so that we know who is setting up these things
2010-05-20 23:17:56 +01:00
Justin Clark-Casey (justincc)
5fc990d9e7 put out full exception stack if something reaches top of base http server OnRequest() on both mono and .net
replace Newtonsoft.Json.XML since the updated copy got accidentally reverted by another commit
2010-05-20 23:12:02 +01:00
Justin Clark-Casey (justincc)
8d832e3231 Upgrade Newtonsoft.Json.dll from 1.3 to 3.5r6
Actually using the one built against Net 2.0 (labelled Newtonsoft.Json.Net20.dll) since the 3.5 build is not compatible with Mono 2.4 (though it is with Mono 2.6)
2010-05-20 23:02:11 +01:00
Justin Clark-Casey (justincc)
1ed7b591b2 automatically delete %temp% directory after running tests
this prevents a huge cruft buildup
2010-05-20 22:49:52 +01:00
Justin Clark-Casey (justincc)
76238715e3 move linden notecard parsing from LSL_Api.cs to SLUtil so that region modules can use it
backport from master
2010-05-20 22:43:05 +01:00
Tom Grimshaw
5532341bf9 Initialise m_initialSitTarget to ZERO_VACTOR for safety's sake as per convo with kitto 2010-05-19 14:04:44 -07:00
Tom Grimshaw
6933b48a7e Fix a nullref issue in SitAltitudeCallback 2010-05-19 13:49:34 -07:00
Tom Grimshaw
f77f9ecd8f Fix a nullref issue in SitAltitudeCallback 2010-05-19 13:44:59 -07:00
Tom Grimshaw
fc76b5f589 Fix a null reference issue in cmGetAvatarList() 2010-05-19 00:24:54 -07:00
Tom Grimshaw
71a95900fd Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-05-19 00:21:38 -07:00
Tom Grimshaw
ba36c62caa Fix a null reference issue in cmGetAvatarList() 2010-05-19 00:20:51 -07:00
Melanie Thielker
55f124745f Allow remote admin to be used on a different port from the main region port 2010-05-18 19:25:40 +02:00
Melanie
1c3790a70d Merge branch 'master' into careminster-presence-refactor 2010-05-18 15:31:19 +01:00
Tom Grimshaw
bb0806c61e Don't send kill packets to child agents as we close them 2010-05-18 03:44:09 -07:00
Tom Grimshaw
1c040d8c1e Fix to the scenario where we send an agent to a neighbouring sim (via teleport), then tell our neighbours to close the agents.. thereby disconnecting the user. Added a new CloseChildAgent method in lieu of CloseAgent. This has been a long standing problem - with any luck this will cure it. 2010-05-18 03:24:43 -07:00
Tom Grimshaw
ed1cfb5245 Missed a nullref in the previous commit 2010-05-18 02:33:41 -07:00
Tom Grimshaw
91b1d17e5b Fix for hanging on "Connecting to region".. caused by packets being processed before the presence has bound to receive events. Fixed this by adding packets to a queue and then processing them when the presence is ready. 2010-05-18 01:09:47 -07:00
Tom Grimshaw
ae7c30a0f3 While examining our 10,10,10 issue I discovered that several threads were locked with each other in an unusual place; I've moved the piece of code inside a lock[] context and so far it's looking promising. 2010-05-18 00:07:17 -07:00
Melanie Thielker
eb5a95d26b Prevent an "index out of range" error on login 2010-05-18 03:02:36 +02:00
Tom Grimshaw
c25c40a3f9 Following on from the last commit, the stop/disconnect packet should NOT be sent when the user logs out. This eliminates the annoying "crash on log out" bug, and allows the client to commit important information at the last moment (attachment data!) 2010-05-17 15:24:28 -07:00
Tom Grimshaw
6bc7e3429f Provide interface to prevent the client close function from sending the stop packet 2010-05-17 14:32:21 -07:00
Tom Grimshaw
8f838c722d When killing a zombie session, don't send the stop packet since it often has the effect of killing a newly connected client. 2010-05-17 14:14:19 -07:00
Melanie
a003c36de5 Merge branch 'master' into careminster-presence-refactor 2010-05-16 20:32:58 +01:00
Melanie
d8bf370fd6 Merge branch 'master' into careminster-presence-refactor 2010-05-16 17:22:38 +01:00
Melanie
a723225179 Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-05-16 15:02:23 +01:00
Melanie
b94cace547 Merge branch 'master' into careminster-presence-refactor 2010-05-16 15:01:56 +01:00
Justin Clark-Casey
009b15c436 Make "nant distbin" remove BUILDING.txt 2010-05-15 02:08:07 +01:00
Justin Clark-Casey (justincc)
dd1b99cd0d Address symptom of Mantis 4588 (though not the cause) by moving the avatar dereference inside the exception catch 2010-05-15 01:07:34 +01:00
Justin Clark-Casey (justincc)
25bb80da77 remove unrequired [Groups] section from GridCommon.ini.example, as per Nebadon 2010-05-15 00:33:05 +01:00
Justin Clark-Casey (justincc)
3a8128d309 Merge branch '0.6.9-post-fixes' of ssh://justincc@opensimulator.org/var/git/opensim into 0.6.9-post-fixes 2010-05-14 23:44:09 +01:00
unknown
2c8d25a110 * Allows both old and new OpenSim.ini params for the XmlRpc Groups Service Connector
* Fix problem with RequestingAgentID not being sent correctly to server resulting in failed xmlrpc calls

* Improved debug output
2010-05-14 23:40:40 +01:00
Justin Clark-Casey (justincc)
12ee3a3c93 change 0.6.9 flavour to post-fixes 2010-05-14 21:40:37 +01:00
Justin Clark-Casey (justincc)
e79eac238e switch 0.6.9 flavour to release 2010-05-14 21:30:53 +01:00
Justin Clark-Casey
2f6bb01370 Apply patch from http://opensimulator.org/mantis/bug_view_page.php?bug_id=4671
Fixes a bug where the viewer didn't recieve the uuid of a chat broadcasting object
Thanks crystalsgalicia!
2010-05-14 21:24:28 +01:00
Justin Clark-Casey
9209657f93 Apply patch from http://opensimulator.org/mantis/bug_view_page.php?bug_id=4671
Fixes a bug where the viewer didn't recieve the uuid of a chat broadcasting object
Thanks crystalsgalicia!
2010-05-14 21:22:53 +01:00
Melanie Thielker
547e027899 Fix linking issue introduced in my earlier commit 2010-05-14 20:57:43 +01:00
Tom Grimshaw
9079ad5ceb Add some debug output to GetAgent to try and track down our presence problems 2010-05-13 12:40:18 -07:00
Tom Grimshaw
fd37a21b59 Kill some locks that have crept into SOG 2010-05-12 08:34:47 -07:00
Tom Grimshaw
7705012ee7 Optimise the heavily used GetScenePresences; eliminate the array->list conversion on every call and transition from hard locks to ReaderWriter locks. 2010-05-12 08:25:40 -07:00
Tom Grimshaw
98bd3e1f34 Don't convert UUID -> ToString for every friend (Minor optimisation based on profiler feedback) 2010-05-12 07:14:06 -07:00
Tom Grimshaw
40e05f4109 Spin the AddNewClient process off into a new thread to avoid locking up the LLUDPServer (and therefore the entire scene) 2010-05-11 09:28:46 -07:00
Tom Grimshaw
14a86de115 Fix another ReaderWriterLockSlim issue 2010-05-10 12:45:33 -07:00
Melanie
5814d16b58 Merge branch 'master' into careminster-presence-refactor 2010-05-10 15:57:32 +01:00
Tom Grimshaw
3cda854ef3 Fix overlooked readLock which was left open 2010-05-10 08:47:41 -07:00
Tom Grimshaw
ab716125d7 Correct an odd merge anomaly 2010-05-10 05:51:49 -07:00
Tom Grimshaw
2e94c75729 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-05-10 05:44:24 -07:00
Tom Grimshaw
2fe669448f Greatly improve login time for users with large friends lists by requesting all unknown UUID's in one go rather than individually 2010-05-10 05:43:16 -07:00
Melanie
fada4cb6c4 Merge branch 'master' into careminster-presence-refactor 2010-05-10 04:05:04 +01:00
Melanie
6a3e1734e6 Merge branch 'master' into careminster-presence-refactor 2010-05-09 18:03:57 +01:00
Melanie
4e0d62547d Merge branch 'master' into careminster-presence-refactor 2010-05-09 17:04:23 +01:00
Melanie
420dd78fb7 Merge branch 'careminster' into careminster-presence-refactor 2010-05-08 14:17:43 +01:00
Melanie
14fcc2510e Merge branch 'master' into careminster-presence-refactor 2010-05-08 13:31:36 +01:00
Kitto Flora
bc7d84b75c Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2010-05-07 15:16:59 -04:00
Kitto Flora
add7abc1de Fix Mouse+WASD makes Av rise; Fix PREJUMP. 2010-05-07 14:12:07 -04:00
Melanie
b309781f2d Merge branch 'master' into careminster-presence-refactor 2010-05-07 01:00:58 +01:00
Melanie
69d0201d4c Revert "Patch from mcortez: Update groups, add ALPHA Siman grid connector for groups"
Causes an exception within HttpServer, headers have already been sent.

This reverts commit 8187fccd25.
2010-05-06 16:38:23 +01:00
Melanie
11971fb302 Merge branch 'master' into careminster-presence-refactor 2010-05-06 16:09:36 +01:00
Melanie Thielker
02dea4ce58 Remove the m_Viewer variable and make the property a shortcut to the
proper field in AgentCircuitData instead
2010-05-06 02:02:12 +02:00
Melanie
7e0d5b8665 Merge branch 'master' into careminster-presence-refactor 2010-05-05 22:50:11 +01:00
Melanie Thielker
2d9a20529d Plumb Viewer version into ScenePresence for initial login. It's still not
carried along
2010-05-06 00:54:21 +02:00
Melanie Thielker
733a07e061 Plumb the viewer version string through into AgentCircuitData. Now all that
is left os to figure out what black magic turns AgentCircuitData into
AgentData and then copy that into the ScenePresence, where m_Viewer is
already added with this commit and waits for the data.
2010-05-06 00:34:49 +02:00
Melanie Thielker
65775b87e5 Add a XMLRPC method to remotely set the login level for the LLLoginService.
This requires a special XMLRPC call, which has to supply the credentials of
a god user (User level >= 200). Disabled by default. Also Adds a configuration
option to set the initial permitted login level.
2010-05-05 23:06:36 +02:00
Melanie Thielker
e0f9b1a699 Removed a test for a "can't happen" case. ParentGroup is never null anymore. 2010-05-05 21:12:02 +02:00
unknown
91cfce3758 back port groups changes
Signed-off-by: Melanie <melanie@t-data.com>
2010-05-05 16:11:00 +01:00
unknown
8a69070b51 back port groups changes 2010-05-05 16:09:53 +01:00
Melanie
6fdd5bfe2d Revert "Patch from mcortez: Update groups, add ALPHA Siman grid connector for groups"
The patch was for 0.7

This reverts commit 608bb0dfef.
2010-05-05 16:03:20 +01:00
Melanie
608bb0dfef Patch from mcortez: Update groups, add ALPHA Siman grid connector for groups
Mantis #4646

Signed-off-by: Melanie <melanie@t-data.com>
2010-05-05 14:37:05 +01:00
Melanie Thielker
efc3241541 Add perms check to the teleport home client command handlers. 2010-05-05 01:32:55 +02:00
Melanie Thielker
49efec2ef1 Strip estate message sending out from the estate management module and
the dialog module. Convert it to an event on the estate module interface.
The old implementation did the same as message to region, a button that
is right next to it on the UI. This implementation prevented people from
adding a more sane one in a module.
2010-05-04 23:45:59 +02:00
Melanie Thielker
07e0732a10 make the events more useful by providing the source region 2010-05-04 21:16:20 +02:00
Melanie
9ca79df802 Merge branch 'careminster' into careminster-presence-refactor 2010-05-04 18:41:20 +01:00
Melanie
585259ef08 Merge branch 'master' into careminster-presence-refactor 2010-05-04 18:39:04 +01:00
Melanie Thielker
97bbce92a8 Add events to the estate interface to let interested modules know of
changes to estate settings
2010-05-04 20:57:31 +02:00
Melanie Thielker
ce86d39c70 Add "reload estate" command to sims 2010-05-04 18:31:52 +02:00
Melanie Thielker
4f93d30790 Allow reloading of estate settings into a running region. Move sun update
helper into Scene, since that is less evil than exposing m_storageManager
to the public.
2010-05-04 18:10:13 +02:00
Melanie Thielker
da849aea78 Allow regions to get the list of the other regions in the estate 2010-05-04 17:56:30 +02:00
Melanie Thielker
dbce360566 Fix full circle sensors 2010-05-04 02:43:22 +02:00
Melanie Thielker
c86259c671 Fix scripted give and interactive give to offline avatars. Both folder and
single items are now supported. Magic Boxes, yeah!
2010-05-04 00:44:05 +02:00
Melanie Thielker
deaa79ca9e Refix the fix 2010-05-03 23:53:49 +02:00
Melanie Thielker
87e0c17707 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-05-03 23:47:50 +02:00
Melanie Thielker
80bf3934af Add folder version incrementing to XInventoryService. Fixes offline give
for avatar->avatar
2010-05-03 23:47:32 +02:00
Melanie Thielker
8ec6e42e34 Add folder version uncrementing to XInventoryService. Fixes offline give
for avatar->avatar
2010-05-03 23:45:05 +02:00
Melanie Thielker
4df87631ed Store given items in correct parent folder. Fixes items given to offline avatars
not getting lost.
2010-05-03 23:44:23 +02:00
Justin Clark-Casey (justincc)
087f475893 Merge branch '0.6.9-post-fixes' into 0.6.9 2010-05-03 21:36:04 +01:00
Justin Clark-Casey (justincc)
a69cb5e390 Address symptom of Mantis 4588 (though not the cause) by moving the avatar dereference inside the exception catch 2010-05-03 21:34:38 +01:00
Melanie Thielker
9c8d7d34b3 Fix a bug in owner change notification 2010-05-03 04:55:41 +02:00
Melanie Thielker
8766401777 Adapt CM to the new CHANGED_OWNER handling 2010-05-03 04:28:30 +02:00
Melanie
9f8acbfe3e Merge branch 'master' into careminster-presence-refactor 2010-05-03 01:40:24 +01:00
Melanie Thielker
175f3f992a Make the IUserAccountData properly unpack the god mode data, so grid gods
work again
2010-05-03 01:50:32 +02:00
Melanie Thielker
0fa57cac3f Fix sensor cone for sensing avatars 2010-05-03 00:54:24 +02:00
sacha
5f6e9e6ab9 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2010-05-02 08:18:33 -04:00
sacha
7ad36d3d75 Adding DebugEvent Trap
Adding XMREEvent Trap

 trapDebug("Modulename" ,"My data here ",  scene);
 trapXMRE(int data, string Message, Scene scene);
2010-05-02 08:15:12 -04:00
Justin Clark-Casey (justincc)
8938fac4fd add operation to "nant distbin" to copy StandaloneCommon.ini.example -> StandaloneCommon.ini 2010-04-30 22:36:26 +01:00
Melanie Thielker
881fcb7def Allow retrieval if admin users in scope mode 2010-04-30 23:32:58 +02:00
Justin Clark-Casey (justincc)
139f425f4c take out some more sqlite db console debug lines 2010-04-30 22:08:57 +01:00
Justin Clark-Casey (justincc)
8966ed9c82 fix an issue with user appearance where the new sqlite db adapter expects directly specification of byte[] type rather than base64 strings 2010-04-30 21:37:31 +01:00
Melanie Thielker
7ae55f6248 Fix linking issue introduced in my earlier commit 2010-04-30 20:18:29 +01:00
Melanie Thielker
0a9c98e7c4 Fix linking issue introduced in my earlier commit 2010-04-30 20:18:08 +01:00
Melanie
9bc5098dd8 Merge branch 'master' into careminster-presence-refactor 2010-04-30 20:15:19 +01:00
Melanie Thielker
3e30de7430 Fix linking issue introduced in my earlier commit 2010-04-30 22:35:07 +02:00
Justin Clark-Casey (justincc)
0b8b302aa0 Fix a bunch of issues that crop up after the naive porting of the new sqlite db from master to 0.6.9 2010-04-30 20:05:57 +01:00
Justin Clark-Casey (justincc)
d8b604b550 take out some debug logging in the sqlite db adaptor 2010-04-30 19:29:24 +01:00
Justin Clark-Casey (justincc)
56fe4c24b8 rename SQLiteNG to SQLite and SQLite to SQLiteLegacy this seems the least evil way forward since mono 2.6 and later will see increasing usage, and this only works with what was
SQLiteNG MAC USERS WILL NEED TO CHANGE REFERENCES TO "OpenSim.Data.SQLite.dll" to "OpenSim.Data.SQLiteLegacy.dll" in OpenSim.ini and config-include/StandaloneCommon.ini (if
using standalone) See the OpenSim.ini.example and StandaloneCommon.ini.example files for more details This commit also temporarily changes unsigned ParentEstateID values in the
OpenSim.Data.Tests to signed temporarily, since the new plugin enforces creation of signed fields in the database (which is what the SQL actually specifies).  And change data
columns in sqlite is a pita.
2010-04-30 19:28:28 +01:00
Justin Clark-Casey (justincc)
955db6e4be add Mono.Data.Sqlite.dll 2010-04-30 19:12:47 +01:00
Justin Clark-Casey (justincc)
705b675d28 get region prim saving working properly in SQLiteNG
it wasn't working because of debug work that I'd forgotton to take out
2010-04-30 19:05:51 +01:00
Justin Clark-Casey (justincc)
b46380e373 dispose of the DbCommand used to execute migrations after we've finished with it rather than within the loop
disposing of it within the loop causes Mono.Data.Sqlite.dll to get upset, and it's the wrong behaviour anyway
2010-04-30 19:05:39 +01:00
Justin Clark-Casey
a90054aa16 put SQLiteNG classes in their own namespace to avoid confusion 2010-04-30 19:05:09 +01:00
Justin Clark-Casey (justincc)
362007e5d3 minor: correct the assembly information for SQLiteNG 2010-04-30 19:04:53 +01:00
Justin Clark-Casey (justincc)
7ce0ec874a Change SQLiteNG to work with mono 2.6 and above using the Mono.Data.Sqlite.dll
Include the library so that Windows builds correctly
It appears that Windows is okay with either SQLite or SQLiteNG
Incorporate the latest fixes made by Diva to OpenSim.Data.SQLite
2010-04-30 19:04:32 +01:00
Justin Clark-Casey (justincc)
959cd60225 Duplicate OpenSim.Data.SQLite into OpenSim.Data.SQLiteNG. SQLiteNG will shortly be changed to work under mono 2.6 and above 2010-04-30 18:59:10 +01:00
Melanie
486ab82c02 Fix some symbol errors 2010-04-30 12:08:37 +01:00
Melanie
10750421a3 Fix some symbol errors 2010-04-30 12:07:47 +01:00
Melanie
9500ba2ff5 Fix some symbol errors 2010-04-30 12:06:58 +01:00
Melanie
13960b3b86 Merge branch 'master' into careminster-presence-refactor 2010-04-30 11:49:24 +01:00
Melanie
7dc5ebc929 Merge branch 'careminster' into careminster-presence-refactor 2010-04-30 11:49:16 +01:00
Melanie
8b70477556 Merge branch '0.6.9-post-fixes' into careminster 2010-04-30 11:48:57 +01:00
Melanie
04845c1898 Fix link security issue 2010-04-30 11:48:09 +01:00
Melanie
9c79fd6308 Treat a UserLevel of -1 as an unverified account and refer them to their
activation email.
2010-04-30 05:33:45 +01:00
Kitto Flora
f3c21524be Fix Av jump motion S/W 2010-04-29 19:41:08 -04:00
Melanie
08ebcdb0b8 Merge branch 'master' into careminster-presence-refactor 2010-04-29 23:33:26 +01:00
Melanie
f06772a088 Merge branch 'careminster' into careminster-presence-refactor 2010-04-29 23:33:20 +01:00
Kitto Flora
5c23b4aa56 Fix vertical attractor 2010-04-29 13:50:11 -04:00
Melanie
8a32ee7dd2 Merge branch 'careminster' into careminster-presence-refactor 2010-04-27 03:58:43 +01:00
Melanie
89a003c6fc Merge branch 'master' into careminster-presence-refactor 2010-04-27 03:57:36 +01:00
Melanie
bbffe16f13 Merge branch 'master' into careminster-presence-refactor 2010-04-27 00:27:05 +01:00
Melanie Thielker
06661708b4 Add a parameter to prim inventory update to prevent event firing 2010-04-27 02:40:30 +02:00
Melanie Thielker
81ff5eaba0 Make scripted attachment states work. Finally. Also replace two monitor locks
with RWLocks, hunting the 10^3 bug. Not successful, but needed to be done anyway
2010-04-25 22:03:35 +02:00
Melanie Thielker
899d521ab4 Use the saved script states 2010-04-24 18:59:34 +02:00
Melanie Thielker
27b3f23ff3 Remove some usings that stopped compilation 2010-04-24 16:53:47 +02:00
Melanie Thielker
71f42f185a Plumb a data path to initialize an attachment from an alternate source 2010-04-24 16:45:25 +02:00
Melanie Thielker
56f60a04d9 Add an additional serialization call do the detach procedure. This call is
executed only for it's side effects, which are to block until attach(NULL_KEY)
completes, before commencing detachment.
2010-04-23 20:18:34 +02:00
sacha
85646b157c Adding some more SNMP events and some refactoring
Signed : The Masqued Foxi
2010-04-23 12:40:27 -04:00
Melanie Thielker
31e0704c8d Remove debug output, the culprit has been identified 2010-04-23 17:48:50 +02:00
sacha
7eda9364fd Adding LinkUp/LinkDown when a region is started or stoped.
Those two events could be used to compute the region availibility
2010-04-23 10:51:27 -04:00
Melanie Thielker
780630d7c0 Fix a nullref in attachment handling. Add some debug to find the attachment
state issue
2010-04-23 14:41:20 +02:00
Melanie
af778f09d5 Merge branch 'master' into careminster-presence-refactor 2010-04-21 19:51:17 +01:00
Melanie Thielker
de63b60748 Avoid duplicate script resumes. Move resume calls to more logical places 2010-04-19 19:27:45 +02:00
Melanie Thielker
80024c023a Remove the event trigger for the attach event from the attachment module.
The script engine already triggers this internally.
2010-04-19 18:44:21 +02:00
Melanie
d2e4f2d376 Merge branch 'master' into careminster-presence-refactor 2010-04-19 15:33:20 +01:00
Melanie Thielker
1667a29c88 And some more rez modes that weren't covered before 2010-04-19 12:54:33 +02:00
Melanie
efa7873ae1 Merge branch 'master' into careminster-presence-refactor 2010-04-19 10:44:01 +01:00
Melanie
65079b1106 Merge branch 'careminster' into careminster-presence-refactor 2010-04-19 07:00:51 +01:00
Melanie
98cb4f74b2 Merge branch 'master' into careminster-presence-refactor 2010-04-19 07:00:40 +01:00
Melanie
f8d49e0a30 Merge branch '0.6.9-post-fixes' into careminster 2010-04-19 06:32:29 +01:00
Melanie Thielker
72d380acf0 Merge branch 'master' into careminster-presence-refactor 2010-04-19 06:10:23 +02:00
Mike Rieker
68a4f897b4 This GetScriptErrors() change allows initial XEngine to run in background
thread.  It should block only for the case of being called by
CapsUpdateTaskInventoryScriptAsset().
2010-04-18 19:19:16 -04:00
Justin Clark-Casey (justincc)
43acd99bb3 Slightly tweak README to account for the fact that first-time standalone users may effectively set up their avatar as 'master avatar' in the region configuration stage. 2010-04-18 19:19:50 +01:00
Justin Clark-Casey (justincc)
b7457a0a5d Update OpenMetaverse libraries to those used in master as of commit 9a781e7
This removes Mono.Security.dll which might help with Mono 2.6.3 compatability issues (notwithstanding the sqlite problem)
2010-04-18 19:16:41 +01:00
Justin Clark-Casey (justincc)
c77444a821 Fix http://opensimulator.org/mantis/view.php?id=4657 where OpenSim.Grid.UserServer.exe fails on startup if no previous config
probably appears to occur because mono 2.4.2.3 (and possibly later) erroneously returns a value of 0 for BufferWidth and BufferHeight in some circumstances
2010-04-16 20:40:01 +01:00
Melanie Thielker
ccc56e6dd4 Merge branch 'master' into careminster-presence-refactor 2010-04-16 05:20:25 +02:00
Melanie
1636f535ba Committing sacha's partial work (from orpheus). The GridBrat needs to learn
a bit of git
2010-04-14 10:42:14 +01:00
Melanie
fac55bc78b Change ISnmpModule to use scene references 2010-04-14 01:17:27 +01:00
Melanie
4433f53f72 Drop unused Alert() method from ISnmpModule 2010-04-13 20:14:56 +01:00
Melanie
9920e219dd Merge branch 'careminster' into careminster-presence-refactor 2010-04-13 04:36:08 +01:00
Melanie
a1c4585a39 Merge branch '0.6.9-post-fixes' into careminster 2010-04-13 04:13:26 +01:00
Kitto Flora
9b6e89457c Fixed LINEAR_MOTOR Z drive, Mantis #30 2010-04-11 14:12:01 -04:00
lcc
7ecd9b3f1a Merge branch 'master' of ssh://3dhosting.de/var/git/careminster
resolved
Conflicts:
	OpenSim/Region/Framework/Interfaces/ISnmpModule.cs
2010-04-10 23:52:10 +02:00
lcc
c6ba50b7e2 Adding ColdStart event 2010-04-10 23:39:06 +02:00
Mike Rieker
0b2b2daf23 guarantee that a script engine's GetScriptErrors() will not be called
until after its OnRezScript() returns so that script compile error
messages can be retrieved
2010-04-10 14:43:26 -04:00
lcc
58dac970af re-fixing this darn file 2010-04-10 18:05:08 +02:00
lcc
c4eaf195b5 dding this deleted file... 2010-04-10 17:59:08 +02:00
lcc
d975bd8e5c Fixing Trap 2010-04-10 17:51:51 +02:00
Melanie
7701ea2798 Add Scene.SnmpService, which is of type ISnmpModule and, if nun-null, can
be used to send snmp alerts
2010-04-09 06:49:14 +01:00
John Hurliman
54cedfe432 Changed the GetTextureModule backport to work with the 0.6.9 codebase 2010-04-08 15:57:57 -07:00
John Hurliman
94a46867ed Added a missing reference to prebuild.xml 2010-04-08 15:38:58 -07:00
John Hurliman
c4c4c3696e Backported WebUtil.cs from master to 0.6.9-postfixes to fix the build break 2010-04-08 15:26:51 -07:00
John Hurliman
0f3314c04c Backported GetTextureModule and IAssetService.GetCached() 2010-04-08 15:00:01 -07:00
Thomas Grimshaw
d834a2c3da Implement cmGetAvatarList(). This returns a strided list of all avatars in the region, including their UUID, position and name. The radar is often the most taxing scripts on a sim, this function can help radars reduce their impact by 66% by eliminating the need for sensors. 2010-04-07 23:53:08 +02:00
Thomas Grimshaw
e80e04c5fd Increase the amount of time we wait for a teleport to complete. This allows teleportation to a remote region without a local connection to the asset server without timing out. 2010-04-07 22:59:13 +02:00
Thomas Grimshaw
309f440fc0 Fix llDialog responses so that they can be heard throughout the region. This now conforms to the behaviour in SL. ( http://bugs.meta7.com/view.php?id=13 ) 2010-04-07 10:13:47 +02:00
Thomas Grimshaw
db5ea850f6 Fix llLookAt so that it doesn't "roll" the object and more closely imitates the behaviour in SL. ( http://bugs.meta7.com/view.php?id=28 ) 2010-04-07 09:49:11 +02:00
Thomas Grimshaw
20e3de1f0a Add CHANGED_REGION_START (alias for CHANGED_REGION_RESTART as per LL Jira SVC-3773) 2010-04-07 08:28:57 +02:00
Thomas Grimshaw
335c1b4420 Implement PSYS_SRC_INNERANGLE and PSYS_SRC_OUTERANGLE 2010-04-07 07:48:26 +02:00
Kitto Flora
a97a887ea4 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2010-04-05 23:25:46 -04:00
Melanie Thielker
e40acda6c8 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2010-04-05 23:22:14 +02:00
Melanie Thielker
e7be131b89 Add the ISnmpModule interface definition to Careminster release 2010-04-05 23:20:56 +02:00
Thomas Grimshaw
fd4a059e9b Merge branch 'master' of ssh://TOR/var/git/careminster 2010-04-05 23:17:31 +02:00
Thomas Grimshaw
2f454843d8 Fix up my own shoddy code! Fixes prim rez break. Whups! 2010-04-05 23:17:06 +02:00
Melanie Thielker
a573b5767b Test commit 2010-04-05 22:31:30 +02:00
Melanie Thielker
5c04d768a6 Bump version number 2010-04-05 22:26:18 +02:00
Kitto Flora
4bf1598930 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2010-04-05 16:15:23 -04:00
Thomas Grimshaw
07b4889eab Merge branch 'master' of ssh://TOR/var/git/careminster 2010-04-05 22:11:11 +02:00
Thomas Grimshaw
7a3bb266eb This commit adds some randomness to object persistence. It's a Work In Progress, I am working on improving this to a tiered approach. 2010-04-05 22:11:05 +02:00
Thomas Grimshaw
f34cc6b469 Add a much cheaper agent count retrieval method. This is obsoleted by 0.7 so it can be reverted then. 2010-04-05 22:08:34 +02:00
Kitto Flora
9b9e2a8c71 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2010-04-05 15:27:13 -04:00
Melanie
2fbbc13c71 Fix some overlooked merge conflicts that got committed 2010-04-05 19:42:15 +01:00
Kitto Flora
35bf75a77a Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2010-04-05 14:08:57 -04:00
Melanie
ba31b31ed0 Merge branch 'careminster' into careminster-presence-refactor 2010-04-05 18:22:15 +01:00
Melanie
fe034dc3e4 Merge branch 'master' into careminster-presence-refactor 2010-04-05 18:12:29 +01:00
Melanie
f505c1d0a4 Merge branch 'master' of ssh://melanie@3dhosting.de/var/git/careminster into careminster 2010-04-05 18:10:49 +01:00
Melanie
04a68db195 Merge branch '0.6.9-post-fixes' into careminster 2010-04-05 18:10:36 +01:00
kitto
e2a521742a ChODE Only: Corrected Heightmap load to iliminate crack at 255M. Added 'fence' option to prevent physical objects crossing region border. 2010-04-04 22:57:32 -04:00
lcc
956225f0e1 Fixed Ban and parcel exclusion. Need to fix the parcel chat too 2010-04-04 18:29:18 +02:00
Melanie
4fefd05839 Merge branch 'master' into careminster-presence-refactor
Remerge the LightShare bits that were pushed to core
2010-03-31 04:38:19 +01:00
Melanie
7d917e7c5c Rename Meta7Windlight to LightShare 2010-03-30 23:29:03 +01:00
Melanie
5693870fe2 Merge branch 'master' into careminster-presence-refactor 2010-03-30 21:34:27 +01:00
Justin Clark-Casey (justincc)
18ed68cd31 add nant distbin target
this will delete all extraneous source code files and copy OpenSim.ini.example to OpenSim.ini
2010-03-26 20:47:26 +00:00
Justin Clark-Casey (justincc)
4d712ddaae comment out very probably unused dist and distdir nant targets 2010-03-26 19:36:21 +00:00
Justin Clark-Casey (justincc)
dd544f811a switch flavor to RC1 2010-03-26 19:09:09 +00:00
Melanie Thielker
e0b287961f Change land overlay to send group owned status properly 2010-03-23 17:04:37 +01:00
Kitto Flora
0f5fb6f190 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-03-19 19:14:09 -04:00
Kitto Flora
add47befac Update acceleration to 0 on no tphysical. 2010-03-19 18:53:16 -04:00
Kitto Flora
0e36994fe7 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2010-03-19 13:27:12 -04:00
Kitto Flora
3ea72eeabb Fix sit with autopilot. 2010-03-19 13:26:34 -04:00
Melanie
4c2a51b1b5 Merge branch 'master' into careminster-presence-refactor 2010-03-18 20:09:04 +00:00
Melanie
46d990419b Merge branch 'careminster' into careminster-presence-refactor 2010-03-18 20:00:58 +00:00
Melanie
69b5ddceda Unify a previous refactor of object return with the older solution. We
really don't need two methods doing the same thing, but differently.
2010-03-18 18:58:56 +00:00
Melanie
1a2cbbc8c1 Merge branch 'master' of ssh://melanie@3dhosting.de/var/git/careminster into careminster 2010-03-18 18:58:44 +00:00
Melanie
f35eb8819c Unify a previous refactor of object return with the older solution. We
really don't need two methods doing the same thing, but differently.
2010-03-18 18:58:37 +00:00
Kitto Flora
6df969894c Fix AbsolutePosition for autopilot/sit. 2010-03-17 13:30:48 -04:00
Thomas Grimshaw
e442c2a3f9 Prevent llTeleportAgentHome from affecting gods 2010-03-17 17:42:33 +01:00
Thomas Grimshaw
37815f3402 Debugger tags for VS2010 2010-03-16 18:13:00 +01:00
Melanie
a1cd3b5b88 Change GodLevel to UserLevel so gods can teleport freely without having
to enter god mode first
2010-03-15 17:54:39 +00:00
Melanie
d3f33acc1a Merge branch 'master' into careminster-presence-refactor 2010-03-15 17:23:35 +00:00
Melanie
898fa637c3 Merge branch 'careminster' into careminster-presence-refactor 2010-03-15 17:12:08 +00:00
Kitto Flora
8cbd0d3b5f Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2010-03-14 16:23:12 -04:00
Kitto Flora
8198062610 RotLookAt repaired; debug msg cleanup. 2010-03-14 16:22:13 -04:00
CasperW
80e4068b3e Fix the delay in llGiveInventory so that it only takes effect when giving inventory to an avatar (this now replicates SL behaviour) 2010-03-13 15:13:19 +01:00
Kitto Flora
1379ae4310 Fix Rotation Lock. NOTE: This version had poor border crossing control 2010-03-12 16:13:52 -05:00
Kitto Flora
7bd48d383d Resolved merge 2010-03-12 13:48:31 -05:00
Kitto Flora
f6f6ef1532 Dynamics Integration Part 1 2010-03-11 19:12:38 -05:00
Melanie
689514a40a Cache UserLevel in ScenePresence on SP creation. Change IsAdministrator
to use that stored value.
2010-03-09 23:12:10 +00:00
Melanie
40873504dc Merge branch 'master' into careminster-presence-refactor 2010-03-09 22:46:17 +00:00
unknown
fce9e499e4 - parcel blocking, region crossing blocking, teleport blocking 2010-03-09 22:38:58 +00:00
Melanie
80b5a95bb8 Revert "Adds Land Banning."
This reverts commit a87d7a1296.
2010-03-09 22:29:02 +00:00
Melanie
06e351f1ef Revert "Adds land ejection and freezing. Adds more checks to land banning."
This reverts commit 44d523518a.
2010-03-09 22:28:52 +00:00
Justin Clark-Casey (justincc)
4423630f1e remove milliseconds from console log again 2010-03-09 18:56:32 +00:00
Justin Clark-Casey (justincc)
5caae0293a Fix bug where approximately half the time, attachments would rez only their root prim until right clicked (or otherwise updated).
The root cause of this problem was that multiple ObjectUpdates were being sent on attachment which differed enough to confuse the client.
Sometimes these would eliminate each other and sometimes not, depending on whether the scheduler looked at the queued updates.
The solution here is to only schedule the ObjectUpdate once the attachment code has done all it needs to do.

Backport from head.
2010-03-09 18:53:04 +00:00
Melanie
49baf090cd Small consistency change 2010-03-07 16:08:00 +00:00
Melanie
c8c608acc8 Small consistency change 2010-03-07 16:07:40 +00:00
Melanie
3d053b194a Small consistency change 2010-03-07 16:06:52 +00:00
Melanie
8180c72cbc Merge branch 'master' into careminster-presence-refactor 2010-03-06 12:37:24 +00:00
Melanie
2fdd535302 Merge branch 'master' of ssh://melanie@3dhosting.de/var/git/careminster into careminster 2010-03-06 12:24:26 +00:00
Melanie
1f7a0cf892 Merge branch '0.6.9-post-fixes' into careminster 2010-03-06 12:24:09 +00:00
unknown
83929c69e3 - implementing server 1.38 functions
Signed-off-by: Melanie <melanie@t-data.com>
2010-03-06 11:59:16 +00:00
Kitto Flora
87590491b5 Fix Physics angular reference frame. 2010-03-04 16:33:26 -05:00
Melanie
107a0a4905 Merge branch 'master' into careminster-presence-refactor 2010-03-04 11:02:01 +00:00
Melanie
62dd83f473 Remove a superfluous array creation 2010-03-04 10:47:16 +00:00
Melanie
84b0a23e19 Remove a superfluous array creation 2010-03-04 10:45:46 +00:00
Melanie
7ec1a3fcad Merge branch 'master' into careminster-presence-refactor 2010-03-03 03:18:19 +00:00
Melanie
028a87fe37 Merge branch 'master' into careminster-presence-refactor
This brings careminster on the level of master. To be tested
2010-03-03 02:07:03 +00:00
Melanie
01c4bb4a5e Revert "test"
This reverts commit 2f0011c605.
2010-03-03 01:29:42 +00:00
Melanie
2f0011c605 test 2010-03-03 01:26:19 +00:00
CasperW
393a782858 Fix the crashed session notification from the userserver. 2010-02-25 18:05:30 +01:00
CasperW
7f61de8f57 Allow particles and texture anims to be persisted to XML. This behaviour is expected. 2010-02-25 14:14:53 +01:00
CasperW
e99341d7df llDie() should not work on attachments (results in an incosistent attachment state) 2010-02-25 12:07:56 +01:00
CasperW
efd4810851 Disable blocking teleports within the same parcel for now; it's not implemented correctly. Will review soon. 2010-02-25 12:04:51 +01:00
Melanie
92a8d7ce6c Merge branch 'master' of ssh://melanie@3dhosting.de/var/git/careminster into careminster 2010-02-16 23:15:59 +00:00
Melanie
d6eff8ebcf Change a condition to actually make linden land reclaim work 2010-02-16 23:14:57 +00:00
CasperW
af2d20c5fa Fix an inconsistency in llSetPayPrice between SL and OS behaviour 2010-02-15 22:22:36 +01:00
CasperW
47a9e48f46 Merge branch 'master' of ssh://TOR/var/git/careminster 2010-02-15 06:15:14 +01:00
CasperW
94c417c90c Implement missing llGetPrimitiveParams parameters 2010-02-15 06:10:04 +01:00
Melanie
ce3e265575 Plug a small hole 2010-02-15 00:06:03 +00:00
Melanie
b2fefe3e3f Merge branch 'master' of ssh://melanie@3dhosting.de/var/git/careminster into careminster 2010-02-14 22:27:59 +00:00
Melanie
2084e08ad7 Merge branch 'master' into careminster 2010-02-14 22:27:39 +00:00
Kitto Flora
9568718add Angular motor adjustments 2010-02-12 15:56:21 -05:00
Kitto Flora
6a70349512 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2010-02-12 14:08:32 -05:00
Melanie
0ad8046582 Resolve a merge issue 2010-02-08 22:44:17 +00:00
Melanie
ad38450f9c Merge branch 'master' of ssh://melanie@3dhosting.de/var/git/careminster into careminster 2010-02-08 22:43:53 +00:00
Melanie
c8f3bb56ff Merge branch 'master' into careminster 2010-02-08 22:11:38 +00:00
Kitto Flora
59851ceee6 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2010-02-08 14:29:06 -05:00
CasperW
044979066c Fix two inconsistencies with LightShare 2010-02-05 00:53:32 +01:00
Melanie
776d62b9c6 Merge branch 'master' into careminster 2010-02-04 17:29:33 +00:00
Melanie
ae9362636e Line endings cleanup 2010-02-04 17:00:16 +00:00
Kitto Flora
48134af616 Motor angular decay fix. 2010-02-03 16:20:13 -05:00
Kitto Flora
fc1ac25935 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2010-02-03 14:32:29 -05:00
Melanie
0f1a3f8ed2 Merge branch 'master' into careminster 2010-02-03 00:16:02 +00:00
Kitto Flora
8c20610293 AngMotor update 1 2010-02-02 13:28:42 -05:00
Melanie
d5ed92cf38 Merge branch 'master' into careminster 2010-02-02 03:56:29 +00:00
Melanie
6478617c93 Revert "improve locking of m_items in SceneObjectPartInventory"
This reverts commit 968b9e160d.
2010-02-02 03:49:00 +00:00
Melanie
0c5850237e Small fix for a spurious exception 2010-01-29 16:50:00 +00:00
Melanie
9e37d24624 Prevent empty ObjectProperties packets being sent 2010-01-29 11:47:45 +00:00
Melanie
44c86cedcf Resolve one more conflict I overlooked 2010-01-29 07:47:50 +00:00
Melanie
cfca9e1e81 Revert "Updates all IRegionModules to the new style region modules."
This reverts commit ec3c31e61e.
2010-01-29 07:20:13 +00:00
Melanie
5b9ca6e35f Merge branch 'master' into careminster 2010-01-28 14:38:46 +00:00
Revolution
862caa72a8 Fixes terrain editing. Changes ThrottleOutPacketType to task instead of land. 2010-01-28 03:04:38 +00:00
Melanie
2d9b69c186 Merge branch 'master' into careminster 2010-01-28 02:07:18 +00:00
Melanie
e9c9a74e0a Some merge fixups 2010-01-26 15:12:41 +00:00
Melanie
b80ea00265 Merge branch 'master' into careminster 2010-01-26 14:53:14 +00:00
Melanie
d2e17f4ffb Merge branch 'master' of ssh://melanie@3dhosting.de/var/git/careminster into careminster 2010-01-21 23:48:11 +00:00
Kitto Flora
1abb70cc73 Add glue for llSetVehicleFlags(), llRemoveVehicleFlags(). ChODE: Add associated methods. 2010-01-21 19:31:02 -05:00
Melanie
946e06eb58 Merge branch 'master' into careminster 2010-01-21 23:47:40 +00:00
Kitto Flora
66692f90e3 ChODE Object Linear Motion update 2010-01-21 14:39:11 -05:00
CasperW
a964431c21 Merge branch 'master' into casper 2010-01-20 22:19:14 +01:00
CasperW
496a8a4f7c Fixed an issue with PayPrice sometimes being shared between multiple objects 2010-01-20 22:14:43 +01:00
Careminster Staff
24056dc98b Adds example to OpenSim.ini.example for Admin Default Parcel settings 2010-01-19 01:46:50 +00:00
Melanie
6772c9d2b6 Comment the asset deletion handler. It can be abused and is not currently
needed.
2010-01-18 17:35:49 +00:00
Melanie
e3dbd79543 Merge branch 'master' into careminster 2010-01-18 17:24:21 +00:00
CasperW
d9c48e70a9 Fix a major security problem with osSetDynamicTexture which allowed the deletion of /any/ asset. 2010-01-18 17:56:27 +01:00
Melanie
51bb311565 Add chat banning. Staff patch 2010-01-18 02:53:31 +00:00
Melanie
f4e30664e6 Fix a typo 2010-01-18 01:55:54 +00:00
Careminster Staff
44d523518a Adds land ejection and freezing. Adds more checks to land banning. 2010-01-18 01:27:01 +00:00
Melanie
8c39392eaa Merge branch 'master' into careminster 2010-01-16 00:15:26 +00:00
Melanie
884410501e Allow renaming of items that contain no-mod items 2010-01-15 20:19:06 +00:00
Careminster Staff
a87d7a1296 Adds Land Banning. 2010-01-14 04:11:17 +00:00
Melanie
f0152790cf Merge branch 'master' into careminster 2010-01-14 01:20:07 +00:00
Melanie
8452c0869d Merge branch 'master' into careminster 2010-01-11 08:00:03 +00:00
Melanie
20e748205e Merge branch 'master' into careminster 2010-01-11 03:50:24 +00:00
Melanie
649d45a2d4 Merge branch 'master' into careminster 2010-01-11 02:04:58 +00:00
Melanie
0ae861d7d7 Merge branch 'master' into careminster 2010-01-11 02:01:23 +00:00
Melanie
511481e8d9 Merge branch 'master' into careminster 2010-01-10 19:59:49 +00:00
Melanie
1676e70dfe Merge branch 'master' into careminster 2010-01-10 04:16:06 +00:00
Melanie
46b5fe5acd Merge branch 'master' into careminster 2010-01-09 20:54:59 +00:00
Melanie
089f5403a7 Merge branch 'master' into careminster 2010-01-09 16:35:32 +00:00
Melanie
1597e33549 Merge branch 'master' into careminster 2010-01-09 15:59:33 +00:00
Melanie
121c6b4835 Merge branch 'master' into careminster 2010-01-09 15:34:58 +00:00
Melanie
a764eb5dc7 Merge branch 'master' into careminster 2010-01-09 14:21:50 +00:00
Melanie
d22bdb5095 Merge branch 'master' into careminster 2010-01-09 12:02:48 +00:00
Kitto Flora
a2aadb78a9 Maintain control() event stream 2010-01-08 23:12:11 -05:00
Kitto Flora
71adb37fa8 Fix llRotBetween 2010-01-07 23:58:19 -05:00
Kitto Flora
6591f8a592 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2010-01-07 23:04:28 -05:00
Melanie
3724a38ab4 Allow estate managers (if estate_owner_is_god is set) to actually enter
god mode. Allow god modification of objects if the object owner is the
same god that wants to modify, this allows you to regain perms on your
own objects after IAR import messed them up.
2010-01-05 15:39:53 +00:00
Melanie
54e6c26def Merge branch 'master' into careminster 2010-01-04 22:29:43 +00:00
Melanie
0907d5d69e Finish conversion if XInventoryService 2010-01-04 20:52:44 +00:00
Melanie
53d3f46add First stage port of the XInventoryService 2010-01-04 18:47:47 +00:00
Melanie
d657b76dba Merge branch 'master' into careminster 2010-01-04 06:17:38 +00:00
Kitto Flora
253e2ed699 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2010-01-03 23:10:01 -05:00
Melanie
1121919b57 Solve conflict 2010-01-03 22:02:36 +00:00
Melanie
61ce884336 Merge branch 'master' into careminster 2010-01-03 21:43:39 +00:00
Melanie
71fdc24f5c Add virtual method StateChange to ScriptBaseClass 2010-01-02 21:21:31 +01:00
Melanie
aa51b83fdc Merge branch 'master' into careminster 2009-12-31 23:31:45 +00:00
Melanie
b321c0a932 Merge branch 'master' into careminster 2009-12-31 21:53:39 +00:00
Kitto Flora
3f901d313b Vehicle Linear parameter adjustments 2009-12-31 16:07:36 -05:00
Melanie
67cfe34e67 Merge branch 'master' into careminster 2009-12-31 06:42:33 +00:00
Melanie
643cc7a0ee Merge branch 'master' into careminster 2009-12-31 04:53:05 +00:00
Melanie
b3cb99036c Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2009-12-31 06:21:03 +01:00
Melanie
9602227eb6 Add a small delay in NewAgentConnection to fix an issue with Hippo
(and possibly other cleints) getting their data mixed up.
2009-12-31 06:20:35 +01:00
Melanie
5e103f2b2e Revert "Merge branch 'master' into careminster"
This reverts commit d49d44923d.
2009-12-30 20:26:22 +00:00
Melanie
d49d44923d Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2009-12-30 20:25:57 +00:00
Melanie
cbe0841bc9 Revert "Merge branch 'master' into careminster"
This reverts commit 596af3f600.
2009-12-30 20:13:18 +00:00
Melanie
596af3f600 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2009-12-30 20:12:21 +00:00
Melanie
8f0d6d6b5c Fix an omission in LSL that causes a viewer crash 2009-12-30 00:37:28 +00:00
Melanie
a08360e3cd Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2009-12-30 00:27:34 +01:00
Melanie
06f639b8f3 Fix a timer list locking issue causing XMREngine deadlocks 2009-12-30 00:27:01 +01:00
Melanie
ba3dfe4121 Merge branch 'master' of ssh://melanie@3dhosting.de/var/git/careminster into careminster 2009-12-29 18:42:30 +00:00
Melanie
67cfac0cf1 Merge branch 'master' into careminster 2009-12-29 18:41:45 +00:00
Melanie
8ad8bd6282 Fix up the new Sirikata cient view 2009-12-27 17:52:27 +01:00
Melanie
045a44b1af One should not copy/paste so much :) 2009-12-27 16:07:59 +00:00
Melanie
d321d23afe Fix the spelling :/ 2009-12-27 16:03:00 +00:00
Melanie
e3f60ce06f Merge branch 'master' into careminster 2009-12-27 15:48:43 +00:00
CasperW
4b96a78039 Merge branch 'master' into casper 2009-12-27 07:11:21 +01:00
CasperW
19a5e606b3 Convert some remaining legacy lock()s for m_parts in SceneObjectGroup to ReaderWriteLockSlim, hopefully fixes a native crash 2009-12-27 07:08:16 +01:00
root
a18f4964cf Correct some issues with the last commit 2009-12-27 01:32:23 +01:00
Melanie
f5c310d9d4 Merge branch 'master' into careminster 2009-12-26 23:39:02 +00:00
CasperW
a6c93ce875 Make sure that we're not bounds checking attachments. 'Cos otherwise your hair will end up on your bum. Seen that before? 2009-12-26 22:55:18 +01:00
CasperW
1b8f91a0db Merge branch 'master' into casper 2009-12-26 18:17:55 +01:00
CasperW
7371c7662a Fix for landing points. Only one scenario is not fully covered by this change, and that is people who teleport from neighbouring regions, who won't get affected by the landing point. 2009-12-26 18:14:12 +01:00
Melanie
f3a4860635 Merge branch 'master' into careminster 2009-12-26 04:13:27 +00:00
root
43c303e27a Make the GenericTableHandler work as intended 2009-12-26 03:24:46 +01:00
Melanie
e51be5f4a7 Merge branch 'master' into careminster 2009-12-26 00:21:03 +00:00
Melanie
59f683066a Set version back to core version (base) and suffix CM. Please DO NOT CHANGE THIS
in the repo. This is the Caremninster repo and the number follows CORE. Always.
2009-12-25 23:23:49 +00:00
Melanie
b19e564317 Restore version suffix. 2009-12-25 23:20:30 +00:00
Melanie
e881f35fbb Merge branch 'master' of ssh://melanie@3dhosting.de/var/git/careminster into careminster 2009-12-25 23:20:08 +00:00
Melanie
59a841d69c Merge branch 'master' into careminster 2009-12-25 23:17:08 +00:00
Kitto Flora
e7439efc74 Recover out-of-region objects during db load. 2009-12-24 19:19:44 -05:00
Melanie
0054afd39b Merge branch 'master' into careminster 2009-12-24 16:45:27 +00:00
Melanie
7f699fca9a Add the body to the LSL List Size property 2009-12-24 18:18:14 +01:00
Melanie
e5e951d92c Merge branch 'master' into careminster 2009-12-24 00:45:53 +00:00
Melanie
5a653ef96f Merge branch 'master' into careminster 2009-12-23 23:10:34 +00:00
Melanie
165f193f78 Merge branch 'master' of ssh://melanie@3dhosting.de/var/git/careminster into careminster 2009-12-23 21:25:08 +00:00
Melanie
6eecbc95e4 Merge branch 'master' into careminster 2009-12-23 21:22:19 +00:00
CasperW
a9f4d7a29c Add a debugger tag to stop Visual Studio from breaking 2009-12-23 17:34:08 +01:00
CasperW
c54e0953d0 Merge branch 'master' of ssh://TOR/var/git/careminster 2009-12-23 14:15:27 +01:00
CasperW
b575bf2524 Added some null reference and deleted group checks to certain functions to fix region crash scenarios. 2009-12-23 14:14:20 +01:00
Melanie
30f59370d3 Merge branch 'master' into careminster 2009-12-22 15:48:41 +00:00
Melanie
73491cceed Merge branch 'master' into careminster 2009-12-22 15:37:24 +00:00
Melanie
28c7bb99bf Merge branch 'master' into careminster 2009-12-22 09:30:50 +00:00
Melanie
551727cd19 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2009-12-22 06:43:31 +01:00
Melanie
bde26a8282 Add missing file 2009-12-22 06:43:03 +01:00
Kitto Flora
11c4a2cfd0 Merge branch 'master' of ssh://3dhosting.de/var/git/careminster 2009-12-22 00:34:06 -05:00
Kitto Flora
93b930b937 Fix conflicts 2009-12-22 00:33:31 -05:00
root
b53b871669 Add a data path for error messages 2009-12-22 06:25:32 +01:00
Kitto Flora
0a29842caf Include ChOdePlugin 2009-12-22 00:20:04 -05:00
root
49fbe0ddb4 Should not commit without compiling 2009-12-22 03:26:47 +01:00
root
46fea74726 Jumped the gun... 2009-12-22 03:25:09 +01:00
root
69b551c516 Allow 100ms for scripts to run attach(NULL_KEY) on detach 2009-12-22 03:22:33 +01:00
Melanie
fa0621b486 Merge branch 'master' into careminster 2009-12-22 00:41:56 +00:00
Melanie
84a1a0a729 Merge branch 'master' into careminster 2009-12-21 22:07:22 +00:00
Melanie
b891291135 Merge branch 'master' into careminster 2009-12-21 15:02:57 +00:00
CasperW
d8d6e8a304 Merge branch 'master' into casper 2009-12-21 13:29:48 +01:00
CasperW
e3c1466047 Fixed a nasty crash in StandUp() that occurred when the part got killed with an avatar sitting on it. 2009-12-21 13:22:52 +01:00
Melanie
df30b1c832 Merge branch 'master' into careminster 2009-12-21 10:28:50 +00:00
Melanie
3d3e0ea4f3 Merge branch 'master' into careminster 2009-12-20 16:45:28 +00:00
CasperW
c7a457f9ee Merge branch 'casper' 2009-12-20 16:20:48 +01:00
CasperW
31bf25d05e Reverted my changes to jhurliman's packet stack since it currently causes more problems than it resolves. The stack DOES need a rework particularly with regards to priorities, but this is not it. 2009-12-20 16:18:43 +01:00
Kitto Flora
eecaa3d9dd Merge branch 'tests' 2009-12-19 20:00:00 -05:00
Kitto Flora
e38e8ae987 Fix mantis #10 & #14 2009-12-19 19:54:44 -05:00
CasperW
6dbe25360e Add cmSetWindlightSceneTargeted. Add restrictions on windlight script use. 2009-12-17 18:40:34 +01:00
Kitto Flora
6483470ec5 Fix GetWorldRotation(), and a host of related Sit fixes. 2009-12-17 02:54:02 -05:00
Kitto Flora
83fad75e22 Merge branch 'tests' 2009-12-16 18:59:46 -05:00
Kitto Flora
7cd44c1a81 Fix prim linking bug, Manis #14 2009-12-15 20:04:53 -05:00
Melanie
f8b6bc8d11 Merge branch 'master' into careminster 2009-12-15 15:46:18 +00:00
Kitto Flora
0020afaf67 Merge branch 'master' into tests 2009-12-15 06:01:59 -05:00
Kitto Flora
b8b4517211 Removed excessive call to UpdateMovementAnimations which prevented GroundSit; Corrected cause of 'sit on roof'. 2009-12-15 01:49:23 -05:00
Melanie
824d7190c2 Merge branch 'master' into careminster 2009-12-14 00:40:56 +00:00
Melanie
30d64444a0 And reverse 2009-12-12 16:01:53 +00:00
Melanie
9904700dfd Another whitespace test commit 2009-12-12 16:00:44 +00:00
Kitto Flora
49dbae65c9 Merge branch 'master' into tests 2009-12-12 10:14:06 -05:00
Kitto Flora
b056c243e4 Commit partial work because of repo change 2009-12-12 10:12:59 -05:00
Melanie
c00158b238 Reverse test commit (again) 2009-12-12 14:35:12 +00:00
Melanie
794419852b Another test 2009-12-12 14:23:20 +00:00
Melanie
fbafd22124 Reverse text commit whitespace change 2009-12-12 13:43:49 +00:00
Melanie
b9cd66d510 test commit 2009-12-12 13:33:45 +00:00
Melanie
b310efc50f Merge branch 'master' into careminster 2009-12-12 12:54:43 +00:00
Melanie
0fdf883cbd Merge branch 'master' into careminster 2009-12-12 04:56:28 +00:00
Melanie
1382dc976c Merge branch 'master' into careminster 2009-12-12 04:14:47 +00:00
Melanie
54e4dcf454 Merge branch 'master' into careminster 2009-12-11 02:49:41 +00:00
Melanie
f6b1344722 Refix the fix 2009-12-11 02:40:33 +00:00
grid
5ffd59e7b8 Kill a NRE caused by an error message trying to print unavailable data 2009-12-10 22:09:16 -05:00
Melanie
0889b5aef1 Fix version number 2009-12-10 18:20:40 +00:00
Melanie
59ca92b10b Merge branch 'tests' of kitto@tor.k-grid.com:/home/kitto/opensim into careminster 2009-12-10 18:17:29 +00:00
Melanie
956f337046 Merge branch 'careminster' of kitto@tor.k-grid.com:/home/kitto/opensim into careminster 2009-12-09 22:07:03 +00:00
CasperW
a6a6bf007a Move osFunctions into a new Careminster script interface 2009-12-09 23:28:00 +01:00
Melanie
2e9890bbe6 Merge branch 'careminster' of kitto@tor.k-grid.com:/home/kitto/opensim into careminster 2009-12-09 16:57:35 +00:00
Melanie
f2427a7320 Merge branch 'master' into careminster 2009-12-09 16:57:26 +00:00
CasperW
2a6dbd068e Last bits and bobs to clean up the Meta7WindlightModule 2009-12-09 03:58:56 +01:00
unknown
d092977f4a Windlight configuration option in ini, and migration 2009-12-09 01:53:41 +01:00
unknown
e3f229225c Enable scripting interface for windlight 2009-12-09 01:34:26 +01:00
KittoFlora
ee9d46c825 Correct AbsolutePosition calculation 2009-12-08 05:49:05 +01:00
unknown
dbd8c400ce Merge branch 'careminster' into windlight 2009-12-07 18:14:02 +01:00
unknown
29a740ec8c Initial windlight codebase commit 2009-12-07 18:05:40 +01:00
Melanie
c2d3afdeee Same for the remote auth connector 2009-12-07 14:31:20 +00:00
Melanie
9155c9ee37 Merge branch 'master' into careminster 2009-12-07 14:14:00 +00:00
KittoFlora
0d1d437bd3 Fix linked physical daughter prim position update. 2009-12-06 21:11:59 +01:00
CasperW
b15f20520f Merge branch 'careminster' of ssh://TOR/home/kitto/opensim/ into careminster 2009-12-06 17:23:22 +01:00
CasperW
172e2f4e76 Fix to existing ReaderWriterLockSlim implementations 2009-12-06 17:23:07 +01:00
Melanie
23cd1b1954 Revert "Make ObjectSelect packet processing not use FireAndForget"
This reverts commit cade14c58c.
2009-12-06 05:24:43 +00:00
Melanie
cade14c58c Make ObjectSelect packet processing not use FireAndForget 2009-12-06 05:14:17 +00:00
Melanie
1e222d52e6 Change EntityManager to use RWlocks 2009-12-06 03:56:15 +00:00
Melanie
f9ae9afaac Fix build break from conflicted merge 2009-12-06 03:10:34 +00:00
Melanie
09bbfc1d56 Merge branch 'master' into careminster 2009-12-06 03:01:58 +00:00
Melanie
79511ecce2 Experimental: Remove explicit property sends 2009-12-06 02:15:52 +00:00
Melanie
2fe75a62be Skip single prims in unlink selections 2009-12-06 02:00:32 +00:00
Melanie
da414fd509 Change locking to not mix explicit Monitor.* calls with lock() 2009-12-06 01:20:39 +00:00
Melanie
f2891e7738 Remove extra forced updates. They're not needed for each prim. Really. 2009-12-06 00:50:28 +00:00
Melanie
fbefa8273b Lock updates out while linking and unlinking 2009-12-06 00:25:04 +00:00
Melanie
ceccfe02d0 Eliminate multiple updates on link/unlink 2009-12-06 00:02:24 +00:00
Melanie
129de26032 Cause better packing of ObjectProperties 2009-12-05 23:25:30 +00:00
Melanie
43a6fa1d01 Merge branch 'master' into careminster 2009-12-05 19:53:54 +00:00
KittoFlora
cc8246206d Secnond revision of Sit and Stand for unscripted prims; Comment out
spammy debug messages in Interregion....
2009-12-05 09:03:02 +01:00
Melanie
551696bb45 Merge branch 'master' into careminster 2009-12-02 10:22:21 +00:00
Melanie
ded16d3529 Merge branch 'master' into careminster 2009-12-02 00:36:53 +00:00
CasperW
2e6dce434f Enforce physical prim max size on single prims.
Also convert a lock() to ReaderWriterLockSlim that i missed in the last commit
2009-11-30 21:52:55 +01:00
CasperW
9888f95068 Convert multiple lock()s which directly hinder script performance in linksets to ReaderWriterLockSlim. 2009-11-30 21:17:15 +01:00
Melanie
8bbb88ea4e Merge branch 'master' into careminster 2009-11-30 14:16:42 +00:00
Melanie
69d83e1548 Merge branch 'master' into careminster 2009-11-30 08:25:40 +00:00
Melanie
d3e7a52933 Merge branch 'master' into careminster 2009-11-28 09:26:00 +00:00
Melanie
aa695e92f7 Reset update flag when a SOG is deleted. This fixes llDie(); 2009-11-27 08:58:26 +00:00
Melanie
0ddd1ce0b7 Merge branch 'master' into careminster 2009-11-27 08:18:16 +00:00
Melanie
cc18ab12f8 Merge branch 'master' into careminster 2009-11-27 00:40:56 +00:00
root
2c3f6aaa87 Merge branch 'careminster' into tests 2009-11-26 20:41:38 +01:00
KittoFlora
5dedacca3c First attempt at mult-sit on large single prims. 2009-11-26 20:37:08 +01:00
Melanie
ad2f0a1290 Remove OS version crap from about dialog 2009-11-26 18:04:58 +00:00
Melanie
bd3b9f79c2 Update CM version 2009-11-26 17:59:28 +00:00
Melanie
ed148eba32 Merge branch 'master' into careminster 2009-11-26 17:45:09 +00:00
Melanie
06f41bb017 Merge branch 'master' into careminster 2009-11-26 17:27:03 +00:00
Melanie
a27d33cb63 Remove the old remoting-type interregion code for prim/script crossing 2009-11-26 13:13:56 +00:00
Melanie
22c325aa5a Remove GetAssemblyName and friends from the SE interface. It's now handled
internally
2009-11-26 13:13:48 +00:00
CasperW
ac2fcbe224 Improvements to rAdmin admin_shutdown and admin_restart. Both methods can now accept a parameter of noticetype = dialog in order to display a blue persistant dropdown instead of a short notice. Added an optional and configurable delay to the restart method, defaulting at 30 seconds as before. Both methods can also accept a noticetype = none dialog in order to act silently. 2009-11-26 15:17:44 +01:00
CasperW
63b6b9cdce Added animation support for my last commit 2009-11-26 02:35:27 +01:00
CasperW
de55110247 Merge branch 'careminster' into casper 2009-11-26 02:01:51 +01:00
CasperW
b9d22aa821 Add nudge right and left to avatar movement (faster reaction times when stepping left or right.) 2009-11-26 01:59:08 +01:00
Melanie
de927adf27 Add the dummy "Size" property to the list type 2009-11-25 20:01:21 +00:00
Melanie
79395bc7db Merge branch 'master' into careminster 2009-11-25 17:04:05 +00:00
Melanie
c81f37cf82 Change osTeleportAgent parameters from long to int. That numerical range is
not even supported by the underlying type, so there is no need to ask
for a type the script can not even supply.
2009-11-25 17:01:41 +00:00
Melanie
25b4160434 Merge branch 'master' into careminster 2009-11-25 08:45:41 +00:00
KittoFlora
32c464ad1f Fixed animation sequencing: SitHere, Falling, Stand/Walk etc. Login Init
Av Animation at Stand.
2009-11-25 08:03:09 +01:00
CasperW
d5aceb6d95 Append a prefix to the god avatar names appearing in chat whilst in god mode (disabled by default, config entry admin_prefix) 2009-11-24 23:33:12 +01:00
Melanie
81f7e9b462 Merge branch 'careminster' of kitto@tor.k-grid.com:/home/kitto/opensim into careminster 2009-11-24 16:00:45 +00:00
CasperW
8383bde768 Removed some extra debug chatter 2009-11-24 18:18:19 +01:00
CasperW
d114713694 Drop all locking of part.TaskInventory in favour of a ReaderWriterLockSlim lock handler. This gives us:
- Faster prim inventory actions. Multiple threads can read at once.
 - Fixes the known prim inventory thread locks
 - In the event of a thread lock occurring, it will usually self heal after sixty seconds with an error message in the console
2009-11-24 18:02:12 +01:00
Melanie
cad2bf5b08 Merge branch 'master' into careminster 2009-11-24 16:00:35 +00:00
CasperW
247c66b3fe Swap the locking of m_EventQueue and m_Script to ease locks on script inventory operations 2009-11-23 20:25:53 +01:00
CasperW
73c2162ff6 Fixed nullrefs 2009-11-23 19:51:40 +01:00
CasperW
889ce36afa Added some [DebuggerNonUserCode] modifiers to functions that throw EventAbortException() to ease debugging on Visual Studio 2009-11-23 17:59:24 +01:00
Melanie
c3d4b66953 Revert "testing checkout"
This reverts commit 234b29cf66.
2009-11-23 12:52:52 +00:00
unknown
234b29cf66 testing checkout 2009-11-23 14:59:39 +01:00
Melanie
31827b0286 Merge branch 'tests' of kitto@tor.k-grid.com:/home/kitto/opensim into careminster 2009-11-23 04:26:42 +00:00
Melanie
df121a7cd0 Merge branch 'master' into careminster 2009-11-23 04:24:58 +00:00
Melanie
03df03b269 Merge branch 'master' into careminster 2009-11-22 08:37:07 +00:00
KittoFlora
f1522e6204 Add non-scripted sit, fix scripted sit. 2009-11-22 08:31:35 +01:00
Melanie
87bce90086 Merge branch 'master' into careminster 2009-11-22 03:14:21 +00:00
CasperW
4a29a7f92c Minor packet ordering fix 2009-11-21 16:51:08 +00:00
CasperW
0149265ee8 Improved avatar responsiveness. 2009-11-21 16:50:33 +00:00
Melanie
0844e5951c Merge branch 'master' into careminster 2009-11-21 16:00:18 +00:00
KittoFlora
251d1b8fbb Merge branch 'careminster' into tests 2009-11-19 20:20:03 +01:00
KittoFlora
7f0f5060ec Clean up messages in ODE 2009-11-19 20:13:26 +01:00
Melanie
d179f2cce9 Merge branch 'master' into careminster 2009-11-19 17:53:34 +00:00
Melanie
5d0778014d Merge branch 'master' into careminster 2009-11-18 06:20:21 +00:00
KittoFlora
4c10826caa Fix merge conflicts 2009-11-16 02:12:56 +01:00
KittoFlora
873c9098d8 Merge branch 'careminster' into tests 2009-11-16 01:40:15 +01:00
Melanie
6ce5080049 Merge branch 'master' into careminster 2009-11-15 22:38:22 +00:00
Melanie
b9546d12f2 Change land packet sending back to what the careminster release used
to use, remove the silly spiral stuff. Revert to double packets for
improved user experience
2009-11-15 21:20:42 +00:00
Melanie
a49c524c9e Add the ability to send messages to users ir regions via remote admin 2009-11-15 20:22:15 +00:00
Melanie
b7f1fc116e Prevent a nullref if a recipient of a group message gas left the scene 2009-11-15 20:21:46 +00:00
unknown
28aa8010b2 - Lower TIME_MS_TOLERANCE to 200ms - Allow m_updateFlag to be reset to 0 in the event of a terse update being rejected - Re-add a synchronous SendTo for certain types of packets 2009-11-15 19:40:58 +00:00
KittoFlora
c09eb00031 Merge branch 'vehicles' into tests 2009-10-27 23:32:39 +01:00
KittoFlora
1113b3b6eb Merge branch 'vehicles' into tests
Conflicts:

	OpenSim/Region/Physics/Manager/PhysicsActor.cs
	OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
2009-10-27 22:42:55 +01:00
KittoFlora
a81a16f22f llRotLookAt Pt 2 2009-10-27 19:56:39 +01:00
KittoFlora
8428b25939 Add llRotLookat pt1. 2009-10-26 00:10:23 +01:00
293 changed files with 21783 additions and 6612 deletions

3
.gitignore vendored
View File

@@ -1,5 +1,6 @@
.project
.settings
.gitignore
*.csproj
*.csproj.user
*.build
@@ -10,6 +11,7 @@
*.pidb
*.dll.build
*.dll
*.log
*.VisualState.xml
*/*/obj
*/*/*/obj
@@ -23,6 +25,7 @@
*/*/*/*/*/bin
*/*/*/*/*/*/bin
*/*/*/*/*/*/*/bin
addon-modules/
bin/Debug/*.dll
bin/*.dll.mdb
bin/*.db

View File

@@ -2,37 +2,13 @@
<!-- please leave the top comment for us emacs folks -->
<property name="nunitcmd" value="nunit-console" />
<!-- This target produces a source distribution of OpenSimulator -->
<!-- TODO: A few parameters still need to be tweaked after running this - need to do this automatically with sed or similar -->
<target name="distsrc">
<!-- For safety/laziness sake, we're going to take the approach of deleting known extraneous files here rather than
trying to copy across only the essential ones -->
<property name="distbindir" value="distbin" />
<target name="distbin">
<copy file="bin/OpenSim.ini.example" tofile="bin/OpenSim.ini"/>
<copy file="bin/config-include/StandaloneCommon.ini.example" tofile="bin/config-include/StandaloneCommon.ini"/>
<copy file="bin/config-include/FlotsamCache.ini.example" tofile="bin/config-include/FlotsamCache.ini"/>
<!-- delete files generated by runprebuild.sh which had to be run in order to generate the build file for this target-->
<delete>
<fileset basedir="OpenSim">
<include name="**/*.build"/>
<include name="**/*.csproj*"/>
<include name="**/*.dll.build"/>
<include name="**/*.pidb"/>
<exclude name="Tools/OpenSim.32BitLaunch/**"/>
<exclude name="Tools/Robust.32BitLaunch/**"/>
<exclude name="Tools/LaunchSLClient/**"/>
</fileset>
</delete>
<delete>
<fileset>
<include name="OpenSim.build"/>
<include name="OpenSim.sln"/>
</fileset>
</delete>
</target>
<property name="distbindir" value="distbin" />
<!-- This target produces a binary directory called distbin/ in OpenSim/bin which contains everything needed for binary distribution -->
<!-- For safety/laziness sake, we're going to take the approach of deleting known extraneous files here rather than
trying to copy across only the essential ones -->
<target name="distbin">
<delete dir="${distbindir}"/>
<copy todir="${distbindir}">
<fileset>

View File

@@ -131,6 +131,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController
availableMethods["admin_region_query"] = (req, ep) => InvokeXmlRpcMethod(req, ep, XmlRpcRegionQueryMethod);
availableMethods["admin_shutdown"] = (req, ep) => InvokeXmlRpcMethod(req, ep, XmlRpcShutdownMethod);
availableMethods["admin_broadcast"] = (req, ep) => InvokeXmlRpcMethod(req, ep, XmlRpcAlertMethod);
availableMethods["admin_dialog"] = (req, ep) => InvokeXmlRpcMethod(req, ep, XmlRpcDialogMethod);
availableMethods["admin_restart"] = (req, ep) => InvokeXmlRpcMethod(req, ep, XmlRpcRestartMethod);
availableMethods["admin_load_heightmap"] = (req, ep) => InvokeXmlRpcMethod(req, ep, XmlRpcLoadHeightmapMethod);
availableMethods["admin_save_heightmap"] = (req, ep) => InvokeXmlRpcMethod(req, ep, XmlRpcSaveHeightmapMethod);
@@ -262,16 +263,70 @@ namespace OpenSim.ApplicationPlugins.RemoteController
Scene rebootedScene = null;
GetSceneFromRegionParams(requestData, responseData, out rebootedScene);
IRestartModule restartModule = rebootedScene.RequestModuleInterface<IRestartModule>();
responseData["success"] = false;
responseData["accepted"] = true;
responseData["rebooting"] = true;
IRestartModule restartModule = rebootedScene.RequestModuleInterface<IRestartModule>();
string message;
List<int> times = new List<int>();
if (requestData.ContainsKey("alerts"))
{
string[] alertTimes = requestData["alerts"].ToString().Split( new char[] {','});
if (alertTimes.Length == 1 && Convert.ToInt32(alertTimes[0]) == -1)
{
if (restartModule != null)
{
message = "Restart has been cancelled";
if (requestData.ContainsKey("message"))
message = requestData["message"].ToString();
restartModule.AbortRestart(message);
responseData["success"] = true;
responseData["rebooting"] = false;
return;
}
}
foreach (string a in alertTimes)
times.Add(Convert.ToInt32(a));
}
else
{
int timeout = 30;
if (requestData.ContainsKey("milliseconds"))
timeout = Int32.Parse(requestData["milliseconds"].ToString()) / 1000;
while (timeout > 0)
{
times.Add(timeout);
if (timeout > 300)
timeout -= 120;
else if (timeout > 30)
timeout -= 30;
else
timeout -= 15;
}
}
message = "Region is restarting in {0}. Please save what you are doing and log out.";
if (requestData.ContainsKey("message"))
message = requestData["message"].ToString();
bool notice = true;
if (requestData.ContainsKey("noticetype")
&& ((string)requestData["noticetype"] == "dialog"))
{
notice = false;
}
if (restartModule != null)
{
List<int> times = new List<int> { 30, 15 };
restartModule.ScheduleRestart(UUID.Zero, "Region will restart in {0}", times.ToArray(), true);
restartModule.ScheduleRestart(UUID.Zero, message, times.ToArray(), notice);
responseData["success"] = true;
}
}
@@ -310,6 +365,32 @@ namespace OpenSim.ApplicationPlugins.RemoteController
m_log.Info("[RADMIN]: Alert request complete");
}
public void XmlRpcDialogMethod(XmlRpcRequest request, XmlRpcResponse response, IPEndPoint remoteClient)
{
Hashtable responseData = (Hashtable)response.Value;
m_log.Info("[RADMIN]: Dialog request started");
Hashtable requestData = (Hashtable)request.Params[0];
string message = (string)requestData["message"];
string fromuuid = (string)requestData["from"];
m_log.InfoFormat("[RADMIN]: Broadcasting: {0}", message);
responseData["accepted"] = true;
responseData["success"] = true;
m_application.SceneManager.ForEachScene(
delegate(Scene scene)
{
IDialogModule dialogModule = scene.RequestModuleInterface<IDialogModule>();
if (dialogModule != null)
dialogModule.SendNotificationToUsersInRegion(UUID.Zero, fromuuid, message);
});
m_log.Info("[RADMIN]: Dialog request complete");
}
private void XmlRpcLoadHeightmapMethod(XmlRpcRequest request, XmlRpcResponse response, IPEndPoint remoteClient)
{
m_log.Info("[RADMIN]: Load height maps request started");
@@ -398,13 +479,32 @@ namespace OpenSim.ApplicationPlugins.RemoteController
message = "Region is going down now.";
}
m_application.SceneManager.ForEachScene(
if (requestData.ContainsKey("noticetype")
&& ((string) requestData["noticetype"] == "dialog"))
{
m_application.SceneManager.ForEachScene(
delegate(Scene scene)
{
IDialogModule dialogModule = scene.RequestModuleInterface<IDialogModule>();
if (dialogModule != null)
dialogModule.SendNotificationToUsersInRegion(UUID.Zero, "System", message);
});
}
else
{
if (!requestData.ContainsKey("noticetype")
|| ((string)requestData["noticetype"] != "none"))
{
m_application.SceneManager.ForEachScene(
delegate(Scene scene)
{
IDialogModule dialogModule = scene.RequestModuleInterface<IDialogModule>();
if (dialogModule != null)
dialogModule.SendGeneralAlert(message);
});
}
}
// Perform shutdown
System.Timers.Timer shutdownTimer = new System.Timers.Timer(timeout); // Wait before firing
@@ -1570,21 +1670,22 @@ namespace OpenSim.ApplicationPlugins.RemoteController
private void XmlRpcRegionQueryMethod(XmlRpcRequest request, XmlRpcResponse response, IPEndPoint remoteClient)
{
m_log.Info("[RADMIN]: Received Query XML Administrator Request");
Hashtable responseData = (Hashtable)response.Value;
Hashtable requestData = (Hashtable)request.Params[0];
responseData["success"] = true;
CheckRegionParams(requestData, responseData);
Scene scene = null;
GetSceneFromRegionParams(requestData, responseData, out scene);
int health = scene.GetHealth();
int flags;
string text;
int health = scene.GetHealth(out flags, out text);
responseData["health"] = health;
responseData["success"] = true;
m_log.Info("[RADMIN]: Query XML Administrator Request complete");
responseData["flags"] = flags;
responseData["message"] = text;
}
private void XmlRpcConsoleCommandMethod(XmlRpcRequest request, XmlRpcResponse response, IPEndPoint remoteClient)

View File

@@ -38,7 +38,7 @@ namespace OpenSim.Data
{
public abstract AssetBase GetAsset(UUID uuid);
public abstract void StoreAsset(AssetBase asset);
public abstract bool StoreAsset(AssetBase asset);
public abstract bool ExistsAsset(UUID uuid);
public abstract List<AssetMetadata> FetchAssetMetadataSet(int start, int count);

View File

@@ -34,7 +34,7 @@ namespace OpenSim.Data
public interface IAssetDataPlugin : IPlugin
{
AssetBase GetAsset(UUID uuid);
void StoreAsset(AssetBase asset);
bool StoreAsset(AssetBase asset);
bool ExistsAsset(UUID uuid);
List<AssetMetadata> FetchAssetMetadataSet(int start, int count);
void Initialise(string connect);

View File

@@ -50,5 +50,6 @@ namespace OpenSim.Data
bool Store(UserAccountData data);
bool Delete(string field, string val);
UserAccountData[] GetUsers(UUID scopeID, string query);
UserAccountData[] GetUsersWhere(UUID scopeID, string where);
}
}

View File

@@ -143,7 +143,7 @@ namespace OpenSim.Data.MSSQL
/// Create asset in m_database
/// </summary>
/// <param name="asset">the asset</param>
override public void StoreAsset(AssetBase asset)
override public bool StoreAsset(AssetBase asset)
{
string sql =
@@ -192,10 +192,12 @@ namespace OpenSim.Data.MSSQL
try
{
command.ExecuteNonQuery();
return true;
}
catch(Exception e)
{
m_log.Error("[ASSET DB]: Error storing item :" + e.Message);
return false;
}
}
}

View File

@@ -43,7 +43,7 @@ namespace OpenSim.Data.MSSQL
public class MSSQLAvatarData : MSSQLGenericTableHandler<AvatarBaseData>,
IAvatarData
{
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
public MSSQLAvatarData(string connectionString, string realm) :
base(connectionString, realm, "Avatar")

View File

@@ -89,11 +89,5 @@ namespace OpenSim.Data.MSSQL
return DoQuery(cmd);
}
}
public FriendsData[] GetFriends(Guid principalID)
{
return GetFriends(principalID.ToString());
}
}
}

View File

@@ -40,8 +40,8 @@ namespace OpenSim.Data.MSSQL
{
public class MSSQLGenericTableHandler<T> where T : class, new()
{
// private static readonly ILog m_log =
// LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private static readonly ILog m_log =
LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
protected string m_ConnectionString;
protected MSSQLManager m_database; //used for parameter type translation

View File

@@ -43,7 +43,7 @@ namespace OpenSim.Data.MSSQL
public class MSSQLGridUserData : MSSQLGenericTableHandler<GridUserData>,
IGridUserData
{
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
public MSSQLGridUserData(string connectionString, string realm) :
base(connectionString, realm, "GridUserStore")

View File

@@ -813,7 +813,7 @@ namespace OpenSim.Data.MSSQL
{
try
{
using (SqlCommand command = new SqlCommand("DELETE FROM inventoryfolders WHERE folderID=@folderID and type=-1", connection))
using (SqlCommand command = new SqlCommand("DELETE FROM inventoryfolders WHERE folderID=@folderID", connection))
{
command.Parameters.Add(database.CreateParameter("folderID", folderID));

View File

@@ -41,7 +41,7 @@ namespace OpenSim.Data.MSSQL
/// </summary>
public class MSSQLManager
{
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
/// <summary>
/// Connection string for ADO.net
@@ -180,6 +180,8 @@ namespace OpenSim.Data.MSSQL
return parameter;
}
private static readonly Dictionary<string, string> emptyDictionary = new Dictionary<string, string>();
/// <summary>
/// Checks if we need to do some migrations to the database
/// </summary>

View File

@@ -43,7 +43,7 @@ namespace OpenSim.Data.MSSQL
public class MSSQLPresenceData : MSSQLGenericTableHandler<PresenceData>,
IPresenceData
{
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
public MSSQLPresenceData(string connectionString, string realm) :
base(connectionString, realm, "Presence")

View File

@@ -675,7 +675,7 @@ VALUES
cmd.ExecuteNonQuery();
}
sql = "INSERT INTO [landaccesslist] ([LandUUID],[AccessUUID],[Flags],[Expires]) VALUES (@LandUUID,@AccessUUID,@Flags,@Expires)";
sql = "INSERT INTO [landaccesslist] ([LandUUID],[AccessUUID],[Flags]) VALUES (@LandUUID,@AccessUUID,@Flags)";
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand cmd = new SqlCommand(sql, conn))
@@ -1215,8 +1215,6 @@ VALUES
//Store new values
StoreNewRegionSettings(regionSettings);
LoadSpawnPoints(regionSettings);
return regionSettings;
}
@@ -1254,7 +1252,7 @@ VALUES
,[elevation_1_ne] = @elevation_1_ne ,[elevation_2_ne] = @elevation_2_ne ,[elevation_1_se] = @elevation_1_se ,[elevation_2_se] = @elevation_2_se
,[elevation_1_sw] = @elevation_1_sw ,[elevation_2_sw] = @elevation_2_sw ,[water_height] = @water_height ,[terrain_raise_limit] = @terrain_raise_limit
,[terrain_lower_limit] = @terrain_lower_limit ,[use_estate_sun] = @use_estate_sun ,[fixed_sun] = @fixed_sun ,[sun_position] = @sun_position
,[covenant] = @covenant ,[covenant_datetime] = @covenant_datetime, [sunvectorx] = @sunvectorx, [sunvectory] = @sunvectory, [sunvectorz] = @sunvectorz, [Sandbox] = @Sandbox, [loaded_creation_datetime] = @loaded_creation_datetime, [loaded_creation_id] = @loaded_creation_id, [map_tile_id] = @TerrainImageID, [telehubobject] = @telehubobject, [parcel_tile_id] = @ParcelImageID
,[covenant] = @covenant ,[covenant_datetime] = @covenant_datetime, [sunvectorx] = @sunvectorx, [sunvectory] = @sunvectory, [sunvectorz] = @sunvectorz, [Sandbox] = @Sandbox, [loaded_creation_datetime] = @loaded_creation_datetime, [loaded_creation_id] = @loaded_creation_id
WHERE [regionUUID] = @regionUUID";
using (SqlConnection conn = new SqlConnection(m_connectionString))
@@ -1265,7 +1263,6 @@ VALUES
cmd.ExecuteNonQuery();
}
}
SaveSpawnPoints(regionSettings);
}
public void Shutdown()
@@ -1386,11 +1383,6 @@ VALUES
newSettings.LoadedCreationID = "";
else
newSettings.LoadedCreationID = (String)row["loaded_creation_id"];
newSettings.TerrainImageID = new UUID((string)row["map_tile_ID"]);
newSettings.ParcelImageID = new UUID((Guid)row["parcel_tile_ID"]);
newSettings.TelehubObject = new UUID((Guid)row["TelehubObject"]);
return newSettings;
}
@@ -1462,13 +1454,6 @@ VALUES
}
newData.ParcelAccessList = new List<LandAccessEntry>();
newData.MediaDescription = (string)row["MediaDescription"];
newData.MediaType = (string)row["MediaType"];
newData.MediaWidth = Convert.ToInt32((((string)row["MediaSize"]).Split(','))[0]);
newData.MediaHeight = Convert.ToInt32((((string)row["MediaSize"]).Split(','))[1]);
newData.MediaLoop = Convert.ToBoolean(row["MediaLoop"]);
newData.ObscureMusic = Convert.ToBoolean(row["ObscureMusic"]);
newData.ObscureMedia = Convert.ToBoolean(row["ObscureMedia"]);
return newData;
}
@@ -1483,7 +1468,7 @@ VALUES
LandAccessEntry entry = new LandAccessEntry();
entry.AgentID = new UUID((Guid)row["AccessUUID"]);
entry.Flags = (AccessList)Convert.ToInt32(row["Flags"]);
entry.Expires = Convert.ToInt32(row["Expires"]);
entry.Expires = 0;
return entry;
}
@@ -1512,8 +1497,7 @@ VALUES
prim.TouchName = (string)primRow["TouchName"];
// permissions
prim.Flags = (PrimFlags)Convert.ToUInt32(primRow["ObjectFlags"]);
//prim.CreatorID = new UUID((Guid)primRow["CreatorID"]);
prim.CreatorIdentification = (string)primRow["CreatorID"];
prim.CreatorID = new UUID((Guid)primRow["CreatorID"]);
prim.OwnerID = new UUID((Guid)primRow["OwnerID"]);
prim.GroupID = new UUID((Guid)primRow["GroupID"]);
prim.LastOwnerID = new UUID((Guid)primRow["LastOwnerID"]);
@@ -1707,8 +1691,7 @@ VALUES
taskItem.Name = (string)inventoryRow["name"];
taskItem.Description = (string)inventoryRow["description"];
taskItem.CreationDate = Convert.ToUInt32(inventoryRow["creationDate"]);
//taskItem.CreatorID = new UUID((Guid)inventoryRow["creatorID"]);
taskItem.CreatorIdentification = (string)inventoryRow["creatorID"];
taskItem.CreatorID = new UUID((Guid)inventoryRow["creatorID"]);
taskItem.OwnerID = new UUID((Guid)inventoryRow["ownerID"]);
taskItem.LastOwnerID = new UUID((Guid)inventoryRow["lastOwnerID"]);
taskItem.GroupID = new UUID((Guid)inventoryRow["groupID"]);
@@ -1809,9 +1792,6 @@ VALUES
parameters.Add(_Database.CreateParameter("covenant_datetime", settings.CovenantChangedDateTime));
parameters.Add(_Database.CreateParameter("Loaded_Creation_DateTime", settings.LoadedCreationDateTime));
parameters.Add(_Database.CreateParameter("Loaded_Creation_ID", settings.LoadedCreationID));
parameters.Add(_Database.CreateParameter("TerrainImageID", settings.TerrainImageID));
parameters.Add(_Database.CreateParameter("ParcelImageID", settings.ParcelImageID));
parameters.Add(_Database.CreateParameter("TelehubObject", settings.TelehubObject));
return parameters.ToArray();
}
@@ -1879,7 +1859,6 @@ VALUES
parameters.Add(_Database.CreateParameter("LandUUID", parcelID));
parameters.Add(_Database.CreateParameter("AccessUUID", parcelAccessEntry.AgentID));
parameters.Add(_Database.CreateParameter("Flags", parcelAccessEntry.Flags));
parameters.Add(_Database.CreateParameter("Expires", parcelAccessEntry.Expires));
return parameters.ToArray();
}
@@ -2084,57 +2063,5 @@ VALUES
#endregion
#endregion
private void LoadSpawnPoints(RegionSettings rs)
{
rs.ClearSpawnPoints();
string sql = "SELECT Yaw, Pitch, Distance FROM spawn_points WHERE RegionUUID = @RegionUUID";
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.Add(_Database.CreateParameter("@RegionUUID", rs.RegionUUID.ToString()));
conn.Open();
using (SqlDataReader reader = cmd.ExecuteReader())
{
if (reader.Read())
{
SpawnPoint sp = new SpawnPoint();
sp.Yaw = (float)reader["Yaw"];
sp.Pitch = (float)reader["Pitch"];
sp.Distance = (float)reader["Distance"];
rs.AddSpawnPoint(sp);
}
}
}
}
private void SaveSpawnPoints(RegionSettings rs)
{
string sql = "DELETE FROM spawn_points WHERE RegionUUID = @RegionUUID";
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.Add(_Database.CreateParameter("@RegionUUID", rs.RegionUUID));
conn.Open();
cmd.ExecuteNonQuery();
}
foreach (SpawnPoint p in rs.SpawnPoints())
{
sql = "INSERT INTO spawn_points (RegionUUID, Yaw, Pitch, Distance) VALUES (@RegionUUID, @Yaw, @Pitch, @Distance)";
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.Add(_Database.CreateParameter("@RegionUUID", rs.RegionUUID));
cmd.Parameters.Add(_Database.CreateParameter("@Yaw", p.Yaw));
cmd.Parameters.Add(_Database.CreateParameter("@Pitch", p.Pitch));
cmd.Parameters.Add(_Database.CreateParameter("@Distance", p.Distance));
conn.Open();
cmd.ExecuteNonQuery();
}
}
}
}
}

View File

@@ -242,5 +242,10 @@ namespace OpenSim.Data.MSSQL
return DoQuery(cmd);
}
}
public UserAccountData[] GetUsersWhere(UUID scopeID, string where)
{
return null;
}
}
}

View File

@@ -40,8 +40,8 @@ namespace OpenSim.Data.MSSQL
{
public class MSSQLXInventoryData : IXInventoryData
{
// private static readonly ILog m_log = LogManager.GetLogger(
// MethodBase.GetCurrentMethod().DeclaringType);
private static readonly ILog m_log = LogManager.GetLogger(
MethodBase.GetCurrentMethod().DeclaringType);
private MSSQLGenericTableHandler<XInventoryFolder> m_Folders;
private MSSQLItemHandler m_Items;

View File

@@ -235,11 +235,4 @@ CREATE NONCLUSTERED INDEX IX_regions_name ON dbo.regions
regionName
) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
COMMIT
:VERSION 9
BEGIN TRANSACTION
ALTER TABLE regions ADD parcelMapTexture uniqueidentifier NULL;
COMMIT
COMMIT

View File

@@ -1044,93 +1044,10 @@ ALTER TABLE primitems ALTER COLUMN CreatorID uniqueidentifier NOT NULL
COMMIT
:VERSION 29 #----------------- Region Covenant changed time
:VERSION 29 #---------------------
BEGIN TRANSACTION
ALTER TABLE regionsettings ADD covenant_datetime int NOT NULL default 0
COMMIT
:VERSION 30 #------------------Migrate creatorID storage to varchars instead of UUIDs for HG support
BEGIN TRANSACTION
EXECUTE sp_rename N'dbo.prims.creatorid', N'creatoridold', 'COLUMN'
EXECUTE sp_rename N'dbo.primitems.creatorid', N'creatoridold', 'COLUMN'
COMMIT
:VERSION 31 #---------------------
BEGIN TRANSACTION
ALTER TABLE prims ADD CreatorID varchar(255)
ALTER TABLE primitems ADD CreatorID varchar(255)
COMMIT
:VERSION 32 #---------------------
BEGIN TRANSACTION
UPDATE prims SET prims.CreatorID = CONVERT(varchar(255), creatoridold)
UPDATE primitems SET primitems.CreatorID = CONVERT(varchar(255), creatoridold)
COMMIT
:VERSION 33 #---------------------
BEGIN TRANSACTION
ALTER TABLE prims
ADD CONSTRAINT DF_prims_CreatorIDNew
DEFAULT '00000000-0000-0000-0000-000000000000'
FOR CreatorID
ALTER TABLE prims ALTER COLUMN CreatorID varchar(255) NOT NULL
ALTER TABLE primitems
ADD CONSTRAINT DF_primitems_CreatorIDNew
DEFAULT '00000000-0000-0000-0000-000000000000'
FOR CreatorID
ALTER TABLE primitems ALTER COLUMN CreatorID varchar(255) NOT NULL
COMMIT
:VERSION 34 #--------------- Telehub support
BEGIN TRANSACTION
CREATE TABLE [dbo].[Spawn_Points](
[RegionUUID] [uniqueidentifier] NOT NULL,
[Yaw] [float] NOT NULL,
[Pitch] [float] NOT NULL,
[Distance] [float] NOT NULL,
PRIMARY KEY CLUSTERED
(
[RegionUUID] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
ALTER TABLE regionsettings ADD TelehubObject uniqueidentifier NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000';
COMMIT
:VERSION 35 #---------------- Parcels for sale
BEGIN TRANSACTION
ALTER TABLE regionsettings ADD parcel_tile_ID uniqueidentifier NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000';
COMMIT
:VERSION 36 #---------------- Timed bans/access
BEGIN TRANSACTION
ALTER TABLE landaccesslist ADD Expires integer NOT NULL DEFAULT 0;
COMMIT

View File

@@ -155,7 +155,7 @@ namespace OpenSim.Data.MySQL
/// </summary>
/// <param name="asset">Asset UUID to create</param>
/// <remarks>On failure : Throw an exception and attempt to reconnect to database</remarks>
override public void StoreAsset(AssetBase asset)
override public bool StoreAsset(AssetBase asset)
{
lock (m_dbLock)
{
@@ -203,12 +203,14 @@ namespace OpenSim.Data.MySQL
cmd.Parameters.AddWithValue("?data", asset.Data);
cmd.ExecuteNonQuery();
cmd.Dispose();
return true;
}
}
catch (Exception e)
{
m_log.ErrorFormat("[ASSET DB]: MySQL failure creating asset {0} with name \"{1}\". Error: {2}",
asset.FullID, asset.Name, e.Message);
return false;
}
}
}

View File

@@ -173,6 +173,11 @@ namespace OpenSim.Data.MySQL
int v = Convert.ToInt32(reader[name]);
m_Fields[name].SetValue(row, v);
}
else if (m_Fields[name].FieldType == typeof(uint))
{
uint v = Convert.ToUInt32(reader[name]);
m_Fields[name].SetValue(row, v);
}
else
{
m_Fields[name].SetValue(row, reader[name]);
@@ -294,4 +299,4 @@ namespace OpenSim.Data.MySQL
}
}
}
}
}

View File

@@ -66,7 +66,7 @@ namespace OpenSim.Data.MySQL
Initialise(connectionString);
}
public void Initialise(string connectionString)
public virtual void Initialise(string connectionString)
{
m_connectionString = connectionString;
@@ -113,7 +113,7 @@ namespace OpenSim.Data.MySQL
public void Dispose() {}
public void StoreObject(SceneObjectGroup obj, UUID regionUUID)
public virtual void StoreObject(SceneObjectGroup obj, UUID regionUUID)
{
uint flags = obj.RootPart.GetEffectiveObjectFlags();
@@ -241,7 +241,7 @@ namespace OpenSim.Data.MySQL
}
}
public void RemoveObject(UUID obj, UUID regionUUID)
public virtual void RemoveObject(UUID obj, UUID regionUUID)
{
// m_log.DebugFormat("[REGION DB]: Deleting scene object {0} from {1} in database", obj, regionUUID);
@@ -390,7 +390,7 @@ namespace OpenSim.Data.MySQL
}
}
public List<SceneObjectGroup> LoadObjects(UUID regionID)
public virtual List<SceneObjectGroup> LoadObjects(UUID regionID)
{
const int ROWS_PER_QUERY = 5000;
@@ -559,36 +559,51 @@ namespace OpenSim.Data.MySQL
}
}
public void StoreTerrain(double[,] ter, UUID regionID)
public virtual void StoreTerrain(double[,] ter, UUID regionID)
{
m_log.Info("[REGION DB]: Storing terrain");
lock (m_dbLock)
Util.FireAndForget(delegate(object x)
{
using (MySqlConnection dbcon = new MySqlConnection(m_connectionString))
double[,] oldTerrain = LoadTerrain(regionID);
m_log.Info("[REGION DB]: Storing terrain");
lock (m_dbLock)
{
dbcon.Open();
using (MySqlCommand cmd = dbcon.CreateCommand())
using (MySqlConnection dbcon = new MySqlConnection(m_connectionString))
{
cmd.CommandText = "delete from terrain where RegionUUID = ?RegionUUID";
cmd.Parameters.AddWithValue("RegionUUID", regionID.ToString());
dbcon.Open();
ExecuteNonQuery(cmd);
using (MySqlCommand cmd = dbcon.CreateCommand())
{
cmd.CommandText = "delete from terrain where RegionUUID = ?RegionUUID";
cmd.Parameters.AddWithValue("RegionUUID", regionID.ToString());
cmd.CommandText = "insert into terrain (RegionUUID, " +
"Revision, Heightfield) values (?RegionUUID, " +
"1, ?Heightfield)";
using (MySqlCommand cmd2 = dbcon.CreateCommand())
{
try
{
cmd2.CommandText = "insert into terrain (RegionUUID, " +
"Revision, Heightfield) values (?RegionUUID, " +
"1, ?Heightfield)";
cmd.Parameters.AddWithValue("Heightfield", SerializeTerrain(ter));
cmd2.Parameters.AddWithValue("RegionUUID", regionID.ToString());
cmd2.Parameters.AddWithValue("Heightfield", SerializeTerrain(ter, oldTerrain));
ExecuteNonQuery(cmd);
ExecuteNonQuery(cmd);
ExecuteNonQuery(cmd2);
}
catch (Exception e)
{
m_log.ErrorFormat(e.ToString());
}
}
}
}
}
}
});
}
public double[,] LoadTerrain(UUID regionID)
public virtual double[,] LoadTerrain(UUID regionID)
{
double[,] terrain = null;
@@ -638,7 +653,7 @@ namespace OpenSim.Data.MySQL
return terrain;
}
public void RemoveLandObject(UUID globalID)
public virtual void RemoveLandObject(UUID globalID)
{
lock (m_dbLock)
{
@@ -657,7 +672,7 @@ namespace OpenSim.Data.MySQL
}
}
public void StoreLandObject(ILandObject parcel)
public virtual void StoreLandObject(ILandObject parcel)
{
lock (m_dbLock)
{
@@ -714,7 +729,7 @@ namespace OpenSim.Data.MySQL
}
}
public RegionLightShareData LoadRegionWindlightSettings(UUID regionUUID)
public virtual RegionLightShareData LoadRegionWindlightSettings(UUID regionUUID)
{
RegionLightShareData nWP = new RegionLightShareData();
nWP.OnSave += StoreRegionWindlightSettings;
@@ -736,7 +751,7 @@ namespace OpenSim.Data.MySQL
{
//No result, so store our default windlight profile and return it
nWP.regionID = regionUUID;
StoreRegionWindlightSettings(nWP);
// StoreRegionWindlightSettings(nWP);
return nWP;
}
else
@@ -811,7 +826,7 @@ namespace OpenSim.Data.MySQL
return nWP;
}
public RegionSettings LoadRegionSettings(UUID regionUUID)
public virtual RegionSettings LoadRegionSettings(UUID regionUUID)
{
RegionSettings rs = null;
@@ -851,7 +866,7 @@ namespace OpenSim.Data.MySQL
return rs;
}
public void StoreRegionWindlightSettings(RegionLightShareData wl)
public virtual void StoreRegionWindlightSettings(RegionLightShareData wl)
{
using (MySqlConnection dbcon = new MySqlConnection(m_connectionString))
{
@@ -954,7 +969,7 @@ namespace OpenSim.Data.MySQL
}
}
public void RemoveRegionWindlightSettings(UUID regionID)
public virtual void RemoveRegionWindlightSettings(UUID regionID)
{
using (MySqlConnection dbcon = new MySqlConnection(m_connectionString))
{
@@ -969,7 +984,7 @@ namespace OpenSim.Data.MySQL
}
}
public void StoreRegionSettings(RegionSettings rs)
public virtual void StoreRegionSettings(RegionSettings rs)
{
lock (m_dbLock)
{
@@ -996,7 +1011,7 @@ namespace OpenSim.Data.MySQL
"use_estate_sun, fixed_sun, sun_position, " +
"covenant, covenant_datetime, Sandbox, sunvectorx, sunvectory, " +
"sunvectorz, loaded_creation_datetime, " +
"loaded_creation_id, map_tile_ID, " +
"loaded_creation_id, map_tile_ID, block_search, casino, " +
"TelehubObject, parcel_tile_ID) " +
"values (?RegionUUID, ?BlockTerraform, " +
"?BlockFly, ?AllowDamage, ?RestrictPushing, " +
@@ -1013,7 +1028,8 @@ namespace OpenSim.Data.MySQL
"?SunPosition, ?Covenant, ?CovenantChangedDateTime, ?Sandbox, " +
"?SunVectorX, ?SunVectorY, ?SunVectorZ, " +
"?LoadedCreationDateTime, ?LoadedCreationID, " +
"?TerrainImageID, ?TelehubObject, ?ParcelImageID) ";
"?TerrainImageID, ?block_search, ?casino, " +
"?TelehubObject, ?ParcelImageID)";
FillRegionSettingsCommand(cmd, rs);
@@ -1024,7 +1040,7 @@ namespace OpenSim.Data.MySQL
SaveSpawnPoints(rs);
}
public List<LandData> LoadLandObjects(UUID regionUUID)
public virtual List<LandData> LoadLandObjects(UUID regionUUID)
{
List<LandData> landData = new List<LandData>();
@@ -1304,6 +1320,9 @@ namespace OpenSim.Data.MySQL
newSettings.ParcelImageID = DBGuid.FromDB(row["parcel_tile_ID"]);
newSettings.TelehubObject = DBGuid.FromDB(row["TelehubObject"]);
newSettings.GodBlockSearch = Convert.ToBoolean(row["block_search"]);
newSettings.Casino = Convert.ToBoolean(row["casino"]);
return newSettings;
}
@@ -1401,7 +1420,7 @@ namespace OpenSim.Data.MySQL
/// </summary>
/// <param name="val"></param>
/// <returns></returns>
private static Array SerializeTerrain(double[,] val)
private static Array SerializeTerrain(double[,] val, double[,] oldTerrain)
{
MemoryStream str = new MemoryStream(((int)Constants.RegionSize * (int)Constants.RegionSize) *sizeof (double));
BinaryWriter bw = new BinaryWriter(str);
@@ -1410,7 +1429,11 @@ namespace OpenSim.Data.MySQL
for (int x = 0; x < (int)Constants.RegionSize; x++)
for (int y = 0; y < (int)Constants.RegionSize; y++)
{
double height = val[x, y];
double height = 20.0;
if (oldTerrain != null)
height = oldTerrain[x, y];
if (!double.IsNaN(val[x, y]))
height = val[x, y];
if (height == 0.0)
height = double.Epsilon;
@@ -1634,6 +1657,9 @@ namespace OpenSim.Data.MySQL
cmd.Parameters.AddWithValue("LoadedCreationDateTime", settings.LoadedCreationDateTime);
cmd.Parameters.AddWithValue("LoadedCreationID", settings.LoadedCreationID);
cmd.Parameters.AddWithValue("TerrainImageID", settings.TerrainImageID);
cmd.Parameters.AddWithValue("block_search", settings.GodBlockSearch);
cmd.Parameters.AddWithValue("casino", settings.Casino);
cmd.Parameters.AddWithValue("ParcelImageID", settings.ParcelImageID);
cmd.Parameters.AddWithValue("TelehubObject", settings.TelehubObject);
}
@@ -1794,7 +1820,7 @@ namespace OpenSim.Data.MySQL
cmd.Parameters.AddWithValue("Media", null == s.Media ? null : s.Media.ToXml());
}
public void StorePrimInventory(UUID primID, ICollection<TaskInventoryItem> items)
public virtual void StorePrimInventory(UUID primID, ICollection<TaskInventoryItem> items)
{
lock (m_dbLock)
{

View File

@@ -46,17 +46,21 @@ namespace OpenSim.Data.MySQL
{
string[] words = query.Split(new char[] {' '});
bool valid = false;
for (int i = 0 ; i < words.Length ; i++)
{
if (words[i].Length < 3)
{
if (i != words.Length - 1)
Array.Copy(words, i + 1, words, i, words.Length - i - 1);
Array.Resize(ref words, words.Length - 1);
}
if (words[i].Length > 2)
valid = true;
// if (words[i].Length < 3)
// {
// if (i != words.Length - 1)
// Array.Copy(words, i + 1, words, i, words.Length - i - 1);
// Array.Resize(ref words, words.Length - 1);
// }
}
if (words.Length == 0)
if ((!valid) || words.Length == 0)
return new UserAccountData[0];
if (words.Length > 2)
@@ -66,19 +70,34 @@ namespace OpenSim.Data.MySQL
if (words.Length == 1)
{
cmd.CommandText = String.Format("select * from {0} where (ScopeID=?ScopeID or ScopeID='00000000-0000-0000-0000-000000000000') and (FirstName like ?search or LastName like ?search)", m_Realm);
cmd.Parameters.AddWithValue("?search", "%" + words[0] + "%");
cmd.CommandText = String.Format("select * from {0} where (ScopeID=?ScopeID or ScopeID='00000000-0000-0000-0000-000000000000') and (FirstName like ?search or LastName like ?search) and active=1", m_Realm);
cmd.Parameters.AddWithValue("?search", words[0] + "%");
cmd.Parameters.AddWithValue("?ScopeID", scopeID.ToString());
}
else
{
cmd.CommandText = String.Format("select * from {0} where (ScopeID=?ScopeID or ScopeID='00000000-0000-0000-0000-000000000000') and (FirstName like ?searchFirst or LastName like ?searchLast)", m_Realm);
cmd.Parameters.AddWithValue("?searchFirst", "%" + words[0] + "%");
cmd.Parameters.AddWithValue("?searchLast", "%" + words[1] + "%");
cmd.CommandText = String.Format("select * from {0} where (ScopeID=?ScopeID or ScopeID='00000000-0000-0000-0000-000000000000') and (FirstName like ?searchFirst and LastName like ?searchLast) and active=1", m_Realm);
cmd.Parameters.AddWithValue("?searchFirst", words[0] + "%");
cmd.Parameters.AddWithValue("?searchLast", words[1] + "%");
cmd.Parameters.AddWithValue("?ScopeID", scopeID.ToString());
}
return DoQuery(cmd);
}
public UserAccountData[] GetUsersWhere(UUID scopeID, string where)
{
MySqlCommand cmd = new MySqlCommand();
if (scopeID != UUID.Zero)
{
where = "(ScopeID=?ScopeID or ScopeID='00000000-0000-0000-0000-000000000000') and (" + where + ")";
cmd.Parameters.AddWithValue("?ScopeID", scopeID.ToString());
}
cmd.CommandText = String.Format("select * from {0} where " + where, m_Realm);
return DoQuery(cmd);
}
}
}

View File

@@ -717,7 +717,7 @@ ALTER TABLE regionsettings ADD COLUMN loaded_creation_datetime int unsigned NOT
COMMIT;
:VERSION 32
:VERSION 32 #---------------------
BEGIN;
CREATE TABLE `regionwindlight` (
@@ -883,4 +883,3 @@ ALTER TABLE `regionsettings` MODIFY COLUMN `TelehubObject` VARCHAR(36) NOT NULL
COMMIT;

View File

@@ -193,5 +193,10 @@ namespace OpenSim.Data.Null
return false;
}
public UserAccountData[] GetUsersWhere(UUID scopeID, string where)
{
return null;
}
}
}

View File

@@ -472,95 +472,3 @@ COMMIT;
BEGIN;
ALTER TABLE regionsettings ADD COLUMN covenant_datetime INTEGER NOT NULL default 0;
COMMIT;
:VERSION 23
BEGIN;
CREATE TABLE regionwindlight (
region_id VARCHAR(36) NOT NULL DEFAULT '000000-0000-0000-0000-000000000000' PRIMARY KEY,
water_color_r FLOAT NOT NULL DEFAULT '4.000000',
water_color_g FLOAT NOT NULL DEFAULT '38.000000',
water_color_b FLOAT NOT NULL DEFAULT '64.000000',
water_color_i FLOAT NOT NULL DEFAULT '1.000000',
water_fog_density_exponent FLOAT NOT NULL DEFAULT '4.0',
underwater_fog_modifier FLOAT NOT NULL DEFAULT '0.25',
reflection_wavelet_scale_1 FLOAT NOT NULL DEFAULT '2.0',
reflection_wavelet_scale_2 FLOAT NOT NULL DEFAULT '2.0',
reflection_wavelet_scale_3 FLOAT NOT NULL DEFAULT '2.0',
fresnel_scale FLOAT NOT NULL DEFAULT '0.40',
fresnel_offset FLOAT NOT NULL DEFAULT '0.50',
refract_scale_above FLOAT NOT NULL DEFAULT '0.03',
refract_scale_below FLOAT NOT NULL DEFAULT '0.20',
blur_multiplier FLOAT NOT NULL DEFAULT '0.040',
big_wave_direction_x FLOAT NOT NULL DEFAULT '1.05',
big_wave_direction_y FLOAT NOT NULL DEFAULT '-0.42',
little_wave_direction_x FLOAT NOT NULL DEFAULT '1.11',
little_wave_direction_y FLOAT NOT NULL DEFAULT '-1.16',
normal_map_texture VARCHAR(36) NOT NULL DEFAULT '822ded49-9a6c-f61c-cb89-6df54f42cdf4',
horizon_r FLOAT NOT NULL DEFAULT '0.25',
horizon_g FLOAT NOT NULL DEFAULT '0.25',
horizon_b FLOAT NOT NULL DEFAULT '0.32',
horizon_i FLOAT NOT NULL DEFAULT '0.32',
haze_horizon FLOAT NOT NULL DEFAULT '0.19',
blue_density_r FLOAT NOT NULL DEFAULT '0.12',
blue_density_g FLOAT NOT NULL DEFAULT '0.22',
blue_density_b FLOAT NOT NULL DEFAULT '0.38',
blue_density_i FLOAT NOT NULL DEFAULT '0.38',
haze_density FLOAT NOT NULL DEFAULT '0.70',
density_multiplier FLOAT NOT NULL DEFAULT '0.18',
distance_multiplier FLOAT NOT NULL DEFAULT '0.8',
max_altitude INTEGER NOT NULL DEFAULT '1605',
sun_moon_color_r FLOAT NOT NULL DEFAULT '0.24',
sun_moon_color_g FLOAT NOT NULL DEFAULT '0.26',
sun_moon_color_b FLOAT NOT NULL DEFAULT '0.30',
sun_moon_color_i FLOAT NOT NULL DEFAULT '0.30',
sun_moon_position FLOAT NOT NULL DEFAULT '0.317',
ambient_r FLOAT NOT NULL DEFAULT '0.35',
ambient_g FLOAT NOT NULL DEFAULT '0.35',
ambient_b FLOAT NOT NULL DEFAULT '0.35',
ambient_i FLOAT NOT NULL DEFAULT '0.35',
east_angle FLOAT NOT NULL DEFAULT '0.00',
sun_glow_focus FLOAT NOT NULL DEFAULT '0.10',
sun_glow_size FLOAT NOT NULL DEFAULT '1.75',
scene_gamma FLOAT NOT NULL DEFAULT '1.00',
star_brightness FLOAT NOT NULL DEFAULT '0.00',
cloud_color_r FLOAT NOT NULL DEFAULT '0.41',
cloud_color_g FLOAT NOT NULL DEFAULT '0.41',
cloud_color_b FLOAT NOT NULL DEFAULT '0.41',
cloud_color_i FLOAT NOT NULL DEFAULT '0.41',
cloud_x FLOAT NOT NULL DEFAULT '1.00',
cloud_y FLOAT NOT NULL DEFAULT '0.53',
cloud_density FLOAT NOT NULL DEFAULT '1.00',
cloud_coverage FLOAT NOT NULL DEFAULT '0.27',
cloud_scale FLOAT NOT NULL DEFAULT '0.42',
cloud_detail_x FLOAT NOT NULL DEFAULT '1.00',
cloud_detail_y FLOAT NOT NULL DEFAULT '0.53',
cloud_detail_density FLOAT NOT NULL DEFAULT '0.12',
cloud_scroll_x FLOAT NOT NULL DEFAULT '0.20',
cloud_scroll_x_lock INTEGER NOT NULL DEFAULT '0',
cloud_scroll_y FLOAT NOT NULL DEFAULT '0.01',
cloud_scroll_y_lock INTEGER NOT NULL DEFAULT '0',
draw_classic_clouds INTEGER NOT NULL DEFAULT '1');
COMMIT;
:VERSION 24
BEGIN;
CREATE TABLE IF NOT EXISTS `spawn_points` (
`RegionID` varchar(36) NOT NULL DEFAULT '000000-0000-0000-0000-000000000000',
`Yaw` float NOT NULL,
`Pitch` float NOT NULL,
`Distance` float NOT NULL
);
ALTER TABLE `regionsettings` ADD COLUMN `TelehubObject` varchar(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000';
COMMIT;
:VERSION 25
BEGIN;
ALTER TABLE `regionsettings` ADD COLUMN `parcel_tile_ID` char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000';
COMMIT;

View File

@@ -81,9 +81,6 @@ namespace OpenSim.Data.SQLite
/// <param name="dbconnect">connect string</param>
override public void Initialise(string dbconnect)
{
if (Util.IsWindows())
Util.LoadArchSpecificWindowsDll("sqlite3.dll");
if (dbconnect == string.Empty)
{
dbconnect = "URI=file:Asset.db,version=3";
@@ -131,7 +128,7 @@ namespace OpenSim.Data.SQLite
/// Create an asset
/// </summary>
/// <param name="asset">Asset Base</param>
override public void StoreAsset(AssetBase asset)
override public bool StoreAsset(AssetBase asset)
{
//m_log.Info("[ASSET DB]: Creating Asset " + asset.FullID.ToString());
if (ExistsAsset(asset.FullID))
@@ -153,6 +150,7 @@ namespace OpenSim.Data.SQLite
cmd.Parameters.Add(new SqliteParameter(":Data", asset.Data));
cmd.ExecuteNonQuery();
return true;
}
}
}
@@ -173,6 +171,7 @@ namespace OpenSim.Data.SQLite
cmd.Parameters.Add(new SqliteParameter(":Data", asset.Data));
cmd.ExecuteNonQuery();
return true;
}
}
}

View File

@@ -65,9 +65,6 @@ namespace OpenSim.Data.SQLite
if (!m_initialized)
{
if (Util.IsWindows())
Util.LoadArchSpecificWindowsDll("sqlite3.dll");
m_Connection = new SqliteConnection(connectionString);
m_Connection.Open();

View File

@@ -69,9 +69,6 @@ namespace OpenSim.Data.SQLite
public void Initialise(string connectionString)
{
if (Util.IsWindows())
Util.LoadArchSpecificWindowsDll("sqlite3.dll");
m_connectionString = connectionString;
m_log.Info("[ESTATE DB]: Sqlite - connecting: "+m_connectionString);

View File

@@ -48,8 +48,6 @@ namespace OpenSim.Data.SQLite
protected SQLiteFramework(string connectionString)
{
if (Util.IsWindows())
Util.LoadArchSpecificWindowsDll("sqlite3.dll");
}
//////////////////////////////////////////////////////////////

View File

@@ -77,9 +77,6 @@ namespace OpenSim.Data.SQLite
{
m_Initialized = true;
if (Util.IsWindows())
Util.LoadArchSpecificWindowsDll("sqlite3.dll");
if (dbconnect == string.Empty)
{
dbconnect = "URI=file:inventoryStore.db,version=3";

File diff suppressed because it is too large Load Diff

View File

@@ -81,5 +81,10 @@ namespace OpenSim.Data.SQLite
return DoQuery(cmd);
}
public UserAccountData[] GetUsersWhere(UUID scopeID, string where)
{
return null;
}
}
}

View File

@@ -52,9 +52,6 @@ namespace OpenSim.Data.SQLite
public SQLiteXInventoryData(string conn, string realm)
{
if (Util.IsWindows())
Util.LoadArchSpecificWindowsDll("sqlite3.dll");
m_Folders = new SQLiteGenericTableHandler<XInventoryFolder>(
conn, "inventoryfolders", "XInventoryStore");
m_Items = new SqliteItemHandler(

View File

@@ -60,6 +60,8 @@ namespace OpenSim.Framework
/// </summary>
private AssetMetadata m_metadata;
private int m_uploadAttempts;
// This is needed for .NET serialization!!!
// Do NOT "Optimize" away!
public AssetBase()
@@ -198,6 +200,12 @@ namespace OpenSim.Framework
set { m_metadata.Type = value; }
}
public int UploadAttempts
{
get { return m_uploadAttempts; }
set { m_uploadAttempts = value; }
}
/// <summary>
/// Is this a region only asset, or does this exist on the asset server also
/// </summary>

View File

@@ -240,6 +240,21 @@ namespace OpenSim.Framework
// }
}
/// <summary>
/// Invalidate all of the baked textures in the appearance, useful
/// if you know that none are valid
/// </summary>
public virtual void ResetBakedTextures()
{
SetDefaultTexture();
//for (int i = 0; i < BAKE_INDICES.Length; i++)
// {
// int idx = BAKE_INDICES[i];
// m_texture.FaceTextures[idx].TextureID = UUID.Zero;
// }
}
protected virtual void SetDefaultTexture()
{
m_texture = new Primitive.TextureEntry(new UUID(AppearanceManager.DEFAULT_AVATAR_TEXTURE));
@@ -390,19 +405,18 @@ namespace OpenSim.Framework
/// </remarks>
public List<AvatarAttachment> GetAttachments()
{
List<AvatarAttachment> alist = new List<AvatarAttachment>();
lock (m_attachments)
{
List<AvatarAttachment> alist = new List<AvatarAttachment>();
foreach (KeyValuePair<int, List<AvatarAttachment>> kvp in m_attachments)
{
foreach (AvatarAttachment attach in kvp.Value)
alist.Add(new AvatarAttachment(attach));
}
}
return alist;
}
return alist;
} }
internal void AppendAttachment(AvatarAttachment attach)
{
@@ -531,7 +545,6 @@ namespace OpenSim.Framework
return kvp.Key;
}
}
return 0;
}
@@ -598,12 +611,14 @@ namespace OpenSim.Framework
OSDBinary visualparams = new OSDBinary(m_visualparams);
data["visualparams"] = visualparams;
// Attachments
List<AvatarAttachment> attachments = GetAttachments();
OSDArray attachs = new OSDArray(attachments.Count);
foreach (AvatarAttachment attach in GetAttachments())
attachs.Add(attach.Pack());
data["attachments"] = attachs;
lock (m_attachments)
{
// Attachments
OSDArray attachs = new OSDArray(m_attachments.Count);
foreach (AvatarAttachment attach in GetAttachments())
attachs.Add(attach.Pack());
data["attachments"] = attachs;
}
return data;
}

View File

@@ -363,7 +363,7 @@ namespace OpenSim.Framework.Communications
_request = (HttpWebRequest) WebRequest.Create(buildUri());
_request.KeepAlive = false;
_request.ContentType = "application/xml";
_request.Timeout = 900000;
_request.Timeout = 30000;
_request.Method = RequestMethod;
_asyncException = null;
_request.ContentLength = src.Length;

View File

@@ -58,6 +58,30 @@ namespace OpenSim.Framework
set { m_EstateName = value; }
}
private bool m_AllowLandmark = true;
public bool AllowLandmark
{
get { return m_AllowLandmark; }
set { m_AllowLandmark = value; }
}
private bool m_AllowParcelChanges = true;
public bool AllowParcelChanges
{
get { return m_AllowParcelChanges; }
set { m_AllowParcelChanges = value; }
}
private bool m_AllowSetHome = true;
public bool AllowSetHome
{
get { return m_AllowSetHome; }
set { m_AllowSetHome = value; }
}
private uint m_ParentEstateID = 1;
public uint ParentEstateID
@@ -338,11 +362,30 @@ namespace OpenSim.Framework
return false;
}
public bool IsBanned(UUID avatarID)
public bool IsBanned(UUID avatarID, int userFlags)
{
foreach (EstateBan ban in l_EstateBans)
if (ban.BannedUserID == avatarID)
return true;
if (!IsEstateManager(avatarID) && !HasAccess(avatarID))
{
if (DenyMinors)
{
if ((userFlags & 32) == 0)
{
return true;
}
}
if (DenyAnonymous)
{
if ((userFlags & 4) == 0)
{
return true;
}
}
}
return false;
}
@@ -350,7 +393,7 @@ namespace OpenSim.Framework
{
if (ban == null)
return;
if (!IsBanned(ban.BannedUserID))
if (!IsBanned(ban.BannedUserID, 32)) //Ignore age-based bans
l_EstateBans.Add(ban);
}
@@ -374,6 +417,15 @@ namespace OpenSim.Framework
return l_EstateAccess.Contains(user);
}
public void SetFromFlags(ulong regionFlags)
{
ResetHomeOnTeleport = ((regionFlags & (ulong)RegionFlags.ResetHomeOnTeleport) == (ulong)RegionFlags.ResetHomeOnTeleport);
BlockDwell = ((regionFlags & (ulong)RegionFlags.BlockDwell) == (ulong)RegionFlags.BlockDwell);
AllowLandmark = ((regionFlags & (ulong)RegionFlags.AllowLandmark) == (ulong)RegionFlags.AllowLandmark);
AllowParcelChanges = ((regionFlags & (ulong)RegionFlags.AllowParcelChanges) == (ulong)RegionFlags.AllowParcelChanges);
AllowSetHome = ((regionFlags & (ulong)RegionFlags.AllowSetHome) == (ulong)RegionFlags.AllowSetHome);
}
public bool GroupAccess(UUID groupID)
{
return l_EstateGroups.Contains(groupID);

View File

@@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Text;
using OpenMetaverse;
using OpenSim.Framework;
namespace OpenSim.Framework
{
public interface ICallingCardModule
{
UUID CreateCallingCard(UUID userID, UUID creatorID, UUID folderID);
}
}

View File

@@ -266,6 +266,9 @@ namespace OpenSim.Framework
public delegate void MoveInventoryItem(
IClientAPI remoteClient, List<InventoryItemBase> items);
public delegate void MoveItemsAndLeaveCopy(
IClientAPI remoteClient, List<InventoryItemBase> items, UUID destFolder);
public delegate void RemoveInventoryItem(
IClientAPI remoteClient, List<UUID> itemIDs);
@@ -441,6 +444,7 @@ namespace OpenSim.Framework
public delegate void ClassifiedInfoRequest(UUID classifiedID, IClientAPI client);
public delegate void ClassifiedInfoUpdate(UUID classifiedID, uint category, string name, string description, UUID parcelID, uint parentEstate, UUID snapshotID, Vector3 globalPos, byte classifiedFlags, int price, IClientAPI client);
public delegate void ClassifiedDelete(UUID classifiedID, IClientAPI client);
public delegate void ClassifiedGodDelete(UUID classifiedID, UUID queryID, IClientAPI client);
public delegate void EventNotificationAddRequest(uint EventID, IClientAPI client);
public delegate void EventNotificationRemoveRequest(uint EventID, IClientAPI client);
@@ -463,9 +467,9 @@ namespace OpenSim.Framework
public delegate void AgentFOV(IClientAPI client, float verticalAngle);
public delegate void MuteListEntryUpdate(IClientAPI client, UUID MuteID, string Name, int Flags,UUID AgentID);
public delegate void MuteListEntryUpdate(IClientAPI client, UUID MuteID, string Name, int type, uint flags);
public delegate void MuteListEntryRemove(IClientAPI client, UUID MuteID, string Name, UUID AgentID);
public delegate void MuteListEntryRemove(IClientAPI client, UUID MuteID, string Name);
public delegate void AvatarInterestReply(IClientAPI client,UUID target, uint wantmask, string wanttext, uint skillsmask, string skillstext, string languages);
@@ -503,6 +507,7 @@ namespace OpenSim.Framework
public delegate void SimWideDeletesDelegate(IClientAPI client,UUID agentID, int flags, UUID targetID);
public delegate void SendPostcard(IClientAPI client);
public delegate void ChangeInventoryItemFlags(IClientAPI client, UUID itemID, uint flags);
#endregion
@@ -857,6 +862,7 @@ namespace OpenSim.Framework
event RequestTaskInventory OnRequestTaskInventory;
event UpdateInventoryItem OnUpdateInventoryItem;
event CopyInventoryItem OnCopyInventoryItem;
event MoveItemsAndLeaveCopy OnMoveItemsAndLeaveCopy;
event MoveInventoryItem OnMoveInventoryItem;
event RemoveInventoryFolder OnRemoveInventoryFolder;
event RemoveInventoryItem OnRemoveInventoryItem;
@@ -975,7 +981,7 @@ namespace OpenSim.Framework
event ClassifiedInfoRequest OnClassifiedInfoRequest;
event ClassifiedInfoUpdate OnClassifiedInfoUpdate;
event ClassifiedDelete OnClassifiedDelete;
event ClassifiedDelete OnClassifiedGodDelete;
event ClassifiedGodDelete OnClassifiedGodDelete;
event EventNotificationAddRequest OnEventNotificationAddRequest;
event EventNotificationRemoveRequest OnEventNotificationRemoveRequest;
@@ -1014,6 +1020,7 @@ namespace OpenSim.Framework
event GroupVoteHistoryRequest OnGroupVoteHistoryRequest;
event SimWideDeletesDelegate OnSimWideDeletes;
event SendPostcard OnSendPostcard;
event ChangeInventoryItemFlags OnChangeInventoryItemFlags;
event MuteListEntryUpdate OnUpdateMuteListEntry;
event MuteListEntryRemove OnRemoveMuteListEntry;
event GodlikeMessage onGodlikeMessage;
@@ -1027,6 +1034,7 @@ namespace OpenSim.Framework
void InPacket(object NewPack);
void ProcessInPacket(Packet NewPack);
void Close();
void Close(bool sendStop);
void Kick(string message);
/// <summary>

View File

@@ -40,6 +40,7 @@ namespace OpenSim.Framework
bool AmountCovered(UUID agentID, int amount);
void ApplyCharge(UUID agentID, int amount, string text);
void ApplyUploadCharge(UUID agentID, int amount, string text);
void MoveMoney(UUID fromUser, UUID toUser, int amount, string text);
int UploadCharge { get; }
int GroupCreationCharge { get; }

View File

@@ -67,7 +67,7 @@ namespace OpenSim.Framework
private uint _flags = (uint) ParcelFlags.AllowFly | (uint) ParcelFlags.AllowLandmark |
(uint) ParcelFlags.AllowAPrimitiveEntry |
(uint) ParcelFlags.AllowDeedToGroup | (uint) ParcelFlags.AllowTerraform |
(uint) ParcelFlags.AllowDeedToGroup |
(uint) ParcelFlags.CreateObjects | (uint) ParcelFlags.AllowOtherScripts |
(uint) ParcelFlags.SoundLocal;

View File

@@ -27,7 +27,7 @@
namespace OpenSim.Framework
{
public enum ParcelMediaCommandEnum
public enum ParcelMediaCommandEnum : int
{
Stop = 0,
Pause = 1,

View File

@@ -244,13 +244,22 @@ namespace OpenSim.Framework
// The Mono addin manager (in Mono.Addins.dll version 0.2.0.0)
// occasionally seems to corrupt its addin cache
// Hence, as a temporary solution we'll remove it before each startup
string customDir = Environment.GetEnvironmentVariable ("MONO_ADDINS_REGISTRY");
string v0 = "addin-db-000";
string v1 = "addin-db-001";
if (customDir != null && customDir != String.Empty)
{
v0 = Path.Combine(customDir, v0);
v1 = Path.Combine(customDir, v1);
}
try
{
if (Directory.Exists("addin-db-000"))
Directory.Delete("addin-db-000", true);
if (Directory.Exists(v0))
Directory.Delete(v0, true);
if (Directory.Exists("addin-db-001"))
Directory.Delete("addin-db-001", true);
if (Directory.Exists(v1))
Directory.Delete(v1, true);
}
catch (IOException)
{

View File

@@ -720,7 +720,12 @@ namespace OpenSim.Framework
return _lightColorR;
}
set {
_lightColorR = value;
if (value < 0)
_lightColorR = 0;
else if (value > 1.0f)
_lightColorR = 1.0f;
else
_lightColorR = value;
}
}
@@ -729,7 +734,12 @@ namespace OpenSim.Framework
return _lightColorG;
}
set {
_lightColorG = value;
if (value < 0)
_lightColorG = 0;
else if (value > 1.0f)
_lightColorG = 1.0f;
else
_lightColorG = value;
}
}
@@ -738,7 +748,12 @@ namespace OpenSim.Framework
return _lightColorB;
}
set {
_lightColorB = value;
if (value < 0)
_lightColorB = 0;
else if (value > 1.0f)
_lightColorB = 1.0f;
else
_lightColorB = value;
}
}
@@ -747,7 +762,12 @@ namespace OpenSim.Framework
return _lightColorA;
}
set {
_lightColorA = value;
if (value < 0)
_lightColorA = 0;
else if (value > 1.0f)
_lightColorA = 1.0f;
else
_lightColorA = value;
}
}
@@ -1410,7 +1430,7 @@ namespace OpenSim.Framework
prim.Textures = this.Textures;
prim.Properties = new Primitive.ObjectProperties();
prim.Properties.Name = "Primitive";
prim.Properties.Name = "Object";
prim.Properties.Description = "";
prim.Properties.CreatorID = UUID.Zero;
prim.Properties.GroupID = UUID.Zero;

View File

@@ -40,6 +40,7 @@ using OpenMetaverse.StructuredData;
namespace OpenSim.Framework
{
[Serializable]
public class RegionLightShareData : ICloneable
{
public bool valid = false;
@@ -102,6 +103,7 @@ namespace OpenSim.Framework
public bool commFailTF = false;
public ConfigurationMember configMember;
public string DataStore = String.Empty;
public string RegionFile = String.Empty;
public bool isSandbox = false;
public bool Persistent = true;
@@ -643,6 +645,9 @@ namespace OpenSim.Framework
string location = String.Format("{0},{1}", m_regionLocX, m_regionLocY);
config.Set("Location", location);
if (DataStore != String.Empty)
config.Set("Datastore", DataStore);
config.Set("InternalAddress", m_internalEndPoint.Address.ToString());
config.Set("InternalPort", m_internalEndPoint.Port);
@@ -828,6 +833,9 @@ namespace OpenSim.Framework
case "sim_location_y":
m_regionLocY = (uint) configuration_result;
break;
case "datastore":
DataStore = (string) configuration_result;
break;
case "internal_ip_address":
IPAddress address = (IPAddress) configuration_result;
m_internalEndPoint = new IPEndPoint(address, 0);
@@ -978,6 +986,11 @@ namespace OpenSim.Framework
return regionInfo;
}
public int getInternalEndPointPort()
{
return m_internalEndPoint.Port;
}
public Dictionary<string, object> ToKeyValuePairs()
{
Dictionary<string, object> kvp = new Dictionary<string, object>();
@@ -996,4 +1009,4 @@ namespace OpenSim.Framework
return kvp;
}
}
}
}

View File

@@ -48,6 +48,9 @@ namespace OpenSim.Framework.RegionLoader.Web
public RegionInfo[] LoadRegions()
{
int tries = 3;
int wait = 2000;
if (m_configSource == null)
{
m_log.Error("[WEBLOADER]: Unable to load configuration source!");
@@ -66,63 +69,72 @@ namespace OpenSim.Framework.RegionLoader.Web
}
else
{
RegionInfo[] regionInfos = new RegionInfo[] {};
int regionCount = 0;
HttpWebRequest webRequest = (HttpWebRequest) WebRequest.Create(url);
webRequest.Timeout = 30000; //30 Second Timeout
m_log.DebugFormat("[WEBLOADER]: Sending download request to {0}", url);
while(tries > 0)
{
RegionInfo[] regionInfos = new RegionInfo[] {};
int regionCount = 0;
HttpWebRequest webRequest = (HttpWebRequest) WebRequest.Create(url);
webRequest.Timeout = 30000; //30 Second Timeout
m_log.DebugFormat("[WEBLOADER]: Sending download request to {0}", url);
try
{
HttpWebResponse webResponse = (HttpWebResponse) webRequest.GetResponse();
m_log.Debug("[WEBLOADER]: Downloading region information...");
StreamReader reader = new StreamReader(webResponse.GetResponseStream());
string xmlSource = String.Empty;
string tempStr = reader.ReadLine();
while (tempStr != null)
{
xmlSource = xmlSource + tempStr;
tempStr = reader.ReadLine();
}
m_log.Debug("[WEBLOADER]: Done downloading region information from server. Total Bytes: " +
xmlSource.Length);
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlSource);
if (xmlDoc.FirstChild.Name == "Regions")
{
regionCount = xmlDoc.FirstChild.ChildNodes.Count;
if (regionCount > 0)
{
regionInfos = new RegionInfo[regionCount];
int i;
for (i = 0; i < xmlDoc.FirstChild.ChildNodes.Count; i++)
{
m_log.Debug(xmlDoc.FirstChild.ChildNodes[i].OuterXml);
regionInfos[i] =
new RegionInfo("REGION CONFIG #" + (i + 1), xmlDoc.FirstChild.ChildNodes[i],false,m_configSource);
}
}
}
}
catch (WebException ex)
{
if (((HttpWebResponse)ex.Response).StatusCode == HttpStatusCode.NotFound)
{
if (!allowRegionless)
throw ex;
}
else
throw ex;
}
try
{
HttpWebResponse webResponse = (HttpWebResponse) webRequest.GetResponse();
m_log.Debug("[WEBLOADER]: Downloading region information...");
StreamReader reader = new StreamReader(webResponse.GetResponseStream());
string xmlSource = String.Empty;
string tempStr = reader.ReadLine();
while (tempStr != null)
{
xmlSource = xmlSource + tempStr;
tempStr = reader.ReadLine();
}
m_log.Debug("[WEBLOADER]: Done downloading region information from server. Total Bytes: " +
xmlSource.Length);
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlSource);
if (xmlDoc.FirstChild.Name == "Regions")
{
regionCount = xmlDoc.FirstChild.ChildNodes.Count;
if (regionCount > 0)
{
regionInfos = new RegionInfo[regionCount];
int i;
for (i = 0; i < xmlDoc.FirstChild.ChildNodes.Count; i++)
{
m_log.Debug(xmlDoc.FirstChild.ChildNodes[i].OuterXml);
regionInfos[i] =
new RegionInfo("REGION CONFIG #" + (i + 1), xmlDoc.FirstChild.ChildNodes[i],false,m_configSource);
}
}
}
}
catch (WebException ex)
{
if (((HttpWebResponse)ex.Response).StatusCode == HttpStatusCode.NotFound)
{
if (!allowRegionless)
throw ex;
}
else
throw ex;
}
if (regionCount > 0 | allowRegionless)
return regionInfos;
else
{
m_log.Error("[WEBLOADER]: No region configs were available.");
return null;
}
if (regionCount > 0 | allowRegionless)
return regionInfos;
m_log.Debug("[WEBLOADER]: Request yielded no regions.");
tries--;
if (tries > 0)
{
m_log.Debug("[WEBLOADER]: Retrying");
System.Threading.Thread.Sleep(wait);
}
}
m_log.Error("[WEBLOADER]: No region configs were available.");
return null;
}
}
}

View File

@@ -455,6 +455,28 @@ namespace OpenSim.Framework
set { m_LoadedCreationID = value; }
}
private bool m_GodBlockSearch = false;
public bool GodBlockSearch
{
get { return m_GodBlockSearch; }
set { m_GodBlockSearch = value; }
}
private bool m_Casino = false;
public bool Casino
{
get { return m_Casino; }
set { m_Casino = value; }
}
// Telehub support
private bool m_TelehubEnabled = false;
public bool HasTelehub
{
get { return m_TelehubEnabled; }
set { m_TelehubEnabled = value; }
}
// Connected Telehub object
private UUID m_TelehubObject;
public UUID TelehubObject

View File

@@ -49,16 +49,15 @@ namespace OpenSim.Framework.Serialization.External
/// <param name="nodeToFill"></param>
/// <param name="processors">/param>
/// <param name="xtr"></param>
/// <returns>true on successful, false if there were any processing failures</returns>
public static bool ExecuteReadProcessors<NodeType>(
public static void ExecuteReadProcessors<NodeType>(
NodeType nodeToFill, Dictionary<string, Action<NodeType, XmlTextReader>> processors, XmlTextReader xtr)
{
return ExecuteReadProcessors(
ExecuteReadProcessors(
nodeToFill,
processors,
xtr,
(o, name, e)
=> m_log.DebugFormat(
=> m_log.ErrorFormat(
"[ExternalRepresentationUtils]: Exception while parsing element {0}, continuing. Exception {1}{2}",
name, e.Message, e.StackTrace));
}
@@ -72,15 +71,12 @@ namespace OpenSim.Framework.Serialization.External
/// <param name="parseExceptionAction">
/// Action to take if there is a parsing problem. This will usually just be to log the exception
/// </param>
/// <returns>true on successful, false if there were any processing failures</returns>
public static bool ExecuteReadProcessors<NodeType>(
public static void ExecuteReadProcessors<NodeType>(
NodeType nodeToFill,
Dictionary<string, Action<NodeType, XmlTextReader>> processors,
XmlTextReader xtr,
Action<NodeType, string, Exception> parseExceptionAction)
{
bool errors = false;
string nodeName = string.Empty;
while (xtr.NodeType != XmlNodeType.EndElement)
{
@@ -99,7 +95,6 @@ namespace OpenSim.Framework.Serialization.External
}
catch (Exception e)
{
errors = true;
parseExceptionAction(nodeToFill, nodeName, e);
if (xtr.NodeType == XmlNodeType.EndElement)
@@ -112,8 +107,6 @@ namespace OpenSim.Framework.Serialization.External
xtr.ReadOuterXml(); // ignore
}
}
return errors;
}
/// <summary>
@@ -147,7 +140,6 @@ namespace OpenSim.Framework.Serialization.External
UUID.TryParse(node.InnerText, out uuid);
creator = userService.GetUserAccount(scopeID, uuid);
}
if (node.Name == "CreatorData" && node.InnerText != null && node.InnerText != string.Empty)
hasCreatorData = true;
@@ -171,6 +163,7 @@ namespace OpenSim.Framework.Serialization.External
doc.Save(wr);
return wr.ToString();
}
}
}
}
}

View File

@@ -247,7 +247,7 @@ namespace OpenSim.Framework.Servers
string reportFormat = "{0,6} {1,35} {2,16} {3,13} {4,10} {5,30}";
StringBuilder sb = new StringBuilder();
Watchdog.ThreadWatchdogInfo[] threads = Watchdog.GetThreadsInfo();
Watchdog.ThreadWatchdogInfo[] threads = Watchdog.GetThreads();
sb.Append(threads.Length + " threads are being tracked:" + Environment.NewLine);
@@ -304,13 +304,11 @@ namespace OpenSim.Framework.Servers
EnhanceVersionInformation();
m_log.Info("[STARTUP]: OpenSimulator version: " + m_version + Environment.NewLine);
m_log.Info("[STARTUP]: Careminster version: " + m_version + Environment.NewLine);
// clr version potentially is more confusing than helpful, since it doesn't tell us if we're running under Mono/MS .NET and
// the clr version number doesn't match the project version number under Mono.
//m_log.Info("[STARTUP]: Virtual machine runtime version: " + Environment.Version + Environment.NewLine);
m_log.InfoFormat(
"[STARTUP]: Operating system version: {0}, .NET platform {1}, {2}-bit\n",
Environment.OSVersion, Environment.OSVersion.Platform, Util.Is64BitProcess() ? "64" : "32");
m_log.Info("[STARTUP]: Operating system version: " + Environment.OSVersion + Environment.NewLine);
StartupSpecific();

View File

@@ -1539,11 +1539,34 @@ namespace OpenSim.Framework.Servers.HttpServer
internal void DoHTTPGruntWork(Hashtable responsedata, OSHttpResponse response)
{
//m_log.Info("[BASE HTTP SERVER]: Doing HTTP Grunt work with response");
int responsecode = (int)responsedata["int_response_code"];
string responseString = (string)responsedata["str_response_string"];
string contentType = (string)responsedata["content_type"];
int responsecode;
string responseString;
string contentType;
if (responsedata == null)
{
responsecode = 500;
responseString = "No response could be obtained";
contentType = "text/plain";
responsedata = new Hashtable();
}
else
{
try
{
//m_log.Info("[BASE HTTP SERVER]: Doing HTTP Grunt work with response");
responsecode = (int)responsedata["int_response_code"];
responseString = (string)responsedata["str_response_string"];
contentType = (string)responsedata["content_type"];
}
catch
{
responsecode = 500;
responseString = "No response could be obtained";
contentType = "text/plain";
responsedata = new Hashtable();
}
}
if (responsedata.ContainsKey("error_status_text"))
{

View File

@@ -65,7 +65,6 @@ namespace OpenSim.Framework.Servers.HttpServer
String.Format("PollServiceWorkerThread{0}", i),
ThreadPriority.Normal,
false,
true,
int.MaxValue);
}
@@ -74,7 +73,6 @@ namespace OpenSim.Framework.Servers.HttpServer
"PollServiceWatcherThread",
ThreadPriority.Normal,
false,
true,
1000 * 60 * 10);
}

View File

@@ -29,11 +29,11 @@ namespace OpenSim
{
public class VersionInfo
{
private const string VERSION_NUMBER = "0.7.3";
private const Flavour VERSION_FLAVOUR = Flavour.Post_Fixes;
private const string VERSION_NUMBER = "0.7.3CM";
private const Flavour VERSION_FLAVOUR = Flavour.Dev;
public enum Flavour
{
{
Unknown,
Dev,
RC1,
@@ -49,7 +49,7 @@ namespace OpenSim
public static string GetVersionString(string versionNumber, Flavour flavour)
{
string versionString = "OpenSim " + versionNumber + " " + flavour;
string versionString = "Careminster " + versionNumber + " " + flavour;
return versionString.PadRight(VERSIONINFO_VERSION_LENGTH);
}

View File

@@ -27,9 +27,13 @@
using System;
using System.Collections.Generic;
using System.Threading;
using System.Reflection;
using System.Xml;
using System.Diagnostics;
using System.Xml.Schema;
using System.Xml.Serialization;
using log4net;
using OpenMetaverse;
namespace OpenSim.Framework
@@ -45,6 +49,155 @@ namespace OpenSim.Framework
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private static XmlSerializer tiiSerializer = new XmlSerializer(typeof (TaskInventoryItem));
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private Thread LockedByThread;
private string WriterStack;
private Dictionary<Thread, string> ReadLockers =
new Dictionary<Thread, string>();
/// <value>
/// An advanced lock for inventory data
/// </value>
private System.Threading.ReaderWriterLockSlim m_itemLock = new System.Threading.ReaderWriterLockSlim();
/// <summary>
/// Are we readlocked by the calling thread?
/// </summary>
public bool IsReadLockedByMe()
{
if (m_itemLock.RecursiveReadCount > 0)
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// Lock our inventory list for reading (many can read, one can write)
/// </summary>
public void LockItemsForRead(bool locked)
{
if (locked)
{
if (m_itemLock.IsWriteLockHeld && LockedByThread != null)
{
if (!LockedByThread.IsAlive)
{
//Locked by dead thread, reset.
m_itemLock = new System.Threading.ReaderWriterLockSlim();
}
}
if (m_itemLock.RecursiveReadCount > 0)
{
m_log.Error("[TaskInventoryDictionary] Recursive read lock requested. This should not happen and means something needs to be fixed. For now though, it's safe to continue.");
try
{
StackTrace stackTrace = new StackTrace(); // get call stack
StackFrame[] stackFrames = stackTrace.GetFrames(); // get method calls (frames)
// write call stack method names
foreach (StackFrame stackFrame in stackFrames)
{
m_log.Error("[SceneObjectGroup.m_parts] "+(stackFrame.GetMethod().Name)); // write method name
}
}
catch
{}
m_itemLock.ExitReadLock();
}
if (m_itemLock.RecursiveWriteCount > 0)
{
m_log.Error("[TaskInventoryDictionary] Recursive write lock requested. This should not happen and means something needs to be fixed.");
m_itemLock.ExitWriteLock();
}
while (!m_itemLock.TryEnterReadLock(60000))
{
m_log.Error("Thread lock detected while trying to aquire READ lock in TaskInventoryDictionary. Locked by thread " + LockedByThread.Name + ". I'm going to try to solve the thread lock automatically to preserve region stability, but this needs to be fixed.");
if (m_itemLock.IsWriteLockHeld)
{
m_itemLock = new System.Threading.ReaderWriterLockSlim();
System.Console.WriteLine("------------------------------------------");
System.Console.WriteLine("My call stack:\n" + Environment.StackTrace);
System.Console.WriteLine("------------------------------------------");
System.Console.WriteLine("Locker's call stack:\n" + WriterStack);
System.Console.WriteLine("------------------------------------------");
LockedByThread = null;
ReadLockers.Clear();
}
}
}
else
{
if (m_itemLock.RecursiveReadCount>0)
{
m_itemLock.ExitReadLock();
}
}
}
/// <summary>
/// Lock our inventory list for writing (many can read, one can write)
/// </summary>
public void LockItemsForWrite(bool locked)
{
if (locked)
{
//Enter a write lock, wait indefinately for one to open.
if (m_itemLock.RecursiveReadCount > 0)
{
m_log.Error("[TaskInventoryDictionary] Recursive read lock requested. This should not happen and means something needs to be fixed. For now though, it's safe to continue.");
m_itemLock.ExitReadLock();
}
if (m_itemLock.RecursiveWriteCount > 0)
{
m_log.Error("[TaskInventoryDictionary] Recursive write lock requested. This should not happen and means something needs to be fixed.");
m_itemLock.ExitWriteLock();
}
while (!m_itemLock.TryEnterWriteLock(60000))
{
if (m_itemLock.IsWriteLockHeld)
{
m_log.Error("Thread lock detected while trying to aquire WRITE lock in TaskInventoryDictionary. Locked by thread " + LockedByThread.Name + ". I'm going to try to solve the thread lock automatically to preserve region stability, but this needs to be fixed.");
System.Console.WriteLine("------------------------------------------");
System.Console.WriteLine("My call stack:\n" + Environment.StackTrace);
System.Console.WriteLine("------------------------------------------");
System.Console.WriteLine("Locker's call stack:\n" + WriterStack);
System.Console.WriteLine("------------------------------------------");
}
else
{
m_log.Error("Thread lock detected while trying to aquire WRITE lock in TaskInventoryDictionary. Locked by a reader. I'm going to try to solve the thread lock automatically to preserve region stability, but this needs to be fixed.");
System.Console.WriteLine("------------------------------------------");
System.Console.WriteLine("My call stack:\n" + Environment.StackTrace);
System.Console.WriteLine("------------------------------------------");
foreach (KeyValuePair<Thread, string> kvp in ReadLockers)
{
System.Console.WriteLine("Locker name {0} call stack:\n" + kvp.Value, kvp.Key.Name);
System.Console.WriteLine("------------------------------------------");
}
}
m_itemLock = new System.Threading.ReaderWriterLockSlim();
ReadLockers.Clear();
}
LockedByThread = Thread.CurrentThread;
WriterStack = Environment.StackTrace;
}
else
{
if (m_itemLock.RecursiveWriteCount > 0)
{
m_itemLock.ExitWriteLock();
}
}
}
#region ICloneable Members
@@ -52,14 +205,13 @@ namespace OpenSim.Framework
{
TaskInventoryDictionary clone = new TaskInventoryDictionary();
lock (this)
m_itemLock.EnterReadLock();
foreach (UUID uuid in Keys)
{
foreach (UUID uuid in Keys)
{
clone.Add(uuid, (TaskInventoryItem) this[uuid].Clone());
}
clone.Add(uuid, (TaskInventoryItem) this[uuid].Clone());
}
m_itemLock.ExitReadLock();
return clone;
}

View File

@@ -68,6 +68,9 @@ namespace OpenSim.Framework
private UUID _loadedID = UUID.Zero;
private bool _ownerChanged = false;
// This used ONLY during copy. It can't be relied on at other times!
private bool _scriptRunning = true;
public UUID AssetID {
get {
@@ -340,6 +343,15 @@ namespace OpenSim.Framework
}
}
public bool ScriptRunning {
get {
return _scriptRunning;
}
set {
_scriptRunning = value;
}
}
// See ICloneable
#region ICloneable Members

View File

@@ -217,12 +217,12 @@ namespace OpenSim.Framework.Tests
BannedHostNameMask = string.Empty,
BannedUserID = bannedUserId}
);
Assert.IsTrue(es.IsBanned(bannedUserId), "User Should be banned but is not.");
Assert.IsFalse(es.IsBanned(UUID.Zero), "User Should not be banned but is.");
Assert.IsTrue(es.IsBanned(bannedUserId, 32), "User Should be banned but is not.");
Assert.IsFalse(es.IsBanned(UUID.Zero, 32), "User Should not be banned but is.");
es.RemoveBan(bannedUserId);
Assert.IsFalse(es.IsBanned(bannedUserId), "User Should not be banned but is.");
Assert.IsFalse(es.IsBanned(bannedUserId, 32), "User Should not be banned but is.");
es.AddEstateManager(UUID.Zero);

View File

@@ -35,8 +35,7 @@ using System.IO;
using System.IO.Compression;
using System.Net;
using System.Net.Sockets;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Reflection;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
using System.Security.Cryptography;
@@ -376,50 +375,6 @@ namespace OpenSim.Framework
}
return sb.ToString();
}
/// <summary>
/// Is the platform Windows?
/// </summary>
/// <returns>true if so, false otherwise</returns>
public static bool IsWindows()
{
PlatformID platformId = Environment.OSVersion.Platform;
return (platformId == PlatformID.Win32NT
|| platformId == PlatformID.Win32S
|| platformId == PlatformID.Win32Windows
|| platformId == PlatformID.WinCE);
}
public static bool LoadArchSpecificWindowsDll(string libraryName)
{
// We do this so that OpenSimulator on Windows loads the correct native library depending on whether
// it's running as a 32-bit process or a 64-bit one. By invoking LoadLibary here, later DLLImports
// will find it already loaded later on.
//
// This isn't necessary for other platforms (e.g. Mac OSX and Linux) since the DLL used can be
// controlled in config files.
string nativeLibraryPath;
if (Util.Is64BitProcess())
nativeLibraryPath = "lib64/" + libraryName;
else
nativeLibraryPath = "lib32/" + libraryName;
m_log.DebugFormat("[UTIL]: Loading native Windows library at {0}", nativeLibraryPath);
if (Util.LoadLibrary(nativeLibraryPath) == IntPtr.Zero)
{
m_log.ErrorFormat(
"[UTIL]: Couldn't find native Windows library at {0}", nativeLibraryPath);
return false;
}
else
{
return true;
}
}
public static bool IsEnvironmentSupported(ref string reason)
@@ -478,19 +433,25 @@ namespace OpenSim.Framework
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public static string Md5Hash(string data)
{
byte[] dataMd5 = ComputeMD5Hash(data);
return Md5Hash(data, Encoding.Default);
}
public static string Md5Hash(string data, Encoding encoding)
{
byte[] dataMd5 = ComputeMD5Hash(data, encoding);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < dataMd5.Length; i++)
sb.AppendFormat("{0:x2}", dataMd5[i]);
return sb.ToString();
}
private static byte[] ComputeMD5Hash(string data)
private static byte[] ComputeMD5Hash(string data, Encoding encoding)
{
MD5 md5 = MD5.Create();
return md5.ComputeHash(Encoding.Default.GetBytes(data));
return md5.ComputeHash(encoding.GetBytes(data));
}
/// <summary>
@@ -498,6 +459,12 @@ namespace OpenSim.Framework
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public static string SHA1Hash(string data, Encoding enc)
{
return SHA1Hash(enc.GetBytes(data));
}
public static string SHA1Hash(string data)
{
return SHA1Hash(Encoding.Default.GetBytes(data));
@@ -1102,19 +1069,19 @@ namespace OpenSim.Framework
{
string os = String.Empty;
if (Environment.OSVersion.Platform != PlatformID.Unix)
{
os = Environment.OSVersion.ToString();
}
else
{
os = ReadEtcIssue();
}
if (os.Length > 45)
{
os = os.Substring(0, 45);
}
// if (Environment.OSVersion.Platform != PlatformID.Unix)
// {
// os = Environment.OSVersion.ToString();
// }
// else
// {
// os = ReadEtcIssue();
// }
//
// if (os.Length > 45)
// {
// os = os.Substring(0, 45);
// }
return os;
}
@@ -1247,7 +1214,7 @@ namespace OpenSim.Framework
public static Guid GetHashGuid(string data, string salt)
{
byte[] hash = ComputeMD5Hash(data + salt);
byte[] hash = ComputeMD5Hash(data + salt, Encoding.Default);
//string s = BitConverter.ToString(hash);
@@ -1502,27 +1469,6 @@ namespace OpenSim.Framework
}
return data;
}
/// <summary>
/// Used to trigger an early library load on Windows systems.
/// </summary>
/// <remarks>
/// Required to get 32-bit and 64-bit processes to automatically use the
/// appropriate native library.
/// </remarks>
/// <param name="dllToLoad"></param>
/// <returns></returns>
[DllImport("kernel32.dll")]
public static extern IntPtr LoadLibrary(string dllToLoad);
/// <summary>
/// Determine whether the current process is 64 bit
/// </summary>
/// <returns>true if so, false if not</returns>
public static bool Is64BitProcess()
{
return IntPtr.Size == 8;
}
#region FireAndForget Threading Pattern

View File

@@ -72,11 +72,6 @@ namespace OpenSim.Framework
/// </summary>
public bool IsTimedOut { get; set; }
/// <summary>
/// Will this thread trigger the alarm function if it has timed out?
/// </summary>
public bool AlarmIfTimeout { get; set; }
public ThreadWatchdogInfo(Thread thread, int timeout)
{
Thread = thread;
@@ -117,13 +112,12 @@ namespace OpenSim.Framework
/// <param name="start">The method that will be executed in a new thread</param>
/// <param name="name">A name to give to the new thread</param>
/// <param name="priority">Priority to run the thread at</param>
/// <param name="isBackground">True to run this thread as a background thread, otherwise false</param>
/// <param name="alarmIfTimeout">Trigger an alarm function is we have timed out</param>
/// <param name="isBackground">True to run this thread as a background
/// thread, otherwise false</param>
/// <returns>The newly created Thread object</returns>
public static Thread StartThread(
ThreadStart start, string name, ThreadPriority priority, bool isBackground, bool alarmIfTimeout)
public static Thread StartThread(ThreadStart start, string name, ThreadPriority priority, bool isBackground)
{
return StartThread(start, name, priority, isBackground, alarmIfTimeout, WATCHDOG_TIMEOUT_MS);
return StartThread(start, name, priority, isBackground, WATCHDOG_TIMEOUT_MS);
}
/// <summary>
@@ -134,21 +128,21 @@ namespace OpenSim.Framework
/// <param name="priority">Priority to run the thread at</param>
/// <param name="isBackground">True to run this thread as a background
/// thread, otherwise false</param>
/// <param name="alarmIfTimeout">Trigger an alarm function is we have timed out</param>
/// <param name="timeout">Number of milliseconds to wait until we issue a warning about timeout.</param>
/// <param name="timeout">
/// Number of milliseconds to wait until we issue a warning about timeout.
/// </para>
/// <returns>The newly created Thread object</returns>
public static Thread StartThread(
ThreadStart start, string name, ThreadPriority priority, bool isBackground, bool alarmIfTimeout, int timeout)
ThreadStart start, string name, ThreadPriority priority, bool isBackground, int timeout)
{
Thread thread = new Thread(start);
thread.Name = name;
thread.Priority = priority;
thread.IsBackground = isBackground;
ThreadWatchdogInfo twi = new ThreadWatchdogInfo(thread, timeout) { AlarmIfTimeout = alarmIfTimeout };
ThreadWatchdogInfo twi = new ThreadWatchdogInfo(thread, timeout);
m_log.DebugFormat(
"[WATCHDOG]: Started tracking thread {0}, ID {1}", twi.Thread.Name, twi.Thread.ManagedThreadId);
m_log.Debug("[WATCHDOG]: Started tracking thread \"" + twi.Thread.Name + "\" (ID " + twi.Thread.ManagedThreadId + ")");
lock (m_threads)
m_threads.Add(twi.Thread.ManagedThreadId, twi);
@@ -230,76 +224,46 @@ namespace OpenSim.Framework
/// Get currently watched threads for diagnostic purposes
/// </summary>
/// <returns></returns>
public static ThreadWatchdogInfo[] GetThreadsInfo()
public static ThreadWatchdogInfo[] GetThreads()
{
lock (m_threads)
return m_threads.Values.ToArray();
}
/// <summary>
/// Return the current thread's watchdog info.
/// </summary>
/// <returns>The watchdog info. null if the thread isn't being monitored.</returns>
public static ThreadWatchdogInfo GetCurrentThreadInfo()
{
lock (m_threads)
{
if (m_threads.ContainsKey(Thread.CurrentThread.ManagedThreadId))
return m_threads[Thread.CurrentThread.ManagedThreadId];
}
return null;
}
/// <summary>
/// Check watched threads. Fire alarm if appropriate.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private static void WatchdogTimerElapsed(object sender, System.Timers.ElapsedEventArgs e)
{
WatchdogTimeout callback = OnWatchdogTimeout;
if (callback != null)
{
List<ThreadWatchdogInfo> callbackInfos = null;
ThreadWatchdogInfo timedOut = null;
lock (m_threads)
{
int now = Environment.TickCount & Int32.MaxValue;
int now = Environment.TickCount;
foreach (ThreadWatchdogInfo threadInfo in m_threads.Values)
{
if (threadInfo.Thread.ThreadState == ThreadState.Stopped)
{
timedOut = threadInfo;
RemoveThread(threadInfo.Thread.ManagedThreadId);
if (callbackInfos == null)
callbackInfos = new List<ThreadWatchdogInfo>();
callbackInfos.Add(threadInfo);
break;
}
else if (!threadInfo.IsTimedOut && now - threadInfo.LastTick >= threadInfo.Timeout)
{
threadInfo.IsTimedOut = true;
if (threadInfo.AlarmIfTimeout)
{
if (callbackInfos == null)
callbackInfos = new List<ThreadWatchdogInfo>();
callbackInfos.Add(threadInfo);
}
timedOut = threadInfo;
break;
}
}
}
if (callbackInfos != null)
foreach (ThreadWatchdogInfo callbackInfo in callbackInfos)
callback(callbackInfo.Thread, callbackInfo.LastTick);
if (timedOut != null)
callback(timedOut.Thread, timedOut.LastTick);
}
m_watchdogTimer.Start();
}
}
}
}

View File

@@ -243,6 +243,7 @@ namespace OpenSim.Framework
catch (Exception ex)
{
errorMessage = ex.Message;
m_log.Debug("[WEB UTIL]: Exception making request: " + ex.ToString());
}
finally
{
@@ -309,7 +310,7 @@ namespace OpenSim.Framework
/// </summary>
public static OSDMap PostToService(string url, NameValueCollection data)
{
return ServiceFormRequest(url,data,10000);
return ServiceFormRequest(url,data, 20000);
}
public static OSDMap ServiceFormRequest(string url, NameValueCollection data, int timeout)
@@ -922,12 +923,19 @@ namespace OpenSim.Framework
/// <exception cref="System.Net.WebException">Thrown if we encounter a network issue while posting
/// the request. You'll want to make sure you deal with this as they're not uncommon</exception>
public static TResponse MakeRequest<TRequest, TResponse>(string verb, string requestUrl, TRequest obj)
{
return MakeRequest<TRequest, TResponse>(verb, requestUrl, obj, 0);
}
public static TResponse MakeRequest<TRequest, TResponse>(string verb, string requestUrl, TRequest obj, int pTimeout)
{
Type type = typeof(TRequest);
TResponse deserial = default(TResponse);
WebRequest request = WebRequest.Create(requestUrl);
request.Method = verb;
if (pTimeout != 0)
request.Timeout = pTimeout * 1000;
if ((verb == "POST") || (verb == "PUT"))
{

View File

@@ -484,7 +484,7 @@ namespace OpenSim
if (alert != null)
presence.ControllingClient.Kick(alert);
else
presence.ControllingClient.Kick("\nThe OpenSim manager kicked you out.\n");
presence.ControllingClient.Kick("\nYou have been logged out by an administrator.\n");
// ...and close on our side
presence.Scene.IncomingCloseAgent(presence.UUID);
@@ -1228,7 +1228,7 @@ namespace OpenSim
MainConsole.Instance.Output(String.Format("loadOffsets <X,Y,Z> = <{0},{1},{2}>",loadOffset.X,loadOffset.Y,loadOffset.Z));
}
}
m_sceneManager.LoadCurrentSceneFromXml(cmdparams[2], generateNewIDS, loadOffset);
m_sceneManager.LoadCurrentSceneFromXml(cmdparams[0], generateNewIDS, loadOffset);
}
else
{

View File

@@ -93,6 +93,10 @@ namespace OpenSim
protected List<IApplicationPlugin> m_plugins = new List<IApplicationPlugin>();
private List<string> m_permsModules;
private bool m_securePermissionsLoading = true;
/// <value>
/// The config information passed into the OpenSimulator region server.
/// </value>
@@ -197,6 +201,11 @@ namespace OpenSim
CreatePIDFile(pidFile);
userStatsURI = startupConfig.GetString("Stats_URI", String.Empty);
m_securePermissionsLoading = startupConfig.GetBoolean("SecurePermissionsLoading", true);
string permissionModules = startupConfig.GetString("permissionmodules", "DefaultPermissionsModule");
m_permsModules = new List<string>(permissionModules.Split(','));
}
// Load the simulation data service
@@ -225,6 +234,12 @@ namespace OpenSim
m_moduleLoader = new ModuleLoader(m_config.Source);
LoadPlugins();
if (m_plugins.Count == 0) // We failed to load any modules. Mono Addins glitch!
{
Environment.Exit(1);
}
foreach (IApplicationPlugin plugin in m_plugins)
{
plugin.PostInitialise();
@@ -372,7 +387,41 @@ namespace OpenSim
}
else m_log.Error("[REGIONMODULES]: The new RegionModulesController is missing...");
if (m_securePermissionsLoading)
{
foreach (string s in m_permsModules)
{
if (!scene.RegionModules.ContainsKey(s))
{
bool found = false;
foreach (IRegionModule m in modules)
{
if (m.Name == s)
{
found = true;
}
}
if (!found)
{
m_log.Fatal("[MODULES]: Required module " + s + " not found.");
Environment.Exit(0);
}
}
}
}
scene.SetModuleInterfaces();
// First Step of bootreport sequence
if (scene.SnmpService != null)
{
scene.SnmpService.ColdStart(1,scene);
scene.SnmpService.LinkDown(scene);
}
if (scene.SnmpService != null)
{
scene.SnmpService.BootInfo("Loading prins", scene);
}
while (regionInfo.EstateSettings.EstateOwner == UUID.Zero && MainConsole.Instance != null)
SetUpEstateOwner(scene);
@@ -386,6 +435,11 @@ namespace OpenSim
scene.loadAllLandObjectsFromStorage(regionInfo.originRegionID);
scene.EventManager.TriggerParcelPrimCountUpdate();
if (scene.SnmpService != null)
{
scene.SnmpService.BootInfo("Grid Registration in progress", scene);
}
try
{
scene.RegisterRegionWithGrid();
@@ -396,15 +450,29 @@ namespace OpenSim
"[STARTUP]: Registration of region with grid failed, aborting startup due to {0} {1}",
e.Message, e.StackTrace);
if (scene.SnmpService != null)
{
scene.SnmpService.Critical("Grid registration failed. Startup aborted.", scene);
}
// Carrying on now causes a lot of confusion down the
// line - we need to get the user's attention
Environment.Exit(1);
}
if (scene.SnmpService != null)
{
scene.SnmpService.BootInfo("Grid Registration done", scene);
}
// We need to do this after we've initialized the
// scripting engines.
scene.CreateScriptInstances();
if (scene.SnmpService != null)
{
scene.SnmpService.BootInfo("ScriptEngine started", scene);
}
m_sceneManager.Add(scene);
if (m_autoCreateClientStack)
@@ -413,6 +481,10 @@ namespace OpenSim
clientServer.Start();
}
if (scene.SnmpService != null)
{
scene.SnmpService.BootInfo("Initializing region modules", scene);
}
if (do_post_init)
{
foreach (IRegionModule module in modules)
@@ -424,7 +496,14 @@ namespace OpenSim
mscene = scene;
if (scene.SnmpService != null)
{
scene.SnmpService.BootInfo("The region is operational", scene);
scene.SnmpService.LinkUp(scene);
}
scene.StartTimer();
scene.StartTimerWatchdog();
scene.StartScripts();
@@ -501,6 +580,11 @@ namespace OpenSim
private void ShutdownRegion(Scene scene)
{
m_log.DebugFormat("[SHUTDOWN]: Shutting down region {0}", scene.RegionInfo.RegionName);
if (scene.SnmpService != null)
{
scene.SnmpService.BootInfo("The region is shutting down", scene);
scene.SnmpService.LinkDown(scene);
}
IRegionModulesController controller;
if (ApplicationRegistry.TryGet<IRegionModulesController>(out controller))
{
@@ -944,7 +1028,7 @@ namespace OpenSim
= MainConsole.Instance.CmdPrompt(
string.Format(
"Do you wish to join region {0} to an existing estate (yes/no)?", regInfo.RegionName),
"yes",
"no",
new List<string>() { "yes", "no" });
if (response == "no")
@@ -960,12 +1044,15 @@ namespace OpenSim
= MainConsole.Instance.CmdPrompt(
string.Format(
"Name of estate to join. Existing estate names are ({0})", string.Join(", ", estateNames.ToArray())),
estateNames[0]);
"None");
if (response == "None")
continue;
List<int> estateIDs = EstateDataService.GetEstates(response);
if (estateIDs.Count < 1)
{
MainConsole.Instance.Output("The name you have entered matches no known estate. Please try again.");
MainConsole.Instance.Output("The name you have entered matches no known estate. Please try again.");
continue;
}

View File

@@ -234,6 +234,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
m_stopPacket = TexturePacketCount();
}
//Give them at least two packets, to play nice with some broken viewers (SL also behaves this way)
if (m_stopPacket == 1 && m_layers[0].End > FIRST_PACKET_SIZE) m_stopPacket++;
m_currentPacket = StartPacket;
}
}

View File

@@ -158,6 +158,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
public event RequestTaskInventory OnRequestTaskInventory;
public event UpdateInventoryItem OnUpdateInventoryItem;
public event CopyInventoryItem OnCopyInventoryItem;
public event MoveItemsAndLeaveCopy OnMoveItemsAndLeaveCopy;
public event MoveInventoryItem OnMoveInventoryItem;
public event RemoveInventoryItem OnRemoveInventoryItem;
public event RemoveInventoryFolder OnRemoveInventoryFolder;
@@ -256,7 +257,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
public event ClassifiedInfoRequest OnClassifiedInfoRequest;
public event ClassifiedInfoUpdate OnClassifiedInfoUpdate;
public event ClassifiedDelete OnClassifiedDelete;
public event ClassifiedDelete OnClassifiedGodDelete;
public event ClassifiedGodDelete OnClassifiedGodDelete;
public event EventNotificationAddRequest OnEventNotificationAddRequest;
public event EventNotificationRemoveRequest OnEventNotificationRemoveRequest;
public event EventGodDelete OnEventGodDelete;
@@ -287,6 +288,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
public event GroupVoteHistoryRequest OnGroupVoteHistoryRequest;
public event SimWideDeletesDelegate OnSimWideDeletes;
public event SendPostcard OnSendPostcard;
public event ChangeInventoryItemFlags OnChangeInventoryItemFlags;
public event MuteListEntryUpdate OnUpdateMuteListEntry;
public event MuteListEntryRemove OnRemoveMuteListEntry;
public event GodlikeMessage onGodlikeMessage;
@@ -337,7 +339,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
/// thread servicing the m_primFullUpdates queue after a kill. If this happens the object persists as an
/// ownerless phantom.
///
/// All manipulation of this set has to occur under a lock
/// All manipulation of this set has to occur under an m_entityUpdates.SyncRoot lock
///
/// </value>
protected HashSet<uint> m_killRecord;
@@ -345,6 +347,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
// protected HashSet<uint> m_attachmentsSent;
private int m_moneyBalance;
private bool m_deliverPackets = true;
private int m_animationSequenceNumber = 1;
private bool m_SendLogoutPacketWhenClosing = true;
private AgentUpdateArgs lastarg;
@@ -384,6 +387,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP
get { return m_startpos; }
set { m_startpos = value; }
}
public bool DeliverPackets
{
get { return m_deliverPackets; }
set {
m_deliverPackets = value;
m_udpClient.m_deliverPackets = value;
}
}
public UUID AgentId { get { return m_agentId; } }
public ISceneAgent SceneAgent { get; private set; }
public UUID ActiveGroupId { get { return m_activeGroupID; } }
@@ -488,18 +499,30 @@ namespace OpenSim.Region.ClientStack.LindenUDP
#region Client Methods
/// <summary>
/// Shut down the client view
/// </summary>
public void Close()
{
Close(true);
}
/// <summary>
/// Shut down the client view
/// </summary>
public void Close(bool sendStop)
{
m_log.DebugFormat(
"[CLIENT]: Close has been called for {0} attached to scene {1}",
Name, m_scene.RegionInfo.RegionName);
// Send the STOP packet
DisableSimulatorPacket disable = (DisableSimulatorPacket)PacketPool.Instance.GetPacket(PacketType.DisableSimulator);
OutPacket(disable, ThrottleOutPacketType.Unknown);
if (sendStop)
{
// Send the STOP packet
DisableSimulatorPacket disable = (DisableSimulatorPacket)PacketPool.Instance.GetPacket(PacketType.DisableSimulator);
OutPacket(disable, ThrottleOutPacketType.Unknown);
}
IsActive = false;
@@ -799,7 +822,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
reply.ChatData.OwnerID = fromAgentID;
reply.ChatData.SourceID = fromAgentID;
OutPacket(reply, ThrottleOutPacketType.Task);
OutPacket(reply, ThrottleOutPacketType.Unknown);
}
/// <summary>
@@ -1085,6 +1108,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
public virtual void SendLayerData(float[] map)
{
Util.FireAndForget(DoSendLayerData, map);
// Send it sync, and async. It's not that much data
// and it improves user experience just so much!
DoSendLayerData(map);
}
/// <summary>
@@ -1097,16 +1124,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
try
{
//for (int y = 0; y < 16; y++)
//{
// for (int x = 0; x < 16; x++)
// {
// SendLayerData(x, y, map);
// }
//}
// Send LayerData in a spiral pattern. Fun!
SendLayerTopRight(map, 0, 0, 15, 15);
for (int y = 0; y < 16; y++)
{
for (int x = 0; x < 16; x+=4)
{
SendLayerPacket(x, y, map);
}
}
}
catch (Exception e)
{
@@ -1114,51 +1138,35 @@ namespace OpenSim.Region.ClientStack.LindenUDP
}
}
private void SendLayerTopRight(float[] map, int x1, int y1, int x2, int y2)
{
// Row
for (int i = x1; i <= x2; i++)
SendLayerData(i, y1, map);
// Column
for (int j = y1 + 1; j <= y2; j++)
SendLayerData(x2, j, map);
if (x2 - x1 > 0)
SendLayerBottomLeft(map, x1, y1 + 1, x2 - 1, y2);
}
void SendLayerBottomLeft(float[] map, int x1, int y1, int x2, int y2)
{
// Row in reverse
for (int i = x2; i >= x1; i--)
SendLayerData(i, y2, map);
// Column in reverse
for (int j = y2 - 1; j >= y1; j--)
SendLayerData(x1, j, map);
if (x2 - x1 > 0)
SendLayerTopRight(map, x1 + 1, y1, x2, y2 - 1);
}
/// <summary>
/// Sends a set of four patches (x, x+1, ..., x+3) to the client
/// </summary>
/// <param name="map">heightmap</param>
/// <param name="px">X coordinate for patches 0..12</param>
/// <param name="py">Y coordinate for patches 0..15</param>
// private void SendLayerPacket(float[] map, int y, int x)
// {
// int[] patches = new int[4];
// patches[0] = x + 0 + y * 16;
// patches[1] = x + 1 + y * 16;
// patches[2] = x + 2 + y * 16;
// patches[3] = x + 3 + y * 16;
private void SendLayerPacket(int x, int y, float[] map)
{
int[] patches = new int[4];
patches[0] = x + 0 + y * 16;
patches[1] = x + 1 + y * 16;
patches[2] = x + 2 + y * 16;
patches[3] = x + 3 + y * 16;
// Packet layerpack = LLClientView.TerrainManager.CreateLandPacket(map, patches);
// OutPacket(layerpack, ThrottleOutPacketType.Land);
// }
float[] heightmap = (map.Length == 65536) ?
map :
LLHeightFieldMoronize(map);
try
{
Packet layerpack = TerrainCompressor.CreateLandPacket(heightmap, patches);
OutPacket(layerpack, ThrottleOutPacketType.Land);
}
catch
{
for (int px = x ; px < x + 4 ; px++)
SendLayerData(px, y, map);
}
}
/// <summary>
/// Sends a specified patch to a client
@@ -1178,7 +1186,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
LayerDataPacket layerpack = TerrainCompressor.CreateLandPacket(heightmap, patches);
layerpack.Header.Reliable = true;
OutPacket(layerpack, ThrottleOutPacketType.Land);
OutPacket(layerpack, ThrottleOutPacketType.Task);
}
catch (Exception e)
{
@@ -2302,6 +2310,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
OutPacket(sound, ThrottleOutPacketType.Task);
}
public void SendTransferAbort(TransferRequestPacket transferRequest)
{
TransferAbortPacket abort = (TransferAbortPacket)PacketPool.Instance.GetPacket(PacketType.TransferAbort);
abort.TransferInfo.TransferID = transferRequest.TransferInfo.TransferID;
abort.TransferInfo.ChannelType = transferRequest.TransferInfo.ChannelType;
m_log.Debug("[Assets] Aborting transfer; asset request failed");
OutPacket(abort, ThrottleOutPacketType.Task);
}
public void SendTriggeredSound(UUID soundID, UUID ownerID, UUID objectID, UUID parentID, ulong handle, Vector3 position, float gain)
{
SoundTriggerPacket sound = (SoundTriggerPacket)PacketPool.Instance.GetPacket(PacketType.SoundTrigger);
@@ -2749,7 +2766,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
reply.Data.ParcelID = parcelID;
reply.Data.OwnerID = land.OwnerID;
reply.Data.Name = Utils.StringToBytes(land.Name);
reply.Data.Desc = Utils.StringToBytes(land.Description);
if (land != null && land.Description != null && land.Description != String.Empty)
reply.Data.Desc = Utils.StringToBytes(land.Description.Substring(0, land.Description.Length > 254 ? 254: land.Description.Length));
else
reply.Data.Desc = new Byte[0];
reply.Data.ActualArea = land.Area;
reply.Data.BillableArea = land.Area; // TODO: what is this?
@@ -3612,7 +3632,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
/// </summary>
public void SendEntityUpdate(ISceneEntity entity, PrimUpdateFlags updateFlags)
{
//double priority = m_prioritizer.GetUpdatePriority(this, entity);
if (entity is SceneObjectPart)
{
SceneObjectPart e = (SceneObjectPart)entity;
SceneObjectGroup g = e.ParentGroup;
if (g.RootPart.Shape.State > 30) // HUD
if (g.OwnerID != AgentId)
return; // Don't send updates for other people's HUDs
}
uint priority = m_prioritizer.GetUpdatePriority(this, entity);
lock (m_entityUpdates.SyncRoot)
@@ -3679,211 +3707,230 @@ namespace OpenSim.Region.ClientStack.LindenUDP
// We must lock for both manipulating the kill record and sending the packet, in order to avoid a race
// condition where a kill can be processed before an out-of-date update for the same object.
lock (m_killRecord)
float avgTimeDilation = 1.0f;
IEntityUpdate iupdate;
Int32 timeinqueue; // this is just debugging code & can be dropped later
while (updatesThisCall < maxUpdates)
{
float avgTimeDilation = 1.0f;
IEntityUpdate iupdate;
Int32 timeinqueue; // this is just debugging code & can be dropped later
lock (m_entityUpdates.SyncRoot)
if (!m_entityUpdates.TryDequeue(out iupdate, out timeinqueue))
break;
while (updatesThisCall < maxUpdates)
{
lock (m_entityUpdates.SyncRoot)
if (!m_entityUpdates.TryDequeue(out iupdate, out timeinqueue))
break;
EntityUpdate update = (EntityUpdate)iupdate;
EntityUpdate update = (EntityUpdate)iupdate;
avgTimeDilation += update.TimeDilation;
avgTimeDilation *= 0.5f;
avgTimeDilation += update.TimeDilation;
avgTimeDilation *= 0.5f;
if (update.Entity is SceneObjectPart)
if (update.Entity is SceneObjectPart)
{
SceneObjectPart part = (SceneObjectPart)update.Entity;
// Please do not remove this unless you can demonstrate on the OpenSim mailing list that a client
// will never receive an update after a prim kill. Even then, keeping the kill record may be a good
// safety measure.
//
// If a Linden Lab 1.23.5 client (and possibly later and earlier) receives an object update
// after a kill, it will keep displaying the deleted object until relog. OpenSim currently performs
// updates and kills on different threads with different scheduling strategies, hence this protection.
//
// This doesn't appear to apply to child prims - a client will happily ignore these updates
// after the root prim has been deleted.
lock (m_killRecord)
{
SceneObjectPart part = (SceneObjectPart)update.Entity;
// Please do not remove this unless you can demonstrate on the OpenSim mailing list that a client
// will never receive an update after a prim kill. Even then, keeping the kill record may be a good
// safety measure.
//
// If a Linden Lab 1.23.5 client (and possibly later and earlier) receives an object update
// after a kill, it will keep displaying the deleted object until relog. OpenSim currently performs
// updates and kills on different threads with different scheduling strategies, hence this protection.
//
// This doesn't appear to apply to child prims - a client will happily ignore these updates
// after the root prim has been deleted.
if (m_killRecord.Contains(part.LocalId))
{
// m_log.WarnFormat(
// "[CLIENT]: Preventing update for prim with local id {0} after client for user {1} told it was deleted",
// part.LocalId, Name);
continue;
}
if (part.ParentGroup.IsAttachment && m_disableFacelights)
if (m_killRecord.Contains(part.ParentGroup.RootPart.LocalId))
continue;
}
if (part.ParentGroup.IsDeleted)
continue;
if (part.ParentGroup.IsAttachment)
{ // Someone else's HUD, why are we getting these?
if (part.ParentGroup.OwnerID != AgentId &&
part.ParentGroup.RootPart.Shape.State >= 30)
continue;
ScenePresence sp;
// Owner is not in the sim, don't update it to
// anyone
if (!m_scene.TryGetScenePresence(part.OwnerID, out sp))
continue;
List<SceneObjectGroup> atts = sp.GetAttachments();
bool found = false;
foreach (SceneObjectGroup att in atts)
{
if (part.ParentGroup.RootPart.Shape.State != (byte)AttachmentPoint.LeftHand &&
part.ParentGroup.RootPart.Shape.State != (byte)AttachmentPoint.RightHand)
if (att == part.ParentGroup)
{
part.Shape.LightEntry = false;
found = true;
break;
}
}
// It's an attachment of a valid avatar, but
// doesn't seem to be attached, skip
if (!found)
continue;
}
++updatesThisCall;
#region UpdateFlags to packet type conversion
PrimUpdateFlags updateFlags = (PrimUpdateFlags)update.Flags;
bool canUseCompressed = true;
bool canUseImproved = true;
// Compressed object updates only make sense for LL primitives
if (!(update.Entity is SceneObjectPart))
if (part.ParentGroup.IsAttachment && m_disableFacelights)
{
if (part.ParentGroup.RootPart.Shape.State != (byte)AttachmentPoint.LeftHand &&
part.ParentGroup.RootPart.Shape.State != (byte)AttachmentPoint.RightHand)
{
part.Shape.LightEntry = false;
}
}
}
++updatesThisCall;
#region UpdateFlags to packet type conversion
PrimUpdateFlags updateFlags = (PrimUpdateFlags)update.Flags;
bool canUseCompressed = true;
bool canUseImproved = true;
// Compressed object updates only make sense for LL primitives
if (!(update.Entity is SceneObjectPart))
{
canUseCompressed = false;
}
if (updateFlags.HasFlag(PrimUpdateFlags.FullUpdate))
{
canUseCompressed = false;
canUseImproved = false;
}
else
{
if (updateFlags.HasFlag(PrimUpdateFlags.Velocity) ||
updateFlags.HasFlag(PrimUpdateFlags.Acceleration) ||
updateFlags.HasFlag(PrimUpdateFlags.CollisionPlane) ||
updateFlags.HasFlag(PrimUpdateFlags.Joint))
{
canUseCompressed = false;
}
if (updateFlags.HasFlag(PrimUpdateFlags.FullUpdate))
if (updateFlags.HasFlag(PrimUpdateFlags.PrimFlags) ||
updateFlags.HasFlag(PrimUpdateFlags.ParentID) ||
updateFlags.HasFlag(PrimUpdateFlags.Scale) ||
updateFlags.HasFlag(PrimUpdateFlags.PrimData) ||
updateFlags.HasFlag(PrimUpdateFlags.Text) ||
updateFlags.HasFlag(PrimUpdateFlags.NameValue) ||
updateFlags.HasFlag(PrimUpdateFlags.ExtraData) ||
updateFlags.HasFlag(PrimUpdateFlags.TextureAnim) ||
updateFlags.HasFlag(PrimUpdateFlags.Sound) ||
updateFlags.HasFlag(PrimUpdateFlags.Particles) ||
updateFlags.HasFlag(PrimUpdateFlags.Material) ||
updateFlags.HasFlag(PrimUpdateFlags.ClickAction) ||
updateFlags.HasFlag(PrimUpdateFlags.MediaURL) ||
updateFlags.HasFlag(PrimUpdateFlags.Joint))
{
canUseCompressed = false;
canUseImproved = false;
}
else
}
#endregion UpdateFlags to packet type conversion
#region Block Construction
// TODO: Remove this once we can build compressed updates
canUseCompressed = false;
if (!canUseImproved && !canUseCompressed)
{
if (update.Entity is ScenePresence)
{
if (updateFlags.HasFlag(PrimUpdateFlags.Velocity) ||
updateFlags.HasFlag(PrimUpdateFlags.Acceleration) ||
updateFlags.HasFlag(PrimUpdateFlags.CollisionPlane) ||
updateFlags.HasFlag(PrimUpdateFlags.Joint))
{
canUseCompressed = false;
}
if (updateFlags.HasFlag(PrimUpdateFlags.PrimFlags) ||
updateFlags.HasFlag(PrimUpdateFlags.ParentID) ||
updateFlags.HasFlag(PrimUpdateFlags.Scale) ||
updateFlags.HasFlag(PrimUpdateFlags.PrimData) ||
updateFlags.HasFlag(PrimUpdateFlags.Text) ||
updateFlags.HasFlag(PrimUpdateFlags.NameValue) ||
updateFlags.HasFlag(PrimUpdateFlags.ExtraData) ||
updateFlags.HasFlag(PrimUpdateFlags.TextureAnim) ||
updateFlags.HasFlag(PrimUpdateFlags.Sound) ||
updateFlags.HasFlag(PrimUpdateFlags.Particles) ||
updateFlags.HasFlag(PrimUpdateFlags.Material) ||
updateFlags.HasFlag(PrimUpdateFlags.ClickAction) ||
updateFlags.HasFlag(PrimUpdateFlags.MediaURL) ||
updateFlags.HasFlag(PrimUpdateFlags.Joint))
{
canUseImproved = false;
}
}
#endregion UpdateFlags to packet type conversion
#region Block Construction
// TODO: Remove this once we can build compressed updates
canUseCompressed = false;
if (!canUseImproved && !canUseCompressed)
{
if (update.Entity is ScenePresence)
{
objectUpdateBlocks.Value.Add(CreateAvatarUpdateBlock((ScenePresence)update.Entity));
objectUpdates.Value.Add(update);
}
else
{
objectUpdateBlocks.Value.Add(CreatePrimUpdateBlock((SceneObjectPart)update.Entity, this.m_agentId));
objectUpdates.Value.Add(update);
}
}
else if (!canUseImproved)
{
compressedUpdateBlocks.Value.Add(CreateCompressedUpdateBlock((SceneObjectPart)update.Entity, updateFlags));
compressedUpdates.Value.Add(update);
objectUpdateBlocks.Value.Add(CreateAvatarUpdateBlock((ScenePresence)update.Entity));
}
else
{
if (update.Entity is ScenePresence && ((ScenePresence)update.Entity).UUID == AgentId)
{
// Self updates go into a special list
terseAgentUpdateBlocks.Value.Add(CreateImprovedTerseBlock(update.Entity, updateFlags.HasFlag(PrimUpdateFlags.Textures)));
terseAgentUpdates.Value.Add(update);
}
else
{
// Everything else goes here
terseUpdateBlocks.Value.Add(CreateImprovedTerseBlock(update.Entity, updateFlags.HasFlag(PrimUpdateFlags.Textures)));
terseUpdates.Value.Add(update);
}
objectUpdateBlocks.Value.Add(CreatePrimUpdateBlock((SceneObjectPart)update.Entity, this.m_agentId));
}
}
else if (!canUseImproved)
{
compressedUpdateBlocks.Value.Add(CreateCompressedUpdateBlock((SceneObjectPart)update.Entity, updateFlags));
}
else
{
if (update.Entity is ScenePresence && ((ScenePresence)update.Entity).UUID == AgentId)
// Self updates go into a special list
terseAgentUpdateBlocks.Value.Add(CreateImprovedTerseBlock(update.Entity, updateFlags.HasFlag(PrimUpdateFlags.Textures)));
else
// Everything else goes here
terseUpdateBlocks.Value.Add(CreateImprovedTerseBlock(update.Entity, updateFlags.HasFlag(PrimUpdateFlags.Textures)));
}
#endregion Block Construction
}
#region Packet Sending
#endregion Block Construction
}
const float TIME_DILATION = 1.0f;
ushort timeDilation = Utils.FloatToUInt16(avgTimeDilation, 0.0f, 1.0f);
#region Packet Sending
ushort timeDilation = Utils.FloatToUInt16(avgTimeDilation, 0.0f, 1.0f);
if (terseAgentUpdateBlocks.IsValueCreated)
{
List<ImprovedTerseObjectUpdatePacket.ObjectDataBlock> blocks = terseAgentUpdateBlocks.Value;
if (terseAgentUpdateBlocks.IsValueCreated)
{
List<ImprovedTerseObjectUpdatePacket.ObjectDataBlock> blocks = terseAgentUpdateBlocks.Value;
ImprovedTerseObjectUpdatePacket packet = new ImprovedTerseObjectUpdatePacket();
packet.RegionData.RegionHandle = m_scene.RegionInfo.RegionHandle;
packet.RegionData.TimeDilation = timeDilation;
packet.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[blocks.Count];
ImprovedTerseObjectUpdatePacket packet = new ImprovedTerseObjectUpdatePacket();
packet.RegionData.RegionHandle = m_scene.RegionInfo.RegionHandle;
packet.RegionData.TimeDilation = timeDilation;
packet.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[blocks.Count];
for (int i = 0; i < blocks.Count; i++)
packet.ObjectData[i] = blocks[i];
for (int i = 0; i < blocks.Count; i++)
packet.ObjectData[i] = blocks[i];
// If any of the packets created from this call go unacknowledged, all of the updates will be resent
OutPacket(packet, ThrottleOutPacketType.Unknown, true, delegate(OutgoingPacket oPacket) { ResendPrimUpdates(terseAgentUpdates.Value, oPacket); });
}
OutPacket(packet, ThrottleOutPacketType.Unknown, true);
}
if (objectUpdateBlocks.IsValueCreated)
{
List<ObjectUpdatePacket.ObjectDataBlock> blocks = objectUpdateBlocks.Value;
ObjectUpdatePacket packet = (ObjectUpdatePacket)PacketPool.Instance.GetPacket(PacketType.ObjectUpdate);
packet.RegionData.RegionHandle = m_scene.RegionInfo.RegionHandle;
packet.RegionData.TimeDilation = timeDilation;
packet.ObjectData = new ObjectUpdatePacket.ObjectDataBlock[blocks.Count];
for (int i = 0; i < blocks.Count; i++)
packet.ObjectData[i] = blocks[i];
// If any of the packets created from this call go unacknowledged, all of the updates will be resent
OutPacket(packet, ThrottleOutPacketType.Task, true, delegate(OutgoingPacket oPacket) { ResendPrimUpdates(objectUpdates.Value, oPacket); });
}
if (compressedUpdateBlocks.IsValueCreated)
{
List<ObjectUpdateCompressedPacket.ObjectDataBlock> blocks = compressedUpdateBlocks.Value;
ObjectUpdateCompressedPacket packet = (ObjectUpdateCompressedPacket)PacketPool.Instance.GetPacket(PacketType.ObjectUpdateCompressed);
packet.RegionData.RegionHandle = m_scene.RegionInfo.RegionHandle;
packet.RegionData.TimeDilation = timeDilation;
packet.ObjectData = new ObjectUpdateCompressedPacket.ObjectDataBlock[blocks.Count];
for (int i = 0; i < blocks.Count; i++)
packet.ObjectData[i] = blocks[i];
// If any of the packets created from this call go unacknowledged, all of the updates will be resent
OutPacket(packet, ThrottleOutPacketType.Task, true, delegate(OutgoingPacket oPacket) { ResendPrimUpdates(compressedUpdates.Value, oPacket); });
}
if (objectUpdateBlocks.IsValueCreated)
{
List<ObjectUpdatePacket.ObjectDataBlock> blocks = objectUpdateBlocks.Value;
ObjectUpdatePacket packet = (ObjectUpdatePacket)PacketPool.Instance.GetPacket(PacketType.ObjectUpdate);
packet.RegionData.RegionHandle = m_scene.RegionInfo.RegionHandle;
packet.RegionData.TimeDilation = timeDilation;
packet.ObjectData = new ObjectUpdatePacket.ObjectDataBlock[blocks.Count];
for (int i = 0; i < blocks.Count; i++)
packet.ObjectData[i] = blocks[i];
OutPacket(packet, ThrottleOutPacketType.Task, true);
}
if (compressedUpdateBlocks.IsValueCreated)
{
List<ObjectUpdateCompressedPacket.ObjectDataBlock> blocks = compressedUpdateBlocks.Value;
ObjectUpdateCompressedPacket packet = (ObjectUpdateCompressedPacket)PacketPool.Instance.GetPacket(PacketType.ObjectUpdateCompressed);
packet.RegionData.RegionHandle = m_scene.RegionInfo.RegionHandle;
packet.RegionData.TimeDilation = timeDilation;
packet.ObjectData = new ObjectUpdateCompressedPacket.ObjectDataBlock[blocks.Count];
if (terseUpdateBlocks.IsValueCreated)
{
List<ImprovedTerseObjectUpdatePacket.ObjectDataBlock> blocks = terseUpdateBlocks.Value;
ImprovedTerseObjectUpdatePacket packet = new ImprovedTerseObjectUpdatePacket();
packet.RegionData.RegionHandle = m_scene.RegionInfo.RegionHandle;
packet.RegionData.TimeDilation = timeDilation;
packet.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[blocks.Count];
for (int i = 0; i < blocks.Count; i++)
packet.ObjectData[i] = blocks[i];
// If any of the packets created from this call go unacknowledged, all of the updates will be resent
OutPacket(packet, ThrottleOutPacketType.Task, true, delegate(OutgoingPacket oPacket) { ResendPrimUpdates(terseUpdates.Value, oPacket); });
}
for (int i = 0; i < blocks.Count; i++)
packet.ObjectData[i] = blocks[i];
OutPacket(packet, ThrottleOutPacketType.Task, true);
}
if (terseUpdateBlocks.IsValueCreated)
{
List<ImprovedTerseObjectUpdatePacket.ObjectDataBlock> blocks = terseUpdateBlocks.Value;
ImprovedTerseObjectUpdatePacket packet = new ImprovedTerseObjectUpdatePacket();
packet.RegionData.RegionHandle = m_scene.RegionInfo.RegionHandle;
packet.RegionData.TimeDilation = timeDilation;
packet.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[blocks.Count];
for (int i = 0; i < blocks.Count; i++)
packet.ObjectData[i] = blocks[i];
OutPacket(packet, ThrottleOutPacketType.Task, true);
}
#endregion Packet Sending
@@ -4176,11 +4223,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
// Pass in the delegate so that if this packet needs to be resent, we send the current properties
// of the object rather than the properties when the packet was created
OutPacket(packet, ThrottleOutPacketType.Task, true,
delegate(OutgoingPacket oPacket)
{
ResendPropertyUpdates(updates, oPacket);
});
// HACK : Remove intelligent resending until it's fixed in core
//OutPacket(packet, ThrottleOutPacketType.Task, true,
// delegate(OutgoingPacket oPacket)
// {
// ResendPropertyUpdates(updates, oPacket);
// });
OutPacket(packet, ThrottleOutPacketType.Task, true);
// pbcnt += blocks.Count;
// ppcnt++;
@@ -4206,11 +4255,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
// of the object rather than the properties when the packet was created
List<ObjectPropertyUpdate> updates = new List<ObjectPropertyUpdate>();
updates.Add(familyUpdates.Value[i]);
OutPacket(packet, ThrottleOutPacketType.Task, true,
delegate(OutgoingPacket oPacket)
{
ResendPropertyUpdates(updates, oPacket);
});
// HACK : Remove intelligent resending until it's fixed in core
//OutPacket(packet, ThrottleOutPacketType.Task, true,
// delegate(OutgoingPacket oPacket)
// {
// ResendPropertyUpdates(updates, oPacket);
// });
OutPacket(packet, ThrottleOutPacketType.Task, true);
// fpcnt++;
// fbcnt++;
@@ -4359,37 +4410,44 @@ namespace OpenSim.Region.ClientStack.LindenUDP
if (bl[i].BannedUserID == UUID.Zero)
continue;
BannedUsers.Add(bl[i].BannedUserID);
if (BannedUsers.Count >= 50 || (i == (bl.Length - 1) && BannedUsers.Count > 0))
{
EstateOwnerMessagePacket packet = new EstateOwnerMessagePacket();
packet.AgentData.TransactionID = UUID.Random();
packet.AgentData.AgentID = AgentId;
packet.AgentData.SessionID = SessionId;
packet.MethodData.Invoice = invoice;
packet.MethodData.Method = Utils.StringToBytes("setaccess");
EstateOwnerMessagePacket.ParamListBlock[] returnblock = new EstateOwnerMessagePacket.ParamListBlock[6 + BannedUsers.Count];
int j;
for (j = 0; j < (6 + BannedUsers.Count); j++)
{
returnblock[j] = new EstateOwnerMessagePacket.ParamListBlock();
}
j = 0;
returnblock[j].Parameter = Utils.StringToBytes(estateID.ToString()); j++;
returnblock[j].Parameter = Utils.StringToBytes(((int)Constants.EstateAccessCodex.EstateBans).ToString()); j++;
returnblock[j].Parameter = Utils.StringToBytes("0"); j++;
returnblock[j].Parameter = Utils.StringToBytes("0"); j++;
returnblock[j].Parameter = Utils.StringToBytes(BannedUsers.Count.ToString()); j++;
returnblock[j].Parameter = Utils.StringToBytes("0"); j++;
foreach (UUID banned in BannedUsers)
{
returnblock[j].Parameter = banned.GetBytes(); j++;
}
packet.ParamList = returnblock;
packet.Header.Reliable = true;
OutPacket(packet, ThrottleOutPacketType.Task);
BannedUsers.Clear();
}
}
EstateOwnerMessagePacket packet = new EstateOwnerMessagePacket();
packet.AgentData.TransactionID = UUID.Random();
packet.AgentData.AgentID = AgentId;
packet.AgentData.SessionID = SessionId;
packet.MethodData.Invoice = invoice;
packet.MethodData.Method = Utils.StringToBytes("setaccess");
EstateOwnerMessagePacket.ParamListBlock[] returnblock = new EstateOwnerMessagePacket.ParamListBlock[6 + BannedUsers.Count];
for (int i = 0; i < (6 + BannedUsers.Count); i++)
{
returnblock[i] = new EstateOwnerMessagePacket.ParamListBlock();
}
int j = 0;
returnblock[j].Parameter = Utils.StringToBytes(estateID.ToString()); j++;
returnblock[j].Parameter = Utils.StringToBytes(((int)Constants.EstateAccessCodex.EstateBans).ToString()); j++;
returnblock[j].Parameter = Utils.StringToBytes("0"); j++;
returnblock[j].Parameter = Utils.StringToBytes("0"); j++;
returnblock[j].Parameter = Utils.StringToBytes(BannedUsers.Count.ToString()); j++;
returnblock[j].Parameter = Utils.StringToBytes("0"); j++;
foreach (UUID banned in BannedUsers)
{
returnblock[j].Parameter = banned.GetBytes(); j++;
}
packet.ParamList = returnblock;
packet.Header.Reliable = false;
OutPacket(packet, ThrottleOutPacketType.Task);
}
public void SendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args)
@@ -4575,7 +4633,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
if (landData.SimwideArea > 0)
{
int simulatorCapacity = (int)(((float)landData.SimwideArea / 65536.0f) * (float)m_scene.RegionInfo.ObjectCapacity * (float)m_scene.RegionInfo.RegionSettings.ObjectBonus);
int simulatorCapacity = (int)((long)landData.SimwideArea * (long)m_scene.RegionInfo.ObjectCapacity * (long)m_scene.RegionInfo.RegionSettings.ObjectBonus / 65536L);
// Never report more than sim total capacity
if (simulatorCapacity > m_scene.RegionInfo.ObjectCapacity)
simulatorCapacity = m_scene.RegionInfo.ObjectCapacity;
updateMessage.SimWideMaxPrims = simulatorCapacity;
}
else
@@ -4704,14 +4765,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP
if (notifyCount > 0)
{
if (notifyCount > 32)
{
m_log.InfoFormat(
"[LAND]: More than {0} avatars own prims on this parcel. Only sending back details of first {0}"
+ " - a developer might want to investigate whether this is a hard limit", 32);
notifyCount = 32;
}
// if (notifyCount > 32)
// {
// m_log.InfoFormat(
// "[LAND]: More than {0} avatars own prims on this parcel. Only sending back details of first {0}"
// + " - a developer might want to investigate whether this is a hard limit", 32);
//
// notifyCount = 32;
// }
ParcelObjectOwnersReplyPacket.DataBlock[] dataBlock
= new ParcelObjectOwnersReplyPacket.DataBlock[notifyCount];
@@ -5244,6 +5305,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
AddLocalPacketHandler(PacketType.TransferAbort, HandleTransferAbort, false);
AddLocalPacketHandler(PacketType.MuteListRequest, HandleMuteListRequest, false);
AddLocalPacketHandler(PacketType.UseCircuitCode, HandleUseCircuitCode);
AddLocalPacketHandler(PacketType.CreateNewOutfitAttachments, HandleCreateNewOutfitAttachments);
AddLocalPacketHandler(PacketType.AgentHeightWidth, HandleAgentHeightWidth, false);
AddLocalPacketHandler(PacketType.InventoryDescendents, HandleInventoryDescendents);
AddLocalPacketHandler(PacketType.DirPlacesQuery, HandleDirPlacesQuery);
@@ -5310,6 +5372,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
AddLocalPacketHandler(PacketType.GroupVoteHistoryRequest, HandleGroupVoteHistoryRequest);
AddLocalPacketHandler(PacketType.SimWideDeletes, HandleSimWideDeletes);
AddLocalPacketHandler(PacketType.SendPostcard, HandleSendPostcard);
AddLocalPacketHandler(PacketType.ChangeInventoryItemFlags, HandleChangeInventoryItemFlags);
AddGenericPacketHandler("autopilot", HandleAutopilot);
}
@@ -5345,6 +5408,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
(x.CameraLeftAxis != lastarg.CameraLeftAxis) ||
(x.CameraUpAxis != lastarg.CameraUpAxis) ||
(x.ControlFlags != lastarg.ControlFlags) ||
(x.ControlFlags != 0) ||
(x.Far != lastarg.Far) ||
(x.Flags != lastarg.Flags) ||
(x.State != lastarg.State) ||
@@ -5722,7 +5786,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
args.Channel = ch;
args.From = String.Empty;
args.Message = Utils.BytesToString(msg);
args.Type = ChatTypeEnum.Shout;
args.Type = ChatTypeEnum.Region; //Behaviour in SL is that the response can be heard from any distance
args.Position = new Vector3();
args.Scene = Scene;
args.Sender = this;
@@ -9767,7 +9831,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
handlerUpdateMuteListEntry(this, UpdateMuteListEntry.MuteData.MuteID,
Utils.BytesToString(UpdateMuteListEntry.MuteData.MuteName),
UpdateMuteListEntry.MuteData.MuteType,
UpdateMuteListEntry.AgentData.AgentID);
UpdateMuteListEntry.MuteData.MuteFlags);
return true;
}
return false;
@@ -9782,8 +9846,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
{
handlerRemoveMuteListEntry(this,
RemoveMuteListEntry.MuteData.MuteID,
Utils.BytesToString(RemoveMuteListEntry.MuteData.MuteName),
RemoveMuteListEntry.AgentData.AgentID);
Utils.BytesToString(RemoveMuteListEntry.MuteData.MuteName));
return true;
}
return false;
@@ -9827,10 +9890,55 @@ namespace OpenSim.Region.ClientStack.LindenUDP
return false;
}
private bool HandleChangeInventoryItemFlags(IClientAPI client, Packet packet)
{
ChangeInventoryItemFlagsPacket ChangeInventoryItemFlags =
(ChangeInventoryItemFlagsPacket)packet;
ChangeInventoryItemFlags handlerChangeInventoryItemFlags = OnChangeInventoryItemFlags;
if (handlerChangeInventoryItemFlags != null)
{
foreach(ChangeInventoryItemFlagsPacket.InventoryDataBlock b in ChangeInventoryItemFlags.InventoryData)
handlerChangeInventoryItemFlags(this, b.ItemID, b.Flags);
return true;
}
return false;
}
private bool HandleUseCircuitCode(IClientAPI sender, Packet Pack)
{
return true;
}
private bool HandleCreateNewOutfitAttachments(IClientAPI sender, Packet Pack)
{
CreateNewOutfitAttachmentsPacket packet = (CreateNewOutfitAttachmentsPacket)Pack;
#region Packet Session and User Check
if (m_checkPackets)
{
if (packet.AgentData.SessionID != SessionId ||
packet.AgentData.AgentID != AgentId)
return true;
}
#endregion
MoveItemsAndLeaveCopy handlerMoveItemsAndLeaveCopy = null;
List<InventoryItemBase> items = new List<InventoryItemBase>();
foreach (CreateNewOutfitAttachmentsPacket.ObjectDataBlock n in packet.ObjectData)
{
InventoryItemBase b = new InventoryItemBase();
b.ID = n.OldItemID;
b.Folder = n.OldFolderID;
items.Add(b);
}
handlerMoveItemsAndLeaveCopy = OnMoveItemsAndLeaveCopy;
if (handlerMoveItemsAndLeaveCopy != null)
{
handlerMoveItemsAndLeaveCopy(this, items, packet.HeaderData.NewFolderID);
}
return true;
}
private bool HandleAgentHeightWidth(IClientAPI sender, Packet Pack)
{
@@ -10257,6 +10365,20 @@ namespace OpenSim.Region.ClientStack.LindenUDP
groupProfileReply.GroupData.MaturePublish = d.MaturePublish;
groupProfileReply.GroupData.OwnerRole = d.OwnerRole;
Scene scene = (Scene)m_scene;
if (scene.Permissions.IsGod(sender.AgentId) && (!sender.IsGroupMember(groupProfileRequest.GroupData.GroupID)))
{
ScenePresence p;
if (scene.TryGetScenePresence(sender.AgentId, out p))
{
if (p.GodLevel >= 200)
{
groupProfileReply.GroupData.OpenEnrollment = true;
groupProfileReply.GroupData.MembershipFee = 0;
}
}
}
OutPacket(groupProfileReply, ThrottleOutPacketType.Task);
}
return true;
@@ -10830,11 +10952,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP
StartLure handlerStartLure = OnStartLure;
if (handlerStartLure != null)
handlerStartLure(startLureRequest.Info.LureType,
Utils.BytesToString(
startLureRequest.Info.Message),
startLureRequest.TargetData[0].TargetID,
this);
{
for (int i = 0 ; i < startLureRequest.TargetData.Length ; i++)
{
handlerStartLure(startLureRequest.Info.LureType,
Utils.BytesToString(
startLureRequest.Info.Message),
startLureRequest.TargetData[i].TargetID,
this);
}
}
return true;
}
private bool HandleTeleportLureRequest(IClientAPI sender, Packet Pack)
@@ -10948,10 +11075,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
}
#endregion
ClassifiedDelete handlerClassifiedGodDelete = OnClassifiedGodDelete;
ClassifiedGodDelete handlerClassifiedGodDelete = OnClassifiedGodDelete;
if (handlerClassifiedGodDelete != null)
handlerClassifiedGodDelete(
classifiedGodDelete.Data.ClassifiedID,
classifiedGodDelete.Data.QueryID,
this);
return true;
}
@@ -12000,7 +12128,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
// m_log.DebugFormat("[CLIENT]: {0} requesting asset {1}", Name, requestID);
//Note, the bool returned from the below function is useless since it is always false.
m_assetService.Get(requestID.ToString(), transferRequest, AssetReceived);
}
/// <summary>

View File

@@ -158,6 +158,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
private int m_defaultRTO = 1000; // 1sec is the recommendation in the RFC
private int m_maxRTO = 60000;
public bool m_deliverPackets = true;
/// <summary>
/// Default constructor
@@ -439,6 +440,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
if (category >= 0 && category < m_packetOutboxes.Length)
{
OpenSim.Framework.LocklessQueue<OutgoingPacket> queue = m_packetOutboxes[category];
if (m_deliverPackets == false)
{
queue.Enqueue(packet);
return true;
}
TokenBucket bucket = m_throttleCategories[category];
// Don't send this packet if there is already a packet waiting in the queue
@@ -488,7 +496,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
/// <returns>True if any packets were sent, otherwise false</returns>
public bool DequeueOutgoing()
{
OutgoingPacket packet;
if (m_deliverPackets == false) return false;
OutgoingPacket packet = null;
OpenSim.Framework.LocklessQueue<OutgoingPacket> queue;
TokenBucket bucket;
bool packetSent = false;
@@ -520,32 +530,49 @@ namespace OpenSim.Region.ClientStack.LindenUDP
// No dequeued packet waiting to be sent, try to pull one off
// this queue
queue = m_packetOutboxes[i];
if (queue.Dequeue(out packet))
if (queue != null)
{
// A packet was pulled off the queue. See if we have
// enough tokens in the bucket to send it out
if (bucket.RemoveTokens(packet.Buffer.DataLength))
bool success = false;
try
{
// Send the packet
m_udpServer.SendPacketFinal(packet);
packetSent = true;
success = queue.Dequeue(out packet);
}
catch
{
m_packetOutboxes[i] = new OpenSim.Framework.LocklessQueue<OutgoingPacket>();
}
if (success)
{
// A packet was pulled off the queue. See if we have
// enough tokens in the bucket to send it out
if (bucket.RemoveTokens(packet.Buffer.DataLength))
{
// Send the packet
m_udpServer.SendPacketFinal(packet);
packetSent = true;
}
else
{
// Save the dequeued packet for the next iteration
m_nextPackets[i] = packet;
}
// If the queue is empty after this dequeue, fire the queue
// empty callback now so it has a chance to fill before we
// get back here
if (queue.Count == 0)
emptyCategories |= CategoryToFlag(i);
}
else
{
// Save the dequeued packet for the next iteration
m_nextPackets[i] = packet;
}
// If the queue is empty after this dequeue, fire the queue
// empty callback now so it has a chance to fill before we
// get back here
if (queue.Count == 0)
// No packets in this queue. Fire the queue empty callback
// if it has not been called recently
emptyCategories |= CategoryToFlag(i);
}
}
else
{
// No packets in this queue. Fire the queue empty callback
// if it has not been called recently
m_packetOutboxes[i] = new OpenSim.Framework.LocklessQueue<OutgoingPacket>();
emptyCategories |= CategoryToFlag(i);
}
}
@@ -703,4 +730,4 @@ namespace OpenSim.Region.ClientStack.LindenUDP
}
}
}
}
}

View File

@@ -244,11 +244,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
base.Start(m_recvBufferSize, m_asyncPacketHandling);
// Start the packet processing threads
Watchdog.StartThread(
IncomingPacketHandler, "Incoming Packets (" + m_scene.RegionInfo.RegionName + ")", ThreadPriority.Normal, false, true);
Watchdog.StartThread(
OutgoingPacketHandler, "Outgoing Packets (" + m_scene.RegionInfo.RegionName + ")", ThreadPriority.Normal, false, true);
Watchdog.StartThread(IncomingPacketHandler, "Incoming Packets (" + m_scene.RegionInfo.RegionName + ")", ThreadPriority.Normal, false);
Watchdog.StartThread(OutgoingPacketHandler, "Outgoing Packets (" + m_scene.RegionInfo.RegionName + ")", ThreadPriority.Normal, false);
m_elapsedMSSinceLastStatReport = Environment.TickCount;
}
@@ -906,64 +903,47 @@ namespace OpenSim.Region.ClientStack.LindenUDP
private void HandleUseCircuitCode(object o)
{
IPEndPoint remoteEndPoint = null;
IClientAPI client = null;
try
{
// DateTime startTime = DateTime.Now;
object[] array = (object[])o;
UDPPacketBuffer buffer = (UDPPacketBuffer)array[0];
UseCircuitCodePacket uccp = (UseCircuitCodePacket)array[1];
m_log.DebugFormat("[LLUDPSERVER]: Handling UseCircuitCode request from {0}", buffer.RemoteEndPoint);
remoteEndPoint = (IPEndPoint)buffer.RemoteEndPoint;
AuthenticateResponse sessionInfo;
if (IsClientAuthorized(uccp, out sessionInfo))
{
// Begin the process of adding the client to the simulator
client
= AddClient(
uccp.CircuitCode.Code,
uccp.CircuitCode.ID,
uccp.CircuitCode.SessionID,
remoteEndPoint,
sessionInfo);
// DateTime startTime = DateTime.Now;
object[] array = (object[])o;
UDPPacketBuffer buffer = (UDPPacketBuffer)array[0];
UseCircuitCodePacket uccp = (UseCircuitCodePacket)array[1];
// Send ack straight away to let the viewer know that the connection is active.
// The client will be null if it already exists (e.g. if on a region crossing the client sends a use
// circuit code to the existing child agent. This is not particularly obvious.
SendAckImmediate(remoteEndPoint, uccp.Header.Sequence);
// We only want to send initial data to new clients, not ones which are being converted from child to root.
if (client != null)
client.SceneAgent.SendInitialDataToMe();
}
else
{
// Don't create clients for unauthorized requesters.
m_log.WarnFormat(
"[LLUDPSERVER]: Connection request for client {0} connecting with unnotified circuit code {1} from {2}",
uccp.CircuitCode.ID, uccp.CircuitCode.Code, remoteEndPoint);
}
// m_log.DebugFormat(
// "[LLUDPSERVER]: Handling UseCircuitCode request from {0} took {1}ms",
// buffer.RemoteEndPoint, (DateTime.Now - startTime).Milliseconds);
m_log.DebugFormat("[LLUDPSERVER]: Handling UseCircuitCode request from {0}", buffer.RemoteEndPoint);
}
catch (Exception e)
IPEndPoint remoteEndPoint = (IPEndPoint)buffer.RemoteEndPoint;
AuthenticateResponse sessionInfo;
if (IsClientAuthorized(uccp, out sessionInfo))
{
m_log.ErrorFormat(
"[LLUDPSERVER]: UseCircuitCode handling from endpoint {0}, client {1} {2} failed. Exception {3}{4}",
remoteEndPoint != null ? remoteEndPoint.ToString() : "n/a",
client != null ? client.Name : "unknown",
client != null ? client.AgentId.ToString() : "unknown",
e.Message,
e.StackTrace);
// Begin the process of adding the client to the simulator
IClientAPI client
= AddClient(
uccp.CircuitCode.Code,
uccp.CircuitCode.ID,
uccp.CircuitCode.SessionID,
remoteEndPoint,
sessionInfo);
// Send ack straight away to let the viewer know that the connection is active.
// The client will be null if it already exists (e.g. if on a region crossing the client sends a use
// circuit code to the existing child agent. This is not particularly obvious.
SendAckImmediate(remoteEndPoint, uccp.Header.Sequence);
// We only want to send initial data to new clients, not ones which are being converted from child to root.
if (client != null)
client.SceneAgent.SendInitialDataToMe();
}
else
{
// Don't create clients for unauthorized requesters.
m_log.WarnFormat(
"[LLUDPSERVER]: Connection request for client {0} connecting with unnotified circuit code {1} from {2}",
uccp.CircuitCode.ID, uccp.CircuitCode.Code, remoteEndPoint);
}
// m_log.DebugFormat(
// "[LLUDPSERVER]: Handling UseCircuitCode request from {0} took {1}ms",
// buffer.RemoteEndPoint, (DateTime.Now - startTime).Milliseconds);
}
/// <summary>
@@ -1051,7 +1031,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
if (m_scene.TryGetClient(udpClient.AgentID, out client))
{
client.IsLoggingOut = true;
client.Close();
client.Close(false);
}
}
@@ -1063,6 +1043,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
while (base.IsRunning)
{
m_scene.ThreadAlive(1);
try
{
IncomingPacket incomingPacket = null;
@@ -1105,6 +1086,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
while (base.IsRunning)
{
m_scene.ThreadAlive(2);
try
{
m_packetSent = false;

View File

@@ -100,10 +100,6 @@ namespace OpenMetaverse
const int SIO_UDP_CONNRESET = -1744830452;
IPEndPoint ipep = new IPEndPoint(m_localBindAddress, m_udpPort);
m_log.DebugFormat(
"[UDPBASE]: Binding UDP listener using internal IP address config {0}:{1}",
ipep.Address, ipep.Port);
m_udpSocket = new Socket(
AddressFamily.InterNetwork,

View File

@@ -28,6 +28,7 @@
using System;
using System.IO;
using System.Reflection;
using System.Collections.Generic;
using log4net;
using OpenMetaverse;
using OpenSim.Framework;
@@ -38,6 +39,13 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction
{
public class AssetXferUploader
{
// Viewer's notion of the default texture
private List<UUID> defaultIDs = new List<UUID> {
new UUID("5748decc-f629-461c-9a36-a35a221fe21f"),
new UUID("7ca39b4c-bd19-4699-aff7-f93fd03d3e7b"),
new UUID("6522e74d-1660-4e7f-b601-6f48c1659a77"),
new UUID("c228d1cf-4b5d-4ba8-84f4-899a0796aa97")
};
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
/// <summary>
@@ -65,6 +73,7 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction
private UUID TransactionID = UUID.Zero;
private sbyte type = 0;
private byte wearableType = 0;
private byte[] m_oldData = null;
public ulong XferID;
private Scene m_Scene;
@@ -302,6 +311,7 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction
private void DoCreateItem(uint callbackID)
{
ValidateAssets();
m_Scene.AssetService.Store(m_asset);
InventoryItemBase item = new InventoryItemBase();
@@ -322,12 +332,84 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction
item.Flags = (uint) wearableType;
item.CreationDate = Util.UnixTimeSinceEpoch();
m_log.DebugFormat("[XFER]: Created item {0} with asset {1}",
item.ID, item.AssetID);
if (m_Scene.AddInventoryItem(item))
ourClient.SendInventoryItemCreateUpdate(item, callbackID);
else
ourClient.SendAlertMessage("Unable to create inventory item");
}
private void ValidateAssets()
{
if (m_asset.Type == (sbyte)AssetType.Clothing ||
m_asset.Type == (sbyte)AssetType.Bodypart)
{
string content = System.Text.Encoding.ASCII.GetString(m_asset.Data);
string[] lines = content.Split(new char[] {'\n'});
List<string> validated = new List<string>();
Dictionary<int, UUID> allowed = ExtractTexturesFromOldData();
int textures = 0;
foreach (string line in lines)
{
try
{
if (line.StartsWith("textures "))
{
textures = Convert.ToInt32(line.Substring(9));
validated.Add(line);
}
else if (textures > 0)
{
string[] parts = line.Split(new char[] {' '});
UUID tx = new UUID(parts[1]);
int id = Convert.ToInt32(parts[0]);
if (defaultIDs.Contains(tx) || tx == UUID.Zero ||
(allowed.ContainsKey(id) && allowed[id] == tx))
{
validated.Add(parts[0] + " " + tx.ToString());
}
else
{
int perms = m_Scene.InventoryService.GetAssetPermissions(ourClient.AgentId, tx);
int full = (int)(PermissionMask.Modify | PermissionMask.Transfer | PermissionMask.Copy);
if ((perms & full) != full)
{
m_log.ErrorFormat("[ASSET UPLOADER]: REJECTED update with texture {0} from {1} because they do not own the texture", tx, ourClient.AgentId);
validated.Add(parts[0] + " " + UUID.Zero.ToString());
}
else
{
validated.Add(line);
}
}
textures--;
}
else
{
validated.Add(line);
}
}
catch
{
// If it's malformed, skip it
}
}
string final = String.Join("\n", validated.ToArray());
m_asset.Data = System.Text.Encoding.ASCII.GetBytes(final);
}
}
/// <summary>
/// Get the asset data uploaded in this transfer.
/// </summary>
@@ -336,10 +418,55 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction
{
if (m_finished)
{
ValidateAssets();
return m_asset;
}
return null;
}
public void SetOldData(byte[] d)
{
m_oldData = d;
}
private Dictionary<int,UUID> ExtractTexturesFromOldData()
{
Dictionary<int,UUID> result = new Dictionary<int,UUID>();
if (m_oldData == null)
return result;
string content = System.Text.Encoding.ASCII.GetString(m_oldData);
string[] lines = content.Split(new char[] {'\n'});
int textures = 0;
foreach (string line in lines)
{
try
{
if (line.StartsWith("textures "))
{
textures = Convert.ToInt32(line.Substring(9));
}
else if (textures > 0)
{
string[] parts = line.Split(new char[] {' '});
UUID tx = new UUID(parts[1]);
int id = Convert.ToInt32(parts[0]);
result[id] = tx;
textures--;
}
}
catch
{
// If it's malformed, skip it
}
}
return result;
}
}
}

View File

@@ -257,53 +257,66 @@ namespace Flotsam.RegionModules.AssetCache
private void UpdateFileCache(string key, AssetBase asset)
{
string filename = GetFileName(asset.ID);
try
// TODO: Spawn this off to some seperate thread to do the actual writing
if (asset != null)
{
// If the file is already cached, don't cache it, just touch it so access time is updated
if (File.Exists(filename))
string filename = GetFileName(key);
try
{
File.SetLastAccessTime(filename, DateTime.Now);
}
else
{
// Once we start writing, make sure we flag that we're writing
// that object to the cache so that we don't try to write the
// same file multiple times.
lock (m_CurrentlyWriting)
// If the file is already cached, don't cache it, just touch it so access time is updated
if (File.Exists(filename))
{
#if WAIT_ON_INPROGRESS_REQUESTS
if (m_CurrentlyWriting.ContainsKey(filename))
// We don't really want to know about sharing
// violations here. If the file is locked, then
// the other thread has updated the time for us.
try
{
return;
File.SetLastAccessTime(filename, DateTime.Now);
}
else
catch
{
m_CurrentlyWriting.Add(filename, new ManualResetEvent(false));
}
}
} else {
// Once we start writing, make sure we flag that we're writing
// that object to the cache so that we don't try to write the
// same file multiple times.
lock (m_CurrentlyWriting)
{
#if WAIT_ON_INPROGRESS_REQUESTS
if (m_CurrentlyWriting.ContainsKey(filename))
{
return;
}
else
{
m_CurrentlyWriting.Add(filename, new ManualResetEvent(false));
}
#else
if (m_CurrentlyWriting.Contains(filename))
{
return;
}
else
{
m_CurrentlyWriting.Add(filename);
}
if (m_CurrentlyWriting.Contains(filename))
{
return;
}
else
{
m_CurrentlyWriting.Add(filename);
}
#endif
}
Util.FireAndForget(
delegate { WriteFileCache(filename, asset); });
}
Util.FireAndForget(
delegate { WriteFileCache(filename, asset); });
}
}
catch (Exception e)
{
m_log.ErrorFormat(
"[FLOTSAM ASSET CACHE]: Failed to update cache for asset {0}. Exception {1} {2}",
asset.ID, e.Message, e.StackTrace);
}
}
catch (Exception e)
{
m_log.ErrorFormat(
"[FLOTSAM ASSET CACHE]: Failed to update cache for asset {0}. Exception {1} {2}",
asset.ID, e.Message, e.StackTrace);
}
}

View File

@@ -28,6 +28,7 @@
using System;
using System.Collections.Generic;
using System.Reflection;
using System.Xml;
using log4net;
using Mono.Addins;
using Nini.Config;
@@ -38,6 +39,7 @@ using OpenSim.Region.Framework;
using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.Framework.Scenes;
using OpenSim.Region.Framework.Scenes.Serialization;
using OpenSim.Services.Interfaces;
namespace OpenSim.Region.CoreModules.Avatar.Attachments
{
@@ -115,6 +117,40 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
// m_log.DebugFormat("[ATTACHMENTS MODULE]: Rezzing any attachments for {0}", sp.Name);
XmlDocument doc = new XmlDocument();
string stateData = String.Empty;
IAttachmentsService attServ = m_scene.RequestModuleInterface<IAttachmentsService>();
if (attServ != null)
{
m_log.DebugFormat("[ATTACHMENT]: Loading attachment data from attachment service");
stateData = attServ.Get(sp.UUID.ToString());
if (stateData != String.Empty)
{
try
{
doc.LoadXml(stateData);
}
catch { }
}
}
Dictionary<UUID, string> itemData = new Dictionary<UUID, string>();
XmlNodeList nodes = doc.GetElementsByTagName("Attachment");
if (nodes.Count > 0)
{
foreach (XmlNode n in nodes)
{
XmlElement elem = (XmlElement)n;
string itemID = elem.GetAttribute("ItemID");
string xml = elem.InnerXml;
itemData[new UUID(itemID)] = xml;
}
}
List<AvatarAttachment> attachments = sp.Appearance.GetAttachments();
foreach (AvatarAttachment attach in attachments)
{
@@ -134,12 +170,22 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
try
{
string xmlData;
XmlDocument d = null;
UUID asset;
if (itemData.TryGetValue(attach.ItemID, out xmlData))
{
d = new XmlDocument();
d.LoadXml(xmlData);
m_log.InfoFormat("[ATTACHMENT]: Found saved state for item {0}, loading it", attach.ItemID);
}
// If we're an NPC then skip all the item checks and manipulations since we don't have an
// inventory right now.
if (sp.PresenceType == PresenceType.Npc)
RezSingleAttachmentFromInventoryInternal(sp, UUID.Zero, attach.AssetID, p);
RezSingleAttachmentFromInventoryInternal(sp, UUID.Zero, attach.AssetID, p, null);
else
RezSingleAttachmentFromInventory(sp, attach.ItemID, p);
RezSingleAttachmentFromInventory(sp, attach.ItemID, p, true, d);
}
catch (Exception e)
{
@@ -264,6 +310,11 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
}
public ISceneEntity RezSingleAttachmentFromInventory(IScenePresence sp, UUID itemID, uint AttachmentPt)
{
return RezSingleAttachmentFromInventory(sp, itemID, AttachmentPt, true, null);
}
public ISceneEntity RezSingleAttachmentFromInventory(IScenePresence sp, UUID itemID, uint AttachmentPt, bool updateInventoryStatus, XmlDocument doc)
{
if (!Enabled)
return null;
@@ -302,7 +353,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
return null;
}
SceneObjectGroup att = RezSingleAttachmentFromInventoryInternal(sp, itemID, UUID.Zero, AttachmentPt);
SceneObjectGroup att = RezSingleAttachmentFromInventoryInternal(sp, itemID, UUID.Zero, AttachmentPt, doc);
if (att == null)
DetachSingleAttachmentToInv(sp, itemID);
@@ -582,11 +633,11 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
Vector3 inventoryStoredPosition = new Vector3
(((grp.AbsolutePosition.X > (int)Constants.RegionSize)
? Constants.RegionSize - 6
? (float)Constants.RegionSize - 6
: grp.AbsolutePosition.X)
,
(grp.AbsolutePosition.Y > (int)Constants.RegionSize)
? Constants.RegionSize - 6
? (float)Constants.RegionSize - 6
: grp.AbsolutePosition.Y,
grp.AbsolutePosition.Z);
@@ -704,8 +755,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
}
}
private SceneObjectGroup RezSingleAttachmentFromInventoryInternal(
IScenePresence sp, UUID itemID, UUID assetID, uint attachmentPt)
protected SceneObjectGroup RezSingleAttachmentFromInventoryInternal(
IScenePresence sp, UUID itemID, UUID assetID, uint attachmentPt, XmlDocument doc)
{
IInventoryAccessModule invAccess = m_scene.RequestModuleInterface<IInventoryAccessModule>();
if (invAccess != null)
@@ -713,7 +764,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
lock (sp.AttachmentsSyncLock)
{
SceneObjectGroup objatt;
if (itemID != UUID.Zero)
objatt = invAccess.RezObject(sp.ControllingClient,
itemID, Vector3.Zero, Vector3.Zero, UUID.Zero, (byte)1, true,
@@ -722,11 +773,11 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
objatt = invAccess.RezObject(sp.ControllingClient,
null, assetID, Vector3.Zero, Vector3.Zero, UUID.Zero, (byte)1, true,
false, false, sp.UUID, true);
// m_log.DebugFormat(
// "[ATTACHMENTS MODULE]: Retrieved single object {0} for attachment to {1} on point {2}",
// objatt.Name, remoteClient.Name, AttachmentPt);
// m_log.DebugFormat(
// "[ATTACHMENTS MODULE]: Retrieved single object {0} for attachment to {1} on point {2}",
// objatt.Name, remoteClient.Name, AttachmentPt);
if (objatt != null)
{
// HasGroupChanged is being set from within RezObject. Ideally it would be set by the caller.
@@ -734,7 +785,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
bool tainted = false;
if (attachmentPt != 0 && attachmentPt != objatt.AttachmentPoint)
tainted = true;
// This will throw if the attachment fails
try
{
@@ -745,21 +796,27 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
m_log.ErrorFormat(
"[ATTACHMENTS MODULE]: Failed to attach {0} {1} for {2}, exception {3}{4}",
objatt.Name, objatt.UUID, sp.Name, e.Message, e.StackTrace);
// Make sure the object doesn't stick around and bail
sp.RemoveAttachment(objatt);
m_scene.DeleteSceneObject(objatt, false);
return null;
}
if (tainted)
objatt.HasGroupChanged = true;
if (doc != null)
{
objatt.LoadScriptState(doc);
objatt.ResetOwnerChangeFlag();
}
// Fire after attach, so we don't get messy perms dialogs
// 4 == AttachedRez
objatt.CreateScriptInstances(0, true, m_scene.DefaultScriptEngine, 4);
objatt.ResumeScripts();
// Do this last so that event listeners have access to all the effects of the attachment
m_scene.EventManager.TriggerOnAttach(objatt.LocalId, itemID, sp.UUID);
@@ -773,7 +830,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
}
}
}
return null;
}

View File

@@ -111,15 +111,6 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
#region IAvatarFactoryModule
/// </summary>
/// <param name="sp"></param>
/// <param name="texture"></param>
/// <param name="visualParam"></param>
public void SetAppearance(IScenePresence sp, AvatarAppearance appearance)
{
SetAppearance(sp, appearance.Texture, appearance.VisualParams);
}
/// <summary>
/// Set appearance data (texture asset IDs and slider settings)
/// </summary>
@@ -165,23 +156,14 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
changed = sp.Appearance.SetTextureEntries(textureEntry) || changed;
// WriteBakedTexturesReport(sp, m_log.DebugFormat);
// If bake textures are missing and this is not an NPC, request a rebake from client
if (!ValidateBakedTextureCache(sp) && (((ScenePresence)sp).PresenceType != PresenceType.Npc))
if (!ValidateBakedTextureCache(sp))
RequestRebake(sp, true);
// This appears to be set only in the final stage of the appearance
// update transaction. In theory, we should be able to do an immediate
// appearance send and save here.
}
// NPC should send to clients immediately and skip saving appearance
if (((ScenePresence)sp).PresenceType == PresenceType.Npc)
{
SendAppearance((ScenePresence)sp);
return;
}
// save only if there were changes, send no matter what (doesn't hurt to send twice)
if (changed)
QueueAppearanceSave(sp.ControllingClient.AgentId);
@@ -192,15 +174,6 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
// m_log.WarnFormat("[AVFACTORY]: complete SetAppearance for {0}:\n{1}",client.AgentId,sp.Appearance.ToString());
}
private void SendAppearance(ScenePresence sp)
{
// Send the appearance to everyone in the scene
sp.SendAppearanceToAllOtherAgents();
// Send animations back to the avatar as well
sp.Animator.SendAnimPack();
}
public bool SendAppearance(UUID agentId)
{
// m_log.DebugFormat("[AVFACTORY]: Sending appearance for {0}", agentId);
@@ -212,7 +185,12 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
return false;
}
SendAppearance(sp);
// Send the appearance to everyone in the scene
sp.SendAppearanceToAllOtherAgents();
// Send animations back to the avatar as well
sp.Animator.SendAnimPack();
return true;
}
@@ -496,10 +474,6 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
SetAppearanceAssets(sp.UUID, sp.Appearance);
m_scene.AvatarService.SetAppearance(agentid, sp.Appearance);
// Trigger this here because it's the final step in the set/queue/save process for appearance setting.
// Everything has been updated and stored. Ensures bakes have been persisted (if option is set to persist bakes).
m_scene.EventManager.TriggerAvatarAppearanceChanged(sp);
}
private void SetAppearanceAssets(UUID userID, AvatarAppearance appearance)
@@ -652,4 +626,4 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
outputAction("{0} baked appearance texture is {1}", sp.Name, bakedTextureValid ? "OK" : "corrupt");
}
}
}
}

View File

@@ -49,7 +49,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat
private int m_shoutdistance = 100;
private int m_whisperdistance = 10;
private List<Scene> m_scenes = new List<Scene>();
private List<string> FreezeCache = new List<string>();
private string m_adminPrefix = "";
internal object m_syncy = new object();
internal IConfig m_config;
@@ -76,6 +77,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat
m_whisperdistance = config.Configs["Chat"].GetInt("whisper_distance", m_whisperdistance);
m_saydistance = config.Configs["Chat"].GetInt("say_distance", m_saydistance);
m_shoutdistance = config.Configs["Chat"].GetInt("shout_distance", m_shoutdistance);
m_adminPrefix = config.Configs["Chat"].GetString("admin_prefix", "");
}
public virtual void AddRegion(Scene scene)
@@ -171,7 +173,15 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat
return;
}
DeliverChatToAvatars(ChatSourceType.Agent, c);
if (FreezeCache.Contains(c.Sender.AgentId.ToString()))
{
if (c.Type != ChatTypeEnum.StartTyping || c.Type != ChatTypeEnum.StopTyping)
c.Sender.SendAgentAlertMessage("You may not talk as you are frozen.", false);
}
else
{
DeliverChatToAvatars(ChatSourceType.Agent, c);
}
}
public virtual void OnChatFromWorld(Object sender, OSChatMessage c)
@@ -185,6 +195,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat
protected virtual void DeliverChatToAvatars(ChatSourceType sourceType, OSChatMessage c)
{
string fromName = c.From;
string fromNamePrefix = "";
UUID fromID = UUID.Zero;
string message = c.Message;
IScene scene = c.Scene;
@@ -207,7 +218,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat
fromPos = avatar.AbsolutePosition;
fromName = avatar.Name;
fromID = c.Sender.AgentId;
if (avatar.GodLevel >= 200)
{
fromNamePrefix = m_adminPrefix;
}
break;
case ChatSourceType.Object:
@@ -233,8 +247,20 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat
s.ForEachRootScenePresence(
delegate(ScenePresence presence)
{
if (TrySendChatMessage(presence, fromPos, regionPos, fromID, fromName, c.Type, message, sourceType))
receiverIDs.Add(presence.UUID);
ILandObject Presencecheck = s.LandChannel.GetLandObject(presence.AbsolutePosition.X, presence.AbsolutePosition.Y);
if (Presencecheck != null)
{
// This will pass all chat from objects. Not
// perfect, but it will do. For now. Better
// than the prior behavior of muting all
// objects on a parcel with access restrictions
if (c.Sender == null || Presencecheck.IsEitherBannedOrRestricted(c.Sender.AgentId) != true)
{
if (TrySendChatMessage(presence, fromPos, regionPos, fromID, fromNamePrefix + fromName, c.Type, message, sourceType))
receiverIDs.Add(presence.UUID);
}
}
}
);
}
@@ -278,26 +304,29 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat
}
// m_log.DebugFormat("[CHAT] Broadcast: fromID {0} fromName {1}, cType {2}, sType {3}", fromID, fromName, cType, sourceType);
HashSet<UUID> receiverIDs = new HashSet<UUID>();
((Scene)c.Scene).ForEachRootClient(
delegate(IClientAPI client)
{
// don't forward SayOwner chat from objects to
// non-owner agents
if ((c.Type == ChatTypeEnum.Owner) &&
(null != c.SenderObject) &&
(((SceneObjectPart)c.SenderObject).OwnerID != client.AgentId))
return;
client.SendChatMessage(c.Message, (byte)cType, CenterOfRegion, fromName, fromID,
(byte)sourceType, (byte)ChatAudibleLevel.Fully);
receiverIDs.Add(client.AgentId);
});
(c.Scene as Scene).EventManager.TriggerOnChatToClients(
fromID, receiverIDs, c.Message, cType, CenterOfRegion, fromName, sourceType, ChatAudibleLevel.Fully);
if (c.Scene != null)
{
((Scene)c.Scene).ForEachRootClient
(
delegate(IClientAPI client)
{
// don't forward SayOwner chat from objects to
// non-owner agents
if ((c.Type == ChatTypeEnum.Owner) &&
(null != c.SenderObject) &&
(((SceneObjectPart)c.SenderObject).OwnerID != client.AgentId))
return;
client.SendChatMessage(c.Message, (byte)cType, CenterOfRegion, fromName, fromID,
(byte)sourceType, (byte)ChatAudibleLevel.Fully);
receiverIDs.Add(client.AgentId);
}
);
(c.Scene as Scene).EventManager.TriggerOnChatToClients(
fromID, receiverIDs, c.Message, cType, CenterOfRegion, fromName, sourceType, ChatAudibleLevel.Fully);
}
}
/// <summary>
@@ -340,5 +369,35 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat
return true;
}
Dictionary<UUID, System.Threading.Timer> Timers = new Dictionary<UUID, System.Threading.Timer>();
public void ParcelFreezeUser(IClientAPI client, UUID parcelowner, uint flags, UUID target)
{
System.Threading.Timer Timer;
if (flags == 0)
{
FreezeCache.Add(target.ToString());
System.Threading.TimerCallback timeCB = new System.Threading.TimerCallback(OnEndParcelFrozen);
Timer = new System.Threading.Timer(timeCB, target, 30000, 0);
Timers.Add(target, Timer);
}
else
{
FreezeCache.Remove(target.ToString());
Timers.TryGetValue(target, out Timer);
Timers.Remove(target);
Timer.Dispose();
}
}
private void OnEndParcelFrozen(object avatar)
{
UUID target = (UUID)avatar;
FreezeCache.Remove(target.ToString());
System.Threading.Timer Timer;
Timers.TryGetValue(target, out Timer);
Timers.Remove(target);
Timer.Dispose();
}
}
}

View File

@@ -216,4 +216,4 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog
return result;
}
}
}
}

View File

@@ -328,7 +328,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
//m_log.DebugFormat("[XXX]: OnClientLogin!");
// Inform the friends that this user is online
StatusChange(agentID, true);
// Register that we need to send the list of online friends to this user
lock (m_NeedsListOfOnlineFriends)
m_NeedsListOfOnlineFriends.Add(agentID);
@@ -603,6 +603,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
{
StoreFriendships(client.AgentId, friendID);
ICallingCardModule ccm = client.Scene.RequestModuleInterface<ICallingCardModule>();
if (ccm != null)
{
ccm.CreateCallingCard(client.AgentId, friendID, UUID.Zero);
}
// Update the local cache
RecacheFriends(client);
@@ -779,6 +785,13 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
(byte)OpenMetaverse.InstantMessageDialog.FriendshipAccepted, userID.ToString(), false, Vector3.Zero);
friendClient.SendInstantMessage(im);
ICallingCardModule ccm = friendClient.Scene.RequestModuleInterface<ICallingCardModule>();
if (ccm != null)
{
ccm.CreateCallingCard(friendID, userID, UUID.Zero);
}
// Update the local cache
RecacheFriends(friendClient);
@@ -801,7 +814,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
// we're done
return true;
}
return false;
}
@@ -853,7 +866,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
public bool LocalStatusNotification(UUID userID, UUID friendID, bool online)
{
// m_log.DebugFormat("[FRIENDS]: Local Status Notify {0} that user {1} is {2}", friendID, userID, online);
//m_log.DebugFormat("[FRIENDS]: Local Status Notify {0} that user {1} is {2}", friendID, userID, online);
IClientAPI friendClient = LocateClientObject(friendID);
if (friendClient != null)
{

View File

@@ -31,16 +31,40 @@ using OpenMetaverse;
using OpenSim.Framework;
using OpenSim.Region.Framework.Scenes;
using OpenSim.Region.Framework.Interfaces;
using System;
using System.Reflection;
using System.Collections;
using System.Collections.Specialized;
using System.Reflection;
using System.IO;
using System.Web;
using System.Xml;
using log4net;
using Mono.Addins;
using OpenMetaverse.Messages.Linden;
using OpenMetaverse.StructuredData;
using OpenSim.Framework.Capabilities;
using OpenSim.Framework.Servers;
using OpenSim.Framework.Servers.HttpServer;
using Caps = OpenSim.Framework.Capabilities.Caps;
using OSDArray = OpenMetaverse.StructuredData.OSDArray;
using OSDMap = OpenMetaverse.StructuredData.OSDMap;
namespace OpenSim.Region.CoreModules.Avatar.Gods
{
public class GodsModule : IRegionModule, IGodsModule
{
private static readonly ILog m_log =
LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
/// <summary>Special UUID for actions that apply to all agents</summary>
private static readonly UUID ALL_AGENTS = new UUID("44e87126-e794-4ded-05b3-7c42da3d5cdb");
protected Scene m_scene;
protected IDialogModule m_dialogModule;
protected Dictionary<UUID, string> m_capsDict =
new Dictionary<UUID, string>();
public void Initialise(Scene scene, IConfigSource source)
{
@@ -48,6 +72,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods
m_dialogModule = m_scene.RequestModuleInterface<IDialogModule>();
m_scene.RegisterModuleInterface<IGodsModule>(this);
m_scene.EventManager.OnNewClient += SubscribeToClientEvents;
m_scene.EventManager.OnRegisterCaps += OnRegisterCaps;
m_scene.EventManager.OnClientClosed += OnClientClosed;
scene.EventManager.OnIncomingInstantMessage +=
OnIncomingInstantMessage;
}
public void PostInitialise() {}
@@ -67,6 +95,54 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods
client.OnRequestGodlikePowers -= RequestGodlikePowers;
}
private void OnClientClosed(UUID agentID, Scene scene)
{
m_capsDict.Remove(agentID);
}
private void OnRegisterCaps(UUID agentID, Caps caps)
{
string uri = "/CAPS/" + UUID.Random();
m_capsDict[agentID] = uri;
caps.RegisterHandler("UntrustedSimulatorMessage",
new RestStreamHandler("POST", uri,
HandleUntrustedSimulatorMessage));
}
private string HandleUntrustedSimulatorMessage(string request,
string path, string param, IOSHttpRequest httpRequest,
IOSHttpResponse httpResponse)
{
OSDMap osd = (OSDMap)OSDParser.DeserializeLLSDXml(request);
string message = osd["message"].AsString();
if (message == "GodKickUser")
{
OSDMap body = (OSDMap)osd["body"];
OSDArray userInfo = (OSDArray)body["UserInfo"];
OSDMap userData = (OSDMap)userInfo[0];
UUID agentID = userData["AgentID"].AsUUID();
UUID godID = userData["GodID"].AsUUID();
UUID godSessionID = userData["GodSessionID"].AsUUID();
uint kickFlags = userData["KickFlags"].AsUInteger();
string reason = userData["Reason"].AsString();
ScenePresence god = m_scene.GetScenePresence(godID);
if (god == null || god.ControllingClient.SessionId != godSessionID)
return String.Empty;
KickUser(godID, godSessionID, agentID, kickFlags, Util.StringToBytes1024(reason));
}
else
{
m_log.ErrorFormat("[GOD]: Unhandled UntrustedSimulatorMessage: {0}", message);
}
return String.Empty;
}
public void RequestGodlikePowers(
UUID agentID, UUID sessionID, UUID token, bool godLike, IClientAPI controllingClient)
{
@@ -115,69 +191,85 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods
/// <param name="reason">The message to send to the user after it's been turned into a field</param>
public void KickUser(UUID godID, UUID sessionID, UUID agentID, uint kickflags, byte[] reason)
{
UUID kickUserID = ALL_AGENTS;
if (!m_scene.Permissions.IsGod(godID))
return;
ScenePresence sp = m_scene.GetScenePresence(agentID);
if (sp != null || agentID == kickUserID)
if (sp == null && agentID != ALL_AGENTS)
{
if (m_scene.Permissions.IsGod(godID))
IMessageTransferModule transferModule =
m_scene.RequestModuleInterface<IMessageTransferModule>();
if (transferModule != null)
{
if (kickflags == 0)
{
if (agentID == kickUserID)
{
string reasonStr = Utils.BytesToString(reason);
m_scene.ForEachClient(
delegate(IClientAPI controller)
{
if (controller.AgentId != godID)
controller.Kick(reasonStr);
}
);
// This is a bit crude. It seems the client will be null before it actually stops the thread
// The thread will kill itself eventually :/
// Is there another way to make sure *all* clients get this 'inter region' message?
m_scene.ForEachRootClient(
delegate(IClientAPI client)
{
if (client.AgentId != godID)
{
client.Close();
}
}
);
}
else
{
m_scene.SceneGraph.removeUserCount(!sp.IsChildAgent);
sp.ControllingClient.Kick(Utils.BytesToString(reason));
sp.ControllingClient.Close();
}
}
if (kickflags == 1)
{
sp.AllowMovement = false;
m_dialogModule.SendAlertToUser(agentID, Utils.BytesToString(reason));
m_dialogModule.SendAlertToUser(godID, "User Frozen");
}
if (kickflags == 2)
{
sp.AllowMovement = true;
m_dialogModule.SendAlertToUser(agentID, Utils.BytesToString(reason));
m_dialogModule.SendAlertToUser(godID, "User Unfrozen");
}
m_log.DebugFormat("[GODS]: Sending nonlocal kill for agent {0}", agentID);
transferModule.SendInstantMessage(new GridInstantMessage(
m_scene, godID, "God", agentID, (byte)250, false,
Utils.BytesToString(reason), UUID.Zero, true,
new Vector3(), new byte[] {(byte)kickflags}),
delegate(bool success) {} );
}
else
return;
}
switch (kickflags)
{
case 0:
if (sp != null)
{
m_dialogModule.SendAlertToUser(godID, "Kick request denied");
KickPresence(sp, Utils.BytesToString(reason));
}
else if (agentID == ALL_AGENTS)
{
m_scene.ForEachRootScenePresence(
delegate(ScenePresence p)
{
if (p.UUID != godID && (!m_scene.Permissions.IsGod(p.UUID)))
KickPresence(p, Utils.BytesToString(reason));
}
);
}
break;
case 1:
if (sp != null)
{
sp.AllowMovement = false;
m_dialogModule.SendAlertToUser(agentID, Utils.BytesToString(reason));
m_dialogModule.SendAlertToUser(godID, "User Frozen");
}
break;
case 2:
if (sp != null)
{
sp.AllowMovement = true;
m_dialogModule.SendAlertToUser(agentID, Utils.BytesToString(reason));
m_dialogModule.SendAlertToUser(godID, "User Unfrozen");
}
break;
default:
break;
}
}
private void KickPresence(ScenePresence sp, string reason)
{
if (sp.IsChildAgent)
return;
sp.ControllingClient.Kick(reason);
sp.Scene.IncomingCloseAgent(sp.UUID);
}
private void OnIncomingInstantMessage(GridInstantMessage msg)
{
if (msg.dialog == (uint)250) // Nonlocal kick
{
UUID agentID = new UUID(msg.toAgentID);
string reason = msg.message;
UUID godID = new UUID(msg.fromAgentID);
uint kickMode = (uint)msg.binaryBucket[0];
KickUser(godID, UUID.Zero, agentID, kickMode, Util.StringToBytes1024(reason));
}
}
}
}
}

View File

@@ -27,6 +27,7 @@
using System;
using System.Collections.Generic;
using System.Reflection;
using System.Timers;
using log4net;
using Nini.Config;
using OpenMetaverse;
@@ -42,6 +43,10 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
private static readonly ILog m_log = LogManager.GetLogger(
MethodBase.GetCurrentMethod().DeclaringType);
private Timer m_logTimer = new Timer(10000);
private List<GridInstantMessage> m_logData = new List<GridInstantMessage>();
private string m_restUrl;
/// <value>
/// Is this module enabled?
/// </value>
@@ -61,9 +66,12 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
"InstantMessageModule", "InstantMessageModule") !=
"InstantMessageModule")
return;
m_restUrl = config.Configs["Messaging"].GetString("LogURL", String.Empty);
}
m_enabled = true;
m_logTimer.AutoReset = false;
m_logTimer.Elapsed += LogTimerElapsed;
}
public void AddRegion(Scene scene)
@@ -148,6 +156,9 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
{
byte dialog = im.dialog;
if (client != null && dialog == (byte)InstantMessageDialog.MessageFromAgent)
LogInstantMesssage(im);
if (dialog != (byte)InstantMessageDialog.MessageFromAgent
&& dialog != (byte)InstantMessageDialog.StartTyping
&& dialog != (byte)InstantMessageDialog.StopTyping
@@ -157,6 +168,32 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
return;
}
//DateTime dt = DateTime.UtcNow;
// Ticks from UtcNow, but make it look like local. Evil, huh?
//dt = DateTime.SpecifyKind(dt, DateTimeKind.Local);
//try
//{
// // Convert that to the PST timezone
// TimeZoneInfo timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("America/Los_Angeles");
// dt = TimeZoneInfo.ConvertTime(dt, timeZoneInfo);
//}
//catch
//{
// //m_log.Info("[OFFLINE MESSAGING]: No PST timezone found on this machine. Saving with local timestamp.");
//}
//// And make it look local again to fool the unix time util
//dt = DateTime.SpecifyKind(dt, DateTimeKind.Utc);
// If client is null, this message comes from storage and IS offline
if (client != null)
im.offline = 0;
if (im.offline == 0)
im.timestamp = (uint)Util.UnixTimeSinceEpoch();
if (m_TransferModule != null)
{
if (client != null)
@@ -200,5 +237,35 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
//
OnInstantMessage(null, msg);
}
private void LogInstantMesssage(GridInstantMessage im)
{
if (m_logData.Count < 20)
{
// Restart the log write timer
m_logTimer.Stop();
}
if (!m_logTimer.Enabled)
m_logTimer.Start();
lock (m_logData)
{
m_logData.Add(im);
}
}
private void LogTimerElapsed(object source, ElapsedEventArgs e)
{
lock (m_logData)
{
if (m_restUrl != String.Empty && m_logData.Count > 0)
{
bool success = SynchronousRestObjectRequester.MakeRequest<List<GridInstantMessage>, bool>("POST", m_restUrl + "/LogMessages/", m_logData);
if (!success)
m_log.ErrorFormat("[INSTANT MESSAGE]: Failed to save log data");
}
m_logData.Clear();
}
}
}
}

View File

@@ -48,6 +48,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private bool m_Enabled = false;
protected string m_MessageKey = String.Empty;
protected List<Scene> m_Scenes = new List<Scene>();
protected Dictionary<UUID, UUID> m_UserRegionMap = new Dictionary<UUID, UUID>();
@@ -67,14 +68,17 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
public virtual void Initialise(IConfigSource config)
{
IConfig cnf = config.Configs["Messaging"];
if (cnf != null && cnf.GetString(
"MessageTransferModule", "MessageTransferModule") !=
"MessageTransferModule")
if (cnf != null)
{
m_log.Debug("[MESSAGE TRANSFER]: Disabled by configuration");
return;
}
if (cnf.GetString("MessageTransferModule",
"MessageTransferModule") != "MessageTransferModule")
{
return;
}
m_MessageKey = cnf.GetString("MessageKey", String.Empty);
}
m_log.Debug("[MESSAGE TRANSFER]: Module enabled");
m_Enabled = true;
}
@@ -244,6 +248,19 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
&& requestData.ContainsKey("position_z") && requestData.ContainsKey("region_id")
&& requestData.ContainsKey("binary_bucket"))
{
if (m_MessageKey != String.Empty)
{
XmlRpcResponse error_resp = new XmlRpcResponse();
Hashtable error_respdata = new Hashtable();
error_respdata["success"] = "FALSE";
error_resp.Value = error_respdata;
if (!requestData.Contains("message_key"))
return error_resp;
if (m_MessageKey != (string)requestData["message_key"])
return error_resp;
}
// Do the easy way of validating the UUIDs
UUID.TryParse((string)requestData["from_agent_id"], out fromAgentID);
UUID.TryParse((string)requestData["to_agent_id"], out toAgentID);
@@ -420,24 +437,37 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
return resp;
}
/// <summary>
/// delegate for sending a grid instant message asynchronously
/// </summary>
public delegate void GridInstantMessageDelegate(GridInstantMessage im, MessageResultNotification result, UUID prevRegionID);
private delegate void GridInstantMessageDelegate(GridInstantMessage im, MessageResultNotification result);
protected virtual void GridInstantMessageCompleted(IAsyncResult iar)
private class GIM {
public GridInstantMessage im;
public MessageResultNotification result;
};
private Queue<GIM> pendingInstantMessages = new Queue<GIM>();
private int numInstantMessageThreads = 0;
private void SendGridInstantMessageViaXMLRPC(GridInstantMessage im, MessageResultNotification result)
{
GridInstantMessageDelegate icon =
(GridInstantMessageDelegate)iar.AsyncState;
icon.EndInvoke(iar);
lock (pendingInstantMessages) {
if (numInstantMessageThreads >= 4) {
GIM gim = new GIM();
gim.im = im;
gim.result = result;
pendingInstantMessages.Enqueue(gim);
} else {
++ numInstantMessageThreads;
//m_log.DebugFormat("[SendGridInstantMessageViaXMLRPC]: ++numInstantMessageThreads={0}", numInstantMessageThreads);
GridInstantMessageDelegate d = SendGridInstantMessageViaXMLRPCAsyncMain;
d.BeginInvoke(im, result, GridInstantMessageCompleted, d);
}
}
}
protected virtual void SendGridInstantMessageViaXMLRPC(GridInstantMessage im, MessageResultNotification result)
private void GridInstantMessageCompleted(IAsyncResult iar)
{
GridInstantMessageDelegate d = SendGridInstantMessageViaXMLRPCAsync;
d.BeginInvoke(im, result, UUID.Zero, GridInstantMessageCompleted, d);
GridInstantMessageDelegate d = (GridInstantMessageDelegate)iar.AsyncState;
d.EndInvoke(iar);
}
/// <summary>
@@ -452,8 +482,31 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
/// Pass in 0 the first time this method is called. It will be called recursively with the last
/// regionhandle tried
/// </param>
protected virtual void SendGridInstantMessageViaXMLRPCAsync(GridInstantMessage im, MessageResultNotification result, UUID prevRegionID)
private void SendGridInstantMessageViaXMLRPCAsyncMain(GridInstantMessage im, MessageResultNotification result)
{
GIM gim;
do {
try {
SendGridInstantMessageViaXMLRPCAsync(im, result, UUID.Zero);
} catch (Exception e) {
m_log.Error("[SendGridInstantMessageViaXMLRPC]: exception " + e.Message);
}
lock (pendingInstantMessages) {
if (pendingInstantMessages.Count > 0) {
gim = pendingInstantMessages.Dequeue();
im = gim.im;
result = gim.result;
} else {
gim = null;
-- numInstantMessageThreads;
//m_log.DebugFormat("[SendGridInstantMessageViaXMLRPC]: --numInstantMessageThreads={0}", numInstantMessageThreads);
}
}
} while (gim != null);
}
private void SendGridInstantMessageViaXMLRPCAsync(GridInstantMessage im, MessageResultNotification result, UUID prevRegionID)
{
UUID toAgentID = new UUID(im.toAgentID);
PresenceInfo upd = null;
@@ -520,7 +573,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
if (upd != null)
{
GridRegion reginfo = m_Scenes[0].GridService.GetRegionByUUID(m_Scenes[0].RegionInfo.ScopeID,
GridRegion reginfo = m_Scenes[0].GridService.GetRegionByUUID(UUID.Zero,
upd.RegionID);
if (reginfo != null)
{
@@ -669,6 +722,8 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
gim["position_z"] = msg.Position.Z.ToString();
gim["region_id"] = msg.RegionID.ToString();
gim["binary_bucket"] = Convert.ToBase64String(msg.binaryBucket,Base64FormattingOptions.None);
if (m_MessageKey != String.Empty)
gim["message_key"] = m_MessageKey;
return gim;
}

View File

@@ -171,7 +171,11 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
private void RetrieveInstantMessages(IClientAPI client)
{
if (m_RestURL != "")
if (m_RestURL == String.Empty)
{
return;
}
else
{
m_log.DebugFormat("[OFFLINE MESSAGING]: Retrieving stored messages for {0}", client.AgentId);
@@ -179,22 +183,25 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
= SynchronousRestObjectRequester.MakeRequest<UUID, List<GridInstantMessage>>(
"POST", m_RestURL + "/RetrieveMessages/", client.AgentId);
if (msglist == null)
m_log.WarnFormat("[OFFLINE MESSAGING]: WARNING null message list.");
foreach (GridInstantMessage im in msglist)
if (msglist != null)
{
// client.SendInstantMessage(im);
foreach (GridInstantMessage im in msglist)
{
// client.SendInstantMessage(im);
// Send through scene event manager so all modules get a chance
// to look at this message before it gets delivered.
//
// Needed for proper state management for stored group
// invitations
//
Scene s = FindScene(client.AgentId);
if (s != null)
s.EventManager.TriggerIncomingInstantMessage(im);
// Send through scene event manager so all modules get a chance
// to look at this message before it gets delivered.
//
// Needed for proper state management for stored group
// invitations
//
im.offline = 1;
Scene s = FindScene(client.AgentId);
if (s != null)
s.EventManager.TriggerIncomingInstantMessage(im);
}
}
}
}
@@ -205,24 +212,19 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
im.dialog != (byte)InstantMessageDialog.MessageFromAgent &&
im.dialog != (byte)InstantMessageDialog.GroupNotice &&
im.dialog != (byte)InstantMessageDialog.GroupInvitation &&
im.dialog != (byte)InstantMessageDialog.InventoryOffered)
im.dialog != (byte)InstantMessageDialog.InventoryOffered &&
im.dialog != (byte)InstantMessageDialog.TaskInventoryOffered)
{
return;
}
if (!m_ForwardOfflineGroupMessages)
{
if (im.dialog == (byte)InstantMessageDialog.GroupNotice ||
im.dialog != (byte)InstantMessageDialog.GroupInvitation)
return;
}
Scene scene = FindScene(new UUID(im.fromAgentID));
if (scene == null)
scene = m_SceneList[0];
bool success = SynchronousRestObjectRequester.MakeRequest<GridInstantMessage, bool>(
"POST", m_RestURL+"/SaveMessage/", im);
"POST", m_RestURL+"/SaveMessage/?scope=" +
scene.RegionInfo.ScopeID.ToString(), im);
if (im.dialog == (byte)InstantMessageDialog.MessageFromAgent)
{

View File

@@ -635,4 +635,4 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
m_assetsLoaded = true;
}
}
}
}

View File

@@ -178,9 +178,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
InventoryFolderBase inventoryFolder, string path, bool saveThisFolderItself,
Dictionary<string, object> options, IUserAccountService userAccountService)
{
if (options.ContainsKey("verbose"))
m_log.InfoFormat("[INVENTORY ARCHIVER]: Saving folder {0}", inventoryFolder.Name);
if (saveThisFolderItself)
{
path += CreateArchiveFolderName(inventoryFolder);
@@ -449,4 +446,4 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
return s;
}
}
}
}

View File

@@ -349,6 +349,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
{
try
{
m_log.Info("[INVENTORY ARCHIVER]: PLEASE NOTE THAT THIS FACILITY IS EXPERIMENTAL. BUG REPORTS WELCOME.");
Dictionary<string, object> options = new Dictionary<string, object>();
OptionSet optionSet = new OptionSet().Add("m|merge", delegate (string v) { options["merge"] = v != null; });
@@ -410,6 +412,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
return;
}
m_log.Info("[INVENTORY ARCHIVER]: PLEASE NOTE THAT THIS FACILITY IS EXPERIMENTAL. BUG REPORTS WELCOME.");
if (options.ContainsKey("home"))
m_log.WarnFormat("[INVENTORY ARCHIVER]: Please be aware that inventory archives with creator information are not compatible with OpenSim 0.7.0.2 and earlier. Do not use the -home option if you want to produce a compatible IAR");

View File

@@ -175,8 +175,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
if (im.binaryBucket.Length < 17) // Invalid
return;
UUID receipientID = new UUID(im.toAgentID);
ScenePresence user = scene.GetScenePresence(receipientID);
UUID recipientID = new UUID(im.toAgentID);
ScenePresence user = scene.GetScenePresence(recipientID);
UUID copyID;
// First byte is the asset type
@@ -191,7 +191,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
folderID, new UUID(im.toAgentID));
InventoryFolderBase folderCopy
= scene.GiveInventoryFolder(receipientID, client.AgentId, folderID, UUID.Zero);
= scene.GiveInventoryFolder(recipientID, client.AgentId, folderID, UUID.Zero);
if (folderCopy == null)
{
@@ -244,6 +244,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
im.imSessionID = itemID.Guid;
}
im.offline = 0;
// Send the IM to the recipient. The item is already
// in their inventory, so it will not be lost if
// they are offline.
@@ -263,7 +265,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
});
}
}
else if (im.dialog == (byte) InstantMessageDialog.InventoryAccepted)
else if (im.dialog == (byte) InstantMessageDialog.InventoryAccepted ||
im.dialog == (byte) InstantMessageDialog.TaskInventoryAccepted)
{
ScenePresence user = scene.GetScenePresence(new UUID(im.toAgentID));
@@ -274,30 +277,11 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
else
{
if (m_TransferModule != null)
m_TransferModule.SendInstantMessage(im, delegate(bool success) {
// justincc - FIXME: Comment out for now. This code was added in commit db91044 Mon Aug 22 2011
// and is apparently supposed to fix bulk inventory updates after accepting items. But
// instead it appears to cause two copies of an accepted folder for the receiving user in
// at least some cases. Folder/item update is already done when the offer is made (see code above)
// // Send BulkUpdateInventory
// IInventoryService invService = scene.InventoryService;
// UUID inventoryEntityID = new UUID(im.imSessionID); // The inventory item /folder, back from it's trip
//
// InventoryFolderBase folder = new InventoryFolderBase(inventoryEntityID, client.AgentId);
// folder = invService.GetFolder(folder);
//
// ScenePresence fromUser = scene.GetScenePresence(new UUID(im.fromAgentID));
//
// // If the user has left the scene by the time the message comes back then we can't send
// // them the update.
// if (fromUser != null)
// fromUser.ControllingClient.SendBulkUpdateInventory(folder);
});
m_TransferModule.SendInstantMessage(im, delegate(bool success) {});
}
}
else if (im.dialog == (byte) InstantMessageDialog.InventoryDeclined)
else if (im.dialog == (byte) InstantMessageDialog.InventoryDeclined ||
im.dialog == (byte) InstantMessageDialog.TaskInventoryDeclined)
{
// Here, the recipient is local and we can assume that the
// inventory is loaded. Courtesy of the above bulk update,
@@ -333,6 +317,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
{
folder.ParentID = trashFolder.ID;
invService.MoveFolder(folder);
client.SendBulkUpdateInventory(folder);
}
}
@@ -433,22 +418,113 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
///
/// </summary>
/// <param name="msg"></param>
private void OnGridInstantMessage(GridInstantMessage msg)
private void OnGridInstantMessage(GridInstantMessage im)
{
// Check if this is ours to handle
//
Scene scene = FindClientScene(new UUID(msg.toAgentID));
Scene scene = FindClientScene(new UUID(im.toAgentID));
if (scene == null)
return;
// Find agent to deliver to
//
ScenePresence user = scene.GetScenePresence(new UUID(msg.toAgentID));
ScenePresence user = scene.GetScenePresence(new UUID(im.toAgentID));
if (user == null)
return;
// Just forward to local handling
OnInstantMessage(user.ControllingClient, msg);
// This requires a little bit of processing because we have to make the
// new item visible in the recipient's inventory here
//
if (im.dialog == (byte) InstantMessageDialog.InventoryOffered)
{
if (im.binaryBucket.Length < 17) // Invalid
return;
UUID recipientID = new UUID(im.toAgentID);
// First byte is the asset type
AssetType assetType = (AssetType)im.binaryBucket[0];
if (AssetType.Folder == assetType)
{
UUID folderID = new UUID(im.binaryBucket, 1);
InventoryFolderBase given =
new InventoryFolderBase(folderID, recipientID);
InventoryFolderBase folder =
scene.InventoryService.GetFolder(given);
if (folder != null)
user.ControllingClient.SendBulkUpdateInventory(folder);
}
else
{
UUID itemID = new UUID(im.binaryBucket, 1);
InventoryItemBase given =
new InventoryItemBase(itemID, recipientID);
InventoryItemBase item =
scene.InventoryService.GetItem(given);
if (item != null)
{
user.ControllingClient.SendBulkUpdateInventory(item);
}
}
user.ControllingClient.SendInstantMessage(im);
}
if (im.dialog == (byte) InstantMessageDialog.TaskInventoryOffered)
{
if (im.binaryBucket.Length < 1) // Invalid
return;
UUID recipientID = new UUID(im.toAgentID);
// Bucket is the asset type
AssetType assetType = (AssetType)im.binaryBucket[0];
if (AssetType.Folder == assetType)
{
UUID folderID = new UUID(im.imSessionID);
InventoryFolderBase given =
new InventoryFolderBase(folderID, recipientID);
InventoryFolderBase folder =
scene.InventoryService.GetFolder(given);
if (folder != null)
user.ControllingClient.SendBulkUpdateInventory(folder);
}
else
{
UUID itemID = new UUID(im.imSessionID);
InventoryItemBase given =
new InventoryItemBase(itemID, recipientID);
InventoryItemBase item =
scene.InventoryService.GetItem(given);
if (item != null)
{
user.ControllingClient.SendBulkUpdateInventory(item);
}
}
// Fix up binary bucket since this may be 17 chars long here
Byte[] bucket = new Byte[1];
bucket[0] = im.binaryBucket[0];
im.binaryBucket = bucket;
user.ControllingClient.SendInstantMessage(im);
}
else if (im.dialog == (byte) InstantMessageDialog.InventoryAccepted ||
im.dialog == (byte) InstantMessageDialog.InventoryDeclined ||
im.dialog == (byte) InstantMessageDialog.TaskInventoryDeclined ||
im.dialog == (byte) InstantMessageDialog.TaskInventoryAccepted)
{
user.ControllingClient.SendInstantMessage(im);
}
}
}
}

View File

@@ -155,16 +155,29 @@ namespace OpenSim.Region.CoreModules.Avatar.Lure
scene.RegionInfo.RegionHandle,
(uint)presence.AbsolutePosition.X,
(uint)presence.AbsolutePosition.Y,
(uint)presence.AbsolutePosition.Z);
(uint)presence.AbsolutePosition.Z + 2);
m_log.DebugFormat("TP invite with message {0}", message);
m_log.DebugFormat("[LURE]: TP invite with message {0}", message);
GridInstantMessage m;
if (scene.Permissions.IsAdministrator(client.AgentId) && presence.GodLevel >= 200 && (!scene.Permissions.IsAdministrator(targetid)))
{
m = new GridInstantMessage(scene, client.AgentId,
client.FirstName+" "+client.LastName, targetid,
(byte)InstantMessageDialog.GodLikeRequestTeleport, false,
message, dest, false, presence.AbsolutePosition,
new Byte[0]);
}
else
{
m = new GridInstantMessage(scene, client.AgentId,
client.FirstName+" "+client.LastName, targetid,
(byte)InstantMessageDialog.RequestTeleport, false,
message, dest, false, presence.AbsolutePosition,
new Byte[0]);
}
GridInstantMessage m = new GridInstantMessage(scene, client.AgentId,
client.FirstName+" "+client.LastName, targetid,
(byte)InstantMessageDialog.RequestTeleport, false,
message, dest, false, presence.AbsolutePosition,
new Byte[0]);
if (m_TransferModule != null)
{
m_TransferModule.SendInstantMessage(m,
@@ -199,7 +212,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Lure
{
// Forward remote teleport requests
//
if (msg.dialog != 22)
if (msg.dialog != (byte)InstantMessageDialog.RequestTeleport &&
msg.dialog != (byte)InstantMessageDialog.GodLikeRequestTeleport)
return;
if (m_TransferModule != null)

View File

@@ -150,16 +150,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Profile
string skillsText = String.Empty;
string languages = String.Empty;
UserAccount account = m_Scenes[0].UserAccountService.GetUserAccount(m_Scenes[0].RegionInfo.ScopeID, avatarID);
string name = "Avatar";
int created = 0;
if (account != null)
{
name = account.FirstName + " " + account.LastName;
created = account.Created;
}
Byte[] charterMember = Utils.StringToBytes(name);
Byte[] charterMember = Utils.StringToBytes("Avatar");
profileUrl = "No profile data";
aboutText = string.Empty;
@@ -169,7 +160,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Profile
partner = UUID.Zero;
remoteClient.SendAvatarProperties(avatarID, aboutText,
Util.ToDateTime(created).ToString(
Util.ToDateTime(0).ToString(
"M/d/yyyy", CultureInfo.InvariantCulture),
charterMember, firstLifeAboutText,
(uint)(0 & 0xff),

View File

@@ -101,7 +101,8 @@ namespace OpenSim.Region.CoreModules.Framework
public void CreateCaps(UUID agentId)
{
if (m_scene.RegionInfo.EstateSettings.IsBanned(agentId))
int flags = m_scene.GetUserFlags(agentId);
if (m_scene.RegionInfo.EstateSettings.IsBanned(agentId, flags))
return;
String capsObjectPath = GetCapsPath(agentId);

View File

@@ -126,7 +126,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
protected virtual void OnNewClient(IClientAPI client)
{
client.OnTeleportHomeRequest += TeleportHome;
client.OnTeleportHomeRequest += TriggerTeleportHome;
client.OnTeleportLandmarkRequest += RequestTeleportLandmark;
}
@@ -204,6 +204,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
sp.ControllingClient.SendTeleportStart(teleportFlags);
sp.ControllingClient.SendLocalTeleport(position, lookAt, teleportFlags);
sp.TeleportFlags = (Constants.TeleportFlags)teleportFlags;
sp.Teleport(position);
foreach (SceneObjectGroup grp in sp.GetAttachments())
@@ -319,7 +320,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
// This may be a costly operation. The reg.ExternalEndPoint field is not a passive field,
// it's actually doing a lot of work.
IPEndPoint endPoint = finalDestination.ExternalEndPoint;
if (endPoint.Address != null)
if (endPoint != null && endPoint.Address != null)
{
// Fixing a bug where teleporting while sitting results in the avatar ending up removed from
// both regions
@@ -630,7 +631,12 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
#region Teleport Home
public virtual void TeleportHome(UUID id, IClientAPI client)
public virtual void TriggerTeleportHome(UUID id, IClientAPI client)
{
TeleportHome(id, client);
}
public virtual bool TeleportHome(UUID id, IClientAPI client)
{
m_log.DebugFormat("[ENTITY TRANSFER MODULE]: Request to teleport {0} {1} home", client.FirstName, client.LastName);
@@ -639,12 +645,18 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
if (uinfo != null)
{
if (uinfo.HomeRegionID == UUID.Zero)
{
// can't find the Home region: Tell viewer and abort
client.SendTeleportFailed("You don't have a home position set.");
return false;
}
GridRegion regionInfo = m_aScene.GridService.GetRegionByUUID(UUID.Zero, uinfo.HomeRegionID);
if (regionInfo == null)
{
// can't find the Home region: Tell viewer and abort
client.SendTeleportFailed("Your home region could not be found.");
return;
return false;
}
m_log.DebugFormat("[ENTITY TRANSFER MODULE]: User's home region is {0} {1} ({2}-{3})",
@@ -655,6 +667,13 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
client, regionInfo.RegionHandle, uinfo.HomePosition, uinfo.HomeLookAt,
(uint)(Constants.TeleportFlags.SetLastToTarget | Constants.TeleportFlags.ViaHome));
}
else
{
// can't find the Home region: Tell viewer and abort
client.SendTeleportFailed("Your home region could not be found.");
return false;
}
return true;
}
#endregion
@@ -994,9 +1013,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
neighbourRegion.RegionHandle);
return agent;
}
// No turning back
agent.IsChildAgent = true;
string capsPath = neighbourRegion.ServerURI + CapsUtil.GetCapsSeedPath(agentcaps);
m_log.DebugFormat("[ENTITY TRANSFER MODULE]: Sending new CAPS seed url {0} to client {1}", capsPath, agent.UUID);
@@ -1127,10 +1143,14 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
agent.Id0 = currentAgentCircuit.Id0;
}
InformClientOfNeighbourDelegate d = InformClientOfNeighbourAsync;
d.BeginInvoke(sp, agent, region, region.ExternalEndPoint, true,
IPEndPoint external = region.ExternalEndPoint;
if (external != null)
{
InformClientOfNeighbourDelegate d = InformClientOfNeighbourAsync;
d.BeginInvoke(sp, agent, region, external, true,
InformClientOfNeighbourCompleted,
d);
}
}
#endregion
@@ -1141,6 +1161,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
/// <summary>
/// This informs all neighbouring regions about agent "avatar".
/// Calls an asynchronous method to do so.. so it doesn't lag the sim.
/// </summary>
/// <param name="sp"></param>
public void EnableChildAgents(ScenePresence sp)
@@ -1260,16 +1281,13 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
if (neighbour.RegionHandle != sp.Scene.RegionInfo.RegionHandle)
{
InformClientOfNeighbourDelegate d = InformClientOfNeighbourAsync;
try
{
// Let's put this back at sync, so that it doesn't clog
// the network, especially for regions in the same physical server.
// We're really not in a hurry here.
InformClientOfNeighbourAsync(sp, cagents[count], neighbour, neighbour.ExternalEndPoint, newAgent);
//InformClientOfNeighbourDelegate d = InformClientOfNeighbourAsync;
//d.BeginInvoke(sp, cagents[count], neighbour, neighbour.ExternalEndPoint, newAgent,
// InformClientOfNeighbourCompleted,
// d);
//neighbour.ExternalEndPoint may return null, which will be caught
d.BeginInvoke(sp, cagents[count], neighbour, neighbour.ExternalEndPoint, newAgent,
InformClientOfNeighbourCompleted,
d);
}
catch (ArgumentOutOfRangeException)
@@ -1380,8 +1398,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
m_log.Debug("[ENTITY TRANSFER MODULE]: Completed inform client about neighbour " + endPoint.ToString());
}
if (!regionAccepted)
m_log.DebugFormat("[ENTITY TRANSFER MODULE]: Region {0} did not accept agent: {1}", reg.RegionName, reason);
}
/// <summary>
@@ -1704,27 +1720,28 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
// Offset the positions for the new region across the border
Vector3 oldGroupPosition = grp.RootPart.GroupPosition;
grp.RootPart.GroupPosition = pos;
// If we fail to cross the border, then reset the position of the scene object on that border.
uint x = 0, y = 0;
Utils.LongToUInts(newRegionHandle, out x, out y);
GridRegion destination = scene.GridService.GetRegionByPosition(scene.RegionInfo.ScopeID, (int)x, (int)y);
if (destination == null || !CrossPrimGroupIntoNewRegion(destination, pos, grp, silent))
if (destination == null || !CrossPrimGroupIntoNewRegion(destination, grp, silent))
{
m_log.InfoFormat("[ENTITY TRANSFER MODULE] cross region transfer failed for object {0}",grp.UUID);
// Need to turn off the physics flags, otherwise the object will continue to attempt to
// move out of the region creating an infinite loop of failed attempts to cross
grp.UpdatePrimFlags(grp.RootPart.LocalId,false,grp.IsTemporary,grp.IsPhantom,false);
// We are going to move the object back to the old position so long as the old position
// is in the region
oldGroupPosition.X = Util.Clamp<float>(oldGroupPosition.X,1.0f,(float)Constants.RegionSize-1);
oldGroupPosition.Y = Util.Clamp<float>(oldGroupPosition.Y,1.0f,(float)Constants.RegionSize-1);
oldGroupPosition.Z = Util.Clamp<float>(oldGroupPosition.Z,1.0f,4096.0f);
grp.RootPart.GroupPosition = oldGroupPosition;
// Need to turn off the physics flags, otherwise the object will continue to attempt to
// move out of the region creating an infinite loop of failed attempts to cross
grp.UpdatePrimFlags(grp.RootPart.LocalId,false,grp.IsTemporary,grp.IsPhantom,false);
grp.AbsolutePosition = oldGroupPosition;
grp.ScheduleGroupForFullUpdate();
}
@@ -1740,7 +1757,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
/// true if the crossing itself was successful, false on failure
/// FIMXE: we still return true if the crossing object was not successfully deleted from the originating region
/// </returns>
protected bool CrossPrimGroupIntoNewRegion(GridRegion destination, Vector3 newPosition, SceneObjectGroup grp, bool silent)
protected bool CrossPrimGroupIntoNewRegion(GridRegion destination, SceneObjectGroup grp, bool silent)
{
//m_log.Debug(" >>> CrossPrimGroupIntoNewRegion <<<");
@@ -1765,7 +1782,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
//if (m_interregionCommsOut != null)
// successYN = m_interregionCommsOut.SendCreateObject(newRegionHandle, grp, true);
if (m_aScene.SimulationService != null)
successYN = m_aScene.SimulationService.CreateObject(destination, newPosition, grp, true);
successYN = m_aScene.SimulationService.CreateObject(destination, grp, true);
if (successYN)
{
@@ -1824,7 +1841,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
gobj.IsAttachment = false;
//gobj.RootPart.LastOwnerID = gobj.GetFromAssetID();
m_log.DebugFormat("[ENTITY TRANSFER MODULE]: Sending attachment {0} to region {1}", gobj.UUID, destination.RegionName);
CrossPrimGroupIntoNewRegion(destination, Vector3.Zero, gobj, silent);
CrossPrimGroupIntoNewRegion(destination, gobj, silent);
}
}

View File

@@ -84,7 +84,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
protected override void OnNewClient(IClientAPI client)
{
client.OnTeleportHomeRequest += TeleportHome;
client.OnTeleportHomeRequest += TriggerTeleportHome;
client.OnTeleportLandmarkRequest += RequestTeleportLandmark;
client.OnConnectionClosed += new Action<IClientAPI>(OnConnectionClosed);
}
@@ -182,7 +182,12 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
return m_aScene.SimulationService.CreateAgent(reg, agentCircuit, teleportFlags, out reason);
}
public override void TeleportHome(UUID id, IClientAPI client)
public void TriggerTeleportHome(UUID id, IClientAPI client)
{
TeleportHome(id, client);
}
public override bool TeleportHome(UUID id, IClientAPI client)
{
m_log.DebugFormat("[HG ENTITY TRANSFER MODULE]: Request to teleport {0} {1} home", client.FirstName, client.LastName);
@@ -192,8 +197,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
{
// local grid user
m_log.DebugFormat("[HG ENTITY TRANSFER MODULE]: User is local");
base.TeleportHome(id, client);
return;
return base.TeleportHome(id, client);
}
// Foreign user wants to go home
@@ -203,7 +207,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
{
client.SendTeleportFailed("Your information has been lost");
m_log.DebugFormat("[HG ENTITY TRANSFER MODULE]: Unable to locate agent's gateway information");
return;
return false;
}
IUserAgentService userAgentService = new UserAgentServiceConnector(aCircuit.ServiceURLs["HomeURI"].ToString());
@@ -213,7 +217,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
{
client.SendTeleportFailed("Your home region could not be found");
m_log.DebugFormat("[HG ENTITY TRANSFER MODULE]: Agent's home region not found");
return;
return false;
}
ScenePresence sp = ((Scene)(client.Scene)).GetScenePresence(client.AgentId);
@@ -221,7 +225,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
{
client.SendTeleportFailed("Internal error");
m_log.DebugFormat("[HG ENTITY TRANSFER MODULE]: Agent not found in the scene where it is supposed to be");
return;
return false;
}
IEventQueue eq = sp.Scene.RequestModuleInterface<IEventQueue>();
@@ -231,6 +235,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
aCircuit.firstname, aCircuit.lastname, finalDestination.RegionName, homeGatekeeper.ServerURI, homeGatekeeper.RegionName);
DoTeleport(sp, homeGatekeeper, finalDestination, position, lookAt, (uint)(Constants.TeleportFlags.SetLastToTarget | Constants.TeleportFlags.ViaHome), eq);
return true;
}
/// <summary>

View File

@@ -117,7 +117,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
string userAssetServer = string.Empty;
if (IsForeignUser(avatarID, out userAssetServer) && userAssetServer != string.Empty && m_OutboundPermission)
{
m_assMapper.Post(assetID, avatarID, userAssetServer);
Util.FireAndForget(delegate { m_assMapper.Post(assetID, avatarID, userAssetServer); });
}
}

View File

@@ -367,6 +367,11 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
originalPositions[objectGroup.UUID] = objectGroup.AbsolutePosition;
// Restore attachment data after trip through the sim
if (objectGroup.RootPart.AttachPoint > 0)
inventoryStoredPosition = objectGroup.RootPart.AttachOffset;
objectGroup.RootPart.Shape.State = objectGroup.RootPart.AttachPoint;
objectGroup.AbsolutePosition = inventoryStoredPosition;
// Make sure all bits but the ones we want are clear
@@ -476,8 +481,17 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
IClientAPI remoteClient)
{
uint effectivePerms = (uint)(PermissionMask.Copy | PermissionMask.Transfer | PermissionMask.Modify | PermissionMask.Move) | 7;
// For the porposes of inventory, an object is modify if the prims
// are modify. This allows renaming an object that contains no
// mod items.
foreach (SceneObjectGroup grp in objsForEffectivePermissions)
effectivePerms &= grp.GetEffectivePermissions();
{
uint groupPerms = grp.GetEffectivePermissions(true);
if ((grp.RootPart.BaseMask & (uint)PermissionMask.Modify) != 0)
groupPerms |= (uint)PermissionMask.Modify;
effectivePerms &= groupPerms;
}
effectivePerms |= (uint)PermissionMask.Move;
if (remoteClient != null && (remoteClient.AgentId != so.RootPart.OwnerID) && m_Scene.Permissions.PropagatePermissions())
@@ -551,14 +565,9 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
// "[INVENTORY ACCESS MODULE]: Target of {0} in CreateItemForObject() is {1} {2}",
// action, remoteClient.Name, userID);
}
else if (so.RootPart.OwnerID == so.RootPart.GroupID)
{
// Group owned objects go to the last owner before the object was transferred.
userID = so.RootPart.LastOwnerID;
}
else
{
// Other returns / deletes go to the object owner
// All returns / deletes go to the object owner
//
userID = so.RootPart.OwnerID;
@@ -657,7 +666,8 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
if (so.RootPart.FromFolderID != UUID.Zero && userID == remoteClient.AgentId)
{
InventoryFolderBase f = new InventoryFolderBase(so.RootPart.FromFolderID, userID);
folder = m_Scene.InventoryService.GetFolder(f);
if (f != null)
folder = m_Scene.InventoryService.GetFolder(f);
}
}
@@ -687,15 +697,11 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
bool RezSelected, bool RemoveItem, UUID fromTaskID, bool attachment)
{
// m_log.DebugFormat("[INVENTORY ACCESS MODULE]: RezObject for {0}, item {1}", remoteClient.Name, itemID);
InventoryItemBase item = new InventoryItemBase(itemID, remoteClient.AgentId);
item = m_Scene.InventoryService.GetItem(item);
if (item == null)
{
m_log.WarnFormat(
"[InventoryAccessModule]: Could not find item {0} for {1} in RezObject()",
itemID, remoteClient.Name);
return null;
}
@@ -747,6 +753,11 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
if (e == null || attachment) // Single
{
SceneObjectGroup g = SceneObjectSerializer.FromOriginalXmlFormat(xmlData);
if (!attachment)
{
g.RootPart.AttachPoint = g.RootPart.Shape.State;
g.RootPart.AttachOffset = g.AbsolutePosition;
}
objlist.Add(g);
veclist.Add(new Vector3(0, 0, 0));
@@ -776,6 +787,8 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
foreach (XmlNode n in groups)
{
SceneObjectGroup g = SceneObjectSerializer.FromOriginalXmlFormat(n.OuterXml);
g.RootPart.AttachPoint = g.RootPart.Shape.State;
g.RootPart.AttachOffset = g.AbsolutePosition;
objlist.Add(g);
XmlElement el = (XmlElement)n;
@@ -795,12 +808,35 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
}
}
int primcount = 0;
foreach (SceneObjectGroup g in objlist)
primcount += g.PrimCount;
if (!m_Scene.Permissions.CanRezObject(
primcount, remoteClient.AgentId, pos)
&& !attachment)
{
// The client operates in no fail mode. It will
// have already removed the item from the folder
// if it's no copy.
// Put it back if it's not an attachment
//
if (item != null)
{
if (((item.CurrentPermissions & (uint)PermissionMask.Copy) == 0) && (!attachment))
remoteClient.SendBulkUpdateInventory(item);
}
return null;
}
if (item != null && !DoPreRezWhenFromItem(remoteClient, item, objlist, pos, attachment))
return null;
for (int i = 0; i < objlist.Count; i++)
{
group = objlist[i];
SceneObjectPart rootPart = group.RootPart;
// m_log.DebugFormat(
// "[InventoryAccessModule]: Preparing to rez {0} {1} {2} ownermask={3:X} nextownermask={4:X} groupmask={5:X} everyonemask={6:X} for {7}",
@@ -861,8 +897,6 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
if (!attachment)
{
SceneObjectPart rootPart = group.RootPart;
if (rootPart.Shape.PCode == (byte)PCode.Prim)
group.ClearPartAttachmentData();
@@ -880,6 +914,8 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
// remoteClient.Name);
}
group.SetGroup(remoteClient.ActiveGroupId, remoteClient);
if (item != null)
DoPostRezWhenFromItem(item, attachment);
@@ -919,25 +955,6 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
}
}
int primcount = 0;
foreach (SceneObjectGroup g in objlist)
primcount += g.PrimCount;
if (!m_Scene.Permissions.CanRezObject(
primcount, remoteClient.AgentId, pos)
&& !isAttachment)
{
// The client operates in no fail mode. It will
// have already removed the item from the folder
// if it's no copy.
// Put it back if it's not an attachment
//
if (((item.CurrentPermissions & (uint)PermissionMask.Copy) == 0) && (!isAttachment))
remoteClient.SendBulkUpdateInventory(item);
return false;
}
for (int i = 0; i < objlist.Count; i++)
{
SceneObjectGroup so = objlist[i];
@@ -953,8 +970,11 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
{
rootPart.Name = item.Name;
rootPart.Description = item.Description;
rootPart.ObjectSaleType = item.SaleType;
rootPart.SalePrice = item.SalePrice;
if ((item.Flags & (uint)InventoryItemFlags.ObjectSlamSale) != 0)
{
rootPart.ObjectSaleType = item.SaleType;
rootPart.SalePrice = item.SalePrice;
}
}
rootPart.FromFolderID = item.Folder;
@@ -963,7 +983,8 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
// rootPart.OwnerID, item.Owner, item.CurrentPermissions);
if ((rootPart.OwnerID != item.Owner) ||
(item.CurrentPermissions & 16) != 0)
(item.CurrentPermissions & 16) != 0 ||
(item.Flags & (uint)InventoryItemFlags.ObjectSlamPerm) != 0)
{
//Need to kill the for sale here
rootPart.ObjectSaleType = 0;
@@ -973,31 +994,43 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
{
foreach (SceneObjectPart part in so.Parts)
{
if ((item.Flags & (uint)InventoryItemFlags.ObjectHasMultipleItems) == 0)
{
part.EveryoneMask = item.EveryOnePermissions;
part.NextOwnerMask = item.NextPermissions;
}
part.GroupMask = 0; // DO NOT propagate here
part.LastOwnerID = part.OwnerID;
part.OwnerID = item.Owner;
part.Inventory.ChangeInventoryOwner(item.Owner);
}
so.ApplyNextOwnerPermissions();
// In case the user has changed flags on a received item
// we have to apply those changes after the slam. Else we
// get a net loss of permissions
foreach (SceneObjectPart part in so.Parts)
{
if ((item.Flags & (uint)InventoryItemFlags.ObjectHasMultipleItems) == 0)
{
if ((item.Flags & (uint)InventoryItemFlags.ObjectOverwriteEveryone) != 0)
part.EveryoneMask = item.EveryOnePermissions & part.BaseMask;
if ((item.Flags & (uint)InventoryItemFlags.ObjectOverwriteNextOwner) != 0)
part.NextOwnerMask = item.NextPermissions & part.BaseMask;
}
}
}
}
foreach (SceneObjectPart part in so.Parts)
else
{
part.FromUserInventoryItemID = fromUserInventoryItemId;
if ((part.OwnerID != item.Owner) ||
(item.CurrentPermissions & 16) != 0)
foreach (SceneObjectPart part in so.Parts)
{
part.Inventory.ChangeInventoryOwner(item.Owner);
part.GroupMask = 0; // DO NOT propagate here
}
part.FromUserInventoryItemID = fromUserInventoryItemId;
part.EveryoneMask = item.EveryOnePermissions;
part.NextOwnerMask = item.NextPermissions;
if ((item.Flags & (uint)InventoryItemFlags.ObjectOverwriteEveryone) != 0)
part.EveryoneMask = item.EveryOnePermissions;
if ((item.Flags & (uint)InventoryItemFlags.ObjectOverwriteNextOwner) != 0)
part.NextOwnerMask = item.NextPermissions;
if ((item.Flags & (uint)InventoryItemFlags.ObjectOverwriteGroup) != 0)
part.GroupMask = item.GroupPermissions;
}
}
rootPart.TrimPermissions();
@@ -1135,4 +1168,4 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
#endregion
}
}
}

View File

@@ -1210,7 +1210,7 @@ namespace OpenSim.Region.CoreModules.InterGrid
if (homeScene.TryGetScenePresence(avatarId,out avatar))
{
KillAUser ku = new KillAUser(avatar,mod);
Watchdog.StartThread(ku.ShutdownNoLogout, "OGPShutdown", ThreadPriority.Normal, true, true);
Watchdog.StartThread(ku.ShutdownNoLogout, "OGPShutdown", ThreadPriority.Normal, true);
}
}

View File

@@ -170,7 +170,8 @@ namespace OpenSim.Region.CoreModules.World.LightShare
private void EventManager_OnMakeRootAgent(ScenePresence presence)
{
m_log.Debug("[WINDLIGHT]: Sending windlight scene to new client");
if (m_enableWindlight && m_scene.RegionInfo.WindlightSettings.valid)
m_log.Debug("[WINDLIGHT]: Sending windlight scene to new client");
SendProfileToClient(presence.ControllingClient);
}

View File

@@ -382,6 +382,10 @@ namespace OpenSim.Region.CoreModules.Scripting.HttpRequest
try
{
Request = (HttpWebRequest) WebRequest.Create(Url);
//This works around some buggy HTTP Servers like Lighttpd
Request.ServicePoint.Expect100Continue = false;
Request.Method = HttpMethod;
Request.ContentType = HttpMIMEType;
@@ -458,15 +462,36 @@ namespace OpenSim.Region.CoreModules.Scripting.HttpRequest
// continue building the string
sb.Append(tempString);
if (sb.Length > 2048)
break;
}
} while (count > 0); // any more data to read?
ResponseBody = sb.ToString();
ResponseBody = sb.ToString().Replace("\r", "");
}
catch (Exception e)
{
Status = (int)OSHttpStatusCode.ClientErrorJoker;
ResponseBody = e.Message;
if (e is WebException && ((WebException)e).Status == WebExceptionStatus.ProtocolError)
{
HttpWebResponse webRsp = (HttpWebResponse)((WebException)e).Response;
Status = (int)webRsp.StatusCode;
try
{
using (Stream responseStream = webRsp.GetResponseStream())
{
ResponseBody = responseStream.GetStreamString();
}
}
catch
{
ResponseBody = webRsp.StatusDescription;
}
}
else
{
Status = (int)OSHttpStatusCode.ClientErrorJoker;
ResponseBody = e.Message;
}
_finished = true;
return;

View File

@@ -61,6 +61,7 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
//public ManualResetEvent ev;
public bool requestDone;
public int startTime;
public bool responseSent;
public string uri;
}
@@ -77,7 +78,7 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
new Dictionary<string, UrlData>();
private int m_TotalUrls = 100;
private int m_TotalUrls = 5000;
private uint https_port = 0;
private IHttpServer m_HttpServer = null;
@@ -157,7 +158,7 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
engine.PostScriptEvent(itemID, "http_request", new Object[] { urlcode.ToString(), "URL_REQUEST_DENIED", "" });
return urlcode;
}
string url = "http://" + m_ExternalHostNameForLSL + ":" + m_HttpServer.Port.ToString() + "/lslhttp/" + urlcode.ToString() + "/";
string url = "http://" + m_ExternalHostNameForLSL + ":" + m_HttpServer.Port.ToString() + "/lslhttp/" + urlcode.ToString();
UrlData urlData = new UrlData();
urlData.hostID = host.UUID;
@@ -166,10 +167,10 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
urlData.url = url;
urlData.urlcode = urlcode;
urlData.requests = new Dictionary<UUID, RequestData>();
m_UrlMap[url] = urlData;
string uri = "/lslhttp/" + urlcode.ToString() + "/";
string uri = "/lslhttp/" + urlcode.ToString();
m_HttpServer.AddPollServiceHTTPHandler(
uri,
@@ -234,9 +235,12 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
return;
}
foreach (UUID req in data.requests.Keys)
m_RequestMap.Remove(req);
lock (m_RequestMap)
{
foreach (UUID req in data.requests.Keys)
m_RequestMap.Remove(req);
}
RemoveUrl(data);
m_UrlMap.Remove(url);
}
@@ -244,32 +248,42 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
public void HttpResponse(UUID request, int status, string body)
{
if (m_RequestMap.ContainsKey(request))
lock (m_RequestMap)
{
UrlData urlData = m_RequestMap[request];
urlData.requests[request].responseCode = status;
urlData.requests[request].responseBody = body;
//urlData.requests[request].ev.Set();
urlData.requests[request].requestDone =true;
}
else
{
m_log.Info("[HttpRequestHandler] There is no http-in request with id " + request.ToString());
if (m_RequestMap.ContainsKey(request))
{
UrlData urlData = m_RequestMap[request];
if (!urlData.requests[request].responseSent)
{
urlData.requests[request].responseCode = status;
urlData.requests[request].responseBody = body;
//urlData.requests[request].ev.Set();
urlData.requests[request].requestDone = true;
urlData.requests[request].responseSent = true;
}
}
else
{
m_log.Info("[HttpRequestHandler] There is no http-in request with id " + request.ToString());
}
}
}
public string GetHttpHeader(UUID requestId, string header)
{
if (m_RequestMap.ContainsKey(requestId))
lock (m_RequestMap)
{
UrlData urlData=m_RequestMap[requestId];
string value;
if (urlData.requests[requestId].headers.TryGetValue(header,out value))
return value;
}
else
{
m_log.Warn("[HttpRequestHandler] There was no http-in request with id " + requestId);
if (m_RequestMap.ContainsKey(requestId))
{
UrlData urlData = m_RequestMap[requestId];
string value;
if (urlData.requests[requestId].headers.TryGetValue(header, out value))
return value;
}
else
{
m_log.Warn("[HttpRequestHandler] There was no http-in request with id " + requestId);
}
}
return String.Empty;
}
@@ -293,8 +307,11 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
{
RemoveUrl(url.Value);
removeURLs.Add(url.Key);
foreach (UUID req in url.Value.requests.Keys)
m_RequestMap.Remove(req);
lock (m_RequestMap)
{
foreach (UUID req in url.Value.requests.Keys)
m_RequestMap.Remove(req);
}
}
}
@@ -315,8 +332,11 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
{
RemoveUrl(url.Value);
removeURLs.Add(url.Key);
foreach (UUID req in url.Value.requests.Keys)
m_RequestMap.Remove(req);
lock (m_RequestMap)
{
foreach (UUID req in url.Value.requests.Keys)
m_RequestMap.Remove(req);
}
}
}
@@ -335,14 +355,16 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
{
Hashtable response = new Hashtable();
UrlData url;
int startTime = 0;
lock (m_RequestMap)
{
if (!m_RequestMap.ContainsKey(requestID))
return response;
url = m_RequestMap[requestID];
startTime = url.requests[requestID].startTime;
}
if (System.Environment.TickCount - url.requests[requestID].startTime > 25000)
if (System.Environment.TickCount - startTime > 25000)
{
response["int_response_code"] = 500;
response["str_response_string"] = "Script timeout";
@@ -351,9 +373,12 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
response["reusecontext"] = false;
//remove from map
lock (url)
lock (url.requests)
{
url.requests.Remove(requestID);
}
lock (m_RequestMap)
{
m_RequestMap.Remove(requestID);
}
@@ -375,22 +400,25 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
return false;
}
url = m_RequestMap[requestID];
}
lock (url.requests)
{
if (!url.requests.ContainsKey(requestID))
{
return false;
}
else
{
if (System.Environment.TickCount - url.requests[requestID].startTime > 25000)
{
return true;
}
if (url.requests[requestID].requestDone)
return true;
else
return false;
}
}
if (System.Environment.TickCount-url.requests[requestID].startTime>25000)
{
return true;
}
if (url.requests[requestID].requestDone)
return true;
else
return false;
}
private Hashtable GetEvents(UUID requestID, UUID sessionID, string request)
{
@@ -402,9 +430,12 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
if (!m_RequestMap.ContainsKey(requestID))
return NoEvents(requestID,sessionID);
url = m_RequestMap[requestID];
}
lock (url.requests)
{
requestData = url.requests[requestID];
}
if (!requestData.requestDone)
return NoEvents(requestID,sessionID);
@@ -427,14 +458,18 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
response["reusecontext"] = false;
//remove from map
lock (url)
lock (url.requests)
{
url.requests.Remove(requestID);
}
lock (m_RequestMap)
{
m_RequestMap.Remove(requestID);
}
return response;
}
public void HttpRequestHandler(UUID requestID, Hashtable request)
{
lock (request)
@@ -450,8 +485,8 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
int pos1 = uri.IndexOf("/");// /lslhttp
int pos2 = uri.IndexOf("/", pos1 + 1);// /lslhttp/
int pos3 = uri.IndexOf("/", pos2 + 1);// /lslhttp/<UUID>/
string uri_tmp = uri.Substring(0, pos3 + 1);
int pos3 = pos2 + 37; // /lslhttp/urlcode
string uri_tmp = uri.Substring(0, pos3);
//HTTP server code doesn't provide us with QueryStrings
string pathInfo;
string queryString;
@@ -460,10 +495,21 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
pathInfo = uri.Substring(pos3);
UrlData url = null;
string urlkey;
if (!is_ssl)
url = m_UrlMap["http://" + m_ExternalHostNameForLSL + ":" + m_HttpServer.Port.ToString() + uri_tmp];
urlkey = "http://" + m_ExternalHostNameForLSL + ":" + m_HttpServer.Port.ToString() + uri_tmp;
//m_UrlMap[];
else
url = m_UrlMap["https://" + m_ExternalHostNameForLSL + ":" + m_HttpsServer.Port.ToString() + uri_tmp];
urlkey = "https://" + m_ExternalHostNameForLSL + ":" + m_HttpsServer.Port.ToString() + uri_tmp;
if (m_UrlMap.ContainsKey(urlkey))
{
url = m_UrlMap[urlkey];
}
else
{
m_log.Warn("[HttpRequestHandler]: http-in request failed; no such url: "+urlkey.ToString());
}
//for llGetHttpHeader support we need to store original URI here
//to make x-path-info / x-query-string / x-script-url / x-remote-ip headers
@@ -493,7 +539,14 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp
if (request.ContainsKey(key))
{
string val = (String)request[key];
queryString = queryString + key + "=" + val + "&";
if (key != "")
{
queryString = queryString + key + "=" + val + "&";
}
else
{
queryString = queryString + val + "&";
}
}
}
if (queryString.Length > 1)

View File

@@ -151,14 +151,6 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
#region IWorldComm Members
public int ListenerCount
{
get
{
return m_listenerManager.ListenerCount;
}
}
/// <summary>
/// Create a listen event callback with the specified filters.
/// The parameters localID,itemID are needed to uniquely identify
@@ -446,18 +438,6 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
private int m_maxhandles;
private int m_curlisteners;
/// <summary>
/// Total number of listeners
/// </summary>
public int ListenerCount
{
get
{
lock (m_listeners)
return m_listeners.Count;
}
}
public ListenerManager(int maxlisteners, int maxhandles)
{
m_maxlisteners = maxlisteners;

View File

@@ -1,124 +0,0 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using Nini.Config;
using log4net;
using OpenSim.Framework;
using OpenSim.Services.Interfaces;
using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.Framework.Scenes;
using OpenMetaverse;
using GridRegion = OpenSim.Services.Interfaces.GridRegion;
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Authorization
{
public class AuthorizationService : IAuthorizationService
{
private enum AccessFlags
{
None = 0, /* No restrictions */
DisallowResidents = 1, /* Only gods and managers*/
DisallowForeigners = 2, /* Only local people */
}
private static readonly ILog m_log =
LogManager.GetLogger(
MethodBase.GetCurrentMethod().DeclaringType);
private IUserManagement m_UserManagement;
private IGridService m_GridService;
private Scene m_Scene;
AccessFlags m_accessValue = AccessFlags.None;
public AuthorizationService(IConfig config, Scene scene)
{
m_Scene = scene;
m_UserManagement = scene.RequestModuleInterface<IUserManagement>();
m_GridService = scene.GridService;
if (config != null)
{
string accessStr = config.GetString("Region_" + scene.RegionInfo.RegionName.Replace(' ', '_'), String.Empty);
if (accessStr != string.Empty)
{
try
{
m_accessValue = (AccessFlags)Enum.Parse(typeof(AccessFlags), accessStr);
}
catch (ArgumentException)
{
m_log.WarnFormat("[AuthorizationService]: {0} is not a valid access flag", accessStr);
}
}
m_log.DebugFormat("[AuthorizationService]: Region {0} access restrictions: {1}", m_Scene.RegionInfo.RegionName, m_accessValue);
}
}
public bool IsAuthorizedForRegion(
string user, string firstName, string lastName, string regionID, out string message)
{
message = "authorized";
// This should not happen
if (m_Scene.RegionInfo.RegionID.ToString() != regionID)
{
m_log.WarnFormat("[AuthorizationService]: Service for region {0} received request to authorize for region {1}",
m_Scene.RegionInfo.RegionID, regionID);
return true;
}
if (m_accessValue == AccessFlags.None)
return true;
UUID userID = new UUID(user);
bool authorized = true;
if ((m_accessValue & AccessFlags.DisallowForeigners) == AccessFlags.DisallowForeigners)
{
authorized = m_UserManagement.IsLocalGridUser(userID);
if (!authorized)
message = "no foreigner users allowed in this region";
}
if (authorized && (m_accessValue & AccessFlags.DisallowResidents) == AccessFlags.DisallowResidents)
{
authorized = m_Scene.Permissions.IsGod(userID) | m_Scene.Permissions.IsAdministrator(userID);
if (!authorized)
message = "only Admins and Managers allowed in this region";
}
return authorized;
}
}
}

View File

@@ -39,15 +39,13 @@ using OpenMetaverse;
namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Authorization
{
public class LocalAuthorizationServicesConnector : INonSharedRegionModule, IAuthorizationService
public class LocalAuthorizationServicesConnector : ISharedRegionModule, IAuthorizationService
{
private static readonly ILog m_log =
LogManager.GetLogger(
MethodBase.GetCurrentMethod().DeclaringType);
private IAuthorizationService m_AuthorizationService;
private Scene m_Scene;
private IConfig m_AuthorizationConfig;
private bool m_Enabled = false;
@@ -71,8 +69,33 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Authorization
string name = moduleConfig.GetString("AuthorizationServices", string.Empty);
if (name == Name)
{
IConfig authorizationConfig = source.Configs["AuthorizationService"];
if (authorizationConfig == null)
{
m_log.Error("[AUTHORIZATION CONNECTOR]: AuthorizationService missing from OpenSim.ini");
return;
}
string serviceDll = authorizationConfig.GetString("LocalServiceModule",
String.Empty);
if (serviceDll == String.Empty)
{
m_log.Error("[AUTHORIZATION CONNECTOR]: No LocalServiceModule named in section AuthorizationService");
return;
}
Object[] args = new Object[] { source };
m_AuthorizationService =
ServerUtils.LoadPlugin<IAuthorizationService>(serviceDll,
args);
if (m_AuthorizationService == null)
{
m_log.Error("[AUTHORIZATION CONNECTOR]: Can't load authorization service");
return;
}
m_Enabled = true;
m_AuthorizationConfig = source.Configs["AuthorizationService"];
m_log.Info("[AUTHORIZATION CONNECTOR]: Local authorization connector enabled");
}
}
@@ -92,9 +115,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Authorization
return;
scene.RegisterModuleInterface<IAuthorizationService>(this);
m_Scene = scene;
scene.EventManager.OnLoginsEnabled += new EventManager.LoginsEnabled(OnLoginsEnabled);
}
public void RemoveRegion(Scene scene)
@@ -111,18 +131,9 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Authorization
scene.RegionInfo.RegionName);
}
private void OnLoginsEnabled(string regionName)
{
m_AuthorizationService = new AuthorizationService(m_AuthorizationConfig, m_Scene);
}
public bool IsAuthorizedForRegion(
string userID, string firstName, string lastName, string regionID, out string message)
{
message = "";
if (!m_Enabled)
return true;
return m_AuthorizationService.IsAuthorizedForRegion(userID, firstName, lastName, regionID, out message);
}
}

View File

@@ -65,26 +65,13 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
}
}
internal struct ScopedRegionPosition
{
public UUID m_scopeID;
public ulong m_regionHandle;
public ScopedRegionPosition(UUID scopeID, ulong handle)
{
m_scopeID = scopeID;
m_regionHandle = handle;
}
}
private ExpiringCache<ScopedRegionUUID, GridRegion> m_UUIDCache;
private ExpiringCache<ScopedRegionName, ScopedRegionUUID> m_NameCache;
private ExpiringCache<ScopedRegionPosition, GridRegion> m_PositionCache;
public RegionInfoCache()
{
m_UUIDCache = new ExpiringCache<ScopedRegionUUID, GridRegion>();
m_NameCache = new ExpiringCache<ScopedRegionName, ScopedRegionUUID>();
m_PositionCache = new ExpiringCache<ScopedRegionPosition, GridRegion>();
m_NameCache = new ExpiringCache<ScopedRegionName, ScopedRegionUUID>();
}
public void Cache(GridRegion rinfo)
@@ -109,9 +96,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
{
ScopedRegionName name = new ScopedRegionName(scopeID,rinfo.RegionName);
m_NameCache.AddOrUpdate(name, id, CACHE_EXPIRATION_SECONDS);
ScopedRegionPosition pos = new ScopedRegionPosition(scopeID, rinfo.RegionHandle);
m_PositionCache.AddOrUpdate(pos, rinfo, CACHE_EXPIRATION_SECONDS);
}
}
@@ -130,22 +114,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
return null;
}
public GridRegion Get(UUID scopeID, ulong handle, out bool inCache)
{
inCache = false;
GridRegion rinfo = null;
ScopedRegionPosition pos = new ScopedRegionPosition(scopeID, handle);
if (m_PositionCache.TryGetValue(pos, out rinfo))
{
inCache = true;
return rinfo;
}
return null;
}
public GridRegion Get(UUID scopeID, string name, out bool inCache)
{
inCache = false;

View File

@@ -186,16 +186,10 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
public GridRegion GetRegionByPosition(UUID scopeID, int x, int y)
{
bool inCache = false;
GridRegion rinfo = m_RegionInfoCache.Get(scopeID, Util.UIntsToLong((uint)x, (uint)y), out inCache);
if (inCache)
return rinfo;
rinfo = m_LocalGridService.GetRegionByPosition(scopeID, x, y);
GridRegion rinfo = m_LocalGridService.GetRegionByPosition(scopeID, x, y);
if (rinfo == null)
rinfo = m_RemoteGridService.GetRegionByPosition(scopeID, x, y);
m_RegionInfoCache.Cache(rinfo);
return rinfo;
}

View File

@@ -271,7 +271,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
if (s.RegionInfo.RegionID == destination.RegionID)
return s.QueryAccess(id, position, out reason);
}
//m_log.Debug("[LOCAL COMMS]: region not found for QueryAccess");
return false;
}
@@ -301,10 +300,24 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
if (s.RegionInfo.RegionID == destination.RegionID)
{
//m_log.Debug("[LOCAL COMMS]: Found region to SendCloseAgent");
// Let's spawn a threadlet right here, because this may take
// a while
Util.FireAndForget(delegate { s.IncomingCloseAgent(id); });
return true;
return s.IncomingCloseAgent(id);
}
}
//m_log.Debug("[LOCAL COMMS]: region not found in SendCloseAgent");
return false;
}
public bool CloseChildAgent(GridRegion destination, UUID id)
{
if (destination == null)
return false;
foreach (Scene s in m_sceneList)
{
if (s.RegionInfo.RegionID == destination.RegionID)
{
//m_log.Debug("[LOCAL COMMS]: Found region to SendCloseAgent");
return s.IncomingCloseChildAgent(id);
}
}
//m_log.Debug("[LOCAL COMMS]: region not found in SendCloseAgent");
@@ -315,7 +328,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
* Object-related communications
*/
public bool CreateObject(GridRegion destination, Vector3 newPosition, ISceneObject sog, bool isLocalCall)
public bool CreateObject(GridRegion destination, ISceneObject sog, bool isLocalCall)
{
if (destination == null)
return false;
@@ -330,12 +343,12 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
// We need to make a local copy of the object
ISceneObject sogClone = sog.CloneForNewScene();
sogClone.SetState(sog.GetStateSnapshot(), s);
return s.IncomingCreateObject(newPosition, sogClone);
return s.IncomingCreateObject(sogClone);
}
else
{
// Use the object as it came through the wire
return s.IncomingCreateObject(newPosition, sog);
return s.IncomingCreateObject(sog);
}
}
}

View File

@@ -261,6 +261,21 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
return false;
}
public bool CloseChildAgent(GridRegion destination, UUID id)
{
if (destination == null)
return false;
// Try local first
if (m_localBackend.CloseChildAgent(destination, id))
return true;
// else do the remote thing
if (!m_localBackend.IsLocalRegion(destination.RegionHandle))
return m_remoteConnector.CloseChildAgent(destination, id);
return false;
}
public bool CloseAgent(GridRegion destination, UUID id)
{
@@ -282,13 +297,13 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
* Object-related communications
*/
public bool CreateObject(GridRegion destination, Vector3 newPosition, ISceneObject sog, bool isLocalCall)
public bool CreateObject(GridRegion destination, ISceneObject sog, bool isLocalCall)
{
if (destination == null)
return false;
// Try local first
if (m_localBackend.CreateObject(destination, newPosition, sog, isLocalCall))
if (m_localBackend.CreateObject(destination, sog, isLocalCall))
{
//m_log.Debug("[REST COMMS]: LocalBackEnd SendCreateObject succeeded");
return true;
@@ -296,7 +311,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
// else do the remote thing
if (!m_localBackend.IsLocalRegion(destination.RegionHandle))
return m_remoteConnector.CreateObject(destination, newPosition, sog, isLocalCall);
return m_remoteConnector.CreateObject(destination, sog, isLocalCall);
return false;
}

View File

@@ -127,6 +127,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.UserAccounts
// FIXME: Why do we bother setting this module and caching up if we just end up registering the inner
// user account service?!
scene.RegisterModuleInterface<IUserAccountService>(UserAccountService);
scene.RegisterModuleInterface<IUserAccountCacheModule>(m_Cache);
}
public void RemoveRegion(Scene scene)
@@ -179,6 +180,11 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.UserAccounts
return UserAccountService.GetUserAccount(scopeID, Email);
}
public List<UserAccount> GetUserAccountsWhere(UUID scopeID, string query)
{
return null;
}
public List<UserAccount> GetUserAccounts(UUID scopeID, string query)
{
return UserAccountService.GetUserAccounts(scopeID, query);
@@ -193,4 +199,4 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.UserAccounts
#endregion
}
}
}

Some files were not shown because too many files have changed in this diff Show More