From 8efae93b51082e0af9048306ffa8ca82586969af Mon Sep 17 00:00:00 2001
From: BlueWall
Date: Sun, 9 Dec 2012 15:08:32 -0500
Subject: Restrict IPresenceData.VerifyAgent

  Restrict IPresenceData.VerifyAgent to only return bool result
---
 OpenSim/Data/IPresenceData.cs           |  2 +-
 OpenSim/Data/MSSQL/MSSQLPresenceData.cs | 12 +++++++-----
 OpenSim/Data/MySQL/MySQLPresenceData.cs |  9 ++++++---
 OpenSim/Data/Null/NullPresenceData.cs   | 11 +++--------
 4 files changed, 17 insertions(+), 17 deletions(-)

(limited to 'OpenSim/Data')

diff --git a/OpenSim/Data/IPresenceData.cs b/OpenSim/Data/IPresenceData.cs
index 2759a42..9ec48b0 100644
--- a/OpenSim/Data/IPresenceData.cs
+++ b/OpenSim/Data/IPresenceData.cs
@@ -53,6 +53,6 @@ namespace OpenSim.Data
         bool ReportAgent(UUID sessionID, UUID regionID);
         PresenceData[] Get(string field, string data);
         bool Delete(string field, string val);
-        PresenceData VerifyAgent(UUID secureSessionID);
+        bool VerifyAgent(UUID agentId, UUID secureSessionID);
     }
 }
diff --git a/OpenSim/Data/MSSQL/MSSQLPresenceData.cs b/OpenSim/Data/MSSQL/MSSQLPresenceData.cs
index 5f495ae..0c71e79 100644
--- a/OpenSim/Data/MSSQL/MSSQLPresenceData.cs
+++ b/OpenSim/Data/MSSQL/MSSQLPresenceData.cs
@@ -100,16 +100,18 @@ namespace OpenSim.Data.MSSQL
             return true;
         }
 
-        public PresenceData VerifyAgent(UUID secureSessionID)
+        public bool VerifyAgent(UUID agentId, UUID secureSessionID)
         {
             PresenceData[] ret = Get("SecureSessionID",
                     secureSessionID.ToString());
-
+            
             if (ret.Length == 0)
-                return null;
+                return false;
 
-            return ret[0];
-        }
+            if(ret[0].UserID != agentId.ToString())
+                return false;
 
+            return true;
+        }
     }
 }
diff --git a/OpenSim/Data/MySQL/MySQLPresenceData.cs b/OpenSim/Data/MySQL/MySQLPresenceData.cs
index 577a71a..3f90639 100644
--- a/OpenSim/Data/MySQL/MySQLPresenceData.cs
+++ b/OpenSim/Data/MySQL/MySQLPresenceData.cs
@@ -96,15 +96,18 @@ namespace OpenSim.Data.MySQL
             return true;
         }
 
-        public PresenceData VerifyAgent(UUID secureSessionID)
+        public bool VerifyAgent(UUID agentId, UUID secureSessionID)
         {
             PresenceData[] ret = Get("SecureSessionID",
                     secureSessionID.ToString());
 
             if (ret.Length == 0)
-                return null;
+                return false;
 
-            return ret[0];
+            if(ret[0].UserID != agentId.ToString())
+                return false;
+
+            return true;
         }
     }
 }
\ No newline at end of file
diff --git a/OpenSim/Data/Null/NullPresenceData.cs b/OpenSim/Data/Null/NullPresenceData.cs
index eafde95..b85b95e 100644
--- a/OpenSim/Data/Null/NullPresenceData.cs
+++ b/OpenSim/Data/Null/NullPresenceData.cs
@@ -222,17 +222,12 @@ namespace OpenSim.Data.Null
             return true;
         }
 
-        public PresenceData VerifyAgent(UUID secureSessionID)
+        public bool VerifyAgent(UUID agentId, UUID secureSessionID)
         {
             if (Instance != this)
-                return Instance.VerifyAgent(secureSessionID);
+                return Instance.VerifyAgent(agentId, secureSessionID);
 
-            if (m_presenceData.ContainsKey(secureSessionID))
-            {
-                return m_presenceData[secureSessionID];
-            }
-
-            return null;
+            return false;
         }
 
     }
-- 
cgit v1.1