Skip to content

Commit bd9db16

Browse files
committed
Split Start and Finish methods for inheritance
1 parent 9d15116 commit bd9db16

File tree

3 files changed

+21
-22
lines changed

3 files changed

+21
-22
lines changed

src/Renci.SshNet/Security/KeyExchangeECCurve25519.cs

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,17 @@ protected override int HashSize
3535
public override void Start(Session session, KeyExchangeInitMessage message, bool sendClientInitMessage)
3636
{
3737
base.Start(session, message, sendClientInitMessage);
38+
StartImpl();
39+
}
3840

41+
/// <summary>
42+
/// The implementation of start key exchange algorithm.
43+
/// </summary>
44+
protected virtual void StartImpl()
45+
{
3946
Session.RegisterMessage("SSH_MSG_KEX_ECDH_REPLY");
4047

4148
Session.KeyExchangeEcdhReplyMessageReceived += Session_KeyExchangeEcdhReplyMessageReceived;
42-
4349
#if NET
4450
if (System.OperatingSystem.IsWindowsVersionAtLeast(10))
4551
{
@@ -57,13 +63,18 @@ public override void Start(Session session, KeyExchangeInitMessage message, bool
5763
SendMessage(new KeyExchangeEcdhInitMessage(_clientExchangeValue));
5864
}
5965

60-
/// <summary>
61-
/// Finishes key exchange algorithm.
62-
/// </summary>
66+
/// <inheritdoc/>
6367
public override void Finish()
6468
{
6569
base.Finish();
70+
FinishImpl();
71+
}
6672

73+
/// <summary>
74+
/// The implementation of finish key exchange algorithm.
75+
/// </summary>
76+
protected virtual void FinishImpl()
77+
{
6778
Session.KeyExchangeEcdhReplyMessageReceived -= Session_KeyExchangeEcdhReplyMessageReceived;
6879
}
6980

src/Renci.SshNet/Security/KeyExchangeMLKem768X25519Sha256.cs

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,8 @@ protected override int HashSize
4040
}
4141

4242
/// <inheritdoc/>
43-
public override void Start(Session session, KeyExchangeInitMessage message, bool sendClientInitMessage)
43+
protected override void StartImpl()
4444
{
45-
base.Start(session, message, sendClientInitMessage);
46-
4745
Session.RegisterMessage("SSH_MSG_KEX_HYBRID_REPLY");
4846

4947
Session.KeyExchangeHybridReplyMessageReceived += Session_KeyExchangeHybridReplyMessageReceived;
@@ -75,13 +73,9 @@ public override void Start(Session session, KeyExchangeInitMessage message, bool
7573
SendMessage(new KeyExchangeHybridInitMessage(_clientExchangeValue));
7674
}
7775

78-
/// <summary>
79-
/// Finishes key exchange algorithm.
80-
/// </summary>
81-
public override void Finish()
76+
/// <inheritdoc/>
77+
protected override void FinishImpl()
8278
{
83-
base.Finish();
84-
8579
Session.KeyExchangeHybridReplyMessageReceived -= Session_KeyExchangeHybridReplyMessageReceived;
8680
}
8781

src/Renci.SshNet/Security/KeyExchangeSNtruP761X25519Sha512.cs

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,8 @@ protected override int HashSize
3939
}
4040

4141
/// <inheritdoc/>
42-
public override void Start(Session session, KeyExchangeInitMessage message, bool sendClientInitMessage)
42+
protected override void StartImpl()
4343
{
44-
base.Start(session, message, sendClientInitMessage);
45-
4644
Session.RegisterMessage("SSH_MSG_KEX_ECDH_REPLY");
4745

4846
Session.KeyExchangeEcdhReplyMessageReceived += Session_KeyExchangeEcdhReplyMessageReceived;
@@ -75,13 +73,9 @@ public override void Start(Session session, KeyExchangeInitMessage message, bool
7573
SendMessage(new KeyExchangeEcdhInitMessage(_clientExchangeValue));
7674
}
7775

78-
/// <summary>
79-
/// Finishes key exchange algorithm.
80-
/// </summary>
81-
public override void Finish()
76+
/// <inheritdoc/>
77+
protected override void FinishImpl()
8278
{
83-
base.Finish();
84-
8579
Session.KeyExchangeEcdhReplyMessageReceived -= Session_KeyExchangeEcdhReplyMessageReceived;
8680
}
8781

0 commit comments

Comments
 (0)