From 8bdd80abfa3830142b16615d97d555dad417e08d Mon Sep 17 00:00:00 2001
From: Diva Canto
Date: Thu, 12 Jan 2012 09:56:35 -0800
Subject: HG: normalize all externalized user ULRs to be the Home URL, i.e. the
location of the user's UAS. This corrects an earlier design which had some
cases pointing to the profile server. WARNING: CONFIGURATION CHANGES in both
the sims (*Common.ini) and the Robust configs (Robust.HG.ini). Please check
diff of the example files, but basically all vars that were pointing to
profile should point to the UAS instead and should be called HomeURI.
---
.../Serialization/External/ExternalRepresentationUtils.cs | 8 ++++----
.../CoreModules/Framework/InventoryAccess/HGAssetMapper.cs | 10 +++++-----
.../Framework/InventoryAccess/HGInventoryAccessModule.cs | 9 ++++++---
OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs | 8 ++++++--
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 4 ++--
.../Framework/Scenes/Serialization/SceneObjectSerializer.cs | 8 ++++----
OpenSim/Services/HypergridService/HGAssetService.cs | 11 +++++++----
OpenSim/Services/HypergridService/HGInventoryService.cs | 9 ++++++---
bin/Robust.HG.ini.example | 4 ++--
bin/config-include/GridCommon.ini.example | 2 +-
bin/config-include/StandaloneCommon.ini.example | 6 +++---
11 files changed, 46 insertions(+), 33 deletions(-)
diff --git a/OpenSim/Framework/Serialization/External/ExternalRepresentationUtils.cs b/OpenSim/Framework/Serialization/External/ExternalRepresentationUtils.cs
index 6e8c2ee..7447ac2 100644
--- a/OpenSim/Framework/Serialization/External/ExternalRepresentationUtils.cs
+++ b/OpenSim/Framework/Serialization/External/ExternalRepresentationUtils.cs
@@ -44,13 +44,13 @@ namespace OpenSim.Framework.Serialization.External
/// with creator data added to it.
///
/// The SceneObjectPart represented in XML2
- /// The URL of the profile service for the creator
+ /// The URL of the user agents service (home) for the creator
/// The service for retrieving user account information
/// The scope of the user account information (Grid ID)
/// The SceneObjectPart represented in XML2
- public static string RewriteSOP(string xml, string profileURL, IUserAccountService userService, UUID scopeID)
+ public static string RewriteSOP(string xml, string homeURL, IUserAccountService userService, UUID scopeID)
{
- if (xml == string.Empty || profileURL == string.Empty || userService == null)
+ if (xml == string.Empty || homeURL == string.Empty || userService == null)
return xml;
XmlDocument doc = new XmlDocument();
@@ -83,7 +83,7 @@ namespace OpenSim.Framework.Serialization.External
if (!hasCreatorData && creator != null)
{
XmlElement creatorData = doc.CreateElement("CreatorData");
- creatorData.InnerText = profileURL + "/" + creator.PrincipalID + ";" + creator.FirstName + " " + creator.LastName;
+ creatorData.InnerText = homeURL + ";" + creator.FirstName + " " + creator.LastName;
sop.AppendChild(creatorData);
}
}
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGAssetMapper.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGAssetMapper.cs
index d20c9eb..eaadc1b 100644
--- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGAssetMapper.cs
+++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGAssetMapper.cs
@@ -55,16 +55,16 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
// private Dictionary m_inventoryServers = new Dictionary();
private Scene m_scene;
- private string m_ProfileServerURI;
+ private string m_HomeURI;
#endregion
#region Constructor
- public HGAssetMapper(Scene scene, string profileURL)
+ public HGAssetMapper(Scene scene, string homeURL)
{
m_scene = scene;
- m_ProfileServerURI = profileURL;
+ m_HomeURI = homeURL;
}
#endregion
@@ -150,7 +150,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
UUID.TryParse(meta.CreatorID, out uuid);
UserAccount creator = m_scene.UserAccountService.GetUserAccount(m_scene.RegionInfo.ScopeID, uuid);
if (creator != null)
- meta.CreatorID = m_ProfileServerURI + "/" + meta.CreatorID + ";" + creator.FirstName + " " + creator.LastName;
+ meta.CreatorID = m_HomeURI + ";" + creator.FirstName + " " + creator.LastName;
}
}
@@ -193,7 +193,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
if (!hasCreatorData && creator != null)
{
XmlElement creatorData = doc.CreateElement("CreatorData");
- creatorData.InnerText = m_ProfileServerURI + "/" + creator.PrincipalID + ";" + creator.FirstName + " " + creator.LastName;
+ creatorData.InnerText = m_HomeURI + ";" + creator.FirstName + " " + creator.LastName;
sop.AppendChild(creatorData);
}
}
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs
index bf24ebc..0c4ff7f 100644
--- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs
@@ -54,7 +54,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
get { return m_assMapper; }
}
- private string m_ProfileServerURI;
+ private string m_HomeURI;
private bool m_OutboundPermission;
private string m_ThisGatekeeper;
@@ -84,7 +84,10 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
IConfig thisModuleConfig = source.Configs["HGInventoryAccessModule"];
if (thisModuleConfig != null)
{
- m_ProfileServerURI = thisModuleConfig.GetString("ProfileServerURI", string.Empty);
+ // legacy configuration [obsolete]
+ m_HomeURI = thisModuleConfig.GetString("ProfileServerURI", string.Empty);
+ // preferred
+ m_HomeURI = thisModuleConfig.GetString("HomeURI", m_HomeURI);
m_OutboundPermission = thisModuleConfig.GetBoolean("OutboundPermission", true);
m_ThisGatekeeper = thisModuleConfig.GetString("Gatekeeper", string.Empty);
}
@@ -100,7 +103,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
return;
base.AddRegion(scene);
- m_assMapper = new HGAssetMapper(scene, m_ProfileServerURI);
+ m_assMapper = new HGAssetMapper(scene, m_HomeURI);
scene.EventManager.OnNewInventoryItemUploadComplete += UploadInventoryItem;
}
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs
index f44a3ba..0707cbe 100644
--- a/OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs
+++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs
@@ -125,8 +125,12 @@ namespace OpenSim.Region.CoreModules.World.Archiver
Dictionary options = new Dictionary();
OptionSet ops = new OptionSet();
-// ops.Add("v|version=", delegate(string v) { options["version"] = v; });
- ops.Add("p|profile=", delegate(string v) { options["profile"] = v; });
+
+ // legacy argument [obsolete]
+ ops.Add("p|profile=", delegate(string v) { Console.WriteLine("\n WARNING: -profile option is obsolete and it will not work. Use -home instead.\n"); });
+ // preferred
+ ops.Add("h|home=", delegate(string v) { options["home"] = v; });
+
ops.Add("noassets", delegate(string v) { options["noassets"] = v != null; });
ops.Add("perm=", delegate(string v) { options["checkPermissions"] = v; });
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 51d3586..e9c33eb 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -394,7 +394,7 @@ namespace OpenSim.Region.Framework.Scenes
private string m_creatorData = string.Empty;
///
- /// Data about the creator in the form profile_url;name
+ /// Data about the creator in the form home_url;name
///
public string CreatorData
{
@@ -405,7 +405,7 @@ namespace OpenSim.Region.Framework.Scenes
///
/// Used by the DB layer to retrieve / store the entire user identification.
/// The identification can either be a simple UUID or a string of the form
- /// uuid[;profile_url[;name]]
+ /// uuid[;home_url[;name]]
///
public string CreatorIdentification
{
diff --git a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs
index 38d1231..7c60ddd 100644
--- a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs
+++ b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs
@@ -1134,12 +1134,12 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
if (sop.CreatorData != null && sop.CreatorData != string.Empty)
writer.WriteElementString("CreatorData", sop.CreatorData);
- else if (options.ContainsKey("profile"))
+ else if (options.ContainsKey("home"))
{
if (m_UserManagement == null)
m_UserManagement = sop.ParentGroup.Scene.RequestModuleInterface();
string name = m_UserManagement.GetUserName(sop.CreatorID);
- writer.WriteElementString("CreatorData", (string)options["profile"] + "/" + sop.CreatorID + ";" + name);
+ writer.WriteElementString("CreatorData", (string)options["home"] + ";" + name);
}
WriteUUID(writer, "FolderID", sop.FolderID, options);
@@ -1282,12 +1282,12 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
if (item.CreatorData != null && item.CreatorData != string.Empty)
writer.WriteElementString("CreatorData", item.CreatorData);
- else if (options.ContainsKey("profile"))
+ else if (options.ContainsKey("home"))
{
if (m_UserManagement == null)
m_UserManagement = scene.RequestModuleInterface();
string name = m_UserManagement.GetUserName(item.CreatorID);
- writer.WriteElementString("CreatorData", (string)options["profile"] + "/" + item.CreatorID + ";" + name);
+ writer.WriteElementString("CreatorData", (string)options["home"] + ";" + name);
}
writer.WriteElementString("Description", item.Description);
diff --git a/OpenSim/Services/HypergridService/HGAssetService.cs b/OpenSim/Services/HypergridService/HGAssetService.cs
index e518329..22e233a 100644
--- a/OpenSim/Services/HypergridService/HGAssetService.cs
+++ b/OpenSim/Services/HypergridService/HGAssetService.cs
@@ -53,7 +53,7 @@ namespace OpenSim.Services.HypergridService
LogManager.GetLogger(
MethodBase.GetCurrentMethod().DeclaringType);
- private string m_ProfileServiceURL;
+ private string m_HomeURL;
private IUserAccountService m_UserAccountService;
private UserAccountCache m_Cache;
@@ -74,7 +74,10 @@ namespace OpenSim.Services.HypergridService
if (m_UserAccountService == null)
throw new Exception(String.Format("Unable to create UserAccountService from {0}", userAccountsDll));
- m_ProfileServiceURL = assetConfig.GetString("ProfileServerURI", string.Empty);
+ // legacy configuration [obsolete]
+ m_HomeURL = assetConfig.GetString("ProfileServerURI", string.Empty);
+ // Preferred
+ m_HomeURL = assetConfig.GetString("HomeURI", m_HomeURL);
m_Cache = UserAccountCache.CreateUserAccountCache(m_UserAccountService);
}
@@ -134,13 +137,13 @@ namespace OpenSim.Services.HypergridService
UserAccount creator = m_Cache.GetUser(meta.CreatorID);
if (creator != null)
- meta.CreatorID = m_ProfileServiceURL + "/" + meta.CreatorID + ";" + creator.FirstName + " " + creator.LastName;
+ meta.CreatorID = meta.CreatorID + ";" + m_HomeURL + "/" + creator.FirstName + " " + creator.LastName;
}
protected byte[] AdjustIdentifiers(byte[] data)
{
string xml = Utils.BytesToString(data);
- return Utils.StringToBytes(ExternalRepresentationUtils.RewriteSOP(xml, m_ProfileServiceURL, m_Cache, UUID.Zero));
+ return Utils.StringToBytes(ExternalRepresentationUtils.RewriteSOP(xml, m_HomeURL, m_Cache, UUID.Zero));
}
}
diff --git a/OpenSim/Services/HypergridService/HGInventoryService.cs b/OpenSim/Services/HypergridService/HGInventoryService.cs
index 4eb61ba..daf8c3a 100644
--- a/OpenSim/Services/HypergridService/HGInventoryService.cs
+++ b/OpenSim/Services/HypergridService/HGInventoryService.cs
@@ -55,7 +55,7 @@ namespace OpenSim.Services.HypergridService
protected new IXInventoryData m_Database;
- private string m_ProfileServiceURL;
+ private string m_HomeURL;
private IUserAccountService m_UserAccountService;
private UserAccountCache m_Cache;
@@ -100,7 +100,10 @@ namespace OpenSim.Services.HypergridService
if (m_UserAccountService == null)
throw new Exception(String.Format("Unable to create UserAccountService from {0}", userAccountsDll));
- m_ProfileServiceURL = invConfig.GetString("ProfileServerURI", string.Empty);
+ // legacy configuration [obsolete]
+ m_HomeURL = invConfig.GetString("ProfileServerURI", string.Empty);
+ // Preferred
+ m_HomeURL = invConfig.GetString("HomeURI", m_HomeURL);
m_Cache = UserAccountCache.CreateUserAccountCache(m_UserAccountService);
}
@@ -321,7 +324,7 @@ namespace OpenSim.Services.HypergridService
// Adjust the creator data
if (user != null && it != null && (it.CreatorData == null || it.CreatorData == string.Empty))
- it.CreatorData = m_ProfileServiceURL + "/" + it.CreatorId + ";" + user.FirstName + " " + user.LastName;
+ it.CreatorData = m_HomeURL + ";" + user.FirstName + " " + user.LastName;
return it;
}
diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example
index 49ee41a..668fabc 100644
--- a/bin/Robust.HG.ini.example
+++ b/bin/Robust.HG.ini.example
@@ -380,7 +380,7 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003
; For the InventoryServiceInConnector
LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInventoryService"
UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
- ProfileServerURI = "http://127.0.0.1:8002/user"
+ HomeURI = "http://127.0.0.1:8002"
; * The interface that local users get when they are in other grids.
; * This restricts the access that the rest of the world has to
@@ -389,7 +389,7 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003
[HGAssetService]
LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGAssetService"
UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
- ProfileServerURI = "http://127.0.0.1:8002/user"
+ HomeURI = "http://127.0.0.1:8002"
[HGFriendsService]
LocalServiceModule = "OpenSim.Services.FriendsService.dll:FriendsService"
diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example
index e368249..815e08c 100644
--- a/bin/config-include/GridCommon.ini.example
+++ b/bin/config-include/GridCommon.ini.example
@@ -123,7 +123,7 @@
; Change this to your server
; accessible from other grids
;
- ProfileServerURI = "http://mygridserver.com:8002/user"
+ HomeURI = "http://mygridserver.com:8002/user"
Gatekeeper = "http://mygridserver.com:8002"
;; If you want to protect your assets from being copied by foreign visitors
;; uncomment the next line. You may want to do this on sims that have licensed content.
diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example
index 84611ec..2f39218 100644
--- a/bin/config-include/StandaloneCommon.ini.example
+++ b/bin/config-include/StandaloneCommon.ini.example
@@ -48,13 +48,13 @@
AssetLoaderArgs = "assets/AssetSets.xml"
[HGInventoryService]
- ProfileServerURI = "http://127.0.0.1:9000/profiles"
+ HomeURI = "http://127.0.0.1:9000"
[HGAssetService]
- ProfileServerURI = "http://127.0.0.1:9000/profiles"
+ HomeURI = "http://127.0.0.1:9000"
[HGInventoryAccessModule]
- ProfileServerURI = "http://127.0.0.1:9000/profiles"
+ HomeURI = "http://127.0.0.1:9000"
Gatekeeper = "http://127.0.0.1:9000"
;; If you want to protect your assets from being copied by foreign visitors
--
cgit v1.1