|
|
@@ -1,7 +1,6 @@
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Globalization;
|
|
|
-using System.Linq;
|
|
|
using Renci.SshNet.Common;
|
|
|
using Renci.SshNet.Messages;
|
|
|
using Renci.SshNet.Messages.Authentication;
|
|
|
@@ -66,8 +65,11 @@ namespace Renci.SshNet
|
|
|
};
|
|
|
|
|
|
MessagesByName = new Dictionary<string, MessageMetadata>(AllMessages.Length);
|
|
|
- foreach (var messageMetadata in AllMessages)
|
|
|
+ for (var i = 0; i < AllMessages.Length; i++)
|
|
|
+ {
|
|
|
+ var messageMetadata = AllMessages[i];
|
|
|
MessagesByName.Add(messageMetadata.Name, messageMetadata);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public SshMessageFactory()
|
|
|
@@ -95,7 +97,19 @@ namespace Renci.SshNet
|
|
|
var enabledMessageMetadata = _enabledMessagesByNumber[messageNumber];
|
|
|
if (enabledMessageMetadata == null)
|
|
|
{
|
|
|
- var definedMessageMetadata = AllMessages.FirstOrDefault(p => p.Number == messageNumber);
|
|
|
+ MessageMetadata definedMessageMetadata = null;
|
|
|
+
|
|
|
+ // find first message with specified number
|
|
|
+ for (var i = 0; i < AllMessages.Length; i++)
|
|
|
+ {
|
|
|
+ var messageMetadata = AllMessages[i];
|
|
|
+ if (messageMetadata.Number == messageNumber)
|
|
|
+ {
|
|
|
+ definedMessageMetadata = messageMetadata;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if (definedMessageMetadata == null)
|
|
|
{
|
|
|
throw CreateMessageTypeNotSupportedException(messageNumber);
|
|
|
@@ -109,8 +123,10 @@ namespace Renci.SshNet
|
|
|
|
|
|
public void DisableNonKeyExchangeMessages()
|
|
|
{
|
|
|
- foreach (var messageMetadata in AllMessages)
|
|
|
+ for (var i = 0; i < AllMessages.Length; i++)
|
|
|
{
|
|
|
+ var messageMetadata = AllMessages[i];
|
|
|
+
|
|
|
var messageNumber = messageMetadata.Number;
|
|
|
if ((messageNumber > 2 && messageNumber < 20) || messageNumber > 30)
|
|
|
{
|
|
|
@@ -121,8 +137,10 @@ namespace Renci.SshNet
|
|
|
|
|
|
public void EnableActivatedMessages()
|
|
|
{
|
|
|
- foreach (var messageMetadata in AllMessages)
|
|
|
+ for (var i = 0; i < AllMessages.Length; i++)
|
|
|
{
|
|
|
+ var messageMetadata = AllMessages[i];
|
|
|
+
|
|
|
if (!_activatedMessagesById[messageMetadata.Id])
|
|
|
continue;
|
|
|
|