mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-24 23:30:03 +02:00
added _SLS to MD5 functions, added a separate lib for the md5 C code
This commit is contained in:
parent
2ff50750f5
commit
7fd174c21e
@ -96,6 +96,20 @@ target_compile_options(slsProjectWarnings INTERFACE
|
|||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
#Settings for C code
|
||||||
|
add_library(slsProjectCSettings INTERFACE)
|
||||||
|
target_compile_features(slsProjectCSettings INTERFACE c_std_99)
|
||||||
|
target_compile_options(slsProjectCSettings INTERFACE
|
||||||
|
-Wall
|
||||||
|
-Wextra
|
||||||
|
-Wno-unused-parameter
|
||||||
|
-Wdouble-promotion
|
||||||
|
-Wformat=2
|
||||||
|
-Wredundant-decls
|
||||||
|
-Wdouble-promotion
|
||||||
|
-Werror=return-type
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
#Testing for minimum version for compilers
|
#Testing for minimum version for compilers
|
||||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||||
|
@ -1,17 +1,5 @@
|
|||||||
|
|
||||||
add_library(slsProjectCSettings INTERFACE)
|
|
||||||
target_compile_features(slsProjectCSettings INTERFACE c_std_99)
|
|
||||||
target_compile_options(slsProjectCSettings INTERFACE
|
|
||||||
-Wall
|
|
||||||
-Wextra
|
|
||||||
-Wno-unused-parameter #Needs to be slowly mitigated
|
|
||||||
-Wdouble-promotion
|
|
||||||
-Wformat=2
|
|
||||||
-Wredundant-decls
|
|
||||||
# -Wconversion
|
|
||||||
-Wdouble-promotion
|
|
||||||
-Werror=return-type
|
|
||||||
)
|
|
||||||
|
|
||||||
# Install fake the library
|
# Install fake the library
|
||||||
install(TARGETS slsProjectCSettings
|
install(TARGETS slsProjectCSettings
|
||||||
|
@ -184,13 +184,13 @@ int verifyChecksumFromBuffer(char *mess, char *clientChecksum, char *buffer,
|
|||||||
ssize_t bytes) {
|
ssize_t bytes) {
|
||||||
LOG(logINFO, ("\tVerifying Checksum...\n"));
|
LOG(logINFO, ("\tVerifying Checksum...\n"));
|
||||||
MD5_CTX c;
|
MD5_CTX c;
|
||||||
if (!MD5_Init(&c)) {
|
if (!MD5_Init_SLS(&c)) {
|
||||||
strcpy(mess, "Unable to calculate checksum (MD5_Init)\n");
|
strcpy(mess, "Unable to calculate checksum (MD5_Init_SLS)\n");
|
||||||
LOG(logERROR, (mess));
|
LOG(logERROR, (mess));
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
if (!MD5_Update(&c, buffer, bytes)) {
|
if (!MD5_Update_SLS(&c, buffer, bytes)) {
|
||||||
strcpy(mess, "Unable to calculate checksum (MD5_Update)\n");
|
strcpy(mess, "Unable to calculate checksum (MD5_Update_SLS)\n");
|
||||||
LOG(logERROR, (mess));
|
LOG(logERROR, (mess));
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
@ -209,9 +209,9 @@ int verifyChecksumFromFile(char *mess, char *clientChecksum, char *fname) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
MD5_CTX c;
|
MD5_CTX c;
|
||||||
if (!MD5_Init(&c)) {
|
if (!MD5_Init_SLS(&c)) {
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
strcpy(mess, "Unable to calculate checksum (MD5_Init)\n");
|
strcpy(mess, "Unable to calculate checksum (MD5_Init_SLS)\n");
|
||||||
LOG(logERROR, (mess));
|
LOG(logERROR, (mess));
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
@ -220,9 +220,9 @@ int verifyChecksumFromFile(char *mess, char *clientChecksum, char *fname) {
|
|||||||
ssize_t bytes = fread(buf, 1, readUnitSize, fp);
|
ssize_t bytes = fread(buf, 1, readUnitSize, fp);
|
||||||
ssize_t totalBytesRead = bytes;
|
ssize_t totalBytesRead = bytes;
|
||||||
while (bytes > 0) {
|
while (bytes > 0) {
|
||||||
if (!MD5_Update(&c, buf, bytes)) {
|
if (!MD5_Update_SLS(&c, buf, bytes)) {
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
strcpy(mess, "Unable to calculate checksum (MD5_Update)\n");
|
strcpy(mess, "Unable to calculate checksum (MD5_Update_SLS)\n");
|
||||||
LOG(logERROR, (mess));
|
LOG(logERROR, (mess));
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
@ -247,9 +247,9 @@ int verifyChecksumFromFlash(char *mess, char *clientChecksum, char *fname,
|
|||||||
}
|
}
|
||||||
|
|
||||||
MD5_CTX c;
|
MD5_CTX c;
|
||||||
if (!MD5_Init(&c)) {
|
if (!MD5_Init_SLS(&c)) {
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
strcpy(mess, "Unable to calculate checksum (MD5_Init)\n");
|
strcpy(mess, "Unable to calculate checksum (MD5_Init_SLS)\n");
|
||||||
LOG(logERROR, (mess));
|
LOG(logERROR, (mess));
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
@ -267,9 +267,9 @@ int verifyChecksumFromFlash(char *mess, char *clientChecksum, char *fname,
|
|||||||
oldProgress = progress;
|
oldProgress = progress;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!MD5_Update(&c, buf, bytes)) {
|
if (!MD5_Update_SLS(&c, buf, bytes)) {
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
strcpy(mess, "Unable to calculate checksum (MD5_Update)\n");
|
strcpy(mess, "Unable to calculate checksum (MD5_Update_SLS)\n");
|
||||||
LOG(logERROR, (mess));
|
LOG(logERROR, (mess));
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
@ -293,8 +293,8 @@ int verifyChecksumFromFlash(char *mess, char *clientChecksum, char *fname,
|
|||||||
|
|
||||||
int verifyChecksum(char *mess, char *clientChecksum, MD5_CTX *c, char *msg) {
|
int verifyChecksum(char *mess, char *clientChecksum, MD5_CTX *c, char *msg) {
|
||||||
unsigned char out[MD5_DIGEST_LENGTH];
|
unsigned char out[MD5_DIGEST_LENGTH];
|
||||||
if (!MD5_Final(out, c)) {
|
if (!MD5_Final_SLS(out, c)) {
|
||||||
strcpy(mess, "Unable to calculate checksum (MD5_Final)\n");
|
strcpy(mess, "Unable to calculate checksum (MD5_Final_SLS)\n");
|
||||||
LOG(logERROR, (mess));
|
LOG(logERROR, (mess));
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
|
@ -10,8 +10,6 @@ set(SOURCES
|
|||||||
src/ZmqSocket.cpp
|
src/ZmqSocket.cpp
|
||||||
src/UdpRxSocket.cpp
|
src/UdpRxSocket.cpp
|
||||||
src/sls_detector_exceptions.cpp
|
src/sls_detector_exceptions.cpp
|
||||||
# src/sls_detector_defs.cpp
|
|
||||||
src/md5.c
|
|
||||||
src/md5_helper.cpp
|
src/md5_helper.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -51,6 +49,20 @@ if(SLS_DEVEL_HEADERS)
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
# Library for md5 c code that we are using (and potentially other c code)
|
||||||
|
# Maybe this should be broken out into it's own folder etc.
|
||||||
|
add_library(md5sls STATIC
|
||||||
|
src/md5.c
|
||||||
|
)
|
||||||
|
|
||||||
|
target_include_directories(md5sls
|
||||||
|
PUBLIC
|
||||||
|
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
|
||||||
|
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
# Create an object library to avoid building the library twice
|
# Create an object library to avoid building the library twice
|
||||||
add_library(slsSupportObject OBJECT
|
add_library(slsSupportObject OBJECT
|
||||||
${SOURCES}
|
${SOURCES}
|
||||||
@ -69,7 +81,8 @@ target_link_libraries(slsSupportObject
|
|||||||
libzmq
|
libzmq
|
||||||
rapidjson
|
rapidjson
|
||||||
PRIVATE
|
PRIVATE
|
||||||
slsProjectWarnings
|
slsProjectWarnings
|
||||||
|
md5sls
|
||||||
)
|
)
|
||||||
|
|
||||||
if (SLS_USE_TESTS)
|
if (SLS_USE_TESTS)
|
||||||
@ -107,6 +120,9 @@ if((CMAKE_BUILD_TYPE STREQUAL "Release") AND SLS_LTO_AVAILABLE)
|
|||||||
set_property(TARGET ${SUPPORT_LIBRARY_TARGETS} PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
set_property(TARGET ${SUPPORT_LIBRARY_TARGETS} PROPERTY INTERPROCEDURAL_OPTIMIZATION True)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
list(APPEND SUPPORT_LIBRARY_TARGETS md5sls)
|
||||||
|
|
||||||
install(TARGETS ${SUPPORT_LIBRARY_TARGETS}
|
install(TARGETS ${SUPPORT_LIBRARY_TARGETS}
|
||||||
EXPORT "${TARGETS_EXPORT_NAME}"
|
EXPORT "${TARGETS_EXPORT_NAME}"
|
||||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
@ -296,9 +296,9 @@ extern "C" {
|
|||||||
* #define HASH_LONG MD5_LONG
|
* #define HASH_LONG MD5_LONG
|
||||||
* #define HASH_CTX MD5_CTX
|
* #define HASH_CTX MD5_CTX
|
||||||
* #define HASH_CBLOCK MD5_CBLOCK
|
* #define HASH_CBLOCK MD5_CBLOCK
|
||||||
* #define HASH_UPDATE MD5_Update
|
* #define HASH_UPDATE MD5_Update_SLS
|
||||||
* #define HASH_TRANSFORM MD5_Transform
|
* #define HASH_TRANSFORM MD5_Transform
|
||||||
* #define HASH_FINAL MD5_Final
|
* #define HASH_FINAL MD5_Final_SLS
|
||||||
* #define HASH_BLOCK_DATA_ORDER md5_block_data_order
|
* #define HASH_BLOCK_DATA_ORDER md5_block_data_order
|
||||||
*/
|
*/
|
||||||
# define MD32_REG_T int
|
# define MD32_REG_T int
|
||||||
@ -318,9 +318,9 @@ extern "C" {
|
|||||||
#define HASH_LONG MD5_LONG
|
#define HASH_LONG MD5_LONG
|
||||||
#define HASH_CTX MD5_CTX
|
#define HASH_CTX MD5_CTX
|
||||||
#define HASH_CBLOCK MD5_CBLOCK
|
#define HASH_CBLOCK MD5_CBLOCK
|
||||||
#define HASH_UPDATE MD5_Update
|
#define HASH_UPDATE MD5_Update_SLS
|
||||||
#define HASH_TRANSFORM MD5_Transform
|
#define HASH_TRANSFORM MD5_Transform
|
||||||
#define HASH_FINAL MD5_Final
|
#define HASH_FINAL MD5_Final_SLS
|
||||||
#define HASH_BLOCK_DATA_ORDER md5_block_data_order
|
#define HASH_BLOCK_DATA_ORDER md5_block_data_order
|
||||||
#define HASH_MAKE_STRING(c,s) do { \
|
#define HASH_MAKE_STRING(c,s) do { \
|
||||||
unsigned long ll; \
|
unsigned long ll; \
|
||||||
@ -367,9 +367,9 @@ typedef struct MD5state_st {
|
|||||||
unsigned int num;
|
unsigned int num;
|
||||||
} MD5_CTX;
|
} MD5_CTX;
|
||||||
|
|
||||||
int MD5_Init(MD5_CTX *c);
|
int MD5_Init_SLS(MD5_CTX *c);
|
||||||
int MD5_Update(MD5_CTX *c, const void *data, size_t len);
|
int MD5_Update_SLS(MD5_CTX *c, const void *data, size_t len);
|
||||||
int MD5_Final(unsigned char *md, MD5_CTX *c);
|
int MD5_Final_SLS(unsigned char *md, MD5_CTX *c);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Modification 2021 Paul Scherrer Institut
|
* Modification 2021 Paul Scherrer Institut
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "sls/md5.h"
|
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace sls {
|
namespace sls {
|
||||||
|
@ -276,7 +276,7 @@ namespace sls {
|
|||||||
#define INIT_DATA_C (unsigned long)0x98badcfeL
|
#define INIT_DATA_C (unsigned long)0x98badcfeL
|
||||||
#define INIT_DATA_D (unsigned long)0x10325476L
|
#define INIT_DATA_D (unsigned long)0x10325476L
|
||||||
|
|
||||||
int MD5_Init(MD5_CTX *c)
|
int MD5_Init_SLS(MD5_CTX *c)
|
||||||
{
|
{
|
||||||
memset(c, 0, sizeof(*c));
|
memset(c, 0, sizeof(*c));
|
||||||
c->A = INIT_DATA_A;
|
c->A = INIT_DATA_A;
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
#include "sls/md5_helper.h"
|
#include "sls/md5_helper.h"
|
||||||
|
|
||||||
|
#include "sls/md5.h"
|
||||||
|
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
@ -8,15 +10,15 @@ namespace sls {
|
|||||||
|
|
||||||
std::string md5_calculate_checksum(char *buffer, ssize_t bytes) {
|
std::string md5_calculate_checksum(char *buffer, ssize_t bytes) {
|
||||||
MD5_CTX c;
|
MD5_CTX c;
|
||||||
if (!MD5_Init(&c)) {
|
if (!MD5_Init_SLS(&c)) {
|
||||||
throw std::runtime_error(
|
throw std::runtime_error(
|
||||||
"Could not calculate md5 checksum.[initializing]");
|
"Could not calculate md5 checksum.[initializing]");
|
||||||
}
|
}
|
||||||
if (!MD5_Update(&c, buffer, bytes)) {
|
if (!MD5_Update_SLS(&c, buffer, bytes)) {
|
||||||
throw std::runtime_error("Could not calculate md5 checksum.[Updating]");
|
throw std::runtime_error("Could not calculate md5 checksum.[Updating]");
|
||||||
}
|
}
|
||||||
unsigned char out[MD5_DIGEST_LENGTH];
|
unsigned char out[MD5_DIGEST_LENGTH];
|
||||||
if (!MD5_Final(out, &c)) {
|
if (!MD5_Final_SLS(out, &c)) {
|
||||||
throw std::runtime_error("Could not calculate md5 checksum.[Final]");
|
throw std::runtime_error("Could not calculate md5 checksum.[Final]");
|
||||||
}
|
}
|
||||||
std::ostringstream oss;
|
std::ostringstream oss;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user