aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services/LLLoginService/LLLoginService.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2012-05-04 19:21:43 +0100
committerJustin Clark-Casey (justincc)2012-05-04 19:21:43 +0100
commitcccef2e56dc8b02ccd83fb1c832e4ce026cdcaf9 (patch)
tree20f26f179ac1af19c7bfcbbc076aaebc2bc3535d /OpenSim/Services/LLLoginService/LLLoginService.cs
parentminor: Tweak BaseHttpServer message to make it clear that this relates to slo... (diff)
downloadopensim-SC-cccef2e56dc8b02ccd83fb1c832e4ce026cdcaf9.zip
opensim-SC-cccef2e56dc8b02ccd83fb1c832e4ce026cdcaf9.tar.gz
opensim-SC-cccef2e56dc8b02ccd83fb1c832e4ce026cdcaf9.tar.bz2
opensim-SC-cccef2e56dc8b02ccd83fb1c832e4ce026cdcaf9.tar.xz
Calculate the Daylight Savings Time information sent to the viewer based on US Pacific Standard Time rather than whatever timezone the login server is set to.
This is because the viewer doesn't receive a timezone from the server but bases its displays on Pacific Standard Time. However, it still expects to receive notification from the server as to whether or not Daylight Savings Time for PST is in operation. This commit introduces a new DSTZone setting in the [LoginService] config setting that accepts a list of timezone names valid across different platforms to calculate Pacific DST. If you need the old behaviour of calculating DST based on the local timezone of the server running the login service, then please override DSTZone with "local". A mailing list announcement will be made later. Thanks to Olivier Van Helden and Gudule Lapointe for determining this behaviour and providing this patch. From http://opensimulator.org/mantis/view.php?id=5972
Diffstat (limited to 'OpenSim/Services/LLLoginService/LLLoginService.cs')
-rw-r--r--OpenSim/Services/LLLoginService/LLLoginService.cs17
1 files changed, 14 insertions, 3 deletions
diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs
index db8a9cb..9acba11 100644
--- a/OpenSim/Services/LLLoginService/LLLoginService.cs
+++ b/OpenSim/Services/LLLoginService/LLLoginService.cs
@@ -82,6 +82,8 @@ namespace OpenSim.Services.LLLoginService
82 protected string m_AllowedClients; 82 protected string m_AllowedClients;
83 protected string m_DeniedClients; 83 protected string m_DeniedClients;
84 84
85 protected string m_DSTZone;
86
85 IConfig m_LoginServerConfig; 87 IConfig m_LoginServerConfig;
86// IConfig m_ClientsConfig; 88// IConfig m_ClientsConfig;
87 89
@@ -118,6 +120,8 @@ namespace OpenSim.Services.LLLoginService
118 m_AllowedClients = m_LoginServerConfig.GetString("AllowedClients", string.Empty); 120 m_AllowedClients = m_LoginServerConfig.GetString("AllowedClients", string.Empty);
119 m_DeniedClients = m_LoginServerConfig.GetString("DeniedClients", string.Empty); 121 m_DeniedClients = m_LoginServerConfig.GetString("DeniedClients", string.Empty);
120 122
123 m_DSTZone = m_LoginServerConfig.GetString("DSTZone", "America/Los_Angeles;Pacific Standard Time");
124
121 // Clean up some of these vars 125 // Clean up some of these vars
122 if (m_MapTileURL != String.Empty) 126 if (m_MapTileURL != String.Empty)
123 { 127 {
@@ -240,6 +244,7 @@ namespace OpenSim.Services.LLLoginService
240 244
241 m_log.InfoFormat("[LLOGIN SERVICE]: Login request for {0} {1} at {2} using viewer {3}, channel {4}, IP {5}, Mac {6}, Id0 {7}", 245 m_log.InfoFormat("[LLOGIN SERVICE]: Login request for {0} {1} at {2} using viewer {3}, channel {4}, IP {5}, Mac {6}, Id0 {7}",
242 firstName, lastName, startLocation, clientVersion, channel, clientIP.Address.ToString(), mac, id0); 246 firstName, lastName, startLocation, clientVersion, channel, clientIP.Address.ToString(), mac, id0);
247
243 try 248 try
244 { 249 {
245 // 250 //
@@ -416,8 +421,11 @@ namespace OpenSim.Services.LLLoginService
416 // 421 //
417 // Finally, fill out the response and return it 422 // Finally, fill out the response and return it
418 // 423 //
419 LLLoginResponse response = new LLLoginResponse(account, aCircuit, guinfo, destination, inventorySkel, friendsList, m_LibraryService, 424 LLLoginResponse response
420 where, startLocation, position, lookAt, gestures, m_WelcomeMessage, home, clientIP, m_MapTileURL, m_ProfileURL, m_OpenIDURL, m_SearchURL, m_Currency); 425 = new LLLoginResponse(
426 account, aCircuit, guinfo, destination, inventorySkel, friendsList, m_LibraryService,
427 where, startLocation, position, lookAt, gestures, m_WelcomeMessage, home, clientIP,
428 m_MapTileURL, m_ProfileURL, m_OpenIDURL, m_SearchURL, m_Currency, m_DSTZone);
421 429
422 m_log.DebugFormat("[LLOGIN SERVICE]: All clear. Sending login response to client."); 430 m_log.DebugFormat("[LLOGIN SERVICE]: All clear. Sending login response to client.");
423 return response; 431 return response;
@@ -431,7 +439,10 @@ namespace OpenSim.Services.LLLoginService
431 } 439 }
432 } 440 }
433 441
434 protected GridRegion FindDestination(UserAccount account, UUID scopeID, GridUserInfo pinfo, UUID sessionID, string startLocation, GridRegion home, out GridRegion gatekeeper, out string where, out Vector3 position, out Vector3 lookAt, out TeleportFlags flags) 442 protected GridRegion FindDestination(
443 UserAccount account, UUID scopeID, GridUserInfo pinfo, UUID sessionID, string startLocation,
444 GridRegion home, out GridRegion gatekeeper,
445 out string where, out Vector3 position, out Vector3 lookAt, out TeleportFlags flags)
435 { 446 {
436 flags = TeleportFlags.ViaLogin; 447 flags = TeleportFlags.ViaLogin;
437 448