From ec3965cbc675c4546185caa847cb83191e1a3fcb Mon Sep 17 00:00:00 2001
From: Maximilien Siavelis <maximilien.siavelis@simulease.com>
Date: 周六, 06 1月 2018 19:54:45 +0800
Subject: [PATCH] refactor to fix MINGW consistency

---
 src/library/os/os-linux.c |   96 ++----------------------------------------------
 1 files changed, 4 insertions(+), 92 deletions(-)

diff --git a/src/library/os/linux/os-linux.c b/src/library/os/os-linux.c
similarity index 74%
rename from src/library/os/linux/os-linux.c
rename to src/library/os/os-linux.c
index 79ec0e5..717373a 100644
--- a/src/library/os/linux/os-linux.c
+++ b/src/library/os/os-linux.c
@@ -1,29 +1,15 @@
-#include <stdio.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-#include <valgrind/memcheck.h>
 #include <paths.h>
-
-#include <stdlib.h>
-#include <stddef.h>
-#include <string.h>
-#include <unistd.h>
-#include <sys/ioctl.h>
 #include <sys/stat.h>
-#include "../os.h"
-#include "public-key.h"
-#include "../../base/logger.h"
+#include "os.h"
+#include "../base/logger.h"
 
-#include <openssl/evp.h>
-#include <openssl/bio.h>
+//#include <openssl/evp.h>
+//#include <openssl/bio.h>
 #include <openssl/pem.h>
 #include <openssl/err.h>
 
 #include <mntent.h>
 #include <dirent.h>
-#include <stdio.h>
 
 #include <sys/utsname.h>
 #ifdef USE_DBUS
@@ -310,79 +296,5 @@
 	} else {
 		result = FUNC_RET_ERROR;
 	}
-	return result;
-}
-
-static void free_resources(EVP_PKEY* pkey, EVP_MD_CTX* mdctx) {
-	if (pkey) {
-		EVP_PKEY_free(pkey);
-	}
-	if (mdctx) {
-		EVP_MD_CTX_destroy(mdctx);
-	}
-}
-
-FUNCTION_RETURN verifySignature(const char* stringToVerify,
-		const char* signatureB64) {
-	EVP_MD_CTX *mdctx = NULL;
-	const char *pubKey = PUBLIC_KEY;
-	int func_ret = 0;
-
-	BIO* bio = BIO_new_mem_buf((void*) (pubKey), strlen(pubKey));
-	RSA *rsa = PEM_read_bio_RSAPublicKey(bio, NULL, NULL, NULL);
-	BIO_free(bio);
-	if (rsa == NULL) {
-		LOG_ERROR("Error reading public key");
-		return FUNC_RET_ERROR;
-	}
-	EVP_PKEY *pkey = EVP_PKEY_new();
-	EVP_PKEY_assign_RSA(pkey, rsa);
-
-	/*BIO* bo = BIO_new(BIO_s_mem());
-	 BIO_write(bo, pubKey, strlen(pubKey));
-	 RSA *key = 0;
-	 PEM_read_bio_RSAPublicKey(bo, &key, 0, 0);
-	 BIO_free(bo);*/
-
-//RSA* rsa = EVP_PKEY_get1_RSA( key );
-//RSA * pubKey = d2i_RSA_PUBKEY(NULL, <der encoded byte stream pointer>, <num bytes>);
-	unsigned char buffer[512];
-	BIO* b64 = BIO_new(BIO_f_base64());
-	BIO* encoded_signature = BIO_new_mem_buf((void *) signatureB64,
-			strlen(signatureB64));
-	BIO* biosig = BIO_push(b64, encoded_signature);
-	BIO_set_flags(biosig, BIO_FLAGS_BASE64_NO_NL); //Do not use newlines to flush buffer
-	unsigned int len = BIO_read(biosig, (void *) buffer, strlen(signatureB64));
-//Can test here if len == decodeLen - if not, then return an error
-	buffer[len] = 0;
-
-	BIO_free_all(biosig);
-
-	/* Create the Message Digest Context */
-	if (!(mdctx = EVP_MD_CTX_create())) {
-		free_resources(pkey, mdctx);
-		LOG_ERROR("Error creating context");
-		return FUNC_RET_ERROR;
-	}
-	if (1 != EVP_DigestVerifyInit(mdctx, NULL, EVP_sha256(), NULL, pkey)) {
-		LOG_ERROR("Error initializing digest");
-		free_resources(pkey, mdctx);
-		return FUNC_RET_ERROR;
-	}
-	int en = strlen(stringToVerify);
-	func_ret = EVP_DigestVerifyUpdate(mdctx, stringToVerify, en);
-	if (1 != func_ret) {
-		LOG_ERROR("Error verifying digest %d", func_ret);
-		free_resources(pkey, mdctx);
-		return FUNC_RET_ERROR;
-	}
-	FUNCTION_RETURN result;
-	func_ret = EVP_DigestVerifyFinal(mdctx, buffer, len);
-	if (1 != func_ret) {
-		LOG_ERROR("Error verifying digest %d", func_ret);
-	}
-	result = (1 == func_ret ? FUNC_RET_OK : FUNC_RET_ERROR);
-
-	free_resources(pkey, mdctx);
 	return result;
 }

--
Gitblit v1.9.1