| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- using System.Globalization;
- using System.Net.Sockets;
- using System.Text;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
- using Renci.SshNet.Common;
- using Renci.SshNet.Messages.Transport;
- namespace Renci.SshNet.Tests.Classes
- {
- [TestClass]
- public class SessionTest_Connecting_ServerSendsDebugMessageAfterKexInit_StrictKex : SessionTest_ConnectingBase
- {
- protected override bool ServerSupportsStrictKex
- {
- get
- {
- return true;
- }
- }
- protected override void ActionAfterKexInit()
- {
- using var stream = new SshDataStream(0);
- stream.WriteByte(1);
- stream.Write("This is a debug message", Encoding.UTF8);
- stream.Write(CultureInfo.CurrentCulture.Name, Encoding.UTF8);
- var debugMessage = new DebugMessage();
- debugMessage.Load(stream.ToArray());
- var debug = debugMessage.GetPacket(8, null);
- // MitM sends debug message to client
- _ = ServerSocket.Send(debug, 4, debug.Length - 4, SocketFlags.None);
- // MitM drops server message
- ServerOutboundPacketSequence++;
- }
- [TestMethod]
- public void ShouldThrowSshException()
- {
- var message = Assert.ThrowsException<SshException>(Session.Connect).Message;
- Assert.AreEqual("Message type 4 is not valid in the current context.", message);
- }
- }
- }
|