diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 37 |
1 files changed, 34 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 764ac60..20c0622 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -240,6 +240,19 @@ namespace OpenSim.Region.Framework.Scenes | |||
240 | } | 240 | } |
241 | } | 241 | } |
242 | 242 | ||
243 | protected ILibraryService m_LibraryService; | ||
244 | |||
245 | public ILibraryService LibraryService | ||
246 | { | ||
247 | get | ||
248 | { | ||
249 | if (m_LibraryService == null) | ||
250 | m_LibraryService = RequestModuleInterface<ILibraryService>(); | ||
251 | |||
252 | return m_LibraryService; | ||
253 | } | ||
254 | } | ||
255 | |||
243 | protected IXMLRPC m_xmlrpcModule; | 256 | protected IXMLRPC m_xmlrpcModule; |
244 | protected IWorldComm m_worldCommModule; | 257 | protected IWorldComm m_worldCommModule; |
245 | protected IAvatarFactory m_AvatarFactory; | 258 | protected IAvatarFactory m_AvatarFactory; |
@@ -3483,10 +3496,18 @@ namespace OpenSim.Region.Framework.Scenes | |||
3483 | { | 3496 | { |
3484 | reason = String.Empty; | 3497 | reason = String.Empty; |
3485 | 3498 | ||
3486 | bool result = CommsManager.UserService.VerifySession(agent.AgentID, agent.SessionID); | 3499 | IAuthenticationService auth = RequestModuleInterface<IAuthenticationService>(); |
3487 | m_log.Debug("[CONNECTION BEGIN]: User authentication returned " + result); | 3500 | if (auth == null) |
3501 | { | ||
3502 | reason = String.Format("Failed to authenticate user {0} {1} in region {2}. Authentication service does not exist.", agent.firstname, agent.lastname, RegionInfo.RegionName); | ||
3503 | return false; | ||
3504 | } | ||
3505 | |||
3506 | bool result = auth.Verify(agent.AgentID, agent.SecureSessionID.ToString(), 30); | ||
3507 | |||
3508 | m_log.Debug("[CONNECTION BEGIN]: Session authentication returned " + result); | ||
3488 | if (!result) | 3509 | if (!result) |
3489 | reason = String.Format("Failed to authenticate user {0} {1}, access denied.", agent.firstname, agent.lastname); | 3510 | reason = String.Format("Failed to authenticate user {0} {1}, access denied to region {2}.", agent.firstname, agent.lastname, RegionInfo.RegionName); |
3490 | 3511 | ||
3491 | return result; | 3512 | return result; |
3492 | } | 3513 | } |
@@ -4889,5 +4910,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
4889 | if (Util.EnvironmentTickCountSubtract(m_lastUpdate) > 2000) | 4910 | if (Util.EnvironmentTickCountSubtract(m_lastUpdate) > 2000) |
4890 | StartTimer(); | 4911 | StartTimer(); |
4891 | } | 4912 | } |
4913 | |||
4914 | public override ISceneObject DeserializeObject(string representation) | ||
4915 | { | ||
4916 | return SceneObjectSerializer.FromXml2Format(representation); | ||
4917 | } | ||
4918 | |||
4919 | public override bool AllowScriptCrossings | ||
4920 | { | ||
4921 | get { return m_allowScriptCrossings; } | ||
4922 | } | ||
4892 | } | 4923 | } |
4893 | } | 4924 | } |