os/persistentdata/persistentstorage/sql/TEST/testexecute/SQLite/config/security.ini
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
     1 // Create tests
     2 
     3 [create1]
     4 SPCreateL0=
     5 SetDBPolicy1=ESchemaPolicy,ECapabilityAllFiles
     6 SetDBPolicy2=EReadPolicy,ECapabilityAllFiles
     7 CreateSP3=[102827c7]sec.db
     8 SPClose4=
     9 Exec5=create table names(pkey int primary key, fname text, lname text, ref int);
    10 Exec6=insert into names(pkey, fname, lname, ref) values(1, "tom", "jones", 2);
    11 Exec7=insert into names(pkey, fname, lname, ref) values(2, "jim", "davies", 1);
    12 Exec8=insert into names(pkey, fname, lname, ref) values(3, "bob", "smith", 1);
    13 Exec9=insert into names(pkey, fname, lname, ref) values(4, "dave", "house", 3);
    14 Exec10=insert into names(pkey, fname, lname, ref) values(5, "jane", "hobbs", 4);
    15 Close11=
    16 EndBlock12=
    17 
    18 [create1a]
    19 SPCreateL0=
    20 SetDBPolicy1=ESchemaPolicy,ECapabilityWriteUserData
    21 SetDBPolicy2=EReadPolicy,ECapabilityWriteUserData
    22 CreateSP3=[102827c7]sec1.db
    23 SPClose4=
    24 Exec5=create table names(pkey int primary key, fname text, lname text, ref int);
    25 Exec6=insert into names(pkey, fname, lname, ref) values(1, "tom", "jones", 2);
    26 Exec7=insert into names(pkey, fname, lname, ref) values(2, "jim", "davies", 1);
    27 Exec8=insert into names(pkey, fname, lname, ref) values(3, "bob", "smith", 1);
    28 Exec9=insert into names(pkey, fname, lname, ref) values(4, "dave", "house", 3);
    29 Exec10=insert into names(pkey, fname, lname, ref) values(5, "jane", "hobbs", 4);
    30 Close11=
    31 EndBlock12=
    32 
    33 [create1b]
    34 SPCreate0=
    35 SetDBPolicy1=ESchemaPolicy,ECapabilityAllFiles
    36 SetDBPolicy2=EWritePolicy,ECapabilityAllFiles
    37 SetDBPolicy3=EReadPolicy,ECapabilityWriteUserData
    38 CreateSP4=[102827c7]sec4.db
    39 SPClose5=
    40 Exec6=create table names(pkey int primary key, fname text, lname text, ref int);
    41 Exec7=insert into names(pkey, fname, lname, ref) values(1, "tom", "jones", 2);
    42 Exec8=insert into names(pkey, fname, lname, ref) values(2, "jim", "davies", 1);
    43 Exec9=insert into names(pkey, fname, lname, ref) values(3, "bob", "smith", 1);
    44 Exec10=insert into names(pkey, fname, lname, ref) values(4, "dave", "house", 3);
    45 Exec11=insert into names(pkey, fname, lname, ref) values(5, "jane", "hobbs", 4);
    46 Close12=
    47 EndBlock13=
    48 
    49 [create2]
    50 SPCreate0=
    51 SetDBPolicy1=ESchemaPolicy,ECapabilityWriteUserData
    52 CreateSP2=[102827c7]sec2.db
    53 SPClose3=
    54 Exec4=create table names(pkey int primary key, fname text, lname text, ref int);
    55 Exec5=insert into names(pkey, fname, lname, ref) values(1, "tom", "jones", 2);
    56 Exec6=insert into names(pkey, fname, lname, ref) values(2, "jim", "davies", 1);
    57 Exec7=insert into names(pkey, fname, lname, ref) values(3, "bob", "smith", 1);
    58 Exec8=insert into names(pkey, fname, lname, ref) values(4, "dave", "house", 3);
    59 Exec9=insert into names(pkey, fname, lname, ref) values(5, "jane", "hobbs", 4);
    60 Close10=
    61 EndBlock11=
    62 
    63 [create3]
    64 SPCreate0=
    65 SetDBPolicy1=ESchemaPolicy,ECapabilityAllFiles
    66 CreateSP2=[102827c7]sec.db
    67 ExpectedError2=KErrPermissionDenied
    68 SPClose3=
    69 EndBlock4=
    70 
    71 [create4]
    72 SPCreate0=
    73 SetDBPolicy1=ESchemaPolicy,ECapabilityAllFiles
    74 CreateSP2=[102827c8]sec.db
    75 ExpectedError2=KErrPermissionDenied
    76 SPClose3=
    77 EndBlock4=
    78 
    79 [create5]
    80 SPCreate0=
    81 CreateSP1=[102827c7]sec.db
    82 ExpectedError1=KErrPermissionDenied
    83 SPClose2=
    84 EndBlock3=
    85 
    86 [create6]
    87 CreateSP0=[102827c7]sec.db
    88 EndBlock1=
    89 
    90 [create7]
    91 SPCreate0=
    92 SetDBPolicy1=EReadPolicy,ECapabilityAllFiles
    93 CreateSP2=[102827c7]sec.db
    94 ExpectedError2=KErrPermissionDenied
    95 SPClose3=
    96 EndBlock4=
    97 
    98 [create8]
    99 SPCreate0=
   100 SetDBPolicy1=EWritePolicy,ECapabilityAllFiles
   101 CreateSP2=[102827c7]sec.db
   102 ExpectedError2=KErrPermissionDenied
   103 SPClose3=
   104 EndBlock4=
   105 
   106 [create9]
   107 SPCreate0=
   108 SetDBPolicy1=EWritePolicy,ECapabilityAllFiles
   109 SetDBPolicy2=EReadPolicy,ECapabilityAllFiles
   110 CreateSP3=[102827c7]sec.db
   111 ExpectedError3=KErrPermissionDenied
   112 SPClose4=
   113 EndBlock5=
   114 
   115 [create10]
   116 SPCreate0=
   117 SetDBPolicy1=EWritePolicy,ECapabilityAllFiles
   118 SetDBPolicy2=EReadPolicy,ECapabilityAllFiles
   119 SetDBPolicy2=ESchemaPolicy,ECapabilityAllFiles
   120 CreateSP3=[102827c7]sec3.db
   121 ExpectedError3=KErrPermissionDenied
   122 SPClose4=
   123 EndBlock5=
   124 
   125 [create11]
   126 SPCreate0=
   127 SetDBPolicy1=ESchemaPolicy,ECapabilityWriteUserData
   128 CreateSP2=[102827c8]sec.db
   129 SPClose3=
   130 Exec4=create table names(pkey int primary key, fname text, lname text, ref int);
   131 Exec5=insert into names(pkey, fname, lname, ref) values(1, "tom", "jones", 2);
   132 Exec6=insert into names(pkey, fname, lname, ref) values(2, "jim", "davies", 1);
   133 Exec7=insert into names(pkey, fname, lname, ref) values(3, "bob", "smith", 1);
   134 Exec8=insert into names(pkey, fname, lname, ref) values(4, "dave", "house", 3);
   135 Exec9=insert into names(pkey, fname, lname, ref) values(5, "jane", "hobbs", 4);
   136 Close10=
   137 EndBlock11=
   138 
   139 [create12]
   140 Create0=c:\private\102827c7\sec.db
   141 Exec1=create table names(pkey int primary key, fname text, lname text, ref int);
   142 Exec2=insert into names(pkey, fname, lname, ref) values(1, "tom", "jones", 2);
   143 Exec3=insert into names(pkey, fname, lname, ref) values(2, "jim", "davies", 1);
   144 Exec4=insert into names(pkey, fname, lname, ref) values(3, "bob", "smith", 1);
   145 Exec5=insert into names(pkey, fname, lname, ref) values(4, "dave", "house", 3);
   146 Exec6=insert into names(pkey, fname, lname, ref) values(5, "jane", "hobbs", 4);
   147 Close7=
   148 EndBlock8=
   149 
   150 [create12a]
   151 Create0=c:\private\102827c8\sec.db
   152 ExpectedError0=KErrPermissionDenied
   153 EndBlock1=
   154 
   155 [create12b]
   156 Create0=c:\private\102827c8\sec3.db
   157 Exec1=create table names(pkey int primary key, fname text, lname text, ref int);
   158 Exec2=insert into names(pkey, fname, lname, ref) values(1, "tom", "jones", 2);
   159 Exec3=insert into names(pkey, fname, lname, ref) values(2, "jim", "davies", 1);
   160 Exec4=insert into names(pkey, fname, lname, ref) values(3, "bob", "smith", 1);
   161 Exec5=insert into names(pkey, fname, lname, ref) values(4, "dave", "house", 3);
   162 Exec6=insert into names(pkey, fname, lname, ref) values(5, "jane", "hobbs", 4);
   163 Close7=
   164 EndBlock8=
   165 
   166 // Read tests
   167 
   168 [read1]
   169 Open0=[102827c7]sec.db
   170 Prepare1=select count(*) from names;
   171 ColumnIndex2=
   172 Next3=
   173 ColumnInt4=0,5
   174 St_Close5=
   175 Close6=[102827c7]sec.db
   176 EndBlock7=
   177 
   178 [read2]
   179 Open0=[102827c8]sec.db
   180 Prepare1=select count(*) from names;
   181 ColumnIndex2=
   182 Next3=
   183 ColumnInt4=0,5
   184 St_Close5=
   185 Close6=[102827c8]sec.db
   186 EndBlock7=
   187 
   188 [read3]
   189 Open0=[102827c7]sec.db
   190 ExpectedError0=KErrPermissionDenied
   191 Close1=[102827c7]sec.db
   192 EndBlock2=
   193 
   194 [read4]
   195 Open0=[102827c7]sec1.db
   196 Prepare1=select count(*) from names;
   197 ColumnIndex2=
   198 Next3=
   199 ColumnInt4=0,5
   200 St_Close5=
   201 Close6=[102827c7]sec1.db
   202 EndBlock7=
   203 
   204 // Write tests
   205 
   206 [write1]
   207 Open0=[102827c7]sec4.db
   208 Prepare1=select count(*) from names;
   209 ColumnIndex2=
   210 Next3=
   211 ColumnInt4=0,5
   212 St_Close5=
   213 Exec6=insert into names(pkey, fname, lname, ref) values(6, "new", "starter", 1);
   214 ExpectedError6=KErrPermissionDenied
   215 Prepare7=select count(*) from names;
   216 ColumnIndex8=
   217 Next9=
   218 ColumnInt10=0,5
   219 St_Close11=
   220 Close12=[102827c7]sec4.db
   221 EndBlock13=
   222 
   223 [write2]
   224 Open0=[102827c7]sec4.db
   225 Prepare1=select count(*) from names;
   226 ColumnIndex2=
   227 Next3=
   228 ColumnInt4=0,5
   229 St_Close5=
   230 Exec6=insert into names(pkey, fname, lname, ref) values(6, "new", "starter", 1);
   231 Prepare7=select count(*) from names;
   232 ColumnIndex8=
   233 Next9=
   234 ColumnInt10=0,6
   235 St_Close11=
   236 Close12=[102827c7]sec4.db
   237 EndBlock13=
   238 
   239 // Schema tests
   240 
   241 [schema1]
   242 Open0=[102827c7]sec4.db
   243 Exec1=create table newtab(pkey int primary key, fname text, lname text, ref int);
   244 ExpectedError1=KErrPermissionDenied
   245 Close2=
   246 EndBlock3=
   247 
   248 [schema2]
   249 Open0=[102827c7]sec4.db
   250 Exec1=create table newtab(pkey int primary key, fname text, lname text, ref int);
   251 Close2=
   252 EndBlock3=
   253 
   254 // Attach tests
   255 
   256 [attach1]
   257 Open0=[102827c7]sec1.db
   258 Prepare1=select count(*) from names;
   259 ColumnIndex2=
   260 Next3=
   261 ColumnInt4=0,5
   262 St_Close5=
   263 Exec6=attach "C:\private\10281e17\[102827c7]sec1.db" as [102827c7]sec1
   264 ExpectedError6=KErrPermissionDenied
   265 Close7=
   266 EndBlock8=
   267 
   268 [attach2]
   269 Open0=[102827c7]sec.db
   270 Prepare1=select count(*) from names;
   271 ColumnIndex2=
   272 Next3=
   273 ColumnInt4=0,5
   274 St_Close5=
   275 Attach6=C:[102827c7]sec1.db,fred
   276 Prepare7=select count(*) from fred.names;
   277 ColumnIndex8=
   278 Next9=
   279 ColumnInt10=0,5
   280 St_Close11=
   281 Detach12=fred
   282 Prepare13=select count(*) from fred.names;
   283 ExpectedError13=KSqlErrGeneral
   284 Close14=
   285 EndBlock15=
   286 
   287 [attach3]
   288 Open0=[102827c7]sec1.db
   289 Prepare1=select count(*) from names;
   290 ColumnIndex2=
   291 Next3=
   292 ColumnInt4=0,5
   293 St_Close5=
   294 Attach6=C:[102827c7]sec.db,tom
   295 ExpectedError6=KErrPermissionDenied
   296 Close7=
   297 EndBlock8=
   298 
   299 [attach4]
   300 Open0=[102827c7]sec.db
   301 Prepare1=select count(*) from names;
   302 ColumnIndex2=
   303 Next3=
   304 ColumnInt4=0,5
   305 St_Close5=
   306 Attach6=c:\private\102827c7\sec.db,bob
   307 Prepare7=select count(*) from bob.names;
   308 ColumnIndex8=
   309 Next9=
   310 ColumnInt10=0,5
   311 St_Close11=
   312 Detach12=bob
   313 Prepare13=select count(*) from bob.names;
   314 ExpectedError13=KSqlErrGeneral
   315 Close14=
   316 EndBlock15=
   317 
   318 [attach5]
   319 Open0=c:\private\102827c7\sec.db
   320 Prepare1=select count(*) from names;
   321 ColumnIndex2=
   322 Next3=
   323 ColumnInt4=0,5
   324 St_Close5=
   325 Attach6=[102827c7]sec.db,bob
   326 Prepare7=select count(*) from bob.names;
   327 ColumnIndex8=
   328 Next9=
   329 ColumnInt10=0,5
   330 St_Close11=
   331 Detach12=bob
   332 Prepare13=select count(*) from bob.names;
   333 ExpectedError13=KSqlErrGeneral
   334 Close14=
   335 EndBlock15=
   336 
   337 [attach6]
   338 // this is the test case where we try to cheat ATTACH by passing in arguments that will execute SQL while the authorizer is disabled.
   339 Open0=[102827c7]sec.db
   340 Prepare1=select count(*) from names;
   341 ColumnIndex2=
   342 Next3=
   343 ColumnInt4=0,5
   344 St_Close5=
   345 Attach6=[102827c7]sec1.db' AS fred; delete from names;,fred2
   346 ExpectedError6=KSqlErrGeneral
   347 Prepare7=select count(*) from names;
   348 ColumnIndex8=
   349 Next9=
   350 ColumnInt10=0,5
   351 St_Close11=
   352 Prepare12=select count(*) from fred.names;
   353 ColumnIndex13=
   354 Next14=
   355 ColumnInt15=0,5
   356 St_Close16=
   357 Detach17=fred
   358 Prepare18=select count(*) from fred.names;
   359 ExpectedError18=KSqlErrGeneral
   360 Close19=
   361 EndBlock20=
   362 
   363 // Copy tests
   364 
   365 [copy1]
   366 Copy0=[102827c7]sec.db,C:\sec_dest.db
   367 ExpectedError0=KErrPermissionDenied
   368 EndBlock1=
   369 
   370 [copy2]
   371 Create0=C:\[102827c7]sec_source.db
   372 Copy1=C:\[102827c7]sec.db,[102827c7]sec_dest.db
   373 ExpectedError1=KErrPermissionDenied
   374 Close2=
   375 Delete3=C:\[102827c7]sec_source.db
   376 EndBlock4=
   377 
   378 [copy3]
   379 Copy0=C:\private\102827c7\sec.db,[102827c7]sec_dest.db
   380 ExpectedError0=KErrPermissionDenied
   381 EndBlock1=
   382 
   383 [copy4]
   384 Copy0=[102827c7]sec.db,C:\private\102827c7\sec_dest.db
   385 ExpectedError0=KErrPermissionDenied
   386 EndBlock1=
   387 
   388 [copy5]
   389 Copy0=[102827c7]sec.db,[102827c7]sec_copy.db
   390 EndBlock1=
   391 
   392 [copy6]
   393 Copy0=C:\private\102827c7\sec.db, C:\private\102827c7\sec_copy.db
   394 ExpectedError0=KErrPermissionDenied
   395 EndBlock1=
   396 
   397 [copy7]
   398 Copy0=C:\private\102827c7\sec.db, C:\sec_copy.db
   399 ExpectedError0=KErrPermissionDenied
   400 EndBlock1=
   401 
   402 
   403 // Concurrency tests
   404 
   405 
   406 // Policy check tests
   407 
   408 [policy1]
   409 SPCreateL0=
   410 SetDBPolicy1=ESchemaPolicy,ECapabilityWriteUserData
   411 SetDBPolicy2=EReadPolicy,ECapabilityWriteUserData
   412 SetPolicy3=ETable,names,EWritePolicy,ECapabilityAllFiles
   413 SetPolicy4=ETable,names,EReadPolicy,ECapabilityAllFiles
   414 CreateSP5=[102827c7]secpol.db
   415 SPClose6=
   416 Exec7=create table names(pkey int primary key, fname text, lname text, ref int);
   417 Exec8=insert into names(pkey, fname, lname, ref) values(1, "tom", "jones", 2);
   418 Exec9=insert into names(pkey, fname, lname, ref) values(2, "jim", "davies", 1);
   419 Exec10=insert into names(pkey, fname, lname, ref) values(3, "bob", "smith", 1);
   420 Exec11=insert into names(pkey, fname, lname, ref) values(4, "dave", "house", 3);
   421 Exec12=insert into names(pkey, fname, lname, ref) values(5, "jane", "hobbs", 4);
   422 Close13=
   423 EndBlock14=
   424 
   425 [policy2]
   426 Open0=[102827c7]secpol.db
   427 Prepare1=select count(*) from names;
   428 ColumnIndex2=
   429 Next3=
   430 ColumnInt4=0,5
   431 St_Close5=
   432 Exec6=insert into names(pkey, fname, lname, ref) values(6, "new", "starter", 1);
   433 Prepare7=select count(*) from names;
   434 ColumnIndex8=
   435 Next9=
   436 ColumnInt10=0,6
   437 St_Close11=
   438 Close12=
   439 EndBlock13=
   440 
   441 [policy3]
   442 // this test has been deferred as it has duplicated a developer test
   443 SPCreateL0=
   444 SetDBPolicy1=ESchemaPolicy,ECapabilityWriteUserData
   445 SetDBPolicy2=EReadPolicy,ECapabilityWriteUserData
   446 SetPolicy3=ETable,names,EWritePolicy,ECapabilityAllFiles
   447 SetPolicy4=ETable,names,EReadPolicy,ECapabilityAllFiles
   448 CreateSP5=[102827c7]secpol1.db
   449 
   450 Exec7=create table names(pkey int primary key, fname text, lname text, ref int);
   451 Exec8=insert into names(pkey, fname, lname, ref) values(1, "tom", "jones", 2);
   452 Exec9=insert into names(pkey, fname, lname, ref) values(2, "jim", "davies", 1);
   453 Exec10=insert into names(pkey, fname, lname, ref) values(3, "bob", "smith", 1);
   454 Exec11=insert into names(pkey, fname, lname, ref) values(4, "dave", "house", 3);
   455 Exec12=insert into names(pkey, fname, lname, ref) values(5, "jane", "hobbs", 4);
   456 Close13=
   457 Function14=SecurityPolicyCheck
   458 
   459 SPClose6=
   460 EndBlock14=
   461 
   462 
   463 // Inernalize & Externalize tests
   464 
   465 [External1]
   466 SPCreate0=
   467 SetDBPolicy1=ESchemaPolicy,ECapabilityAllFiles
   468 SetDBPolicy2=EReadPolicy,ECapabilityAllFiles
   469 SetPolicy3=ETable,names,EWritePolicy,ECapabilityAllFiles
   470 Delete4=c:\ext.pol
   471 ExpectedError4=KErrNotFound
   472 SPExternalizeL5=c:\ext.pol
   473 EndBlock6=
   474 
   475 [External2]
   476 SPCreate0=
   477 SPInternalizeL1=c:\ext.pol
   478 CreateSP2=[102827c7]ext.db
   479 SPClose3=
   480 Exec4=create table names(pkey int primary key, fname text, lname text, ref int);
   481 Exec5=insert into names(pkey, fname, lname, ref) values(1, "tom", "jones", 2);
   482 Exec6=insert into names(pkey, fname, lname, ref) values(2, "jim", "davies", 1);
   483 Exec7=insert into names(pkey, fname, lname, ref) values(3, "bob", "smith", 1);
   484 Exec8=insert into names(pkey, fname, lname, ref) values(4, "dave", "house", 3);
   485 Exec9=insert into names(pkey, fname, lname, ref) values(5, "jane", "hobbs", 4);
   486 Close10=
   487 EndBlock11=
   488 
   489 [External3]
   490 Open0=[102827c7]ext.db
   491 ExpectedError0=KErrPermissionDenied
   492 Close1=[102827c7]ext.db
   493 EndBlock2=
   494