2

When I try to open User Manager or just simple do a select * from sec$users, I get an error Missing user management plugin.

I have already seen in some posts how to set usermanager from firebird.conf adding Srp, Srp256, Legacy_UserManager and restart the service, but the error continues.

Mark Rotteveel
  • 82,132
  • 136
  • 114
  • 158
  • Firebird doesn't have a user manager plugin called `Srp256`. The `Srp` user manager plugin covers the `Srp` and all `SrpNNN` authentication plugins. I would guess (but have no install at hand right now), that the fact you configured it with `Srp, Srp256, Legacy_UserManager` is the actual cause of your problem. Try changing it to `Srp, Legacy_UserManager` – Mark Rotteveel Jan 24 '20 at 15:01
  • Hi Mark, I've just tried too, with Srp, Legacy_UserManager, only Srp, only Legacy_UserManager even commented this line, but doesn´t work. – Fernando Donizeti Ito Jan 24 '20 at 16:34
  • Did you restart Firebird after changing the configuration? Is there anything in the firebird.log? – Mark Rotteveel Jan 24 '20 at 16:43
  • Yes, I restarted and checked the log, nothing. – Fernando Donizeti Ito Jan 24 '20 at 16:46
  • In any case, I just tested it, I get the error if I have a non-existent user manager in the list (like `Srp256`), the error goes away if I remove the incorrect user manager. The only other way to reproduce it is if the necessary plugin doesn't exist in the `plugins` folder of the Firebird install (ie `srp.dll` or `legacy_usermanager.dll` (or `.so` on Linux)) is missing. – Mark Rotteveel Jan 24 '20 at 16:48
  • I can access in other databases, only this specific one that I can't, is it possible that the older programmer had added another user with an unknow sec$plugin through IbExpert? – Fernando Donizeti Ito Jan 24 '20 at 16:49
  • As far as I know, users created with an unknown user manager are skipped when selecting from `sec$users` (or at least, if I remove `legacy_usermanager` from my config, I only see those created with `Srp`). Is it possible that you have an explicit user manager config in `databases.conf` for this database? Otherwise you may want to consider asking your question on the firebird-support mailing list as well. – Mark Rotteveel Jan 24 '20 at 16:50
  • I've just checked databases.conf nothing too, Mark, I've found an engine12.dll inside plugins folder, I tried now and the error message changed, now it says engine12 does not contain plugin engine12 type 5, any Idea? – Fernando Donizeti Ito Jan 24 '20 at 16:57
  • `engine12.dll` is the Firebird database engine, it is not a user manager plugin. If your `plugins` folder doesn't contain `srp.dll` and `legacy_usermanager.dll`, then that is the problem. – Mark Rotteveel Jan 24 '20 at 16:59
  • doesn't have, where I can find those dlls? – Fernando Donizeti Ito Jan 24 '20 at 17:04
  • You can download the Firebird installer or a zipkit from https://www.firebirdsql.org/en/firebird-3-0/ (link currently points to version 3.0.5, the latest Firebird 3 version). If you are currently using an earlier version of Firebird 3, I would recommend to upgrade, and not only replace these DLLs. – Mark Rotteveel Jan 24 '20 at 17:10
  • BTW: The fact these are missing would indicate they were intentionally removed by whoever installed Firebird. You might want to verify why that was done. – Mark Rotteveel Jan 24 '20 at 17:14
  • @MarkRotteveel i would not be paranoid because of one single case. Antivirus tools including Microsoft Update MRT sometimes play very curious tricks, including targeted destruction of security drivers (HASP keys) or of competing antivirus solutions. If this SRP problem would repeat itself - then System Audit should be enabled on that folder, checking which user and process and time the plugin was deleted by. But hopefulyl it was a one time glitch. – Arioch 'The Jan 24 '20 at 18:02
  • @Arioch'The I rather think that an administrator removed those plugins to prevent users from being created, altered or dropped. Your suggestion that anti-virus software would remove files at random seems to be more an example of paranoia. – Mark Rotteveel Jan 24 '20 at 18:04
  • @Mark - same here. I see idea of human randomly deleting program modules without knowing their functions a sign of paranoia. While false positives from AV has precedents. – Arioch 'The Jan 25 '20 at 19:37

1 Answers1

3

The only cause I know for this error is specifying a plugin name that doesn't exist.

This can come in two forms:

  • Specifying a non-existent user manager. For example, Srp256 only exists as an authentication plugin, but not as a user manager plugin. You use Srp as user manager for all SrpXXX authentication plugins. This is technically a specific case of the second form below.
  • The library containing the user manager plugin is missing from the plugins folder of the Firebird installation. For the Srp user manager, you need to have srp.dll (or srp.so), for Legacy_UserManager, you need to have legacy_usermanager.dll (or legacy_usermanager.so).

Incorrect access rights on files and folders might cause this behaviour as well (though I haven't verified this), for example if the user running the Firebird process doesn't have read access to the plugins folder or to specific plugin files.

Mark Rotteveel
  • 82,132
  • 136
  • 114
  • 158
  • That's it my friend, it was missing srp.dll in plugins folder, sorry not have the necessary reputation to vote your answer, but thanks a million! – Fernando Donizeti Ito Jan 24 '20 at 17:16
  • @FernandoDonizetiIto You're welcome. You should be able to accept (clicking the check mark on the question), but it might have a timeout before you can accept. – Mark Rotteveel Jan 24 '20 at 17:17