@@ -811,22 +811,26 @@ private void HandleIncomingData(uint clientId, byte[] data, int channelId, int t
811
811
using ( BitStream inputStream = new BitStream ( data ) )
812
812
{
813
813
inputStream . SetLength ( totalSize ) ;
814
- //Debug.LogError(totalSize);
815
- //string s = string.Join(" ", data.Take(totalSize).Select(b => b.ToString()).ToArray());
816
- //Debug.LogError(s);
817
814
byte messageType ;
818
815
using ( BitStream messageStream = MessageManager . UnwrapMessage ( inputStream , clientId , out messageType ) )
819
816
{
820
817
if ( messageStream == null )
821
818
{
822
- if ( LogHelper . CurrentLogLevel <= LogLevel . Normal ) LogHelper . LogInfo ( "Message unwrap could not be completed. Was the header corrupt? Crypto error?" ) ;
819
+ if ( LogHelper . CurrentLogLevel <= LogLevel . Error ) LogHelper . LogError ( "Message unwrap could not be completed. Was the header corrupt? Crypto error?" ) ;
820
+ return ;
821
+ }
822
+ else if ( messageType == MLAPIConstants . INVALID )
823
+ {
824
+ if ( LogHelper . CurrentLogLevel <= LogLevel . Error ) LogHelper . LogError ( "Message unwrap read an invalid messageType" ) ;
825
+ return ;
823
826
}
827
+
824
828
uint headerByteSize = ( uint ) Arithmetic . VarIntSize ( messageType ) ;
825
829
NetworkProfiler . StartEvent ( TickType . Receive , ( uint ) ( totalSize - headerByteSize ) , channelId , messageType ) ;
826
830
827
831
if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "Data Header: messageType=" + messageType ) ;
828
832
829
- //Client tried to send a network message that was not the connection request before he was accepted.
833
+ // Client tried to send a network message that was not the connection request before he was accepted.
830
834
if ( isServer && ( NetworkConfig . EnableEncryption && PendingClients . ContainsKey ( clientId ) && PendingClients [ clientId ] . ConnectionState == PendingClient . State . PendingHail && messageType != MLAPIConstants . MLAPI_CERTIFICATE_HAIL_RESPONSE ) ||
831
835
( PendingClients . ContainsKey ( clientId ) && PendingClients [ clientId ] . ConnectionState == PendingClient . State . PendingConnection && messageType != MLAPIConstants . MLAPI_CONNECTION_REQUEST ) )
832
836
{
@@ -899,6 +903,9 @@ private void HandleIncomingData(uint clientId, byte[] data, int channelId, int t
899
903
case MLAPIConstants . MLAPI_GREETINGS :
900
904
if ( isClient ) InternalMessageHandler . HandleGreetings ( clientId , messageStream , channelId ) ;
901
905
break ;
906
+ default :
907
+ if ( LogHelper . CurrentLogLevel <= LogLevel . Error ) LogHelper . LogError ( "Read unrecognized messageType " + messageType ) ;
908
+ break ;
902
909
}
903
910
904
911
#endregion
0 commit comments