diff --git a/OpenSim/Framework/UserConfig.cs b/OpenSim/Framework/UserConfig.cs index 3cb0503e0a..c7317ca8e0 100644 --- a/OpenSim/Framework/UserConfig.cs +++ b/OpenSim/Framework/UserConfig.cs @@ -49,6 +49,8 @@ namespace OpenSim.Framework public bool HttpSSL = DefaultHttpSSL; public string InventoryUrl = String.Empty; + public bool EnableLLSDLogin = true; + public UserConfig() { // weird, but UserManagerBase needs this. @@ -93,6 +95,8 @@ namespace OpenSim.Framework "Known good region X", "1000", false); configMember.addConfigurationOption("default_Y", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, "Known good region Y", "1000", false); + configMember.addConfigurationOption("enable_llsd_login", ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN, + "Enable LLSD login support? true/false", true.ToString(), false); } public bool handleIncomingConfiguration(string configuration_key, object configuration_result) @@ -132,6 +136,9 @@ namespace OpenSim.Framework case "default_Y": DefaultY = (uint) configuration_result; break; + case "enable_llsd_login": + EnableLLSDLogin = (bool)configuration_result; + break; } return true; diff --git a/OpenSim/Grid/UserServer/Main.cs b/OpenSim/Grid/UserServer/Main.cs index 905bf81814..a04b5ef7e1 100644 --- a/OpenSim/Grid/UserServer/Main.cs +++ b/OpenSim/Grid/UserServer/Main.cs @@ -120,7 +120,10 @@ namespace OpenSim.Grid.UserServer m_httpServer.AddHTTPHandler("login", m_loginService.ProcessHTMLLogin); - m_httpServer.SetLLSDHandler(m_loginService.LLSDLoginMethod); + if (Cfg.EnableLLSDLogin) + { + m_httpServer.SetLLSDHandler(m_loginService.LLSDLoginMethod); + } m_httpServer.AddXmlRPCHandler("get_user_by_name", m_userManager.XmlRPCGetUserMethodName); m_httpServer.AddXmlRPCHandler("get_user_by_uuid", m_userManager.XmlRPCGetUserMethodUUID);