Subject Re: [Firebird-Java] Jaybird 4, Firebird 4 and DBSchema
Author Mark Rotteveel
On 2019-05-16 09:53, sbailey@... [Firebird-Java]
wrote:
> Thank you for your quick response.
>
> I am new to Firebird and Jaybird. Reading the documentation you
> pointed to, it looks like both Firebird and Jaybird authenticate with
> Srp256 by default (and Legacy_Auth is not used by default). In my
> installation of both of those I accepted all defaults and did not make
> any changes to authentication methods - so I am a bit confused.
>
> So, this morning I have just installed Firebird 4 Beta 1 on a Win 10
> PC that has never had Firebird (or any other database) installed.
> (I'll refer to this PC as 'PC1' from now on.)
> Before starting the Firebird server on PC1 for the first time I edited
> firebird.conf to ensure Srp256:
> AuthServer = Srp256
> AuthClient = Srp256, Srp, Win_Sspi
>
> My understanding is this definitely means Srp256 is in use.

Yes, this looks ok and it should be able to authenticate with Srp256.

Just to rule things out: what happens if you use setting `AuthServer =
Srp256, Srp` or `AuthServer = Srp`?

> I can connect to the employee database on PC1 th rough iSQL on another
> PC (which I will refer to as 'PC2' from now on).
>
> So, I presume the authentication done for iSQL on PC2 to connect to a
> database on PC1 is via Srp256 - that Srp256 proves it works, or does
> it?
>
> When I try to connect to the employee database on PC1 via DBSchema
> (which uses Jaybird 4) on PC2 I get the "Error occurred during login,
> please check server firebird.log for details [SQLState:08006, ISC
> error code:335545106]" message, which, according to the documentaion
> you linked to, occurs if "no known plugins are specified".
>
> As reported in my original post, firebird.log says "Authentication
> error No matching plugins on server" for the failed Jaybird connection
> attempt.
>
> I notice that in the Firebird plugins folder there is srp.dll. Does
> this do srp256 as well as srp or should here also be srp256.dll? I
> suspect it does both.

Srp.dll provides Srp, Srp256 (and the other SrpNNN types of Firebird 4).

> I can connect to all my Firebird 4 databases with Delphi and IBExpert
> but cannot connect to any of them using Jaybird 4 (via DBSchema).

Either this is a bug in Jaybird 4, or somehow DBSchema prevents Jaybird
from discovering its authentication plugins, although I would expect a
different error for that situation.

Does it log any errors or warnings? If Jaybird can't load the plugins,
it would log one or more of the following messages:

"Can't register plugin, see debug level for more information (skipping)
: " + exception message
"No authentication plugins loaded through service loader, falling back
to default list"
"Unable to load authentication plugins through ServiceLoader, using
fallback list"
"Could not load plugin provider (see debug level for details) " +
providerName + ", reason: " + exception message

I will see if I can reproduce this (but I may not get around this until
the weekend).

In the meantime, if your main goal is to use DBSchema, then I suggest
that you switch to Jaybird 3. Jaybird 3.0.5 should be able to connect to
Firebird 4 with Srp256 (and for earlier versions of Jaybird 3, you need
to add Srp to AuthServer).

Mark