aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/ApplicationPlugins/Rest
diff options
context:
space:
mode:
authorMelanie Thielker2008-11-14 18:54:38 +0000
committerMelanie Thielker2008-11-14 18:54:38 +0000
commitd66f3993de49d80d1db9f139ff08485c2d7d9664 (patch)
tree5008e680b817653dfba71263c7da836005b7c3d3 /OpenSim/ApplicationPlugins/Rest
parent* Allow new script creation to be locked down to only gods if specified in Op... (diff)
downloadopensim-SC_OLD-d66f3993de49d80d1db9f139ff08485c2d7d9664.zip
opensim-SC_OLD-d66f3993de49d80d1db9f139ff08485c2d7d9664.tar.gz
opensim-SC_OLD-d66f3993de49d80d1db9f139ff08485c2d7d9664.tar.bz2
opensim-SC_OLD-d66f3993de49d80d1db9f139ff08485c2d7d9664.tar.xz
Add group permissions to agent inventory.
Contains a migration. May contain nuts. Please back up your inventory data store. This revision changes the interface version!! No older regions can connect to these new UGAIM, and the new regions can't connect to the old UGAIM. Fixes a long-standing issue of permissions loss Currently persisted on MySQL only.
Diffstat (limited to 'OpenSim/ApplicationPlugins/Rest')
-rw-r--r--OpenSim/ApplicationPlugins/Rest/Inventory/RestInventoryServices.cs8
1 files changed, 8 insertions, 0 deletions
diff --git a/OpenSim/ApplicationPlugins/Rest/Inventory/RestInventoryServices.cs b/OpenSim/ApplicationPlugins/Rest/Inventory/RestInventoryServices.cs
index a62a208..9054569 100644
--- a/OpenSim/ApplicationPlugins/Rest/Inventory/RestInventoryServices.cs
+++ b/OpenSim/ApplicationPlugins/Rest/Inventory/RestInventoryServices.cs
@@ -1329,6 +1329,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
1329 rdata.writer.WriteStartElement(String.Empty, "Permissions", String.Empty); 1329 rdata.writer.WriteStartElement(String.Empty, "Permissions", String.Empty);
1330 rdata.writer.WriteAttributeString("current", String.Empty, i.CurrentPermissions.ToString("X")); 1330 rdata.writer.WriteAttributeString("current", String.Empty, i.CurrentPermissions.ToString("X"));
1331 rdata.writer.WriteAttributeString("next", String.Empty, i.NextPermissions.ToString("X")); 1331 rdata.writer.WriteAttributeString("next", String.Empty, i.NextPermissions.ToString("X"));
1332 rdata.writer.WriteAttributeString("group", String.Empty, i.GroupPermissions.ToString("X"));
1332 rdata.writer.WriteAttributeString("everyone", String.Empty, i.EveryOnePermissions.ToString("X")); 1333 rdata.writer.WriteAttributeString("everyone", String.Empty, i.EveryOnePermissions.ToString("X"));
1333 rdata.writer.WriteAttributeString("base", String.Empty, i.BasePermissions.ToString("X")); 1334 rdata.writer.WriteAttributeString("base", String.Empty, i.BasePermissions.ToString("X"));
1334 rdata.writer.WriteEndElement(); 1335 rdata.writer.WriteEndElement();
@@ -1950,6 +1951,9 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
1950 case "next" : 1951 case "next" :
1951 ic.NextPermissions = UInt32.Parse(ic.xml.Value, System.Globalization.NumberStyles.HexNumber); 1952 ic.NextPermissions = UInt32.Parse(ic.xml.Value, System.Globalization.NumberStyles.HexNumber);
1952 break; 1953 break;
1954 case "group" :
1955 ic.GroupPermissions = UInt32.Parse(ic.xml.Value, System.Globalization.NumberStyles.HexNumber);
1956 break;
1953 case "everyone" : 1957 case "everyone" :
1954 ic.EveryOnePermissions = UInt32.Parse(ic.xml.Value, System.Globalization.NumberStyles.HexNumber); 1958 ic.EveryOnePermissions = UInt32.Parse(ic.xml.Value, System.Globalization.NumberStyles.HexNumber);
1955 break; 1959 break;
@@ -2061,6 +2065,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
2061 ic.Item.CurrentPermissions = ic.CurrentPermissions; 2065 ic.Item.CurrentPermissions = ic.CurrentPermissions;
2062 ic.Item.EveryOnePermissions = ic.EveryOnePermissions; 2066 ic.Item.EveryOnePermissions = ic.EveryOnePermissions;
2063 ic.Item.BasePermissions = ic.BasePermissions; 2067 ic.Item.BasePermissions = ic.BasePermissions;
2068 ic.Item.GroupPermissions = ic.GroupPermissions;
2064 ic.Item.NextPermissions = ic.NextPermissions; 2069 ic.Item.NextPermissions = ic.NextPermissions;
2065 2070
2066 // If no type was specified for this item, we can attempt to 2071 // If no type was specified for this item, we can attempt to
@@ -2258,11 +2263,13 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
2258 internal /*static*/ const uint DefaultNext = 0x82000; 2263 internal /*static*/ const uint DefaultNext = 0x82000;
2259 internal /*static*/ const uint DefaultBase = 0x7FFFFFFF; 2264 internal /*static*/ const uint DefaultBase = 0x7FFFFFFF;
2260 internal /*static*/ const uint DefaultEveryOne = 0x0; 2265 internal /*static*/ const uint DefaultEveryOne = 0x0;
2266 internal /*static*/ const uint DefaultGroup = 0x0;
2261 2267
2262 internal uint CurrentPermissions = 0x00; 2268 internal uint CurrentPermissions = 0x00;
2263 internal uint NextPermissions = 0x00; 2269 internal uint NextPermissions = 0x00;
2264 internal uint BasePermissions = 0x00; 2270 internal uint BasePermissions = 0x00;
2265 internal uint EveryOnePermissions = 0x00; 2271 internal uint EveryOnePermissions = 0x00;
2272 internal uint GroupPermissions = 0x00;
2266 2273
2267 internal XmlInventoryCollection() 2274 internal XmlInventoryCollection()
2268 { 2275 {
@@ -2286,6 +2293,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
2286 CurrentPermissions = DefaultCurrent; 2293 CurrentPermissions = DefaultCurrent;
2287 NextPermissions = DefaultNext; 2294 NextPermissions = DefaultNext;
2288 BasePermissions = DefaultBase; 2295 BasePermissions = DefaultBase;
2296 GroupPermissions = DefaultGroup;
2289 EveryOnePermissions = DefaultEveryOne; 2297 EveryOnePermissions = DefaultEveryOne;
2290 } 2298 }
2291 2299