Add INSTALLER_ERROR_PRIVILEGE_LEVEL_INVALID for PRIVILEGE_LEVEL_VIOLATION
authorhb.min <hb.min@samsung.com>
Wed, 10 Apr 2013 15:37:02 +0000 (00:37 +0900)
committerhb.min <hb.min@samsung.com>
Wed, 10 Apr 2013 15:37:02 +0000 (00:37 +0900)
Change-Id: I826ba1f36a344265e52e137fd5feec9fd1f846fb
Signed-off-by: hb.min <hb.min@samsung.com>
inc/InstallerDefs.h
src/Step/SignatureStep.cpp
src/XmlHandler/PrivilegeHandler.cpp

index a9455c1..b22ec6e 100755 (executable)
@@ -23,7 +23,7 @@
 
 #include "InstallerUtil.h"
 
-#define OSP_INSTALLER_VERSION "version=[20130410.3]"
+#define OSP_INSTALLER_VERSION "version=[20130411.1]"
 
 #define DIR_BIN                                L"/bin"
 #define DIR_INFO                       L"/info"
@@ -234,6 +234,7 @@ enum InstallerError
        INSTALLER_ERROR_CERTIFICATE_CHAIN_VERIFICATION_FAILED = 33,
        INSTALLER_ERROR_CERTIFICATE_EXPIRED = 34,
        INSTALLER_ERROR_PRIVILEGE_INVALID = 41,
+       INSTALLER_ERROR_PRIVILEGE_LEVEL_INVALID = 42,
        INSTALLER_ERROR_MENU_ICON_NOT_FOUND = 51,
        INSTALLER_ERROR_FATAL_ERROR = 61,
        INSTALLER_ERROR_OUT_OF_STORAGE = 62,
index a6ca89d..0baa4b4 100755 (executable)
@@ -228,7 +228,9 @@ SignatureStep::OnStateRootCert(void)
        if (pPrivilegeList != null)
        {
                r = PrivilegeHandler::GenerateCipherPrivilege(packageId, *pPrivilegeList, apiVisibility, privileges, hmacPrivileges, stringPrivilegeList);
-               TryCatch(!IsFailed(r), error = INSTALLER_ERROR_PRIVILEGE_INVALID, "privMgr.GeneratePrivilegeString() failed");
+               TryCatch(r != E_ILLEGAL_ACCESS, error = INSTALLER_ERROR_PRIVILEGE_LEVEL_INVALID, "privMgr.GeneratePrivilegeString() failed. [PRIVILEGE_LEVEL_VIOLATION]");
+               TryCatch(!IsFailed(r), error = INSTALLER_ERROR_PRIVILEGE_INVALID, "privMgr.GeneratePrivilegeString() failed. [INVALID_PRIVILEGE]");
+
        }
 
        __pContext->__privileges = privileges;
index c6ff2ad..2f4d5a5 100755 (executable)
@@ -271,6 +271,7 @@ PrivilegeHandler::PackPrivilegeN(const IList& privilegeList, int visibilityLevel
        bool validStringFlag = false;
        bool validLevelFlag = true;
        bool resultFlag = true;
+       bool resultLevelFlag = true;
        byte privilegeBit = 0;
        byte* pResult = null;
        IEnumerator* pEnum = null;
@@ -345,12 +346,13 @@ PrivilegeHandler::PackPrivilegeN(const IList& privilegeList, int visibilityLevel
 
                if (validLevelFlag == false)
                {
-                       AppLogExceptionTag(OSP_INSTALLER, "[E_INVALID_ARG] The application does not have the visibility to register [%ls]", pTempString->GetPointer());
-                       resultFlag = false;
+                       AppLogExceptionTag(OSP_INSTALLER, "[E_ILLEGAL_ACCESS] The application does not have the privilege level to register [%ls]", pTempString->GetPointer());
+                       resultLevelFlag = false;
                }
        }
 
-       TryCatchTag(OSP_INSTALLER, resultFlag == true, r = E_INVALID_ARG, "[E_INVALID_ARG] One of privilege string is invalid.");
+       TryCatchTag(OSP_INSTALLER, resultLevelFlag == true, r = E_ILLEGAL_ACCESS, "[E_ILLEGAL_ACCESS] Unauthorized privileges are detected.");
+       TryCatchTag(OSP_INSTALLER, resultFlag == true, r = E_INVALID_ARG, "[E_INVALID_ARG] Unsupported privilege strings are detected.");
 
        *ppBitwisePrivilege = pResult;