From 462ad336dcd59dfc4325aed9e6d635aa866cd094 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Fri, 2 Nov 2012 00:02:10 +0000
Subject: Move check to allow only deletion of maptiles up to
AssetServerDeleteHandler from AssetService.
This allows us to use a common check for both AssetService and XAssetService.
It also allows future console commands to delete an asset.
As before, deletion of maptile assets is not allowed remotely unless this is explicitly configured.
---
.../Server/Handlers/Asset/AssetServerDeleteHandler.cs | 17 ++++++++++++++---
OpenSim/Services/AssetService/AssetService.cs | 17 ++---------------
OpenSim/Services/AssetService/XAssetService.cs | 18 ++----------------
3 files changed, 18 insertions(+), 34 deletions(-)
diff --git a/OpenSim/Server/Handlers/Asset/AssetServerDeleteHandler.cs b/OpenSim/Server/Handlers/Asset/AssetServerDeleteHandler.cs
index 0cfe5b1..9a8aee6 100644
--- a/OpenSim/Server/Handlers/Asset/AssetServerDeleteHandler.cs
+++ b/OpenSim/Server/Handlers/Asset/AssetServerDeleteHandler.cs
@@ -44,7 +44,7 @@ namespace OpenSim.Server.Handlers.Asset
{
public class AssetServerDeleteHandler : BaseStreamHandler
{
- // private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+ private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private IAssetService m_AssetService;
protected bool m_allowDelete;
@@ -65,11 +65,22 @@ namespace OpenSim.Server.Handlers.Asset
if (p.Length > 0 && m_allowDelete)
{
- result = m_AssetService.Delete(p[0]);
+ string assetID = p[0];
+
+ AssetBase asset = m_AssetService.Get(assetID);
+ if (asset != null && (int)(asset.Flags & AssetFlags.Maptile) != 0)
+ {
+ result = m_AssetService.Delete(assetID);
+ }
+ else
+ {
+ m_log.DebugFormat(
+ "[ASSET SERVER DELETE HANDLER]: Request to delete asset {0}, but flags are not Maptile", assetID);
+ }
}
XmlSerializer xs = new XmlSerializer(typeof(bool));
return ServerUtils.SerializeResult(xs, result);
}
}
-}
+}
\ No newline at end of file
diff --git a/OpenSim/Services/AssetService/AssetService.cs b/OpenSim/Services/AssetService/AssetService.cs
index b1f0f7e..e7eb6fe 100644
--- a/OpenSim/Services/AssetService/AssetService.cs
+++ b/OpenSim/Services/AssetService/AssetService.cs
@@ -70,7 +70,7 @@ namespace OpenSim.Services.AssetService
if (assetLoaderEnabled)
{
- m_log.DebugFormat("[ASSET]: Loading default asset set from {0}", loaderArgs);
+ m_log.DebugFormat("[ASSET SERVICE]: Loading default asset set from {0}", loaderArgs);
m_AssetLoader.ForEachDefaultXmlAsset(
loaderArgs,
@@ -197,20 +197,7 @@ namespace OpenSim.Services.AssetService
if (!UUID.TryParse(id, out assetID))
return false;
- AssetBase asset = m_Database.GetAsset(assetID);
- if (asset == null)
- return false;
-
- if ((int)(asset.Flags & AssetFlags.Maptile) != 0)
- {
- return m_Database.Delete(id);
- }
- else
- {
- m_log.DebugFormat("[ASSET SERVICE]: Request to delete asset {0}, but flags are not Maptile", id);
- }
-
- return false;
+ return m_Database.Delete(id);
}
}
}
\ No newline at end of file
diff --git a/OpenSim/Services/AssetService/XAssetService.cs b/OpenSim/Services/AssetService/XAssetService.cs
index e62bcb5..a1d10ed 100644
--- a/OpenSim/Services/AssetService/XAssetService.cs
+++ b/OpenSim/Services/AssetService/XAssetService.cs
@@ -194,21 +194,7 @@ namespace OpenSim.Services.AssetService
if (!UUID.TryParse(id, out assetID))
return false;
- AssetBase asset = m_Database.GetAsset(assetID);
- if (asset == null)
- return false;
-
- if ((int)(asset.Flags & AssetFlags.Maptile) != 0)
- {
- return m_Database.Delete(id);
- }
- else
- {
- m_log.DebugFormat("[XASSET SERVICE]: Request to delete asset {0}, but flags are not Maptile", id);
- }
-
- return false;
+ return m_Database.Delete(id);
}
}
-}
-
+}
\ No newline at end of file
--
cgit v1.1
From ce7beb6f20cb09e19e0f695f445cfa860b9e9c78 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Fri, 2 Nov 2012 01:41:38 +0000
Subject: Add [AssetService] AllowRemoteDeleteAllTypes (default false).
This allows a closed grid to delete asset types other than maptile remotely.
Only operational if AllowRemoteDelete = true also.
Defaults to false - do not enable if anybody other than you can make asset service requests.
---
.../Server/Handlers/Asset/AssetServerConnector.cs | 17 +++++++-
.../Handlers/Asset/AssetServerDeleteHandler.cs | 50 ++++++++++++++++------
bin/Robust.ini.example | 14 +++++-
3 files changed, 65 insertions(+), 16 deletions(-)
diff --git a/OpenSim/Server/Handlers/Asset/AssetServerConnector.cs b/OpenSim/Server/Handlers/Asset/AssetServerConnector.cs
index 4123f49..ff45d94 100644
--- a/OpenSim/Server/Handlers/Asset/AssetServerConnector.cs
+++ b/OpenSim/Server/Handlers/Asset/AssetServerConnector.cs
@@ -67,10 +67,25 @@ namespace OpenSim.Server.Handlers.Asset
throw new Exception(String.Format("Failed to load AssetService from {0}; config is {1}", assetService, m_ConfigName));
bool allowDelete = serverConfig.GetBoolean("AllowRemoteDelete", false);
+ bool allowDeleteAllTypes = serverConfig.GetBoolean("AllowRemoteDeleteAllTypes", false);
+
+ AllowedRemoteDeleteTypes allowedRemoteDeleteTypes;
+
+ if (!allowDelete)
+ {
+ allowedRemoteDeleteTypes = AllowedRemoteDeleteTypes.None;
+ }
+ else
+ {
+ if (allowDeleteAllTypes)
+ allowedRemoteDeleteTypes = AllowedRemoteDeleteTypes.All;
+ else
+ allowedRemoteDeleteTypes = AllowedRemoteDeleteTypes.MapTile;
+ }
server.AddStreamHandler(new AssetServerGetHandler(m_AssetService));
server.AddStreamHandler(new AssetServerPostHandler(m_AssetService));
- server.AddStreamHandler(new AssetServerDeleteHandler(m_AssetService, allowDelete));
+ server.AddStreamHandler(new AssetServerDeleteHandler(m_AssetService, allowedRemoteDeleteTypes));
MainConsole.Instance.Commands.AddCommand("Assets", false,
"show asset",
diff --git a/OpenSim/Server/Handlers/Asset/AssetServerDeleteHandler.cs b/OpenSim/Server/Handlers/Asset/AssetServerDeleteHandler.cs
index 9a8aee6..986394b 100644
--- a/OpenSim/Server/Handlers/Asset/AssetServerDeleteHandler.cs
+++ b/OpenSim/Server/Handlers/Asset/AssetServerDeleteHandler.cs
@@ -42,18 +42,32 @@ using OpenSim.Framework.Servers.HttpServer;
namespace OpenSim.Server.Handlers.Asset
{
+ ///
+ /// Remote deletes allowed.
+ ///
+ public enum AllowedRemoteDeleteTypes
+ {
+ None,
+ MapTile,
+ All
+ }
+
public class AssetServerDeleteHandler : BaseStreamHandler
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private IAssetService m_AssetService;
- protected bool m_allowDelete;
- public AssetServerDeleteHandler(IAssetService service, bool allowDelete) :
+ ///
+ /// Asset types that can be deleted remotely.
+ ///
+ private AllowedRemoteDeleteTypes m_allowedTypes;
+
+ public AssetServerDeleteHandler(IAssetService service, AllowedRemoteDeleteTypes allowedTypes) :
base("DELETE", "/assets")
{
m_AssetService = service;
- m_allowDelete = allowDelete;
+ m_allowedTypes = allowedTypes;
}
public override byte[] Handle(string path, Stream request,
@@ -63,19 +77,27 @@ namespace OpenSim.Server.Handlers.Asset
string[] p = SplitParams(path);
- if (p.Length > 0 && m_allowDelete)
+ if (p.Length > 0)
{
- string assetID = p[0];
-
- AssetBase asset = m_AssetService.Get(assetID);
- if (asset != null && (int)(asset.Flags & AssetFlags.Maptile) != 0)
- {
- result = m_AssetService.Delete(assetID);
- }
- else
+ if (m_allowedTypes != AllowedRemoteDeleteTypes.None)
{
- m_log.DebugFormat(
- "[ASSET SERVER DELETE HANDLER]: Request to delete asset {0}, but flags are not Maptile", assetID);
+ string assetID = p[0];
+
+ AssetBase asset = m_AssetService.Get(assetID);
+ if (asset != null)
+ {
+ if (m_allowedTypes == AllowedRemoteDeleteTypes.All
+ || (int)(asset.Flags & AssetFlags.Maptile) != 0)
+ {
+ result = m_AssetService.Delete(assetID);
+ }
+ else
+ {
+ m_log.DebugFormat(
+ "[ASSET SERVER DELETE HANDLER]: Request to delete asset {0}, but type is {1} and allowed remote delete types are {2}",
+ assetID, (AssetFlags)asset.Flags, m_allowedTypes);
+ }
+ }
}
}
diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example
index 2eb551d..7503c5e 100644
--- a/bin/Robust.ini.example
+++ b/bin/Robust.ini.example
@@ -77,7 +77,19 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto
LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService"
DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll"
AssetLoaderArgs = "./assets/AssetSets.xml"
- AllowRemoteDelete = "false"
+
+ ; Allow maptile assets to remotely deleted by remote calls to the asset service.
+ ; There is no harm in having this as false - it just means that historical maptile assets are not deleted.
+ ; This only applies to maptiles served via the version 1 viewer mechanisms
+ ; Default is false
+ AllowRemoteDelete = false
+
+ ; Allow all assets to be remotely deleted.
+ ; Only set this to true if you are operating a grid where you control all calls to the asset service
+ ; (where a necessary condition is that you control all simulators) and you need this for admin purposes.
+ ; If set to true, AllowRemoteDelete = true is required as well.
+ ; Default is false.
+ AllowRemoteDeleteAllTypes = false
; * This configuration loads the inventory server modules. It duplicates
; * the function of the legacy inventory server
--
cgit v1.1
From 2e106cd5de63caf3d4eaeda8ac9a6ab0007a6b14 Mon Sep 17 00:00:00 2001
From: Dan Lake
Date: Fri, 2 Nov 2012 03:07:53 -0700
Subject: Change to earlier commit for TargetVelocity to support distributed
physics.
---
OpenSim/Region/Framework/Scenes/ScenePresence.cs | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 5f2a6b1..96bca3e 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
@@ -523,7 +523,7 @@ namespace OpenSim.Region.Framework.Scenes
{
if (PhysicsActor != null)
{
- m_velocity = PhysicsActor.TargetVelocity;
+ m_velocity = PhysicsActor.Velocity;
// m_log.DebugFormat(
// "[SCENE PRESENCE]: Set velocity {0} for {1} in {2} via getting Velocity!",
@@ -538,7 +538,7 @@ namespace OpenSim.Region.Framework.Scenes
{
try
{
- PhysicsActor.Velocity = value;
+ PhysicsActor.TargetVelocity = value;
}
catch (Exception e)
{
--
cgit v1.1
From 7412795a0bedae060e9f2bce2fa12e0497916f6e Mon Sep 17 00:00:00 2001
From: Diva Canto
Date: Fri, 2 Nov 2012 08:05:56 -0700
Subject: HG: flip all configs to HG2.0. PLEASE CHECK YOUR EXISTING HG CONFIGS
AGAINST THESE.
---
.../EntityTransfer/HGEntityTransferModule.cs | 4 +-
.../InventoryAccess/HGInventoryAccessModule.cs | 4 +-
.../HypergridService/HGSuitcaseInventoryService.cs | 10 +-
bin/Robust.HG.ini.example | 9 +-
bin/config-include/StandaloneCommon.ini.example | 162 ++++++++++++---------
bin/config-include/StandaloneHypergrid.ini | 8 +-
6 files changed, 117 insertions(+), 80 deletions(-)
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs
index 679be18..e37d429 100644
--- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs
@@ -259,8 +259,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
if (flags == -1 /* no region in DB */ || (flags & (int)OpenSim.Framework.RegionFlags.Hyperlink) != 0)
{
// this user is going to another grid
- // check if HyperGrid teleport is allowed, based on user level
- if (sp.UserLevel < m_levelHGTeleport)
+ // for local users, check if HyperGrid teleport is allowed, based on user level
+ if (Scene.UserManagementModule.IsLocalGridUser(sp.UUID) && sp.UserLevel < m_levelHGTeleport)
{
m_log.WarnFormat("[HG ENTITY TRANSFER MODULE]: Unable to HG teleport agent due to insufficient UserLevel.");
reason = "Hypergrid teleport not allowed";
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs
index 80257bd..6bb758e 100644
--- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs
@@ -92,7 +92,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
m_HomeURI = thisModuleConfig.GetString("HomeURI", m_HomeURI);
m_OutboundPermission = thisModuleConfig.GetBoolean("OutboundPermission", true);
m_ThisGatekeeper = thisModuleConfig.GetString("Gatekeeper", string.Empty);
- m_RestrictInventoryAccessAbroad = thisModuleConfig.GetBoolean("RestrictInventoryAccessAbroad", false);
+ m_RestrictInventoryAccessAbroad = thisModuleConfig.GetBoolean("RestrictInventoryAccessAbroad", true);
}
else
m_log.Warn("[HG INVENTORY ACCESS MODULE]: HGInventoryAccessModule configs not found. ProfileServerURI not set!");
@@ -351,6 +351,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
private void ProcessInventoryForArriving(IClientAPI client)
{
+ // No-op for now, but we may need to do something for freign users inventory
}
//
@@ -397,6 +398,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
private void ProcessInventoryForLeaving(IClientAPI client)
{
+ // No-op for now
}
#endregion
diff --git a/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs b/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs
index 556a0da..677bd7b 100644
--- a/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs
+++ b/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs
@@ -71,7 +71,7 @@ namespace OpenSim.Services.HypergridService
m_ConfigName = configName;
if (m_Database == null)
- m_log.WarnFormat("[XXX]: m_Database is null!");
+ m_log.ErrorFormat("[HG SUITCASE INVENTORY SERVICE]: m_Database is null!");
//
// Try reading the [InventoryService] section, if it exists
@@ -301,7 +301,7 @@ namespace OpenSim.Services.HypergridService
public override bool AddFolder(InventoryFolderBase folder)
{
- m_log.WarnFormat("[HG SUITCASE INVENTORY SERVICE]: AddFolder {0} {1}", folder.Name, folder.ParentID);
+ //m_log.WarnFormat("[HG SUITCASE INVENTORY SERVICE]: AddFolder {0} {1}", folder.Name, folder.ParentID);
// Let's do a bit of sanity checking, more than the base service does
// make sure the given folder's parent folder exists under the suitcase tree of this user
@@ -323,7 +323,7 @@ namespace OpenSim.Services.HypergridService
public override bool UpdateFolder(InventoryFolderBase folder)
{
- m_log.DebugFormat("[HG SUITCASE INVENTORY SERVICE]: Update folder {0}, version {1}", folder.ID, folder.Version);
+ //m_log.DebugFormat("[HG SUITCASE INVENTORY SERVICE]: Update folder {0}, version {1}", folder.ID, folder.Version);
if (!IsWithinSuitcaseTree(folder.Owner, folder.ID))
{
m_log.DebugFormat("[HG SUITCASE INVENTORY SERVICE]: folder {0} not within Suitcase tree", folder.Name);
@@ -584,7 +584,7 @@ namespace OpenSim.Services.HypergridService
{
if (a.Wearables[i][j].ItemID == itemID)
{
- m_log.DebugFormat("[HG SUITCASE INVENTORY SERVICE]: item {0} is a wearable", itemID);
+ //m_log.DebugFormat("[HG SUITCASE INVENTORY SERVICE]: item {0} is a wearable", itemID);
return true;
}
}
@@ -593,7 +593,7 @@ namespace OpenSim.Services.HypergridService
// Check attachments
if (a.GetAttachmentForItem(itemID) != null)
{
- m_log.DebugFormat("[HG SUITCASE INVENTORY SERVICE]: item {0} is an attachment", itemID);
+ //m_log.DebugFormat("[HG SUITCASE INVENTORY SERVICE]: item {0} is an attachment", itemID);
return true;
}
diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example
index 82ef44d..4ecc6b0 100644
--- a/bin/Robust.HG.ini.example
+++ b/bin/Robust.HG.ini.example
@@ -485,8 +485,15 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset
; *
[HGInventoryService]
; For the InventoryServiceInConnector
- LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInventoryService"
+ LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService"
+ ;; alternatives:
+ ;; HG1.5, more permissive, not recommended, but still supported
+ ;LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInventoryService"
+ ;; HG1.0, totally permissive, not recommended, but OK for grids with 100% trust
+ ;LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService"
+
UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
+ AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
HomeURI = "http://127.0.0.1:8002"
; * The interface that local users get when they are in other grids.
diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example
index 84de0ec..f28de43 100644
--- a/bin/config-include/StandaloneCommon.ini.example
+++ b/bin/config-include/StandaloneCommon.ini.example
@@ -47,36 +47,6 @@
DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll"
AssetLoaderArgs = "assets/AssetSets.xml"
-[HGInventoryService]
- HomeURI = "http://127.0.0.1:9000"
-
-[HGAssetService]
- HomeURI = "http://127.0.0.1:9000"
-
- ;; The asset types that this grid can export to / import from other grids.
- ;; Comma separated.
- ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely:
- ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText,
- ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh
- ;;
- ;; Leave blank or commented if you don't want to apply any restrictions.
- ;; A more strict, but still reasonable, policy may be to disallow the exchange
- ;; of scripts, like so:
- ; DisallowExport ="LSLText"
- ; DisallowImport ="LSLBytecode"
-
-
-[HGInventoryAccessModule]
- 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
- ;; uncomment the next line. You may want to do this on sims that have licensed content.
- ; OutboundPermission = False
-
-[HGFriendsModule]
- ; User level required to be able to send friendship invitations to foreign users
- ;LevelHGFriends = 0;
[GridService]
;; For in-memory region storage (default)
@@ -97,11 +67,6 @@
;; change this to the address of your simulator
Gatekeeper="http://127.0.0.1:9000"
-[Messaging]
- ; === HG ONLY ===
- ;; change this to the address of your simulator
- Gatekeeper = "http://127.0.0.1:9000"
-
[LibraryModule]
; Set this if you want to change the name of the OpenSim Library
;LibraryName = "My World's Library"
@@ -140,41 +105,6 @@
;AllowedClients = ""
;DeniedClients = ""
-[GatekeeperService]
- ExternalName = "http://127.0.0.1:9000"
-
- ; Does this grid allow incoming links to any region in it?
- ; If false, HG TPs happen only to the Default regions specified in [GridService] section
- AllowTeleportsToAnyRegion = true
-
- ;; Regular expressions for controlling which client versions are accepted/denied.
- ;; An empty string means nothing is checked.
- ;;
- ;; Example 1: allow only these 3 types of clients (any version of them)
- ;; AllowedClients = "Imprudence|Hippo|Second Life"
- ;;
- ;; Example 2: allow all clients except these
- ;; DeniedClients = "Twisted|Crawler|Cryolife|FuckLife|StreetLife|GreenLife|AntiLife|KORE-Phaze|Synlyfe|Purple Second Life|SecondLi |Emerald"
- ;;
- ;; Note that these are regular expressions, so every character counts.
- ;; Also note that this is very weak security and should not be trusted as a reliable means
- ;; for keeping bad clients out; modified clients can fake their identifiers.
- ;;
- ;;
- ;AllowedClients = ""
- ;DeniedClients = ""
-
- ;; Are foreign visitors allowed?
- ;ForeignAgentsAllowed = true
- ;;
- ;; If ForeignAgentsAllowed is true, make exceptions using AllowExcept.
- ;; Leave blank or commented for no exceptions.
- ; AllowExcept = "http://griefer.com:8002, http://enemy.com:8002"
- ;;
- ;; If ForeignAgentsAllowed is false, make exceptions using DisallowExcept
- ;; Leave blank or commented for no exceptions.
- ; DisallowExcept = "http://myfriendgrid.com:8002, http://myboss.com:8002"
-
[FreeswitchService]
;; If FreeSWITCH is not being used then you don't need to set any of these parameters
@@ -279,6 +209,44 @@
; Example:
; Region_Test_1 = "DisallowForeigners"
+;;
+;; HG configurations
+;;
+[GatekeeperService]
+ ExternalName = "http://127.0.0.1:9000"
+
+ ; Does this grid allow incoming links to any region in it?
+ ; If false, HG TPs happen only to the Default regions specified in [GridService] section
+ AllowTeleportsToAnyRegion = true
+
+ ;; Regular expressions for controlling which client versions are accepted/denied.
+ ;; An empty string means nothing is checked.
+ ;;
+ ;; Example 1: allow only these 3 types of clients (any version of them)
+ ;; AllowedClients = "Imprudence|Hippo|Second Life"
+ ;;
+ ;; Example 2: allow all clients except these
+ ;; DeniedClients = "Twisted|Crawler|Cryolife|FuckLife|StreetLife|GreenLife|AntiLife|KORE-Phaze|Synlyfe|Purple Second Life|SecondLi |Emerald"
+ ;;
+ ;; Note that these are regular expressions, so every character counts.
+ ;; Also note that this is very weak security and should not be trusted as a reliable means
+ ;; for keeping bad clients out; modified clients can fake their identifiers.
+ ;;
+ ;;
+ ;AllowedClients = ""
+ ;DeniedClients = ""
+
+ ;; Are foreign visitors allowed?
+ ;ForeignAgentsAllowed = true
+ ;;
+ ;; If ForeignAgentsAllowed is true, make exceptions using AllowExcept.
+ ;; Leave blank or commented for no exceptions.
+ ; AllowExcept = "http://griefer.com:8002, http://enemy.com:8002"
+ ;;
+ ;; If ForeignAgentsAllowed is false, make exceptions using DisallowExcept
+ ;; Leave blank or commented for no exceptions.
+ ; DisallowExcept = "http://myfriendgrid.com:8002, http://myboss.com:8002"
+
[UserAgentService]
;; User level required to be contacted from other grids
;LevelOutsideContacts = 0
@@ -299,3 +267,57 @@
;; If ForeignTripsAllowed is true, make exceptions using AllowExcept.
;; Leave blank or commented for no exceptions.
; AllowExcept_Level_200 = "http://griefer.com:8002, http://enemy.com:8002"
+
+[HGInventoryService]
+ HomeURI = "http://127.0.0.1:9000"
+
+[HGAssetService]
+ HomeURI = "http://127.0.0.1:9000"
+
+ ;; The asset types that this grid can export to / import from other grids.
+ ;; Comma separated.
+ ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely:
+ ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText,
+ ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh
+ ;;
+ ;; Leave blank or commented if you don't want to apply any restrictions.
+ ;; A more strict, but still reasonable, policy may be to disallow the exchange
+ ;; of scripts, like so:
+ ; DisallowExport ="LSLText"
+ ; DisallowImport ="LSLBytecode"
+
+
+[HGInventoryAccessModule]
+ 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
+ ;; uncomment the next line. You may want to do this on sims that have licensed content.
+ ;; true = allow exports, false = disallow exports. True by default.
+ ; OutboundPermission = True
+
+ ;; Send visual reminder to local users that their inventories are unavailable while they are traveling
+ ;; and available when they return. True by default.
+ ;RestrictInventoryAccessAbroad = True
+
+[HGFriendsModule]
+ ; User level required to be able to send friendship invitations to foreign users
+ ;LevelHGFriends = 0;
+
+[Messaging]
+ ; === HG ONLY ===
+ ;; change this to the address of your simulator
+ Gatekeeper = "http://127.0.0.1:9000"
+
+
+[EntityTransfer]
+ ;; User level from which local users are allowed to HG teleport. Default 0 (all users)
+ ;LevelHGTeleport = 0
+
+ ;; Are local users restricted from taking their appearance abroad?
+ ;; Default is no restrictions
+ ;RestrictAppearanceAbroad = false
+
+ ;; If appearance is restricted, which accounts' appearances are allowed to be exported?
+ ;; Comma-separated list of account names
+ AccountForAppearance = "Test User, Astronaut Smith"
diff --git a/bin/config-include/StandaloneHypergrid.ini b/bin/config-include/StandaloneHypergrid.ini
index 76d588c..195e780 100644
--- a/bin/config-include/StandaloneHypergrid.ini
+++ b/bin/config-include/StandaloneHypergrid.ini
@@ -152,7 +152,13 @@
;; This greatly restricts the inventory operations while in other grids
[HGInventoryService]
; For the InventoryServiceInConnector
- LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInventoryService"
+ LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService"
+ ;; alternatives:
+ ;; HG1.5, more permissive, not recommended, but still supported
+ ;LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInventoryService"
+ ;; HG1.0, totally permissive, not recommended, but OK for grids with 100% trust
+ ;LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService"
+
UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
--
cgit v1.1