From 10f75f936e1322ea1e328799cfba08229d667a78 Mon Sep 17 00:00:00 2001 From: Adam Frisby Date: Fri, 4 May 2007 03:25:20 +0000 Subject: [PATCH] Committing OpenGrid.Framework.Data and MySql Adaptor - not in functional state yet, posted for reference and future use. --- .../MySQLGridData.cs | 51 +++++++++++ OpenGrid.Framework.Data.MySQL/MySQLManager.cs | 84 ++++++++++++++++++ .../OpenGrid.Framework.Data.MySQL.csproj | 62 +++++++++++++ .../Properties/AssemblyInfo.cs | 35 ++++++++ OpenGrid.Framework.Data/GridData.cs | 14 +++ .../OpenGrid.Framework.Data.csproj | 52 +++++++++++ .../Properties/AssemblyInfo.cs | 35 ++++++++ OpenGrid.Framework.Data/SimProfileData.cs | 65 ++++++++++++++ OpenGrid.Framework.Data/UserProfileData.cs | 33 +++++++ OpenGridServices.GridServer/SimProfiles.cs | 2 +- bin/MySql.Data.dll | Bin 0 -> 143360 bytes 11 files changed, 432 insertions(+), 1 deletion(-) create mode 100644 OpenGrid.Framework.Data.MySQL/MySQLGridData.cs create mode 100644 OpenGrid.Framework.Data.MySQL/MySQLManager.cs create mode 100644 OpenGrid.Framework.Data.MySQL/OpenGrid.Framework.Data.MySQL.csproj create mode 100644 OpenGrid.Framework.Data.MySQL/Properties/AssemblyInfo.cs create mode 100644 OpenGrid.Framework.Data/GridData.cs create mode 100644 OpenGrid.Framework.Data/OpenGrid.Framework.Data.csproj create mode 100644 OpenGrid.Framework.Data/Properties/AssemblyInfo.cs create mode 100644 OpenGrid.Framework.Data/SimProfileData.cs create mode 100644 OpenGrid.Framework.Data/UserProfileData.cs create mode 100644 bin/MySql.Data.dll diff --git a/OpenGrid.Framework.Data.MySQL/MySQLGridData.cs b/OpenGrid.Framework.Data.MySQL/MySQLGridData.cs new file mode 100644 index 0000000000..65a0fff408 --- /dev/null +++ b/OpenGrid.Framework.Data.MySQL/MySQLGridData.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OpenGrid.Framework.Data; + +namespace OpenGrid.Framework.Data.MySQL +{ + public class MySQLGridData : IGridData + { + MySQLManager database; + + public void Initialise() + { + database = new MySQLManager("localhost", "db", "user", "password", "false"); + } + public SimProfileData GetProfileByHandle(ulong handle) + { + return new SimProfileData(); + } + public SimProfileData GetProfileByLLUUID(libsecondlife.LLUUID uuid) + { + return new SimProfileData(); + } + public bool AuthenticateSim(libsecondlife.LLUUID uuid, ulong handle, string authkey) + { + throw new Exception("CRYPTOWEAK AUTHENTICATE: Refusing to authenticate due to replay potential."); + } + + /// + /// Provides a cryptographic authentication of a region + /// + /// This requires a security audit. + /// + /// + /// + /// + /// + public bool AuthenticateSim(libsecondlife.LLUUID uuid, ulong handle, string authhash, string challenge) + { + System.Security.Cryptography.SHA512Managed HashProvider = new System.Security.Cryptography.SHA512Managed(); + System.Text.ASCIIEncoding TextProvider = new ASCIIEncoding(); + + byte[] stream = TextProvider.GetBytes(uuid.ToStringHyphenated() + ":" + handle.ToString() + ":" + challenge); + byte[] hash = HashProvider.ComputeHash(stream); + + return false; + } + } + + +} diff --git a/OpenGrid.Framework.Data.MySQL/MySQLManager.cs b/OpenGrid.Framework.Data.MySQL/MySQLManager.cs new file mode 100644 index 0000000000..30ad3149ba --- /dev/null +++ b/OpenGrid.Framework.Data.MySQL/MySQLManager.cs @@ -0,0 +1,84 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Data; + +// MySQL Native +using MySql; +using MySql.Data; +using MySql.Data.Types; +using MySql.Data.MySqlClient; + +namespace OpenGrid.Framework.Data.MySQL +{ + class MySQLManager + { + IDbConnection dbcon; + + /// + /// Initialises and creates a new MySQL connection and maintains it. + /// + /// The MySQL server being connected to + /// The name of the MySQL database being used + /// The username logging into the database + /// The password for the user logging in + /// Whether to use connection pooling or not, can be one of the following: 'yes', 'true', 'no' or 'false', if unsure use 'false'. + public MySQLManager(string hostname, string database, string username, string password, string cpooling) + { + try + { + string connectionString = "Server=" + hostname + ";Database=" + database + ";User ID=" + username + ";Password=" + password + ";Pooling=" + cpooling + ";"; + dbcon = new MySqlConnection(connectionString); + + dbcon.Open(); + } + catch (Exception e) + { + throw new Exception("Error initialising MySql Database: " + e.ToString()); + } + } + + /// + /// Shuts down the database connection + /// + public void Close() + { + dbcon.Close(); + dbcon = null; + } + + /// + /// Runs a query with protection against SQL Injection by using parameterised input. + /// + /// The SQL string - replace any variables such as WHERE x = "y" with WHERE x = @y + /// The parameters - index so that @y is indexed as 'y' + /// A MySQL DB Command + public IDbCommand Query(string sql, Dictionary parameters) + { + MySqlCommand dbcommand = (MySqlCommand)dbcon.CreateCommand(); + dbcommand.CommandText = sql; + foreach (KeyValuePair param in parameters) + { + dbcommand.Parameters.Add(param.Key, param.Value); + } + + return (IDbCommand)dbcommand; + } + + public SimProfileData getRow(IDataReader reader) + { + SimProfileData retval = new SimProfileData(); + + if (reader.Read()) + { + //retval.regionDataURI = reader["regionDataURI"]; + + } + else + { + return null; + } + return retval; + } + } +} diff --git a/OpenGrid.Framework.Data.MySQL/OpenGrid.Framework.Data.MySQL.csproj b/OpenGrid.Framework.Data.MySQL/OpenGrid.Framework.Data.MySQL.csproj new file mode 100644 index 0000000000..dfb6e48a83 --- /dev/null +++ b/OpenGrid.Framework.Data.MySQL/OpenGrid.Framework.Data.MySQL.csproj @@ -0,0 +1,62 @@ + + + Debug + AnyCPU + 8.0.50727 + 2.0 + {66164B45-4821-48E4-9399-14FE2D92D854} + Library + Properties + OpenGrid.Framework.Data.MySQL + OpenGrid.Framework.Data.MySQL + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\bin\libsecondlife.dll + + + False + ..\bin\MySql.Data.dll + + + + + + + + + + + + + {70E6CBC5-2DD0-44F1-87B8-2CFB2458EDE9} + OpenGrid.Framework.Data + + + + + \ No newline at end of file diff --git a/OpenGrid.Framework.Data.MySQL/Properties/AssemblyInfo.cs b/OpenGrid.Framework.Data.MySQL/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..0bfd1d67bb --- /dev/null +++ b/OpenGrid.Framework.Data.MySQL/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("OpenGrid.Framework.Data.MySQL")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("OpenGrid.Framework.Data.MySQL")] +[assembly: AssemblyCopyright("Copyright © 2007")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("e49826b2-dcef-41be-a5bd-596733fa3304")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenGrid.Framework.Data/GridData.cs b/OpenGrid.Framework.Data/GridData.cs new file mode 100644 index 0000000000..9bc2ce3565 --- /dev/null +++ b/OpenGrid.Framework.Data/GridData.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OpenGrid.Framework.Data +{ + public interface IGridData + { + SimProfileData GetProfileByHandle(ulong regionHandle); + SimProfileData GetProfileByLLUUID(libsecondlife.LLUUID UUID); + bool AuthenticateSim(libsecondlife.LLUUID UUID, ulong regionHandle, string simrecvkey); + void Initialise(); + } +} diff --git a/OpenGrid.Framework.Data/OpenGrid.Framework.Data.csproj b/OpenGrid.Framework.Data/OpenGrid.Framework.Data.csproj new file mode 100644 index 0000000000..2be7ea9149 --- /dev/null +++ b/OpenGrid.Framework.Data/OpenGrid.Framework.Data.csproj @@ -0,0 +1,52 @@ + + + Debug + AnyCPU + 8.0.50727 + 2.0 + {70E6CBC5-2DD0-44F1-87B8-2CFB2458EDE9} + Library + Properties + OpenGrid.Framework.Data + OpenGrid.Framework.Data + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\bin\libsecondlife.dll + + + + + + + + + + + + + \ No newline at end of file diff --git a/OpenGrid.Framework.Data/Properties/AssemblyInfo.cs b/OpenGrid.Framework.Data/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..14466732e1 --- /dev/null +++ b/OpenGrid.Framework.Data/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("OpenGrid.Framework.Data")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("OpenGrid.Framework.Data")] +[assembly: AssemblyCopyright("Copyright © 2007")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("3a711c34-b0c0-4264-b0fe-f366eabf9d7b")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenGrid.Framework.Data/SimProfileData.cs b/OpenGrid.Framework.Data/SimProfileData.cs new file mode 100644 index 0000000000..a7018758a3 --- /dev/null +++ b/OpenGrid.Framework.Data/SimProfileData.cs @@ -0,0 +1,65 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OpenGrid.Framework.Data +{ + public class SimProfileData + { + /// + /// The name of the region + /// + public string regionName; + + /// + /// A 64-bit number combining map position into a (mostly) unique ID + /// + public ulong regionHandle; + + /// + /// OGS/OpenSim Specific ID for a region + /// + public libsecondlife.LLUUID UUID; + + /// + /// Coordinates of the region + /// + public uint regionLocX; + public uint regionLocY; + public uint regionLocZ; // Reserved (round-robin, layers, etc) + + /// + /// Authentication secrets + /// + /// Not very secure, needs improvement. + public string regionSendKey; + public string regionRecvKey; + public string regionSecret; + + /// + /// Whether the region is online + /// + public bool regionOnline; + + /// + /// Information about the server that the region is currently hosted on + /// + public string serverIP; + public uint serverPort; + public string serverURI; + + /// + /// Set of optional overrides. Can be used to create non-eulicidean spaces. + /// + public ulong regionNorthOverrideHandle; + public ulong regionSouthOverrideHandle; + public ulong regionEastOverrideHandle; + public ulong regionWestOverrideHandle; + + /// + /// Optional: URI Location of the region database + /// + /// Used for floating sim pools where the region data is not nessecarily coupled to a specific server + public string regionDataURI; + } +} diff --git a/OpenGrid.Framework.Data/UserProfileData.cs b/OpenGrid.Framework.Data/UserProfileData.cs new file mode 100644 index 0000000000..d99394e791 --- /dev/null +++ b/OpenGrid.Framework.Data/UserProfileData.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.Text; +using libsecondlife; + +namespace OpenGrid.Framework.Data +{ + public class UserProfileData + { + string username; // The configurable part of the users username + string surname; // The users surname (can be used to indicate user class - eg 'Test User' or 'Test Admin') + + ulong homeRegion; // RegionHandle of home + LLVector3 homeLocation; // Home Location inside the sim + + int created; // UNIX Epoch Timestamp (User Creation) + int lastLogin; // UNIX Epoch Timestamp (Last Login Time) + + string userInventoryURI; // URI to inventory server for this user + string userAssetURI; // URI to asset server for this user + + uint profileCanDoMask; // Profile window "I can do" mask + uint profileWantDoMask; // Profile window "I want to" mask + + string profileAboutText; // My about window text + string profileFirstText; // First Life Text + + LLUUID profileImage; // My avatars profile image + LLUUID profileFirstImage; // First-life image + + + } +} diff --git a/OpenGridServices.GridServer/SimProfiles.cs b/OpenGridServices.GridServer/SimProfiles.cs index ae40133ec4..6e228aeb42 100644 --- a/OpenGridServices.GridServer/SimProfiles.cs +++ b/OpenGridServices.GridServer/SimProfiles.cs @@ -278,7 +278,7 @@ namespace OpenGridServices.GridServer } catch (Exception e) { - return "ERROR! could not save to database!"; + return "ERROR! could not save to database! (" + e.ToString() + ")"; } } diff --git a/bin/MySql.Data.dll b/bin/MySql.Data.dll new file mode 100644 index 0000000000000000000000000000000000000000..0467dd6c9a4b018594b05eabe55a119138a17dc0 GIT binary patch literal 143360 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ðpUzz2Fs;JZ4b1O*Y+$! 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 hEd7*{ji+LJU7Fh16k;_PJkJ(fRX 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 mu#bU#4D4fI9|QXs*vG&=2KF(qkAZy*>|