--- 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);
}