|
From: <ta...@us...> - 2016-06-23 05:19:12
|
Revision: 63423
http://sourceforge.net/p/firebird/code/63423
Author: tabloid
Date: 2016-06-23 05:19:09 +0000 (Thu, 23 Jun 2016)
Log Message:
-----------
See added / modified .fbt file(s)
Modified Paths:
--------------
qa/fbt-repository/trunk/tests/bugs/core_2026.fbt
Added Paths:
-----------
qa/fbt-repository/trunk/tests/functional/syspriv/monitor_any_attachment.fbt
Modified: qa/fbt-repository/trunk/tests/bugs/core_2026.fbt
===================================================================
--- qa/fbt-repository/trunk/tests/bugs/core_2026.fbt 2016-06-21 06:31:33 UTC (rev 63422)
+++ qa/fbt-repository/trunk/tests/bugs/core_2026.fbt 2016-06-23 05:19:09 UTC (rev 63423)
@@ -15,6 +15,11 @@
{
'firebird_version': '2.5',
'platform': 'All',
+ 'init_script':
+ """
+ recreate table test(x integer default 0);
+ commit;
+ """,
'database_character_set': 'ISO8859_1',
'test_type': 'Python',
'test_script':
@@ -26,8 +31,6 @@
db_conn.close()
-runProgram('isql',[dsn],'recreate table test (test integer default 0);')
-
script='''
set list on;
set blob all;
@@ -37,14 +40,19 @@
from rdb$relation_fields
where rdb$default_source is not null;
'''
+runProgram('isql',[dsn],script)
runProgram('gfix',['-mode','read_only',dsn])
runProgram('isql',['-ch','iso8859_1',dsn],script)
""",
'expected_stdout':
"""
+ MON$READ_ONLY 0
+ RDB$FIELD_NAME X
+ default 0
+ Records affected: 1
MON$READ_ONLY 1
- RDB$FIELD_NAME TEST
+ RDB$FIELD_NAME X
default 0
Records affected: 1
""",
Added: qa/fbt-repository/trunk/tests/functional/syspriv/monitor_any_attachment.fbt
===================================================================
--- qa/fbt-repository/trunk/tests/functional/syspriv/monitor_any_attachment.fbt (rev 0)
+++ qa/fbt-repository/trunk/tests/functional/syspriv/monitor_any_attachment.fbt 2016-06-23 05:19:09 UTC (rev 63423)
@@ -0,0 +1,113 @@
+{
+'id': 'functional.syspriv.monitor_any_attachment',
+'tracker_id': '',
+'title': 'Check ability to monitor any attachment.',
+'description':
+ """
+ """,
+'min_versions': '4.0.0',
+'versions': [
+{
+ 'firebird_version': '4.0',
+ 'platform': 'All',
+ 'test_type': 'ISQL',
+ 'test_script':
+ """
+ set wng off;
+ set bail on;
+ set list on;
+ set count on;
+
+ create or alter view v_check as
+ select
+ current_user as who_ami
+ ,r.rdb$role_name
+ ,rdb$role_in_use(r.rdb$role_name) as rdb$role_in_use
+ ,r.rdb$system_privileges
+ from mon$database m cross join rdb$roles r;
+ commit;
+
+ create or alter user u01 password '123' revoke admin role;
+ revoke all on all from u01;
+ commit;
+
+ grant select on v_check to public;
+ commit;
+
+ set term ^;
+ execute block as
+ begin
+ execute statement 'drop role role_for_monitor_any_attach';
+ when any do begin end
+ end
+ ^
+ set term ;^
+ commit;
+
+ -- Monitor (via MON$ tables) attachments from other users:
+ create role role_for_monitor_any_attach
+ set system privileges to MONITOR_ANY_ATTACHMENT;
+ commit;
+ grant default role_for_monitor_any_attach to user u01;
+ commit;
+
+ connect '$(DSN)' user u01 password '123';
+ commit;
+ select * from v_check;
+ commit;
+
+ set term ^;
+ execute block returns(
+ who_am_i rdb$user,
+ who_else_here rdb$user,
+ what_he_is_doing varchar(50)
+ ) as
+ declare another_user varchar(31);
+ begin
+ execute statement 'select current_user from rdb$database'
+ on external 'localhost:' || rdb$get_context('SYSTEM','DB_NAME')
+ as user 'SYSDBA' password 'masterkey'
+ into another_user;
+
+ for
+ select
+ current_user,
+ a.mon$user,
+ s.mon$sql_text
+ from mon$attachments a join mon$statements s using(mon$attachment_id)
+ where a.mon$user<>current_user and a.mon$system_flag is distinct from 1
+ into who_am_i, who_else_here, what_he_is_doing
+ do
+ suspend;
+ end
+ ^
+ set term ;^
+ commit;
+
+ connect '$(DSN)' user sysdba password 'masterkey';
+ drop user u01;
+ drop role role_for_monitor_any_attach;
+ commit;
+ """,
+ 'expected_stdout':
+ """
+ WHO_AMI U01
+ RDB$ROLE_NAME RDB$ADMIN
+ RDB$ROLE_IN_USE <false>
+ RDB$SYSTEM_PRIVILEGES FFFFFFFFFFFFFFFF
+ WHO_AMI U01
+ RDB$ROLE_NAME ROLE_FOR_MONITOR_ANY_ATTACH
+ RDB$ROLE_IN_USE <true>
+ RDB$SYSTEM_PRIVILEGES 8000000000000000
+ Records affected: 2
+ WHO_AM_I U01
+ WHO_ELSE_HERE SYSDBA
+ WHAT_HE_IS_DOING select current_user from rdb$database
+ Records affected: 1
+ """,
+ 'expected_stderr':
+ """
+ """
+}
+]
+}
Property changes on: qa/fbt-repository/trunk/tests/functional/syspriv/monitor_any_attachment.fbt
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|