os/persistentdata/persistentstorage/sql/TEST/testexecute/SQLite/config/security.ini
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/persistentdata/persistentstorage/sql/TEST/testexecute/SQLite/config/security.ini Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,494 @@
1.4 +// Create tests
1.5 +
1.6 +[create1]
1.7 +SPCreateL0=
1.8 +SetDBPolicy1=ESchemaPolicy,ECapabilityAllFiles
1.9 +SetDBPolicy2=EReadPolicy,ECapabilityAllFiles
1.10 +CreateSP3=[102827c7]sec.db
1.11 +SPClose4=
1.12 +Exec5=create table names(pkey int primary key, fname text, lname text, ref int);
1.13 +Exec6=insert into names(pkey, fname, lname, ref) values(1, "tom", "jones", 2);
1.14 +Exec7=insert into names(pkey, fname, lname, ref) values(2, "jim", "davies", 1);
1.15 +Exec8=insert into names(pkey, fname, lname, ref) values(3, "bob", "smith", 1);
1.16 +Exec9=insert into names(pkey, fname, lname, ref) values(4, "dave", "house", 3);
1.17 +Exec10=insert into names(pkey, fname, lname, ref) values(5, "jane", "hobbs", 4);
1.18 +Close11=
1.19 +EndBlock12=
1.20 +
1.21 +[create1a]
1.22 +SPCreateL0=
1.23 +SetDBPolicy1=ESchemaPolicy,ECapabilityWriteUserData
1.24 +SetDBPolicy2=EReadPolicy,ECapabilityWriteUserData
1.25 +CreateSP3=[102827c7]sec1.db
1.26 +SPClose4=
1.27 +Exec5=create table names(pkey int primary key, fname text, lname text, ref int);
1.28 +Exec6=insert into names(pkey, fname, lname, ref) values(1, "tom", "jones", 2);
1.29 +Exec7=insert into names(pkey, fname, lname, ref) values(2, "jim", "davies", 1);
1.30 +Exec8=insert into names(pkey, fname, lname, ref) values(3, "bob", "smith", 1);
1.31 +Exec9=insert into names(pkey, fname, lname, ref) values(4, "dave", "house", 3);
1.32 +Exec10=insert into names(pkey, fname, lname, ref) values(5, "jane", "hobbs", 4);
1.33 +Close11=
1.34 +EndBlock12=
1.35 +
1.36 +[create1b]
1.37 +SPCreate0=
1.38 +SetDBPolicy1=ESchemaPolicy,ECapabilityAllFiles
1.39 +SetDBPolicy2=EWritePolicy,ECapabilityAllFiles
1.40 +SetDBPolicy3=EReadPolicy,ECapabilityWriteUserData
1.41 +CreateSP4=[102827c7]sec4.db
1.42 +SPClose5=
1.43 +Exec6=create table names(pkey int primary key, fname text, lname text, ref int);
1.44 +Exec7=insert into names(pkey, fname, lname, ref) values(1, "tom", "jones", 2);
1.45 +Exec8=insert into names(pkey, fname, lname, ref) values(2, "jim", "davies", 1);
1.46 +Exec9=insert into names(pkey, fname, lname, ref) values(3, "bob", "smith", 1);
1.47 +Exec10=insert into names(pkey, fname, lname, ref) values(4, "dave", "house", 3);
1.48 +Exec11=insert into names(pkey, fname, lname, ref) values(5, "jane", "hobbs", 4);
1.49 +Close12=
1.50 +EndBlock13=
1.51 +
1.52 +[create2]
1.53 +SPCreate0=
1.54 +SetDBPolicy1=ESchemaPolicy,ECapabilityWriteUserData
1.55 +CreateSP2=[102827c7]sec2.db
1.56 +SPClose3=
1.57 +Exec4=create table names(pkey int primary key, fname text, lname text, ref int);
1.58 +Exec5=insert into names(pkey, fname, lname, ref) values(1, "tom", "jones", 2);
1.59 +Exec6=insert into names(pkey, fname, lname, ref) values(2, "jim", "davies", 1);
1.60 +Exec7=insert into names(pkey, fname, lname, ref) values(3, "bob", "smith", 1);
1.61 +Exec8=insert into names(pkey, fname, lname, ref) values(4, "dave", "house", 3);
1.62 +Exec9=insert into names(pkey, fname, lname, ref) values(5, "jane", "hobbs", 4);
1.63 +Close10=
1.64 +EndBlock11=
1.65 +
1.66 +[create3]
1.67 +SPCreate0=
1.68 +SetDBPolicy1=ESchemaPolicy,ECapabilityAllFiles
1.69 +CreateSP2=[102827c7]sec.db
1.70 +ExpectedError2=KErrPermissionDenied
1.71 +SPClose3=
1.72 +EndBlock4=
1.73 +
1.74 +[create4]
1.75 +SPCreate0=
1.76 +SetDBPolicy1=ESchemaPolicy,ECapabilityAllFiles
1.77 +CreateSP2=[102827c8]sec.db
1.78 +ExpectedError2=KErrPermissionDenied
1.79 +SPClose3=
1.80 +EndBlock4=
1.81 +
1.82 +[create5]
1.83 +SPCreate0=
1.84 +CreateSP1=[102827c7]sec.db
1.85 +ExpectedError1=KErrPermissionDenied
1.86 +SPClose2=
1.87 +EndBlock3=
1.88 +
1.89 +[create6]
1.90 +CreateSP0=[102827c7]sec.db
1.91 +EndBlock1=
1.92 +
1.93 +[create7]
1.94 +SPCreate0=
1.95 +SetDBPolicy1=EReadPolicy,ECapabilityAllFiles
1.96 +CreateSP2=[102827c7]sec.db
1.97 +ExpectedError2=KErrPermissionDenied
1.98 +SPClose3=
1.99 +EndBlock4=
1.100 +
1.101 +[create8]
1.102 +SPCreate0=
1.103 +SetDBPolicy1=EWritePolicy,ECapabilityAllFiles
1.104 +CreateSP2=[102827c7]sec.db
1.105 +ExpectedError2=KErrPermissionDenied
1.106 +SPClose3=
1.107 +EndBlock4=
1.108 +
1.109 +[create9]
1.110 +SPCreate0=
1.111 +SetDBPolicy1=EWritePolicy,ECapabilityAllFiles
1.112 +SetDBPolicy2=EReadPolicy,ECapabilityAllFiles
1.113 +CreateSP3=[102827c7]sec.db
1.114 +ExpectedError3=KErrPermissionDenied
1.115 +SPClose4=
1.116 +EndBlock5=
1.117 +
1.118 +[create10]
1.119 +SPCreate0=
1.120 +SetDBPolicy1=EWritePolicy,ECapabilityAllFiles
1.121 +SetDBPolicy2=EReadPolicy,ECapabilityAllFiles
1.122 +SetDBPolicy2=ESchemaPolicy,ECapabilityAllFiles
1.123 +CreateSP3=[102827c7]sec3.db
1.124 +ExpectedError3=KErrPermissionDenied
1.125 +SPClose4=
1.126 +EndBlock5=
1.127 +
1.128 +[create11]
1.129 +SPCreate0=
1.130 +SetDBPolicy1=ESchemaPolicy,ECapabilityWriteUserData
1.131 +CreateSP2=[102827c8]sec.db
1.132 +SPClose3=
1.133 +Exec4=create table names(pkey int primary key, fname text, lname text, ref int);
1.134 +Exec5=insert into names(pkey, fname, lname, ref) values(1, "tom", "jones", 2);
1.135 +Exec6=insert into names(pkey, fname, lname, ref) values(2, "jim", "davies", 1);
1.136 +Exec7=insert into names(pkey, fname, lname, ref) values(3, "bob", "smith", 1);
1.137 +Exec8=insert into names(pkey, fname, lname, ref) values(4, "dave", "house", 3);
1.138 +Exec9=insert into names(pkey, fname, lname, ref) values(5, "jane", "hobbs", 4);
1.139 +Close10=
1.140 +EndBlock11=
1.141 +
1.142 +[create12]
1.143 +Create0=c:\private\102827c7\sec.db
1.144 +Exec1=create table names(pkey int primary key, fname text, lname text, ref int);
1.145 +Exec2=insert into names(pkey, fname, lname, ref) values(1, "tom", "jones", 2);
1.146 +Exec3=insert into names(pkey, fname, lname, ref) values(2, "jim", "davies", 1);
1.147 +Exec4=insert into names(pkey, fname, lname, ref) values(3, "bob", "smith", 1);
1.148 +Exec5=insert into names(pkey, fname, lname, ref) values(4, "dave", "house", 3);
1.149 +Exec6=insert into names(pkey, fname, lname, ref) values(5, "jane", "hobbs", 4);
1.150 +Close7=
1.151 +EndBlock8=
1.152 +
1.153 +[create12a]
1.154 +Create0=c:\private\102827c8\sec.db
1.155 +ExpectedError0=KErrPermissionDenied
1.156 +EndBlock1=
1.157 +
1.158 +[create12b]
1.159 +Create0=c:\private\102827c8\sec3.db
1.160 +Exec1=create table names(pkey int primary key, fname text, lname text, ref int);
1.161 +Exec2=insert into names(pkey, fname, lname, ref) values(1, "tom", "jones", 2);
1.162 +Exec3=insert into names(pkey, fname, lname, ref) values(2, "jim", "davies", 1);
1.163 +Exec4=insert into names(pkey, fname, lname, ref) values(3, "bob", "smith", 1);
1.164 +Exec5=insert into names(pkey, fname, lname, ref) values(4, "dave", "house", 3);
1.165 +Exec6=insert into names(pkey, fname, lname, ref) values(5, "jane", "hobbs", 4);
1.166 +Close7=
1.167 +EndBlock8=
1.168 +
1.169 +// Read tests
1.170 +
1.171 +[read1]
1.172 +Open0=[102827c7]sec.db
1.173 +Prepare1=select count(*) from names;
1.174 +ColumnIndex2=
1.175 +Next3=
1.176 +ColumnInt4=0,5
1.177 +St_Close5=
1.178 +Close6=[102827c7]sec.db
1.179 +EndBlock7=
1.180 +
1.181 +[read2]
1.182 +Open0=[102827c8]sec.db
1.183 +Prepare1=select count(*) from names;
1.184 +ColumnIndex2=
1.185 +Next3=
1.186 +ColumnInt4=0,5
1.187 +St_Close5=
1.188 +Close6=[102827c8]sec.db
1.189 +EndBlock7=
1.190 +
1.191 +[read3]
1.192 +Open0=[102827c7]sec.db
1.193 +ExpectedError0=KErrPermissionDenied
1.194 +Close1=[102827c7]sec.db
1.195 +EndBlock2=
1.196 +
1.197 +[read4]
1.198 +Open0=[102827c7]sec1.db
1.199 +Prepare1=select count(*) from names;
1.200 +ColumnIndex2=
1.201 +Next3=
1.202 +ColumnInt4=0,5
1.203 +St_Close5=
1.204 +Close6=[102827c7]sec1.db
1.205 +EndBlock7=
1.206 +
1.207 +// Write tests
1.208 +
1.209 +[write1]
1.210 +Open0=[102827c7]sec4.db
1.211 +Prepare1=select count(*) from names;
1.212 +ColumnIndex2=
1.213 +Next3=
1.214 +ColumnInt4=0,5
1.215 +St_Close5=
1.216 +Exec6=insert into names(pkey, fname, lname, ref) values(6, "new", "starter", 1);
1.217 +ExpectedError6=KErrPermissionDenied
1.218 +Prepare7=select count(*) from names;
1.219 +ColumnIndex8=
1.220 +Next9=
1.221 +ColumnInt10=0,5
1.222 +St_Close11=
1.223 +Close12=[102827c7]sec4.db
1.224 +EndBlock13=
1.225 +
1.226 +[write2]
1.227 +Open0=[102827c7]sec4.db
1.228 +Prepare1=select count(*) from names;
1.229 +ColumnIndex2=
1.230 +Next3=
1.231 +ColumnInt4=0,5
1.232 +St_Close5=
1.233 +Exec6=insert into names(pkey, fname, lname, ref) values(6, "new", "starter", 1);
1.234 +Prepare7=select count(*) from names;
1.235 +ColumnIndex8=
1.236 +Next9=
1.237 +ColumnInt10=0,6
1.238 +St_Close11=
1.239 +Close12=[102827c7]sec4.db
1.240 +EndBlock13=
1.241 +
1.242 +// Schema tests
1.243 +
1.244 +[schema1]
1.245 +Open0=[102827c7]sec4.db
1.246 +Exec1=create table newtab(pkey int primary key, fname text, lname text, ref int);
1.247 +ExpectedError1=KErrPermissionDenied
1.248 +Close2=
1.249 +EndBlock3=
1.250 +
1.251 +[schema2]
1.252 +Open0=[102827c7]sec4.db
1.253 +Exec1=create table newtab(pkey int primary key, fname text, lname text, ref int);
1.254 +Close2=
1.255 +EndBlock3=
1.256 +
1.257 +// Attach tests
1.258 +
1.259 +[attach1]
1.260 +Open0=[102827c7]sec1.db
1.261 +Prepare1=select count(*) from names;
1.262 +ColumnIndex2=
1.263 +Next3=
1.264 +ColumnInt4=0,5
1.265 +St_Close5=
1.266 +Exec6=attach "C:\private\10281e17\[102827c7]sec1.db" as [102827c7]sec1
1.267 +ExpectedError6=KErrPermissionDenied
1.268 +Close7=
1.269 +EndBlock8=
1.270 +
1.271 +[attach2]
1.272 +Open0=[102827c7]sec.db
1.273 +Prepare1=select count(*) from names;
1.274 +ColumnIndex2=
1.275 +Next3=
1.276 +ColumnInt4=0,5
1.277 +St_Close5=
1.278 +Attach6=C:[102827c7]sec1.db,fred
1.279 +Prepare7=select count(*) from fred.names;
1.280 +ColumnIndex8=
1.281 +Next9=
1.282 +ColumnInt10=0,5
1.283 +St_Close11=
1.284 +Detach12=fred
1.285 +Prepare13=select count(*) from fred.names;
1.286 +ExpectedError13=KSqlErrGeneral
1.287 +Close14=
1.288 +EndBlock15=
1.289 +
1.290 +[attach3]
1.291 +Open0=[102827c7]sec1.db
1.292 +Prepare1=select count(*) from names;
1.293 +ColumnIndex2=
1.294 +Next3=
1.295 +ColumnInt4=0,5
1.296 +St_Close5=
1.297 +Attach6=C:[102827c7]sec.db,tom
1.298 +ExpectedError6=KErrPermissionDenied
1.299 +Close7=
1.300 +EndBlock8=
1.301 +
1.302 +[attach4]
1.303 +Open0=[102827c7]sec.db
1.304 +Prepare1=select count(*) from names;
1.305 +ColumnIndex2=
1.306 +Next3=
1.307 +ColumnInt4=0,5
1.308 +St_Close5=
1.309 +Attach6=c:\private\102827c7\sec.db,bob
1.310 +Prepare7=select count(*) from bob.names;
1.311 +ColumnIndex8=
1.312 +Next9=
1.313 +ColumnInt10=0,5
1.314 +St_Close11=
1.315 +Detach12=bob
1.316 +Prepare13=select count(*) from bob.names;
1.317 +ExpectedError13=KSqlErrGeneral
1.318 +Close14=
1.319 +EndBlock15=
1.320 +
1.321 +[attach5]
1.322 +Open0=c:\private\102827c7\sec.db
1.323 +Prepare1=select count(*) from names;
1.324 +ColumnIndex2=
1.325 +Next3=
1.326 +ColumnInt4=0,5
1.327 +St_Close5=
1.328 +Attach6=[102827c7]sec.db,bob
1.329 +Prepare7=select count(*) from bob.names;
1.330 +ColumnIndex8=
1.331 +Next9=
1.332 +ColumnInt10=0,5
1.333 +St_Close11=
1.334 +Detach12=bob
1.335 +Prepare13=select count(*) from bob.names;
1.336 +ExpectedError13=KSqlErrGeneral
1.337 +Close14=
1.338 +EndBlock15=
1.339 +
1.340 +[attach6]
1.341 +// this is the test case where we try to cheat ATTACH by passing in arguments that will execute SQL while the authorizer is disabled.
1.342 +Open0=[102827c7]sec.db
1.343 +Prepare1=select count(*) from names;
1.344 +ColumnIndex2=
1.345 +Next3=
1.346 +ColumnInt4=0,5
1.347 +St_Close5=
1.348 +Attach6=[102827c7]sec1.db' AS fred; delete from names;,fred2
1.349 +ExpectedError6=KSqlErrGeneral
1.350 +Prepare7=select count(*) from names;
1.351 +ColumnIndex8=
1.352 +Next9=
1.353 +ColumnInt10=0,5
1.354 +St_Close11=
1.355 +Prepare12=select count(*) from fred.names;
1.356 +ColumnIndex13=
1.357 +Next14=
1.358 +ColumnInt15=0,5
1.359 +St_Close16=
1.360 +Detach17=fred
1.361 +Prepare18=select count(*) from fred.names;
1.362 +ExpectedError18=KSqlErrGeneral
1.363 +Close19=
1.364 +EndBlock20=
1.365 +
1.366 +// Copy tests
1.367 +
1.368 +[copy1]
1.369 +Copy0=[102827c7]sec.db,C:\sec_dest.db
1.370 +ExpectedError0=KErrPermissionDenied
1.371 +EndBlock1=
1.372 +
1.373 +[copy2]
1.374 +Create0=C:\[102827c7]sec_source.db
1.375 +Copy1=C:\[102827c7]sec.db,[102827c7]sec_dest.db
1.376 +ExpectedError1=KErrPermissionDenied
1.377 +Close2=
1.378 +Delete3=C:\[102827c7]sec_source.db
1.379 +EndBlock4=
1.380 +
1.381 +[copy3]
1.382 +Copy0=C:\private\102827c7\sec.db,[102827c7]sec_dest.db
1.383 +ExpectedError0=KErrPermissionDenied
1.384 +EndBlock1=
1.385 +
1.386 +[copy4]
1.387 +Copy0=[102827c7]sec.db,C:\private\102827c7\sec_dest.db
1.388 +ExpectedError0=KErrPermissionDenied
1.389 +EndBlock1=
1.390 +
1.391 +[copy5]
1.392 +Copy0=[102827c7]sec.db,[102827c7]sec_copy.db
1.393 +EndBlock1=
1.394 +
1.395 +[copy6]
1.396 +Copy0=C:\private\102827c7\sec.db, C:\private\102827c7\sec_copy.db
1.397 +ExpectedError0=KErrPermissionDenied
1.398 +EndBlock1=
1.399 +
1.400 +[copy7]
1.401 +Copy0=C:\private\102827c7\sec.db, C:\sec_copy.db
1.402 +ExpectedError0=KErrPermissionDenied
1.403 +EndBlock1=
1.404 +
1.405 +
1.406 +// Concurrency tests
1.407 +
1.408 +
1.409 +// Policy check tests
1.410 +
1.411 +[policy1]
1.412 +SPCreateL0=
1.413 +SetDBPolicy1=ESchemaPolicy,ECapabilityWriteUserData
1.414 +SetDBPolicy2=EReadPolicy,ECapabilityWriteUserData
1.415 +SetPolicy3=ETable,names,EWritePolicy,ECapabilityAllFiles
1.416 +SetPolicy4=ETable,names,EReadPolicy,ECapabilityAllFiles
1.417 +CreateSP5=[102827c7]secpol.db
1.418 +SPClose6=
1.419 +Exec7=create table names(pkey int primary key, fname text, lname text, ref int);
1.420 +Exec8=insert into names(pkey, fname, lname, ref) values(1, "tom", "jones", 2);
1.421 +Exec9=insert into names(pkey, fname, lname, ref) values(2, "jim", "davies", 1);
1.422 +Exec10=insert into names(pkey, fname, lname, ref) values(3, "bob", "smith", 1);
1.423 +Exec11=insert into names(pkey, fname, lname, ref) values(4, "dave", "house", 3);
1.424 +Exec12=insert into names(pkey, fname, lname, ref) values(5, "jane", "hobbs", 4);
1.425 +Close13=
1.426 +EndBlock14=
1.427 +
1.428 +[policy2]
1.429 +Open0=[102827c7]secpol.db
1.430 +Prepare1=select count(*) from names;
1.431 +ColumnIndex2=
1.432 +Next3=
1.433 +ColumnInt4=0,5
1.434 +St_Close5=
1.435 +Exec6=insert into names(pkey, fname, lname, ref) values(6, "new", "starter", 1);
1.436 +Prepare7=select count(*) from names;
1.437 +ColumnIndex8=
1.438 +Next9=
1.439 +ColumnInt10=0,6
1.440 +St_Close11=
1.441 +Close12=
1.442 +EndBlock13=
1.443 +
1.444 +[policy3]
1.445 +// this test has been deferred as it has duplicated a developer test
1.446 +SPCreateL0=
1.447 +SetDBPolicy1=ESchemaPolicy,ECapabilityWriteUserData
1.448 +SetDBPolicy2=EReadPolicy,ECapabilityWriteUserData
1.449 +SetPolicy3=ETable,names,EWritePolicy,ECapabilityAllFiles
1.450 +SetPolicy4=ETable,names,EReadPolicy,ECapabilityAllFiles
1.451 +CreateSP5=[102827c7]secpol1.db
1.452 +
1.453 +Exec7=create table names(pkey int primary key, fname text, lname text, ref int);
1.454 +Exec8=insert into names(pkey, fname, lname, ref) values(1, "tom", "jones", 2);
1.455 +Exec9=insert into names(pkey, fname, lname, ref) values(2, "jim", "davies", 1);
1.456 +Exec10=insert into names(pkey, fname, lname, ref) values(3, "bob", "smith", 1);
1.457 +Exec11=insert into names(pkey, fname, lname, ref) values(4, "dave", "house", 3);
1.458 +Exec12=insert into names(pkey, fname, lname, ref) values(5, "jane", "hobbs", 4);
1.459 +Close13=
1.460 +Function14=SecurityPolicyCheck
1.461 +
1.462 +SPClose6=
1.463 +EndBlock14=
1.464 +
1.465 +
1.466 +// Inernalize & Externalize tests
1.467 +
1.468 +[External1]
1.469 +SPCreate0=
1.470 +SetDBPolicy1=ESchemaPolicy,ECapabilityAllFiles
1.471 +SetDBPolicy2=EReadPolicy,ECapabilityAllFiles
1.472 +SetPolicy3=ETable,names,EWritePolicy,ECapabilityAllFiles
1.473 +Delete4=c:\ext.pol
1.474 +ExpectedError4=KErrNotFound
1.475 +SPExternalizeL5=c:\ext.pol
1.476 +EndBlock6=
1.477 +
1.478 +[External2]
1.479 +SPCreate0=
1.480 +SPInternalizeL1=c:\ext.pol
1.481 +CreateSP2=[102827c7]ext.db
1.482 +SPClose3=
1.483 +Exec4=create table names(pkey int primary key, fname text, lname text, ref int);
1.484 +Exec5=insert into names(pkey, fname, lname, ref) values(1, "tom", "jones", 2);
1.485 +Exec6=insert into names(pkey, fname, lname, ref) values(2, "jim", "davies", 1);
1.486 +Exec7=insert into names(pkey, fname, lname, ref) values(3, "bob", "smith", 1);
1.487 +Exec8=insert into names(pkey, fname, lname, ref) values(4, "dave", "house", 3);
1.488 +Exec9=insert into names(pkey, fname, lname, ref) values(5, "jane", "hobbs", 4);
1.489 +Close10=
1.490 +EndBlock11=
1.491 +
1.492 +[External3]
1.493 +Open0=[102827c7]ext.db
1.494 +ExpectedError0=KErrPermissionDenied
1.495 +Close1=[102827c7]ext.db
1.496 +EndBlock2=
1.497 +