aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-09-07 03:22:33 +0000
committerJustin Clarke Casey2008-09-07 03:22:33 +0000
commit78f831ef5220907e4d50422a5422063921062cf8 (patch)
tree6efd3ce92be0a0594dc14cfe18f888d050391702 /OpenSim/Region/ClientStack
parent* minor: just minor doc and tidy up (diff)
downloadopensim-SC_OLD-78f831ef5220907e4d50422a5422063921062cf8.zip
opensim-SC_OLD-78f831ef5220907e4d50422a5422063921062cf8.tar.gz
opensim-SC_OLD-78f831ef5220907e4d50422a5422063921062cf8.tar.bz2
opensim-SC_OLD-78f831ef5220907e4d50422a5422063921062cf8.tar.xz
* minor: Clean up of logging messages to make following the client login process easier
* documentation
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs22
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLPacketServer.cs42
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs66
3 files changed, 93 insertions, 37 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 5e22e2d..b721fa3 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -376,6 +376,18 @@ namespace OpenSim.Region.ClientStack.LindenUDP
376 376
377 /* METHODS */ 377 /* METHODS */
378 378
379 /// <summary>
380 /// Constructor
381 /// </summary>
382 /// <param name="remoteEP"></param>
383 /// <param name="scene"></param>
384 /// <param name="assetCache"></param>
385 /// <param name="packServer"></param>
386 /// <param name="authenSessions"></param>
387 /// <param name="agentId"></param>
388 /// <param name="sessionId"></param>
389 /// <param name="circuitCode"></param>
390 /// <param name="proxyEP"></param>
379 public LLClientView(EndPoint remoteEP, IScene scene, AssetCache assetCache, LLPacketServer packServer, 391 public LLClientView(EndPoint remoteEP, IScene scene, AssetCache assetCache, LLPacketServer packServer,
380 AgentCircuitManager authenSessions, UUID agentId, UUID sessionId, uint circuitCode, EndPoint proxyEP) 392 AgentCircuitManager authenSessions, UUID agentId, UUID sessionId, uint circuitCode, EndPoint proxyEP)
381 { 393 {
@@ -417,7 +429,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
417 m_clientThread.Start(); 429 m_clientThread.Start();
418 ThreadTracker.Add(m_clientThread); 430 ThreadTracker.Add(m_clientThread);
419 431
420 m_log.Info("[CLIENT]: Started up new thread to handle client UDP session"); 432 m_log.DebugFormat("[CLIENT]: Started new UDP session thread for agent {0}, circuit {1}", agentId, circuitCode);
421 } 433 }
422 434
423 public void SetDebug(int newDebug) 435 public void SetDebug(int newDebug)
@@ -634,7 +646,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
634 646
635 protected virtual void ClientLoop() 647 protected virtual void ClientLoop()
636 { 648 {
637 m_log.Info("[CLIENT]: Entered loop"); 649 m_log.Info("[CLIENT]: Entered main packet processing loop");
650
638 while (true) 651 while (true)
639 { 652 {
640 LLQueItem nextPacket = m_PacketHandler.PacketQueue.Dequeue(); 653 LLQueItem nextPacket = m_PacketHandler.PacketQueue.Dequeue();
@@ -729,7 +742,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
729 /// </summary> 742 /// </summary>
730 protected virtual void AuthUser() 743 protected virtual void AuthUser()
731 { 744 {
732
733 //tell this thread we are using the culture set up for the sim (currently hardcoded to en_US) 745 //tell this thread we are using the culture set up for the sim (currently hardcoded to en_US)
734 //otherwise it will override this and use the system default 746 //otherwise it will override this and use the system default
735 Culture.SetCurrentCulture(); 747 Culture.SetCurrentCulture();
@@ -738,8 +750,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
738 { 750 {
739 // AuthenticateResponse sessionInfo = m_gridServer.AuthenticateSession(m_cirpack.m_circuitCode.m_sessionId, m_cirpack.m_circuitCode.ID, m_cirpack.m_circuitCode.Code); 751 // AuthenticateResponse sessionInfo = m_gridServer.AuthenticateSession(m_cirpack.m_circuitCode.m_sessionId, m_cirpack.m_circuitCode.ID, m_cirpack.m_circuitCode.Code);
740 AuthenticateResponse sessionInfo = 752 AuthenticateResponse sessionInfo =
741 m_authenticateSessionsHandler.AuthenticateSession(m_sessionId, m_agentId, 753 m_authenticateSessionsHandler.AuthenticateSession(m_sessionId, m_agentId, m_circuitCode);
742 m_circuitCode); 754
743 if (!sessionInfo.Authorised) 755 if (!sessionInfo.Authorised)
744 { 756 {
745 //session/circuit not authorised 757 //session/circuit not authorised
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLPacketServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLPacketServer.cs
index 07d3c45..c36a238 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLPacketServer.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLPacketServer.cs
@@ -70,17 +70,43 @@ namespace OpenSim.Region.ClientStack.LindenUDP
70 m_scene.ClientManager.InPacket(circuitCode, packet); 70 m_scene.ClientManager.InPacket(circuitCode, packet);
71 } 71 }
72 72
73 protected virtual IClientAPI CreateNewClient(EndPoint remoteEP, UseCircuitCodePacket initialcirpack, 73 /// <summary>
74 ClientManager clientManager, IScene scene, AssetCache assetCache, 74 /// Create a new client circuit
75 LLPacketServer packServer, AgentCircuitManager authenSessions, 75 /// </summary>
76 UUID agentId, UUID sessionId, uint circuitCode, EndPoint proxyEP) 76 /// <param name="remoteEP"></param>
77 /// <param name="initialcirpack"></param>
78 /// <param name="clientManager"></param>
79 /// <param name="scene"></param>
80 /// <param name="assetCache"></param>
81 /// <param name="packServer"></param>
82 /// <param name="authenSessions"></param>
83 /// <param name="agentId"></param>
84 /// <param name="sessionId"></param>
85 /// <param name="circuitCode"></param>
86 /// <param name="proxyEP"></param>
87 /// <returns></returns>
88 protected virtual IClientAPI CreateNewCircuit(EndPoint remoteEP, UseCircuitCodePacket initialcirpack,
89 ClientManager clientManager, IScene scene, AssetCache assetCache,
90 LLPacketServer packServer, AgentCircuitManager authenSessions,
91 UUID agentId, UUID sessionId, uint circuitCode, EndPoint proxyEP)
77 { 92 {
78 return 93 return
79 new LLClientView(remoteEP, scene, assetCache, packServer, authenSessions, agentId, sessionId, circuitCode, proxyEP); 94 new LLClientView(remoteEP, scene, assetCache, packServer, authenSessions, agentId, sessionId, circuitCode, proxyEP);
80 } 95 }
81 96
97 /// <summary>
98 /// Add a new client circuit
99 /// </summary>
100 /// <param name="epSender"></param>
101 /// <param name="useCircuit"></param>
102 /// <param name="assetCache"></param>
103 /// <param name="circuitManager"></param>
104 /// <param name="proxyEP"></param>
105 /// <returns>
106 /// true if a new circuit was created, false if a circuit with the given circuit code already existed
107 /// </returns>
82 public virtual bool AddNewClient(EndPoint epSender, UseCircuitCodePacket useCircuit, AssetCache assetCache, 108 public virtual bool AddNewClient(EndPoint epSender, UseCircuitCodePacket useCircuit, AssetCache assetCache,
83 AgentCircuitManager authenticateSessionsClass, EndPoint proxyEP) 109 AgentCircuitManager circuitManager, EndPoint proxyEP)
84 { 110 {
85 IClientAPI newuser; 111 IClientAPI newuser;
86 112
@@ -90,9 +116,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
90 } 116 }
91 else 117 else
92 { 118 {
93 newuser = CreateNewClient(epSender, useCircuit, m_scene.ClientManager, m_scene, assetCache, this, 119 newuser = CreateNewCircuit(epSender, useCircuit, m_scene.ClientManager, m_scene, assetCache, this,
94 authenticateSessionsClass, useCircuit.CircuitCode.ID, 120 circuitManager, useCircuit.CircuitCode.ID,
95 useCircuit.CircuitCode.SessionID, useCircuit.CircuitCode.Code, proxyEP); 121 useCircuit.CircuitCode.SessionID, useCircuit.CircuitCode.Code, proxyEP);
96 122
97 m_scene.ClientManager.Add(useCircuit.CircuitCode.Code, newuser); 123 m_scene.ClientManager.Add(useCircuit.CircuitCode.Code, newuser);
98 124
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
index ceb99ae..5625854 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
@@ -75,7 +75,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
75 protected IPAddress listenIP = IPAddress.Parse("0.0.0.0"); 75 protected IPAddress listenIP = IPAddress.Parse("0.0.0.0");
76 protected IScene m_localScene; 76 protected IScene m_localScene;
77 protected AssetCache m_assetCache; 77 protected AssetCache m_assetCache;
78 protected AgentCircuitManager m_authenticateSessionsClass; 78
79 /// <value>
80 /// Manages authentication for agent circuits
81 /// </value>
82 protected AgentCircuitManager m_circuitManager;
79 83
80 public LLPacketServer PacketServer 84 public LLPacketServer PacketServer
81 { 85 {
@@ -132,14 +136,24 @@ namespace OpenSim.Region.ClientStack.LindenUDP
132 Initialise(_listenIP, ref port, proxyPortOffset, allow_alternate_port, assetCache, authenticateClass); 136 Initialise(_listenIP, ref port, proxyPortOffset, allow_alternate_port, assetCache, authenticateClass);
133 } 137 }
134 138
135 public void Initialise(IPAddress _listenIP, ref uint port, int proxyPortOffset, bool allow_alternate_port, AssetCache assetCache, AgentCircuitManager authenticateClass) 139 /// <summary>
140 /// Initialize the server
141 /// </summary>
142 /// <param name="_listenIP"></param>
143 /// <param name="port"></param>
144 /// <param name="proxyPortOffset"></param>
145 /// <param name="allow_alternate_port"></param>
146 /// <param name="assetCache"></param>
147 /// <param name="circuitManager"></param>
148 public void Initialise(
149 IPAddress _listenIP, ref uint port, int proxyPortOffset, bool allow_alternate_port, AssetCache assetCache, AgentCircuitManager circuitManager)
136 { 150 {
137 this.proxyPortOffset = proxyPortOffset; 151 this.proxyPortOffset = proxyPortOffset;
138 listenPort = (uint) (port + proxyPortOffset); 152 listenPort = (uint) (port + proxyPortOffset);
139 listenIP = _listenIP; 153 listenIP = _listenIP;
140 Allow_Alternate_Port = allow_alternate_port; 154 Allow_Alternate_Port = allow_alternate_port;
141 m_assetCache = assetCache; 155 m_assetCache = assetCache;
142 m_authenticateSessionsClass = authenticateClass; 156 m_circuitManager = circuitManager;
143 CreatePacketServer(); 157 CreatePacketServer();
144 158
145 // Return new port 159 // Return new port
@@ -177,7 +191,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
177 { 191 {
178 // TODO : Actually only handle those states that we have control over, re-throw everything else, 192 // TODO : Actually only handle those states that we have control over, re-throw everything else,
179 // TODO: implement cases as we encounter them. 193 // TODO: implement cases as we encounter them.
180 //m_log.Error("[UDPSERVER]: Connection Error! - " + e.ToString()); 194 //m_log.Error("[[CLIENT]: ]: Connection Error! - " + e.ToString());
181 switch (e.SocketErrorCode) 195 switch (e.SocketErrorCode)
182 { 196 {
183 case SocketError.AlreadyInProgress: 197 case SocketError.AlreadyInProgress:
@@ -193,7 +207,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
193 } 207 }
194 catch (ObjectDisposedException e) 208 catch (ObjectDisposedException e)
195 { 209 {
196 m_log.DebugFormat("ObjectDisposedException: Object {0} disposed.", e.ObjectName); 210 m_log.DebugFormat("[CLIENT]: ObjectDisposedException: Object {0} disposed.", e.ObjectName);
197 // Uhh, what object, and why? this needs better handling. 211 // Uhh, what object, and why? this needs better handling.
198 } 212 }
199 213
@@ -213,15 +227,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
213 } 227 }
214 catch (MalformedDataException e) 228 catch (MalformedDataException e)
215 { 229 {
216 m_log.DebugFormat("Dropped Malformed Packet due to MalformedDataException: {0}", e.StackTrace); 230 m_log.DebugFormat("[CLIENT]: Dropped Malformed Packet due to MalformedDataException: {0}", e.StackTrace);
217 } 231 }
218 catch (IndexOutOfRangeException e) 232 catch (IndexOutOfRangeException e)
219 { 233 {
220 m_log.DebugFormat("Dropped Malformed Packet due to IndexOutOfRangeException: {0}", e.StackTrace); 234 m_log.DebugFormat("[CLIENT]: Dropped Malformed Packet due to IndexOutOfRangeException: {0}", e.StackTrace);
221 } 235 }
222 catch (Exception e) 236 catch (Exception e)
223 { 237 {
224 m_log.Debug("[UDPSERVER]: " + e.ToString()); 238 m_log.Debug("[CLIENT]: " + e.ToString());
225 } 239 }
226 } 240 }
227 241
@@ -249,8 +263,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
249 } 263 }
250 else if (packet.Type == PacketType.UseCircuitCode) 264 else if (packet.Type == PacketType.UseCircuitCode)
251 { 265 {
252 // new client
253 m_log.Debug("[UDPSERVER]: Adding New Client");
254 AddNewClient(packet); 266 AddNewClient(packet);
255 267
256 UseCircuitCodePacket p = (UseCircuitCodePacket)packet; 268 UseCircuitCodePacket p = (UseCircuitCodePacket)packet;
@@ -267,7 +279,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
267 } 279 }
268 catch (Exception e) 280 catch (Exception e)
269 { 281 {
270 m_log.Error("[UDPSERVER]: Exception in processing packet - ignoring: ", e); 282 m_log.Error("[CLIENT]: Exception in processing packet - ignoring: ", e);
271 } 283 }
272 } 284 }
273 } 285 }
@@ -280,7 +292,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
280 } 292 }
281 catch (SocketException e) 293 catch (SocketException e)
282 { 294 {
283 m_log.ErrorFormat("[UDPSERVER]: BeginRecieve threw exception " + e.Message + ": " + e.StackTrace ); 295 m_log.ErrorFormat("[CLIENT]: BeginRecieve threw exception " + e.Message + ": " + e.StackTrace );
284 ResetEndPoint(); 296 ResetEndPoint();
285 } 297 }
286 } 298 }
@@ -339,19 +351,22 @@ namespace OpenSim.Region.ClientStack.LindenUDP
339 return; 351 return;
340 352
341 UseCircuitCodePacket useCircuit = (UseCircuitCodePacket) packet; 353 UseCircuitCodePacket useCircuit = (UseCircuitCodePacket) packet;
354
355 m_log.DebugFormat("[CLIENT]: Adding new circuit for agent {0}, circuit code {1}", useCircuit.CircuitCode.ID, useCircuit.CircuitCode.Code);
356
342 lock (clientCircuits) 357 lock (clientCircuits)
343 { 358 {
344 if (!clientCircuits.ContainsKey(epSender)) 359 if (!clientCircuits.ContainsKey(epSender))
345 clientCircuits.Add(epSender, useCircuit.CircuitCode.Code); 360 clientCircuits.Add(epSender, useCircuit.CircuitCode.Code);
346 else 361 else
347 m_log.Error("[UDPSERVER]: clientCircuits already contains entry for user " + useCircuit.CircuitCode.Code.ToString() + ". NOT adding."); 362 m_log.Error("[CLIENT]: clientCircuits already contains entry for user " + useCircuit.CircuitCode.Code + ". NOT adding.");
348 } 363 }
349 364
350 // This doesn't need locking as it's synchronized data 365 // This doesn't need locking as it's synchronized data
351 if (!clientCircuits_reverse.ContainsKey(useCircuit.CircuitCode.Code)) 366 if (!clientCircuits_reverse.ContainsKey(useCircuit.CircuitCode.Code))
352 clientCircuits_reverse.Add(useCircuit.CircuitCode.Code, epSender); 367 clientCircuits_reverse.Add(useCircuit.CircuitCode.Code, epSender);
353 else 368 else
354 m_log.Error("[UDPSERVER]: clientCurcuits_reverse already contains entry for user " + useCircuit.CircuitCode.Code.ToString() + ". NOT adding."); 369 m_log.Error("[CLIENT]: clientCurcuits_reverse already contains entry for user " + useCircuit.CircuitCode.Code + ". NOT adding.");
355 370
356 371
357 lock (proxyCircuits) 372 lock (proxyCircuits)
@@ -359,10 +374,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
359 if (!proxyCircuits.ContainsKey(useCircuit.CircuitCode.Code)) 374 if (!proxyCircuits.ContainsKey(useCircuit.CircuitCode.Code))
360 proxyCircuits.Add(useCircuit.CircuitCode.Code, epProxy); 375 proxyCircuits.Add(useCircuit.CircuitCode.Code, epProxy);
361 else 376 else
362 m_log.Error("[UDPSERVER]: proxyCircuits already contains entry for user " + useCircuit.CircuitCode.Code.ToString() + ". NOT adding."); 377 m_log.Error("[CLIENT]: proxyCircuits already contains entry for user " + useCircuit.CircuitCode.Code + ". NOT adding.");
363 } 378 }
364 379
365 PacketServer.AddNewClient(epSender, useCircuit, m_assetCache, m_authenticateSessionsClass, epProxy); 380 if (!PacketServer.AddNewClient(epSender, useCircuit, m_assetCache, m_circuitManager, epProxy))
381 m_log.ErrorFormat(
382 "[CLIENT]: A circuit already existed for agent {0}, circuit {1}",
383 useCircuit.CircuitCode.ID, useCircuit.CircuitCode.Code);
366 } 384 }
367 385
368 PacketPool.Instance.ReturnPacket(packet); 386 PacketPool.Instance.ReturnPacket(packet);
@@ -371,7 +389,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
371 public void ServerListener() 389 public void ServerListener()
372 { 390 {
373 uint newPort = listenPort; 391 uint newPort = listenPort;
374 m_log.Info("[SERVER]: Opening UDP socket on " + listenIP + " " + newPort + "."); 392 m_log.Info("[UDPSERVER]: Opening UDP socket on " + listenIP + " " + newPort + ".");
375 393
376 ServerIncoming = new IPEndPoint(listenIP, (int)newPort); 394 ServerIncoming = new IPEndPoint(listenIP, (int)newPort);
377 m_socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); 395 m_socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
@@ -385,14 +403,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP
385 403
386 listenPort = newPort; 404 listenPort = newPort;
387 405
388 m_log.Info("[SERVER]: UDP socket bound, getting ready to listen"); 406 m_log.Info("[UDPSERVER]: UDP socket bound, getting ready to listen");
389 407
390 ipeSender = new IPEndPoint(listenIP, 0); 408 ipeSender = new IPEndPoint(listenIP, 0);
391 epSender = (EndPoint)ipeSender; 409 epSender = (EndPoint)ipeSender;
392 ReceivedData = new AsyncCallback(OnReceivedData); 410 ReceivedData = new AsyncCallback(OnReceivedData);
393 m_socket.BeginReceiveFrom(RecvBuffer, 0, RecvBuffer.Length, SocketFlags.None, ref epSender, ReceivedData, null); 411 m_socket.BeginReceiveFrom(RecvBuffer, 0, RecvBuffer.Length, SocketFlags.None, ref epSender, ReceivedData, null);
394 412
395 m_log.Info("[SERVER]: Listening on port " + newPort); 413 m_log.Info("[UDPSERVER]: Listening on port " + newPort);
396 } 414 }
397 415
398 public virtual void RegisterPacketServer(LLPacketServer server) 416 public virtual void RegisterPacketServer(LLPacketServer server)
@@ -409,7 +427,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
409 sendto = (EndPoint)clientCircuits_reverse[circuitcode]; 427 sendto = (EndPoint)clientCircuits_reverse[circuitcode];
410 } catch { 428 } catch {
411 // Exceptions here mean there is no circuit 429 // Exceptions here mean there is no circuit
412 m_log.Warn("Circuit not found, not sending packet"); 430 m_log.Warn("[CLIENT]: Circuit not found, not sending packet");
413 return; 431 return;
414 } 432 }
415 433
@@ -448,7 +466,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
448 else 466 else
449 { 467 {
450 m_log.DebugFormat( 468 m_log.DebugFormat(
451 "[UDPSERVER]: endpoint for circuit code {0} in RemoveClientCircuit() was unexpectedly null!", circuitcode); 469 "[CLIENT]: endpoint for circuit code {0} in RemoveClientCircuit() was unexpectedly null!", circuitcode);
452 } 470 }
453 } 471 }
454 lock (proxyCircuits) 472 lock (proxyCircuits)
@@ -472,14 +490,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP
472 if (!clientCircuits.ContainsKey(userEP)) 490 if (!clientCircuits.ContainsKey(userEP))
473 clientCircuits.Add(userEP, useCircuit.CircuitCode.Code); 491 clientCircuits.Add(userEP, useCircuit.CircuitCode.Code);
474 else 492 else
475 m_log.Error("[UDPSERVER]: clientCircuits already contans entry for user " + useCircuit.CircuitCode.Code.ToString() + ". NOT adding."); 493 m_log.Error("[CLIENT]: clientCircuits already contans entry for user " + useCircuit.CircuitCode.Code.ToString() + ". NOT adding.");
476 } 494 }
477 495
478 // This data structure is synchronized, so we don't need the lock 496 // This data structure is synchronized, so we don't need the lock
479 if (!clientCircuits_reverse.ContainsKey(useCircuit.CircuitCode.Code)) 497 if (!clientCircuits_reverse.ContainsKey(useCircuit.CircuitCode.Code))
480 clientCircuits_reverse.Add(useCircuit.CircuitCode.Code, userEP); 498 clientCircuits_reverse.Add(useCircuit.CircuitCode.Code, userEP);
481 else 499 else
482 m_log.Error("[UDPSERVER]: clientCurcuits_reverse already contains entry for user " + useCircuit.CircuitCode.Code.ToString() + ". NOT adding."); 500 m_log.Error("[CLIENT]: clientCurcuits_reverse already contains entry for user " + useCircuit.CircuitCode.Code.ToString() + ". NOT adding.");
483 501
484 lock (proxyCircuits) 502 lock (proxyCircuits)
485 { 503 {
@@ -495,7 +513,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
495 } 513 }
496 } 514 }
497 515
498 PacketServer.AddNewClient(userEP, useCircuit, m_assetCache, m_authenticateSessionsClass, proxyEP); 516 PacketServer.AddNewClient(userEP, useCircuit, m_assetCache, m_circuitManager, proxyEP);
499 } 517 }
500 } 518 }
501} 519}