diff --git a/OpenSim/Data/PGSQL/PGSQLXInventoryData.cs b/OpenSim/Data/PGSQL/PGSQLXInventoryData.cs index c34a8dce87..959c2cf393 100644 --- a/OpenSim/Data/PGSQL/PGSQLXInventoryData.cs +++ b/OpenSim/Data/PGSQL/PGSQLXInventoryData.cs @@ -205,7 +205,7 @@ namespace OpenSim.Data.PGSQL */ cmd.CommandText = String.Format(@"select bit_or(""inventoryCurrentPermissions"") as ""inventoryCurrentPermissions"" from inventoryitems - where ""avatarID"" = :PrincipalID + where ""avatarID""::uuid = :PrincipalID and ""assetID"" = :AssetID group by ""assetID"" "); diff --git a/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs b/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs index 688648b965..e53ab95351 100644 --- a/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs +++ b/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs @@ -149,6 +149,15 @@ namespace OpenSim.Region.CoreModules.World.Objects.Commands + "If --regex is specified then the name is treatead as a regular expression.", HandleShowObjectByName); + m_console.Commands.AddCommand( + "Objects", + false, + "show object owner", + "show object owner [--full] ", + "Show details of scene objects with given owner.", + "The --full option will print out information on all the parts of the object.\n", + HandleShowObjectByOwnerID); + m_console.Commands.AddCommand( "Objects", false, @@ -325,6 +334,32 @@ namespace OpenSim.Region.CoreModules.World.Objects.Commands OutputSogsToConsole(searchPredicate, showFull); } + private void HandleShowObjectByOwnerID(string module, string[] cmdparams) + { + if (!(m_console.ConsoleScene == null || m_console.ConsoleScene == m_scene)) + return; + + bool showFull = false; + OptionSet options = new OptionSet().Add("full", v => showFull = v != null); + + List mainParams = options.Parse(cmdparams); + + if (mainParams.Count < 4) + { + m_console.OutputFormat("Usage: show object owner "); + return; + } + + UUID ownerID; + if (!ConsoleUtil.TryParseConsoleUuid(m_console, mainParams[3], out ownerID)) + return; + + Predicate searchPredicate + = so => so.OwnerID == ownerID && !so.IsAttachment; + + OutputSogsToConsole(searchPredicate, showFull); + } + private void HandleShowObjectByPos(string module, string[] cmdparams) { if (!(m_console.ConsoleScene == null || m_console.ConsoleScene == m_scene)) diff --git a/OpenSim/Server/Handlers/UserAccounts/UserAccountServerPostHandler.cs b/OpenSim/Server/Handlers/UserAccounts/UserAccountServerPostHandler.cs index b22c4cc6fd..a02255f01d 100644 --- a/OpenSim/Server/Handlers/UserAccounts/UserAccountServerPostHandler.cs +++ b/OpenSim/Server/Handlers/UserAccounts/UserAccountServerPostHandler.cs @@ -98,7 +98,7 @@ namespace OpenSim.Server.Handlers.UserAccounts if (m_AllowCreateUser) return CreateUser(request); else - break; + return FailureResult(); case "getaccount": return GetAccount(request); case "getaccounts": @@ -109,7 +109,7 @@ namespace OpenSim.Server.Handlers.UserAccounts if (m_AllowSetAccount) return StoreAccount(request); else - break; + return FailureResult(); } m_log.DebugFormat("[USER SERVICE HANDLER]: unknown method request: {0}", method); diff --git a/OpenSim/Services/HypergridService/UserAgentService.cs b/OpenSim/Services/HypergridService/UserAgentService.cs index 317d0066b3..e701ec6a81 100644 --- a/OpenSim/Services/HypergridService/UserAgentService.cs +++ b/OpenSim/Services/HypergridService/UserAgentService.cs @@ -301,8 +301,12 @@ namespace OpenSim.Services.HypergridService // Everything is ok - // Update the perceived IP Address of our grid - m_log.DebugFormat("[USER AGENT SERVICE]: Gatekeeper sees me as {0}", myExternalIP); + if (!fromLogin) + { + // Update the perceived IP Address of our grid + m_log.DebugFormat("[USER AGENT SERVICE]: Gatekeeper sees me as {0}", myExternalIP); + } + travel.MyIpAddress = myExternalIP; StoreTravelInfo(travel); diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs index 5d69705f79..2941f51be1 100644 --- a/OpenSim/Services/LLLoginService/LLLoginService.cs +++ b/OpenSim/Services/LLLoginService/LLLoginService.cs @@ -82,7 +82,7 @@ namespace OpenSim.Services.LLLoginService protected string m_SearchURL; protected string m_Currency; protected string m_ClassifiedFee; - protected int m_MaxAgentGroups; + protected int m_MaxAgentGroups = 42; protected string m_DestinationGuide; protected string m_AvatarPicker; protected string m_AllowedClients; @@ -1066,8 +1066,8 @@ namespace OpenSim.Services.LLLoginService } break; - case "reset": - m_MinLoginLevel = 0; + case "reset": + m_MinLoginLevel = m_LoginServerConfig.GetInt("MinLoginLevel", 0); MainConsole.Instance.OutputFormat("Reset min login level to {0}", m_MinLoginLevel); break;