smf/smfcredentialmgr/smfcredmgrserver/src/smfcredmgrserversession.cpp
changeset 26 83d6a149c755
parent 18 013a02bf2bb0
equal deleted inserted replaced
25:a180113055cb 26:83d6a149c755
   319 			CleanupStack::PopAndDestroy(authenticationProcessData);
   319 			CleanupStack::PopAndDestroy(authenticationProcessData);
   320 			CleanupStack::PopAndDestroy(&dataBuf);
   320 			CleanupStack::PopAndDestroy(&dataBuf);
   321 			aMessage.Complete(err);
   321 			aMessage.Complete(err);
   322 			}
   322 			}
   323 			break;
   323 			break;
       
   324 
       
   325 		case ESmfCheckServiceAuthorization:
       
   326 			{
       
   327 			//create buffer to read
       
   328 			HBufC* authAppId = HBufC::NewLC(aMessage.GetDesLength(0));
       
   329 			TPtr authAppIdPtr(authAppId->Des());
       
   330 			aMessage.ReadL(0, authAppIdPtr);
       
   331 
       
   332 			TBool isAuthenticated = EFalse;
       
   333 			iDbUser->checkServiceAuthenticationL(*authAppId, isAuthenticated);
       
   334 
       
   335 			HBufC8* isAuthenticatedBuf8 = HBufC8::NewLC(4);
       
   336 			TPtr8 isAuthenticatedBufPtr8(isAuthenticatedBuf8->Des());
       
   337 			isAuthenticatedBufPtr8.AppendNum(isAuthenticated);
       
   338 
       
   339 			TInt err = aMessage.Write(1, isAuthenticatedBufPtr8);
       
   340 
       
   341 			CleanupStack::PopAndDestroy(isAuthenticatedBuf8);
       
   342 			CleanupStack::PopAndDestroy(authAppId);
       
   343 			
       
   344 			aMessage.Complete(err);
       
   345 			}
       
   346 			break;
       
   347 
       
   348 		case EDeleteAuthData:
       
   349 			{
       
   350 			//create buffer to read the received data
       
   351 			RBuf8 dataBuf;
       
   352 			CleanupClosePushL(dataBuf);
       
   353 			dataBuf.CreateL(aMessage.GetDesLength(0));
       
   354 			aMessage.ReadL(0, dataBuf);
       
   355 			CSmfFetchAuthTokenSet* deleteAuthTokenParams =
       
   356 					new (ELeave) CSmfFetchAuthTokenSet;
       
   357 
       
   358 			CleanupStack::PushL(deleteAuthTokenParams);
       
   359 			deleteAuthTokenParams->InternalizeL(dataBuf);
       
   360 						
       
   361 			//create buffer to read
       
   362 			HBufC* authAppId = HBufC::NewLC(aMessage.GetDesLength(1));
       
   363 			TPtr authAppIdPtr(authAppId->Des());
       
   364 			aMessage.ReadL(1, authAppIdPtr);
       
   365 
       
   366 			TBool deleted = EFalse;
       
   367 			
       
   368 			TBuf<KMaxBufSize> authAppIDBuf;
       
   369 			iDbUser->readAuthAppIdInRegTokenTable(deleteAuthTokenParams->iRegistrationToken->Des(),
       
   370 					authAppIDBuf);
       
   371 			
       
   372 			if(0 == authAppIdPtr.Compare(authAppIDBuf))
       
   373 				{
       
   374 				deleted = deleteAuthAppInfoL(authAppIdPtr);
       
   375 				}
       
   376 					
       
   377 			HBufC8* deletedBuf8 = HBufC8::NewLC(4);
       
   378 			TPtr8 deletedBufPtr8(deletedBuf8->Des());
       
   379 			deletedBufPtr8.AppendNum(deleted);
       
   380 
       
   381 			TInt err = aMessage.Write(2, deletedBufPtr8);
       
   382 			
       
   383 			CleanupStack::PopAndDestroy(deletedBuf8);
       
   384 			CleanupStack::PopAndDestroy(authAppId);
       
   385 			CleanupStack::PopAndDestroy(deleteAuthTokenParams);
       
   386 			CleanupStack::PopAndDestroy(&dataBuf);
       
   387 			
       
   388 			aMessage.Complete(err);
       
   389 			}
       
   390 			break;
   324 			
   391 			
   325 		case ESmfHMACSHA1SignMessage:
   392 		case ESmfHMACSHA1SignMessage:
   326 		case ESmfRSASignMessage:
   393 		case ESmfRSASignMessage:
   327 		case ESmfStoreRSAKey:
   394 		case ESmfStoreRSAKey:
   328 		case ESmfDeleteKeys:
   395 		case ESmfDeleteKeys:
   329 			{
   396 			{
   330 			iKeyStore->HandleMessageL(aMessage);
   397 			iKeyStore->HandleMessageL(aMessage);
   331 			}
   398 			}
   332 			break;
   399 			break;
       
   400 			
   333 		default:
   401 		default:
   334 			//todo -panic client
   402 			//todo -panic client
   335 			break;
   403 			break;
   336 		}
   404 		}
   337 	}
   405 	}
   404 	TBuf<KMaxBufSize> authAppIDBuf;
   472 	TBuf<KMaxBufSize> authAppIDBuf;
   405 	iDbUser->readAuthAppIdInRegTokenTable(aParams->iRegistrationToken->Des(),
   473 	iDbUser->readAuthAppIdInRegTokenTable(aParams->iRegistrationToken->Des(),
   406 			authAppIDBuf);
   474 			authAppIDBuf);
   407 	iDbUser->readAuthTokensL(authAppIDBuf, aParams->iAuthTokenArray);
   475 	iDbUser->readAuthTokensL(authAppIDBuf, aParams->iAuthTokenArray);
   408 	}
   476 	}
       
   477 
       
   478 bool CSmfCredMgrServerSession::deleteAuthAppInfoL( const TDesC& aAuthAppId )
       
   479 	{
       
   480 	bool deleted = EFalse;
       
   481 	deleted = iDbUser->deleteAuthDataSetL(aAuthAppId);
       
   482 	deleted = iDbUser->deletePluginListL(aAuthAppId);
       
   483 	deleted = iDbUser->deleteRegTokenValidityL(aAuthAppId);
       
   484 	deleted = iDbUser->deleteURLListL(aAuthAppId);
       
   485 	
       
   486 	return deleted;
       
   487 	}