jacobalberty / firebird-docker

Firebird Dockerfile
130 stars 96 forks source link

Error when trying to connect #36

Closed wwwlicious closed 2 years ago

wwwlicious commented 5 years ago

I get the following error when trying to connect using docker image jacobalberty/firebird:3.0.4

Install incomplete, please read the Compatibility chapter in the release notes for this version

Any idea how to check what the issue might be?

mrotteveel commented 5 years ago

That error itself means that SRP authentication wasn't initialized, which would mean that no SYSDBA user was created using SRP. How did you launch the image?

mrotteveel commented 5 years ago

Looking at the entrypoint code, this may happen if you enabled legacy authentication, but are using a Firebird 3 client that tries SRP first (which is the default).

Consider not using EnableLegacyClientAuth, or if you really need legacy authentication, use a Firebird 2.5 client, or change the client config to use AuthClient=Legacy_Auth, Srp instead of the default of AuthClient=Srp, Legacy_Auth (by putting a firebird.conf with that setting in the same location as libfbclient.so or fbclient.dll used by your application.

mrotteveel commented 5 years ago

@jacobalberty It might be advisable to also initialize a SRP user when EnableLegacyClientAuth=true. You could create it as SYSDBA as well, or just create a SRP user and drop it. Eg when EnableLegacyClientAuth is set, execute

create or alter user SYSDBA password '${ISC_PASSWORD}' using plugin Legacy_UserManager;
create or alter user SYSDBA password '${ISC_PASSWORD}' using plugin Srp;

instead of just

create or alter user SYSDBA password '${ISC_PASSWORD}';
wwwlicious commented 5 years ago

Thanks @mrotteveel for the info. I am launching the container using a docker compose file and was setting the enablelegacyclientauth. Commenting this out resolved the problem 👍

version: '3'

services:

  firebird:
    image: "jacobalberty/firebird:3.0.4"
    networks:
      - test
    ports: 
      - "3050:3050"
    environment: 
     FIREBIRD_DATABASE: "test.gdb"
     FIREBIRD_USER: "test"
     ISC_PASSWORD: "pass"
     # Commenting out the line below resolved the problem 
     #EnableLegacyClientAuth: "true" 
     EnableWireCrypt: "true"
iambudi commented 5 years ago

Always throw error even if i set ISC_PASSWORD env password: Your user name and password are not defined. Ask your database administrator to set up a Firebird login.

mrotteveel commented 5 years ago

@iambudi Please be more descriptive with your problem. Exactly which options did you use and how did you connect?

github-actions[bot] commented 2 years ago

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 14 days.