summaryrefslogtreecommitdiffstats
path: root/src/Daemon
diff options
context:
space:
mode:
Diffstat (limited to 'src/Daemon')
-rw-r--r--src/Daemon/MiddleWare.cpp10
-rw-r--r--src/Daemon/RPM.cpp26
-rw-r--r--src/Daemon/RPM.h10
3 files changed, 23 insertions, 23 deletions
diff --git a/src/Daemon/MiddleWare.cpp b/src/Daemon/MiddleWare.cpp
index d18f6ab8..6480ab57 100644
--- a/src/Daemon/MiddleWare.cpp
+++ b/src/Daemon/MiddleWare.cpp
@@ -480,7 +480,7 @@ static mw_result_t SavePackageDescriptionToDebugDump(const std::string& pExecuta
}
else
{
- package = GetPackage(pExecutable);
+ package = GetPackage(pExecutable.c_str());
packageName = package.substr(0, package.rfind("-", package.rfind("-") - 1));
if (packageName == "" ||
(g_setBlackList.find(packageName) != g_setBlackList.end()))
@@ -495,12 +495,12 @@ static mw_result_t SavePackageDescriptionToDebugDump(const std::string& pExecuta
}
if (g_settings_bOpenGPGCheck)
{
- if (!s_RPM.CheckFingerprint(packageName))
+ if (!s_RPM.CheckFingerprint(packageName.c_str()))
{
error_msg("package isn't signed with proper key");
return MW_GPG_ERROR;
}
- if (!CheckHash(packageName, pExecutable))
+ if (!CheckHash(packageName.c_str(), pExecutable.c_str()))
{
error_msg("executable has bad hash");
return MW_GPG_ERROR;
@@ -508,8 +508,8 @@ static mw_result_t SavePackageDescriptionToDebugDump(const std::string& pExecuta
}
}
- std::string description = GetDescription(packageName);
- std::string component = GetComponent(pExecutable);
+ std::string description = GetDescription(packageName.c_str());
+ std::string component = GetComponent(pExecutable.c_str());
try
{
diff --git a/src/Daemon/RPM.cpp b/src/Daemon/RPM.cpp
index 51aa0dd4..4a819b5d 100644
--- a/src/Daemon/RPM.cpp
+++ b/src/Daemon/RPM.cpp
@@ -35,11 +35,11 @@ void CRPM::LoadOpenGPGPublicKey(const char* pFileName)
free(pkt);
}
-bool CRPM::CheckFingerprint(const std::string& pPackage)
+bool CRPM::CheckFingerprint(const char* pPackage)
{
bool ret = false;
rpmts ts = rpmtsCreate();
- rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_NAME, pPackage.c_str(), 0);
+ rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_NAME, pPackage, 0);
Header header = rpmdbNextIterator(iter);
if (header != NULL)
@@ -82,11 +82,11 @@ bool CRPM::CheckFingerprint(const std::string& pPackage)
return ret;
}
-bool CheckHash(const std::string& pPackage, const std::string& pPath)
+bool CheckHash(const char* pPackage, const char* pPath)
{
bool ret = false;
rpmts ts = rpmtsCreate();
- rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_NAME, pPackage.c_str(), 0);
+ rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_NAME, pPackage, 0);
Header header = rpmdbNextIterator(iter);
if (header != NULL)
{
@@ -95,16 +95,16 @@ bool CheckHash(const std::string& pPackage, const std::string& pPath)
std::string headerHash;
char computedHash[1024] = "";
- while(rpmfiNext(fi) != -1)
+ while (rpmfiNext(fi) != -1)
{
- if (pPath == rpmfiFN(fi))
+ if (strcmp(pPath, rpmfiFN(fi)) == 0)
{
headerHash = rpmfiFDigestHex(fi, &hashAlgo);
}
}
rpmfiFree(fi);
- rpmDoDigest(hashAlgo, pPath.c_str(), 1, (unsigned char*) computedHash, NULL);
+ rpmDoDigest(hashAlgo, pPath, 1, (unsigned char*) computedHash, NULL);
if (headerHash != "" && headerHash == computedHash)
{
@@ -116,11 +116,11 @@ bool CheckHash(const std::string& pPackage, const std::string& pPath)
return ret;
}
-std::string GetDescription(const std::string& pPackage)
+std::string GetDescription(const char* pPackage)
{
std::string pDescription = "";
rpmts ts = rpmtsCreate();
- rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_NAME, pPackage.c_str(), 0);
+ rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_NAME, pPackage, 0);
Header header = rpmdbNextIterator(iter);
if (header != NULL)
{
@@ -137,11 +137,11 @@ std::string GetDescription(const std::string& pPackage)
return pDescription;
}
-std::string GetComponent(const std::string& pFileName)
+std::string GetComponent(const char* pFileName)
{
std::string ret = "";
rpmts ts = rpmtsCreate();
- rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_BASENAMES, pFileName.c_str(), 0);
+ rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_BASENAMES, pFileName, 0);
Header header = rpmdbNextIterator(iter);
if (header != NULL)
{
@@ -161,11 +161,11 @@ std::string GetComponent(const std::string& pFileName)
return ret;
}
-std::string GetPackage(const std::string& pFileName)
+std::string GetPackage(const char* pFileName)
{
std::string ret = "";
rpmts ts = rpmtsCreate();
- rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_BASENAMES, pFileName.c_str(), 0);
+ rpmdbMatchIterator iter = rpmtsInitIterator(ts, RPMTAG_BASENAMES, pFileName, 0);
Header header = rpmdbNextIterator(iter);
if (header != NULL)
{
diff --git a/src/Daemon/RPM.h b/src/Daemon/RPM.h
index 57f9a97b..67cd4a29 100644
--- a/src/Daemon/RPM.h
+++ b/src/Daemon/RPM.h
@@ -62,7 +62,7 @@ class CRPM
* A method, which checks if package's finger print is valid.
* @param pPackage A package name.
*/
- bool CheckFingerprint(const std::string& pPackage);
+ bool CheckFingerprint(const char* pPackage);
};
/**
@@ -70,13 +70,13 @@ class CRPM
* @param pPackage A package name. The package contains the application.
* @param pPath A path to the application.
*/
-bool CheckHash(const std::string& pPackage, const std::string& pPath);
+bool CheckHash(const char* pPackage, const char* pPath);
/**
* Gets a package description.
* @param pPackage A package name.
* @return A package description.
*/
-std::string GetDescription(const std::string& pPackage);
+std::string GetDescription(const char* pPackage);
/**
* Gets a package name. This package contains particular
* file. If the file doesn't belong to any package, empty string is
@@ -84,7 +84,7 @@ std::string GetDescription(const std::string& pPackage);
* @param pFileName A file name.
* @return A package name.
*/
-std::string GetPackage(const std::string& pFileName);
+std::string GetPackage(const char* pFileName);
/**
* Finds a main package for given file. This package contains particular
* file. If the file doesn't belong to any package, empty string is
@@ -92,6 +92,6 @@ std::string GetPackage(const std::string& pFileName);
* @param pFileName A file name.
* @return A package name.
*/
-std::string GetComponent(const std::string& pFileName);
+std::string GetComponent(const char* pFileName);
#endif