diff --git a/src/Renci.SshNet/Channels/IChannel.cs b/src/Renci.SshNet/Channels/IChannel.cs
index 005a8754c..ca35f7104 100644
--- a/src/Renci.SshNet/Channels/IChannel.cs
+++ b/src/Renci.SshNet/Channels/IChannel.cs
@@ -7,7 +7,7 @@ namespace Renci.SshNet.Channels
///
/// Represents SSH channel.
///
- internal interface IChannel : IDisposable
+ public interface IChannel : IDisposable
{
///
/// Occurs when is received.
diff --git a/src/Renci.SshNet/Channels/IChannelDirectTcpip.cs b/src/Renci.SshNet/Channels/IChannelDirectTcpip.cs
index 6f50e778a..f78c000fb 100644
--- a/src/Renci.SshNet/Channels/IChannelDirectTcpip.cs
+++ b/src/Renci.SshNet/Channels/IChannelDirectTcpip.cs
@@ -7,7 +7,7 @@ namespace Renci.SshNet.Channels
///
/// A "direct-tcpip" SSH channel.
///
- internal interface IChannelDirectTcpip : IDisposable
+ public interface IChannelDirectTcpip : IDisposable
{
///
/// Occurs when an exception is thrown while processing channel messages.
diff --git a/src/Renci.SshNet/Channels/IChannelForwardedTcpip.cs b/src/Renci.SshNet/Channels/IChannelForwardedTcpip.cs
index 7bc165a8d..1bba43e3d 100644
--- a/src/Renci.SshNet/Channels/IChannelForwardedTcpip.cs
+++ b/src/Renci.SshNet/Channels/IChannelForwardedTcpip.cs
@@ -7,7 +7,7 @@ namespace Renci.SshNet.Channels
///
/// A "forwarded-tcpip" SSH channel.
///
- internal interface IChannelForwardedTcpip : IDisposable
+ public interface IChannelForwardedTcpip : IDisposable
{
///
/// Occurs when an exception is thrown while processing channel messages.
diff --git a/src/Renci.SshNet/Channels/IChannelSession.cs b/src/Renci.SshNet/Channels/IChannelSession.cs
index 1599ce22c..d9a478b71 100644
--- a/src/Renci.SshNet/Channels/IChannelSession.cs
+++ b/src/Renci.SshNet/Channels/IChannelSession.cs
@@ -6,7 +6,7 @@ namespace Renci.SshNet.Channels
///
/// Session SSH channel.
///
- internal interface IChannelSession : IChannel
+ public interface IChannelSession : IChannel
{
///
/// Opens the channel.
diff --git a/src/Renci.SshNet/Common/ChannelDataEventArgs.cs b/src/Renci.SshNet/Common/ChannelDataEventArgs.cs
index 6b47eb6ed..073d830f9 100644
--- a/src/Renci.SshNet/Common/ChannelDataEventArgs.cs
+++ b/src/Renci.SshNet/Common/ChannelDataEventArgs.cs
@@ -3,7 +3,7 @@
///
/// Provides data for event.
///
- internal class ChannelDataEventArgs : ChannelEventArgs
+ public class ChannelDataEventArgs : ChannelEventArgs
{
///
/// Gets channel data.
diff --git a/src/Renci.SshNet/Common/ChannelEventArgs.cs b/src/Renci.SshNet/Common/ChannelEventArgs.cs
index a8e4549ce..4be8f3ad6 100644
--- a/src/Renci.SshNet/Common/ChannelEventArgs.cs
+++ b/src/Renci.SshNet/Common/ChannelEventArgs.cs
@@ -5,7 +5,7 @@ namespace Renci.SshNet.Common
///
/// Base class for all channel related events.
///
- internal class ChannelEventArgs : EventArgs
+ public class ChannelEventArgs : EventArgs
{
///
/// Gets the channel number.
diff --git a/src/Renci.SshNet/Common/ChannelExtendedDataEventArgs.cs b/src/Renci.SshNet/Common/ChannelExtendedDataEventArgs.cs
index 9098d6b1b..4d852dc8a 100644
--- a/src/Renci.SshNet/Common/ChannelExtendedDataEventArgs.cs
+++ b/src/Renci.SshNet/Common/ChannelExtendedDataEventArgs.cs
@@ -3,7 +3,7 @@
///
/// Provides data for events.
///
- internal class ChannelExtendedDataEventArgs : ChannelDataEventArgs
+ public class ChannelExtendedDataEventArgs : ChannelDataEventArgs
{
///
/// Initializes a new instance of the class.
diff --git a/src/Renci.SshNet/Common/ChannelRequestEventArgs.cs b/src/Renci.SshNet/Common/ChannelRequestEventArgs.cs
index 0de905a83..4f8c901b1 100644
--- a/src/Renci.SshNet/Common/ChannelRequestEventArgs.cs
+++ b/src/Renci.SshNet/Common/ChannelRequestEventArgs.cs
@@ -6,7 +6,7 @@ namespace Renci.SshNet.Common
///
/// Provides data for event.
///
- internal class ChannelRequestEventArgs : EventArgs
+ public class ChannelRequestEventArgs : EventArgs
{
///
/// Gets request information.
diff --git a/src/Renci.SshNet/IConnectionInfo.cs b/src/Renci.SshNet/IConnectionInfo.cs
index 22abefda2..79fda23c8 100644
--- a/src/Renci.SshNet/IConnectionInfo.cs
+++ b/src/Renci.SshNet/IConnectionInfo.cs
@@ -38,7 +38,7 @@ internal interface IConnectionInfoInternal : IConnectionInfo
///
/// Represents remote connection information.
///
- internal interface IConnectionInfo
+ public interface IConnectionInfo
{
///
/// Gets or sets the timeout to used when waiting for a server to acknowledge closing a channel.
diff --git a/src/Renci.SshNet/ISession.cs b/src/Renci.SshNet/ISession.cs
index cd950da52..89aeaa357 100644
--- a/src/Renci.SshNet/ISession.cs
+++ b/src/Renci.SshNet/ISession.cs
@@ -12,7 +12,7 @@ namespace Renci.SshNet
///
/// Provides functionality to connect and interact with SSH server.
///
- internal interface ISession : IDisposable
+ public interface ISession : IDisposable
{
///
/// Gets or sets the connection info.
diff --git a/src/Renci.SshNet/Messages/Authentication/PublicKeyMessage.cs b/src/Renci.SshNet/Messages/Authentication/PublicKeyMessage.cs
index 9658a2e05..91888e052 100644
--- a/src/Renci.SshNet/Messages/Authentication/PublicKeyMessage.cs
+++ b/src/Renci.SshNet/Messages/Authentication/PublicKeyMessage.cs
@@ -4,7 +4,7 @@
/// Represents SSH_MSG_USERAUTH_PK_OK message.
///
[Message("SSH_MSG_USERAUTH_PK_OK", 60)]
- internal class PublicKeyMessage : Message
+ public class PublicKeyMessage : Message
{
///
/// Gets the name of the public key algorithm as ASCII encoded byte array.
diff --git a/src/Renci.SshNet/PrivateKeyAuthenticationMethod.cs b/src/Renci.SshNet/PrivateKeyAuthenticationMethod.cs
index 93ebbe19d..0994fc539 100644
--- a/src/Renci.SshNet/PrivateKeyAuthenticationMethod.cs
+++ b/src/Renci.SshNet/PrivateKeyAuthenticationMethod.cs
@@ -141,7 +141,12 @@ private void Session_UserAuthenticationFailureReceived(object sender, MessageEve
_authenticationCompleted.Set();
}
- private void Session_UserAuthenticationPublicKeyReceived(object sender, MessageEventArgs e)
+ ///
+ /// Public Key Received Event Handler
+ ///
+ /// Event sender
+ /// Public Key Message
+ public void Session_UserAuthenticationPublicKeyReceived(object sender, MessageEventArgs e)
{
_isSignatureRequired = true;
_authenticationCompleted.Set();
diff --git a/src/Renci.SshNet/Session.cs b/src/Renci.SshNet/Session.cs
index 0748b8dac..0db5ab212 100644
--- a/src/Renci.SshNet/Session.cs
+++ b/src/Renci.SshNet/Session.cs
@@ -377,7 +377,7 @@ public Message ClientInitMessage
///
/// Occurs when message is received from the server.
///
- internal event EventHandler> UserAuthenticationPublicKeyReceived;
+ public event EventHandler> UserAuthenticationPublicKeyReceived;
///
/// Occurs when message is received from the server.
@@ -449,12 +449,12 @@ public Message ClientInitMessage
///
/// Occurs when message received
///
- internal event EventHandler> UserAuthenticationFailureReceived;
+ public event EventHandler> UserAuthenticationFailureReceived;
///
/// Occurs when message received
///
- internal event EventHandler> UserAuthenticationSuccessReceived;
+ public event EventHandler> UserAuthenticationSuccessReceived;
///
/// Occurs when message received
@@ -849,7 +849,7 @@ private WaitResult TryWait(WaitHandle waitHandle, TimeSpan timeout, out Exceptio
/// A received package was invalid or failed the message integrity check.
/// None of the handles are signaled in time and the session is not disconnecting.
/// A socket error was signaled while receiving messages from the server.
- internal void WaitOnHandle(WaitHandle waitHandle, TimeSpan timeout)
+ public void WaitOnHandle(WaitHandle waitHandle, TimeSpan timeout)
{
if (waitHandle == null)
throw new ArgumentNullException("waitHandle");
@@ -889,7 +889,7 @@ internal void WaitOnHandle(WaitHandle waitHandle, TimeSpan timeout)
/// The client is not connected.
/// The operation timed out.
/// The size of the packet exceeds the maximum size defined by the protocol.
- internal void SendMessage(Message message)
+ public void SendMessage(Message message)
{
if (!_socket.CanWrite())
throw new SshConnectionException("Client not connected.");
@@ -2145,7 +2145,7 @@ bool ISession.TrySendMessage(Message message)
///
/// Represents the result of a wait operations.
///
- internal enum WaitResult
+ public enum WaitResult
{
///
/// The was signaled within the specified interval.