Fixed widget install fail when using partner privilege
authorSoyoung Kim <sy037.kim@samsung.com>
Mon, 18 Mar 2013 05:54:36 +0000 (14:54 +0900)
committerSoyoung Kim <sy037.kim@samsung.com>
Mon, 18 Mar 2013 05:54:36 +0000 (14:54 +0900)
[Issue#] N/A
[Problem] can't install widget has partner privilege.
[Cause] save wrong distributor signature during check ACE.
[Solution] save distributor1 signature during check ACE.
[SCMRequest] N/A

src/jobs/widget_install/task_certify.cpp
src/jobs/widget_install/task_certify.h

index c806945..aaa7655 100644 (file)
@@ -62,6 +62,7 @@ WidgetCertificateData toWidgetCertificateData(const SignatureData &data,
     WidgetCertificateData result;
 
     result.chainId = data.getSignatureNumber();
+    LogDebug("result.chainId : " << result.chainId);
 
     result.owner = data.isAuthorSignature() ?
         WidgetCertificateData::AUTHOR : WidgetCertificateData::DISTRIBUTOR;
@@ -148,8 +149,7 @@ TaskCertify::TaskCertify(InstallerContext &inCont) :
     AddStep(&TaskCertify::stepFinalize);
 }
 
-void TaskCertify::processDistributorSignature(const SignatureData &data,
-                                              bool first)
+void TaskCertify::processDistributorSignature(const SignatureData &data)
 {
     // this signature is verified -
     // no point in check domain WAC_ROOT and WAC_RECOGNIZED
@@ -171,7 +171,7 @@ void TaskCertify::processDistributorSignature(const SignatureData &data,
     m_contextData.wacSecurity.getCertificateChainListRef().push_back(
         collection);
 
-    if (first) {
+    if (data.getSignatureNumber() == 1) {
         m_contextData.wacSecurity.getCertificateListRef().push_back(
             toWidgetCertificateData(data, true));
         m_contextData.wacSecurity.getCertificateListRef().push_back(
@@ -235,7 +235,6 @@ void TaskCertify::stepSignature()
     SignatureFileInfoSet::reverse_iterator iter = signatureFiles.rbegin();
     LogInfo("Number of signatures: " << signatureFiles.size());
 
-    bool firstDistributorSignature = true;
     bool testCertificate = false;
 
     bool complianceMode = GlobalDAOReadOnly::getComplianceMode();
@@ -307,8 +306,7 @@ void TaskCertify::stepSignature()
                     continue;
                 }
                 // now signature _must_ be verified
-                processDistributorSignature(data, firstDistributorSignature);
-                firstDistributorSignature = false;
+                processDistributorSignature(data);
             }
 
             bool developerMode = GlobalDAOReadOnly::GetDeveloperMode();
index 315a500..06e9610 100644 (file)
@@ -60,8 +60,7 @@ class TaskCertify :
     void stepFinalize();
     void createInstallPopup(PopupType type, const std::string &label);
 
-    void processDistributorSignature(const ValidationCore::SignatureData &data,
-                                     bool first);
+    void processDistributorSignature(const ValidationCore::SignatureData &data);
     void processAuthorSignature(const ValidationCore::SignatureData &data);
 
     std::string createAuthorWidgetInfo() const;