aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/ApplicationPlugins/Rest/Inventory/Rest.cs2
-rw-r--r--OpenSim/ApplicationPlugins/Rest/Inventory/RestAppearanceServices.cs35
-rw-r--r--OpenSim/ApplicationPlugins/Rest/Inventory/RestAssetServices.cs3
-rw-r--r--OpenSim/ApplicationPlugins/Rest/Inventory/RestInventoryServices.cs3
-rw-r--r--OpenSim/ApplicationPlugins/Rest/Inventory/RestTestServices.cs2
-rw-r--r--OpenSim/ApplicationPlugins/Rest/Inventory/tests/Remote.cs2
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs3
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.Inventory.cs30
8 files changed, 66 insertions, 14 deletions
diff --git a/OpenSim/ApplicationPlugins/Rest/Inventory/Rest.cs b/OpenSim/ApplicationPlugins/Rest/Inventory/Rest.cs
index 21fcf92..d7935bc 100644
--- a/OpenSim/ApplicationPlugins/Rest/Inventory/Rest.cs
+++ b/OpenSim/ApplicationPlugins/Rest/Inventory/Rest.cs
@@ -392,7 +392,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
392 392
393 /// Supported Digest algorithms 393 /// Supported Digest algorithms
394 394
395 public const string Digest_MD5 = "MD5"; // assumedd efault if omitted 395 public const string Digest_MD5 = "MD5"; // assumed default if omitted
396 public const string Digest_MD5Sess = "MD5-sess"; 396 public const string Digest_MD5Sess = "MD5-sess";
397 397
398 public const string Qop_Auth = "auth"; 398 public const string Qop_Auth = "auth";
diff --git a/OpenSim/ApplicationPlugins/Rest/Inventory/RestAppearanceServices.cs b/OpenSim/ApplicationPlugins/Rest/Inventory/RestAppearanceServices.cs
index 18a0baf..8db3fde 100644
--- a/OpenSim/ApplicationPlugins/Rest/Inventory/RestAppearanceServices.cs
+++ b/OpenSim/ApplicationPlugins/Rest/Inventory/RestAppearanceServices.cs
@@ -45,7 +45,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
45 public class RestAppearanceServices : IRest 45 public class RestAppearanceServices : IRest
46 { 46 {
47 private static readonly int PARM_USERID = 0; 47 private static readonly int PARM_USERID = 0;
48 //private static readonly int PARM_PATH = 1; 48 // private static readonly int PARM_PATH = 1;
49 49
50 private bool enabled = false; 50 private bool enabled = false;
51 private string qPrefix = "appearance"; 51 private string qPrefix = "appearance";
@@ -166,6 +166,9 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
166 166
167 try 167 try
168 { 168 {
169 // digest scheme seems borked: disable it for the time
170 // being
171 rdata.scheme = Rest.AS_BASIC;
169 if (!rdata.IsAuthenticated) 172 if (!rdata.IsAuthenticated)
170 { 173 {
171 rdata.Fail(Rest.HttpStatusCodeNotAuthorized,String.Format("user \"{0}\" could not be authenticated", rdata.userName)); 174 rdata.Fail(Rest.HttpStatusCodeNotAuthorized,String.Format("user \"{0}\" could not be authenticated", rdata.userName));
@@ -335,7 +338,8 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
335 AvatarAppearance old = Rest.AvatarServices.GetUserAppearance(rdata.userProfile.ID); 338 AvatarAppearance old = Rest.AvatarServices.GetUserAppearance(rdata.userProfile.ID);
336 rdata.userAppearance = new AvatarAppearance(); 339 rdata.userAppearance = new AvatarAppearance();
337 340
338 rdata.userAppearance.Owner = old.Owner; 341 rdata.userAppearance.Owner = old.Owner;
342 rdata.userAppearance.Serial = old.Serial;
339 343
340 if (GetUserAppearance(rdata)) 344 if (GetUserAppearance(rdata))
341 { 345 {
@@ -343,6 +347,11 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
343 created = !modified; 347 created = !modified;
344 Rest.AvatarServices.UpdateUserAppearance(rdata.userProfile.ID, rdata.userAppearance); 348 Rest.AvatarServices.UpdateUserAppearance(rdata.userProfile.ID, rdata.userAppearance);
345 } 349 }
350 else
351 {
352 created = true;
353 Rest.AvatarServices.UpdateUserAppearance(rdata.userProfile.ID, rdata.userAppearance);
354 }
346 355
347 if (created) 356 if (created)
348 { 357 {
@@ -383,11 +392,13 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
383 392
384 rdata.userAppearance = Rest.AvatarServices.GetUserAppearance(rdata.userProfile.ID); 393 rdata.userAppearance = Rest.AvatarServices.GetUserAppearance(rdata.userProfile.ID);
385 394
386 if (GetUserAppearance(rdata)) 395 // If the user exists then this is considered a modification regardless
396 // of what may, or may not be, specified in the payload.
397
398 if (rdata.userAppearance != null)
387 { 399 {
388 modified = rdata.userAppearance != null; 400 modified = true;
389 created = !modified; 401 Rest.AvatarServices.UpdateUserAppearance(rdata.userProfile.ID, rdata.userAppearance);
390 Rest.AvatarServices.UpdateUserAppearance(rdata.userProfile.ID, rdata.userAppearance);
391 } 402 }
392 403
393 if (created) 404 if (created)
@@ -465,6 +476,16 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
465 rdata.userAppearance.AvatarHeight = (float) Convert.ToDouble(xml.Value); 476 rdata.userAppearance.AvatarHeight = (float) Convert.ToDouble(xml.Value);
466 indata = true; 477 indata = true;
467 } 478 }
479 if (xml.MoveToAttribute("Owner"))
480 {
481 rdata.userAppearance.Owner = xml.Value;
482 indata = true;
483 }
484 if (xml.MoveToAttribute("Serial"))
485 {
486 rdata.userAppearance.Serial = Convert.ToInt32(xml.Value);
487 indata = true;
488 }
468 break; 489 break;
469 case "Body" : 490 case "Body" :
470 if (xml.MoveToAttribute("Item")) 491 if (xml.MoveToAttribute("Item"))
@@ -687,6 +708,8 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
687 708
688 rdata.writer.WriteStartElement("Appearance"); 709 rdata.writer.WriteStartElement("Appearance");
689 rdata.writer.WriteAttributeString("Height", rdata.userAppearance.AvatarHeight.ToString()); 710 rdata.writer.WriteAttributeString("Height", rdata.userAppearance.AvatarHeight.ToString());
711 rdata.writer.WriteAttributeString("Owner", rdata.userAppearance.Owner.ToString());
712 rdata.writer.WriteAttributeString("Serial", rdata.userAppearance.Serial.ToString());
690 713
691 rdata.writer.WriteStartElement("Body"); 714 rdata.writer.WriteStartElement("Body");
692 rdata.writer.WriteAttributeString("Item",rdata.userAppearance.BodyItem.ToString()); 715 rdata.writer.WriteAttributeString("Item",rdata.userAppearance.BodyItem.ToString());
diff --git a/OpenSim/ApplicationPlugins/Rest/Inventory/RestAssetServices.cs b/OpenSim/ApplicationPlugins/Rest/Inventory/RestAssetServices.cs
index b67922f..7a6d4af 100644
--- a/OpenSim/ApplicationPlugins/Rest/Inventory/RestAssetServices.cs
+++ b/OpenSim/ApplicationPlugins/Rest/Inventory/RestAssetServices.cs
@@ -130,6 +130,9 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
130 130
131 try 131 try
132 { 132 {
133 // digest scheme seems borked: disable it for the time
134 // being
135 rdata.scheme = Rest.AS_BASIC;
133 if (!rdata.IsAuthenticated) 136 if (!rdata.IsAuthenticated)
134 { 137 {
135 rdata.Fail(Rest.HttpStatusCodeNotAuthorized, String.Format("user \"{0}\" could not be authenticated")); 138 rdata.Fail(Rest.HttpStatusCodeNotAuthorized, String.Format("user \"{0}\" could not be authenticated"));
diff --git a/OpenSim/ApplicationPlugins/Rest/Inventory/RestInventoryServices.cs b/OpenSim/ApplicationPlugins/Rest/Inventory/RestInventoryServices.cs
index 0aad058..ab40b5d 100644
--- a/OpenSim/ApplicationPlugins/Rest/Inventory/RestInventoryServices.cs
+++ b/OpenSim/ApplicationPlugins/Rest/Inventory/RestInventoryServices.cs
@@ -167,6 +167,9 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
167 167
168 try 168 try
169 { 169 {
170 // digest scheme seems borked: disable it for the time
171 // being
172 rdata.scheme = Rest.AS_BASIC;
170 if (!rdata.IsAuthenticated) 173 if (!rdata.IsAuthenticated)
171 { 174 {
172 rdata.Fail(Rest.HttpStatusCodeNotAuthorized,String.Format("user \"{0}\" could not be authenticated", rdata.userName)); 175 rdata.Fail(Rest.HttpStatusCodeNotAuthorized,String.Format("user \"{0}\" could not be authenticated", rdata.userName));
diff --git a/OpenSim/ApplicationPlugins/Rest/Inventory/RestTestServices.cs b/OpenSim/ApplicationPlugins/Rest/Inventory/RestTestServices.cs
index b24b5ed..b7c9027 100644
--- a/OpenSim/ApplicationPlugins/Rest/Inventory/RestTestServices.cs
+++ b/OpenSim/ApplicationPlugins/Rest/Inventory/RestTestServices.cs
@@ -235,7 +235,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
235 ci = t.GetConstructor(parms); 235 ci = t.GetConstructor(parms);
236 ht = ci.Invoke(args); 236 ht = ci.Invoke(args);
237 tests.Add((ITest)ht); 237 tests.Add((ITest)ht);
238 Rest.Log.WarnFormat("{0} Test {1} added", MsgId, t); 238 Rest.Log.InfoFormat("{0} Test {1} added", MsgId, t);
239 } 239 }
240 } 240 }
241 catch (Exception e) 241 catch (Exception e)
diff --git a/OpenSim/ApplicationPlugins/Rest/Inventory/tests/Remote.cs b/OpenSim/ApplicationPlugins/Rest/Inventory/tests/Remote.cs
index 54d8478..bd42473 100644
--- a/OpenSim/ApplicationPlugins/Rest/Inventory/tests/Remote.cs
+++ b/OpenSim/ApplicationPlugins/Rest/Inventory/tests/Remote.cs
@@ -65,7 +65,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory.Tests
65 public void Initialize() 65 public void Initialize()
66 { 66 {
67 enabled = true; 67 enabled = true;
68 Rest.Log.InfoFormat("{0} Remote services initialize", MsgId); 68 Rest.Log.InfoFormat("{0} Remote services initialized", MsgId);
69 } 69 }
70 70
71 // Called by the plug-in to halt REST processing. Local processing is 71 // Called by the plug-in to halt REST processing. Local processing is
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index bd67f1e..c649493 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -5200,6 +5200,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5200 } 5200 }
5201 break; 5201 break;
5202 case PacketType.UpdateTaskInventory: 5202 case PacketType.UpdateTaskInventory:
5203 m_log.DebugFormat("[AMW] UpdateTaskInventory request");
5203 UpdateTaskInventoryPacket updatetask = (UpdateTaskInventoryPacket)Pack; 5204 UpdateTaskInventoryPacket updatetask = (UpdateTaskInventoryPacket)Pack;
5204 if (OnUpdateTaskInventory != null) 5205 if (OnUpdateTaskInventory != null)
5205 { 5206 {
@@ -5266,7 +5267,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5266 break; 5267 break;
5267 5268
5268 case PacketType.RezScript: 5269 case PacketType.RezScript:
5269 5270 m_log.DebugFormat("[AMW] RezScript");
5270 //Console.WriteLine(Pack.ToString()); 5271 //Console.WriteLine(Pack.ToString());
5271 RezScriptPacket rezScriptx = (RezScriptPacket)Pack; 5272 RezScriptPacket rezScriptx = (RezScriptPacket)Pack;
5272 5273
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
index c670076..a188701 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
@@ -1186,11 +1186,21 @@ namespace OpenSim.Region.Environment.Scenes
1186 1186
1187 if (part != null) 1187 if (part != null)
1188 { 1188 {
1189 if (part.OwnerID != remoteClient.AgentId)
1190 return;
1191 1189
1192 if ((part.OwnerMask & (uint)PermissionMask.Modify) == 0) 1190 // replacing the following two checks with the
1193 return; 1191 // ExternalChecks.ExternalChecksCanEditObject(...)
1192 // call
1193
1194 // if (part.OwnerID != remoteClient.AgentId)
1195 // return;
1196
1197 // if ((part.OwnerMask & (uint)PermissionMask.Modify) == 0)
1198 // return;
1199
1200 if (!ExternalChecks.ExternalChecksCanEditObject(part.UUID, remoteClient.AgentId))
1201 {
1202 return;
1203 }
1194 1204
1195 TaskInventoryItem currentItem = part.GetInventoryItem(itemID); 1205 TaskInventoryItem currentItem = part.GetInventoryItem(itemID);
1196 1206
@@ -1283,11 +1293,23 @@ System.Console.WriteLine("Item asset {0}, request asset {1}", prevItem.AssetID.T
1283 SceneObjectPart part = GetSceneObjectPart(localID); 1293 SceneObjectPart part = GetSceneObjectPart(localID);
1284 if (part != null) 1294 if (part != null)
1285 { 1295 {
1296
1297 /*
1286 if (part.OwnerID != remoteClient.AgentId) 1298 if (part.OwnerID != remoteClient.AgentId)
1299 {
1287 return; 1300 return;
1301 }
1288 1302
1289 if ((part.OwnerMask & (uint)PermissionMask.Modify) == 0) 1303 if ((part.OwnerMask & (uint)PermissionMask.Modify) == 0)
1304 {
1290 return; 1305 return;
1306 }
1307 */
1308
1309 if (!ExternalChecks.ExternalChecksCanEditObject(part.UUID, remoteClient.AgentId))
1310 {
1311 return;
1312 }
1291 1313
1292 part.ParentGroup.AddInventoryItem(remoteClient, localID, item, copyID); 1314 part.ParentGroup.AddInventoryItem(remoteClient, localID, item, copyID);
1293 // TODO: set this to "true" when scripts in inventory have persistent state to fire on_rez 1315 // TODO: set this to "true" when scripts in inventory have persistent state to fire on_rez