ES/EDS fails when FB-3 run as application producing error message depending on 
value of Auth-parameters in config
-----------------------------------------------------------------------------------------------------------------

                 Key: CORE-4868
                 URL: http://tracker.firebirdsql.org/browse/CORE-4868
             Project: Firebird Core
          Issue Type: Bug
          Components: Engine, Security
    Affects Versions: 3.0 RC 1
            Reporter: Pavel Zotov


Let be begin from script for 2.5:
===
set list on;
create or alter view v_info as
select 
    mon$user as who_ami,
    rdb$get_context('SYSTEM','CLIENT_PROCESS') as my_exe
from mon$attachments 
where mon$attachment_id = current_connection
;
commit;

select * from v_info;

set term ^;
execute block returns(
    who_ami type of column v_info.who_ami, 
    my_exe type of column v_info.my_exe
) as
begin
  execute statement 'select who_ami, my_exe from v_info'
  on external 'localhost:' || rdb$get_context('SYSTEM','DB_NAME')
  as user 'SYSDBA' password 'masterke'
  into who_ami, my_exe;
  suspend;
end
^
set term ;^
rollback;
===

When FB 2.5 is running as SERVICE script produces:
===
WHO_AMI                         SYSDBA                                          
                                             
MY_EXE                          C:\MIX\firebird\fb25\bin\isql.exe

WHO_AMI                         SYSDBA                                          
                                             
MY_EXE                          C:\MIX\firebird\fb25\bin\fb_inet_server.exe
===

When FB 2.5 is running as APPLICATION (.\bin\fb_inet_server -a -p NNNN), output 
will be:
===
WHO_AMI                         SYSDBA                                          
                                             
MY_EXE                          C:\MIX\firebird\fb25\bin\isql.exe

WHO_AMI                         SYSDBA                                          
                                             
MY_EXE                          C:\MIX\firebird\fb25\bin\fb_inet_server.EXE
===

So, all works fine, w/o paying attention of different case if extension (".exe" 
vs ".EXE").

######################################################################

Now do in FB 3.0:
===
set list on;
create or alter view v_info as
select 
    mon$user as who_ami,
    mon$auth_method as my_auth, 
    rdb$get_context('SYSTEM','CLIENT_PROCESS') as my_exe, 
    mon$client_version as my_fbdll 
from mon$attachments 
where mon$attachment_id = current_connection
;
commit;

select * from v_info;

set term ^;
execute block returns(
    who_ami type of column v_info.who_ami, 
    my_auth type of column v_info.my_auth, 
    my_exe type of column v_info.my_exe,
    my_fbdll type of column v_info.my_fbdll
) as
begin
  execute statement 'select who_ami, my_auth, my_exe, my_fbdll from v_info'
  on external 'localhost:' || rdb$get_context('SYSTEM','DB_NAME')
  as user 'SYSDBA' password 'masterke'
  into who_ami, my_auth, my_exe, my_fbdll;
  suspend;
end
^
set term ;^
rollback;
===

If  FB-3 is running as SERVICE, all seems fine:
===
WHO_AMI                         SYSDBA                                          
                                             
MY_AUTH                         Srp
MY_EXE                          C:\MIX\firebird\fb30\isql.exe
MY_FBDLL                        WI-V3.0.0.31928 Firebird 3.0 Release Candidate 1

WHO_AMI                         SYSDBA                                          
                                             
MY_AUTH                         Srp
MY_EXE                          C:\MIX\firebird\fb30\firebird.exe
MY_FBDLL                        WI-V3.0.0.31928 Firebird 3.0 Release Candidate 1
===

If FB-3 is running as APPLICATION then:
1) with firebird.conf as:
===
AuthServer = Legacy_Auth,Srp,Win_Sspi
AuthClient = Legacy_Auth,Srp
===

-- output will be:
===
WHO_AMI                         SYSDBA                                          
                                             
MY_AUTH                         Legacy_Auth
MY_EXE                          C:\MIX\firebird\fb30\isql.exe
MY_FBDLL                        WI-V3.0.0.31928 Firebird 3.0 Release Candidate 1

Statement failed, SQLSTATE = 42000
Execute statement error at attach :
335544472 : Your user name and password are not defined. Ask your database 
administrator to set up a Firebird login.
Data source : Firebird::localhost:C:\MIX\firebird\QA\fbt-repo\tmp\E30.FDB
After line 15 in file eb30.sql
===

2) with firebird.conf as:
===
AuthServer = Srp,Legacy_Auth,Win_Sspi
AuthClient = Srp,Legacy_Auth
===

-- output will be:
===
WHO_AMI                         SYSDBA                                          
                                             
MY_AUTH                         Srp
MY_EXE                          C:\MIX\firebird\fb30\isql.exe
MY_FBDLL                        WI-V3.0.0.31928 Firebird 3.0 Release Candidate 1

Statement failed, SQLSTATE = 42000
Execute statement error at attach :
335544344 : I/O error during "CreateFile (open)" operation for file 
"C:\MIX\FIREBIRD\QA\FBT-REPO\TMP\E30.FDB"
335544734 : Error while trying to open file
23349458 : The process can not access the file because the file is in use by 
another process.
Data source : Firebird::localhost:C:\MIX\firebird\QA\fbt-repo\tmp\E30.FDB
After line 15 in file eb30.sql
===


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to