open-license-manager
2014-09-18 99d2c515c4a472cd8f8c42c7cc019eeffa4cb4da
src/library/os/linux/os-linux.cpp
@@ -1,4 +1,6 @@
#ifndef _GNU_SOURCE
#define _GNU_SOURCE     /* To get defns of NI_MAXSERV and NI_MAXHOST */
#endif
#include <arpa/inet.h>
#include <sys/socket.h>
#include <netdb.h>
@@ -21,7 +23,7 @@
#include <sys/ioctl.h>
#include <sys/stat.h>
#include "../os-cpp.h"
#include "../../base/public-key.h"
#include "public-key.h"
#include <openssl/evp.h>
#include <openssl/bio.h>
@@ -32,33 +34,12 @@
using namespace std;
string OsFunctions::getModuleName() {
   char path[2048] = { 0 };
   string strPath;
   string result;
   pid_t pid = getpid();
   const string pidstr = to_string(((long) pid));
   strPath = string("/proc/") + pidstr + "/exe";
   const char * proc_path = strPath.c_str();
   int ch = readlink(proc_path, path, 2048);
   if (ch != -1) {
      path[ch] = '\0';
      result = string(path);
   } else {
      throw runtime_error(
            string("Can't find: ") + strPath + " proc filesystem mounted?");
   }
   return result;
}
bool OsFunctions::verifySignature(const char* stringToVerify,
      const char* signatureB64) {
   EVP_MD_CTX *mdctx = NULL;
   char *pubKey = PUBLIC_KEY
   ;
   const char *pubKey = PUBLIC_KEY;
   BIO* bio = BIO_new_mem_buf((void*) (pubKey), strlen(pubKey));
   RSA *rsa = PEM_read_bio_RSAPublicKey(bio, NULL, NULL, NULL);