Add rule for 'All devices apps' when access rule is empty. 25/18725/1 accepted/tizen_ivi_panda accepted/tizen/generic/20140408.093300 accepted/tizen/ivi/20140409.182344 accepted/tizen/ivi/panda/20140408.203131 submit/tizen/20140408.085841
authorWonkyu Kwon <wonkyu.kwon@samsung.com>
Tue, 1 Oct 2013 12:42:50 +0000 (21:42 +0900)
committerJi-hoon Jung <jh8801.jung@samsung.com>
Mon, 31 Mar 2014 00:47:21 +0000 (09:47 +0900)
Signed-off-by: Ji-hoon Jung <jh8801.jung@samsung.com>
Change-Id: I56cd5bb1c3f7b7ea967c623803c2e95e97716ffa

common/AccessCondition.cpp
common/include/AccessCondition.h

index d6831c8..563da7d 100644 (file)
@@ -105,13 +105,29 @@ namespace smartcard_service_api
                mapRules.insert(item);
        }
 
+       void AccessCondition::setAccessCondition(bool rule)
+       {
+               AccessRule *result;
+
+               result = getAccessRule(AccessControlList::ALL_DEVICE_APPS);
+               if (result == NULL) {
+                       addAccessRule(AccessControlList::ALL_DEVICE_APPS);
+                       result = getAccessRule(AccessControlList::ALL_DEVICE_APPS);
+                       if (result == NULL)
+                               return;
+               }
+
+               result->setAPDUAccessRule(rule);
+               result->setNFCAccessRule(rule);
+       }
+
        bool AccessCondition::isAuthorizedAccess(const ByteArray &certHash) const
        {
-               bool result = permission;
+               bool result = false;
                const AccessRule *rule = getAccessRule(certHash);
 
                if (rule != NULL) {
-                       result = true;
+                       result = rule->isAuthorizedAccess();
                }
 
                return result;
index 5ab978d..689eacd 100644 (file)
@@ -55,16 +55,15 @@ namespace smartcard_service_api
        class AccessCondition
        {
        private :
-               bool permission;
                ByteArray aid;
                map<ByteArray, AccessRule> mapRules;
 
        public :
-               AccessCondition() : permission(false) {}
+               AccessCondition() {}
 
                inline void setAID(const ByteArray &aid) { this->aid = aid; }
                inline const ByteArray getAID() const { return aid; }
-               inline void setAccessCondition(bool rule) { permission = rule; }
+               void setAccessCondition(bool rule);
                void addAccessRule(const ByteArray &hash);
 
                void setAPDUAccessRule(const ByteArray &certHash, bool rule);