On 2020-05-28 00:35, Adriano dos Santos Fernandes wrote:
On 27/05/2020 17:54, Mark Rotteveel wrote:
Not having users at all is just a special case of not having the right
username or password. The error for the end-user should be the same in
both cases.
That the administrator gets the same error when he tries to login is
not
really a problem. They would get the same error if they forgot or
don't
know the SYSDBA password, and it would require an almost identical
solution. Both will require you to connect in embedded mode to create
or
alter the SYSDBA user.
So, resolution steps are almost identical, which means they don't
warrant a separate error message in my opinion.
I do have same opinion as Vlad here.
It's more confusing to have a "functional" security database without
users than have a different error message, specially in the case of
users coming from v2.x.
The security database is functional. In fact, if (only) the Legacy_auth
plugin had been used, there wouldn't even have been an error, or just
the normal username/password error. I don't see why we should deviate
from that just because the Srp plugin isn't properly initialized or no
user account exist yet.
I think you're complicating matters based on knowledge of the internals,
and that is largely irrelevant for the end-user trying to access
Firebird. If you think such information is important for diagnostics, I
think it would be better to write a log entry.
Having a stable and consistent API is more important here. The normal
username/password error covers it sufficiently from the perspective of a
user trying to connect, and for an admin gives enough information for a
course of action: setup a user account or reset its password. Doing this
skips the step of needing to read up in the compatibility chapter, which
then just basically says 'setup an account'.
Mark
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel