New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unquoted role names with non-ASCII characters passed in DPB are upper-cased wrongly [CORE3511] #3869
Comments
Modified by: @asfernandesstatus: Open [ 1 ] => Resolved [ 5 ] resolution: Fixed [ 1 ] Fix Version: 2.5.1 [ 10333 ] Fix Version: 3.0 Alpha 1 [ 10331 ] assignee: Adriano dos Santos Fernandes [ asfernandes ] |
Modified by: @pcisarstatus: Resolved [ 5 ] => Closed [ 6 ] |
Modified by: @pavel-zotovQA Status: No test |
Modified by: @pavel-zotovstatus: Closed [ 6 ] => Closed [ 6 ] QA Status: No test => Deferred Test Details: Waiting for reply on letter 14-mar-2016 21:06 (sent dimitr): it seems that test can be implemented only for run under POSIX. |
Commented by: @pavel-zotov On Windows non-ascii role can not be passed within connection statement (i.e. connect ... role <some-non-ascii-text> ) Sample: drop user tmp$c3511; set bail on; create or alter view v_whoami as revoke all on all from tmp$c3511; grant "Gros" to tmp$c3511; grant select on v_whoami to tmp$c3511; show roles; set list on; connect '/:e30' user tmp$c3511 password '123' role "Gros"; select * from v_whoami; connect '/:e30' user tmp$c3511 password '123' role "αβγδε"; select * from v_whoami; connect '/:e30' user tmp$c3511 password '123' role "Groß"; select * from v_whoami; Output (see also attached screen): C:\MIX\firebird\QA\fbt-repo\tmp>chcp C:\MIX\firebird\QA\fbt-repo\tmp>copy /y e30.fd0 *.fdb 1>nul 2>&1 & C:\MIX\firebird\fb30\isql /:e30 -i c3511-30.sql /* Grant permissions for this database */ connect '/:e30' user tmp$c3511 password '123' role "Gros"; select * from v_whoami; CUR_USER TMP$C3511 commit; connect '/:e30' user tmp$c3511 password '123' role "αβγδε"; select * from v_whoami; CUR_USER TMP$C3511 commit; connect '/:e30' user tmp$c3511 password '123' role "Groß"; select * from v_whoami; CUR_USER TMP$C3511 commit; |
::: test details ::: As of Windows, only system code page can be used when ISQL passes user/role containing non-ascii characters Because of this, it was decided to use Pytthon FDB for connect with DPB that contains non-ascii data. |
Submitted by: @asfernandes
The problem is different in Windows and others OSes.
In Windows, the utf-8 encoded string is upper-cased as a Windows ANSI string hence mangling non-ASCII characters.
In others, only ASCII characters are upper-cased, leaving others as was.
Commits: 59d841e e2bd4d0
====== Test Details ======
Waiting for reply on letter 14-mar-2016 21:06 (sent dimitr): it seems that test can be implemented only for run under POSIX.
The text was updated successfully, but these errors were encountered: