From e1aa83e965440b3e830d599e18ff078104e8a886 Mon Sep 17 00:00:00 2001 From: Teravus Ovares Date: Wed, 9 Jan 2008 04:13:04 +0000 Subject: * Added a hashtable based HTTP processor in preparation of the web_login_key * Added the web_login_key to the users table * Added happy configurable http error message pages * This update is large enough to have 'awe' value.. so backup your users or weep. * Not tested on MSSQL, even though I added code to update the tables! --- OpenSim/Framework/Data.MSSQL/MSSQLManager.cs | 24 +++++++++++++++++++--- OpenSim/Framework/Data.MSSQL/MSSQLUserData.cs | 2 +- .../Framework/Data.MSSQL/Resources/Mssql-users.sql | 1 + 3 files changed, 23 insertions(+), 4 deletions(-) (limited to 'OpenSim/Framework/Data.MSSQL') diff --git a/OpenSim/Framework/Data.MSSQL/MSSQLManager.cs b/OpenSim/Framework/Data.MSSQL/MSSQLManager.cs index 0dc3338..bf57492 100644 --- a/OpenSim/Framework/Data.MSSQL/MSSQLManager.cs +++ b/OpenSim/Framework/Data.MSSQL/MSSQLManager.cs @@ -95,6 +95,22 @@ namespace OpenSim.Framework.Data.MSSQL MainLog.Instance.Verbose("DATASTORE", "MSSQL Database doesn't exist... creating"); InitDB(conn); } + cmd = Query("select top 1 webLoginKey from users", new Dictionary()); + try + { + conn.Open(); + cmd.ExecuteNonQuery(); + cmd.Dispose(); + conn.Close(); + } + catch (Exception) + { + conn.Open(); + cmd = Query("alter table users add column [webLoginKey] varchar(36) default NULL", new Dictionary()); + cmd.ExecuteNonQuery(); + cmd.Dispose(); + conn.Close(); + } return true; } @@ -380,6 +396,7 @@ namespace OpenSim.Framework.Data.MSSQL retval.profileImage = new LLUUID((string) reader["profileImage"]); retval.profileFirstImage = new LLUUID((string) reader["profileFirstImage"]); + retval.webLoginKey = new LLUUID((string)reader["webLoginKey"]); } else { @@ -595,7 +612,7 @@ namespace OpenSim.Framework.Data.MSSQL float homeLookAtX, float homeLookAtY, float homeLookAtZ, int created, int lastlogin, string inventoryURI, string assetURI, uint canDoMask, uint wantDoMask, string aboutText, string firstText, - LLUUID profileImage, LLUUID firstImage) + LLUUID profileImage, LLUUID firstImage, LLUUID webLoginKey) { string sql = "INSERT INTO users "; sql += "([UUID], [username], [lastname], [passwordHash], [passwordSalt], [homeRegion], "; @@ -603,14 +620,14 @@ namespace OpenSim.Framework.Data.MSSQL "[homeLocationX], [homeLocationY], [homeLocationZ], [homeLookAtX], [homeLookAtY], [homeLookAtZ], [created], "; sql += "[lastLogin], [userInventoryURI], [userAssetURI], [profileCanDoMask], [profileWantDoMask], [profileAboutText], "; - sql += "[profileFirstText], [profileImage], [profileFirstImage]) VALUES "; + sql += "[profileFirstText], [profileImage], [profileFirstImage], [webLoginKey]) VALUES "; sql += "(@UUID, @username, @lastname, @passwordHash, @passwordSalt, @homeRegion, "; sql += "@homeLocationX, @homeLocationY, @homeLocationZ, @homeLookAtX, @homeLookAtY, @homeLookAtZ, @created, "; sql += "@lastLogin, @userInventoryURI, @userAssetURI, @profileCanDoMask, @profileWantDoMask, @profileAboutText, "; - sql += "@profileFirstText, @profileImage, @profileFirstImage);"; + sql += "@profileFirstText, @profileImage, @profileFirstImage, @webLoginKey);"; Dictionary parameters = new Dictionary(); parameters["UUID"] = uuid.ToString(); @@ -635,6 +652,7 @@ namespace OpenSim.Framework.Data.MSSQL parameters["profileFirstText"] = ""; parameters["profileImage"] = LLUUID.Zero.ToString(); parameters["profileFirstImage"] = LLUUID.Zero.ToString(); + parameters["webLoginKey"] = LLUUID.Random().ToString(); bool returnval = false; diff --git a/OpenSim/Framework/Data.MSSQL/MSSQLUserData.cs b/OpenSim/Framework/Data.MSSQL/MSSQLUserData.cs index f8a951e..db3c1d6 100644 --- a/OpenSim/Framework/Data.MSSQL/MSSQLUserData.cs +++ b/OpenSim/Framework/Data.MSSQL/MSSQLUserData.cs @@ -315,7 +315,7 @@ namespace OpenSim.Framework.Data.MSSQL user.lastLogin, user.userInventoryURI, user.userAssetURI, user.profileCanDoMask, user.profileWantDoMask, user.profileAboutText, user.profileFirstText, user.profileImage, - user.profileFirstImage); + user.profileFirstImage,user.webLoginKey); } } catch (Exception e) diff --git a/OpenSim/Framework/Data.MSSQL/Resources/Mssql-users.sql b/OpenSim/Framework/Data.MSSQL/Resources/Mssql-users.sql index 3f5f896..abcc091 100644 --- a/OpenSim/Framework/Data.MSSQL/Resources/Mssql-users.sql +++ b/OpenSim/Framework/Data.MSSQL/Resources/Mssql-users.sql @@ -27,6 +27,7 @@ CREATE TABLE [users] ( [profileFirstText] [ntext], [profileImage] [varchar](36) default NULL, [profileFirstImage] [varchar](36) default NULL, + [webLoginKey] [varchar](36) default NULL, PRIMARY KEY CLUSTERED ( [UUID] ASC -- cgit v1.1