We are using software that works on top of Firebird. It was all fine until work-from-home started. There where issues with firebird 2.5.x and connections that after some time people could not connect anymore. The software manufacture hint us that we should upgrade to 3.0 because of that. We migrate FDB to 3.0, and everything looks nice until clients start connecting (windows-dll) with 2.0 clients.
The issue is that when someone connect with older DLL version loaded they corrupt security3.fdb file and SYSDBA user is not found anymore, but the people that did login before works fine.
When using Flamerobin this result in error: isc_attach_database failed, sql message: -902, enfine code: 335544472 Your user name and password are not defined. Ask your database administrator to set up a Firebird login.
We do update clients versions of dll and this started to resolve the issue, but its been more than two weeks and I get early morning calls that people are unable to connect.
I'm using firebird3.0 from debian repo if that helps (because it use different default configuration than the one from firebird page).
The workaround that I find after many hours of looking thru the issue is replacing security3.fdb file while firebird is working and this works 80% in 20% I need to restart firebird after replacing file.
Is there a way to prevent this? I tried removing write permission on security file but firebird dont like that.
firebird.conf (the rest is on default aka commentout)
UdfAccess = Restrict /usr/lib/x86_64-linux-gnu/firebird/3.0/UDF # the software use udf but without it it also lock down the database
RemoteServicePort = 3050 # just to be sure
RemoteBindAddress = 192.168.0.80 # this was needed because it would start listening on ipv6 only interface which was strange