aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim.RegionServer
diff options
context:
space:
mode:
authorMW2007-03-28 18:10:52 +0000
committerMW2007-03-28 18:10:52 +0000
commit35fa85069e792579ebd44a974053d6dce288ea0a (patch)
tree8a5629c4f5e0a51e20a05123c4b1b9ea9f49f61e /OpenSim.RegionServer
parent* log file name conflict (diff)
downloadopensim-SC-35fa85069e792579ebd44a974053d6dce288ea0a.zip
opensim-SC-35fa85069e792579ebd44a974053d6dce288ea0a.tar.gz
opensim-SC-35fa85069e792579ebd44a974053d6dce288ea0a.tar.bz2
opensim-SC-35fa85069e792579ebd44a974053d6dce288ea0a.tar.xz
After hours of searching for a bug, it works - User accounts in sandbox mode, currently they are not persistent between restarts (ie restarting opensim.exe) but should be persistent between sessions (login/ logout).
Use the -account command line arg to enable them and then create new accounts through the web interface
Diffstat (limited to 'OpenSim.RegionServer')
-rw-r--r--OpenSim.RegionServer/AgentAssetUpload.cs1
-rw-r--r--OpenSim.RegionServer/Assets/InventoryCache.cs27
-rw-r--r--OpenSim.RegionServer/CAPS/AdminWebFront.cs33
-rw-r--r--OpenSim.RegionServer/Grid.cs1
-rw-r--r--OpenSim.RegionServer/OpenSim.RegionServer.dll.build1
-rw-r--r--OpenSim.RegionServer/OpenSimMain.cs22
-rw-r--r--OpenSim.RegionServer/SimClient.cs48
-rw-r--r--OpenSim.RegionServer/UserServer/LocalUserProfileManager.cs14
-rw-r--r--OpenSim.RegionServer/UserServer/LoginServer.cs17
9 files changed, 139 insertions, 25 deletions
diff --git a/OpenSim.RegionServer/AgentAssetUpload.cs b/OpenSim.RegionServer/AgentAssetUpload.cs
index 9f85598..d346647 100644
--- a/OpenSim.RegionServer/AgentAssetUpload.cs
+++ b/OpenSim.RegionServer/AgentAssetUpload.cs
@@ -201,6 +201,7 @@ namespace OpenSim
201 { 201 {
202 //already complete so we can add it to the inventory 202 //already complete so we can add it to the inventory
203 m_assetCache.AddAsset(trans.Asset); 203 m_assetCache.AddAsset(trans.Asset);
204 Console.WriteLine("creating inventory item");
204 Console.WriteLine( "ITem created is " +m_inventoryCache.AddNewInventoryItem(this.ourClient, packet.InventoryBlock.FolderID, trans.Asset).ToStringHyphenated()); 205 Console.WriteLine( "ITem created is " +m_inventoryCache.AddNewInventoryItem(this.ourClient, packet.InventoryBlock.FolderID, trans.Asset).ToStringHyphenated());
205 } 206 }
206 else 207 else
diff --git a/OpenSim.RegionServer/Assets/InventoryCache.cs b/OpenSim.RegionServer/Assets/InventoryCache.cs
index 3a4aa36..1090940 100644
--- a/OpenSim.RegionServer/Assets/InventoryCache.cs
+++ b/OpenSim.RegionServer/Assets/InventoryCache.cs
@@ -33,6 +33,7 @@ using libsecondlife.Packets;
33//using OpenSim.GridServers; 33//using OpenSim.GridServers;
34using OpenSim.Framework.Inventory; 34using OpenSim.Framework.Inventory;
35using OpenSim.Framework.Assets; 35using OpenSim.Framework.Assets;
36using OpenSim.Framework.Interfaces;
36 37
37namespace OpenSim.Assets 38namespace OpenSim.Assets
38{ 39{
@@ -54,7 +55,21 @@ namespace OpenSim.Assets
54 55
55 public void AddNewAgentsInventory(AgentInventory agentInventory) 56 public void AddNewAgentsInventory(AgentInventory agentInventory)
56 { 57 {
57 this._agentsInventory.Add(agentInventory.AgentID, agentInventory); 58 if (!this._agentsInventory.ContainsKey(agentInventory.AgentID))
59 {
60 this._agentsInventory.Add(agentInventory.AgentID, agentInventory);
61 }
62 }
63
64 public AgentInventory FetchAgentsInventory(LLUUID agentID, IUserServer userserver)
65 {
66 AgentInventory res = null;
67 if (!this._agentsInventory.ContainsKey(agentID))
68 {
69 res = userserver.RequestAgentsInventory(agentID);
70 this._agentsInventory.Add(agentID,res);
71 }
72 return res;
58 } 73 }
59 74
60 public AgentInventory GetAgentsInventory(LLUUID agentID) 75 public AgentInventory GetAgentsInventory(LLUUID agentID)
@@ -67,13 +82,16 @@ namespace OpenSim.Assets
67 return null; 82 return null;
68 } 83 }
69 84
70 public void ClientLeaving(LLUUID clientID) 85 public void ClientLeaving(LLUUID clientID, IUserServer userserver)
71 { 86 {
72 if (this._agentsInventory.ContainsKey(clientID)) 87 if (this._agentsInventory.ContainsKey(clientID))
73 { 88 {
89 if (userserver != null)
90 {
91 userserver.UpdateAgentsInventory(clientID, this._agentsInventory[clientID]);
92 }
74 this._agentsInventory.Remove(clientID); 93 this._agentsInventory.Remove(clientID);
75 } 94 }
76
77 } 95 }
78 96
79 public bool CreateNewInventoryFolder(SimClient remoteClient, LLUUID folderID) 97 public bool CreateNewInventoryFolder(SimClient remoteClient, LLUUID folderID)
@@ -171,6 +189,7 @@ namespace OpenSim.Assets
171 Descend.ItemData[i].Type = Item.Type; 189 Descend.ItemData[i].Type = Item.Type;
172 Descend.ItemData[i].CRC = libsecondlife.Helpers.InventoryCRC(1000, 0, Descend.ItemData[i].InvType, Descend.ItemData[i].Type, Descend.ItemData[i].AssetID, Descend.ItemData[i].GroupID, 100, Descend.ItemData[i].OwnerID, Descend.ItemData[i].CreatorID, Descend.ItemData[i].ItemID, Descend.ItemData[i].FolderID, FULL_MASK_PERMISSIONS, 1, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS); 190 Descend.ItemData[i].CRC = libsecondlife.Helpers.InventoryCRC(1000, 0, Descend.ItemData[i].InvType, Descend.ItemData[i].Type, Descend.ItemData[i].AssetID, Descend.ItemData[i].GroupID, 100, Descend.ItemData[i].OwnerID, Descend.ItemData[i].CreatorID, Descend.ItemData[i].ItemID, Descend.ItemData[i].FolderID, FULL_MASK_PERMISSIONS, 1, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS);
173 } 191 }
192
174 userInfo.OutPacket(Descend); 193 userInfo.OutPacket(Descend);
175 194
176 } 195 }
diff --git a/OpenSim.RegionServer/CAPS/AdminWebFront.cs b/OpenSim.RegionServer/CAPS/AdminWebFront.cs
index 03f8692..8224050 100644
--- a/OpenSim.RegionServer/CAPS/AdminWebFront.cs
+++ b/OpenSim.RegionServer/CAPS/AdminWebFront.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
3using System.Text; 3using System.Text;
4using System.IO; 4using System.IO;
5using OpenSim.world; 5using OpenSim.world;
6using OpenSim.UserServer;
6 7
7namespace OpenSim.CAPS 8namespace OpenSim.CAPS
8{ 9{
@@ -13,9 +14,11 @@ namespace OpenSim.CAPS
13 private string LoginForm; 14 private string LoginForm;
14 private string passWord = "Admin"; 15 private string passWord = "Admin";
15 private World m_world; 16 private World m_world;
17 private LoginServer _userServer;
16 18
17 public AdminWebFront(string password, World world) 19 public AdminWebFront(string password, World world, LoginServer userserver)
18 { 20 {
21 _userServer = userserver;
19 m_world = world; 22 m_world = world;
20 passWord = password; 23 passWord = password;
21 LoadAdminPage(); 24 LoadAdminPage();
@@ -63,8 +66,12 @@ namespace OpenSim.CAPS
63 case "/Admin/NewAccount": 66 case "/Admin/NewAccount":
64 if (requestMethod == "POST") 67 if (requestMethod == "POST")
65 { 68 {
66 string[] comp = new string[10]; 69 string firstName = "";
67 string[] passw = new string[3]; 70 string secondName = "";
71 string userPasswd = "";
72 string[] comp;
73 string[] passw;
74 string[] line;
68 string delimStr = "&"; 75 string delimStr = "&";
69 char[] delimiter = delimStr.ToCharArray(); 76 char[] delimiter = delimStr.ToCharArray();
70 string delimStr2 = "="; 77 string delimStr2 = "=";
@@ -75,6 +82,26 @@ namespace OpenSim.CAPS
75 passw = comp[3].Split(delimiter2); 82 passw = comp[3].Split(delimiter2);
76 if (passw[1] == passWord) 83 if (passw[1] == passWord)
77 { 84 {
85
86 line = comp[0].Split(delimiter2); //split firstname
87 if (line.Length > 1)
88 {
89 firstName = line[1];
90 }
91 line = comp[1].Split(delimiter2); //split secondname
92 if (line.Length > 1)
93 {
94 secondName = line[1];
95 }
96 line = comp[2].Split(delimiter2); //split user password
97 if (line.Length > 1)
98 {
99 userPasswd = line[1];
100 }
101 if (this._userServer != null)
102 {
103 this._userServer.CreateUserAccount(firstName, secondName, userPasswd);
104 }
78 responseString = "<p> New Account created </p>"; 105 responseString = "<p> New Account created </p>";
79 } 106 }
80 else 107 else
diff --git a/OpenSim.RegionServer/Grid.cs b/OpenSim.RegionServer/Grid.cs
index b0df6a8..db5b8fe 100644
--- a/OpenSim.RegionServer/Grid.cs
+++ b/OpenSim.RegionServer/Grid.cs
@@ -11,6 +11,7 @@ namespace OpenSim
11 { 11 {
12 public IAssetServer AssetServer; 12 public IAssetServer AssetServer;
13 public IGridServer GridServer; 13 public IGridServer GridServer;
14 public IUserServer UserServer;
14 public string AssetDll = ""; 15 public string AssetDll = "";
15 public string GridDll = ""; 16 public string GridDll = "";
16 17
diff --git a/OpenSim.RegionServer/OpenSim.RegionServer.dll.build b/OpenSim.RegionServer/OpenSim.RegionServer.dll.build
index b67db54..ef7dce9 100644
--- a/OpenSim.RegionServer/OpenSim.RegionServer.dll.build
+++ b/OpenSim.RegionServer/OpenSim.RegionServer.dll.build
@@ -16,7 +16,6 @@
16 <include name="Grid.cs" /> 16 <include name="Grid.cs" />
17 <include name="OpenSimMain.cs" /> 17 <include name="OpenSimMain.cs" />
18 <include name="OpenSimNetworkHandler.cs" /> 18 <include name="OpenSimNetworkHandler.cs" />
19 <include name="OpenSimRoot.cs" />
20 <include name="QueItem.cs" /> 19 <include name="QueItem.cs" />
21 <include name="SimClient.cs" /> 20 <include name="SimClient.cs" />
22 <include name="SimConsole.cs" /> 21 <include name="SimConsole.cs" />
diff --git a/OpenSim.RegionServer/OpenSimMain.cs b/OpenSim.RegionServer/OpenSimMain.cs
index ed3e732..07a2d6d 100644
--- a/OpenSim.RegionServer/OpenSimMain.cs
+++ b/OpenSim.RegionServer/OpenSimMain.cs
@@ -75,6 +75,7 @@ namespace OpenSim
75 public string m_physicsEngine; 75 public string m_physicsEngine;
76 public bool m_sandbox = false; 76 public bool m_sandbox = false;
77 public bool m_loginserver; 77 public bool m_loginserver;
78 public bool user_accounts = false;
78 79
79 protected ConsoleBase m_console; 80 protected ConsoleBase m_console;
80 81
@@ -145,12 +146,22 @@ namespace OpenSim
145 146
146 m_console.WriteLine("Main.cs:Startup() - Starting CAPS HTTP server"); 147 m_console.WriteLine("Main.cs:Startup() - Starting CAPS HTTP server");
147 HttpServer = new SimCAPSHTTPServer(GridServers.GridServer, Cfg.IPListenPort); 148 HttpServer = new SimCAPSHTTPServer(GridServers.GridServer, Cfg.IPListenPort);
148 HttpServer.AddRestHandler("Admin", new AdminWebFront("Admin", LocalWorld));
149 149
150 if ( m_loginserver && m_sandbox) 150 LoginServer loginServer = null;
151 if (m_loginserver && m_sandbox)
151 { 152 {
152 LoginServer loginServer = new LoginServer(GridServers.GridServer, Cfg.IPListenAddr, Cfg.IPListenPort); 153 loginServer = new LoginServer(GridServers.GridServer, Cfg.IPListenAddr, Cfg.IPListenPort, this.user_accounts);
153 loginServer.Startup(); 154 loginServer.Startup();
155
156 }
157 if((m_loginserver) && (m_sandbox) && (user_accounts))
158 {
159 this.GridServers.UserServer = loginServer;
160 HttpServer.AddRestHandler("Admin", new AdminWebFront("Admin", LocalWorld, loginServer));
161 }
162 else
163 {
164 HttpServer.AddRestHandler("Admin", new AdminWebFront("Admin", LocalWorld, null));
154 } 165 }
155 166
156 MainServerListener(); 167 MainServerListener();
@@ -210,6 +221,11 @@ namespace OpenSim
210 UseCircuitCodePacket useCircuit = (UseCircuitCodePacket)packet; 221 UseCircuitCodePacket useCircuit = (UseCircuitCodePacket)packet;
211 this.clientCircuits.Add(epSender, useCircuit.CircuitCode.Code); 222 this.clientCircuits.Add(epSender, useCircuit.CircuitCode.Code);
212 SimClient newuser = new SimClient(epSender, useCircuit, LocalWorld, ClientThreads, AssetCache, GridServers.GridServer, this, InventoryCache, m_sandbox); 223 SimClient newuser = new SimClient(epSender, useCircuit, LocalWorld, ClientThreads, AssetCache, GridServers.GridServer, this, InventoryCache, m_sandbox);
224 if ((this.GridServers.UserServer != null) && (user_accounts))
225 {
226 Console.WriteLine("setting userserver");
227 newuser.UserServer = this.GridServers.UserServer;
228 }
213 //OpenSimRoot.Instance.ClientThreads.Add(epSender, newuser); 229 //OpenSimRoot.Instance.ClientThreads.Add(epSender, newuser);
214 ClientThreads.Add(useCircuit.CircuitCode.Code, newuser); 230 ClientThreads.Add(useCircuit.CircuitCode.Code, newuser);
215 } 231 }
diff --git a/OpenSim.RegionServer/SimClient.cs b/OpenSim.RegionServer/SimClient.cs
index e013b63..6eb48fb 100644
--- a/OpenSim.RegionServer/SimClient.cs
+++ b/OpenSim.RegionServer/SimClient.cs
@@ -75,10 +75,20 @@ namespace OpenSim
75 private Dictionary<uint, SimClient> m_clientThreads; 75 private Dictionary<uint, SimClient> m_clientThreads;
76 private AssetCache m_assetCache; 76 private AssetCache m_assetCache;
77 private IGridServer m_gridServer; 77 private IGridServer m_gridServer;
78 private IUserServer m_userServer = null;
78 private OpenSimNetworkHandler m_application; 79 private OpenSimNetworkHandler m_application;
79 private InventoryCache m_inventoryCache; 80 private InventoryCache m_inventoryCache;
80 private bool m_sandboxMode; 81 private bool m_sandboxMode;
81 82
83
84 public IUserServer UserServer
85 {
86 set
87 {
88 this.m_userServer = value;
89 }
90 }
91
82 private void ack_pack(Packet Pack) 92 private void ack_pack(Packet Pack)
83 { 93 {
84 //libsecondlife.Packets.PacketAckPacket ack_it = new PacketAckPacket(); 94 //libsecondlife.Packets.PacketAckPacket ack_it = new PacketAckPacket();
@@ -241,6 +251,15 @@ namespace OpenSim
241 { 251 {
242 client.OutPacket(kill); 252 client.OutPacket(kill);
243 } 253 }
254 if (this.m_userServer != null)
255 {
256 this.m_inventoryCache.ClientLeaving(this.AgentID, this.m_userServer);
257 }
258 else
259 {
260 this.m_inventoryCache.ClientLeaving(this.AgentID, null);
261 }
262
244 m_gridServer.LogoutSession(this.SessionID, this.AgentID, this.CircuitCode); 263 m_gridServer.LogoutSession(this.SessionID, this.AgentID, this.CircuitCode);
245 lock (m_world.Entities) 264 lock (m_world.Entities)
246 { 265 {
@@ -657,12 +676,16 @@ namespace OpenSim
657 // Create Inventory, currently only works for sandbox mode 676 // Create Inventory, currently only works for sandbox mode
658 if (m_sandboxMode) 677 if (m_sandboxMode)
659 { 678 {
679 AgentInventory inventory = null;
660 if (sessionInfo.LoginInfo.InventoryFolder != null) 680 if (sessionInfo.LoginInfo.InventoryFolder != null)
661 { 681 {
662 this.CreateInventory(sessionInfo.LoginInfo.InventoryFolder); 682 inventory = this.CreateInventory(sessionInfo.LoginInfo.InventoryFolder);
663 if (sessionInfo.LoginInfo.BaseFolder != null) 683 if (sessionInfo.LoginInfo.BaseFolder != null)
664 { 684 {
665 m_inventoryCache.CreateNewInventoryFolder(this, sessionInfo.LoginInfo.BaseFolder); 685 if (!inventory.HasFolder(sessionInfo.LoginInfo.BaseFolder))
686 {
687 m_inventoryCache.CreateNewInventoryFolder(this, sessionInfo.LoginInfo.BaseFolder);
688 }
666 this.newAssetFolder = sessionInfo.LoginInfo.BaseFolder; 689 this.newAssetFolder = sessionInfo.LoginInfo.BaseFolder;
667 AssetBase[] inventorySet = m_assetCache.CreateNewInventorySet(this.AgentID); 690 AssetBase[] inventorySet = m_assetCache.CreateNewInventorySet(this.AgentID);
668 if (inventorySet != null) 691 if (inventorySet != null)
@@ -683,12 +706,23 @@ namespace OpenSim
683 } 706 }
684 } 707 }
685 708
686 private void CreateInventory(LLUUID baseFolder) 709 private AgentInventory CreateInventory(LLUUID baseFolder)
687 { 710 {
688 AgentInventory inventory = new AgentInventory(); 711 AgentInventory inventory = null;
689 inventory.AgentID = this.AgentID; 712 if (this.m_userServer != null)
690 m_inventoryCache.AddNewAgentsInventory(inventory); 713 {
691 m_inventoryCache.CreateNewInventoryFolder(this, baseFolder); 714 // a user server is set so request the inventory from it
715 inventory = m_inventoryCache.FetchAgentsInventory(this.AgentID, m_userServer);
716 }
717 else
718 {
719 inventory = new AgentInventory();
720 inventory.AgentID = this.AgentID;
721 inventory.CreateRootFolder(this.AgentID, false);
722 m_inventoryCache.AddNewAgentsInventory(inventory);
723 m_inventoryCache.CreateNewInventoryFolder(this, baseFolder);
724 }
725 return inventory;
692 } 726 }
693 } 727 }
694} 728}
diff --git a/OpenSim.RegionServer/UserServer/LocalUserProfileManager.cs b/OpenSim.RegionServer/UserServer/LocalUserProfileManager.cs
index eee1c3a..b31feda 100644
--- a/OpenSim.RegionServer/UserServer/LocalUserProfileManager.cs
+++ b/OpenSim.RegionServer/UserServer/LocalUserProfileManager.cs
@@ -30,8 +30,8 @@ namespace OpenSim.UserServer
30 30
31 public override void CustomiseResponse(ref System.Collections.Hashtable response, UserProfile theUser) 31 public override void CustomiseResponse(ref System.Collections.Hashtable response, UserProfile theUser)
32 { 32 {
33 uint circode = (uint)response["circuit_code"]; 33 Int32 circode = (Int32)response["circuit_code"];
34 theUser.AddSimCircuit(circode, LLUUID.Random()); 34 theUser.AddSimCircuit((uint)circode, LLUUID.Random());
35 response["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() + "]}"; 35 response["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() + "]}";
36 response["sim_port"] = m_port; 36 response["sim_port"] = m_port;
37 response["sim_ip"] = m_ipAddr; 37 response["sim_ip"] = m_ipAddr;
@@ -40,18 +40,18 @@ namespace OpenSim.UserServer
40 40
41 string first; 41 string first;
42 string last; 42 string last;
43 if (response.Contains("first")) 43 if (response.Contains("first_name"))
44 { 44 {
45 first = (string)response["first"]; 45 first = (string)response["first_name"];
46 } 46 }
47 else 47 else
48 { 48 {
49 first = "test"; 49 first = "test";
50 } 50 }
51 51
52 if (response.Contains("last")) 52 if (response.Contains("last_name"))
53 { 53 {
54 last = (string)response["last"]; 54 last = (string)response["last_name"];
55 } 55 }
56 else 56 else
57 { 57 {
@@ -67,12 +67,14 @@ namespace OpenSim.UserServer
67 _login.Last = last; 67 _login.Last = last;
68 _login.Agent = new LLUUID((string)response["agent_id"]) ; 68 _login.Agent = new LLUUID((string)response["agent_id"]) ;
69 _login.Session = new LLUUID((string)response["session_id"]); 69 _login.Session = new LLUUID((string)response["session_id"]);
70 _login.SecureSession = new LLUUID((string)response["secure_session_id"]);
70 _login.BaseFolder = null; 71 _login.BaseFolder = null;
71 _login.InventoryFolder = new LLUUID((string)Inventory1["folder_id"]); 72 _login.InventoryFolder = new LLUUID((string)Inventory1["folder_id"]);
72 73
73 //working on local computer if so lets add to the gridserver's list of sessions? 74 //working on local computer if so lets add to the gridserver's list of sessions?
74 if (m_gridServer.GetName() == "Local") 75 if (m_gridServer.GetName() == "Local")
75 { 76 {
77 Console.WriteLine("adding login data to gridserver");
76 ((LocalGridBase)this.m_gridServer).AddNewSession(_login); 78 ((LocalGridBase)this.m_gridServer).AddNewSession(_login);
77 } 79 }
78 } 80 }
diff --git a/OpenSim.RegionServer/UserServer/LoginServer.cs b/OpenSim.RegionServer/UserServer/LoginServer.cs
index 0bbe0b0..7b4c1f0 100644
--- a/OpenSim.RegionServer/UserServer/LoginServer.cs
+++ b/OpenSim.RegionServer/UserServer/LoginServer.cs
@@ -66,11 +66,12 @@ namespace OpenSim.UserServer
66 private int m_simPort; 66 private int m_simPort;
67 private string m_simAddr; 67 private string m_simAddr;
68 68
69 public LoginServer(IGridServer gridServer, string simAddr, int simPort) 69 public LoginServer(IGridServer gridServer, string simAddr, int simPort , bool useAccounts)
70 { 70 {
71 m_gridServer = gridServer; 71 m_gridServer = gridServer;
72 m_simPort = simPort; 72 m_simPort = simPort;
73 m_simAddr = simAddr; 73 m_simAddr = simAddr;
74 this.userAccounts = useAccounts;
74 } 75 }
75 76
76 // InitializeLogin: initialize the login 77 // InitializeLogin: initialize the login
@@ -395,6 +396,15 @@ namespace OpenSim.UserServer
395 return Regex.Replace(BitConverter.ToString(encodedBytes), "-", "").ToLower(); 396 return Regex.Replace(BitConverter.ToString(encodedBytes), "-", "").ToLower();
396 } 397 }
397 398
399 public bool CreateUserAccount(string firstName, string lastName, string password)
400 {
401 Console.WriteLine("creating new user account");
402 string mdPassword = EncodePassword(password);
403 Console.WriteLine("with password: " + mdPassword);
404 this.userManager.CreateNewProfile(firstName, lastName, mdPassword);
405 return true;
406 }
407
398 //IUserServer implementation 408 //IUserServer implementation
399 public AgentInventory RequestAgentsInventory(LLUUID agentID) 409 public AgentInventory RequestAgentsInventory(LLUUID agentID)
400 { 410 {
@@ -407,6 +417,11 @@ namespace OpenSim.UserServer
407 return aInventory; 417 return aInventory;
408 } 418 }
409 419
420 public bool UpdateAgentsInventory(LLUUID agentID, AgentInventory inventory)
421 {
422 return true;
423 }
424
410 public void SetServerInfo(string ServerUrl, string SendKey, string RecvKey) 425 public void SetServerInfo(string ServerUrl, string SendKey, string RecvKey)
411 { 426 {
412 427