@@ -811,22 +811,26 @@ private void HandleIncomingData(uint clientId, byte[] data, int channelId, int t
811811 using ( BitStream inputStream = new BitStream ( data ) )
812812 {
813813 inputStream . SetLength ( totalSize ) ;
814- //Debug.LogError(totalSize);
815- //string s = string.Join(" ", data.Take(totalSize).Select(b => b.ToString()).ToArray());
816- //Debug.LogError(s);
817814 byte messageType ;
818815 using ( BitStream messageStream = MessageManager . UnwrapMessage ( inputStream , clientId , out messageType ) )
819816 {
820817 if ( messageStream == null )
821818 {
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 ;
823826 }
827+
824828 uint headerByteSize = ( uint ) Arithmetic . VarIntSize ( messageType ) ;
825829 NetworkProfiler . StartEvent ( TickType . Receive , ( uint ) ( totalSize - headerByteSize ) , channelId , messageType ) ;
826830
827831 if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "Data Header: messageType=" + messageType ) ;
828832
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.
830834 if ( isServer && ( NetworkConfig . EnableEncryption && PendingClients . ContainsKey ( clientId ) && PendingClients [ clientId ] . ConnectionState == PendingClient . State . PendingHail && messageType != MLAPIConstants . MLAPI_CERTIFICATE_HAIL_RESPONSE ) ||
831835 ( PendingClients . ContainsKey ( clientId ) && PendingClients [ clientId ] . ConnectionState == PendingClient . State . PendingConnection && messageType != MLAPIConstants . MLAPI_CONNECTION_REQUEST ) )
832836 {
@@ -899,6 +903,9 @@ private void HandleIncomingData(uint clientId, byte[] data, int channelId, int t
899903 case MLAPIConstants . MLAPI_GREETINGS :
900904 if ( isClient ) InternalMessageHandler . HandleGreetings ( clientId , messageStream , channelId ) ;
901905 break ;
906+ default :
907+ if ( LogHelper . CurrentLogLevel <= LogLevel . Error ) LogHelper . LogError ( "Read unrecognized messageType " + messageType ) ;
908+ break ;
902909 }
903910
904911 #endregion
0 commit comments