diff options
Diffstat (limited to 'OpenSim.GridInterfaces/Remote/RemoteGridServer.cs')
-rw-r--r-- | OpenSim.GridInterfaces/Remote/RemoteGridServer.cs | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/OpenSim.GridInterfaces/Remote/RemoteGridServer.cs b/OpenSim.GridInterfaces/Remote/RemoteGridServer.cs index 5f48916..d51d212 100644 --- a/OpenSim.GridInterfaces/Remote/RemoteGridServer.cs +++ b/OpenSim.GridInterfaces/Remote/RemoteGridServer.cs | |||
@@ -25,12 +25,14 @@ | |||
25 | * | 25 | * |
26 | */ | 26 | */ |
27 | using System; | 27 | using System; |
28 | using System.Collections; | ||
28 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
29 | using System.Threading; | 30 | using System.Threading; |
30 | using System.Net; | 31 | using System.Net; |
31 | using System.Net.Sockets; | 32 | using System.Net.Sockets; |
32 | using System.IO; | 33 | using System.IO; |
33 | using libsecondlife; | 34 | using libsecondlife; |
35 | using Nwc.XmlRpc; | ||
34 | using OpenSim.Framework.Interfaces; | 36 | using OpenSim.Framework.Interfaces; |
35 | using OpenSim.Framework.Assets; | 37 | using OpenSim.Framework.Assets; |
36 | 38 | ||
@@ -54,10 +56,28 @@ namespace OpenSim.GridInterfaces.Remote | |||
54 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Remote Grid Server class created"); | 56 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Remote Grid Server class created"); |
55 | } | 57 | } |
56 | 58 | ||
57 | public override bool RequestConnection() | 59 | public override bool RequestConnection(LLUUID SimUUID, string sim_ip, uint sim_port) |
58 | { | 60 | { |
59 | return true; | 61 | Hashtable GridParams = new Hashtable(); |
60 | } | 62 | GridParams["authkey"]=GridSendKey; |
63 | GridParams["UUID"]=SimUUID.ToString(); | ||
64 | GridParams["sim_ip"]=sim_ip; | ||
65 | GridParams["sim_port"]=sim_port.ToString(); | ||
66 | ArrayList SendParams = new ArrayList(); | ||
67 | SendParams.Add(GridParams); | ||
68 | |||
69 | XmlRpcRequest GridReq = new XmlRpcRequest("simulator_login", SendParams); | ||
70 | XmlRpcResponse GridResp = GridReq.Send(this.GridServerUrl, 3000); | ||
71 | Hashtable GridRespData = (Hashtable)GridResp.Value; | ||
72 | |||
73 | if(GridRespData.ContainsKey("error")) { | ||
74 | string errorstring = (string)GridRespData["error"]; | ||
75 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Error connecting to grid:"); | ||
76 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine(errorstring); | ||
77 | return false; | ||
78 | } | ||
79 | return true; | ||
80 | } | ||
61 | 81 | ||
62 | public override AuthenticateResponse AuthenticateSession(LLUUID sessionID, LLUUID agentID, uint circuitcode) | 82 | public override AuthenticateResponse AuthenticateSession(LLUUID sessionID, LLUUID agentID, uint circuitcode) |
63 | { | 83 | { |
@@ -82,7 +102,7 @@ namespace OpenSim.GridInterfaces.Remote | |||
82 | user.LoginInfo.Agent = agentID; | 102 | user.LoginInfo.Agent = agentID; |
83 | user.LoginInfo.Session = sessionID; | 103 | user.LoginInfo.Session = sessionID; |
84 | user.LoginInfo.SecureSession = validcircuit.SecureSessionID; | 104 | user.LoginInfo.SecureSession = validcircuit.SecureSessionID; |
85 | user.LoginInfo.First = validcircuit.firstname; | 105 | user.LoginInfo.First = validcircuit.firstname; |
86 | user.LoginInfo.Last = validcircuit.lastname; | 106 | user.LoginInfo.Last = validcircuit.lastname; |
87 | } | 107 | } |
88 | else | 108 | else |