diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Data/MSSQL/MSSQLAuthenticationData.cs | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/OpenSim/Data/MSSQL/MSSQLAuthenticationData.cs b/OpenSim/Data/MSSQL/MSSQLAuthenticationData.cs index 801610a..1ae78c4 100644 --- a/OpenSim/Data/MSSQL/MSSQLAuthenticationData.cs +++ b/OpenSim/Data/MSSQL/MSSQLAuthenticationData.cs | |||
@@ -53,6 +53,7 @@ namespace OpenSim.Data.MSSQL | |||
53 | { | 53 | { |
54 | conn.Open(); | 54 | conn.Open(); |
55 | Migration m = new Migration(conn, GetType().Assembly, "AuthStore"); | 55 | Migration m = new Migration(conn, GetType().Assembly, "AuthStore"); |
56 | m_database = new MSSQLManager(m_ConnectionString); | ||
56 | m.Update(); | 57 | m.Update(); |
57 | } | 58 | } |
58 | } | 59 | } |
@@ -168,13 +169,14 @@ namespace OpenSim.Data.MSSQL | |||
168 | { | 169 | { |
169 | if (System.Environment.TickCount - m_LastExpire > 30000) | 170 | if (System.Environment.TickCount - m_LastExpire > 30000) |
170 | DoExpire(); | 171 | DoExpire(); |
171 | string sql = "insert into tokens (UUID, token, validity) values (@principalID, @token, date_add(now(), interval @lifetime minute))"; | 172 | |
173 | string sql = "insert into tokens (UUID, token, validity) values (@principalID, @token, @lifetime)"; | ||
172 | using (SqlConnection conn = new SqlConnection(m_ConnectionString)) | 174 | using (SqlConnection conn = new SqlConnection(m_ConnectionString)) |
173 | using (SqlCommand cmd = new SqlCommand(sql, conn)) | 175 | using (SqlCommand cmd = new SqlCommand(sql, conn)) |
174 | { | 176 | { |
175 | cmd.Parameters.Add(m_database.CreateParameter("@principalID", principalID)); | 177 | cmd.Parameters.Add(m_database.CreateParameter("@principalID", principalID)); |
176 | cmd.Parameters.Add(m_database.CreateParameter("@token", token)); | 178 | cmd.Parameters.Add(m_database.CreateParameter("@token", token)); |
177 | cmd.Parameters.Add(m_database.CreateParameter("@lifetime", lifetime)); | 179 | cmd.Parameters.Add(m_database.CreateParameter("@lifetime", DateTime.Now.AddMinutes(lifetime))); |
178 | conn.Open(); | 180 | conn.Open(); |
179 | 181 | ||
180 | if (cmd.ExecuteNonQuery() > 0) | 182 | if (cmd.ExecuteNonQuery() > 0) |
@@ -189,13 +191,15 @@ namespace OpenSim.Data.MSSQL | |||
189 | { | 191 | { |
190 | if (System.Environment.TickCount - m_LastExpire > 30000) | 192 | if (System.Environment.TickCount - m_LastExpire > 30000) |
191 | DoExpire(); | 193 | DoExpire(); |
192 | string sql = "update tokens set validity = date_add(now(), interval @lifetime minute) where UUID = @principalID and token = @token and validity > now()"; | 194 | |
195 | DateTime validDate = DateTime.Now.AddMinutes(lifetime); | ||
196 | string sql = "update tokens set validity = @validDate where UUID = @principalID and token = @token and validity > GetDate()"; | ||
193 | using (SqlConnection conn = new SqlConnection(m_ConnectionString)) | 197 | using (SqlConnection conn = new SqlConnection(m_ConnectionString)) |
194 | using (SqlCommand cmd = new SqlCommand(sql, conn)) | 198 | using (SqlCommand cmd = new SqlCommand(sql, conn)) |
195 | { | 199 | { |
196 | cmd.Parameters.Add(m_database.CreateParameter("@principalID", principalID)); | 200 | cmd.Parameters.Add(m_database.CreateParameter("@principalID", principalID)); |
197 | cmd.Parameters.Add(m_database.CreateParameter("@token", token)); | 201 | cmd.Parameters.Add(m_database.CreateParameter("@token", token)); |
198 | cmd.Parameters.Add(m_database.CreateParameter("@lifetime", lifetime)); | 202 | cmd.Parameters.Add(m_database.CreateParameter("@validDate", validDate)); |
199 | conn.Open(); | 203 | conn.Open(); |
200 | 204 | ||
201 | if (cmd.ExecuteNonQuery() > 0) | 205 | if (cmd.ExecuteNonQuery() > 0) |
@@ -208,11 +212,13 @@ namespace OpenSim.Data.MSSQL | |||
208 | 212 | ||
209 | private void DoExpire() | 213 | private void DoExpire() |
210 | { | 214 | { |
211 | string sql = "delete from tokens where validity < now()"; | 215 | DateTime currentDateTime = DateTime.Now; |
216 | string sql = "delete from tokens where validity < @currentDateTime"; | ||
212 | using (SqlConnection conn = new SqlConnection(m_ConnectionString)) | 217 | using (SqlConnection conn = new SqlConnection(m_ConnectionString)) |
213 | using (SqlCommand cmd = new SqlCommand(sql, conn)) | 218 | using (SqlCommand cmd = new SqlCommand(sql, conn)) |
214 | { | 219 | { |
215 | conn.Open(); | 220 | conn.Open(); |
221 | cmd.Parameters.Add(m_database.CreateParameter("@currentDateTime", currentDateTime)); | ||
216 | cmd.ExecuteNonQuery(); | 222 | cmd.ExecuteNonQuery(); |
217 | } | 223 | } |
218 | m_LastExpire = System.Environment.TickCount; | 224 | m_LastExpire = System.Environment.TickCount; |