Commit Graph

72 Commits

Author SHA1 Message Date
Melanie
f39e4abf0e Merge branch 'avination' into careminster
Conflicts:
	OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs
2013-03-03 13:24:37 +00:00
Melanie
adf03ad2e5 Reinstate uploading temporary textures 2013-02-27 18:43:51 +01:00
Melanie
698363990b Try to update inventory items when there is a valid asset - may fix temp textures 2013-02-27 18:19:38 +01:00
Melanie
ea8c5ba707 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
2013-02-15 21:42:16 +00:00
Justin Clark-Casey (justincc)
0ad07eb44d minor: remove some mono compiler warnings 2013-02-14 21:29:35 +00:00
Melanie
9a4de546fe Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
2013-01-31 02:53:11 +00:00
Justin Clark-Casey (justincc)
fd34a75cde minor: Tidy up disabled logging on AssetTransactionModule for future use. Make it clear that transaction parameter to HandleUDPUploadRequest is an ID. 2013-01-29 04:03:33 +00:00
Melanie
c3d68e7f9d Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
2013-01-27 01:09:01 +00:00
Melanie
776cc33541 Prevent items being destroyed by rename operations. Renaming of a wearable also
sends an asset transaciton but it is empty. So we can't ignore name data
when a transaction is present and can't treat every transaction as valid.

Conflicts:

	OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
2013-01-27 01:07:37 +00:00
Melanie
380b017e32 Prevent items being destroyed by rename operations. Renaming of a wearable also
sends an asset transaciton but it is empty. So we can't ignore name data
when a transaction is present and can't treat every transaction as valid.
2013-01-27 00:20:34 +01:00
Melanie
7ad082f7c3 Merge branch 'avination' into careminster 2012-11-17 02:58:14 +00:00
Melanie
6faa7fc7f9 Prevent a buffer overflow in asset receiving 2012-11-17 02:31:56 +01:00
Melanie
2e0ce70e63 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Application/OpenSimBase.cs
	OpenSim/Region/ClientStack/Linden/Caps/NewFileAgentInventoryVariablePriceModule.cs
	OpenSim/Region/CoreModules/World/Warp3DMap/Warp3DImageModule.cs
	OpenSim/Region/Framework/ModuleLoader.cs
	OpenSim/Region/Framework/Scenes/SceneManager.cs
2012-11-12 23:27:47 +00:00
Melanie
0d15a6a01f Remove any mention of IRegionModule from region names and comments to aid
grepping for remaining uses
2012-11-12 19:18:20 +00:00
Melanie
001ec0e2e6 Merge branch 'avination' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Agent/AssetTransaction/AgentAssetsTransactions.cs
	OpenSim/Region/Framework/Scenes/Scene.cs
2012-09-27 17:29:44 +01:00
Justin Clark-Casey (justincc)
fdd4361928 Fix very recently introduced race condition where a CreateNewItem outracing an UploadAsset request could throw an exception because m_asset did not yet exist.
This was accidentally introduced in 4fc0cfb
This commit also consistently removes the AssetXferUploader when the transaction completes, no matter if it completed on asset upload or item operation.
The amount of data being retained was small, since this was clothing/bodypart metadata in the asset rather than textures themselves.
2012-09-27 15:28:43 +01:00
Justin Clark-Casey (justincc)
7d6ac75f87 Comment out old m_storeLocal from AssetXferUploader.
This was only used if none of new item, update item or update task item had been set.
But since all transactions go through these paths this old code is redundant.
2012-09-27 15:27:56 +01:00
Justin Clark-Casey (justincc)
5c8b9ff9ed Insert transaction ID into AssetXferUploader constructor rather than at UploadAsset() to prevent item creation failure when NewInventoryItem thread reachs the object first.
This was preventing the previous race condition fix in 4fc0cfb from actually working.
This commit also removes some of the pointless transaction id checks - these conditions are already being enforced in AgentAssetsTransactions.
2012-09-27 15:27:25 +01:00
Justin Clark-Casey (justincc)
65e294267d Move UDP update task item code to AssetXferUploader to match existing create user item and update user item mechanisms
This is done for consistency and to allow removal or some access methods that increase code complexity.
However, this path has not been used for a long time, not even by LL 1.23 - viewers use caps http upload for this instead
2012-09-27 15:26:58 +01:00
Justin Clark-Casey (justincc)
1a902fceb5 Fix occasional race condition failure when creating new clothing/body parts in the viewer or updating existing assets.
On creating these items, the viewer sends a UDP AssetUploadRequest followed by a CreateInventoryItem.
It was possible for the CreateInventoryItem/UpdateInventoryItem to occasionally outrace the AssetUploadRequest and fail to find an initialized Xfer object, at which point the item create would fail.
So instead we always set up a Xfer object on either the asset or inventory item update request.
This does not introduce a new race because code already exists to delay the item operation until the asset is uploaded if necessary (but this only worked if the xfer object already existed)
2012-09-27 15:25:32 +01:00
Justin Clark-Casey (justincc)
ddd9384b39 Fix very recently introduced race condition where a CreateNewItem outracing an UploadAsset request could throw an exception because m_asset did not yet exist.
This was accidentally introduced in 4fc0cfb
This commit also consistently removes the AssetXferUploader when the transaction completes, no matter if it completed on asset upload or item operation.
The amount of data being retained was small, since this was clothing/bodypart metadata in the asset rather than textures themselves.
2012-09-25 23:30:25 +01:00
Justin Clark-Casey (justincc)
b96a53962b Comment out old m_storeLocal from AssetXferUploader.
This was only used if none of new item, update item or update task item had been set.
But since all transactions go through these paths this old code is redundant.
2012-09-25 23:13:45 +01:00
Justin Clark-Casey (justincc)
eb5bec96e4 Insert transaction ID into AssetXferUploader constructor rather than at UploadAsset() to prevent item creation failure when NewInventoryItem thread reachs the object first.
This was preventing the previous race condition fix in 4fc0cfb from actually working.
This commit also removes some of the pointless transaction id checks - these conditions are already being enforced in AgentAssetsTransactions.
2012-09-25 22:54:20 +01:00
Justin Clark-Casey (justincc)
2f795e4fa6 Move UDP update task item code to AssetXferUploader to match existing create user item and update user item mechanisms
This is done for consistency and to allow removal or some access methods that increase code complexity.
However, this path has not been used for a long time, not even by LL 1.23 - viewers use caps http upload for this instead
2012-09-25 22:08:11 +01:00
Justin Clark-Casey (justincc)
4fc0cfba3c Fix occasional race condition failure when creating new clothing/body parts in the viewer or updating existing assets.
On creating these items, the viewer sends a UDP AssetUploadRequest followed by a CreateInventoryItem.
It was possible for the CreateInventoryItem/UpdateInventoryItem to occasionally outrace the AssetUploadRequest and fail to find an initialized Xfer object, at which point the item create would fail.
So instead we always set up a Xfer object on either the asset or inventory item update request.
This does not introduce a new race because code already exists to delay the item operation until the asset is uploaded if necessary (but this only worked if the xfer object already existed)
2012-09-25 21:35:39 +01:00
Melanie
6963b96bd0 If an asset upload transaction doesn't exist for a CreateInventory request,
simply process it as if UUID.Zero had been given.
2012-09-24 13:41:48 +02:00
Justin Clark-Casey (justincc)
0c5fefacb4 Record the fact that child agents can have asset transactions.
Also change code to grab the agent asset transaction module once.
2012-06-07 23:51:04 +01:00
Melanie
e8cd9fbbb7 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
2012-06-07 23:33:40 +01:00
Melanie
b18b1b1d70 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2012-03-27 23:14:43 +01:00
Snoopy Pfeffer
7223b63563 User level based restrictions for HyperGrid teleports, asset uploads, group creations and getting contacted from other grids. Incoming HyperGrid teleports can also be restricted to local users. 2012-03-27 22:09:58 +02:00
Melanie
428407c5e4 Merge branch 'master' into careminster 2012-01-28 01:01:23 +00:00
Melanie
7352aea9ac Remove IClientAPI from the money module. It was only used to pass in the
agent id anyway
2012-01-28 00:18:12 +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
Justin Clark-Casey (justincc)
a64def8b73 minor: remove some mono compiler warnings 2011-11-14 18:16:14 +00:00
Melanie
b40157fc9b Merge commit 'c8304b7f84b1a8d9fb978cae510f684e36419deb' into bigmerge
Conflicts:
	OpenSim/Region/CoreModules/Agent/AssetTransaction/AgentAssetsTransactions.cs
2011-10-11 22:51:44 +01:00
Justin Clark-Casey (justincc)
c8304b7f84 Fix avatar parameter updating for viewer 3 and maybe 2.
When a slider parameter is changed, the viewer uploads a new shape (or other asset) and the item is updated to point to it.
Viewer 1 uploaded the data in the initial request itself, so the asset references was almost always correctly updated.
However, viewer 3/2 always uploads data in a subsequent xfer, which exposed a race condition where the viewer would make the item update before the asset had uploaded.
This commit shuffles the order of operations to avoid this race, the item is updated with the new asset id instead of the old one while the upload was still taking place.
A second race had to be fixed where avatar appearance would also be updated with the old asset id rather than the new one.
This was fixed by updating the avatar appearance ids when the appearance was actually saved, rather than when the wearables update was made.
2011-09-23 02:59:33 +01:00
Melanie
d1cf1fe3d7 Merge branch 'master' into careminster-presence-refactor 2011-04-30 14:37:37 +01:00
Justin Clark-Casey (justincc)
cd7517ccb9 Stop CHANGED_INVENTORY firing twice if a notecard is edited in prim.
Addresses http://opensimulator.org/mantis/view.php?id=5444
Fix is to stop the asset transaction calling UpdateInventoryItem() since the caller is doing it anyway, which is more correct.
This did not effect scripts.
2011-04-28 22:59:12 +01:00
Melanie
105deab601 Merge branch 'master' into careminster-presence-refactor 2011-01-23 23:29:25 +00:00
Justin Clark-Casey (justincc)
41105948bd remove some mono compiler warnings 2011-01-21 23:19:52 +00: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
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
4ca108f85e 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 04:50:24 +00:00
Melanie
ea17b262a3 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:24:55 +00: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
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
Justin Clark-Casey (justincc)
1e8e98a07f Move code that allows llGiveInvetory() to move item into appropriate system folder up from connectors into Scene.Inventory.cs
This fixes the problem for all architectures (hg as well as local and grid) and means we don't have to dupe code between connectors.
Not ideal in that it becomes non-modular, but methods in Scene.Inventory.cs should eventually be modularized anyway.
2010-09-04 01:36:26 +01:00
Diva Canto
12858122d5 Fixes mantis #4870. 2010-07-14 11:02:41 -07:00
Melanie Thielker
e15f6905a5 Clean up IMoneyModule and adjust the other modules to the changes 2010-07-02 06:13:58 +01:00
Justin Clark-Casey (justincc)
524a2a9e26 Make the "notecard saved" text appear in the saver rather than the notecard owner, if the notecard is saved by a permitted group member
This means moving the alert up to a place where the IClientAPI is available.
One can also argue that such client messages shouldn't be sent directly from the scene data model
2010-04-19 21:25:59 +01:00