PLG$SRP table, PLG$SRP_VIEW View instructions are strangely added in the 
metadata script extracted when Windows trusted authentication is enabled
-------------------------------------------------------------------------------------------------------------------------------------------------

                 Key: CORE-6147
                 URL: http://tracker.firebirdsql.org/browse/CORE-6147
             Project: Firebird Core
          Issue Type: Bug
          Components: ISQL
    Affects Versions: 3.0.4
         Environment: Windows 10 x64
Firebird 3.0.4.33054 (x64)
            Reporter: Luciano Mendes


ACTUAL RESULT

PLG$SRP table, PLG$SRP_VIEW View instruction are strangely added in the 
metadata script extracted when Windows trusted authentication is enabled on a 
database that are using its internal security tables:
================================================================
/* Table: PLG$SRP, Owner: SYSDBA */
CREATE TABLE PLG$SRP (PLG$USER_NAME SEC$USER_NAME NOT NULL,
        PLG$VERIFIER VARCHAR(128) CHARACTER SET OCTETS NOT NULL,
        PLG$SALT VARCHAR(32) CHARACTER SET OCTETS NOT NULL,
        PLG$COMMENT RDB$DESCRIPTION,
        PLG$FIRST SEC$NAME_PART,
        PLG$MIDDLE SEC$NAME_PART,
        PLG$LAST SEC$NAME_PART,
        PLG$ATTRIBUTES RDB$DESCRIPTION,
        PLG$ACTIVE BOOLEAN,
PRIMARY KEY (PLG$USER_NAME));
/* View: PLG$SRP_VIEW, Owner: SYSDBA */
CREATE VIEW PLG$SRP_VIEW (PLG$USER_NAME, PLG$VERIFIER, PLG$SALT, PLG$COMMENT, 
PLG$FIRST, PLG$MIDDLE, PLG$LAST, PLG$ATTRIBUTES, PLG$ACTIVE) AS
SELECT PLG$USER_NAME, PLG$VERIFIER, PLG$SALT, PLG$COMMENT,    PLG$FIRST, 
PLG$MIDDLE, PLG$LAST, PLG$ATTRIBUTES, PLG$ACTIVE FROM PLG$SRP WHERE 
CURRENT_USER = 'SYSDBA'    OR CURRENT_ROLE = 'RDB$ADMIN' OR CURRENT_USER = 
PLG$SRP.PLG$USER_NAME;
/* Grant permissions for this database */
GRANT DELETE, INSERT, SELECT, UPDATE, REFERENCES ON PLG$SRP TO VIEW 
PLG$SRP_VIEW;
GRANT SELECT, UPDATE (PLG$ATTRIBUTES) ON PLG$SRP_VIEW TO PUBLIC;
GRANT UPDATE (PLG$COMMENT) ON PLG$SRP_VIEW TO PUBLIC;
GRANT UPDATE (PLG$FIRST) ON PLG$SRP_VIEW TO PUBLIC;
GRANT UPDATE (PLG$LAST) ON PLG$SRP_VIEW TO PUBLIC;
GRANT UPDATE (PLG$MIDDLE) ON PLG$SRP_VIEW TO PUBLIC;
GRANT UPDATE (PLG$SALT) ON PLG$SRP_VIEW TO PUBLIC;
GRANT UPDATE (PLG$VERIFIER) ON PLG$SRP_VIEW TO PUBLIC;
/* Mapping security objects for this database */
CREATE MAPPING TRUSTED_AUTH USING PLUGIN WIN_SSPI FROM ANY "USER" TO USER ;
/* Global mapping */
CREATE GLOBAL MAPPING TRUSTED_AUTH USING PLUGIN WIN_SSPI FROM ANY "USER" TO 
USER ;
================================================================




EXPECTED RESULT

The metadata script extracted when Windows trusted authentication is enabled 
should be added olyn the instruction to enable it:
=========================
CREATE OR ALTER GLOBAL MAPPING TRUSTED_AUTH USING PLUGIN WIN_SSPI FROM ANY USER 
TO USER;
=========================




STEPS TO REPRODUCE THE ISSUE:

1- Setup the database to use its internal security tables:
databases.conf
TEST = E:\TEST.FDB 
{ 
SecurityDatabase = TEST 
} 
2 - Connect with the database (SYSDBA) and run the following SQL instruction to 
enable use of Windows trusted authentication:
CREATE OR ALTER GLOBAL MAPPING TRUSTED_AUTH USING PLUGIN WIN_SSPI FROM ANY USER 
TO USER;
COMMIT;
3- Extract the metadata script and compare it with the original database 
metadata script
"%ProgramFiles%\Firebird\Firebird_3_0\isql.exe" -user SYSDBA -password 
masterkey -extract -output "FB30_DDL.SQL" "TEST"




FIREBIRD SETUP

firebird.conf
#SETUP 
AuthClient = Legacy_Auth, Srp, Win_Sspi 
AuthServer = Legacy_Auth, Srp, Win_Sspi 
ServerMode = Super 
UserManager = Legacy_UserManager, Srp 
WireCrypt = Enabled 
#PERFORMANCE 
DefaultDbCachePages = 100K 
FileSystemCacheThreshold = 2M 
LockHashSlots = 30011 
LockMemSize = 15M 
RemoteServicePort = 3050 
TempBlockSize = 2M 
TempCacheLimit = 1000M 
TracePlugin = fbtrace 

-- 
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

        


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to