Revision: 201013 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 14 Apr 2010 16:05:45 +0300
branchRCL_3
changeset 14 09e5ea190d07
parent 13 0817e13c927e
child 15 98a43fae6e2b
Revision: 201013 Kit: 201015
appinstaller/AppMngr2/Sisx/group/appmngr2sisxruntime.mmp
appinstaller/AppMngr2/Sisx/src/appmngr2sisxappinfo.cpp
iaupdate/IAD/ui/src/iaupdateappui.cpp
iaupdate/IAD/updater/sis/Rd.cer
iaupdate/IAD/updater/sis/Rd.pem
iaupdate/IAD/updater/sis/iaupdater.bat
iaupdate/IAD/updater/sis/iaupdater.pkg
iaupdate/IAD/updater/sis/iaupdater_debug.bat
iaupdate/IAD/updater/sis/iaupdater_debug.pkg
installationservices/swi/group/bld.inf
installationservices/swi/inc/sisregistry_5.3.txt
installationservices/swi/inc/sisregistry_5.4.txt
installationservices/swiconfig/swi/swiconfig.iby
ncdengine/engine/group/bld.inf
secureswitools/swisistools/source/interpretsis/commandparser.cpp
secureswitools/swisistools/source/makesislib/packageparser.cpp
--- a/appinstaller/AppMngr2/Sisx/group/appmngr2sisxruntime.mmp	Wed Mar 31 21:44:47 2010 +0300
+++ b/appinstaller/AppMngr2/Sisx/group/appmngr2sisxruntime.mmp	Wed Apr 14 16:05:45 2010 +0300
@@ -60,6 +60,8 @@
 LIBRARY                 avkon.lib                   // AknTextUtils
 LIBRARY                 x509.lib                    // CX509Certificate
 LIBRARY                 egul.lib                    // CGulIcon
+LIBRARY                 drmhelper.lib               // DRM Helper
+LIBRARY                 drmutility.lib              // DRM Utility
 
 DEBUGLIBRARY            flogger.lib                 // RFileLogger
 
--- a/appinstaller/AppMngr2/Sisx/src/appmngr2sisxappinfo.cpp	Wed Mar 31 21:44:47 2010 +0300
+++ b/appinstaller/AppMngr2/Sisx/src/appmngr2sisxappinfo.cpp	Wed Apr 14 16:05:45 2010 +0300
@@ -28,6 +28,8 @@
 #include <appmngr2debugutils.h>         // FLOG macros
 #include <x509cert.h>                   // CX509Certificate
 #include <swi/sisregistrypackage.h>     // CSisRegistryPackage
+#include <DRMHelper.h>
+#include <drmutility.h>
 
 
 // ======== MEMBER FUNCTIONS ========
@@ -285,24 +287,71 @@
     // to show the licence information.
     RPointerArray<HBufC> files;
     TRAPD( err, aEntry.FilesL( files ) );
+    
     if( err == KErrNone )
         {
         CleanupResetAndDestroyPushL( files );
-        for( TInt fileIndex = 0; fileIndex < files.Count() && !iIsDRMProtected; fileIndex++ )
-            {
-            HBufC* fileName = files[ fileIndex ];
-            iIsDRMProtected = TAppMngr2DRMUtils::IsDRMProtected( *fileName );
-            if( iIsDRMProtected )
-                {
-                FLOG( "CAppMngr2SisxAppInfo::ConstructL, iProtectedFile %S", fileName );
-                iProtectedFile = fileName;  // takes ownership
-                files.Remove( fileIndex );
-                iIsRightsObjectMissingOrExpired =
-                    TAppMngr2DRMUtils::IsDRMRightsObjectExpiredOrMissingL( *fileName );
-                FLOG( "CAppMngr2SisxAppInfo::ConstructL, iIsRightsObjectMissingOrExpired %d",
-                        iIsRightsObjectMissingOrExpired );
+        
+        // Use DRMUtility for DRM check. Utility class is much faster then
+        // IsDRMProtected function.        
+        DRM::CDrmUtility* utility = DRM::CDrmUtility::NewLC();
+                                     
+        for ( TInt fileIndex = 0; fileIndex < files.Count(); fileIndex++ )
+            {        
+            RFile fileHandle;
+            TInt error = fileHandle.Open( iFs, *files[ fileIndex ], EFileRead );
+            FLOG( "CAppMngr2SisxAppInfo::ConstructL, File open error %d", 
+                    error );
+            
+            if ( error == KErrNone )
+                {                
+                CleanupClosePushL( fileHandle );
+                
+                iIsDRMProtected = utility->IsProtectedL( fileHandle );
+            
+                CleanupStack::PopAndDestroy( &fileHandle ); 
+                
+                if ( iIsDRMProtected )
+                    {                       
+                    HBufC* fileName = files[ fileIndex ];                            
+                    FLOG( "CAppMngr2SisxAppInfo::ConstructL, iProtectedFile %S", 
+                            fileName );
+                    
+                    iProtectedFile = fileName;  // takes ownership
+                    files.Remove( fileIndex );                    
+                    
+                    CDRMHelper* helper = CDRMHelper::NewLC();                    
+                    CDRMHelperRightsConstraints* playconst = NULL;
+                    CDRMHelperRightsConstraints* dispconst = NULL;
+                    CDRMHelperRightsConstraints* execconst = NULL;
+                    CDRMHelperRightsConstraints* printconst = NULL;            
+                    TBool sendingallowed = EFalse;
+                                    
+                    FLOG( "CAppMngr2SisxAppInfo::ConstructL: GetRightsDetailsL" );
+                    error = KErrNone;
+                    TRAP( error, helper->GetRightsDetailsL( *fileName, 
+                                                ContentAccess::EView, 
+                                                iIsRightsObjectMissingOrExpired, 
+                                                sendingallowed, 
+                                                playconst, 
+                                                dispconst, 
+                                                execconst, 
+                                                printconst ) );                     
+                    FLOG( "GetRightsDetailsL TRAP err = %d", error );
+                    
+                    delete playconst;
+                    delete dispconst;
+                    delete execconst;
+                    delete printconst;
+                    
+                    CleanupStack::PopAndDestroy( helper );
+                    
+                    FLOG( "iIsRightsObjectMissingOrExpired: %d", 
+                            iIsRightsObjectMissingOrExpired );                                        
+                    }
                 }
-            }
+            }                
+        CleanupStack::PopAndDestroy( utility );
         CleanupStack::PopAndDestroy( &files );
         }
 
--- a/iaupdate/IAD/ui/src/iaupdateappui.cpp	Wed Mar 31 21:44:47 2010 +0300
+++ b/iaupdate/IAD/ui/src/iaupdateappui.cpp	Wed Apr 14 16:05:45 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-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"
@@ -99,7 +99,7 @@
     else
         {
         iEikonEnv->RootWin().SetOrdinalPosition( -1, ECoeWinPriorityNeverAtFront );
-        BaseConstructL( EAknEnableSkin | EAknEnableMSK );
+        BaseConstructL( EAknEnableSkin | EAknEnableMSK | EAknSingleClickCompatible );
         StatusPane()->MakeVisible( EFalse );
         }
     
--- a/iaupdate/IAD/updater/sis/Rd.cer	Wed Mar 31 21:44:47 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
------BEGIN CERTIFICATE-----
-MIICzDCCAjWgAwIBAgIBADANBgkqhkiG9w0BAQUFADArMRAwDgYDVQQKEwdSRCBD
-ZXJ0MRcwFQYDVQQDEw5SRCBDZXJ0aWZpY2F0ZTAeFw0wNDExMTUxMjQyMDZaFw0z
-NzA5MjMxMjQyMDZaMCsxEDAOBgNVBAoTB1JEIENlcnQxFzAVBgNVBAMTDlJEIENl
-cnRpZmljYXRlMIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDLRF+r1FGGkCwT
-rb420kbnAps7gi1yYUcXYUdWeFTuBeQe5eW46Y+LWaA8HMlDdoHRB0FgASisYcFa
-gwno9+oFf4AJka4H1gWEs5XTGwAA1s0d8XGh7W7Dt9F5FZij8F7/9Pi6+FhhxZFI
-f1DD+yry9D7+Sp+BgdNALe4XOpf25QIBA6OCAQAwgf0wDAYDVR0TBAUwAwEB/zAL
-BgNVHQ8EBAMCAoQwHQYDVR0OBBYEFFi/kuGzxhVpjGxe9ZwlxC3fH9jFMFMGA1Ud
-IwRMMEqAFFi/kuGzxhVpjGxe9ZwlxC3fH9jFoS+kLTArMRAwDgYDVQQKEwdSRCBD
-ZXJ0MRcwFQYDVQQDEw5SRCBDZXJ0aWZpY2F0ZYIBADBsBgNVHSAEZTBjMGEGBFUd
-IAAwWTATBggrBgEFBQcCARYHaHR0cDovLzBCBggrBgEFBQcCAjA2GjRGb3IgUiZE
-IHVzYWdlIG9ubHkuIFRoaXMgY2VydGlmaWNhdGUgaXMgbm90IHRydXN0ZWQuMA0G
-CSqGSIb3DQEBBQUAA4GBAHGB4RQMAgBdeT2hxfOr6f2nA/dZm+M5yX5daUtZnET9
-Ed0A9sazLawfN2G1KFQT9kxEParAyoAkpbMAsRrnRz/9cM3OHgFm/NiKRnf50DpT
-7oCx0I/65mVD2kt+xXE62/Ii5KPnTufIkPi2uLvURCia1tTS8JmJ8dtxDGyQt8BR
------END CERTIFICATE-----
--- a/iaupdate/IAD/updater/sis/Rd.pem	Wed Mar 31 21:44:47 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIICXAIBAAKBgQDLRF+r1FGGkCwTrb420kbnAps7gi1yYUcXYUdWeFTuBeQe5eW4
-6Y+LWaA8HMlDdoHRB0FgASisYcFagwno9+oFf4AJka4H1gWEs5XTGwAA1s0d8XGh
-7W7Dt9F5FZij8F7/9Pi6+FhhxZFIf1DD+yry9D7+Sp+BgdNALe4XOpf25QIBAwKB
-gQCHgupyjYuvCsgNHn7PNtnvVxInrB5MQNoPli+O+uNJWUK/Q+57Rl+yO8AoEzDX
-pFaLWiuVVhsdloDnAgabT/FXzYncs6uOHyEUV+dSXb78vtLPJqAX+Fg2i3hOXreB
-yskcZ13/OsKVOu5wgrJkx2baZufkqMwOSytf5y9nwjEIKwJBAP+inobagVNrN62j
-KQva3cC+UN/6XnKdTc0CA6bHyLOaJoH1xiMwG/VS2PGjHI0tiSMNtLn/QPpHJ003
-iabGhdUCQQDLjp/9UjFT6K6CF66Chqf30pZXhx+GTSQZmv/gvZiMly7X9fX9BGX3
-2MbJohBC4yI21XKTbisWywkF73Hwh+TRAkEAqmxprzxWN5zPyRdwspHpKymLP/w+
-9xOJM1atGdqFzRFvAU6EF3Vn+OHl9my9s3OwwgkjJqorUYTE3iUGby8D4wJBAIe0
-aqjhdjfwdFa6dFcEb/qMZDpaFQQzbWZnVUB+ZbMPdI/5TqitmU/l2dvBYCyXbCSO
-TGJJcg8yBgP09qBamIsCQFL7j1tM0XPVQJQ89WpKCld7O9ORxRGVj1eG0tWijrH8
-mGbYh8SGCVoWV3vrKSS8GBrFVgQnqUaHuEdtM7tpCAQ=
------END RSA PRIVATE KEY-----
--- a/iaupdate/IAD/updater/sis/iaupdater.bat	Wed Mar 31 21:44:47 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-@rem
-@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-@rem All rights reserved.
-@rem This component and the accompanying materials are made available
-@rem under the terms of "Eclipse Public License v1.0"
-@rem which accompanies this distribution, and is available
-@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@rem
-@rem Initial Contributors:
-@rem Nokia Corporation - initial contribution.
-@rem
-@rem Contributors:
-@rem
-@rem Description: 
-@rem
-makesis -d%EPOCROOT% iaupdater.pkg
-signsis iaupdater.sis iaupdater_RD.SISX Rd.cer Rd.pem
--- a/iaupdate/IAD/updater/sis/iaupdater.pkg	Wed Mar 31 21:44:47 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-;
-; Copyright (c) 2009 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"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: 
-;
-&EN
-
-;Header
-#{"iaupdater"},(0x2000F85D),1,0,0
-
-;Localised Vendor name
-%{"Nokia IAUpdater"}
-
-;Unique Vendor name
-:"Nokia IAUpdater"
-
-"\epoc32\release\armv5\urel\iaupdater.exe" - "!:\sys\bin\iaupdater.exe"
-"\epoc32\data\z\resource\apps\iaupdater.rsc" - "!:\resource\apps\iaupdater.rsc"
-"\epoc32\data\z\private\10003a3f\import\apps\iaupdater_reg.rsc" - "!:\private\10003a3f\import\apps\iaupdater_reg.rsc"
-
-; Updater files DLL
-"\epoc32\release\armv5\urel\iaupdaterfiles.dll" - "!:\sys\bin\iaupdaterfiles.dll"
\ No newline at end of file
--- a/iaupdate/IAD/updater/sis/iaupdater_debug.bat	Wed Mar 31 21:44:47 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-@rem
-@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-@rem All rights reserved.
-@rem This component and the accompanying materials are made available
-@rem under the terms of "Eclipse Public License v1.0"
-@rem which accompanies this distribution, and is available
-@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@rem
-@rem Initial Contributors:
-@rem Nokia Corporation - initial contribution.
-@rem
-@rem Contributors:
-@rem
-@rem Description: 
-@rem
-makesis -d%EPOCROOT% iaupdater_debug.pkg
-signsis iaupdater_debug.sis iaupdater_debug_RD.SISX Rd.cer Rd.pem
--- a/iaupdate/IAD/updater/sis/iaupdater_debug.pkg	Wed Mar 31 21:44:47 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-;
-; Copyright (c) 2009 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"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: 
-;
-&EN
-
-;Header
-#{"iaupdater"},(0x2000F85D),1,0,0
-
-;Localised Vendor name
-%{"Nokia IAUpdater"}
-
-;Unique Vendor name
-:"Nokia IAUpdater"
-
-"\epoc32\release\armv5\udeb\iaupdater.exe" - "!:\sys\bin\iaupdater.exe"
-"\epoc32\data\z\resource\apps\iaupdater.rsc" - "!:\resource\apps\iaupdater.rsc"
-"\epoc32\data\z\private\10003a3f\import\apps\iaupdater_reg.rsc" - "!:\private\10003a3f\import\apps\iaupdater_reg.rsc"
-
-; Updater files DLL
-"\epoc32\release\armv5\udeb\iaupdaterfiles.dll" - "!:\sys\bin\iaupdaterfiles.dll"
\ No newline at end of file
--- a/installationservices/swi/group/bld.inf	Wed Mar 31 21:44:47 2010 +0300
+++ b/installationservices/swi/group/bld.inf	Wed Apr 14 16:05:45 2010 +0300
@@ -64,7 +64,7 @@
 // swi.iby split into two part swi.iby and swiplugin.iby, swiplugin can be used by other team for implementing swi observer plug-in independently
 ../inc/swiplugin.iby /epoc32/rom/include/swiplugin.iby
 ../inc/switextshell.iby /epoc32/rom/include/switextshell.iby
-../inc/sisregistry_5.3.txt z:/system/data/sisregistry_5.3.txt
+../inc/sisregistry_5.4.txt z:/system/data/sisregistry_5.4.txt
 
 // export certstoretobin
 ../source/certstoretobin/Swicertstoretobin.pl	/epoc32/tools/swicertstoretobin.pl
--- a/installationservices/swi/inc/sisregistry_5.3.txt	Wed Mar 31 21:44:47 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-// Just need some text here to get rid of an unnecessary warning during rombuild
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/installationservices/swi/inc/sisregistry_5.4.txt	Wed Apr 14 16:05:45 2010 +0300
@@ -0,0 +1,1 @@
+// Just need some text here to get rid of an unnecessary warning during rombuild
--- a/installationservices/swiconfig/swi/swiconfig.iby	Wed Mar 31 21:44:47 2010 +0300
+++ b/installationservices/swiconfig/swi/swiconfig.iby	Wed Apr 14 16:05:45 2010 +0300
@@ -19,7 +19,7 @@
 #define __SWICONFIG_IBY__
 
 data = EPOCROOT##epoc32\data\z\system\data\swipolicy.ini \system\data\swipolicy.ini
-data = EPOCROOT##epoc32\data\z\system\data\sisregistry_5.3.txt \system\data\sisregistry_5.3.txt
+data = EPOCROOT##epoc32\data\z\system\data\sisregistry_5.4.txt \system\data\sisregistry_5.4.txt
 data = MULTI_LINGUIFY(RSC ZRESOURCE\Errors\swierrors Resource\Errors\swierrors)
 
 #endif
--- a/ncdengine/engine/group/bld.inf	Wed Mar 31 21:44:47 2010 +0300
+++ b/ncdengine/engine/group/bld.inf	Wed Apr 14 16:05:45 2010 +0300
@@ -41,12 +41,12 @@
 
 // The following path is a general export dir which is needed for ROM builds
 // (and perhaps pkg references).
-backup_registration.xml         /epoc32/data/z/private/20019119/backup_registration.xml
+backup_registration.xml         z:/private/20019119/backup_registration.xml
+
 
 // Config file
-config.xml                      /epoc32/release/winscw/udeb/z/private/20019119/config.xml
-config.xml                      /epoc32/data/z/private/20019119/config.xml
+config.xml                      z:/private/20019119/config.xml
+
 
 // Variant config file
-config_variant.xml                      /epoc32/release/winscw/udeb/z/private/20019119/config_variant.xml
-config_variant.xml                      /epoc32/data/z/private/20019119/config_variant.xml
+config_variant.xml                      z:/private/20019119/config_variant.xml
--- a/secureswitools/swisistools/source/interpretsis/commandparser.cpp	Wed Mar 31 21:44:47 2010 +0300
+++ b/secureswitools/swisistools/source/interpretsis/commandparser.cpp	Wed Apr 14 16:05:45 2010 +0300
@@ -116,7 +116,7 @@
 		#else
 		<< "Usage: " << CommandName () << " [-z dir] [-c dir] [-e] [-k [4.0 | 5.0 | 5.1 | 5.2 | 5.3 | 5.4]]\n"
 		#endif
-		<< "\t\t[-s [sisfile | dir] [+drive [+mcard | +mcardnr | +mcardalone | +mcardalonenr] [+sucert]]] [-s ...]\n"
+		<< "\t\t[-s [sisfile | dir] [+drive [+mcard | +mcardnr | +nonremovablepkg | +mcardalone | +mcardalonenr] [+sucert]]] [-s ...]\n"
 		<< "\t\t[-p param_file] [-d drive] [-r rofsbuild_log_file1,rofsbuild_log_file2,...]\n" 
 		<< "\t\t[-t romstubdir] [-n language_code] [-i config_file] \n"
 		<< "\t\t[-x pkgUID[,pkgUID2,...]] [-w [off | error | warn | info]] [-l logfile]\n\n"
--- a/secureswitools/swisistools/source/makesislib/packageparser.cpp	Wed Mar 31 21:44:47 2010 +0300
+++ b/secureswitools/swisistools/source/makesislib/packageparser.cpp	Wed Apr 14 16:05:45 2010 +0300
@@ -411,7 +411,7 @@
 			dialect = CSISLanguage::IdentifyLanguage (iTokenValue.pszString);
 			if (dialect == CSISLanguage::ELangNone) throw ErrUnknownLanguagesId;
 			}
-		else if (iToken==NUMERIC_TOKEN && iTokenValue.dwNumber>=0 && iTokenValue.dwNumber<=1000)
+		else if (iToken==NUMERIC_TOKEN && iTokenValue.dwNumber>=0 )
 			{
 			dialect = static_cast <CSISLanguage::TDialect> (iTokenValue.dwNumber);
 			}