diff --git a/OpenGrid.Framework.Data.MySQL/MySQLGridData.cs b/OpenGrid.Framework.Data.MySQL/MySQLGridData.cs index 7a788006e7..2ea2db4a0d 100644 --- a/OpenGrid.Framework.Data.MySQL/MySQLGridData.cs +++ b/OpenGrid.Framework.Data.MySQL/MySQLGridData.cs @@ -48,7 +48,9 @@ namespace OpenGrid.Framework.Data.MySQL if (throwHissyFit) throw new Exception("CRYPTOWEAK AUTHENTICATE: Refusing to authenticate due to replay potential."); - return true; + SimProfileData data = GetProfileByLLUUID(uuid); + + return (handle == data.regionHandle && authkey == data.regionSecret); } /// diff --git a/OpenGrid.Framework.Data.MySQL/MySQLManager.cs b/OpenGrid.Framework.Data.MySQL/MySQLManager.cs index ec69549b56..0147b5b68b 100644 --- a/OpenGrid.Framework.Data.MySQL/MySQLManager.cs +++ b/OpenGrid.Framework.Data.MySQL/MySQLManager.cs @@ -85,10 +85,10 @@ namespace OpenGrid.Framework.Data.MySQL // Region Server retval.regionDataURI = (string)reader["regionDataURI"]; - retval.regionOnline = false; - retval.serverIP = ""; - retval.serverPort = 0; - retval.serverURI = ""; + retval.regionOnline = false; // Needs to be pinged before this can be set. + retval.serverIP = (string)reader["serverIP"]; + retval.serverPort = (uint)reader["serverPort"]; + retval.serverURI = (string)reader["serverURI"]; // Location retval.regionLocX = (uint)((int)reader["locX"]); @@ -103,7 +103,7 @@ namespace OpenGrid.Framework.Data.MySQL } else { - return null; + throw new Exception("No rows to return"); } return retval; }