@@ -23,24 +23,24 @@ internal static void HandleHailRequest(uint clientId, Stream stream, int channel
23
23
byte [ ] serverDiffieHellmanPublicPart = null ;
24
24
using ( PooledBitReader reader = PooledBitReader . Get ( stream ) )
25
25
{
26
- if ( netManager . NetworkConfig . EnableEncryption )
26
+ if ( NetworkingManager . Singleton . NetworkConfig . EnableEncryption )
27
27
{
28
28
// Read the certificate
29
- if ( netManager . NetworkConfig . SignKeyExchange )
29
+ if ( NetworkingManager . Singleton . NetworkConfig . SignKeyExchange )
30
30
{
31
31
// Allocation justification: This runs on client and only once, at initial connection
32
32
certificate = new X509Certificate2 ( reader . ReadByteArray ( ) ) ;
33
- if ( CryptographyHelper . VerifyCertificate ( certificate , netManager . ConnectedHostname ) )
33
+ if ( CryptographyHelper . VerifyCertificate ( certificate , NetworkingManager . Singleton . ConnectedHostname ) )
34
34
{
35
35
// The certificate is not valid :(
36
36
// Man in the middle.
37
37
if ( LogHelper . CurrentLogLevel <= LogLevel . Normal ) if ( LogHelper . CurrentLogLevel <= LogLevel . Normal ) LogHelper . LogWarning ( "Invalid certificate. Disconnecting" ) ;
38
- netManager . StopClient ( ) ;
38
+ NetworkingManager . Singleton . StopClient ( ) ;
39
39
return ;
40
40
}
41
41
else
42
42
{
43
- netManager . NetworkConfig . ServerX509Certificate = certificate ;
43
+ NetworkingManager . Singleton . NetworkConfig . ServerX509Certificate = certificate ;
44
44
}
45
45
}
46
46
@@ -49,7 +49,7 @@ internal static void HandleHailRequest(uint clientId, Stream stream, int channel
49
49
serverDiffieHellmanPublicPart = reader . ReadByteArray ( ) ;
50
50
51
51
// Verify the key exchange
52
- if ( netManager . NetworkConfig . SignKeyExchange )
52
+ if ( NetworkingManager . Singleton . NetworkConfig . SignKeyExchange )
53
53
{
54
54
byte [ ] serverDiffieHellmanPublicPartSignature = reader . ReadByteArray ( ) ;
55
55
@@ -62,7 +62,7 @@ internal static void HandleHailRequest(uint clientId, Stream stream, int channel
62
62
if ( ! rsa . VerifyData ( serverDiffieHellmanPublicPart , sha , serverDiffieHellmanPublicPartSignature ) )
63
63
{
64
64
if ( LogHelper . CurrentLogLevel <= LogLevel . Normal ) if ( LogHelper . CurrentLogLevel <= LogLevel . Normal ) LogHelper . LogWarning ( "Invalid signature. Disconnecting" ) ;
65
- netManager . StopClient ( ) ;
65
+ NetworkingManager . Singleton . StopClient ( ) ;
66
66
return ;
67
67
}
68
68
}
@@ -75,14 +75,14 @@ internal static void HandleHailRequest(uint clientId, Stream stream, int channel
75
75
{
76
76
using ( PooledBitWriter writer = PooledBitWriter . Get ( outStream ) )
77
77
{
78
- if ( netManager . NetworkConfig . EnableEncryption )
78
+ if ( NetworkingManager . Singleton . NetworkConfig . EnableEncryption )
79
79
{
80
80
// Create a ECDH key
81
81
EllipticDiffieHellman diffieHellman = new EllipticDiffieHellman ( EllipticDiffieHellman . DEFAULT_CURVE , EllipticDiffieHellman . DEFAULT_GENERATOR , EllipticDiffieHellman . DEFAULT_ORDER ) ;
82
- netManager . clientAesKey = diffieHellman . GetSharedSecret ( serverDiffieHellmanPublicPart ) ;
82
+ NetworkingManager . Singleton . clientAesKey = diffieHellman . GetSharedSecret ( serverDiffieHellmanPublicPart ) ;
83
83
byte [ ] diffieHellmanPublicKey = diffieHellman . GetPublicKey ( ) ;
84
84
writer . WriteByteArray ( diffieHellmanPublicKey ) ;
85
- if ( netManager . NetworkConfig . SignKeyExchange )
85
+ if ( NetworkingManager . Singleton . NetworkConfig . SignKeyExchange )
86
86
{
87
87
RSACryptoServiceProvider rsa = certificate . PublicKey . Key as RSACryptoServiceProvider ;
88
88
@@ -108,19 +108,19 @@ internal static void HandleHailRequest(uint clientId, Stream stream, int channel
108
108
// Ran on server
109
109
internal static void HandleHailResponse ( uint clientId , Stream stream , int channelId )
110
110
{
111
- if ( ! netManager . PendingClients . ContainsKey ( clientId ) || netManager . PendingClients [ clientId ] . ConnectionState != PendingClient . State . PendingHail ) return ;
112
- if ( ! netManager . NetworkConfig . EnableEncryption ) return ;
111
+ if ( ! NetworkingManager . Singleton . PendingClients . ContainsKey ( clientId ) || NetworkingManager . Singleton . PendingClients [ clientId ] . ConnectionState != PendingClient . State . PendingHail ) return ;
112
+ if ( ! NetworkingManager . Singleton . NetworkConfig . EnableEncryption ) return ;
113
113
114
114
using ( PooledBitReader reader = PooledBitReader . Get ( stream ) )
115
115
{
116
116
if ( NetworkingManager . Singleton . PendingClients [ clientId ] . KeyExchange != null )
117
117
{
118
118
byte [ ] diffieHellmanPublic = reader . ReadByteArray ( ) ;
119
- netManager . PendingClients [ clientId ] . AesKey = netManager . PendingClients [ clientId ] . KeyExchange . GetSharedSecret ( diffieHellmanPublic ) ;
120
- if ( netManager . NetworkConfig . SignKeyExchange )
119
+ NetworkingManager . Singleton . PendingClients [ clientId ] . AesKey = NetworkingManager . Singleton . PendingClients [ clientId ] . KeyExchange . GetSharedSecret ( diffieHellmanPublic ) ;
120
+ if ( NetworkingManager . Singleton . NetworkConfig . SignKeyExchange )
121
121
{
122
122
byte [ ] diffieHellmanPublicSignature = reader . ReadByteArray ( ) ;
123
- X509Certificate2 certificate = netManager . NetworkConfig . ServerX509Certificate ;
123
+ X509Certificate2 certificate = NetworkingManager . Singleton . NetworkConfig . ServerX509Certificate ;
124
124
RSACryptoServiceProvider rsa = certificate . PrivateKey as RSACryptoServiceProvider ;
125
125
126
126
if ( rsa != null )
@@ -134,7 +134,7 @@ internal static void HandleHailResponse(uint clientId, Stream stream, int channe
134
134
{
135
135
//Man in the middle.
136
136
if ( LogHelper . CurrentLogLevel <= LogLevel . Normal ) if ( LogHelper . CurrentLogLevel <= LogLevel . Normal ) LogHelper . LogWarning ( "Signature doesnt match for the key exchange public part. Disconnecting" ) ;
137
- netManager . DisconnectClient ( clientId ) ;
137
+ NetworkingManager . Singleton . DisconnectClient ( clientId ) ;
138
138
return ;
139
139
}
140
140
}
@@ -147,8 +147,8 @@ internal static void HandleHailResponse(uint clientId, Stream stream, int channe
147
147
}
148
148
}
149
149
150
- netManager . PendingClients [ clientId ] . ConnectionState = PendingClient . State . PendingConnection ;
151
- netManager . PendingClients [ clientId ] . KeyExchange = null ; // Give to GC
150
+ NetworkingManager . Singleton . PendingClients [ clientId ] . ConnectionState = PendingClient . State . PendingConnection ;
151
+ NetworkingManager . Singleton . PendingClients [ clientId ] . KeyExchange = null ; // Give to GC
152
152
153
153
// Send greetings, they have passed all the handshakes
154
154
using ( PooledBitStream outStream = PooledBitStream . Get ( ) )
@@ -173,21 +173,21 @@ internal static void HandleConnectionRequest(uint clientId, Stream stream, int c
173
173
using ( PooledBitReader reader = PooledBitReader . Get ( stream ) )
174
174
{
175
175
ulong configHash = reader . ReadUInt64Packed ( ) ;
176
- if ( ! netManager . NetworkConfig . CompareConfig ( configHash ) )
176
+ if ( ! NetworkingManager . Singleton . NetworkConfig . CompareConfig ( configHash ) )
177
177
{
178
178
if ( LogHelper . CurrentLogLevel <= LogLevel . Normal ) LogHelper . LogWarning ( "NetworkConfiguration mismatch. The configuration between the server and client does not match" ) ;
179
- netManager . DisconnectClient ( clientId ) ;
179
+ NetworkingManager . Singleton . DisconnectClient ( clientId ) ;
180
180
return ;
181
181
}
182
182
183
- if ( netManager . NetworkConfig . ConnectionApproval )
183
+ if ( NetworkingManager . Singleton . NetworkConfig . ConnectionApproval )
184
184
{
185
185
byte [ ] connectionBuffer = reader . ReadByteArray ( ) ;
186
- netManager . ConnectionApprovalCallback ( connectionBuffer , clientId , netManager . HandleApproval ) ;
186
+ NetworkingManager . Singleton . ConnectionApprovalCallback ( connectionBuffer , clientId , NetworkingManager . Singleton . HandleApproval ) ;
187
187
}
188
188
else
189
189
{
190
- netManager . HandleApproval ( clientId , - 1 , true , null , null ) ;
190
+ NetworkingManager . Singleton . HandleApproval ( clientId , - 1 , true , null , null ) ;
191
191
}
192
192
}
193
193
}
@@ -196,10 +196,10 @@ internal static void HandleConnectionApproved(uint clientId, Stream stream, int
196
196
{
197
197
using ( PooledBitReader reader = PooledBitReader . Get ( stream ) )
198
198
{
199
- netManager . LocalClientId = reader . ReadUInt32Packed ( ) ;
199
+ NetworkingManager . Singleton . LocalClientId = reader . ReadUInt32Packed ( ) ;
200
200
uint sceneIndex = 0 ;
201
201
Guid sceneSwitchProgressGuid = new Guid ( ) ;
202
- if ( netManager . NetworkConfig . EnableSceneSwitching )
202
+ if ( NetworkingManager . Singleton . NetworkConfig . EnableSceneSwitching )
203
203
{
204
204
sceneIndex = reader . ReadUInt32Packed ( ) ;
205
205
sceneSwitchProgressGuid = new Guid ( reader . ReadByteArray ( ) ) ;
@@ -208,9 +208,9 @@ internal static void HandleConnectionApproved(uint clientId, Stream stream, int
208
208
float netTime = reader . ReadSinglePacked ( ) ;
209
209
int remoteStamp = reader . ReadInt32Packed ( ) ;
210
210
int msDelay = NetworkingManager . Singleton . NetworkConfig . NetworkTransport . GetRemoteDelayTimeMS ( clientId , remoteStamp , out byte error ) ;
211
- netManager . NetworkTime = netTime + ( msDelay / 1000f ) ;
211
+ NetworkingManager . Singleton . NetworkTime = netTime + ( msDelay / 1000f ) ;
212
212
213
- netManager . ConnectedClients . Add ( netManager . LocalClientId , new NetworkedClient ( ) { ClientId = netManager . LocalClientId } ) ;
213
+ NetworkingManager . Singleton . ConnectedClients . Add ( NetworkingManager . Singleton . LocalClientId , new NetworkedClient ( ) { ClientId = NetworkingManager . Singleton . LocalClientId } ) ;
214
214
215
215
SpawnManager . DestroySceneObjects ( ) ;
216
216
int objectCount = reader . ReadInt32Packed ( ) ;
@@ -238,14 +238,14 @@ internal static void HandleConnectionApproved(uint clientId, Stream stream, int
238
238
sceneSpawnedInIndex , sceneDelayedSpawn , destroyWithScene , new Vector3 ( xPos , yPos , zPos ) , Quaternion . Euler ( xRot , yRot , zRot ) , isActive , stream , false , 0 , true ) ;
239
239
}
240
240
241
- if ( netManager . NetworkConfig . EnableSceneSwitching )
241
+ if ( NetworkingManager . Singleton . NetworkConfig . EnableSceneSwitching )
242
242
{
243
243
NetworkSceneManager . OnSceneSwitch ( sceneIndex , sceneSwitchProgressGuid ) ;
244
244
}
245
245
246
- netManager . IsConnectedClient = true ;
247
- if ( netManager . OnClientConnectedCallback != null )
248
- netManager . OnClientConnectedCallback . Invoke ( netManager . LocalClientId ) ;
246
+ NetworkingManager . Singleton . IsConnectedClient = true ;
247
+ if ( NetworkingManager . Singleton . OnClientConnectedCallback != null )
248
+ NetworkingManager . Singleton . OnClientConnectedCallback . Invoke ( NetworkingManager . Singleton . LocalClientId ) ;
249
249
}
250
250
}
251
251
@@ -311,12 +311,12 @@ internal static void HandleChangeOwner(uint clientId, Stream stream, int channel
311
311
{
312
312
uint netId = reader . ReadUInt32Packed ( ) ;
313
313
uint ownerClientId = reader . ReadUInt32Packed ( ) ;
314
- if ( SpawnManager . SpawnedObjects [ netId ] . OwnerClientId == netManager . LocalClientId )
314
+ if ( SpawnManager . SpawnedObjects [ netId ] . OwnerClientId == NetworkingManager . Singleton . LocalClientId )
315
315
{
316
316
//We are current owner.
317
317
SpawnManager . SpawnedObjects [ netId ] . InvokeBehaviourOnLostOwnership ( ) ;
318
318
}
319
- if ( ownerClientId == netManager . LocalClientId )
319
+ if ( ownerClientId == NetworkingManager . Singleton . LocalClientId )
320
320
{
321
321
//We are new owner.
322
322
SpawnManager . SpawnedObjects [ netId ] . InvokeBehaviourOnGainedOwnership ( ) ;
@@ -363,7 +363,7 @@ internal static void HandleTimeSync(uint clientId, Stream stream, int channelId)
363
363
int timestamp = reader . ReadInt32Packed ( ) ;
364
364
365
365
int msDelay = NetworkingManager . Singleton . NetworkConfig . NetworkTransport . GetRemoteDelayTimeMS ( clientId , timestamp , out byte error ) ;
366
- netManager . NetworkTime = netTime + ( msDelay / 1000f ) ;
366
+ NetworkingManager . Singleton . NetworkTime = netTime + ( msDelay / 1000f ) ;
367
367
}
368
368
}
369
369
0 commit comments