diff options
author | Melanie | 2012-09-27 15:46:35 +0100 |
---|---|---|
committer | Melanie | 2012-09-27 15:46:35 +0100 |
commit | 637f5440feaa1b00e3b06644afe85f83b5a9394e (patch) | |
tree | 9355f991b903d97c7089e78a5be82510f846de8b | |
parent | Merge commit 'ddd9384b3901f532243c1e8018334385b84290d1' into careminster (diff) | |
parent | Use GridUser properly for foreign users. (diff) | |
download | opensim-SC-637f5440feaa1b00e3b06644afe85f83b5a9394e.zip opensim-SC-637f5440feaa1b00e3b06644afe85f83b5a9394e.tar.gz opensim-SC-637f5440feaa1b00e3b06644afe85f83b5a9394e.tar.bz2 opensim-SC-637f5440feaa1b00e3b06644afe85f83b5a9394e.tar.xz |
Merge commit '3c77b8f463a852aecf3cb29fe4e5f4614f474dbf' into careminster
12 files changed, 147 insertions, 19 deletions
diff --git a/OpenSim/Data/MySQL/Resources/GridUserStore.migrations b/OpenSim/Data/MySQL/Resources/GridUserStore.migrations index 32b85ee..440d076 100644 --- a/OpenSim/Data/MySQL/Resources/GridUserStore.migrations +++ b/OpenSim/Data/MySQL/Resources/GridUserStore.migrations | |||
@@ -17,3 +17,11 @@ CREATE TABLE `GridUser` ( | |||
17 | ) ENGINE=InnoDB; | 17 | ) ENGINE=InnoDB; |
18 | 18 | ||
19 | COMMIT; | 19 | COMMIT; |
20 | |||
21 | :VERSION 2 # -------------------------- | ||
22 | |||
23 | BEGIN; | ||
24 | |||
25 | ALTER TABLE `GridUser` ADD COLUMN TOS CHAR(36); | ||
26 | |||
27 | COMMIT; | ||
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs index a1d8d5a..a5c4584 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs | |||
@@ -106,7 +106,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
106 | return m_ExportedAppearances; | 106 | return m_ExportedAppearances; |
107 | } | 107 | } |
108 | } | 108 | } |
109 | |||
110 | 109 | ||
111 | #region ISharedRegionModule | 110 | #region ISharedRegionModule |
112 | 111 | ||
@@ -149,9 +148,10 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
149 | base.AddRegion(scene); | 148 | base.AddRegion(scene); |
150 | 149 | ||
151 | if (m_Enabled) | 150 | if (m_Enabled) |
151 | { | ||
152 | scene.RegisterModuleInterface<IUserAgentVerificationModule>(this); | 152 | scene.RegisterModuleInterface<IUserAgentVerificationModule>(this); |
153 | 153 | scene.EventManager.OnIncomingSceneObject += OnIncomingSceneObject; | |
154 | scene.EventManager.OnIncomingSceneObject += OnIncomingSceneObject; | 154 | } |
155 | } | 155 | } |
156 | 156 | ||
157 | void OnIncomingSceneObject(SceneObjectGroup so) | 157 | void OnIncomingSceneObject(SceneObjectGroup so) |
@@ -245,6 +245,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
245 | { | 245 | { |
246 | // Log them out of this grid | 246 | // Log them out of this grid |
247 | Scene.PresenceService.LogoutAgent(sp.ControllingClient.SessionId); | 247 | Scene.PresenceService.LogoutAgent(sp.ControllingClient.SessionId); |
248 | string userId = Scene.UserManagementModule.GetUserUUI(sp.UUID); | ||
249 | Scene.GridUserService.LoggedOut(userId, UUID.Zero, Scene.RegionInfo.RegionID, sp.AbsolutePosition, sp.Lookat); | ||
248 | } | 250 | } |
249 | } | 251 | } |
250 | 252 | ||
diff --git a/OpenSim/Region/CoreModules/Framework/UserManagement/HGUserManagementModule.cs b/OpenSim/Region/CoreModules/Framework/UserManagement/HGUserManagementModule.cs index 4eecaa2..acefc97 100644 --- a/OpenSim/Region/CoreModules/Framework/UserManagement/HGUserManagementModule.cs +++ b/OpenSim/Region/CoreModules/Framework/UserManagement/HGUserManagementModule.cs | |||
@@ -137,6 +137,9 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement | |||
137 | ud.FirstName = words[0]; | 137 | ud.FirstName = words[0]; |
138 | ud.LastName = "@" + words[1]; | 138 | ud.LastName = "@" + words[1]; |
139 | users.Add(ud); | 139 | users.Add(ud); |
140 | // WARNING! that uriStr is not quite right... it may be missing the / at the end, | ||
141 | // which will cause trouble (duplicate entries on some tables). We should | ||
142 | // get the UUI instead from the UAS. TO BE FIXED. | ||
140 | AddUser(userID, names[0], names[1], uriStr); | 143 | AddUser(userID, names[0], names[1], uriStr); |
141 | m_log.DebugFormat("[USER MANAGEMENT MODULE]: User {0}@{1} found", words[0], words[1]); | 144 | m_log.DebugFormat("[USER MANAGEMENT MODULE]: User {0}@{1} found", words[0], words[1]); |
142 | } | 145 | } |
diff --git a/OpenSim/Region/CoreModules/Framework/UserManagement/UserManagementModule.cs b/OpenSim/Region/CoreModules/Framework/UserManagement/UserManagementModule.cs index f4ed67b..36c84c7 100644 --- a/OpenSim/Region/CoreModules/Framework/UserManagement/UserManagementModule.cs +++ b/OpenSim/Region/CoreModules/Framework/UserManagement/UserManagementModule.cs | |||
@@ -429,8 +429,7 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement | |||
429 | 429 | ||
430 | public void AddUser(UUID uuid, string first, string last, string homeURL) | 430 | public void AddUser(UUID uuid, string first, string last, string homeURL) |
431 | { | 431 | { |
432 | // m_log.DebugFormat("[USER MANAGEMENT MODULE]: Adding user with id {0}, first {1}, last {2}, url {3}", uuid, first, last, homeURL); | 432 | //m_log.DebugFormat("[USER MANAGEMENT MODULE]: Adding user with id {0}, first {1}, last {2}, url {3}", uuid, first, last, homeURL); |
433 | |||
434 | AddUser(uuid, homeURL + ";" + first + " " + last); | 433 | AddUser(uuid, homeURL + ";" + first + " " + last); |
435 | } | 434 | } |
436 | 435 | ||
@@ -553,8 +552,8 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement | |||
553 | MainConsole.Instance.Output("-----------------------------------------------------------------------------"); | 552 | MainConsole.Instance.Output("-----------------------------------------------------------------------------"); |
554 | foreach (KeyValuePair<UUID, UserData> kvp in m_UserCache) | 553 | foreach (KeyValuePair<UUID, UserData> kvp in m_UserCache) |
555 | { | 554 | { |
556 | MainConsole.Instance.Output(String.Format("{0} {1} {2}", | 555 | MainConsole.Instance.Output(String.Format("{0} {1} {2} ({3})", |
557 | kvp.Key, kvp.Value.FirstName, kvp.Value.LastName)); | 556 | kvp.Key, kvp.Value.FirstName, kvp.Value.LastName, kvp.Value.HomeURL)); |
558 | } | 557 | } |
559 | 558 | ||
560 | return; | 559 | return; |
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/GridUser/ActivityDetector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/GridUser/ActivityDetector.cs index b0edce7..221f815 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/GridUser/ActivityDetector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/GridUser/ActivityDetector.cs | |||
@@ -65,11 +65,13 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.GridUser | |||
65 | 65 | ||
66 | public void OnMakeRootAgent(ScenePresence sp) | 66 | public void OnMakeRootAgent(ScenePresence sp) |
67 | { | 67 | { |
68 | // m_log.DebugFormat("[ACTIVITY DETECTOR]: Detected root presence {0} in {1}", sp.UUID, sp.Scene.RegionInfo.RegionName); | ||
69 | |||
70 | if (sp.PresenceType != PresenceType.Npc) | 68 | if (sp.PresenceType != PresenceType.Npc) |
69 | { | ||
70 | string userid = sp.Scene.UserManagementModule.GetUserUUI(sp.UUID); | ||
71 | //m_log.DebugFormat("[ACTIVITY DETECTOR]: Detected root presence {0} in {1}", userid, sp.Scene.RegionInfo.RegionName); | ||
71 | m_GridUserService.SetLastPosition( | 72 | m_GridUserService.SetLastPosition( |
72 | sp.UUID.ToString(), UUID.Zero, sp.Scene.RegionInfo.RegionID, sp.AbsolutePosition, sp.Lookat); | 73 | userid, UUID.Zero, sp.Scene.RegionInfo.RegionID, sp.AbsolutePosition, sp.Lookat); |
74 | } | ||
73 | } | 75 | } |
74 | 76 | ||
75 | public void OnNewClient(IClientAPI client) | 77 | public void OnNewClient(IClientAPI client) |
@@ -82,9 +84,16 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.GridUser | |||
82 | if (client.SceneAgent.IsChildAgent) | 84 | if (client.SceneAgent.IsChildAgent) |
83 | return; | 85 | return; |
84 | 86 | ||
85 | // m_log.DebugFormat("[ACTIVITY DETECTOR]: Detected client logout {0} in {1}", client.AgentId, client.Scene.RegionInfo.RegionName); | 87 | string userId = client.AgentId.ToString(); |
88 | if (client.Scene is Scene) | ||
89 | { | ||
90 | Scene s = (Scene)client.Scene; | ||
91 | userId = s.UserManagementModule.GetUserUUI(client.AgentId); | ||
92 | } | ||
93 | //m_log.DebugFormat("[ACTIVITY DETECTOR]: Detected client logout {0} in {1}", userId, client.Scene.RegionInfo.RegionName); | ||
94 | |||
86 | m_GridUserService.LoggedOut( | 95 | m_GridUserService.LoggedOut( |
87 | client.AgentId.ToString(), client.SessionId, client.Scene.RegionInfo.RegionID, | 96 | userId, client.SessionId, client.Scene.RegionInfo.RegionID, |
88 | client.SceneAgent.AbsolutePosition, client.SceneAgent.Lookat); | 97 | client.SceneAgent.AbsolutePosition, client.SceneAgent.Lookat); |
89 | } | 98 | } |
90 | } | 99 | } |
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/GridUser/RemoteGridUserServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/GridUser/RemoteGridUserServiceConnector.cs index badb552..04acf67 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/GridUser/RemoteGridUserServiceConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/GridUser/RemoteGridUserServiceConnector.cs | |||
@@ -44,6 +44,9 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.GridUser | |||
44 | { | 44 | { |
45 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 45 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
46 | 46 | ||
47 | private const int KEEPTIME = 30; // 30 secs | ||
48 | private ExpiringCache<string, GridUserInfo> m_Infos = new ExpiringCache<string, GridUserInfo>(); | ||
49 | |||
47 | #region ISharedRegionModule | 50 | #region ISharedRegionModule |
48 | 51 | ||
49 | private bool m_Enabled = false; | 52 | private bool m_Enabled = false; |
@@ -128,23 +131,60 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.GridUser | |||
128 | 131 | ||
129 | public bool LoggedOut(string userID, UUID sessionID, UUID region, Vector3 position, Vector3 lookat) | 132 | public bool LoggedOut(string userID, UUID sessionID, UUID region, Vector3 position, Vector3 lookat) |
130 | { | 133 | { |
134 | if (m_Infos.Contains(userID)) | ||
135 | m_Infos.Remove(userID); | ||
136 | |||
131 | return m_RemoteConnector.LoggedOut(userID, sessionID, region, position, lookat); | 137 | return m_RemoteConnector.LoggedOut(userID, sessionID, region, position, lookat); |
132 | } | 138 | } |
133 | 139 | ||
134 | 140 | ||
135 | public bool SetHome(string userID, UUID regionID, Vector3 position, Vector3 lookAt) | 141 | public bool SetHome(string userID, UUID regionID, Vector3 position, Vector3 lookAt) |
136 | { | 142 | { |
137 | return m_RemoteConnector.SetHome(userID, regionID, position, lookAt); | 143 | if (m_RemoteConnector.SetHome(userID, regionID, position, lookAt)) |
144 | { | ||
145 | // Update the cache too | ||
146 | GridUserInfo info = null; | ||
147 | if (m_Infos.TryGetValue(userID, out info)) | ||
148 | { | ||
149 | info.HomeRegionID = regionID; | ||
150 | info.HomePosition = position; | ||
151 | info.HomeLookAt = lookAt; | ||
152 | } | ||
153 | return true; | ||
154 | } | ||
155 | |||
156 | return false; | ||
138 | } | 157 | } |
139 | 158 | ||
140 | public bool SetLastPosition(string userID, UUID sessionID, UUID regionID, Vector3 position, Vector3 lookAt) | 159 | public bool SetLastPosition(string userID, UUID sessionID, UUID regionID, Vector3 position, Vector3 lookAt) |
141 | { | 160 | { |
142 | return m_RemoteConnector.SetLastPosition(userID, sessionID, regionID, position, lookAt); | 161 | if (m_RemoteConnector.SetLastPosition(userID, sessionID, regionID, position, lookAt)) |
162 | { | ||
163 | // Update the cache too | ||
164 | GridUserInfo info = null; | ||
165 | if (m_Infos.TryGetValue(userID, out info)) | ||
166 | { | ||
167 | info.LastRegionID = regionID; | ||
168 | info.LastPosition = position; | ||
169 | info.LastLookAt = lookAt; | ||
170 | } | ||
171 | return true; | ||
172 | } | ||
173 | |||
174 | return false; | ||
143 | } | 175 | } |
144 | 176 | ||
145 | public GridUserInfo GetGridUserInfo(string userID) | 177 | public GridUserInfo GetGridUserInfo(string userID) |
146 | { | 178 | { |
147 | return m_RemoteConnector.GetGridUserInfo(userID); | 179 | GridUserInfo info = null; |
180 | if (m_Infos.TryGetValue(userID, out info)) | ||
181 | return info; | ||
182 | |||
183 | info = m_RemoteConnector.GetGridUserInfo(userID); | ||
184 | |||
185 | m_Infos.AddOrUpdate(userID, info, KEEPTIME); | ||
186 | |||
187 | return info; | ||
148 | } | 188 | } |
149 | 189 | ||
150 | public GridUserInfo[] GetGridUserInfo(string[] userID) | 190 | public GridUserInfo[] GetGridUserInfo(string[] userID) |
diff --git a/OpenSim/Services/HypergridService/GatekeeperService.cs b/OpenSim/Services/HypergridService/GatekeeperService.cs index 0f7d7c6..004311f 100644 --- a/OpenSim/Services/HypergridService/GatekeeperService.cs +++ b/OpenSim/Services/HypergridService/GatekeeperService.cs | |||
@@ -57,6 +57,7 @@ namespace OpenSim.Services.HypergridService | |||
57 | private static IUserAccountService m_UserAccountService; | 57 | private static IUserAccountService m_UserAccountService; |
58 | private static IUserAgentService m_UserAgentService; | 58 | private static IUserAgentService m_UserAgentService; |
59 | private static ISimulationService m_SimulationService; | 59 | private static ISimulationService m_SimulationService; |
60 | private static IGridUserService m_GridUserService; | ||
60 | 61 | ||
61 | private static string m_AllowedClients = string.Empty; | 62 | private static string m_AllowedClients = string.Empty; |
62 | private static string m_DeniedClients = string.Empty; | 63 | private static string m_DeniedClients = string.Empty; |
@@ -84,8 +85,9 @@ namespace OpenSim.Services.HypergridService | |||
84 | string gridService = serverConfig.GetString("GridService", String.Empty); | 85 | string gridService = serverConfig.GetString("GridService", String.Empty); |
85 | string presenceService = serverConfig.GetString("PresenceService", String.Empty); | 86 | string presenceService = serverConfig.GetString("PresenceService", String.Empty); |
86 | string simulationService = serverConfig.GetString("SimulationService", String.Empty); | 87 | string simulationService = serverConfig.GetString("SimulationService", String.Empty); |
88 | string gridUserService = serverConfig.GetString("GridUserService", String.Empty); | ||
87 | 89 | ||
88 | // These 3 are mandatory, the others aren't | 90 | // These are mandatory, the others aren't |
89 | if (gridService == string.Empty || presenceService == string.Empty) | 91 | if (gridService == string.Empty || presenceService == string.Empty) |
90 | throw new Exception("Incomplete specifications, Gatekeeper Service cannot function."); | 92 | throw new Exception("Incomplete specifications, Gatekeeper Service cannot function."); |
91 | 93 | ||
@@ -105,6 +107,8 @@ namespace OpenSim.Services.HypergridService | |||
105 | m_UserAccountService = ServerUtils.LoadPlugin<IUserAccountService>(accountService, args); | 107 | m_UserAccountService = ServerUtils.LoadPlugin<IUserAccountService>(accountService, args); |
106 | if (homeUsersService != string.Empty) | 108 | if (homeUsersService != string.Empty) |
107 | m_UserAgentService = ServerUtils.LoadPlugin<IUserAgentService>(homeUsersService, args); | 109 | m_UserAgentService = ServerUtils.LoadPlugin<IUserAgentService>(homeUsersService, args); |
110 | if (gridUserService != string.Empty) | ||
111 | m_GridUserService = ServerUtils.LoadPlugin<IGridUserService>(gridUserService, args); | ||
108 | 112 | ||
109 | if (simService != null) | 113 | if (simService != null) |
110 | m_SimulationService = simService; | 114 | m_SimulationService = simService; |
@@ -295,8 +299,6 @@ namespace OpenSim.Services.HypergridService | |||
295 | } | 299 | } |
296 | } | 300 | } |
297 | 301 | ||
298 | // May want to authorize | ||
299 | |||
300 | bool isFirstLogin = false; | 302 | bool isFirstLogin = false; |
301 | // | 303 | // |
302 | // Login the presence, if it's not there yet (by the login service) | 304 | // Login the presence, if it's not there yet (by the login service) |
@@ -305,7 +307,8 @@ namespace OpenSim.Services.HypergridService | |||
305 | if (presence != null) // it has been placed there by the login service | 307 | if (presence != null) // it has been placed there by the login service |
306 | isFirstLogin = true; | 308 | isFirstLogin = true; |
307 | 309 | ||
308 | else | 310 | else |
311 | { | ||
309 | if (!m_PresenceService.LoginAgent(aCircuit.AgentID.ToString(), aCircuit.SessionID, aCircuit.SecureSessionID)) | 312 | if (!m_PresenceService.LoginAgent(aCircuit.AgentID.ToString(), aCircuit.SessionID, aCircuit.SecureSessionID)) |
310 | { | 313 | { |
311 | reason = "Unable to login presence"; | 314 | reason = "Unable to login presence"; |
@@ -315,6 +318,26 @@ namespace OpenSim.Services.HypergridService | |||
315 | } | 318 | } |
316 | m_log.DebugFormat("[GATEKEEPER SERVICE]: Login presence ok"); | 319 | m_log.DebugFormat("[GATEKEEPER SERVICE]: Login presence ok"); |
317 | 320 | ||
321 | // Also login foreigners with GridUser service | ||
322 | if (m_GridUserService != null && account == null) | ||
323 | { | ||
324 | string userId = aCircuit.AgentID.ToString(); | ||
325 | string first = aCircuit.firstname, last = aCircuit.lastname; | ||
326 | if (last.StartsWith("@")) | ||
327 | { | ||
328 | string[] parts = aCircuit.firstname.Split('.'); | ||
329 | if (parts.Length >= 2) | ||
330 | { | ||
331 | first = parts[0]; | ||
332 | last = parts[1]; | ||
333 | } | ||
334 | } | ||
335 | |||
336 | userId += ";" + aCircuit.ServiceURLs["HomeURI"] + ";" + first + " " + last; | ||
337 | m_GridUserService.LoggedIn(userId); | ||
338 | } | ||
339 | } | ||
340 | |||
318 | // | 341 | // |
319 | // Get the region | 342 | // Get the region |
320 | // | 343 | // |
diff --git a/OpenSim/Services/Interfaces/IGridUserService.cs b/OpenSim/Services/Interfaces/IGridUserService.cs index 0a52bfa..620ed3a 100644 --- a/OpenSim/Services/Interfaces/IGridUserService.cs +++ b/OpenSim/Services/Interfaces/IGridUserService.cs | |||
@@ -50,6 +50,8 @@ namespace OpenSim.Services.Interfaces | |||
50 | public DateTime Login; | 50 | public DateTime Login; |
51 | public DateTime Logout; | 51 | public DateTime Logout; |
52 | 52 | ||
53 | public string TOS = string.Empty; | ||
54 | |||
53 | public GridUserInfo() {} | 55 | public GridUserInfo() {} |
54 | 56 | ||
55 | public GridUserInfo(Dictionary<string, object> kvp) | 57 | public GridUserInfo(Dictionary<string, object> kvp) |
@@ -78,6 +80,11 @@ namespace OpenSim.Services.Interfaces | |||
78 | if (kvp.ContainsKey("Online")) | 80 | if (kvp.ContainsKey("Online")) |
79 | Boolean.TryParse(kvp["Online"].ToString(), out Online); | 81 | Boolean.TryParse(kvp["Online"].ToString(), out Online); |
80 | 82 | ||
83 | if (kvp.ContainsKey("TOS")) | ||
84 | TOS = kvp["TOS"].ToString(); | ||
85 | else | ||
86 | TOS = string.Empty; | ||
87 | |||
81 | } | 88 | } |
82 | 89 | ||
83 | public Dictionary<string, object> ToKeyValuePairs() | 90 | public Dictionary<string, object> ToKeyValuePairs() |
@@ -97,6 +104,7 @@ namespace OpenSim.Services.Interfaces | |||
97 | result["Login"] = Login.ToString(); | 104 | result["Login"] = Login.ToString(); |
98 | result["Logout"] = Logout.ToString(); | 105 | result["Logout"] = Logout.ToString(); |
99 | 106 | ||
107 | result["TOS"] = TOS; | ||
100 | 108 | ||
101 | return result; | 109 | return result; |
102 | } | 110 | } |
diff --git a/OpenSim/Services/UserAccountService/GridUserService.cs b/OpenSim/Services/UserAccountService/GridUserService.cs index ac3d8fd..8eae859 100644 --- a/OpenSim/Services/UserAccountService/GridUserService.cs +++ b/OpenSim/Services/UserAccountService/GridUserService.cs | |||
@@ -70,6 +70,8 @@ namespace OpenSim.Services.UserAccountService | |||
70 | info.Login = Util.ToDateTime(Convert.ToInt32(d.Data["Login"])); | 70 | info.Login = Util.ToDateTime(Convert.ToInt32(d.Data["Login"])); |
71 | info.Logout = Util.ToDateTime(Convert.ToInt32(d.Data["Logout"])); | 71 | info.Logout = Util.ToDateTime(Convert.ToInt32(d.Data["Logout"])); |
72 | 72 | ||
73 | info.TOS = d.Data["TOS"]; | ||
74 | |||
73 | return info; | 75 | return info; |
74 | } | 76 | } |
75 | 77 | ||
diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index b21a214..6dbb611 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example | |||
@@ -947,6 +947,35 @@ | |||
947 | ;# {InitialTerrain} {} {Initial terrain type} {pinhead-island flat} pinhead-island | 947 | ;# {InitialTerrain} {} {Initial terrain type} {pinhead-island flat} pinhead-island |
948 | ; InitialTerrain = "pinhead-island" | 948 | ; InitialTerrain = "pinhead-island" |
949 | 949 | ||
950 | [TOSModule] | ||
951 | ;; Terms of Service module. It requires an external web script. Unless you | ||
952 | ;; have that in place, don't enable this module. | ||
953 | |||
954 | ;# {Enabled} {} {Enable TOS facilities} {true false} false | ||
955 | ; Enabled = false | ||
956 | |||
957 | ;; Should local users be shown the TOS on first login? | ||
958 | ;# {ShowToLocalUsers} {} {Show TOS to local users} {true false} false | ||
959 | ; ShowToLocalUsers = false | ||
960 | ;; Should foreign users be shown the TOS on first HG login? | ||
961 | ;# {ShowToForeignUsers} {} {Show TOS to foreign users} {true false} true | ||
962 | ; ShowToForeignUsers = true | ||
963 | |||
964 | ;; Tell the users what this is about | ||
965 | ; Message = "Please read and agree to the Terms of Service" | ||
966 | |||
967 | ;; How much time do the users have to accept the TOS before they get kicked out? | ||
968 | ;; (in minutes) | ||
969 | ; Timeout = 5 | ||
970 | |||
971 | ;; This page should have Accept/Decline links somewhere | ||
972 | ;; that affect the GridUsers table. If you don't have such | ||
973 | ;; script in place, don't use the TOSModule. The TOSModule appends this URL | ||
974 | ;; with a query ?user={userid}&sid={sessionid} | ||
975 | ;# {TOS_URL} {} {The URL for the TOS page} {} | ||
976 | TOS_URL = "http://mygrid.com/tos" | ||
977 | |||
978 | |||
950 | [Architecture] | 979 | [Architecture] |
951 | ;# {Include-Architecture} {} {Choose one of the following architectures} {config-include/Standalone.ini config-include/StandaloneHypergrid.ini config-include/Grid.ini config-include/GridHypergrid.ini config-include/SimianGrid.ini config-include/HyperSimianGrid.ini} config-include/Standalone.ini | 980 | ;# {Include-Architecture} {} {Choose one of the following architectures} {config-include/Standalone.ini config-include/StandaloneHypergrid.ini config-include/Grid.ini config-include/GridHypergrid.ini config-include/SimianGrid.ini config-include/HyperSimianGrid.ini} config-include/Standalone.ini |
952 | ;; Uncomment one of the following includes as required. For instance, to create a standalone OpenSim, | 981 | ;; Uncomment one of the following includes as required. For instance, to create a standalone OpenSim, |
diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index fee29c9..109793a 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini | |||
@@ -1624,6 +1624,10 @@ | |||
1624 | [Terrain] | 1624 | [Terrain] |
1625 | InitialTerrain = "pinhead-island" | 1625 | InitialTerrain = "pinhead-island" |
1626 | 1626 | ||
1627 | [TOSModule] | ||
1628 | ;; Enable TOS facilities | ||
1629 | Enabled = false | ||
1630 | |||
1627 | ;; | 1631 | ;; |
1628 | ;; If you are using a simian grid frontend you can enable | 1632 | ;; If you are using a simian grid frontend you can enable |
1629 | ;; this module to upload tile images for the mapping fn | 1633 | ;; this module to upload tile images for the mapping fn |
diff --git a/bin/config-include/StandaloneHypergrid.ini b/bin/config-include/StandaloneHypergrid.ini index b0ae351..76d588c 100644 --- a/bin/config-include/StandaloneHypergrid.ini +++ b/bin/config-include/StandaloneHypergrid.ini | |||
@@ -130,6 +130,7 @@ | |||
130 | LocalServiceModule = "OpenSim.Services.HypergridService.dll:GatekeeperService" | 130 | LocalServiceModule = "OpenSim.Services.HypergridService.dll:GatekeeperService" |
131 | ;; for the service | 131 | ;; for the service |
132 | UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" | 132 | UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" |
133 | GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" | ||
133 | UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" | 134 | UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" |
134 | PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" | 135 | PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" |
135 | GridService = "OpenSim.Services.GridService.dll:GridService" | 136 | GridService = "OpenSim.Services.GridService.dll:GridService" |