* Fix hypergrid standalone login by overriding AddNewUserAgent in HGUserServices
parent
342126b7b9
commit
bd8e4a8892
|
@ -206,8 +206,11 @@ namespace OpenSim.ApplicationPlugins.CreateCommsManager
|
|||
{
|
||||
// Standalone mode
|
||||
|
||||
HGInventoryServiceClient inventoryService = new HGInventoryServiceClient(m_openSim.NetServersInfo.InventoryURL, null, false);
|
||||
inventoryService.AddPlugin(m_openSim.ConfigurationSettings.StandaloneInventoryPlugin, m_openSim.ConfigurationSettings.StandaloneInventorySource);
|
||||
HGInventoryServiceClient inventoryService
|
||||
= new HGInventoryServiceClient(m_openSim.NetServersInfo.InventoryURL, null, false);
|
||||
inventoryService.AddPlugin(
|
||||
m_openSim.ConfigurationSettings.StandaloneInventoryPlugin,
|
||||
m_openSim.ConfigurationSettings.StandaloneInventorySource);
|
||||
|
||||
HGGridServicesStandalone gridService
|
||||
= new HGGridServicesStandalone(
|
||||
|
@ -227,7 +230,10 @@ namespace OpenSim.ApplicationPlugins.CreateCommsManager
|
|||
|
||||
protected virtual void InitialiseHGGridServices(LibraryRootFolder libraryRootFolder)
|
||||
{
|
||||
m_commsManager = new HGCommunicationsGridMode(m_openSim.NetServersInfo, m_httpServer, m_openSim.AssetCache, m_openSim.SceneManager, libraryRootFolder);
|
||||
m_commsManager
|
||||
= new HGCommunicationsGridMode(
|
||||
m_openSim.NetServersInfo, m_httpServer,
|
||||
m_openSim.AssetCache, m_openSim.SceneManager, libraryRootFolder);
|
||||
|
||||
HGServices = ((HGCommunicationsGridMode) m_commsManager).HGServices;
|
||||
|
||||
|
@ -240,7 +246,8 @@ namespace OpenSim.ApplicationPlugins.CreateCommsManager
|
|||
// provide grid info
|
||||
m_gridInfoService = new GridInfoService(m_openSim.ConfigSource.Source);
|
||||
m_httpServer.AddXmlRPCHandler("get_grid_info", m_gridInfoService.XmlRpcGridInfoMethod);
|
||||
m_httpServer.AddStreamHandler(new RestStreamHandler("GET", "/get_grid_info", m_gridInfoService.RestGetGridInfoMethod));
|
||||
m_httpServer.AddStreamHandler(
|
||||
new RestStreamHandler("GET", "/get_grid_info", m_gridInfoService.RestGetGridInfoMethod));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -61,7 +61,6 @@ namespace OpenSim.Framework.Communications.Services
|
|||
/// </summary>
|
||||
protected ILoginServiceToRegionsConnector m_regionsConnector;
|
||||
|
||||
|
||||
public HGLoginAuthService(
|
||||
UserManagerBase userManager, string welcomeMess,
|
||||
IInterServiceInventoryServices interServiceInventoryService,
|
||||
|
@ -89,7 +88,7 @@ namespace OpenSim.Framework.Communications.Services
|
|||
|
||||
public override XmlRpcResponse XmlRpcLoginMethod(XmlRpcRequest request)
|
||||
{
|
||||
m_log.Info("[HGLOGIN] HGLogin called " + request.MethodName);
|
||||
m_log.Info("[HGLOGIN]: HGLogin called " + request.MethodName);
|
||||
XmlRpcResponse response = base.XmlRpcLoginMethod(request);
|
||||
Hashtable responseData = (Hashtable)response.Value;
|
||||
|
||||
|
@ -135,7 +134,6 @@ namespace OpenSim.Framework.Communications.Services
|
|||
|
||||
public XmlRpcResponse XmlRpcGenerateKeyMethod(XmlRpcRequest request)
|
||||
{
|
||||
|
||||
// Verify the key of who's calling
|
||||
UUID userID = UUID.Zero;
|
||||
UUID authKey = UUID.Zero;
|
||||
|
@ -254,7 +252,6 @@ namespace OpenSim.Framework.Communications.Services
|
|||
return m_regionsConnector.RequestNeighbourInfo(homeRegionId);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Not really informing the region. Just filling out the response fields related to the region.
|
||||
/// </summary>
|
||||
|
|
|
@ -430,6 +430,8 @@ namespace OpenSim.Framework.Communications
|
|||
/// <param name="request">The users loginrequest</param>
|
||||
public void CreateAgent(UserProfileData profile, XmlRpcRequest request)
|
||||
{
|
||||
//m_log.DebugFormat("[USER MANAGER]: Creating agent {0} {1}", profile.Name, profile.ID);
|
||||
|
||||
UserAgentData agent = new UserAgentData();
|
||||
|
||||
// User connection
|
||||
|
@ -483,6 +485,8 @@ namespace OpenSim.Framework.Communications
|
|||
|
||||
public void CreateAgent(UserProfileData profile, OSD request)
|
||||
{
|
||||
//m_log.DebugFormat("[USER MANAGER]: Creating agent {0} {1}", profile.Name, profile.ID);
|
||||
|
||||
UserAgentData agent = new UserAgentData();
|
||||
|
||||
// User connection
|
||||
|
@ -538,6 +542,8 @@ namespace OpenSim.Framework.Communications
|
|||
/// <returns>Successful?</returns>
|
||||
public bool CommitAgent(ref UserProfileData profile)
|
||||
{
|
||||
//m_log.DebugFormat("[USER MANAGER]: Committing agent {0} {1}", profile.Name, profile.ID);
|
||||
|
||||
// TODO: how is this function different from setUserProfile? -> Add AddUserAgent() here and commit both tables "users" and "agents"
|
||||
// TODO: what is the logic should be?
|
||||
bool ret = false;
|
||||
|
@ -704,7 +710,7 @@ namespace OpenSim.Framework.Communications
|
|||
/// Add agent to DB
|
||||
/// </summary>
|
||||
/// <param name="agentdata">The agent data to be added</param>
|
||||
public bool AddUserAgent(UserAgentData agentdata)
|
||||
public virtual bool AddUserAgent(UserAgentData agentdata)
|
||||
{
|
||||
foreach (IUserDataPlugin plugin in m_plugins)
|
||||
{
|
||||
|
|
|
@ -63,11 +63,14 @@ namespace OpenSim.Region.Communications.Hypergrid
|
|||
m_localUserServices = local;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get a user agent from the user server
|
||||
/// </summary>
|
||||
/// <param name="avatarID"></param>
|
||||
/// <returns>null if the request fails</returns>
|
||||
public override bool AddUserAgent(UserAgentData agentdata)
|
||||
{
|
||||
if (m_localUserServices != null)
|
||||
return m_localUserServices.AddUserAgent(agentdata);
|
||||
|
||||
return base.AddUserAgent(agentdata);
|
||||
}
|
||||
|
||||
public override UserAgentData GetAgentByUUID(UUID userId)
|
||||
{
|
||||
string url = string.Empty;
|
||||
|
@ -77,14 +80,6 @@ namespace OpenSim.Region.Communications.Hypergrid
|
|||
return base.GetAgentByUUID(userId);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Logs off a user on the user server
|
||||
/// </summary>
|
||||
/// <param name="UserID">UUID of the user</param>
|
||||
/// <param name="regionID">UUID of the Region</param>
|
||||
/// <param name="regionhandle">regionhandle</param>
|
||||
/// <param name="position">final position</param>
|
||||
/// <param name="lookat">final lookat</param>
|
||||
public override void LogOffUser(UUID userid, UUID regionid, ulong regionhandle, Vector3 position, Vector3 lookat)
|
||||
{
|
||||
string url = string.Empty;
|
||||
|
|
|
@ -54,7 +54,6 @@ namespace OpenSim.Region.CoreModules.Hypergrid
|
|||
|
||||
protected bool m_enabled = false; // Module is only enabled if running in standalone mode
|
||||
|
||||
|
||||
public bool RegionLoginsEnabled
|
||||
{
|
||||
get
|
||||
|
@ -88,7 +87,7 @@ namespace OpenSim.Region.CoreModules.Hypergrid
|
|||
|
||||
if (m_enabled)
|
||||
{
|
||||
m_log.Debug("[HGLogin] HGlogin module enabled");
|
||||
m_log.Debug("[HGLogin]: HGlogin module enabled");
|
||||
bool authenticate = true;
|
||||
string welcomeMessage = "Welcome to OpenSim";
|
||||
IConfig standaloneConfig = source.Configs["StandAlone"];
|
||||
|
@ -104,7 +103,15 @@ namespace OpenSim.Region.CoreModules.Hypergrid
|
|||
IHttpServer httpServer = m_firstScene.CommsManager.HttpServer;
|
||||
|
||||
//TODO: fix the casting of the user service, maybe by registering the userManagerBase with scenes, or refactoring so we just need a IUserService reference
|
||||
m_loginService = new HGLoginAuthService((UserManagerBase)m_firstScene.CommsManager.UserAdminService, welcomeMessage, m_firstScene.CommsManager.InterServiceInventoryService, m_firstScene.CommsManager.NetworkServersInfo, authenticate, rootFolder, this);
|
||||
m_loginService
|
||||
= new HGLoginAuthService(
|
||||
(UserManagerBase)m_firstScene.CommsManager.UserAdminService,
|
||||
welcomeMessage,
|
||||
m_firstScene.CommsManager.InterServiceInventoryService,
|
||||
m_firstScene.CommsManager.NetworkServersInfo,
|
||||
authenticate,
|
||||
rootFolder,
|
||||
this);
|
||||
|
||||
httpServer.AddXmlRPCHandler("hg_login", m_loginService.XmlRpcLoginMethod);
|
||||
httpServer.AddXmlRPCHandler("hg_new_auth_key", m_loginService.XmlRpcGenerateKeyMethod);
|
||||
|
|
Loading…
Reference in New Issue