Skip to content

Commit 087f524

Browse files
committed
Fix auth flow for WireCrypt=Required (#981).
1 parent af3b3bc commit 087f524

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

Provider/src/FirebirdSql.Data.FirebirdClient/Client/Managed/AuthBlock.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -127,15 +127,15 @@ public byte[] UserIdentificationData()
127127
public void SendContAuthToBuffer(IXdrWriter xdr)
128128
{
129129
xdr.Write(IscCodes.op_cont_auth);
130-
xdr.WriteBuffer(ClientData); // p_data
130+
xdr.WriteBuffer(HasClientData ? ClientData : PublicClientData); // p_data
131131
xdr.Write(AcceptPluginName); // p_name
132132
xdr.Write(AcceptPluginName); // p_list
133133
xdr.WriteBuffer(ServerKeys); // p_keys
134134
}
135135
public async ValueTask SendContAuthToBufferAsync(IXdrWriter xdr, CancellationToken cancellationToken = default)
136136
{
137137
await xdr.WriteAsync(IscCodes.op_cont_auth, cancellationToken).ConfigureAwait(false);
138-
await xdr.WriteBufferAsync(ClientData, cancellationToken).ConfigureAwait(false); // p_data
138+
await xdr.WriteBufferAsync(HasClientData ? ClientData : PublicClientData, cancellationToken).ConfigureAwait(false); // p_data
139139
await xdr.WriteAsync(AcceptPluginName, cancellationToken).ConfigureAwait(false); // p_name
140140
await xdr.WriteAsync(AcceptPluginName, cancellationToken).ConfigureAwait(false); // p_list
141141
await xdr.WriteBufferAsync(ServerKeys, cancellationToken).ConfigureAwait(false); // p_keys

Provider/src/FirebirdSql.Data.FirebirdClient/Client/Managed/GdsConnection.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ public void Identify(string database)
194194
StartCompression();
195195
}
196196

197-
if (operation == IscCodes.op_cond_accept && AuthBlock.HasClientData)
197+
if (operation == IscCodes.op_cond_accept)
198198
{
199199
while (true)
200200
{
@@ -298,7 +298,7 @@ await Xdr.ReadBooleanAsync(cancellationToken).ConfigureAwait(false),
298298
StartCompression();
299299
}
300300

301-
if (operation == IscCodes.op_cond_accept && AuthBlock.HasClientData)
301+
if (operation == IscCodes.op_cond_accept)
302302
{
303303
while (true)
304304
{

0 commit comments

Comments
 (0)