diff options
Diffstat (limited to 'OpenGridServices/OpenGridServices.UserServer')
4 files changed, 78 insertions, 22 deletions
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; | |||
40 | using OpenSim.Framework.Interfaces; | 40 | using OpenSim.Framework.Interfaces; |
41 | using OpenSim.Framework.Console; | 41 | using OpenSim.Framework.Console; |
42 | using OpenSim.Servers; | 42 | using OpenSim.Servers; |
43 | using OpenSim.Framework.Utilities; | ||
44 | using OpenSim.GenericConfig; | ||
43 | 45 | ||
44 | namespace OpenGridServices.UserServer | 46 | namespace 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> |