# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1268649801 -7200 # Node ID ece4bbb094df625317e8936b5a2fc4d6c1ad7e72 # Parent 6e226572c5f0f794c85e3f9284b52be9baba0a18 Revision: 201009 Kit: 201010 diff -r 6e226572c5f0 -r ece4bbb094df boottimeintegritycheck/src/IntegrityCheck.cpp --- a/boottimeintegritycheck/src/IntegrityCheck.cpp Fri Mar 12 15:46:51 2010 +0200 +++ b/boottimeintegritycheck/src/IntegrityCheck.cpp Mon Mar 15 12:43:21 2010 +0200 @@ -78,6 +78,37 @@ // FUNCTION PROTOTYPES +template +class CleanupResetAndDestroy + { +public: + inline static void PushL(T& aRef); +private: + static void ResetAndDestroy(TAny *aPtr); + }; + +template +inline void CleanupResetAndDestroyPushL(T& aRef); + +template +inline void CleanupResetAndDestroy::PushL(T& aRef) + { + CleanupStack::PushL(TCleanupItem(&ResetAndDestroy,&aRef)); + } + +template +void CleanupResetAndDestroy::ResetAndDestroy(TAny *aPtr) + { + static_cast(aPtr)->ResetAndDestroy(); + } + +template +inline void CleanupResetAndDestroyPushL(T& aRef) + { + CleanupResetAndDestroy::PushL(aRef); + } + + LOCAL_C TInt ThreadStartL(); LOCAL_C TInt ReadCertificatesL( @@ -390,10 +421,14 @@ BTIC_TRACE_PRINT_NUM("Updated store read enabled(1) = %d",certFileFound); BTIC_TRACE_PRINT_NUM("Binaries check enabled(0) = %d",binariesCheckEnbled); - +//FIX // Create pointer array for root certificates. - RPointerArray x509CertArray; + RPointerArray x509CertArray; + CleanupResetAndDestroyPushL( x509CertArray ); + pushToStack++; RPointerArray certCapaArray; + CleanupResetAndDestroyPushL( certCapaArray ); + pushToStack++; TInt fileError = 0; // Read root certificates if needed. @@ -413,16 +448,19 @@ { BTIC_TRACE_PRINT("ERROR Can't read root certificates ! ! !"); CleanupStack::PopAndDestroy( pushToStack ); - x509CertArray.ResetAndDestroy(); - certCapaArray.ResetAndDestroy(); + User::Leave( fileError ); } } - + // Create temporary pointer array for C-drive updated certificates. - RPointerArray tempCertArray; - RPointerArray tempCapaArray; - + RPointerArray tempCertArray; + CleanupResetAndDestroyPushL( tempCertArray ); + pushToStack++; + RPointerArray tempCapaArray; + CleanupResetAndDestroyPushL( tempCapaArray ); + pushToStack++; + // If candidate for certstore file is found read it and validate file. if ( certFileFound ) { @@ -512,13 +550,9 @@ */ BTIC_TRACE_PRINT("\nProgram complete\n"); - // DELETE ALL ARRAYS AND ARRAY CONTENT - x509CertArray.ResetAndDestroy(); - tempCertArray.ResetAndDestroy(); - certCapaArray.ResetAndDestroy(); - tempCapaArray.ResetAndDestroy(); - - CleanupStack::PopAndDestroy( pushToStack ); //fs, buffers + // DELETE ALL ARRAYS AND ARRAY CONTENT + // x509CertArray, tempCertArray, certCapaArray, tempCapaArray, fs, buffers + CleanupStack::PopAndDestroy( pushToStack ); BTIC_TRACE_PRINT("UHEAP MARK END"); __UHEAP_MARKEND; @@ -683,8 +717,12 @@ __UHEAP_MARK; TBool storeOK = EFalse; + + RPointerArray updaterExePaths; + CleanupResetAndDestroyPushL( updaterExePaths ); - RPointerArray updaterExePaths; + RPointerArray sisPackages; + CleanupResetAndDestroyPushL( sisPackages ); Swi::RSisRegistrySession sisRegSession; @@ -693,8 +731,6 @@ User::LeaveIfError( sisRegSession.Connect() ); CleanupClosePushL( sisRegSession ); - - RPointerArray sisPackages; // Find installed packages. sisRegSession.InstalledPackagesL( sisPackages ); @@ -778,10 +814,7 @@ } } } - - // Cleanup array. - sisPackages.ResetAndDestroy(); - + if ( entryOpen ) { CleanupStack::PopAndDestroy(); //RSisRegistryEntry @@ -796,8 +829,9 @@ { storeOK = RunUpdaterL( aFs, updaterExePaths ); } - - updaterExePaths.ResetAndDestroy(); + + CleanupStack::PopAndDestroy( 1, &sisPackages ); + CleanupStack::PopAndDestroy( 1, &updaterExePaths ); BTIC_TRACE_PRINT("UHEAP MARK END"); __UHEAP_MARKEND; @@ -827,7 +861,7 @@ { BTIC_TRACE_PRINT("[BOOT INTECRITY CHECK] ValidateProvisonerStoreL --->"); __UHEAP_MARK; - + TBool retOK = EFalse; // installedFiles array owns entry's files. RPointerArray installedFilesArray; @@ -838,6 +872,12 @@ RPointerArray stringArray; HBufC* string = NULL; + CleanupResetAndDestroyPushL( installedFilesArray ); + CleanupResetAndDestroyPushL( foundFilesArray ); + CleanupResetAndDestroyPushL( fileArray ); + CleanupResetAndDestroyPushL( hashArray ); + CleanupResetAndDestroyPushL( stringArray ); + TUint64* capaVector = new( ELeave ) TUint64[KBTICCapaCount]; CleanupArrayDeletePushL( capaVector ); capaVector[0] = KBTIC_TCB; @@ -1050,7 +1090,13 @@ } CleanupStack::PopAndDestroy(); //capaVector - + + CleanupStack::Pop( &stringArray ); + CleanupStack::Pop( &hashArray ); + CleanupStack::Pop( &fileArray ); + CleanupStack::Pop( &foundFilesArray ); + CleanupStack::Pop( &installedFilesArray ); + // Reset only. InstalledFiles array owns buffers. foundFilesArray.Reset(); fileArray.Reset(); @@ -1096,6 +1142,12 @@ RArray capaArray; RPointerArray stringArray; HBufC* string = NULL; + + CleanupResetAndDestroyPushL( installedFilesArray ); + CleanupResetAndDestroyPushL( foundFilesArray ); + CleanupResetAndDestroyPushL( fileArray ); + CleanupResetAndDestroyPushL( hashArray ); + CleanupResetAndDestroyPushL( stringArray ); TUint64* capaVector = new( ELeave ) TUint64[KBTICCapaCount]; CleanupArrayDeletePushL( capaVector ); @@ -1161,7 +1213,13 @@ } CleanupStack::PopAndDestroy(); //capaVector - + + CleanupStack::Pop( &stringArray ); + CleanupStack::Pop( &hashArray ); + CleanupStack::Pop( &fileArray ); + CleanupStack::Pop( &foundFilesArray ); + CleanupStack::Pop( &installedFilesArray ); + // Reset only. InstalledFiles array owns buffers. foundFilesArray.Reset(); fileArray.Reset(); @@ -1392,6 +1450,8 @@ BTIC_TRACE_PRINT("[BOOT INTECRITY CHECK] SearchValidCertificate v2.1 --->"); RPointerArray binaryCertChainArray; + CleanupResetAndDestroyPushL( binaryCertChainArray ); + // Get certificates in binary format. aEntry.CertificateChainsL( binaryCertChainArray ); @@ -1401,7 +1461,8 @@ TBool retVal = EFalse; RPointerArray chainCertArray; - + CleanupResetAndDestroyPushL( chainCertArray ); + // Check all entry's chains for ( TInt chain = 0; chain < chainCount; chain++ ) { @@ -1546,13 +1607,12 @@ if ( retVal ) { break; - } - + } } // FOR LOOP - - binaryCertChainArray.ResetAndDestroy(); - - + + CleanupStack::PopAndDestroy( &chainCertArray ); + CleanupStack::PopAndDestroy( &binaryCertChainArray ); + BTIC_TRACE_PRINT("[BOOT INTECRITY CHECK] SearchValidCertificate v2.1 <---"); return retVal; diff -r 6e226572c5f0 -r ece4bbb094df gba/common/GBALogger.cpp --- a/gba/common/GBALogger.cpp Fri Mar 12 15:46:51 2010 +0200 +++ b/gba/common/GBALogger.cpp Mon Mar 15 12:43:21 2010 +0200 @@ -21,178 +21,154 @@ #include "GBALogger.h" #include -const TInt KDebugBufferSize1024 = 1024; -const TInt KDebugBufferSize512 = 512; -const TInt KDebugBufferSize240 = 240; -const TInt KDebugBufferSize120 = 120; +const TInt KDebugBufferSize1024 = 1024; +const TInt KDebugBufferSize512 = 512; +const TInt KDebugBufferSize256 = 256; +const TInt KDebugBufferFragmentSize = 120; +const TInt KDebugBufferSize128 = 128; _LIT(KTimeFormat, "%F%D/%M/%Y %J:%T:%S"); -void debugline(const char *a, void *arg1, void* arg1b, void *arg2, void *arg3, const char *arg4) +void debugline(const char *aFormatString, void *aArg1, void* aArg2, void *aArg3, void *aArg4, const char *aArg5) { TBuf8 logbuffer; - TPtrC8 p((const TUint8 *)a); - TPtrC8 temp_arg4((const TUint8 *)arg4); + TPtrC8 p((const TUint8 *)aFormatString); + TPtrC8 tempArg5((const TUint8 *)aArg5); + logbuffer.Format(p, aArg1,aArg2, aArg3, aArg4); - if( temp_arg4.Length() > KDebugBufferSize1024 - KDebugBufferSize120 ) + if( KDebugBufferSize1024 < logbuffer.Size() + tempArg5.Size() ) return; - logbuffer.Format(p, arg1,arg1b, arg2, arg3); - logbuffer.Append(temp_arg4); + logbuffer.Append(tempArg5); + + TInt iterator = 0; - if ( logbuffer.Length() <= KDebugBufferSize120 ) + TBuf8 tempbuffer; + TInt bufferSize = logbuffer.Size(); + while( iterator < bufferSize ) { - RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, - EFileLoggingModeAppend, - logbuffer ); - } - else - { - RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, - EFileLoggingModeAppend, - logbuffer.Left( KDebugBufferSize120 ) ); - //max length is 150, print another line - if (logbuffer.Mid(KDebugBufferSize120).Length()<= KDebugBufferSize120 ) - { + if( (bufferSize - iterator) > KDebugBufferFragmentSize ) + { + tempbuffer.Copy(logbuffer.Mid(iterator, KDebugBufferFragmentSize)); RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, - EFileLoggingModeAppend, - logbuffer.Mid(KDebugBufferSize120) ); + EFileLoggingModeAppend, + _L8("%S"), &tempbuffer); } else { - RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, - EFileLoggingModeAppend, - logbuffer.Mid(KDebugBufferSize120, KDebugBufferSize120) ); + tempbuffer.Copy(logbuffer.Mid(iterator, bufferSize - iterator)); RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, - EFileLoggingModeAppend, - logbuffer.Mid(KDebugBufferSize240) ); - } - } + EFileLoggingModeAppend, + _L8("%S"), &tempbuffer); + } + iterator += KDebugBufferFragmentSize; + } } - -void debugline(const char *a, void *arg1, void* arg1b, void *arg2, void *arg3, const TDesC &arg4) +void debugline(const char *aFormatString, void *aArg1, void* aArg2, void *aArg3, void *aArg4, const TDesC &aArg5) { TBuf8 logbuffer; + TPtrC8 p((const TUint8 *)aFormatString); + logbuffer.Format(p, aArg1,aArg2, aArg3, aArg4); - if( arg4.Length() > KDebugBufferSize1024 - KDebugBufferSize120 ) + if( KDebugBufferSize1024 < logbuffer.Size() + aArg5.Length() ) return; - TPtrC8 p((const TUint8 *)a); - logbuffer.Format(p, arg1,arg1b, arg2, arg3); - logbuffer.Append(arg4); + logbuffer.Append(aArg5); + + TInt iterator = 0; - if ( logbuffer.Length() <= KDebugBufferSize120 ) + TBuf8 tempbuffer; + TInt bufferSize = logbuffer.Size(); + while( iterator < bufferSize ) { - RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, - EFileLoggingModeAppend, - logbuffer ); - } - else - { - RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, - EFileLoggingModeAppend, - logbuffer.Left( KDebugBufferSize120 ) ); - //max length is 150, print another line - if (logbuffer.Mid(KDebugBufferSize120).Length()<= KDebugBufferSize120 ) - { + if( (bufferSize - iterator) > KDebugBufferFragmentSize ) + { + tempbuffer.Copy(logbuffer.Mid(iterator, KDebugBufferFragmentSize)); RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, - EFileLoggingModeAppend, - logbuffer.Mid(KDebugBufferSize120) ); + EFileLoggingModeAppend, + _L8("%S"), &tempbuffer); } else { - RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, - EFileLoggingModeAppend, - logbuffer.Mid(KDebugBufferSize120, KDebugBufferSize120) ); + tempbuffer.Copy(logbuffer.Mid(iterator, bufferSize - iterator)); RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, - EFileLoggingModeAppend, - logbuffer.Mid(KDebugBufferSize240) ); - } - } + EFileLoggingModeAppend, + _L8("%S"), &tempbuffer); + } + iterator += KDebugBufferFragmentSize; + } } -void debugline(const char *a, void *arg1, void *arg1b, void *arg2, void *arg3, const TDesC8 &arg4) - { +void debugline(const char *aFormatString, void *aArg1, void *aArg2, void *aArg3, void *aArg4, const TDesC8 &aArg5) + { TBuf8 logbuffer; + TPtrC8 p((const TUint8 *)aFormatString); + logbuffer.Format(p, aArg1,aArg2, aArg3, aArg4); - if( arg4.Length() > KDebugBufferSize1024 - KDebugBufferSize120) + if( KDebugBufferSize1024 < logbuffer.Size() + aArg5.Size() ) return; - TPtrC8 p((const TUint8 *)a); - logbuffer.Format(p, arg1,arg1b, arg2, arg3); - logbuffer.Append(arg4); + logbuffer.Append(aArg5); + + TInt iterator = 0; - if ( logbuffer.Length() <= KDebugBufferSize120 ) + TBuf8 tempbuffer; + TInt bufferSize = logbuffer.Size(); + while( iterator < bufferSize ) { - RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, - EFileLoggingModeAppend, - logbuffer ); - } - else - { - RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, - EFileLoggingModeAppend, - logbuffer.Left(KDebugBufferSize120) ); - //max length is 150, print another line - - if (logbuffer.Mid(KDebugBufferSize120).Length()<= KDebugBufferSize120 ) - { + if( (bufferSize - iterator) > KDebugBufferFragmentSize ) + { + tempbuffer.Copy(logbuffer.Mid(iterator, KDebugBufferFragmentSize)); RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, - EFileLoggingModeAppend, - logbuffer.Mid(KDebugBufferSize120) ); + EFileLoggingModeAppend, + _L8("%S"), &tempbuffer); } else { - RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, - EFileLoggingModeAppend, - logbuffer.Mid(KDebugBufferSize120, KDebugBufferSize120) ); + tempbuffer.Copy(logbuffer.Mid(iterator, bufferSize - iterator)); RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, - EFileLoggingModeAppend, - logbuffer.Mid(KDebugBufferSize240) ); - } - } + EFileLoggingModeAppend, + _L8("%S"), &tempbuffer); + } + iterator += KDebugBufferFragmentSize; + } } -void debugline(const char *a, void *arg1, void *arg1b, void *arg2, void *arg3, const char *arg4, const TInt& aNum ) +void debugline(const char *aFormatString, void *aArg1, void *aArg2, void *aArg3, void *aArg4, const char *aArg5, const TInt& aNum ) { - TBuf8 logbuf; - TPtrC8 temp_arg4((TUint8 *)arg4); - - if( temp_arg4.Length() > KDebugBufferSize512 - KDebugBufferSize120) + TBuf8 logbuffer; + TPtrC8 tempArg5((const TUint8 *)aArg5); + if( tempArg5.Size() > KDebugBufferSize512 - KDebugBufferSize128 ) return; - logbuf.Format( temp_arg4, aNum ); - debugline(a, arg1, arg1b, arg2, arg3, logbuf); - } + TPtrC8 p((const TUint8 *)aFormatString); + logbuffer.Format(p, aArg1,aArg2, aArg3, aArg4); + //Print in two seperate lines + RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, + EFileLoggingModeAppend, + _L8("%S"), &logbuffer); + RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, + EFileLoggingModeAppend, + _L8(aArg5), aNum); + } -void debugline(const char *a, void *arg1, void *arg1b, void *arg2, void *arg3, const TDesC &arg4, const TInt& aNum ) - { - TBuf logbuf; - - if( arg4.Length() > KDebugBufferSize512 - KDebugBufferSize120 ) - return; - - logbuf.Format( arg4, aNum ); - debugline(a, arg1, arg1b, arg2, arg3, logbuf); - } - -void DebugBinary( const TDesC8 &buf ) +void debugBinary( const TDesC8 &aBuffer ) { RFileLogger::HexDump( KGBALogDir, KGBALogFileName, - EFileLoggingModeAppend, - NULL, NULL , buf.Ptr(), buf.Length() ); - } + EFileLoggingModeAppend, + NULL, NULL , aBuffer.Ptr(), aBuffer.Length() ); + } void debugTTime( TTime& aTime ) { - TBuf buf; + TBuf buf; TRAPD(error , aTime.FormatL( buf, KTimeFormat)); if(error != KErrNone) return; RFileLogger::WriteFormat( KGBALogDir, KGBALogFileName, - EFileLoggingModeAppend, - buf ); + EFileLoggingModeAppend, + buf ); } #endif diff -r 6e226572c5f0 -r ece4bbb094df gba/gbafilter/group/httpfiltergba.mmp --- a/gba/gbafilter/group/httpfiltergba.mmp Fri Mar 12 15:46:51 2010 +0200 +++ b/gba/gbafilter/group/httpfiltergba.mmp Mon Mar 15 12:43:21 2010 +0200 @@ -38,7 +38,7 @@ SYSTEMINCLUDE /epoc32/include/ecom -APP_LAYER_SYSTEMINCLUDE +MW_LAYER_SYSTEMINCLUDE SOURCEPATH ../Data diff -r 6e226572c5f0 -r ece4bbb094df gba/gbafilter/src/HTTPFilterGBA.cpp --- a/gba/gbafilter/src/HTTPFilterGBA.cpp Fri Mar 12 15:46:51 2010 +0200 +++ b/gba/gbafilter/src/HTTPFilterGBA.cpp Mon Mar 15 12:43:21 2010 +0200 @@ -20,7 +20,7 @@ #include #include #include -#include //for base64 en/decoding +#include //for base64 en/decoding #include "HTTPFilterGBA.h" #include "GbaCommon.h" #include @@ -609,9 +609,8 @@ GBA_TRACE_DEBUG(("BTID:")); GBA_TRACE_DEBUG(iGbaOutputParams.iBTID); // Encodes the KNAF to generate a password - TImCodecB64 b64coder; + TBase64 b64coder; TBuf8 keyBase64; - b64coder.Initialise(); b64coder.Encode( iGbaOutputParams.iKNAF, keyBase64 ); RString username = iStringPool.OpenStringL( iGbaOutputParams.iBTID ); CleanupClosePushL( username ); diff -r 6e226572c5f0 -r ece4bbb094df gba/gbaserver/group/gbaserver.mmp --- a/gba/gbaserver/group/gbaserver.mmp Fri Mar 12 15:46:51 2010 +0200 +++ b/gba/gbaserver/group/gbaserver.mmp Mon Mar 15 12:43:21 2010 +0200 @@ -29,7 +29,7 @@ USERINCLUDE ../inc USERINCLUDE ../../inc -APP_LAYER_SYSTEMINCLUDE +MW_LAYER_SYSTEMINCLUDE SYSTEMINCLUDE /epoc32/include/ecom SOURCEPATH ../src diff -r 6e226572c5f0 -r ece4bbb094df gba/gbaserver/src/bootstrap.cpp --- a/gba/gbaserver/src/bootstrap.cpp Fri Mar 12 15:46:51 2010 +0200 +++ b/gba/gbaserver/src/bootstrap.cpp Mon Mar 15 12:43:21 2010 +0200 @@ -25,7 +25,10 @@ // 6. return SRES // 7. Store keymaterial to a token -#include //for base64 en/decoding +#include +#include +#include //for base64 en/decoding + #include #include "dataretriever.h" #include "bootstrap.h" @@ -699,8 +702,7 @@ ptrDecNonce.FillZ(); // decodes the base64 nonce - TImCodecB64 b64coder; - b64coder.Initialise(); + TBase64 b64coder; b64coder.Decode( *nonce, ptrDecNonce ); GBA_TRACE_DEBUG((" The decoded nonce value in binary")); diff -r 6e226572c5f0 -r ece4bbb094df gba/inc/GBALogger.h --- a/gba/inc/GBALogger.h Fri Mar 12 15:46:51 2010 +0200 +++ b/gba/inc/GBALogger.h Mon Mar 15 12:43:21 2010 +0200 @@ -27,31 +27,29 @@ #ifdef _DEBUG - void debugline(const char *a, void *arg1, void* f, void *arg2, void *arg3, const TDesC &arg4); - void debugline(const char *a, void *arg1, void* f, void *arg2, void *arg3, const TDesC8 &arg4); - void debugline(const char *a, void *arg1, void* f, void *arg2, void *arg3, const char *arg4, const TInt &aNum); - void debugline(const char *a, void *arg1, void* f, void *arg2, void *arg3, const TDesC &arg4, const TInt &aNum); - void DebugBinary(const TDesC8 &buf); + void debugline( const char *aFormatString, void *aArg1, void* aArg2, void *aArg3, void *aArg4, const TDesC &aArg5 ); + void debugline( const char *aFormatString, void *aArg1, void *aArg2, void *aArg3, void *aArg4, const TDesC8 &aArg5 ); + void debugline( const char *aFormatString, void *aArg1, void* aArg2, void *aArg3, void *aArg4, const char *aArg5 ); + void debugline( const char *aFormatString, void *aArg1, void *aArg2, void *aArg3, void *aArg4, const char *aArg5, const TInt& aNum ); + void debugBinary( const TDesC8 &aBuffer ); void debugTTime( TTime& aTime ); - void debugline(const char *a, void *arg1, void* f, void *arg2, void *arg3, const char *arg4); - + + //Macro's #define GBA_DEBUG #define GBA_TRACE_DEBUG_DESC(a) debugline("%s:%s %d: %d",(void *) __FILE__, (void *) __func__, (void *)__LINE__, (void *)User::TickCount(),(a)) #define GBA_TRACE_DEBUG_NUM( a,b ) debugline("%s:%s %d: %d",(void *) __FILE__, (void *) __func__, (void *)__LINE__, (void *)User::TickCount(),(a),b) - -#ifdef LOG_GBA_KEYS - #define GBA_TRACE_DEBUG_BINARY(a) DebugBinary((a)); -#else - #define GBA_TRACE_DEBUG_BINARY(a) -#endif - #define GBA_TRACE_BEGIN() debugline("%s:%s %d: %d",(void *) __FILE__, (void *) __func__, (void *)__LINE__, (void *)User::TickCount(),(KEnter)) #define GBA_TRACE_END() debugline("%s:%s %d: %d",(void *) __FILE__, (void *) __func__, (void *)__LINE__, (void *)User::TickCount(),(KEnd)) #define GBA_TRACE_TIME( a ) debugTTime( (a) ); #define GBA_TRACE_DEBUG(a) debugline("%s:%s %d: %d",(void *) __FILE__, (void *) __func__, (void *)__LINE__, (void *)User::TickCount(),(a)) - +#ifdef LOG_GBA_KEYS + #define GBA_TRACE_DEBUG_BINARY(a) debugBinary((a)); #else + #define GBA_TRACE_DEBUG_BINARY(a) +#endif +#else //_DEBUG + #define GBA_TRACE_DEBUG_DESC(a) #define GBA_TRACE_DEBUG(a) #define GBA_TRACE_DEBUG_NUM(a,b) @@ -60,8 +58,8 @@ #define GBA_TRACE_END() #define GBA_TRACE_TIME( a ) -#endif - +#endif //_DEBUG + #endif //__GBALOGGER_H_ diff -r 6e226572c5f0 -r ece4bbb094df gba/sis/gba.pkg --- a/gba/sis/gba.pkg Fri Mar 12 15:46:51 2010 +0200 +++ b/gba/sis/gba.pkg Mon Mar 15 12:43:21 2010 +0200 @@ -17,7 +17,7 @@ &EN ; Header -#{"GBA (Beta)"},(0x20029F08), 0, 4, 0, TYPE=SA,RU +#{"GBA (Beta)"},(0x20029F08), 0, 5, 0, TYPE=SA,RU ; Localised Vendor name %{"Nokia"} diff -r 6e226572c5f0 -r ece4bbb094df pkiutilities/CTSecurityDialogs/NotifSrc/CTSecurityDialogsAO.cpp --- a/pkiutilities/CTSecurityDialogs/NotifSrc/CTSecurityDialogsAO.cpp Fri Mar 12 15:46:51 2010 +0200 +++ b/pkiutilities/CTSecurityDialogs/NotifSrc/CTSecurityDialogsAO.cpp Mon Mar 15 12:43:21 2010 +0200 @@ -81,6 +81,46 @@ _LIT( KKeyStoreExportKeyLabel, "Passphrase of the exported key file" ); _LIT( KPKCS12TokenLabel, "PKCS12"); + +// ============================ LOCAL FUNCTIONS =============================== + +TInt AlgorithmNameResourceId( TAlgorithmId aAlgorithmId ) + { + TInt resourceId = 0; + switch( aAlgorithmId ) + { + case ERSA: + resourceId = R_TEXT_RESOURCE_DETAILS_VIEW_ALGORITHM_RSA; + break; + case EDSA: + resourceId = R_TEXT_RESOURCE_DETAILS_VIEW_ALGORITHM_DSA; + break; + case EDH: + resourceId = R_TEXT_RESOURCE_DETAILS_VIEW_ALGORITHM_DH; + break; + case EMD2: + resourceId = R_TEXT_RESOURCE_DETAILS_VIEW_ALGORITHM_MD2; + break; + case EMD5: + resourceId = R_TEXT_RESOURCE_DETAILS_VIEW_ALGORITHM_MD5; + break; + case ESHA1: + resourceId = R_TEXT_RESOURCE_DETAILS_VIEW_ALGORITHM_SHA1; + break; + case ESHA224: + case ESHA256: + case ESHA384: + case ESHA512: + resourceId = R_TEXT_RESOURCE_DETAILS_VIEW_ALGORITHM_SHA2; + break; + default: + resourceId = R_TEXT_RESOURCE_DETAILS_VIEW_UNKNOWN; + break; + } + return resourceId; + } + + // ============================ MEMBER FUNCTIONS =============================== // ----------------------------------------------------------------------------- @@ -2050,61 +2090,17 @@ { TInt fieldType = 0; TInt fieldType2 = 0; + // digest algorithm - TAlgorithmId algorithmId = - aCert.SigningAlgorithm().DigestAlgorithm().Algorithm(); - switch ( algorithmId ) - { - case EMD2: - { - fieldType = R_TEXT_RESOURCE_DETAILS_VIEW_ALGORITHM_MD2; - break; - } - case EMD5: - { - fieldType = R_TEXT_RESOURCE_DETAILS_VIEW_ALGORITHM_MD5; - break; - } - case ESHA1: - { - fieldType = R_TEXT_RESOURCE_DETAILS_VIEW_ALGORITHM_SHA1; - break; - } - default: - { - fieldType = R_TEXT_RESOURCE_DETAILS_VIEW_UNKNOWN; - break; - } - } + TAlgorithmId algorithmId = aCert.SigningAlgorithm().DigestAlgorithm().Algorithm(); + fieldType = AlgorithmNameResourceId( algorithmId ); // public-key algorithm - algorithmId = - aCert.SigningAlgorithm().AsymmetricAlgorithm().Algorithm(); - switch ( algorithmId ) - { - case ERSA: - { - fieldType2 = R_TEXT_RESOURCE_DETAILS_VIEW_ALGORITHM_RSA; - break; - } - case EDSA: - { - fieldType2 = R_TEXT_RESOURCE_DETAILS_VIEW_ALGORITHM_DSA; - break; - } - case EDH: - { - fieldType2 = R_TEXT_RESOURCE_DETAILS_VIEW_ALGORITHM_DH; - break; - } - default: - { - fieldType2 = R_TEXT_RESOURCE_DETAILS_VIEW_UNKNOWN; - } - } + algorithmId = aCert.SigningAlgorithm().AsymmetricAlgorithm().Algorithm(); + fieldType2 = AlgorithmNameResourceId( algorithmId ); // If other algorithm is unknown - if ( fieldType == R_TEXT_RESOURCE_DETAILS_VIEW_UNKNOWN || + if( fieldType == R_TEXT_RESOURCE_DETAILS_VIEW_UNKNOWN || fieldType2 == R_TEXT_RESOURCE_DETAILS_VIEW_UNKNOWN ) { DetailsFieldResourceL( aMessage, diff -r 6e226572c5f0 -r ece4bbb094df pkiutilities/CertmanUi/INC/CertmanuicontainerTrust.h --- a/pkiutilities/CertmanUi/INC/CertmanuicontainerTrust.h Fri Mar 12 15:46:51 2010 +0200 +++ b/pkiutilities/CertmanUi/INC/CertmanuicontainerTrust.h Mon Mar 15 12:43:21 2010 +0200 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2003-2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2003-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -33,6 +33,7 @@ const TInt KTrustSettingsResourceIndexJavaInstall = 3; const TInt KTrustSettingsResourceIndexOCSPCheck = 4; const TInt KTrustSettingsResourceIndexVPN = 5; +const TInt KTrustSettingsResourceIndexWidget = 6; const TInt KTrustSettingsResourceIndexValueYes = 0; const TInt KTrustSettingsResourceIndexValueNo = 1; diff -r 6e226572c5f0 -r ece4bbb094df pkiutilities/CertmanUi/INC/Certmanuitrustids.h --- a/pkiutilities/CertmanUi/INC/Certmanuitrustids.h Fri Mar 12 15:46:51 2010 +0200 +++ b/pkiutilities/CertmanUi/INC/Certmanuitrustids.h Mon Mar 15 12:43:21 2010 +0200 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2003-2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2003-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -28,6 +28,7 @@ const TUid KCertManUIViewTrustJavaInstallingId = {270506792}; const TUid KCertManUIViewOCSPCheckInstallingId = {268478646}; const TUid KCertManUIViewTrustVPNId = {270498195}; +const TUid KCertManUIViewTrustWidgetInstallingId = {537028544}; #endif // __CERTMANUITRUSTIDS_H diff -r 6e226572c5f0 -r ece4bbb094df pkiutilities/CertmanUi/SRC/CertmanuicontainerTrust.cpp --- a/pkiutilities/CertmanUi/SRC/CertmanuicontainerTrust.cpp Fri Mar 12 15:46:51 2010 +0200 +++ b/pkiutilities/CertmanUi/SRC/CertmanuicontainerTrust.cpp Mon Mar 15 12:43:21 2010 +0200 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2003-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -435,6 +435,10 @@ { resIndex = KTrustSettingsResourceIndexVPN; } + else if ( aTrusterUid == KCertManUIViewTrustWidgetInstallingId ) + { + resIndex = KTrustSettingsResourceIndexWidget; + } else { resIndex = KErrNotFound; @@ -720,7 +724,7 @@ CERTMANUILOGGER_LEAVEFN( "- PopupTrustChangeSettingPageL - read-only" ); return; } - + TUid id = KCertManUINullId; TInt poppableItems = 0; diff -r 6e226572c5f0 -r ece4bbb094df pkiutilities/CertmanUi/SRC/Certmanuidialogs.cpp --- a/pkiutilities/CertmanUi/SRC/Certmanuidialogs.cpp Fri Mar 12 15:46:51 2010 +0200 +++ b/pkiutilities/CertmanUi/SRC/Certmanuidialogs.cpp Mon Mar 15 12:43:21 2010 +0200 @@ -59,7 +59,8 @@ if( !iDialog ) { - iDialog = new( ELeave ) CAknWaitDialog( reinterpret_cast< CEikDialog** >( &iDialog ) ); + iDialog = new( ELeave ) CAknWaitDialog( + reinterpret_cast< CEikDialog** >( &iDialog ), ETrue ); TInt dialog = 0; switch( aDialogSelector ) diff -r 6e226572c5f0 -r ece4bbb094df pkiutilities/CertmanUi/data/certmanui.rss --- a/pkiutilities/CertmanUi/data/certmanui.rss Fri Mar 12 15:46:51 2010 +0200 +++ b/pkiutilities/CertmanUi/data/certmanui.rss Mon Mar 15 12:43:21 2010 +0200 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2003-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -1120,6 +1120,10 @@ { buf = qtn_cm_algorithm_sha1; } +RESOURCE TBUF r_text_resource_details_view_algorithm_SHA2 + { + buf = qtn_cm_algorithm_sha2; + } //---------------------------------------------------- // @@ -1334,6 +1338,10 @@ LBUF {//VPN txt = " \t"qtn_cm_lipri_vpn"\t\t"; + }, + LBUF + {//Widget installer + txt = " \t"qtn_cm_lipri_widget_installing"\t\t"; } }; } diff -r 6e226572c5f0 -r ece4bbb094df pkiutilities/CertmanUi/loc/certmanui.loc --- a/pkiutilities/CertmanUi/loc/certmanui.loc Fri Mar 12 15:46:51 2010 +0200 +++ b/pkiutilities/CertmanUi/loc/certmanui.loc Mon Mar 15 12:43:21 2010 +0200 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -109,6 +109,10 @@ //l:popup_info_list_pane_t1 #define qtn_cm_algorithm_sha1 "SHA1" +//d:Certificate details algorithm name +//l:popup_info_list_pane_t1 +#define qtn_cm_algorithm_sha2 "SHA2" + //d:Certificate details algorithm unknown //l:popup_info_list_pane_t1 #define qtn_cm_algorithm_unknown "Unknown" @@ -233,6 +237,12 @@ //l:list_single_graphic_pane_t1_cp2 #define qtn_cm_lipri_native_installing "Native installing" +//d:Certificate trust settings widget installing. +//d:With this user can decide if certificate is trusted for +//d:installing widgets. +//l:list_single_graphic_pane_t1_cp2 +#define qtn_cm_lipri_widget_installing "Widget installing" + //d:Certificate trust settings for OCSP validation. //d:With this user can decide if certificate is trusted to //d:validate ocsp response (i.e. SOS applications). diff -r 6e226572c5f0 -r ece4bbb094df securitydialogs/Autolock/inc/AutoLockLockObserverPS.h --- a/securitydialogs/Autolock/inc/AutoLockLockObserverPS.h Fri Mar 12 15:46:51 2010 +0200 +++ b/securitydialogs/Autolock/inc/AutoLockLockObserverPS.h Mon Mar 15 12:43:21 2010 +0200 @@ -65,9 +65,8 @@ void DoCancel(); private: // data CAutolockAppUi* iAppUi; //not owned! - RProperty iProperty; - RTelServer iServer; // EMKK-7N3G7R - CWait* wait; // EMKK-7N3G7R + RProperty iProperty; + }; #endif diff -r 6e226572c5f0 -r ece4bbb094df securitydialogs/Autolock/src/AutoLockLockObserver.cpp --- a/securitydialogs/Autolock/src/AutoLockLockObserver.cpp Fri Mar 12 15:46:51 2010 +0200 +++ b/securitydialogs/Autolock/src/AutoLockLockObserver.cpp Mon Mar 15 12:43:21 2010 +0200 @@ -21,9 +21,7 @@ #include #include #include -#include // EMKK-7N3G7R -#include // EMKK-7N3G7R -#include // EMKK-7N3G7R + #include "AutoLockLockObserverPS.h" #include "AutolockAppUiPS.h" #include "AutoLockModelPS.h" @@ -54,14 +52,6 @@ { Cancel(); iProperty.Close(); -#ifdef FF_STARTUP_OMA_DM_SUPPORT // New booting order Start EMKK-7N3G7R - delete wait; - if (iServer.Handle()) - { - iServer.UnloadPhoneModule(KMmTsyModuleName); - iServer.Close(); - } -#endif // End EMKK-7N3G7R } // // ---------------------------------------------------------- @@ -97,12 +87,13 @@ void CLockObserver::ConstructL() { - #if defined(_DEBUG) - RDebug::Print(_L("(AUTOLOCK)CLockObserver::ConstructL()")); + #if defined(_DEBUG) + RDebug::Print(_L("(AUTOLOCK)CLockObserver::ConstructL()")); #endif // Add this active object to the scheduler. CActiveScheduler::Add(this); + TInt ret; _LIT_SECURITY_POLICY_PASS(KReadPolicy); _LIT_SECURITY_POLICY_C1(KWritePolicy, ECapabilityWriteDeviceData); diff -r 6e226572c5f0 -r ece4bbb094df securitydialogs/Autolock/src/AutoLockModel.cpp --- a/securitydialogs/Autolock/src/AutoLockModel.cpp Fri Mar 12 15:46:51 2010 +0200 +++ b/securitydialogs/Autolock/src/AutoLockModel.cpp Mon Mar 15 12:43:21 2010 +0200 @@ -21,17 +21,17 @@ #include #include #include -#include -#include -#include -#include +#include +#include +#include +#include #include #include -#include "AutoLockModelPS.h" -#include "AutolockAppUiPS.h" -#include "AutoLockLockObserverPS.h" +#include "AutoLockModelPS.h" +#include "AutolockAppUiPS.h" +#include "AutoLockLockObserverPS.h" #include "AutoLockCenRepI.h" @@ -47,13 +47,13 @@ // CAutoLockModel* CAutoLockModel::NewL(CAutolockAppUi* aAppUi, TBool aLocked) - { - CAutoLockModel* self = new (ELeave) CAutoLockModel(aAppUi); - CleanupStack::PushL(self); - self->ConstructL( aLocked ); - CleanupStack::Pop(); //self - return self; - } + { + CAutoLockModel* self = new (ELeave) CAutoLockModel(aAppUi); + CleanupStack::PushL(self); + self->ConstructL( aLocked ); + CleanupStack::Pop(); //self + return self; + } // // ---------------------------------------------------------- // CAutoLockModel::CAutoLockModel() @@ -61,9 +61,9 @@ // ---------------------------------------------------------- // CAutoLockModel::CAutoLockModel(CAutolockAppUi* aAppUi) : - iAppUi( aAppUi ), iMonitoring(EFalse) - { - } + iAppUi( aAppUi ), iMonitoring(EFalse) + { + } // // ---------------------------------------------------------- @@ -72,43 +72,40 @@ // ---------------------------------------------------------- // void CAutoLockModel::ConstructL( TBool aLocked ) - { - FeatureManager::InitializeLibL(); - #if defined(_DEBUG) + { + FeatureManager::InitializeLibL(); + #if defined(_DEBUG) RDebug::Print(_L("(AUTOLOCK)CAutoLockModel::ConstructL() BEGIN")); - #endif + #endif iCenRepI = CAutolockCenRepI::NewL(iAppUi); - // lock status observer - iLockObserver = CLockObserver::NewL(iAppUi); - // Activitymanager - iActivityManager = CUserActivityManager::NewL(CActive::EPriorityStandard); - StartActivityMonitoringL(); + // lock status observer + iLockObserver = CLockObserver::NewL(iAppUi); + // Activitymanager + iActivityManager = CUserActivityManager::NewL(CActive::EPriorityStandard); + StartActivityMonitoringL(); // In GSM the device is always unlocked. // In CDMA, SecClientUi will lock the device on boot-up if needed. - - if ( aLocked == EAutolockStatusUninitialized ) - { - RProperty::Set(KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, EAutolockStatusUninitialized); - } - else - { - RProperty::Set(KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, EAutolockOff); - } + if ( aLocked == EFalse ) { + SetLockedL(EAutolockOff); + #if defined(_DEBUG) + RDebug::Print(_L("(AUTOLOCK)CAutoLockModel::ConstructL() EAutolockOff")); + #endif + } #if defined(_DEBUG) RDebug::Print(_L("(AUTOLOCK)CAutoLockModel::ConstructL() END")); #endif - } - // + } + // // ---------------------------------------------------------- // CAutoLockModel::StartActivityMonitoringL() // Start monitoring user activity // ---------------------------------------------------------- // void CAutoLockModel::StartActivityMonitoringL() - { - SetActivityManagerL(); - } + { + SetActivityManagerL(); + } // // ---------------------------------------------------------- @@ -117,9 +114,9 @@ // ---------------------------------------------------------- // void CAutoLockModel::StopActivityMonitoring() - { - CancelActivityManager(); - } + { + CancelActivityManager(); + } // // ---------------------------------------------------------- @@ -128,19 +125,19 @@ // ---------------------------------------------------------- // void CAutoLockModel::SetActivityManagerL() - { - if (AutoLockTimeout() ) - { - iActivityManager->Start(AutoLockTimeout(), TCallBack(HandleInactiveEventL,this), - TCallBack(HandleActiveEventL,this)); - } - else - { - iActivityManager->Start(AutoLockOff, TCallBack(HandleInactiveEventL,this), - TCallBack(HandleActiveEventL,this)); - } + { + if (AutoLockTimeout() ) + { + iActivityManager->Start(AutoLockTimeout(), TCallBack(HandleInactiveEventL,this), + TCallBack(HandleActiveEventL,this)); + } + else + { + iActivityManager->Start(AutoLockOff, TCallBack(HandleInactiveEventL,this), + TCallBack(HandleActiveEventL,this)); + } - } + } // // ---------------------------------------------------------- // CAutoLockModel::CancelActivityManager() @@ -148,14 +145,14 @@ // ---------------------------------------------------------- // void CAutoLockModel::CancelActivityManager() - { + { if ( iActivityManager ) { - iActivityManager->Cancel(); + iActivityManager->Cancel(); } - delete iActivityManager; - iActivityManager = NULL; - } + delete iActivityManager; + iActivityManager = NULL; + } // // ---------------------------------------------------------- // CAutoLockModel::~CAutoLockModel() @@ -163,13 +160,13 @@ // ---------------------------------------------------------- // CAutoLockModel::~CAutoLockModel() - { + { delete iCenRepI; - delete iLockObserver; - StopActivityMonitoring(); - FeatureManager::UnInitializeLib(); + delete iLockObserver; + StopActivityMonitoring(); + FeatureManager::UnInitializeLib(); // close custom phone - } + } // // ---------------------------------------------------------- // CAutoLockModel::AutoLockTimeout() @@ -177,9 +174,9 @@ // ---------------------------------------------------------- // TInt CAutoLockModel::AutoLockTimeout() - { + { return iCenRepI->Timeout(); - } + } // // ---------------------------------------------------------- // CAutoLockModel::ResetInactivityTimeoutL() @@ -187,16 +184,16 @@ // ---------------------------------------------------------- // void CAutoLockModel::ResetInactivityTimeout() - { - if (AutoLockTimeout() ) - { - iActivityManager->SetInactivityTimeout(AutoLockTimeout()); - } - else - { - iActivityManager->SetInactivityTimeout(AutoLockOff); - } - } + { + if (AutoLockTimeout() ) + { + iActivityManager->SetInactivityTimeout(AutoLockTimeout()); + } + else + { + iActivityManager->SetInactivityTimeout(AutoLockOff); + } + } // // ---------------------------------------------------------- // CAutoLockModel::HandleActiveEventL() @@ -204,9 +201,9 @@ // ---------------------------------------------------------- // TInt CAutoLockModel::HandleActiveEventL(TAny* /*aPtr*/) - { - return KErrNone; - } + { + return KErrNone; + } // // ---------------------------------------------------------- @@ -215,32 +212,32 @@ // ---------------------------------------------------------- // TInt CAutoLockModel::HandleInactiveEventL(TAny* aPtr) - { - if ( STATIC_CAST(CAutoLockModel*, aPtr)->AutoLockTimeout() ) - { - TInt value(EStartupUiPhaseUninitialized); - RProperty::Get(KPSUidStartup, KPSStartupUiPhase, value); - //Don't lock unless boot is over. - if(value == EStartupUiPhaseAllDone) - { - #if defined(_DEBUG) - RDebug::Print(_L("(AUTOLOCK)CAutoLockModel::HandleInactiveEventL() Boot over")); - #endif - #ifdef RD_REMOTELOCK - STATIC_CAST(CAutoLockModel*, aPtr)->LockSystemL(ETimerLocked); - #else - STATIC_CAST(CAutoLockModel*, aPtr)->LockSystemL(EAutolockOn); - #endif //RD_REMOTELOCK - } - else - { - #if defined(_DEBUG) - RDebug::Print(_L("(AUTOLOCK)CAutoLockModel::HandleInactiveEventL() In boot; don't lock")); - #endif - } - } - return KErrNone; - } + { + if ( STATIC_CAST(CAutoLockModel*, aPtr)->AutoLockTimeout() ) + { + TInt value(EStartupUiPhaseUninitialized); + RProperty::Get(KPSUidStartup, KPSStartupUiPhase, value); + //Don't lock unless boot is over. + if(value == EStartupUiPhaseAllDone) + { + #if defined(_DEBUG) + RDebug::Print(_L("(AUTOLOCK)CAutoLockModel::HandleInactiveEventL() Boot over")); + #endif + #ifdef RD_REMOTELOCK + STATIC_CAST(CAutoLockModel*, aPtr)->LockSystemL(ETimerLocked); + #else + STATIC_CAST(CAutoLockModel*, aPtr)->LockSystemL(EAutolockOn); + #endif //RD_REMOTELOCK + } + else + { + #if defined(_DEBUG) + RDebug::Print(_L("(AUTOLOCK)CAutoLockModel::HandleInactiveEventL() In boot; don't lock")); + #endif + } + } + return KErrNone; + } // // ---------------------------------------------------------- @@ -249,37 +246,37 @@ // ---------------------------------------------------------- // void CAutoLockModel::LockSystemL(TInt aAutolockState) - { - #if defined(_DEBUG) + { + #if defined(_DEBUG) RDebug::Print(_L("(AUTOLOCK)CAutoLockModel::LockSystemL() BEGIN")); #endif // If already locked, do nothing. Otherwise we'll end up // on top of Screensaver // Check if iSideKey2 is zero or not (locked if nonzero) // Also, phone should not be locked if PUK1 code query is up. -#ifdef FF_STARTUP_OMA_DM_SUPPORT // New booting order Start ID: MVKS-7PZDZ5 - TInt autolock_value = 0; - RProperty::Get(KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, autolock_value); - if (autolock_value == EAutolockStatusUninitialized) - { - return; - } -#endif //End ID: MVKS-7PZDZ5 +#ifdef FF_STARTUP_OMA_DM_SUPPORT // New booting order Start ID: MVKS-7PZDZ5 + TInt autolock_value = 0; + RProperty::Get(KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, autolock_value); + if (autolock_value == EAutolockStatusUninitialized) + { + return; + } +#endif //End ID: MVKS-7PZDZ5 if (iAppUi->Locked() || iAppUi->IsPinBlocked()) { return; } - - TInt lightStatus=EForcedLightsUninitialized; - RProperty::Get(KPSUidCoreApplicationUIs,KLightsVTForcedLightsOn,lightStatus ); - //If display is forced on. don't lock - if(lightStatus == EForcedLightsOn ) - { - #if defined(_DEBUG) - RDebug::Print(_L("(AUTOLOCK)CAutoLockModel::LockSystemL() Display is forced on. Device not locked")); - #endif - return; - } + + TInt lightStatus=EForcedLightsUninitialized; + RProperty::Get(KPSUidCoreApplicationUIs,KLightsVTForcedLightsOn,lightStatus ); + //If display is forced on. don't lock + if(lightStatus == EForcedLightsOn ) + { + #if defined(_DEBUG) + RDebug::Print(_L("(AUTOLOCK)CAutoLockModel::LockSystemL() Display is forced on. Device not locked")); + #endif + return; + } //Check which state we are in to see if it's OK to lock the phone //In CDMA when there is no SIM (RUIM) support we should be able to lock @@ -294,7 +291,7 @@ if( (sysState == ESwStateNormalRfOn || sysState == ESwStateNormalRfOff || sysState == ESwStateCriticalPhaseOK) && - (aAutolockState > EAutolockOff) ) // EMKK-7N3G7R + (aAutolockState > EAutolockOff) ) // EMKK-7N3G7R { #if defined(_DEBUG) RDebug::Print(_L("(AUTOLOCK)CAutoLockModel::LockSystemL() LOCKED AFTER HIDDEN RESET")); @@ -311,11 +308,11 @@ okToLock = ETrue; } } - TInt tarmFlag; + TInt tarmFlag=0; if(FeatureManager::FeatureSupported(KFeatureIdSapTerminalControlFw )) { // Get the TARM admin flag value - TInt tRet = RProperty::Get( KSCPSIDAutolock, SCP_TARM_ADMIN_FLAG_UID, tarmFlag ); + TInt tRet = RProperty::Get( KSCPSIDAutolock, SCP_TARM_ADMIN_FLAG_UID, tarmFlag ); if ( tRet != KErrNone ) { @@ -333,20 +330,20 @@ } } - TInt callState; + TInt callState=0; iProperty.Get(KPSUidCtsyCallInformation, KCTsyCallState, callState); TBool isConditionSatisfied = EFalse; if(FeatureManager::FeatureSupported(KFeatureIdSapTerminalControlFw )) { if ( ( callState != EPSCTsyCallStateNone ) && (!( tarmFlag & KSCPFlagAdminLock )) ) - isConditionSatisfied = ETrue; + isConditionSatisfied = ETrue; } else { if ( callState != EPSCTsyCallStateNone ) - isConditionSatisfied = ETrue; + isConditionSatisfied = ETrue; } - if (isConditionSatisfied) + if (isConditionSatisfied) { TBool remoteLocked(EFalse); #ifdef RD_REMOTELOCK @@ -369,46 +366,47 @@ #if defined(_DEBUG) RDebug::Print(_L("(AUTOLOCK)CAutoLockModel::LockSystemL() LOCK PHONE")); #endif - // close fast-swap window - CEikonEnv::Static()->DismissTaskList(); - // inform Avokon & Other app that system is locked - // unless the value has already been set in secuisystemlock - #ifdef RD_REMOTELOCK - if(aAutolockState != EManualLocked) - { - #if defined(_DEBUG) + // close fast-swap window + CEikonEnv::Static()->DismissTaskList(); + // inform Avokon & Other app that system is locked + // unless the value has already been set in secuisystemlock + #ifdef RD_REMOTELOCK + if(aAutolockState != EManualLocked) + { + #if defined(_DEBUG) RDebug::Print(_L("(AUTOLOCK)CAutoLockModel::LockSystemL() Timer/Remote locked: %d"), aAutolockState); #endif - SetLockedL(aAutolockState); - } - else if((aAutolockState == EManualLocked) && !iAppUi->Locked() && iAppUi->HiddenReset()) - { //set the PubSub key if we are to be locked after a hidden reset has occurred. - #if defined(_DEBUG) + SetLockedL(aAutolockState); + } + else if((aAutolockState == EManualLocked) && !iAppUi->Locked() && iAppUi->HiddenReset()) + { //set the PubSub key if we are to be locked after a hidden reset has occurred. + #if defined(_DEBUG) RDebug::Print(_L("(AUTOLOCK)CAutoLockModel::LockSystemL() HIDDEN RESET LOCK")); #endif - SetLockedL(aAutolockState); - } - else - { //Normal manual lock from power key. Just set the CenRep key. - iCenRepI->SetLockedL(okToLock); - } - #else //! RD_REMOTELOCK - SetLockedL(aAutolockState); - #endif//RD_REMOTELOCK - // lock keys - iAppUi->LockKeysL(); - // app to foreground - iAppUi->BringAppToForegroundL(); + SetLockedL(aAutolockState); + } + else + { //Normal manual lock from power key. Just set the CenRep key. + iCenRepI->SetLockedL(okToLock); + } + #else //! RD_REMOTELOCK + SetLockedL(aAutolockState); + #endif//RD_REMOTELOCK + // lock keys + iAppUi->LockKeysL(); + // app to foreground + iAppUi->BringAppToForegroundL(); // Reset inactivity time so that Screensaver gets to // run again after its timeout. We'll ignore the new // inactivity timeout, if already locked - User::ResetInactivityTime(); - } + RDebug::Printf( "%s %s (%u) CR 428-469 avoid User::ResetInactivityTime=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, 0 ); + // User::ResetInactivityTime(); + } #if defined(_DEBUG) RDebug::Print(_L("(AUTOLOCK)CAutoLockModel::LockSystemL() END")); #endif } - + // // ---------------------------------------------------------- // CAutoLockModel::SetLocked @@ -416,20 +414,20 @@ // ---------------------------------------------------------- // void CAutoLockModel::SetLockedL(TInt aAutolockState) - { - #if defined(_DEBUG) + { + #if defined(_DEBUG) RDebug::Print(_L("(AUTOLOCK)CAutoLockModel::SetLockedL() begin")); #endif - TBool locked = (aAutolockState > EAutolockOff); - if (locked) - { + TBool locked = (aAutolockState > EAutolockOff); + if (locked) + { iProperty.Set(KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, aAutolockState); #if defined(_DEBUG) RDebug::Print(_L("(AUTOLOCK)CAutoLockModel::SetLockedL() LOCK")); #endif - } + } else - { + { iProperty.Set(KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, EAutolockOff); #if defined(_DEBUG) RDebug::Print(_L("(AUTOLOCK)CAutoLockModel::SetLockedL() UNLOCK")); @@ -440,6 +438,6 @@ #if defined(_DEBUG) RDebug::Print(_L("(AUTOLOCK)CAutoLockModel::SetLockedL() end")); #endif - } + } // END OF FILE diff -r 6e226572c5f0 -r ece4bbb094df securitydialogs/Autolock/src/AutolockAppUi.cpp --- a/securitydialogs/Autolock/src/AutolockAppUi.cpp Fri Mar 12 15:46:51 2010 +0200 +++ b/securitydialogs/Autolock/src/AutolockAppUi.cpp Mon Mar 15 12:43:21 2010 +0200 @@ -139,8 +139,8 @@ RDebug::Print(_L("(AUTOLOCK)CAutolockAppUi::ConstructL() phone opened")); #endif - TBool systemLocked = EFalse; - TBool autolockValue = EAutolockStatusUninitialized; + TBool systemLocked = EFalse; + TBool phoneLocked = EFalse; iWait = NULL; iWait = CWait::NewL(); @@ -174,8 +174,9 @@ RDebug::Print(_L("(AUTOLOCK)CAutolockAppUi::ConstructL() Hidden reset")); RDebug::Print(_L("(AUTOLOCK)CAutolockAppUi::ConstructL() CR get result: %d"), cRresult); RDebug::Print(_L("(AUTOLOCK)CAutolockAppUi::ConstructL() CR lock value: %d"), lockValue); + RDebug::Print(_L("(AUTOLOCK)CAutolockAppUi::ConstructL() CR lockInfo.iSetting: %d"), lockInfo.iSetting); #endif - if (lockInfo.iSetting == RMobilePhone::ELockSetDisabled) + if (lockInfo.iSetting == RMobilePhone::ELockSetDisabled) { repository->Set(KSettingsAutoLockTime, 0); if ( FeatureManager::FeatureSupported( KFeatureIdProtocolCdma ) ) @@ -189,24 +190,15 @@ #if defined(_DEBUG) RDebug::Print(_L("(AUTOLOCK)CAutolockAppUi::ConstructL() Hidden reset when locked")); #endif - systemLocked = ETrue; + phoneLocked = systemLocked = ETrue; } - - - if ( lockInfo.iSetting == RMobilePhone::ELockSetEnabled && lockValue != EAutolockOff && !hiddenReset) - { - #if defined(_DEBUG) - RDebug::Print(_L("(AUTOLOCK)CAutolockAppUi::ConstructL() EAutolockStatusUninitialized %d"),EAutolockStatusUninitialized); + else if (lockInfo.iSetting == RMobilePhone::ELockSetEnabled && !hiddenReset) { + #if defined(_DEBUG) + RDebug::Print(_L("(AUTOLOCK)CAutolockAppUi::ConstructL() Set phone locked")); #endif - autolockValue = EAutolockStatusUninitialized; - } - else if (lockInfo.iSetting == RMobilePhone::ELockSetDisabled || (hiddenReset && (lockValue == 0)) ) - { - #if defined(_DEBUG) - RDebug::Print(_L("(AUTOLOCK)CAutolockAppUi::ConstructL() EAutolockOff %d"),EAutolockOff); - #endif - autolockValue = EAutolockOff; - } + phoneLocked = ETrue; + } + delete repository; #endif //__WINS__ @@ -252,7 +244,7 @@ SetDefaultViewL(*lockView); // start autolock timer - iModel = CAutoLockModel::NewL(this, autolockValue); + iModel = CAutoLockModel::NewL(this, phoneLocked); // phone event observer iPhoneObserver = CValueObserver::NewL(this); @@ -496,7 +488,14 @@ if (iLocked) { // lock voice key - LockSideKeyL(); + LockSideKeyL(); + CAknView* view = View(KAutoLockViewId); + if(view) + { + TRect aCallRect; + STATIC_CAST(CAutolockView*, view)->HandleCall(15, aCallRect); + } + } else { @@ -525,6 +524,12 @@ { // unlock voice key while there is active call UnLockSideKey(); + CAknView* view = View(KAutoLockViewId); + if(view) + { + TRect aCallRect; + STATIC_CAST(CAutolockView*, view)->HandleCall(16, aCallRect); + } } } @@ -935,6 +940,8 @@ CAknView* view = View(KAutoLockViewId); if(view) { + TRect aCallRect; + STATIC_CAST(CAutolockView*, view)->HandleCall(17, aCallRect); STATIC_CAST(CAutolockView*, view)->MakeVisible(ETrue); } else diff -r 6e226572c5f0 -r ece4bbb094df securitydialogs/SecUi/Src/SecUiSecurityHandler.cpp --- a/securitydialogs/SecUi/Src/SecUiSecurityHandler.cpp Fri Mar 12 15:46:51 2010 +0200 +++ b/securitydialogs/SecUi/Src/SecUiSecurityHandler.cpp Mon Mar 15 12:43:21 2010 +0200 @@ -223,7 +223,7 @@ RDebug::Printf( "%s %s (%u) currentLockStatus=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, currentLockStatus ); #endif delete repository; - if(res==0 && currentLockStatus==1) + if(res==0 && currentLockStatus>=1 ) { // code is the default one; no need to request it. return ETrue; @@ -1248,7 +1248,7 @@ #endif User::LeaveIfError(res); - if(codeInfo.iRemainingEntryAttempts == KMaxNumberOfPINAttempts) + if( codeInfo.iRemainingEntryAttempts >= KMaxNumberOfPINAttempts ) res = iSecurityDlg->ExecuteLD(R_PIN_REQUEST_QUERY); else if(codeInfo.iRemainingEntryAttempts > KLastRemainingInputAttempt) { @@ -1300,7 +1300,7 @@ CSecUiLockObserver* queryStatusObserver = CSecUiLockObserver::NewL(iSecurityDlg, ESecUiRequestStateObserver); CleanupStack::PushL(queryStatusObserver); - if(codeInfo.iRemainingEntryAttempts == KMaxNumberOfPINAttempts) + if( codeInfo.iRemainingEntryAttempts >= KMaxNumberOfPINAttempts ) res = iSecurityDlg->ExecuteLD(R_PIN_QUERY); else if(codeInfo.iRemainingEntryAttempts > KLastRemainingInputAttempt) { @@ -1928,7 +1928,7 @@ res = wait->WaitForRequestL(); User::LeaveIfError(res); - if(codeInfo.iRemainingEntryAttempts == KMaxNumberOfPINAttempts) + if( codeInfo.iRemainingEntryAttempts >= KMaxNumberOfPINAttempts ) res = iSecurityDlg->ExecuteLD(R_UPIN_REQUEST_QUERY); else if(codeInfo.iRemainingEntryAttempts > KLastRemainingInputAttempt) { @@ -1974,7 +1974,7 @@ CSecUiLockObserver* queryStatusObserver = CSecUiLockObserver::NewL(iSecurityDlg, ESecUiRequestStateObserver); CleanupStack::PushL(queryStatusObserver); - if(codeInfo.iRemainingEntryAttempts == KMaxNumberOfPINAttempts) + if( codeInfo.iRemainingEntryAttempts >= KMaxNumberOfPINAttempts ) res = iSecurityDlg->ExecuteLD(R_UPIN_QUERY); else if(codeInfo.iRemainingEntryAttempts > KLastRemainingInputAttempt) { diff -r 6e226572c5f0 -r ece4bbb094df securitydialogs/SecUi/Src/SecUiSecuritySettings.cpp --- a/securitydialogs/SecUi/Src/SecUiSecuritySettings.cpp Fri Mar 12 15:46:51 2010 +0200 +++ b/securitydialogs/SecUi/Src/SecUiSecuritySettings.cpp Mon Mar 15 12:43:21 2010 +0200 @@ -257,7 +257,7 @@ res = iWait->WaitForRequestL(); User::LeaveIfError(res); // ask pin - if(codeInfo.iRemainingEntryAttempts == KMaxNumberOfPINAttempts) + if( codeInfo.iRemainingEntryAttempts >= KMaxNumberOfPINAttempts ) res = dlg->ExecuteLD(R_PIN_QUERY); else if(codeInfo.iRemainingEntryAttempts > KLastRemainingInputAttempt) { @@ -431,7 +431,7 @@ res = iWait->WaitForRequestL(); User::LeaveIfError(res); - if(codeInfo.iRemainingEntryAttempts == KMaxNumberOfPINAttempts) + if( codeInfo.iRemainingEntryAttempts >= KMaxNumberOfPINAttempts ) res = dlg->ExecuteLD(R_UPIN_QUERY); else if(codeInfo.iRemainingEntryAttempts > KLastRemainingInputAttempt) { diff -r 6e226572c5f0 -r ece4bbb094df securitydialogs/lockapp/src/lockappkeyguardcontrol.cpp --- a/securitydialogs/lockapp/src/lockappkeyguardcontrol.cpp Fri Mar 12 15:46:51 2010 +0200 +++ b/securitydialogs/lockapp/src/lockappkeyguardcontrol.cpp Mon Mar 15 12:43:21 2010 +0200 @@ -28,7 +28,7 @@ #include // keyguard spesific resources #include #include -#include // publishing keyguard notes to secondary display +#include // publishing keyguard notes to secondary display #include // feature manager #include // keyguard soft buttons #include diff -r 6e226572c5f0 -r ece4bbb094df securitydialogs/simlockui/group/SimLockUI.mmp --- a/securitydialogs/simlockui/group/SimLockUI.mmp Fri Mar 12 15:46:51 2010 +0200 +++ b/securitydialogs/simlockui/group/SimLockUI.mmp Mon Mar 15 12:43:21 2010 +0200 @@ -33,7 +33,7 @@ UID 0x00000000 SIMLOCK_UI_UID3 VENDORID VID_DEFAULT -LANG SC +LANGUAGE_IDS SOURCEPATH ../src SOURCE simlockui.cpp @@ -74,7 +74,7 @@ START RESOURCE simlockui.rss HEADER TARGETPATH /resource/apps -LANG SC +LANGUAGE_IDS END // Resource registration file diff -r 6e226572c5f0 -r ece4bbb094df securitydialogs/simlockui/rom/simlockui.iby --- a/securitydialogs/simlockui/rom/simlockui.iby Fri Mar 12 15:46:51 2010 +0200 +++ b/securitydialogs/simlockui/rom/simlockui.iby Mon Mar 15 12:43:21 2010 +0200 @@ -27,7 +27,7 @@ #define _SIMLOCKUI_IBY_ #include -#ifdef FF_SIMLOCKD_UI +#ifdef FF_SIMLOCK_UI // Definitions for applications with a UI S60_APP_EXE( SimLockUI ) S60_APP_AIF_RSC( SimLockUI ) diff -r 6e226572c5f0 -r ece4bbb094df securitydialogs/simlockui/rom/simlockui_resources.iby --- a/securitydialogs/simlockui/rom/simlockui_resources.iby Fri Mar 12 15:46:51 2010 +0200 +++ b/securitydialogs/simlockui/rom/simlockui_resources.iby Mon Mar 15 12:43:21 2010 +0200 @@ -25,7 +25,7 @@ #define _SIMLOCKUI_RESOURCES_IBY_ #include -#ifdef FF_SIMLOCKD_UI +#ifdef FF_SIMLOCK_UI S60_APP_RESOURCE( SimLockUI ) #endif // FF_SIMLOCK_UI