aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenGridServices
diff options
context:
space:
mode:
Diffstat (limited to 'OpenGridServices')
-rw-r--r--OpenGridServices/OpenGrid.Config/GridConfigDb4o/OpenGrid.Config.GridConfigDb4o.dll.build4
-rw-r--r--OpenGridServices/OpenGrid.Framework.Data.DB4o/DB4oManager.cs2
-rw-r--r--OpenGridServices/OpenGrid.Framework.Data.DB4o/DB4oUserData.cs5
-rw-r--r--OpenGridServices/OpenGrid.Framework.Data.MySQL/MySQLUserData.cs4
-rw-r--r--OpenGridServices/OpenGrid.Framework.Data/UserData.cs6
-rw-r--r--OpenGridServices/OpenGrid.Framework.Manager/GridManagementAgent.cs147
-rw-r--r--OpenGridServices/OpenGrid.Framework.Manager/OpenGrid.Framework.Manager.dll.build6
-rw-r--r--OpenGridServices/OpenGridServices.AssetServer/OpenGridServices.AssetServer.exe.build10
-rw-r--r--OpenGridServices/OpenGridServices.GridServer/Main.cs81
-rw-r--r--OpenGridServices/OpenGridServices.GridServer/OpenGridServices.GridServer.csproj4
-rw-r--r--OpenGridServices/OpenGridServices.GridServer/OpenGridServices.GridServer.exe.build9
-rw-r--r--OpenGridServices/OpenGridServices.UserServer/Main.cs56
-rw-r--r--OpenGridServices/OpenGridServices.UserServer/OpenGridServices.UserServer.csproj4
-rw-r--r--OpenGridServices/OpenGridServices.UserServer/OpenGridServices.UserServer.exe.build9
-rw-r--r--OpenGridServices/OpenGridServices.UserServer/UserManager.cs31
-rw-r--r--OpenGridServices/OpenUser.Config/UserConfigDb4o/OpenUser.Config.UserConfigDb4o.dll.build4
16 files changed, 248 insertions, 134 deletions
diff --git a/OpenGridServices/OpenGrid.Config/GridConfigDb4o/OpenGrid.Config.GridConfigDb4o.dll.build b/OpenGridServices/OpenGrid.Config/GridConfigDb4o/OpenGrid.Config.GridConfigDb4o.dll.build
index 94e924e..cbc8479 100644
--- a/OpenGridServices/OpenGrid.Config/GridConfigDb4o/OpenGrid.Config.GridConfigDb4o.dll.build
+++ b/OpenGridServices/OpenGrid.Config/GridConfigDb4o/OpenGrid.Config.GridConfigDb4o.dll.build
@@ -24,8 +24,8 @@
24 <include name="System.Xml.dll" /> 24 <include name="System.Xml.dll" />
25 <include name="../../../bin/libsecondlife.dll" /> 25 <include name="../../../bin/libsecondlife.dll" />
26 <include name="../../../bin/Db4objects.Db4o.dll" /> 26 <include name="../../../bin/Db4objects.Db4o.dll" />
27 <include name="OpenSim.Framework.dll" /> 27 <include name="../../../bin/OpenSim.Framework.dll" />
28 <include name="OpenSim.Framework.Console.dll" /> 28 <include name="../../../bin/OpenSim.Framework.Console.dll" />
29 </references> 29 </references>
30 </csc> 30 </csc>
31 <echo message="Copying from [${project::get-base-directory()}/${build.dir}/] to [${project::get-base-directory()}/../../../bin/" /> 31 <echo message="Copying from [${project::get-base-directory()}/${build.dir}/] to [${project::get-base-directory()}/../../../bin/" />
diff --git a/OpenGridServices/OpenGrid.Framework.Data.DB4o/DB4oManager.cs b/OpenGridServices/OpenGrid.Framework.Data.DB4o/DB4oManager.cs
index aaa6e91..b30f889 100644
--- a/OpenGridServices/OpenGrid.Framework.Data.DB4o/DB4oManager.cs
+++ b/OpenGridServices/OpenGrid.Framework.Data.DB4o/DB4oManager.cs
@@ -81,7 +81,7 @@ namespace OpenGrid.Framework.Data.DB4o
81 /// <param name="row">The profile to add</param> 81 /// <param name="row">The profile to add</param>
82 /// <returns>Successful?</returns> 82 /// <returns>Successful?</returns>
83 public bool AddRow(UserProfileData row) 83 public bool AddRow(UserProfileData row)
84 { 84 {
85 if (userProfiles.ContainsKey(row.UUID)) 85 if (userProfiles.ContainsKey(row.UUID))
86 { 86 {
87 userProfiles[row.UUID] = row; 87 userProfiles[row.UUID] = row;
diff --git a/OpenGridServices/OpenGrid.Framework.Data.DB4o/DB4oUserData.cs b/OpenGridServices/OpenGrid.Framework.Data.DB4o/DB4oUserData.cs
index 7dd4c51..1e8273d 100644
--- a/OpenGridServices/OpenGrid.Framework.Data.DB4o/DB4oUserData.cs
+++ b/OpenGridServices/OpenGrid.Framework.Data.DB4o/DB4oUserData.cs
@@ -66,6 +66,11 @@ namespace OpenGrid.Framework.Data.DB4o
66 } 66 }
67 } 67 }
68 68
69 public void addNewUserProfile(UserProfileData user)
70 {
71 manager.AddRow(user);
72 }
73
69 public bool moneyTransferRequest(LLUUID from, LLUUID to, uint amount) 74 public bool moneyTransferRequest(LLUUID from, LLUUID to, uint amount)
70 { 75 {
71 return true; 76 return true;
diff --git a/OpenGridServices/OpenGrid.Framework.Data.MySQL/MySQLUserData.cs b/OpenGridServices/OpenGrid.Framework.Data.MySQL/MySQLUserData.cs
index df681eb..61c8288 100644
--- a/OpenGridServices/OpenGrid.Framework.Data.MySQL/MySQLUserData.cs
+++ b/OpenGridServices/OpenGrid.Framework.Data.MySQL/MySQLUserData.cs
@@ -121,6 +121,10 @@ namespace OpenGrid.Framework.Data.MySQL
121 } 121 }
122 } 122 }
123 123
124 public void addNewUserProfile(UserProfileData user)
125 {
126 }
127
124 public bool moneyTransferRequest(LLUUID from, LLUUID to, uint amount) 128 public bool moneyTransferRequest(LLUUID from, LLUUID to, uint amount)
125 { 129 {
126 return false; 130 return false;
diff --git a/OpenGridServices/OpenGrid.Framework.Data/UserData.cs b/OpenGridServices/OpenGrid.Framework.Data/UserData.cs
index 1b37957..3ab9b5e 100644
--- a/OpenGridServices/OpenGrid.Framework.Data/UserData.cs
+++ b/OpenGridServices/OpenGrid.Framework.Data/UserData.cs
@@ -52,6 +52,12 @@ namespace OpenGrid.Framework.Data
52 UserAgentData getAgentByName(string fname, string lname); 52 UserAgentData getAgentByName(string fname, string lname);
53 53
54 /// <summary> 54 /// <summary>
55 /// Adds a new User profile to the database
56 /// </summary>
57 /// <param name="user">UserProfile to add</param>
58 void addNewUserProfile(UserProfileData user);
59
60 /// <summary>
55 /// Attempts to move currency units between accounts (NOT RELIABLE / TRUSTWORTHY. DONT TRY RUN YOUR OWN CURRENCY EXCHANGE WITH REAL VALUES) 61 /// Attempts to move currency units between accounts (NOT RELIABLE / TRUSTWORTHY. DONT TRY RUN YOUR OWN CURRENCY EXCHANGE WITH REAL VALUES)
56 /// </summary> 62 /// </summary>
57 /// <param name="from">The account to transfer from</param> 63 /// <param name="from">The account to transfer from</param>
diff --git a/OpenGridServices/OpenGrid.Framework.Manager/GridManagementAgent.cs b/OpenGridServices/OpenGrid.Framework.Manager/GridManagementAgent.cs
index e43ce87..f4483fb 100644
--- a/OpenGridServices/OpenGrid.Framework.Manager/GridManagementAgent.cs
+++ b/OpenGridServices/OpenGrid.Framework.Manager/GridManagementAgent.cs
@@ -1,71 +1,76 @@
1using Nwc.XmlRpc; 1using Nwc.XmlRpc;
2using OpenSim.Framework; 2using OpenSim.Framework;
3using OpenSim.Servers; 3using OpenSim.Servers;
4using System.Collections; 4using System.Collections;
5using System.Collections.Generic; 5using System.Collections.Generic;
6using libsecondlife; 6using libsecondlife;
7 7
8namespace OpenGrid.Framework.Manager { 8namespace OpenGrid.Framework.Manager
9 9{
10 public delegate void GridManagerCallback(string param); 10
11 11 public delegate void GridManagerCallback(string param);
12 public class GridManagementAgent { 12
13 13 public class GridManagementAgent
14 private GridManagerCallback thecallback; 14 {
15 private string sendkey; 15
16 private string recvkey; 16 private GridManagerCallback thecallback;
17 private string component_type; 17 private string sendkey;
18 18 private string recvkey;
19 private static ArrayList Sessions; 19 private string component_type;
20 20
21 public GridManagementAgent(BaseHttpServer app_httpd, string component_type, string sendkey, string recvkey, GridManagerCallback thecallback) 21 private static ArrayList Sessions;
22 { 22
23 this.sendkey=sendkey; 23 public GridManagementAgent(BaseHttpServer app_httpd, string component_type, string sendkey, string recvkey, GridManagerCallback thecallback)
24 this.recvkey=recvkey; 24 {
25 this.component_type=component_type; 25 this.sendkey = sendkey;
26 this.thecallback=thecallback; 26 this.recvkey = recvkey;
27 Sessions = new ArrayList(); 27 this.component_type = component_type;
28 28 this.thecallback = thecallback;
29 app_httpd.AddXmlRPCHandler("manager_login",XmlRpcLoginMethod); 29 Sessions = new ArrayList();
30 30
31 switch(component_type) 31 app_httpd.AddXmlRPCHandler("manager_login", XmlRpcLoginMethod);
32 { 32
33 case "gridserver": 33 switch (component_type)
34 GridServerManager.sendkey=this.sendkey; 34 {
35 GridServerManager.recvkey=this.recvkey; 35 case "gridserver":
36 GridServerManager.thecallback=thecallback; 36 GridServerManager.sendkey = this.sendkey;
37 app_httpd.AddXmlRPCHandler("shutdown", GridServerManager.XmlRpcShutdownMethod); 37 GridServerManager.recvkey = this.recvkey;
38 break; 38 GridServerManager.thecallback = thecallback;
39 } 39 app_httpd.AddXmlRPCHandler("shutdown", GridServerManager.XmlRpcShutdownMethod);
40 } 40 break;
41 41 }
42 public static bool SessionExists(LLUUID sessionID) 42 }
43 { 43
44 return Sessions.Contains(sessionID); 44 public static bool SessionExists(LLUUID sessionID)
45 } 45 {
46 46 return Sessions.Contains(sessionID);
47 public static XmlRpcResponse XmlRpcLoginMethod(XmlRpcRequest request) 47 }
48 { 48
49 XmlRpcResponse response = new XmlRpcResponse(); 49 public static XmlRpcResponse XmlRpcLoginMethod(XmlRpcRequest request)
50 Hashtable requestData = (Hashtable)request.Params[0]; 50 {
51 Hashtable responseData = new Hashtable(); 51 XmlRpcResponse response = new XmlRpcResponse();
52 52 Hashtable requestData = (Hashtable)request.Params[0];
53 // TODO: Switch this over to using OpenGrid.Framework.Data 53 Hashtable responseData = new Hashtable();
54 if( requestData["username"].Equals("admin") && requestData["password"].Equals("supersecret")) { 54
55 response.IsFault=false; 55 // TODO: Switch this over to using OpenGrid.Framework.Data
56 LLUUID new_session=LLUUID.Random(); 56 if (requestData["username"].Equals("admin") && requestData["password"].Equals("supersecret"))
57 Sessions.Add(new_session); 57 {
58 responseData["session_id"]=new_session.ToString(); 58 response.IsFault = false;
59 responseData["msg"]="Login OK"; 59 LLUUID new_session = LLUUID.Random();
60 } else { 60 Sessions.Add(new_session);
61 response.IsFault=true; 61 responseData["session_id"] = new_session.ToString();
62 responseData["error"]="Invalid username or password"; 62 responseData["msg"] = "Login OK";
63 } 63 }
64 64 else
65 response.Value = responseData; 65 {
66 return response; 66 response.IsFault = true;
67 67 responseData["error"] = "Invalid username or password";
68 } 68 }
69 69
70 } 70 response.Value = responseData;
71} 71 return response;
72
73 }
74
75 }
76}
diff --git a/OpenGridServices/OpenGrid.Framework.Manager/OpenGrid.Framework.Manager.dll.build b/OpenGridServices/OpenGrid.Framework.Manager/OpenGrid.Framework.Manager.dll.build
index 1faa190..f8cc80e 100644
--- a/OpenGridServices/OpenGrid.Framework.Manager/OpenGrid.Framework.Manager.dll.build
+++ b/OpenGridServices/OpenGrid.Framework.Manager/OpenGrid.Framework.Manager.dll.build
@@ -20,10 +20,10 @@
20 <include name="${project::get-base-directory()}/${build.dir}" /> 20 <include name="${project::get-base-directory()}/${build.dir}" />
21 </lib> 21 </lib>
22 <include name="System.dll" /> 22 <include name="System.dll" />
23 <include name="OpenSim.Framework.dll" /> 23 <include name="../../bin/OpenSim.Framework.dll" />
24 <include name="OpenSim.Servers.dll" /> 24 <include name="../../bin/OpenSim.Servers.dll" />
25 <include name="../../bin/libsecondlife.dll" /> 25 <include name="../../bin/libsecondlife.dll" />
26 <include name="XMLRPC.dll" /> 26 <include name="../../bin/XMLRPC.dll" />
27 </references> 27 </references>
28 </csc> 28 </csc>
29 <echo message="Copying from [${project::get-base-directory()}/${build.dir}/] to [${project::get-base-directory()}/../../bin/" /> 29 <echo message="Copying from [${project::get-base-directory()}/${build.dir}/] to [${project::get-base-directory()}/../../bin/" />
diff --git a/OpenGridServices/OpenGridServices.AssetServer/OpenGridServices.AssetServer.exe.build b/OpenGridServices/OpenGridServices.AssetServer/OpenGridServices.AssetServer.exe.build
index 064617e..e889a4d 100644
--- a/OpenGridServices/OpenGridServices.AssetServer/OpenGridServices.AssetServer.exe.build
+++ b/OpenGridServices/OpenGridServices.AssetServer/OpenGridServices.AssetServer.exe.build
@@ -23,13 +23,13 @@
23 <include name="System.dll" /> 23 <include name="System.dll" />
24 <include name="System.Data.dll" /> 24 <include name="System.Data.dll" />
25 <include name="System.Xml.dll" /> 25 <include name="System.Xml.dll" />
26 <include name="OpenSim.Framework.dll" /> 26 <include name="../../bin/OpenSim.Framework.dll" />
27 <include name="OpenSim.Framework.Console.dll" /> 27 <include name="../../bin/OpenSim.Framework.Console.dll" />
28 <include name="OpenSim.GridInterfaces.Local.dll" /> 28 <include name="../../bin/OpenSim.GridInterfaces.Local.dll" />
29 <include name="OpenSim.Servers.dll" /> 29 <include name="../../bin/OpenSim.Servers.dll" />
30 <include name="../../bin/libsecondlife.dll" /> 30 <include name="../../bin/libsecondlife.dll" />
31 <include name="../../bin/Db4objects.Db4o.dll" /> 31 <include name="../../bin/Db4objects.Db4o.dll" />
32 <include name="XMLRPC.dll" /> 32 <include name="../../bin/XMLRPC.dll" />
33 </references> 33 </references>
34 </csc> 34 </csc>
35 <echo message="Copying from [${project::get-base-directory()}/${build.dir}/] to [${project::get-base-directory()}/../../bin/" /> 35 <echo message="Copying from [${project::get-base-directory()}/${build.dir}/] to [${project::get-base-directory()}/../../bin/" />
diff --git a/OpenGridServices/OpenGridServices.GridServer/Main.cs b/OpenGridServices/OpenGridServices.GridServer/Main.cs
index cad5fae..8baf293 100644
--- a/OpenGridServices/OpenGridServices.GridServer/Main.cs
+++ b/OpenGridServices/OpenGridServices.GridServer/Main.cs
@@ -41,6 +41,7 @@ using OpenSim.Framework.Sims;
41using OpenSim.Framework.Console; 41using OpenSim.Framework.Console;
42using OpenSim.Framework.Interfaces; 42using OpenSim.Framework.Interfaces;
43using OpenSim.Servers; 43using OpenSim.Servers;
44using OpenSim.GenericConfig;
44 45
45namespace OpenGridServices.GridServer 46namespace OpenGridServices.GridServer
46{ 47{
@@ -49,15 +50,17 @@ namespace OpenGridServices.GridServer
49 public class OpenGrid_Main : BaseServer, conscmd_callback 50 public class OpenGrid_Main : BaseServer, conscmd_callback
50 { 51 {
51 private string ConfigDll = "OpenGrid.Config.GridConfigDb4o.dll"; 52 private string ConfigDll = "OpenGrid.Config.GridConfigDb4o.dll";
52 private string GridDll = "OpenGrid.Framework.Data.MySQL.dll"; 53 private string GridDll = "OpenGrid.Framework.Data.DB4o.dll";
53 public GridConfig Cfg; 54 public GridConfig Cfg;
54 55
55 public static OpenGrid_Main thegrid; 56 public static OpenGrid_Main thegrid;
56 public static bool setuponly; 57 protected IGenericConfig localXMLConfig;
57 58
59 public static bool setuponly;
60
58 //public LLUUID highestUUID; 61 //public LLUUID highestUUID;
59 62
60// private SimProfileManager m_simProfileManager; 63 // private SimProfileManager m_simProfileManager;
61 64
62 private GridManager m_gridManager; 65 private GridManager m_gridManager;
63 66
@@ -70,7 +73,7 @@ namespace OpenGridServices.GridServer
70 { 73 {
71 if (args[0] == "-setuponly") setuponly = true; 74 if (args[0] == "-setuponly") setuponly = true;
72 } 75 }
73 Console.WriteLine("Starting...\n"); 76 Console.WriteLine("Starting...\n");
74 77
75 thegrid = new OpenGrid_Main(); 78 thegrid = new OpenGrid_Main();
76 thegrid.Startup(); 79 thegrid.Startup();
@@ -82,8 +85,8 @@ namespace OpenGridServices.GridServer
82 { 85 {
83 while (true) 86 while (true)
84 { 87 {
85 Thread.Sleep(5000); 88 Thread.Sleep(5000);
86 // should flush the DB etc here 89 // should flush the DB etc here
87 } 90 }
88 } 91 }
89 92
@@ -95,30 +98,37 @@ namespace OpenGridServices.GridServer
95 98
96 } 99 }
97 100
98 public void managercallback(string cmd) { 101 public void managercallback(string cmd)
99 switch(cmd) { 102 {
100 case "shutdown": 103 switch (cmd)
101 RunCmd("shutdown",new string[0]); 104 {
102 break; 105 case "shutdown":
103 } 106 RunCmd("shutdown", new string[0]);
104 } 107 break;
108 }
109 }
105 110
106 111
107 public void Startup() 112 public void Startup()
108 { 113 {
109 m_console.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Main.cs:Startup() - Loading configuration"); 114 this.localXMLConfig = new XmlConfig("GridServerConfig.xml");
115 this.localXMLConfig.LoadData();
116 this.ConfigDB(this.localXMLConfig);
117 this.localXMLConfig.Close();
118
119 m_console.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Main.cs:Startup() - Loading configuration");
110 Cfg = this.LoadConfigDll(this.ConfigDll); 120 Cfg = this.LoadConfigDll(this.ConfigDll);
111 Cfg.InitConfig(); 121 Cfg.InitConfig();
112 if(setuponly) Environment.Exit(0); 122 if (setuponly) Environment.Exit(0);
113 123
114 m_console.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Main.cs:Startup() - Connecting to Storage Server"); 124 m_console.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Main.cs:Startup() - Connecting to Storage Server");
115 m_gridManager = new GridManager(); 125 m_gridManager = new GridManager();
116 m_gridManager.AddPlugin(GridDll); // Made of win 126 m_gridManager.AddPlugin(GridDll); // Made of win
117 m_gridManager.config = Cfg; 127 m_gridManager.config = Cfg;
118 128
119 m_console.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Main.cs:Startup() - Starting HTTP process"); 129 m_console.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Main.cs:Startup() - Starting HTTP process");
120 BaseHttpServer httpServer = new BaseHttpServer(8001); 130 BaseHttpServer httpServer = new BaseHttpServer(8001);
121 GridManagementAgent GridManagerAgent = new GridManagementAgent(httpServer,"gridserver",Cfg.SimSendKey,Cfg.SimRecvKey,managercallback); 131 GridManagementAgent GridManagerAgent = new GridManagementAgent(httpServer, "gridserver", Cfg.SimSendKey, Cfg.SimRecvKey, managercallback);
122 132
123 httpServer.AddXmlRPCHandler("simulator_login", m_gridManager.XmlRpcLoginToSimulatorMethod); 133 httpServer.AddXmlRPCHandler("simulator_login", m_gridManager.XmlRpcLoginToSimulatorMethod);
124 httpServer.AddXmlRPCHandler("map_block", m_gridManager.XmlRpcMapBlockMethod); 134 httpServer.AddXmlRPCHandler("map_block", m_gridManager.XmlRpcMapBlockMethod);
@@ -127,7 +137,7 @@ namespace OpenGridServices.GridServer
127 httpServer.AddRestHandler("POST", "/sims/", m_gridManager.RestSetSimMethod); 137 httpServer.AddRestHandler("POST", "/sims/", m_gridManager.RestSetSimMethod);
128 httpServer.AddRestHandler("GET", "/regions/", m_gridManager.RestGetRegionMethod); 138 httpServer.AddRestHandler("GET", "/regions/", m_gridManager.RestGetRegionMethod);
129 httpServer.AddRestHandler("POST", "/regions/", m_gridManager.RestSetRegionMethod); 139 httpServer.AddRestHandler("POST", "/regions/", m_gridManager.RestSetRegionMethod);
130 140
131 141
132 // lbsa71 : This code snippet taken from old http server. 142 // lbsa71 : This code snippet taken from old http server.
133 // I have no idea what this was supposed to do - looks like an infinite recursion to me. 143 // I have no idea what this was supposed to do - looks like an infinite recursion to me.
@@ -145,9 +155,9 @@ namespace OpenGridServices.GridServer
145 155
146 httpServer.Start(); 156 httpServer.Start();
147 157
148 m_console.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Main.cs:Startup() - Starting sim status checker"); 158 m_console.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Main.cs:Startup() - Starting sim status checker");
149 159
150 System.Timers.Timer simCheckTimer = new System.Timers.Timer( 300000 ); // 5 minutes 160 System.Timers.Timer simCheckTimer = new System.Timers.Timer(300000); // 5 minutes
151 simCheckTimer.Elapsed += new ElapsedEventHandler(CheckSims); 161 simCheckTimer.Elapsed += new ElapsedEventHandler(CheckSims);
152 simCheckTimer.Enabled = true; 162 simCheckTimer.Enabled = true;
153 } 163 }
@@ -222,7 +232,7 @@ namespace OpenGridServices.GridServer
222 switch (cmd) 232 switch (cmd)
223 { 233 {
224 case "help": 234 case "help":
225 m_console.WriteLine(OpenSim.Framework.Console.LogPriority.HIGH,"shutdown - shutdown the grid (USE CAUTION!)"); 235 m_console.WriteLine(OpenSim.Framework.Console.LogPriority.HIGH, "shutdown - shutdown the grid (USE CAUTION!)");
226 break; 236 break;
227 237
228 case "shutdown": 238 case "shutdown":
@@ -235,5 +245,28 @@ namespace OpenGridServices.GridServer
235 public void Show(string ShowWhat) 245 public void Show(string ShowWhat)
236 { 246 {
237 } 247 }
248
249 private void ConfigDB(IGenericConfig configData)
250 {
251 try
252 {
253 string attri = "";
254 attri = configData.GetAttribute("DataBaseProvider");
255 if (attri == "")
256 {
257 GridDll = "OpenGrid.Framework.Data.DB4o.dll";
258 configData.SetAttribute("DataBaseProvider", "OpenGrid.Framework.Data.DB4o.dll");
259 }
260 else
261 {
262 GridDll = attri;
263 }
264 configData.Commit();
265 }
266 catch (Exception e)
267 {
268
269 }
270 }
238 } 271 }
239} 272}
diff --git a/OpenGridServices/OpenGridServices.GridServer/OpenGridServices.GridServer.csproj b/OpenGridServices/OpenGridServices.GridServer/OpenGridServices.GridServer.csproj
index b83c6ba..f4a6ca1 100644
--- a/OpenGridServices/OpenGridServices.GridServer/OpenGridServices.GridServer.csproj
+++ b/OpenGridServices/OpenGridServices.GridServer/OpenGridServices.GridServer.csproj
@@ -82,6 +82,10 @@
82 <HintPath>OpenSim.Servers.dll</HintPath> 82 <HintPath>OpenSim.Servers.dll</HintPath>
83 <Private>False</Private> 83 <Private>False</Private>
84 </Reference> 84 </Reference>
85 <Reference Include="OpenSim.GenericConfig.Xml" >
86 <HintPath>OpenSim.GenericConfig.Xml.dll</HintPath>
87 <Private>False</Private>
88 </Reference>
85 <Reference Include="libsecondlife.dll" > 89 <Reference Include="libsecondlife.dll" >
86 <HintPath>..\..\bin\libsecondlife.dll</HintPath> 90 <HintPath>..\..\bin\libsecondlife.dll</HintPath>
87 <Private>False</Private> 91 <Private>False</Private>
diff --git a/OpenGridServices/OpenGridServices.GridServer/OpenGridServices.GridServer.exe.build b/OpenGridServices/OpenGridServices.GridServer/OpenGridServices.GridServer.exe.build
index 8a13f03..9d21edd 100644
--- a/OpenGridServices/OpenGridServices.GridServer/OpenGridServices.GridServer.exe.build
+++ b/OpenGridServices/OpenGridServices.GridServer/OpenGridServices.GridServer.exe.build
@@ -23,14 +23,15 @@
23 <include name="System.dll" /> 23 <include name="System.dll" />
24 <include name="System.Data.dll" /> 24 <include name="System.Data.dll" />
25 <include name="System.Xml.dll" /> 25 <include name="System.Xml.dll" />
26 <include name="OpenSim.Framework.dll" /> 26 <include name="../../bin/OpenSim.Framework.dll" />
27 <include name="OpenSim.Framework.Console.dll" /> 27 <include name="../../bin/OpenSim.Framework.Console.dll" />
28 <include name="OpenSim.Servers.dll" /> 28 <include name="../../bin/OpenSim.Servers.dll" />
29 <include name="../../bin/OpenGrid.Framework.Data.dll" /> 29 <include name="../../bin/OpenGrid.Framework.Data.dll" />
30 <include name="../../bin/OpenGrid.Framework.Manager.dll" /> 30 <include name="../../bin/OpenGrid.Framework.Manager.dll" />
31 <include name="../../bin/OpenSim.GenericConfig.Xml.dll" />
31 <include name="../../bin/libsecondlife.dll" /> 32 <include name="../../bin/libsecondlife.dll" />
32 <include name="../../bin/Db4objects.Db4o.dll" /> 33 <include name="../../bin/Db4objects.Db4o.dll" />
33 <include name="XMLRPC.dll" /> 34 <include name="../../bin/XMLRPC.dll" />
34 </references> 35 </references>
35 </csc> 36 </csc>
36 <echo message="Copying from [${project::get-base-directory()}/${build.dir}/] to [${project::get-base-directory()}/../../bin/" /> 37 <echo message="Copying from [${project::get-base-directory()}/${build.dir}/] to [${project::get-base-directory()}/../../bin/" />
diff --git a/OpenGridServices/OpenGridServices.UserServer/Main.cs b/OpenGridServices/OpenGridServices.UserServer/Main.cs
index 0eb314b..aec80dc 100644
--- a/OpenGridServices/OpenGridServices.UserServer/Main.cs
+++ b/OpenGridServices/OpenGridServices.UserServer/Main.cs
@@ -40,6 +40,8 @@ using OpenSim.Framework.Inventory;
40using OpenSim.Framework.Interfaces; 40using OpenSim.Framework.Interfaces;
41using OpenSim.Framework.Console; 41using OpenSim.Framework.Console;
42using OpenSim.Servers; 42using OpenSim.Servers;
43using OpenSim.Framework.Utilities;
44using OpenSim.GenericConfig;
43 45
44namespace OpenGridServices.UserServer 46namespace OpenGridServices.UserServer
45{ 47{
@@ -48,8 +50,9 @@ namespace OpenGridServices.UserServer
48 public class OpenUser_Main : BaseServer, conscmd_callback 50 public class OpenUser_Main : BaseServer, conscmd_callback
49 { 51 {
50 private string ConfigDll = "OpenUser.Config.UserConfigDb4o.dll"; 52 private string ConfigDll = "OpenUser.Config.UserConfigDb4o.dll";
51 private string StorageDll = "OpenGrid.Framework.Data.MySQL.dll"; 53 private string StorageDll = "OpenGrid.Framework.Data.DB4o.dll";
52 private UserConfig Cfg; 54 private UserConfig Cfg;
55 protected IGenericConfig localXMLConfig;
53 56
54 public UserManager m_userManager; // Replaces below. 57 public UserManager m_userManager; // Replaces below.
55 58
@@ -88,6 +91,11 @@ namespace OpenGridServices.UserServer
88 91
89 public void Startup() 92 public void Startup()
90 { 93 {
94 this.localXMLConfig = new XmlConfig("UserServerConfig.xml");
95 this.localXMLConfig.LoadData();
96 this.ConfigDB(this.localXMLConfig);
97 this.localXMLConfig.Close();
98
91 MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Main.cs:Startup() - Loading configuration"); 99 MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Main.cs:Startup() - Loading configuration");
92 Cfg = this.LoadConfigDll(this.ConfigDll); 100 Cfg = this.LoadConfigDll(this.ConfigDll);
93 Cfg.InitConfig(); 101 Cfg.InitConfig();
@@ -112,33 +120,22 @@ namespace OpenGridServices.UserServer
112 switch (what) 120 switch (what)
113 { 121 {
114 case "user": 122 case "user":
115 m_console.WriteLine(OpenSim.Framework.Console.LogPriority.HIGH,"Commandline user creation is currently disabled.");
116 break;
117 /*
118 string tempfirstname; 123 string tempfirstname;
119 string templastname; 124 string templastname;
120 string tempMD5Passwd; 125 string tempMD5Passwd;
126 uint regX = 997;
127 uint regY = 996;
121 128
122 tempfirstname = m_console.CmdPrompt("First name"); 129 tempfirstname = m_console.CmdPrompt("First name");
123 templastname = m_console.CmdPrompt("Last name"); 130 templastname = m_console.CmdPrompt("Last name");
124 tempMD5Passwd = m_console.PasswdPrompt("Password"); 131 tempMD5Passwd = m_console.PasswdPrompt("Password");
132 regX = Convert.ToUInt32(m_console.CmdPrompt("Start Region X"));
133 regY = Convert.ToUInt32(m_console.CmdPrompt("Start Region Y"));
125 134
126 System.Security.Cryptography.MD5CryptoServiceProvider x = new System.Security.Cryptography.MD5CryptoServiceProvider(); 135 tempMD5Passwd = Util.Md5Hash(Util.Md5Hash(tempMD5Passwd) + ":" + "");
127 byte[] bs = System.Text.Encoding.UTF8.GetBytes(tempMD5Passwd);
128 bs = x.ComputeHash(bs);
129 System.Text.StringBuilder s = new System.Text.StringBuilder();
130 foreach (byte b in bs)
131 {
132 s.Append(b.ToString("x2").ToLower());
133 }
134 tempMD5Passwd = s.ToString();
135 136
136 UserProfile newuser = m_userProfileManager.CreateNewProfile(tempfirstname, templastname, tempMD5Passwd); 137 m_userManager.AddUserProfile(tempfirstname, templastname, tempMD5Passwd, regX, regY);
137 newuser.homelookat = new LLVector3(-0.57343f, -0.819255f, 0f);
138 newuser.homepos = new LLVector3(128f, 128f, 150f);
139 m_userProfileManager.SaveUserProfiles();
140 break; 138 break;
141 */
142 } 139 }
143 } 140 }
144 141
@@ -162,6 +159,29 @@ namespace OpenGridServices.UserServer
162 } 159 }
163 } 160 }
164 161
162 private void ConfigDB(IGenericConfig configData)
163 {
164 try
165 {
166 string attri = "";
167 attri = configData.GetAttribute("DataBaseProvider");
168 if (attri == "")
169 {
170 StorageDll = "OpenGrid.Framework.Data.DB4o.dll";
171 configData.SetAttribute("DataBaseProvider", "OpenGrid.Framework.Data.DB4o.dll");
172 }
173 else
174 {
175 StorageDll = attri;
176 }
177 configData.Commit();
178 }
179 catch (Exception e)
180 {
181
182 }
183 }
184
165 private UserConfig LoadConfigDll(string dllName) 185 private UserConfig LoadConfigDll(string dllName)
166 { 186 {
167 Assembly pluginAssembly = Assembly.LoadFrom(dllName); 187 Assembly pluginAssembly = Assembly.LoadFrom(dllName);
diff --git a/OpenGridServices/OpenGridServices.UserServer/OpenGridServices.UserServer.csproj b/OpenGridServices/OpenGridServices.UserServer/OpenGridServices.UserServer.csproj
index 16a713b..1bd07fb 100644
--- a/OpenGridServices/OpenGridServices.UserServer/OpenGridServices.UserServer.csproj
+++ b/OpenGridServices/OpenGridServices.UserServer/OpenGridServices.UserServer.csproj
@@ -78,6 +78,10 @@
78 <HintPath>OpenSim.Framework.Console.dll</HintPath> 78 <HintPath>OpenSim.Framework.Console.dll</HintPath>
79 <Private>False</Private> 79 <Private>False</Private>
80 </Reference> 80 </Reference>
81 <Reference Include="OpenSim.GenericConfig.Xml" >
82 <HintPath>OpenSim.GenericConfig.Xml.dll</HintPath>
83 <Private>False</Private>
84 </Reference>
81 <Reference Include="OpenSim.Servers" > 85 <Reference Include="OpenSim.Servers" >
82 <HintPath>OpenSim.Servers.dll</HintPath> 86 <HintPath>OpenSim.Servers.dll</HintPath>
83 <Private>False</Private> 87 <Private>False</Private>
diff --git a/OpenGridServices/OpenGridServices.UserServer/OpenGridServices.UserServer.exe.build b/OpenGridServices/OpenGridServices.UserServer/OpenGridServices.UserServer.exe.build
index 7c5f7e7..5275ef4 100644
--- a/OpenGridServices/OpenGridServices.UserServer/OpenGridServices.UserServer.exe.build
+++ b/OpenGridServices/OpenGridServices.UserServer/OpenGridServices.UserServer.exe.build
@@ -23,13 +23,14 @@
23 <include name="System.dll" /> 23 <include name="System.dll" />
24 <include name="System.Data.dll" /> 24 <include name="System.Data.dll" />
25 <include name="System.Xml.dll" /> 25 <include name="System.Xml.dll" />
26 <include name="OpenSim.Framework.dll" /> 26 <include name="../../bin/OpenSim.Framework.dll" />
27 <include name="OpenSim.Framework.Console.dll" /> 27 <include name="../../bin/OpenSim.Framework.Console.dll" />
28 <include name="../../bin/OpenGrid.Framework.Data.dll" /> 28 <include name="../../bin/OpenGrid.Framework.Data.dll" />
29 <include name="OpenSim.Servers.dll" /> 29 <include name="../../bin/OpenSim.GenericConfig.Xml.dll" />
30 <include name="../../bin/OpenSim.Servers.dll" />
30 <include name="../../bin/libsecondlife.dll" /> 31 <include name="../../bin/libsecondlife.dll" />
31 <include name="../../bin/Db4objects.Db4o.dll" /> 32 <include name="../../bin/Db4objects.Db4o.dll" />
32 <include name="XMLRPC.dll" /> 33 <include name="../../bin/XMLRPC.dll" />
33 </references> 34 </references>
34 </csc> 35 </csc>
35 <echo message="Copying from [${project::get-base-directory()}/${build.dir}/] to [${project::get-base-directory()}/../../bin/" /> 36 <echo message="Copying from [${project::get-base-directory()}/${build.dir}/] to [${project::get-base-directory()}/../../bin/" />
diff --git a/OpenGridServices/OpenGridServices.UserServer/UserManager.cs b/OpenGridServices/OpenGridServices.UserServer/UserManager.cs
index a312445..fdda63b 100644
--- a/OpenGridServices/OpenGridServices.UserServer/UserManager.cs
+++ b/OpenGridServices/OpenGridServices.UserServer/UserManager.cs
@@ -53,6 +53,37 @@ namespace OpenGridServices.UserServer
53 } 53 }
54 54
55 /// <summary> 55 /// <summary>
56 ///
57 /// </summary>
58 /// <param name="user"></param>
59 public void AddUserProfile(string firstName, string lastName, string pass, uint regX, uint regY)
60 {
61 UserProfileData user = new UserProfileData();
62 user.homeLocation = new LLVector3(128, 128, 100);
63 user.UUID = LLUUID.Random();
64 user.username = firstName;
65 user.surname = lastName;
66 user.passwordHash = pass;
67 user.passwordSalt = "";
68 user.created = Util.UnixTimeSinceEpoch();
69 user.homeLookAt = new LLVector3(100, 100, 100);
70 user.homeRegion = Util.UIntsToLong((regX * 256), (regY * 256));
71
72 foreach (KeyValuePair<string, IUserData> plugin in _plugins)
73 {
74 try
75 {
76 plugin.Value.addNewUserProfile(user);
77
78 }
79 catch (Exception e)
80 {
81 OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Unable to find user via " + plugin.Key + "(" + e.ToString() + ")");
82 }
83 }
84 }
85
86 /// <summary>
56 /// Loads a user profile from a database by UUID 87 /// Loads a user profile from a database by UUID
57 /// </summary> 88 /// </summary>
58 /// <param name="uuid">The target UUID</param> 89 /// <param name="uuid">The target UUID</param>
diff --git a/OpenGridServices/OpenUser.Config/UserConfigDb4o/OpenUser.Config.UserConfigDb4o.dll.build b/OpenGridServices/OpenUser.Config/UserConfigDb4o/OpenUser.Config.UserConfigDb4o.dll.build
index 339c49a..2833bce 100644
--- a/OpenGridServices/OpenUser.Config/UserConfigDb4o/OpenUser.Config.UserConfigDb4o.dll.build
+++ b/OpenGridServices/OpenUser.Config/UserConfigDb4o/OpenUser.Config.UserConfigDb4o.dll.build
@@ -24,8 +24,8 @@
24 <include name="System.Xml.dll" /> 24 <include name="System.Xml.dll" />
25 <include name="../../../bin/libsecondlife.dll" /> 25 <include name="../../../bin/libsecondlife.dll" />
26 <include name="../../../bin/Db4objects.Db4o.dll" /> 26 <include name="../../../bin/Db4objects.Db4o.dll" />
27 <include name="OpenSim.Framework.dll" /> 27 <include name="../../../bin/OpenSim.Framework.dll" />
28 <include name="OpenSim.Framework.Console.dll" /> 28 <include name="../../../bin/OpenSim.Framework.Console.dll" />
29 </references> 29 </references>
30 </csc> 30 </csc>
31 <echo message="Copying from [${project::get-base-directory()}/${build.dir}/] to [${project::get-base-directory()}/../../../bin/" /> 31 <echo message="Copying from [${project::get-base-directory()}/${build.dir}/] to [${project::get-base-directory()}/../../../bin/" />