aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Data/IPresenceData.cs2
-rw-r--r--OpenSim/Data/MSSQL/MSSQLPresenceData.cs12
-rw-r--r--OpenSim/Data/MySQL/MySQLPresenceData.cs9
-rw-r--r--OpenSim/Data/Null/NullPresenceData.cs11
4 files changed, 17 insertions, 17 deletions
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
53 bool ReportAgent(UUID sessionID, UUID regionID); 53 bool ReportAgent(UUID sessionID, UUID regionID);
54 PresenceData[] Get(string field, string data); 54 PresenceData[] Get(string field, string data);
55 bool Delete(string field, string val); 55 bool Delete(string field, string val);
56 PresenceData VerifyAgent(UUID secureSessionID); 56 bool VerifyAgent(UUID agentId, UUID secureSessionID);
57 } 57 }
58} 58}
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
100 return true; 100 return true;
101 } 101 }
102 102
103 public PresenceData VerifyAgent(UUID secureSessionID) 103 public bool VerifyAgent(UUID agentId, UUID secureSessionID)
104 { 104 {
105 PresenceData[] ret = Get("SecureSessionID", 105 PresenceData[] ret = Get("SecureSessionID",
106 secureSessionID.ToString()); 106 secureSessionID.ToString());
107 107
108 if (ret.Length == 0) 108 if (ret.Length == 0)
109 return null; 109 return false;
110 110
111 return ret[0]; 111 if(ret[0].UserID != agentId.ToString())
112 } 112 return false;
113 113
114 return true;
115 }
114 } 116 }
115} 117}
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
96 return true; 96 return true;
97 } 97 }
98 98
99 public PresenceData VerifyAgent(UUID secureSessionID) 99 public bool VerifyAgent(UUID agentId, UUID secureSessionID)
100 { 100 {
101 PresenceData[] ret = Get("SecureSessionID", 101 PresenceData[] ret = Get("SecureSessionID",
102 secureSessionID.ToString()); 102 secureSessionID.ToString());
103 103
104 if (ret.Length == 0) 104 if (ret.Length == 0)
105 return null; 105 return false;
106 106
107 return ret[0]; 107 if(ret[0].UserID != agentId.ToString())
108 return false;
109
110 return true;
108 } 111 }
109 } 112 }
110} \ No newline at end of file 113} \ 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
222 return true; 222 return true;
223 } 223 }
224 224
225 public PresenceData VerifyAgent(UUID secureSessionID) 225 public bool VerifyAgent(UUID agentId, UUID secureSessionID)
226 { 226 {
227 if (Instance != this) 227 if (Instance != this)
228 return Instance.VerifyAgent(secureSessionID); 228 return Instance.VerifyAgent(agentId, secureSessionID);
229 229
230 if (m_presenceData.ContainsKey(secureSessionID)) 230 return false;
231 {
232 return m_presenceData[secureSessionID];
233 }
234
235 return null;
236 } 231 }
237 232
238 } 233 }