From a924a3ba03fb3996faff19f15a833b41c3753370 Mon Sep 17 00:00:00 2001 From: drieseng Date: Thu, 5 May 2016 18:07:37 +0200 Subject: [PATCH] Always use "tuning" code. Avoid some NRE in Dispose. --- .../Renci.SshNet.NET35.csproj | 6 +- .../Renci.SshNet.Silverlight5.csproj | 6 +- .../Renci.SshNet.Tests.NET35.csproj | 6 +- ...lose_SessionIsConnectedAndChannelIsOpen.cs | 12 + .../Classes/ClientAuthenticationTest.cs | 3 - .../Connection/ChannelDataMessageTest.cs | 26 +- .../ChannelOpen/ChannelOpenMessageTest.cs | 28 -- ...ientTest_Upload_FileInfoAndPath_Success.cs | 9 - .../ExtendedRequests/FStatVfsRequestTest.cs | 10 +- .../ExtendedRequests/HardLinkRequestTest.cs | 14 +- .../PosixRenameRequestTest.cs | 12 +- .../ExtendedRequests/StatVfsRequestTest.cs | 12 +- .../Sftp/Requests/SftpBlockRequestTest.cs | 10 +- .../Sftp/Requests/SftpCloseRequestTest.cs | 8 +- .../Sftp/Requests/SftpFSetStatRequestTest.cs | 10 +- .../Sftp/Requests/SftpFStatRequestTest.cs | 10 +- .../Sftp/Requests/SftpLStatRequestTest.cs | 8 +- .../Sftp/Requests/SftpLinkRequestTest.cs | 10 +- .../Sftp/Requests/SftpMkDirRequestTest.cs | 4 - .../Sftp/Requests/SftpOpenDirRequestTest.cs | 10 +- .../Sftp/Requests/SftpOpenRequestTest.cs | 10 +- .../Sftp/Requests/SftpReadDirRequestTest.cs | 4 - .../Sftp/Requests/SftpReadLinkRequestTest.cs | 4 - .../Sftp/Requests/SftpReadRequestTest.cs | 4 - .../Sftp/Requests/SftpRealPathRequestTest.cs | 8 +- .../Sftp/Requests/SftpRemoveRequestTest.cs | 4 - .../Sftp/Requests/SftpRenameRequestTest.cs | 4 - .../Sftp/Requests/SftpRmDirRequestTest.cs | 4 - .../Sftp/Requests/SftpSetStatRequestTest.cs | 6 +- .../Sftp/Requests/SftpStatRequestTest.cs | 4 - .../Sftp/Requests/SftpSymLinkRequestTest.cs | 4 - .../Sftp/Requests/SftpUnblockRequestTest.cs | 4 - .../Sftp/Requests/SftpWriteRequestTest.cs | 20 -- .../ExtendedReplies/StatVfsReplyInfoTest.cs | 4 - .../Sftp/Responses/SftpAttrsResponseTest.cs | 6 +- .../Sftp/Responses/SftpDataResponseTest.cs | 4 - .../SftpExtendedReplyResponseTest.cs | 8 - .../Sftp/Responses/SftpHandleResponseTest.cs | 4 - ...okedOnAsyncResultFromPreviousInvocation.cs | 4 +- .../Renci.SshNet.Tests.csproj | 4 +- .../Renci.SshNet.UAP10.csproj | 18 +- .../Renci.SshNet.WindowsPhone8.csproj | 6 +- src/Renci.SshNet/BaseClient.cs | 31 +-- src/Renci.SshNet/Channels/Channel.cs | 55 ---- .../Channels/ChannelDirectTcpip.cs | 19 +- .../Channels/ChannelForwardedTcpip.cs | 58 ++-- src/Renci.SshNet/Channels/ClientChannel.cs | 5 +- src/Renci.SshNet/Channels/IChannel.cs | 2 - src/Renci.SshNet/Common/BigInteger.cs | 4 - src/Renci.SshNet/Common/DerData.cs | 12 +- src/Renci.SshNet/Common/Extensions.cs | 14 +- src/Renci.SshNet/Common/SshData.cs | 246 ++--------------- src/Renci.SshNet/Common/SshDataStream.cs | 4 +- src/Renci.SshNet/Compression/Compressor.cs | 47 ++-- src/Renci.SshNet/ForwardedPort.cs | 2 +- src/Renci.SshNet/ForwardedPortDynamic.cs | 36 ++- src/Renci.SshNet/ForwardedPortLocal.cs | 32 ++- src/Renci.SshNet/ForwardedPortRemote.cs | 40 +-- ...KeyboardInteractiveAuthenticationMethod.cs | 10 +- .../KeyboardInteractiveConnectionInfo.cs | 5 +- .../Messages/Authentication/BannerMessage.cs | 22 -- .../InformationResponseMessage.cs | 2 - .../PasswordChangeRequiredMessage.cs | 27 -- .../Authentication/PublicKeyMessage.cs | 22 -- .../Messages/Authentication/RequestMessage.cs | 2 - .../Authentication/RequestMessageHost.cs | 2 - .../RequestMessageKeyboardInteractive.cs | 2 - .../Authentication/RequestMessagePassword.cs | 2 - .../Authentication/RequestMessagePublicKey.cs | 2 - .../Messages/Connection/ChannelDataMessage.cs | 24 -- .../Connection/ChannelExtendedDataMessage.cs | 7 - .../Messages/Connection/ChannelMessage.cs | 2 - .../ChannelOpen/ChannelOpenMessage.cs | 38 --- .../ChannelOpen/DirectTcpipChannelInfo.cs | 28 -- .../ChannelOpen/ForwardedTcpipChannelInfo.cs | 28 -- .../ChannelOpen/X11ChannelOpenInfo.cs | 16 -- .../ChannelOpenConfirmationMessage.cs | 2 - .../Connection/ChannelOpenFailureMessage.cs | 22 -- .../ChannelRequest/BreakRequestInfo.cs | 2 - .../ChannelRequest/ChannelRequestMessage.cs | 16 -- .../EnvironmentVariableRequestInfo.cs | 27 -- .../ChannelRequest/ExecRequestInfo.cs | 20 -- .../ChannelRequest/ExitSignalRequestInfo.cs | 35 --- .../ChannelRequest/ExitStatusRequestInfo.cs | 2 - .../ChannelRequest/PseudoTerminalInfo.cs | 2 - .../Connection/ChannelRequest/RequestInfo.cs | 2 - .../ChannelRequest/SignalRequestInfo.cs | 16 -- .../ChannelRequest/SubsystemRequestInfo.cs | 16 -- .../ChannelRequest/WindowChangeRequestInfo.cs | 2 - .../X11ForwardingRequestInfo.cs | 17 -- .../ChannelRequest/XonXoffRequestInfo.cs | 2 - .../Connection/ChannelWindowAdjustMessage.cs | 2 - .../Connection/GlobalRequestMessage.cs | 81 +----- .../Connection/RequestSuccessMessage.cs | 2 - src/Renci.SshNet/Messages/Message.cs | 21 -- .../Messages/Transport/DebugMessage.cs | 22 -- .../Messages/Transport/DisconnectMessage.cs | 28 +- .../Messages/Transport/IgnoreMessage.cs | 6 - .../KeyExchangeDhGroupExchangeGroup.cs | 22 -- .../KeyExchangeDhGroupExchangeInit.cs | 20 -- .../KeyExchangeDhGroupExchangeReply.cs | 18 -- .../KeyExchangeDhGroupExchangeRequest.cs | 8 +- .../Transport/KeyExchangeDhInitMessage.cs | 20 -- .../Transport/KeyExchangeDhReplyMessage.cs | 18 -- .../Transport/KeyExchangeEcdhInitMessage.cs | 17 -- .../Transport/KeyExchangeEcdhReplyMessage.cs | 8 - .../Transport/KeyExchangeInitMessage.cs | 9 +- .../Transport/ServiceAcceptMessage.cs | 13 - .../Transport/ServiceRequestMessage.cs | 27 -- src/Renci.SshNet/NetConfClient.cs | 2 +- src/Renci.SshNet/NoneAuthenticationMethod.cs | 10 +- .../PasswordAuthenticationMethod.cs | 10 +- .../PrivateKeyAuthenticationMethod.cs | 50 ++-- src/Renci.SshNet/PrivateKeyFile.cs | 31 +-- src/Renci.SshNet/Renci.SshNet.csproj | 4 +- src/Renci.SshNet/ScpClient.cs | 29 +- .../Cryptography/Ciphers/RsaCipher.cs | 14 - .../Cryptography/DsaDigitalSignature.cs | 30 +-- .../Security/Cryptography/DsaKey.cs | 30 +-- .../Cryptography/RsaDigitalSignature.cs | 14 +- .../Security/Cryptography/RsaKey.cs | 30 +-- .../Security/GroupExchangeHashData.cs | 46 +--- src/Renci.SshNet/Security/KeyExchange.cs | 30 +-- .../KeyExchangeDiffieHellmanGroupSha1.cs | 33 --- src/Renci.SshNet/Security/KeyHostAlgorithm.cs | 76 +----- src/Renci.SshNet/Session.NET.cs | 11 +- src/Renci.SshNet/Session.cs | 250 +++++------------- src/Renci.SshNet/Sftp/ISftpSession.cs | 4 - .../ExtendedRequests/FStatVfsRequest.cs | 2 - .../ExtendedRequests/HardLinkRequest.cs | 2 - .../ExtendedRequests/PosixRenameRequest.cs | 2 - .../ExtendedRequests/StatVfsRequest.cs | 2 - .../Sftp/Requests/SftpBlockRequest.cs | 6 - .../Sftp/Requests/SftpCloseRequest.cs | 6 - .../Sftp/Requests/SftpExtendedRequest.cs | 2 - .../Sftp/Requests/SftpFSetStatRequest.cs | 16 -- .../Sftp/Requests/SftpFStatRequest.cs | 6 - .../Sftp/Requests/SftpInitRequest.cs | 2 - .../Sftp/Requests/SftpLStatRequest.cs | 16 -- .../Sftp/Requests/SftpLinkRequest.cs | 22 -- .../Sftp/Requests/SftpMkDirRequest.cs | 25 -- .../Sftp/Requests/SftpOpenDirRequest.cs | 16 -- .../Sftp/Requests/SftpOpenRequest.cs | 22 +- .../Sftp/Requests/SftpReadDirRequest.cs | 6 - .../Sftp/Requests/SftpReadLinkRequest.cs | 16 -- .../Sftp/Requests/SftpReadRequest.cs | 6 - .../Sftp/Requests/SftpRealPathRequest.cs | 12 - .../Sftp/Requests/SftpRemoveRequest.cs | 16 -- .../Sftp/Requests/SftpRenameRequest.cs | 23 -- src/Renci.SshNet/Sftp/Requests/SftpRequest.cs | 2 - .../Sftp/Requests/SftpRmDirRequest.cs | 16 -- .../Sftp/Requests/SftpSetStatRequest.cs | 21 -- .../Sftp/Requests/SftpStatRequest.cs | 16 -- .../Sftp/Requests/SftpSymLinkRequest.cs | 27 -- .../Sftp/Requests/SftpUnblockRequest.cs | 6 - .../Sftp/Requests/SftpWriteRequest.cs | 20 -- .../ExtendedReplies/ExtendedReplyInfo.cs | 2 - .../Sftp/Responses/SftpDataResponse.cs | 4 - .../Sftp/Responses/SftpHandleResponse.cs | 4 - src/Renci.SshNet/Sftp/SftpFileStream.cs | 56 ---- src/Renci.SshNet/Sftp/SftpMessage.cs | 141 ---------- src/Renci.SshNet/Sftp/SftpSession.cs | 45 +--- src/Renci.SshNet/SftpClient.cs | 18 +- src/Renci.SshNet/Shell.cs | 36 +-- src/Renci.SshNet/SshClient.cs | 26 +- src/Renci.SshNet/SshCommand.cs | 15 +- src/Renci.SshNet/SubsystemSession.cs | 35 ++- 167 files changed, 474 insertions(+), 2671 deletions(-) diff --git a/src/Renci.SshNet.NET35/Renci.SshNet.NET35.csproj b/src/Renci.SshNet.NET35/Renci.SshNet.NET35.csproj index 4314b13e..4b93dd52 100644 --- a/src/Renci.SshNet.NET35/Renci.SshNet.NET35.csproj +++ b/src/Renci.SshNet.NET35/Renci.SshNet.NET35.csproj @@ -18,7 +18,7 @@ full false bin\Debug\ - TRACE;DEBUG;TUNING;FEATURE_RNG_CSP;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_EAP;FEATURE_SOCKET_POLL;FEATURE_STREAM_APM;FEATURE_DNS_SYNC;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_MD5;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HASH_SHA384;FEATURE_HASH_SHA512;FEATURE_HASH_RIPEMD160;FEATURE_HMAC_MD5;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256;FEATURE_HMAC_SHA384;FEATURE_HMAC_SHA512;FEATURE_HMAC_RIPEMD160;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_DIAGNOSTICS_TRACESOURCE + TRACE;DEBUG;FEATURE_RNG_CSP;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_EAP;FEATURE_SOCKET_POLL;FEATURE_STREAM_APM;FEATURE_DNS_SYNC;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_MD5;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HASH_SHA384;FEATURE_HASH_SHA512;FEATURE_HASH_RIPEMD160;FEATURE_HMAC_MD5;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256;FEATURE_HMAC_SHA384;FEATURE_HMAC_SHA512;FEATURE_HMAC_RIPEMD160;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_DIAGNOSTICS_TRACESOURCE prompt 4 @@ -26,7 +26,7 @@ none true bin\Release\ - TRACE;TUNING;FEATURE_RNG_CSP;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_EAP;FEATURE_SOCKET_POLL;FEATURE_STREAM_APM;FEATURE_DNS_SYNC;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_MD5;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HASH_SHA384;FEATURE_HASH_SHA512;FEATURE_HASH_RIPEMD160;FEATURE_HMAC_MD5;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256;FEATURE_HMAC_SHA384;FEATURE_HMAC_SHA512;FEATURE_HMAC_RIPEMD160;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_DIAGNOSTICS_TRACESOURCE + TRACE;FEATURE_RNG_CSP;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_EAP;FEATURE_SOCKET_POLL;FEATURE_STREAM_APM;FEATURE_DNS_SYNC;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_MD5;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HASH_SHA384;FEATURE_HASH_SHA512;FEATURE_HASH_RIPEMD160;FEATURE_HMAC_MD5;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256;FEATURE_HMAC_SHA384;FEATURE_HMAC_SHA512;FEATURE_HMAC_RIPEMD160;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_DIAGNOSTICS_TRACESOURCE prompt 4 bin\Release\Renci.SshNet.xml @@ -935,7 +935,7 @@ - +