FirebirdSQL / NETProvider

Firebird ADO.NET Data Provider
https://www.firebirdsql.org/en/net-provider/
Other
152 stars 62 forks source link

There is no code for UserPassword data segment in BuildDpb method #1143

Closed MagGr closed 7 months ago

MagGr commented 7 months ago

Name space FirebirdSql.Data.FirebirdClient class FbConnectionInternal BuildDpb(DatabaseBase db, ConnectionString options)

There is no code for UserPassword data segment. Only user name is send to Dpb I think need add this if (!string.IsNullOrEmpty(options.Password)) dpb.Append(IscCodes.isc_dpb_password, options.Password);

mrotteveel commented 7 months ago

That is intentional, as authentication is handled elsewhere.

mrotteveel commented 7 months ago

That is, using isc_dpb_password is only when using legacy authentication, and even then, using isc_dpb_password_enc is the better choice. But since Firebird 3.0, a different method is used for exchanging authentication information.

mrotteveel commented 7 months ago

In any case, you may want to look at FirebirdSql.Data.Client.Managed.Version10.GdsDatabase which does add it to the DPB, but all those methods which do use it are overridden in Version13 to use the new mechanism (and IIRC the Firebird .NET provider only support Srp on Firebird 3.0 and higher, not Legacy_Auth).

MagGr commented 7 months ago

I use Firebird 4 with Legacy_Auth and it nessary for me personal. Is there another sutiation when this add to code biring a promblem?

cincuranet commented 7 months ago

Use older version of provider. But you should really update to using SRP.