diff options
author | Dong Sun Lee <ds73.lee@samsung.com> | 2016-09-25 18:40:57 -0700 |
---|---|---|
committer | Gerrit Code Review <gerrit@review.vlan103.tizen.org> | 2016-09-25 18:40:57 -0700 |
commit | 90ad2c656479499ae0e49433f8ccb881417c233e (patch) | |
tree | f514d8137ac6e9ed5d1f4ba6b43beabcc0531eb5 | |
parent | 6b228889696a909475089aca883a68fc8c279d13 (diff) | |
parent | a34c9f9a3d6b919cd44cc716e4102481e1f6e4b4 (diff) | |
download | key-manager-90ad2c656479499ae0e49433f8ccb881417c233e.tar.gz key-manager-90ad2c656479499ae0e49433f8ccb881417c233e.tar.bz2 key-manager-90ad2c656479499ae0e49433f8ccb881417c233e.zip |
Merge "Map System subdomains to System" into tizensubmit/tizen_3.0_wearable/20161015.000002submit/tizen_3.0_tv/20161015.000002submit/tizen_3.0_mobile/20161015.000003submit/tizen_3.0_ivi/20161010.000003submit/tizen_3.0_common/20161104.104000submit/tizen/20160926.005548accepted/tizen/wearable/20160927.020827accepted/tizen/tv/20160927.020701accepted/tizen/mobile/20160927.020845accepted/tizen/ivi/20160927.020903accepted/tizen/common/20160926.154122accepted/tizen/3.0/wearable/20161015.082655accepted/tizen/3.0/tv/20161016.004614accepted/tizen/3.0/mobile/20161015.033458accepted/tizen/3.0/ivi/20161011.044322accepted/tizen/3.0/common/20161114.105958
-rw-r--r-- | src/manager/main/socket-2-id-mockup.cpp | 2 | ||||
-rw-r--r-- | src/manager/main/socket-2-id-wrapper.cpp | 2 | ||||
-rw-r--r-- | src/manager/main/socket-2-id.cpp | 12 | ||||
-rw-r--r-- | src/manager/main/socket-2-id.h | 1 |
4 files changed, 17 insertions, 0 deletions
diff --git a/src/manager/main/socket-2-id-mockup.cpp b/src/manager/main/socket-2-id-mockup.cpp index 6b21a32e..222976d5 100644 --- a/src/manager/main/socket-2-id-mockup.cpp +++ b/src/manager/main/socket-2-id-mockup.cpp @@ -68,6 +68,8 @@ int Socket2Id::translate(int sock, std::string &result) if (0 > getPkgIdFromSmack(smack, pkgId)) return -1; + mapToDomainLabel(pkgId); + result = std::move(pkgId); return 0; } diff --git a/src/manager/main/socket-2-id-wrapper.cpp b/src/manager/main/socket-2-id-wrapper.cpp index 3d30c4b7..2eb9f369 100644 --- a/src/manager/main/socket-2-id-wrapper.cpp +++ b/src/manager/main/socket-2-id-wrapper.cpp @@ -81,6 +81,8 @@ int Socket2Id::translate(int sock, std::string &result) pkgId = "/" + smack; } + mapToDomainLabel(pkgId); + result = pkgId; m_stringMap.emplace(std::move(smack), std::move(pkgId)); return 0; diff --git a/src/manager/main/socket-2-id.cpp b/src/manager/main/socket-2-id.cpp index a9efe1b0..b6f43c08 100644 --- a/src/manager/main/socket-2-id.cpp +++ b/src/manager/main/socket-2-id.cpp @@ -70,6 +70,18 @@ int Socket2Id::getCredentialsFromSocket(int sock, std::string &res) return assignToString(result, length, res); } +void Socket2Id::mapToDomainLabel(std::string &label) +{ + static const std::string subdomainSep = "::"; + static const auto systemLabelLen = strlen(OWNER_ID_SYSTEM); + + if (label.length() > systemLabelLen + subdomainSep.length() && + label.compare(0, systemLabelLen, OWNER_ID_SYSTEM) == 0 && + label.compare(systemLabelLen, subdomainSep.length(), subdomainSep) == 0) { + label = OWNER_ID_SYSTEM; + } +} + void Socket2Id::resetCache() { m_stringMap.clear(); diff --git a/src/manager/main/socket-2-id.h b/src/manager/main/socket-2-id.h index afa863ab..3e970c28 100644 --- a/src/manager/main/socket-2-id.h +++ b/src/manager/main/socket-2-id.h @@ -36,6 +36,7 @@ public: private: int getCredentialsFromSocket(int sock, std::string &res); + void mapToDomainLabel(std::string &label); typedef std::map<std::string, std::string> StringMap; StringMap m_stringMap; |