diff options
author | MW | 2007-05-16 17:35:27 +0000 |
---|---|---|
committer | MW | 2007-05-16 17:35:27 +0000 |
commit | 1e9a0220e69a62dd45b53753537fb4563e50412c (patch) | |
tree | bfe79152761b164dbd437b60dc025aa1f0c8c3fc /OpenSim.RegionServer | |
parent | * removed unused new-login.dat (diff) | |
download | opensim-SC-1e9a0220e69a62dd45b53753537fb4563e50412c.zip opensim-SC-1e9a0220e69a62dd45b53753537fb4563e50412c.tar.gz opensim-SC-1e9a0220e69a62dd45b53753537fb4563e50412c.tar.bz2 opensim-SC-1e9a0220e69a62dd45b53753537fb4563e50412c.tar.xz |
Quite big change to how Sessions/circuits are Authenticated. Seems to work okay but needs a lot more testing.
Diffstat (limited to 'OpenSim.RegionServer')
-rw-r--r-- | OpenSim.RegionServer/AuthenticateSessionsBase.cs | 67 | ||||
-rw-r--r-- | OpenSim.RegionServer/AuthenticateSessionsLocal.cs | 30 | ||||
-rw-r--r-- | OpenSim.RegionServer/AuthenticateSessionsRemote.cs | 44 | ||||
-rw-r--r-- | OpenSim.RegionServer/OpenSim.RegionServer.csproj | 61 | ||||
-rw-r--r-- | OpenSim.RegionServer/OpenSim.RegionServer.dll.build | 2 | ||||
-rw-r--r-- | OpenSim.RegionServer/OpenSimMain.cs | 52 | ||||
-rw-r--r-- | OpenSim.RegionServer/SimClient.cs | 6 | ||||
-rw-r--r-- | OpenSim.RegionServer/UDPServer.cs | 7 |
8 files changed, 208 insertions, 61 deletions
diff --git a/OpenSim.RegionServer/AuthenticateSessionsBase.cs b/OpenSim.RegionServer/AuthenticateSessionsBase.cs new file mode 100644 index 0000000..019fcc2 --- /dev/null +++ b/OpenSim.RegionServer/AuthenticateSessionsBase.cs | |||
@@ -0,0 +1,67 @@ | |||
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Text; | ||
4 | using libsecondlife; | ||
5 | using OpenSim.Framework.Interfaces; | ||
6 | using OpenSim.Framework.Types; | ||
7 | |||
8 | namespace OpenSim | ||
9 | { | ||
10 | public class AuthenticateSessionsBase | ||
11 | { | ||
12 | private Dictionary<uint, AgentCircuitData> AgentCircuits = new Dictionary<uint, AgentCircuitData>(); | ||
13 | |||
14 | public AuthenticateSessionsBase() | ||
15 | { | ||
16 | |||
17 | } | ||
18 | |||
19 | public virtual AuthenticateResponse AuthenticateSession(LLUUID sessionID, LLUUID agentID, uint circuitcode) | ||
20 | { | ||
21 | AgentCircuitData validcircuit = null; | ||
22 | if (this.AgentCircuits.ContainsKey(circuitcode)) | ||
23 | { | ||
24 | validcircuit = this.AgentCircuits[circuitcode]; | ||
25 | } | ||
26 | AuthenticateResponse user = new AuthenticateResponse(); | ||
27 | if (validcircuit == null) | ||
28 | { | ||
29 | //don't have this circuit code in our list | ||
30 | user.Authorised = false; | ||
31 | return (user); | ||
32 | } | ||
33 | |||
34 | if ((sessionID == validcircuit.SessionID) && (agentID == validcircuit.AgentID)) | ||
35 | { | ||
36 | user.Authorised = true; | ||
37 | user.LoginInfo = new Login(); | ||
38 | user.LoginInfo.Agent = agentID; | ||
39 | user.LoginInfo.Session = sessionID; | ||
40 | user.LoginInfo.SecureSession = validcircuit.SecureSessionID; | ||
41 | user.LoginInfo.First = validcircuit.firstname; | ||
42 | user.LoginInfo.Last = validcircuit.lastname; | ||
43 | user.LoginInfo.InventoryFolder = validcircuit.InventoryFolder; | ||
44 | user.LoginInfo.BaseFolder = validcircuit.BaseFolder; | ||
45 | } | ||
46 | else | ||
47 | { | ||
48 | // Invalid | ||
49 | user.Authorised = false; | ||
50 | } | ||
51 | |||
52 | return (user); | ||
53 | } | ||
54 | |||
55 | public virtual void AddNewCircuit(uint circuitCode, AgentCircuitData agentData) | ||
56 | { | ||
57 | if (this.AgentCircuits.ContainsKey(circuitCode)) | ||
58 | { | ||
59 | this.AgentCircuits[circuitCode] = agentData; | ||
60 | } | ||
61 | else | ||
62 | { | ||
63 | this.AgentCircuits.Add(circuitCode, agentData); | ||
64 | } | ||
65 | } | ||
66 | } | ||
67 | } | ||
diff --git a/OpenSim.RegionServer/AuthenticateSessionsLocal.cs b/OpenSim.RegionServer/AuthenticateSessionsLocal.cs new file mode 100644 index 0000000..ca46355 --- /dev/null +++ b/OpenSim.RegionServer/AuthenticateSessionsLocal.cs | |||
@@ -0,0 +1,30 @@ | |||
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Text; | ||
4 | using OpenSim.Framework.Types; | ||
5 | |||
6 | namespace OpenSim | ||
7 | { | ||
8 | public class AuthenticateSessionsLocal : AuthenticateSessionsBase | ||
9 | { | ||
10 | public AuthenticateSessionsLocal() | ||
11 | { | ||
12 | |||
13 | } | ||
14 | |||
15 | public void AddNewSession(Login loginData) | ||
16 | { | ||
17 | AgentCircuitData agent = new AgentCircuitData(); | ||
18 | agent.AgentID = loginData.Agent; | ||
19 | agent.firstname = loginData.First; | ||
20 | agent.lastname = loginData.Last; | ||
21 | agent.SessionID = loginData.Session; | ||
22 | agent.SecureSessionID = loginData.SecureSession; | ||
23 | agent.circuitcode = loginData.CircuitCode; | ||
24 | agent.BaseFolder = loginData.BaseFolder; | ||
25 | agent.InventoryFolder = loginData.InventoryFolder; | ||
26 | |||
27 | this.AddNewCircuit(agent.circuitcode, agent); | ||
28 | } | ||
29 | } | ||
30 | } | ||
diff --git a/OpenSim.RegionServer/AuthenticateSessionsRemote.cs b/OpenSim.RegionServer/AuthenticateSessionsRemote.cs new file mode 100644 index 0000000..57c98e4 --- /dev/null +++ b/OpenSim.RegionServer/AuthenticateSessionsRemote.cs | |||
@@ -0,0 +1,44 @@ | |||
1 | using System; | ||
2 | using System.Collections; | ||
3 | using System.Collections.Generic; | ||
4 | using System.Text; | ||
5 | using System.Xml; | ||
6 | using libsecondlife; | ||
7 | using OpenSim.Framework.Types; | ||
8 | using Nwc.XmlRpc; | ||
9 | |||
10 | namespace OpenSim | ||
11 | { | ||
12 | public class AuthenticateSessionsRemote : AuthenticateSessionsBase | ||
13 | { | ||
14 | public AuthenticateSessionsRemote() | ||
15 | { | ||
16 | |||
17 | } | ||
18 | |||
19 | public XmlRpcResponse ExpectUser(XmlRpcRequest request) | ||
20 | { | ||
21 | Hashtable requestData = (Hashtable)request.Params[0]; | ||
22 | AgentCircuitData agentData = new AgentCircuitData(); | ||
23 | agentData.SessionID = new LLUUID((string)requestData["session_id"]); | ||
24 | agentData.SecureSessionID = new LLUUID((string)requestData["secure_session_id"]); | ||
25 | agentData.firstname = (string)requestData["firstname"]; | ||
26 | agentData.lastname = (string)requestData["lastname"]; | ||
27 | agentData.AgentID = new LLUUID((string)requestData["agent_id"]); | ||
28 | agentData.circuitcode = Convert.ToUInt32(requestData["circuit_code"]); | ||
29 | if (requestData.ContainsKey("child_agent") && requestData["child_agent"].Equals("1")) | ||
30 | { | ||
31 | agentData.child = true; | ||
32 | } | ||
33 | else | ||
34 | { | ||
35 | agentData.startpos = new LLVector3(Convert.ToUInt32(requestData["startpos_x"]), Convert.ToUInt32(requestData["startpos_y"]), Convert.ToUInt32(requestData["startpos_z"])); | ||
36 | agentData.child = false; | ||
37 | } | ||
38 | |||
39 | this.AddNewCircuit(agentData.circuitcode, agentData); | ||
40 | |||
41 | return new XmlRpcResponse(); | ||
42 | } | ||
43 | } | ||
44 | } | ||
diff --git a/OpenSim.RegionServer/OpenSim.RegionServer.csproj b/OpenSim.RegionServer/OpenSim.RegionServer.csproj index b4868bd..b5db7db 100644 --- a/OpenSim.RegionServer/OpenSim.RegionServer.csproj +++ b/OpenSim.RegionServer/OpenSim.RegionServer.csproj | |||
@@ -1,4 +1,4 @@ | |||
1 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | 1 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
2 | <PropertyGroup> | 2 | <PropertyGroup> |
3 | <ProjectType>Local</ProjectType> | 3 | <ProjectType>Local</ProjectType> |
4 | <ProductVersion>8.0.50727</ProductVersion> | 4 | <ProductVersion>8.0.50727</ProductVersion> |
@@ -6,7 +6,8 @@ | |||
6 | <ProjectGuid>{632E1BFD-0000-0000-0000-000000000000}</ProjectGuid> | 6 | <ProjectGuid>{632E1BFD-0000-0000-0000-000000000000}</ProjectGuid> |
7 | <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | 7 | <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
8 | <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> | 8 | <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
9 | <ApplicationIcon></ApplicationIcon> | 9 | <ApplicationIcon> |
10 | </ApplicationIcon> | ||
10 | <AssemblyKeyContainerName> | 11 | <AssemblyKeyContainerName> |
11 | </AssemblyKeyContainerName> | 12 | </AssemblyKeyContainerName> |
12 | <AssemblyName>OpenSim.RegionServer</AssemblyName> | 13 | <AssemblyName>OpenSim.RegionServer</AssemblyName> |
@@ -15,9 +16,11 @@ | |||
15 | <DefaultTargetSchema>IE50</DefaultTargetSchema> | 16 | <DefaultTargetSchema>IE50</DefaultTargetSchema> |
16 | <DelaySign>false</DelaySign> | 17 | <DelaySign>false</DelaySign> |
17 | <OutputType>Library</OutputType> | 18 | <OutputType>Library</OutputType> |
18 | <AppDesignerFolder></AppDesignerFolder> | 19 | <AppDesignerFolder> |
20 | </AppDesignerFolder> | ||
19 | <RootNamespace>OpenSim.RegionServer</RootNamespace> | 21 | <RootNamespace>OpenSim.RegionServer</RootNamespace> |
20 | <StartupObject></StartupObject> | 22 | <StartupObject> |
23 | </StartupObject> | ||
21 | <FileUpgradeFlags> | 24 | <FileUpgradeFlags> |
22 | </FileUpgradeFlags> | 25 | </FileUpgradeFlags> |
23 | </PropertyGroup> | 26 | </PropertyGroup> |
@@ -28,7 +31,8 @@ | |||
28 | <ConfigurationOverrideFile> | 31 | <ConfigurationOverrideFile> |
29 | </ConfigurationOverrideFile> | 32 | </ConfigurationOverrideFile> |
30 | <DefineConstants>TRACE;DEBUG</DefineConstants> | 33 | <DefineConstants>TRACE;DEBUG</DefineConstants> |
31 | <DocumentationFile></DocumentationFile> | 34 | <DocumentationFile> |
35 | </DocumentationFile> | ||
32 | <DebugSymbols>True</DebugSymbols> | 36 | <DebugSymbols>True</DebugSymbols> |
33 | <FileAlignment>4096</FileAlignment> | 37 | <FileAlignment>4096</FileAlignment> |
34 | <Optimize>False</Optimize> | 38 | <Optimize>False</Optimize> |
@@ -37,7 +41,8 @@ | |||
37 | <RemoveIntegerChecks>False</RemoveIntegerChecks> | 41 | <RemoveIntegerChecks>False</RemoveIntegerChecks> |
38 | <TreatWarningsAsErrors>False</TreatWarningsAsErrors> | 42 | <TreatWarningsAsErrors>False</TreatWarningsAsErrors> |
39 | <WarningLevel>4</WarningLevel> | 43 | <WarningLevel>4</WarningLevel> |
40 | <NoWarn></NoWarn> | 44 | <NoWarn> |
45 | </NoWarn> | ||
41 | </PropertyGroup> | 46 | </PropertyGroup> |
42 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> | 47 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |
43 | <AllowUnsafeBlocks>False</AllowUnsafeBlocks> | 48 | <AllowUnsafeBlocks>False</AllowUnsafeBlocks> |
@@ -46,7 +51,8 @@ | |||
46 | <ConfigurationOverrideFile> | 51 | <ConfigurationOverrideFile> |
47 | </ConfigurationOverrideFile> | 52 | </ConfigurationOverrideFile> |
48 | <DefineConstants>TRACE</DefineConstants> | 53 | <DefineConstants>TRACE</DefineConstants> |
49 | <DocumentationFile></DocumentationFile> | 54 | <DocumentationFile> |
55 | </DocumentationFile> | ||
50 | <DebugSymbols>False</DebugSymbols> | 56 | <DebugSymbols>False</DebugSymbols> |
51 | <FileAlignment>4096</FileAlignment> | 57 | <FileAlignment>4096</FileAlignment> |
52 | <Optimize>True</Optimize> | 58 | <Optimize>True</Optimize> |
@@ -55,26 +61,28 @@ | |||
55 | <RemoveIntegerChecks>False</RemoveIntegerChecks> | 61 | <RemoveIntegerChecks>False</RemoveIntegerChecks> |
56 | <TreatWarningsAsErrors>False</TreatWarningsAsErrors> | 62 | <TreatWarningsAsErrors>False</TreatWarningsAsErrors> |
57 | <WarningLevel>4</WarningLevel> | 63 | <WarningLevel>4</WarningLevel> |
58 | <NoWarn></NoWarn> | 64 | <NoWarn> |
65 | </NoWarn> | ||
59 | </PropertyGroup> | 66 | </PropertyGroup> |
60 | <ItemGroup> | 67 | <ItemGroup> |
61 | <Reference Include="System" > | 68 | <Reference Include="System"> |
62 | <HintPath>System.dll</HintPath> | 69 | <HintPath>System.dll</HintPath> |
63 | <Private>False</Private> | 70 | <Private>False</Private> |
64 | </Reference> | 71 | </Reference> |
65 | <Reference Include="System.Xml" > | 72 | <Reference Include="System.Data" /> |
73 | <Reference Include="System.Xml"> | ||
66 | <HintPath>System.Xml.dll</HintPath> | 74 | <HintPath>System.Xml.dll</HintPath> |
67 | <Private>False</Private> | 75 | <Private>False</Private> |
68 | </Reference> | 76 | </Reference> |
69 | <Reference Include="libsecondlife.dll" > | 77 | <Reference Include="libsecondlife.dll"> |
70 | <HintPath>..\bin\libsecondlife.dll</HintPath> | 78 | <HintPath>..\bin\libsecondlife.dll</HintPath> |
71 | <Private>False</Private> | 79 | <Private>False</Private> |
72 | </Reference> | 80 | </Reference> |
73 | <Reference Include="Axiom.MathLib.dll" > | 81 | <Reference Include="Axiom.MathLib.dll"> |
74 | <HintPath>..\bin\Axiom.MathLib.dll</HintPath> | 82 | <HintPath>..\bin\Axiom.MathLib.dll</HintPath> |
75 | <Private>False</Private> | 83 | <Private>False</Private> |
76 | </Reference> | 84 | </Reference> |
77 | <Reference Include="Db4objects.Db4o.dll" > | 85 | <Reference Include="Db4objects.Db4o.dll"> |
78 | <HintPath>..\bin\Db4objects.Db4o.dll</HintPath> | 86 | <HintPath>..\bin\Db4objects.Db4o.dll</HintPath> |
79 | <Private>False</Private> | 87 | <Private>False</Private> |
80 | </Reference> | 88 | </Reference> |
@@ -84,49 +92,52 @@ | |||
84 | <Name>OpenSim.Terrain.BasicTerrain</Name> | 92 | <Name>OpenSim.Terrain.BasicTerrain</Name> |
85 | <Project>{2270B8FE-0000-0000-0000-000000000000}</Project> | 93 | <Project>{2270B8FE-0000-0000-0000-000000000000}</Project> |
86 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> | 94 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> |
87 | <Private>False</Private> | 95 | <Private>False</Private> |
88 | </ProjectReference> | 96 | </ProjectReference> |
89 | <ProjectReference Include="..\OpenSim.Framework\OpenSim.Framework.csproj"> | 97 | <ProjectReference Include="..\OpenSim.Framework\OpenSim.Framework.csproj"> |
90 | <Name>OpenSim.Framework</Name> | 98 | <Name>OpenSim.Framework</Name> |
91 | <Project>{8ACA2445-0000-0000-0000-000000000000}</Project> | 99 | <Project>{8ACA2445-0000-0000-0000-000000000000}</Project> |
92 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> | 100 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> |
93 | <Private>False</Private> | 101 | <Private>False</Private> |
94 | </ProjectReference> | 102 | </ProjectReference> |
95 | <ProjectReference Include="..\OpenSim.Framework.Console\OpenSim.Framework.Console.csproj"> | 103 | <ProjectReference Include="..\OpenSim.Framework.Console\OpenSim.Framework.Console.csproj"> |
96 | <Name>OpenSim.Framework.Console</Name> | 104 | <Name>OpenSim.Framework.Console</Name> |
97 | <Project>{A7CD0630-0000-0000-0000-000000000000}</Project> | 105 | <Project>{A7CD0630-0000-0000-0000-000000000000}</Project> |
98 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> | 106 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> |
99 | <Private>False</Private> | 107 | <Private>False</Private> |
100 | </ProjectReference> | 108 | </ProjectReference> |
101 | <ProjectReference Include="..\OpenSim.GenericConfig\Xml\OpenSim.GenericConfig.Xml.csproj"> | 109 | <ProjectReference Include="..\OpenSim.GenericConfig\Xml\OpenSim.GenericConfig.Xml.csproj"> |
102 | <Name>OpenSim.GenericConfig.Xml</Name> | 110 | <Name>OpenSim.GenericConfig.Xml</Name> |
103 | <Project>{E88EF749-0000-0000-0000-000000000000}</Project> | 111 | <Project>{E88EF749-0000-0000-0000-000000000000}</Project> |
104 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> | 112 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> |
105 | <Private>False</Private> | 113 | <Private>False</Private> |
106 | </ProjectReference> | 114 | </ProjectReference> |
107 | <ProjectReference Include="..\OpenSim.Physics\Manager\OpenSim.Physics.Manager.csproj"> | 115 | <ProjectReference Include="..\OpenSim.Physics\Manager\OpenSim.Physics.Manager.csproj"> |
108 | <Name>OpenSim.Physics.Manager</Name> | 116 | <Name>OpenSim.Physics.Manager</Name> |
109 | <Project>{8BE16150-0000-0000-0000-000000000000}</Project> | 117 | <Project>{8BE16150-0000-0000-0000-000000000000}</Project> |
110 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> | 118 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> |
111 | <Private>False</Private> | 119 | <Private>False</Private> |
112 | </ProjectReference> | 120 | </ProjectReference> |
113 | <ProjectReference Include="..\OpenSim.Servers\OpenSim.Servers.csproj"> | 121 | <ProjectReference Include="..\OpenSim.Servers\OpenSim.Servers.csproj"> |
114 | <Name>OpenSim.Servers</Name> | 122 | <Name>OpenSim.Servers</Name> |
115 | <Project>{8BB20F0A-0000-0000-0000-000000000000}</Project> | 123 | <Project>{8BB20F0A-0000-0000-0000-000000000000}</Project> |
116 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> | 124 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> |
117 | <Private>False</Private> | 125 | <Private>False</Private> |
118 | </ProjectReference> | 126 | </ProjectReference> |
119 | <ProjectReference Include="..\XmlRpcCS\XMLRPC.csproj"> | 127 | <ProjectReference Include="..\XmlRpcCS\XMLRPC.csproj"> |
120 | <Name>XMLRPC</Name> | 128 | <Name>XMLRPC</Name> |
121 | <Project>{8E81D43C-0000-0000-0000-000000000000}</Project> | 129 | <Project>{8E81D43C-0000-0000-0000-000000000000}</Project> |
122 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> | 130 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> |
123 | <Private>False</Private> | 131 | <Private>False</Private> |
124 | </ProjectReference> | 132 | </ProjectReference> |
125 | </ItemGroup> | 133 | </ItemGroup> |
126 | <ItemGroup> | 134 | <ItemGroup> |
127 | <Compile Include="AgentAssetUpload.cs"> | 135 | <Compile Include="AgentAssetUpload.cs"> |
128 | <SubType>Code</SubType> | 136 | <SubType>Code</SubType> |
129 | </Compile> | 137 | </Compile> |
138 | <Compile Include="AuthenticateSessionsBase.cs" /> | ||
139 | <Compile Include="AuthenticateSessionsLocal.cs" /> | ||
140 | <Compile Include="AuthenticateSessionsRemote.cs" /> | ||
130 | <Compile Include="Grid.cs"> | 141 | <Compile Include="Grid.cs"> |
131 | <SubType>Code</SubType> | 142 | <SubType>Code</SubType> |
132 | </Compile> | 143 | </Compile> |
@@ -150,12 +161,16 @@ | |||
150 | </Compile> | 161 | </Compile> |
151 | <Compile Include="SimClient.Grid.cs"> | 162 | <Compile Include="SimClient.Grid.cs"> |
152 | <SubType>Code</SubType> | 163 | <SubType>Code</SubType> |
164 | <DependentUpon>SimClient.cs</DependentUpon> | ||
153 | </Compile> | 165 | </Compile> |
154 | <Compile Include="SimClient.PacketHandlers.cs"> | 166 | <Compile Include="SimClient.PacketHandlers.cs"> |
155 | <SubType>Code</SubType> | 167 | <SubType>Code</SubType> |
168 | <DependentUpon>SimClient.cs</DependentUpon> | ||
156 | </Compile> | 169 | </Compile> |
157 | <Compile Include="SimClient.ProcessPackets.cs"> | 170 | <Compile Include="SimClient.ProcessPackets.cs"> |
158 | <SubType>Code</SubType> | 171 | <SubType>Code</SubType> |
172 | <DependentUpon>SimClient.cs</DependentUpon> | ||
173 | <SubType>Code</SubType> | ||
159 | </Compile> | 174 | </Compile> |
160 | <Compile Include="SimClientBase.cs"> | 175 | <Compile Include="SimClientBase.cs"> |
161 | <SubType>Code</SubType> | 176 | <SubType>Code</SubType> |
@@ -183,12 +198,14 @@ | |||
183 | </Compile> | 198 | </Compile> |
184 | <Compile Include="world\Avatar.Client.cs"> | 199 | <Compile Include="world\Avatar.Client.cs"> |
185 | <SubType>Code</SubType> | 200 | <SubType>Code</SubType> |
201 | <DependentUpon>Avatar.cs</DependentUpon> | ||
186 | </Compile> | 202 | </Compile> |
187 | <Compile Include="world\Avatar.cs"> | 203 | <Compile Include="world\Avatar.cs"> |
188 | <SubType>Code</SubType> | 204 | <SubType>Code</SubType> |
189 | </Compile> | 205 | </Compile> |
190 | <Compile Include="world\Avatar.Update.cs"> | 206 | <Compile Include="world\Avatar.Update.cs"> |
191 | <SubType>Code</SubType> | 207 | <SubType>Code</SubType> |
208 | <DependentUpon>Avatar.cs</DependentUpon> | ||
192 | </Compile> | 209 | </Compile> |
193 | <Compile Include="world\AvatarAnimations.cs"> | 210 | <Compile Include="world\AvatarAnimations.cs"> |
194 | <SubType>Code</SubType> | 211 | <SubType>Code</SubType> |
@@ -210,9 +227,11 @@ | |||
210 | </Compile> | 227 | </Compile> |
211 | <Compile Include="world\World.PacketHandlers.cs"> | 228 | <Compile Include="world\World.PacketHandlers.cs"> |
212 | <SubType>Code</SubType> | 229 | <SubType>Code</SubType> |
230 | <DependentUpon>World.cs</DependentUpon> | ||
213 | </Compile> | 231 | </Compile> |
214 | <Compile Include="world\World.Scripting.cs"> | 232 | <Compile Include="world\World.Scripting.cs"> |
215 | <SubType>Code</SubType> | 233 | <SubType>Code</SubType> |
234 | <DependentUpon>World.cs</DependentUpon> | ||
216 | </Compile> | 235 | </Compile> |
217 | <Compile Include="world\scripting\IScriptContext.cs"> | 236 | <Compile Include="world\scripting\IScriptContext.cs"> |
218 | <SubType>Code</SubType> | 237 | <SubType>Code</SubType> |
@@ -240,4 +259,4 @@ | |||
240 | <PostBuildEvent> | 259 | <PostBuildEvent> |
241 | </PostBuildEvent> | 260 | </PostBuildEvent> |
242 | </PropertyGroup> | 261 | </PropertyGroup> |
243 | </Project> | 262 | </Project> \ No newline at end of file |
diff --git a/OpenSim.RegionServer/OpenSim.RegionServer.dll.build b/OpenSim.RegionServer/OpenSim.RegionServer.dll.build index 25f4b60..cff8711 100644 --- a/OpenSim.RegionServer/OpenSim.RegionServer.dll.build +++ b/OpenSim.RegionServer/OpenSim.RegionServer.dll.build | |||
@@ -12,6 +12,8 @@ | |||
12 | </resources> | 12 | </resources> |
13 | <sources failonempty="true"> | 13 | <sources failonempty="true"> |
14 | <include name="AgentAssetUpload.cs" /> | 14 | <include name="AgentAssetUpload.cs" /> |
15 | <include name="AuthenticateSessionsBase.cs" /> | ||
16 | <include name="AuthenticateSessionsLocal.cs" /> | ||
15 | <include name="Grid.cs" /> | 17 | <include name="Grid.cs" /> |
16 | <include name="OpenSimMain.cs" /> | 18 | <include name="OpenSimMain.cs" /> |
17 | <include name="OpenSimNetworkHandler.cs" /> | 19 | <include name="OpenSimNetworkHandler.cs" /> |
diff --git a/OpenSim.RegionServer/OpenSimMain.cs b/OpenSim.RegionServer/OpenSimMain.cs index 6b89bfe..55dab3b 100644 --- a/OpenSim.RegionServer/OpenSimMain.cs +++ b/OpenSim.RegionServer/OpenSimMain.cs | |||
@@ -77,6 +77,7 @@ namespace OpenSim | |||
77 | 77 | ||
78 | private UDPServer m_udpServer; | 78 | private UDPServer m_udpServer; |
79 | protected BaseHttpServer httpServer; | 79 | protected BaseHttpServer httpServer; |
80 | private AuthenticateSessionsBase AuthenticateSessionsHandler; | ||
80 | 81 | ||
81 | protected ConsoleBase m_console; | 82 | protected ConsoleBase m_console; |
82 | 83 | ||
@@ -144,8 +145,19 @@ namespace OpenSim | |||
144 | Environment.Exit(1); | 145 | Environment.Exit(1); |
145 | } | 146 | } |
146 | 147 | ||
147 | //PacketServer packetServer = new PacketServer(this); | 148 | //Authenticate Session Handler |
148 | m_udpServer = new UDPServer(this.regionData.IPListenPort, this.GridServers, this.AssetCache, this.InventoryCache, this.regionData, this.m_sandbox, this.user_accounts, this.m_console); | 149 | if (m_sandbox) |
150 | { | ||
151 | AuthenticateSessionsLocal authen = new AuthenticateSessionsLocal(); | ||
152 | this.AuthenticateSessionsHandler = authen; | ||
153 | } | ||
154 | else | ||
155 | { | ||
156 | AuthenticateSessionsRemote authen = new AuthenticateSessionsRemote(); | ||
157 | this.AuthenticateSessionsHandler = authen; | ||
158 | } | ||
159 | |||
160 | m_udpServer = new UDPServer(this.regionData.IPListenPort, this.GridServers, this.AssetCache, this.InventoryCache, this.regionData, this.m_sandbox, this.user_accounts, this.m_console, this.AuthenticateSessionsHandler); | ||
149 | 161 | ||
150 | //should be passing a IGenericConfig object to these so they can read the config data they want from it | 162 | //should be passing a IGenericConfig object to these so they can read the config data they want from it |
151 | GridServers.AssetServer.SetServerInfo(regionData.AssetURL, regionData.AssetSendKey); | 163 | GridServers.AssetServer.SetServerInfo(regionData.AssetURL, regionData.AssetSendKey); |
@@ -174,8 +186,9 @@ namespace OpenSim | |||
174 | bool sandBoxWithLoginServer = m_loginserver && m_sandbox; | 186 | bool sandBoxWithLoginServer = m_loginserver && m_sandbox; |
175 | if (sandBoxWithLoginServer) | 187 | if (sandBoxWithLoginServer) |
176 | { | 188 | { |
177 | loginServer = new LoginServer(gridServer, regionData.IPListenAddr, regionData.IPListenPort, regionData.RegionLocX, regionData.RegionLocY, this.user_accounts); | 189 | loginServer = new LoginServer( regionData.IPListenAddr, regionData.IPListenPort, regionData.RegionLocX, regionData.RegionLocY, this.user_accounts); |
178 | loginServer.Startup(); | 190 | loginServer.Startup(); |
191 | loginServer.SetSessionHandler(((AuthenticateSessionsLocal) this.AuthenticateSessionsHandler).AddNewSession); | ||
179 | 192 | ||
180 | if (user_accounts) | 193 | if (user_accounts) |
181 | { | 194 | { |
@@ -285,38 +298,7 @@ namespace OpenSim | |||
285 | { | 298 | { |
286 | 299 | ||
287 | // we are in Grid mode so set a XmlRpc handler to handle "expect_user" calls from the user server | 300 | // we are in Grid mode so set a XmlRpc handler to handle "expect_user" calls from the user server |
288 | httpServer.AddXmlRPCHandler("expect_user", | 301 | httpServer.AddXmlRPCHandler("expect_user", ((AuthenticateSessionsRemote)this.AuthenticateSessionsHandler).ExpectUser ); |
289 | delegate(XmlRpcRequest request) | ||
290 | { | ||
291 | Hashtable requestData = (Hashtable)request.Params[0]; | ||
292 | AgentCircuitData agent_data = new AgentCircuitData(); | ||
293 | agent_data.SessionID = new LLUUID((string)requestData["session_id"]); | ||
294 | agent_data.SecureSessionID = new LLUUID((string)requestData["secure_session_id"]); | ||
295 | agent_data.firstname = (string)requestData["firstname"]; | ||
296 | agent_data.lastname = (string)requestData["lastname"]; | ||
297 | agent_data.AgentID = new LLUUID((string)requestData["agent_id"]); | ||
298 | agent_data.circuitcode = Convert.ToUInt32(requestData["circuit_code"]); | ||
299 | if (requestData.ContainsKey("child_agent") && requestData["child_agent"].Equals("1")) | ||
300 | { | ||
301 | agent_data.child = true; | ||
302 | } | ||
303 | else | ||
304 | { | ||
305 | agent_data.startpos = new LLVector3(Convert.ToUInt32(requestData["startpos_x"]), Convert.ToUInt32(requestData["startpos_y"]), Convert.ToUInt32(requestData["startpos_z"])); | ||
306 | agent_data.child = false; | ||
307 | } | ||
308 | |||
309 | if (((RemoteGridBase)this.GridServers.GridServer).agentcircuits.ContainsKey((uint)agent_data.circuitcode)) | ||
310 | { | ||
311 | ((RemoteGridBase)this.GridServers.GridServer).agentcircuits[(uint)agent_data.circuitcode] = agent_data; | ||
312 | } | ||
313 | else | ||
314 | { | ||
315 | ((RemoteGridBase)this.GridServers.GridServer).agentcircuits.Add((uint)agent_data.circuitcode, agent_data); | ||
316 | } | ||
317 | |||
318 | return new XmlRpcResponse(); | ||
319 | }); | ||
320 | 302 | ||
321 | httpServer.AddXmlRPCHandler("agent_crossing", | 303 | httpServer.AddXmlRPCHandler("agent_crossing", |
322 | delegate(XmlRpcRequest request) | 304 | delegate(XmlRpcRequest request) |
diff --git a/OpenSim.RegionServer/SimClient.cs b/OpenSim.RegionServer/SimClient.cs index 5bd098b..4cf2813 100644 --- a/OpenSim.RegionServer/SimClient.cs +++ b/OpenSim.RegionServer/SimClient.cs | |||
@@ -113,14 +113,14 @@ namespace OpenSim | |||
113 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "OpenSimClient.cs - Started up new client thread to handle incoming request"); | 113 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "OpenSimClient.cs - Started up new client thread to handle incoming request"); |
114 | cirpack = initialcirpack; | 114 | cirpack = initialcirpack; |
115 | userEP = remoteEP; | 115 | userEP = remoteEP; |
116 | if (m_gridServer.GetName() == "Remote") | 116 | /* if (m_gridServer.GetName() == "Remote") |
117 | { | 117 | { |
118 | this.startpos = ((RemoteGridBase)m_gridServer).agentcircuits[initialcirpack.CircuitCode.Code].startpos; | 118 | this.startpos = ((RemoteGridBase)m_gridServer).agentcircuits[initialcirpack.CircuitCode.Code].startpos; |
119 | } | 119 | } |
120 | else | 120 | else |
121 | { | 121 | {*/ |
122 | this.startpos = new LLVector3(128, 128, m_world.Terrain[(int)128, (int)128] + 15.0f); // new LLVector3(128.0f, 128.0f, 60f); | 122 | this.startpos = new LLVector3(128, 128, m_world.Terrain[(int)128, (int)128] + 15.0f); // new LLVector3(128.0f, 128.0f, 60f); |
123 | } | 123 | //} |
124 | PacketQueue = new BlockingQueue<QueItem>(); | 124 | PacketQueue = new BlockingQueue<QueItem>(); |
125 | 125 | ||
126 | this.UploadAssets = new AgentAssetUpload(this, m_assetCache, m_inventoryCache); | 126 | this.UploadAssets = new AgentAssetUpload(this, m_assetCache, m_inventoryCache); |
diff --git a/OpenSim.RegionServer/UDPServer.cs b/OpenSim.RegionServer/UDPServer.cs index 0fd3cdb..e4ac042 100644 --- a/OpenSim.RegionServer/UDPServer.cs +++ b/OpenSim.RegionServer/UDPServer.cs | |||
@@ -47,6 +47,8 @@ namespace OpenSim | |||
47 | private bool m_sandbox = false; | 47 | private bool m_sandbox = false; |
48 | private bool user_accounts = false; | 48 | private bool user_accounts = false; |
49 | private ConsoleBase m_console; | 49 | private ConsoleBase m_console; |
50 | private AuthenticateSessionsBase m_authenticateSessionsClass; | ||
51 | |||
50 | public AuthenticateSessionHandler AuthenticateHandler; | 52 | public AuthenticateSessionHandler AuthenticateHandler; |
51 | 53 | ||
52 | public PacketServer PacketServer | 54 | public PacketServer PacketServer |
@@ -70,7 +72,7 @@ namespace OpenSim | |||
70 | } | 72 | } |
71 | } | 73 | } |
72 | 74 | ||
73 | public UDPServer(int port, Grid gridServers, AssetCache assetCache, InventoryCache inventoryCache, RegionInfo _regionData, bool sandbox, bool accounts, ConsoleBase console) | 75 | public UDPServer(int port, Grid gridServers, AssetCache assetCache, InventoryCache inventoryCache, RegionInfo _regionData, bool sandbox, bool accounts, ConsoleBase console , AuthenticateSessionsBase authenticateClass) |
74 | { | 76 | { |
75 | listenPort = port; | 77 | listenPort = port; |
76 | this.m_gridServers = gridServers; | 78 | this.m_gridServers = gridServers; |
@@ -80,10 +82,11 @@ namespace OpenSim | |||
80 | this.m_sandbox = sandbox; | 82 | this.m_sandbox = sandbox; |
81 | this.user_accounts = accounts; | 83 | this.user_accounts = accounts; |
82 | this.m_console = console; | 84 | this.m_console = console; |
85 | this.m_authenticateSessionsClass = authenticateClass; | ||
83 | PacketServer packetServer = new PacketServer(this); | 86 | PacketServer packetServer = new PacketServer(this); |
84 | 87 | ||
85 | //set up delegate for authenticate sessions | 88 | //set up delegate for authenticate sessions |
86 | this.AuthenticateHandler = new AuthenticateSessionHandler(this.m_gridServers.GridServer.AuthenticateSession); | 89 | this.AuthenticateHandler = new AuthenticateSessionHandler(this.m_authenticateSessionsClass.AuthenticateSession); |
87 | } | 90 | } |
88 | 91 | ||
89 | protected virtual void OnReceivedData(IAsyncResult result) | 92 | protected virtual void OnReceivedData(IAsyncResult result) |