diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim.Framework/UserProfileManager.cs | 182 |
1 files changed, 0 insertions, 182 deletions
diff --git a/OpenSim.Framework/UserProfileManager.cs b/OpenSim.Framework/UserProfileManager.cs index 2f99494..6118aa7 100644 --- a/OpenSim.Framework/UserProfileManager.cs +++ b/OpenSim.Framework/UserProfileManager.cs | |||
@@ -32,188 +32,6 @@ namespace OpenSim.Framework.User | |||
32 | DefaultStartupMsg = message; | 32 | DefaultStartupMsg = message; |
33 | } | 33 | } |
34 | 34 | ||
35 | /* public virtual string ParseXMLRPC(string requestBody) | ||
36 | { | ||
37 | XmlRpcRequest request = (XmlRpcRequest)(new XmlRpcRequestDeserializer()).Deserialize(requestBody); | ||
38 | |||
39 | Hashtable requestData = (Hashtable)request.Params[0]; | ||
40 | switch (request.MethodName) | ||
41 | { | ||
42 | case "login_to_simulator":*/ | ||
43 | |||
44 | public virtual string ParseXMLRPC(string requestBody) | ||
45 | { | ||
46 | |||
47 | XmlRpcRequest request = (XmlRpcRequest)(new XmlRpcRequestDeserializer()).Deserialize(requestBody); | ||
48 | |||
49 | switch (request.MethodName) | ||
50 | { | ||
51 | case "login_to_simulator": | ||
52 | XmlRpcResponse response = XmlRpcLoginMethod(request); | ||
53 | |||
54 | return (Regex.Replace(XmlRpcResponseSerializer.Singleton.Serialize(response), "utf-16", "utf-8")); | ||
55 | } | ||
56 | |||
57 | return ""; | ||
58 | } | ||
59 | |||
60 | /* public XmlRpcResponse XmlRpcLoginMethod(XmlRpcRequest request) | ||
61 | { | ||
62 | XmlRpcResponse response = new XmlRpcResponse(); | ||
63 | Hashtable requestData = (Hashtable)request.Params[0]; | ||
64 | |||
65 | bool GoodXML = (requestData.Contains("first") && requestData.Contains("last") && requestData.Contains("passwd")); | ||
66 | bool GoodLogin = false; | ||
67 | string firstname = ""; | ||
68 | string lastname = ""; | ||
69 | string passwd = ""; | ||
70 | |||
71 | if (GoodXML) | ||
72 | { | ||
73 | firstname = (string)requestData["first"]; | ||
74 | lastname = (string)requestData["last"]; | ||
75 | passwd = (string)requestData["passwd"]; | ||
76 | GoodLogin = AuthenticateUser(firstname, lastname, passwd); | ||
77 | } | ||
78 | |||
79 | |||
80 | if (!(GoodXML && GoodLogin)) | ||
81 | { | ||
82 | XmlRpcResponse LoginErrorResp = new XmlRpcResponse(); | ||
83 | Hashtable ErrorRespData = new Hashtable(); | ||
84 | ErrorRespData["reason"] = "key"; | ||
85 | ErrorRespData["message"] = "Error connecting to grid. Please double check your login details and check with the grid owner if you are sure these are correct"; | ||
86 | ErrorRespData["login"] = "false"; | ||
87 | LoginErrorResp.Value = ErrorRespData; | ||
88 | return (Regex.Replace(XmlRpcResponseSerializer.Singleton.Serialize(LoginErrorResp), " encoding=\"utf-16\"", "")); | ||
89 | } | ||
90 | |||
91 | UserProfile TheUser = GetProfileByName(firstname, lastname); | ||
92 | |||
93 | |||
94 | if (!((TheUser.CurrentSessionID == null) && (TheUser.CurrentSecureSessionID == null))) | ||
95 | { | ||
96 | XmlRpcResponse PresenceErrorResp = new XmlRpcResponse(); | ||
97 | Hashtable PresenceErrorRespData = new Hashtable(); | ||
98 | PresenceErrorRespData["reason"] = "presence"; | ||
99 | PresenceErrorRespData["message"] = "You appear to be already logged in, if this is not the case please wait for your session to timeout, if this takes longer than a few minutes please contact the grid owner"; | ||
100 | PresenceErrorRespData["login"] = "false"; | ||
101 | PresenceErrorResp.Value = PresenceErrorRespData; | ||
102 | return (Regex.Replace(XmlRpcResponseSerializer.Singleton.Serialize(PresenceErrorResp), " encoding=\"utf-16\"", "")); | ||
103 | |||
104 | } | ||
105 | |||
106 | try | ||
107 | { | ||
108 | LLUUID AgentID = TheUser.UUID; | ||
109 | TheUser.InitSessionData(); | ||
110 | // SimProfile SimInfo = new SimProfile(); | ||
111 | // SimInfo = SimInfo.LoadFromGrid(TheUser.homeregionhandle, GridURL, GridSendKey, GridRecvKey); | ||
112 | |||
113 | XmlRpcResponse LoginGoodResp = new XmlRpcResponse(); | ||
114 | Hashtable LoginGoodData = new Hashtable(); | ||
115 | |||
116 | Hashtable GlobalT = new Hashtable(); | ||
117 | GlobalT["sun_texture_id"] = "cce0f112-878f-4586-a2e2-a8f104bba271"; | ||
118 | GlobalT["cloud_texture_id"] = "fc4b9f0b-d008-45c6-96a4-01dd947ac621"; | ||
119 | GlobalT["moon_texture_id"] = "fc4b9f0b-d008-45c6-96a4-01dd947ac621"; | ||
120 | ArrayList GlobalTextures = new ArrayList(); | ||
121 | GlobalTextures.Add(GlobalT); | ||
122 | |||
123 | Hashtable LoginFlagsHash = new Hashtable(); | ||
124 | LoginFlagsHash["daylight_savings"] = "N"; | ||
125 | LoginFlagsHash["stipend_since_login"] = "N"; | ||
126 | LoginFlagsHash["gendered"] = "Y"; | ||
127 | LoginFlagsHash["ever_logged_in"] = "Y"; | ||
128 | ArrayList LoginFlags = new ArrayList(); | ||
129 | LoginFlags.Add(LoginFlagsHash); | ||
130 | |||
131 | Hashtable uiconfig = new Hashtable(); | ||
132 | uiconfig["allow_first_life"] = "Y"; | ||
133 | ArrayList ui_config = new ArrayList(); | ||
134 | ui_config.Add(uiconfig); | ||
135 | |||
136 | Hashtable ClassifiedCategoriesHash = new Hashtable(); | ||
137 | ClassifiedCategoriesHash["category_name"] = "bla bla"; | ||
138 | ClassifiedCategoriesHash["category_id"] = (Int32)1; | ||
139 | ArrayList ClassifiedCategories = new ArrayList(); | ||
140 | ClassifiedCategories.Add(ClassifiedCategoriesHash); | ||
141 | |||
142 | Console.WriteLine("copying inventory data to response"); | ||
143 | ArrayList AgentInventory = new ArrayList(); | ||
144 | foreach (InventoryFolder InvFolder in TheUser.Inventory.InventoryFolders.Values) | ||
145 | { | ||
146 | Hashtable TempHash = new Hashtable(); | ||
147 | TempHash["name"] = InvFolder.FolderName; | ||
148 | TempHash["parent_id"] = InvFolder.ParentID.ToStringHyphenated(); | ||
149 | TempHash["version"] = (Int32)InvFolder.Version; | ||
150 | TempHash["type_default"] = (Int32)InvFolder.DefaultType; | ||
151 | TempHash["folder_id"] = InvFolder.FolderID.ToStringHyphenated(); | ||
152 | AgentInventory.Add(TempHash); | ||
153 | } | ||
154 | |||
155 | Hashtable InventoryRootHash = new Hashtable(); | ||
156 | InventoryRootHash["folder_id"] = TheUser.Inventory.InventoryRoot.FolderID.ToStringHyphenated(); | ||
157 | ArrayList InventoryRoot = new ArrayList(); | ||
158 | InventoryRoot.Add(InventoryRootHash); | ||
159 | |||
160 | Hashtable InitialOutfitHash = new Hashtable(); | ||
161 | InitialOutfitHash["folder_name"] = "Nightclub Female"; | ||
162 | InitialOutfitHash["gender"] = "female"; | ||
163 | ArrayList InitialOutfit = new ArrayList(); | ||
164 | InitialOutfit.Add(InitialOutfitHash); | ||
165 | |||
166 | uint circode = (uint)(Util.RandomClass.Next()); | ||
167 | //TheUser.AddSimCircuit(circode, SimInfo.UUID); | ||
168 | |||
169 | LoginGoodData["last_name"] = TheUser.lastname ; | ||
170 | LoginGoodData["ui-config"] = ui_config; | ||
171 | LoginGoodData["sim_ip"] = "127.0.0.1"; //SimInfo.sim_ip.ToString(); | ||
172 | LoginGoodData["login-flags"] = LoginFlags; | ||
173 | LoginGoodData["global-textures"] = GlobalTextures; | ||
174 | LoginGoodData["classified_categories"] = ClassifiedCategories; | ||
175 | LoginGoodData["event_categories"] = new ArrayList(); | ||
176 | LoginGoodData["inventory-skeleton"] = AgentInventory; | ||
177 | LoginGoodData["inventory-skel-lib"] = new ArrayList(); | ||
178 | LoginGoodData["inventory-root"] = InventoryRoot; | ||
179 | LoginGoodData["event_notifications"] = new ArrayList(); | ||
180 | LoginGoodData["gestures"] = new ArrayList(); | ||
181 | LoginGoodData["inventory-lib-owner"] = new ArrayList(); | ||
182 | LoginGoodData["initial-outfit"] = InitialOutfit; | ||
183 | LoginGoodData["seconds_since_epoch"] = (Int32)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds; | ||
184 | LoginGoodData["start_location"] = "last"; | ||
185 | LoginGoodData["home"] = "{'region_handle':[r" + (997 * 256).ToString() + ",r" + (996 * 256).ToString() + "], 'position':[r" + TheUser.homepos.X.ToString() + ",r" + TheUser.homepos.Y.ToString() + ",r" + TheUser.homepos.Z.ToString() + "], 'look_at':[r" + TheUser.homelookat.X.ToString() + ",r" + TheUser.homelookat.Y.ToString() + ",r" + TheUser.homelookat.Z.ToString() + "]}"; | ||
186 | LoginGoodData["message"] = DefaultStartupMsg; | ||
187 | LoginGoodData["first_name"] = TheUser.firstname ; | ||
188 | LoginGoodData["circuit_code"] = (Int32)circode; | ||
189 | LoginGoodData["sim_port"] = 9000; //(Int32)SimInfo.sim_port; | ||
190 | LoginGoodData["secure_session_id"] = TheUser.CurrentSecureSessionID.ToStringHyphenated(); | ||
191 | LoginGoodData["look_at"] = "\n[r" + TheUser.homelookat.X.ToString() + ",r" + TheUser.homelookat.Y.ToString() + ",r" + TheUser.homelookat.Z.ToString() + "]\n"; | ||
192 | LoginGoodData["agent_id"] = AgentID.ToStringHyphenated(); | ||
193 | LoginGoodData["region_y"] = (Int32) 996 * 256; // (Int32)SimInfo.RegionLocY * 256; | ||
194 | LoginGoodData["region_x"] = (Int32) 997 * 256; //SimInfo.RegionLocX * 256; | ||
195 | LoginGoodData["seed_capability"] = null; | ||
196 | LoginGoodData["agent_access"] = "M"; | ||
197 | LoginGoodData["session_id"] = TheUser.CurrentSessionID.ToStringHyphenated(); | ||
198 | LoginGoodData["login"] = "true"; | ||
199 | |||
200 | this.CustomiseResponse(ref LoginGoodData, TheUser); | ||
201 | LoginGoodResp.Value = LoginGoodData; | ||
202 | //TheUser.SendDataToSim(SimInfo); | ||
203 | return (Regex.Replace(XmlRpcResponseSerializer.Singleton.Serialize(LoginGoodResp), "utf-16", "utf-8")); | ||
204 | |||
205 | } | ||
206 | catch (Exception E) | ||
207 | { | ||
208 | Console.WriteLine(E.ToString()); | ||
209 | } | ||
210 | |||
211 | break; | ||
212 | } | ||
213 | |||
214 | return ""; | ||
215 | }*/ | ||
216 | |||
217 | public XmlRpcResponse XmlRpcLoginMethod(XmlRpcRequest request) | 35 | public XmlRpcResponse XmlRpcLoginMethod(XmlRpcRequest request) |
218 | { | 36 | { |
219 | XmlRpcResponse response = new XmlRpcResponse(); | 37 | XmlRpcResponse response = new XmlRpcResponse(); |