persistentstorage/sql/SRC/Server/SqlSrvAuthorizer.cpp
branchRCL_3
changeset 12 6b6fd149daa2
parent 8 fa9941cf3867
child 23 26645d81f48d
equal deleted inserted replaced
11:211563e4b919 12:6b6fd149daa2
     1 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
     1 // Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
   277 		case SQLITE_READ://                  Table Name      Column Name     
   277 		case SQLITE_READ://                  Table Name      Column Name     
   278 		case SQLITE_ATTACH://                Filename        NULL            
   278 		case SQLITE_ATTACH://                Filename        NULL            
   279 		case SQLITE_DETACH://                Database Name   NULL
   279 		case SQLITE_DETACH://                Database Name   NULL
   280 		case SQLITE_REINDEX://				 Index Name      NULL
   280 		case SQLITE_REINDEX://				 Index Name      NULL
   281 		case SQLITE_ANALYZE://				 Table Name      NULL
   281 		case SQLITE_ANALYZE://				 Table Name      NULL
   282 		case SQLITE_CREATE_VTABLE:
       
   283 		case SQLITE_DROP_VTABLE:
       
   284 		case SQLITE_FUNCTION:
   282 		case SQLITE_FUNCTION:
   285 			break;
   283 			break;
   286 		case SQLITE_PRAGMA://                Pragma Name     1st arg or NULL 
   284 		case SQLITE_PRAGMA://                Pragma Name     1st arg or NULL 
   287 			res = PragmaCheck(aDbObjName1, (aDbObjName2 != NULL), EFalse);
   285 			res = PragmaCheck(aDbObjName1, (aDbObjName2 != NULL), EFalse);
   288 			break;
   286 			break;
   293 //      case SQLITE_CREATE_TEMP_TRIGGER://   Trigger Name    Table Name      
   291 //      case SQLITE_CREATE_TEMP_TRIGGER://   Trigger Name    Table Name      
   294 //      case SQLITE_CREATE_TEMP_VIEW://      View Name       NULL            
   292 //      case SQLITE_CREATE_TEMP_VIEW://      View Name       NULL            
   295 //      case SQLITE_DROP_TEMP_INDEX://       Index Name      Table Name      
   293 //      case SQLITE_DROP_TEMP_INDEX://       Index Name      Table Name      
   296 //      case SQLITE_DROP_TEMP_TABLE://       Table Name      NULL            
   294 //      case SQLITE_DROP_TEMP_TABLE://       Table Name      NULL            
   297 //      case SQLITE_DROP_TEMP_TRIGGER://     Trigger Name    Table Name      
   295 //      case SQLITE_DROP_TEMP_TRIGGER://     Trigger Name    Table Name      
   298 //      case SQLITE_DROP_TEMP_VIEW://        View Name       NULL            
   296 //      case SQLITE_DROP_TEMP_VIEW://        View Name       NULL
       
   297 //"CREATE VIRTUAL TABLE" and "DROP VIRTUAL TABLE" sql statements are not supported
       
   298 //		case SQLITE_CREATE_VTABLE:
       
   299 //		case SQLITE_DROP_VTABLE:
   299 		default:
   300 		default:
   300 			__SQLASSERT(EFalse, ESqlPanicInternalError);
   301 			__SQLASSERT(EFalse, ESqlPanicInternalError);
   301 			break;
   302 			break;
   302 			}
   303 			}
   303 	return res;
   304 	return res;
   408 			break;
   409 			break;
   409 		//No policy check
   410 		//No policy check
   410 		case SQLITE_REINDEX://				Index Name      NULL
   411 		case SQLITE_REINDEX://				Index Name      NULL
   411 		case SQLITE_ANALYZE://				Table Name      NULL
   412 		case SQLITE_ANALYZE://				Table Name      NULL
   412 			break;
   413 			break;
   413 		case SQLITE_CREATE_VTABLE:
       
   414 		case SQLITE_DROP_VTABLE:
       
   415 			__SQLASSERT(EFalse, ESqlPanicInternalError);
       
   416 			res = SQLITE_DENY;	
       
   417 		//No policy check
   414 		//No policy check
   418 		case SQLITE_FUNCTION:
   415 		case SQLITE_FUNCTION:
   419 			break;
   416 			break;
   420 //All "temp" operations are handled earlier, in CSqlSrvDatabase::AuthorizeCallback(), where a check for "temp"
   417 //All "temp" operations are handled earlier, in CSqlSrvDatabase::AuthorizeCallback(), where a check for "temp"
   421 //database name is performed.
   418 //database name is performed.
   425 //      case SQLITE_CREATE_TEMP_VIEW://      View Name       NULL            
   422 //      case SQLITE_CREATE_TEMP_VIEW://      View Name       NULL            
   426 //      case SQLITE_DROP_TEMP_INDEX://       Index Name      Table Name      
   423 //      case SQLITE_DROP_TEMP_INDEX://       Index Name      Table Name      
   427 //      case SQLITE_DROP_TEMP_TABLE://       Table Name      NULL            
   424 //      case SQLITE_DROP_TEMP_TABLE://       Table Name      NULL            
   428 //      case SQLITE_DROP_TEMP_TRIGGER://     Trigger Name    Table Name      
   425 //      case SQLITE_DROP_TEMP_TRIGGER://     Trigger Name    Table Name      
   429 //      case SQLITE_DROP_TEMP_VIEW://        View Name       NULL            
   426 //      case SQLITE_DROP_TEMP_VIEW://        View Name       NULL            
       
   427 //"CREATE VIRTUAL TABLE" and "DROP VIRTUAL TABLE" sql statements are not supported
       
   428 //		case SQLITE_CREATE_VTABLE:
       
   429 //		case SQLITE_DROP_VTABLE:
   430 		default:
   430 		default:
   431 			__SQLASSERT(EFalse, ESqlPanicInternalError);
   431 			__SQLASSERT(EFalse, ESqlPanicInternalError);
   432 			break;
   432 			break;
   433 		}
   433 		}
   434 	return res;
   434 	return res;