Skip to content

Commit d66e1a6

Browse files
committed
auth_gssapi - Apply suggested changes from code review
Signed-off-by: Vladislav Vaintroub <[email protected]>
1 parent 52c37f1 commit d66e1a6

File tree

1 file changed

+17
-7
lines changed

1 file changed

+17
-7
lines changed

src/MySqlConnector/Protocol/Serialization/AuthGSSAPI.cs

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ public override async Task<int> ReadAsync(byte[] buffer, int offset, int count,
7979
return NegotiateStreamConstants.HeaderLength;
8080
}
8181
// Read and cache packet from server.
82-
var payload = await m_serverSession.ReceiveReplyAsync(m_ioBehavior, cancellationToken);
82+
var payload = await m_serverSession.ReceiveReplyAsync(m_ioBehavior, cancellationToken).ConfigureAwait(false);
8383
var segment = payload.ArraySegment;
8484

8585
if (segment.Count > NegotiateStreamConstants.MaxPayloadLength)
@@ -118,7 +118,7 @@ public override async Task<int> ReadAsync(byte[] buffer, int offset, int count,
118118
return bytesRead;
119119
}
120120

121-
public override int Read(byte[] buffer, int offset, int count) => ReadAsync(buffer, offset, count, m_cancellationToken).Result;
121+
public override int Read(byte[] buffer, int offset, int count) => ReadAsync(buffer, offset, count, m_cancellationToken).GetAwaiter().GetResult();
122122

123123
public override async Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken)
124124
{
@@ -183,12 +183,12 @@ public override async Task WriteAsync(byte[] buffer, int offset, int count, Canc
183183
// full payload provided
184184
payload = new PayloadData(new ArraySegment<byte>(buffer, offset, m_writePayloadLength));
185185
}
186-
await m_serverSession.SendReplyAsync(payload, m_ioBehavior, cancellationToken);
186+
await m_serverSession.SendReplyAsync(payload, m_ioBehavior, cancellationToken).ConfigureAwait(false);
187187
// Need to parse NegotiateStream header next time
188188
m_writePayloadLength = 0;
189189
}
190190

191-
public override void Write(byte[] buffer, int offset, int count) => WriteAsync(buffer, offset, count, m_cancellationToken).Wait();
191+
public override void Write(byte[] buffer, int offset, int count) => WriteAsync(buffer, offset, count, m_cancellationToken).GetAwaiter().GetResult();
192192

193193
public override bool CanRead => true;
194194

@@ -223,14 +223,24 @@ public static async Task<PayloadData> AuthenticateAsync(byte[] switchRequestPayl
223223
using (var negotiateStream = new NegotiateStream(innerStream))
224224
{
225225
var targetName = GetServicePrincipalName(switchRequestPayloadData);
226-
await negotiateStream.AuthenticateAsClientAsync(CredentialCache.DefaultNetworkCredentials, targetName);
227-
226+
#if NETSTANDARD1_3
227+
await negotiateStream.AuthenticateAsClientAsync(CredentialCache.DefaultNetworkCredentials, targetName).ConfigureAwait(false);
228+
#else
229+
if (ioBehavior == IOBehavior.Synchronous)
230+
{
231+
negotiateStream.AuthenticateAsClient(CredentialCache.DefaultNetworkCredentials, targetName);
232+
}
233+
else
234+
{
235+
await negotiateStream.AuthenticateAsClientAsync(CredentialCache.DefaultNetworkCredentials, targetName).ConfigureAwait(false);
236+
}
237+
#endif
228238
if (innerStream.MySQLProtocolPayload.ArraySegment.Array != null)
229239
// return already pre-read OK packet.
230240
return innerStream.MySQLProtocolPayload;
231241

232242
// Read final OK packet from server
233-
return await session.ReceiveReplyAsync(ioBehavior, cancellationToken);
243+
return await session.ReceiveReplyAsync(ioBehavior, cancellationToken).ConfigureAwait(false);
234244
}
235245
}
236246
}

0 commit comments

Comments
 (0)