formatting
Build on RHEL9 docker image / build (push) Successful in 3m35s
Build on RHEL8 docker image / build (push) Successful in 4m50s
Run Simulator Tests on local RHEL9 / build (push) Failing after 6m13s
Run Simulator Tests on local RHEL8 / build (push) Failing after 8m4s

This commit is contained in:
2026-05-08 09:58:00 +02:00
parent 7d959cd1a7
commit e081502abc
23 changed files with 302 additions and 288 deletions
+1 -1
View File
@@ -39,7 +39,7 @@ class qDefs : public QWidget {
/**
* Empty Constructor
*/
qDefs() {};
qDefs(){};
static QFont GetDefaultFont() {
return QFont("Cantarell", 10, QFont::Normal);
@@ -7,9 +7,11 @@
#define MIN_REQRD_VRSN_T_RD_API 0x181130
#define REQRD_FRMWR_VRSN 0x260504
#define NUM_HARDWARE_VERSIONS (1)
#define HARDWARE_VERSION_NUMBERS {0x3f}
#define HARDWARE_VERSION_NAMES {"5.1"}
#define NUM_HARDWARE_VERSIONS (1)
#define HARDWARE_VERSION_NUMBERS \
{ 0x3f }
#define HARDWARE_VERSION_NAMES \
{ "5.1" }
#define LINKED_SERVER_NAME "ctbDetectorServer"
@@ -636,8 +636,8 @@ int Feb_Control_SetTrimbits(unsigned int *trimbits, int top) {
<< ((7 - i) * 4); // upper
}
} // end column loop i
} // end supercolumn loop sc
} // end row loop
} // end supercolumn loop sc
} // end row loop
if (Feb_Control_activated) {
if (!Feb_Interface_WriteMemoryInLoops(Feb_Control_leftAddress,
@@ -654,7 +654,7 @@ int Feb_Control_SetTrimbits(unsigned int *trimbits, int top) {
}
} // end row_set loop (groups of 16 rows)
} // end l_r loop
} // end l_r loop
memcpy(Feb_Control_last_downloaded_trimbits, trimbits,
Feb_Control_trimbit_size * sizeof(unsigned int));
@@ -7,7 +7,8 @@
#define NUM_HARDWARE_VERSIONS (2)
#define HARDWARE_VERSION_NUMBERS {0x0, 0x1};
#define HARDWARE_VERSION_NAMES {"FX70T", "FX30T"}
#define HARDWARE_VERSION_NAMES \
{ "FX70T", "FX30T" }
#define REQUIRED_FIRMWARE_VERSION (32)
// virtual ones renamed for consistency
@@ -9,7 +9,8 @@
#define NUM_HARDWARE_VERSIONS (2)
#define HARDWARE_VERSION_NUMBERS {0x0, 0x2};
#define HARDWARE_VERSION_NAMES {"1.0", "1.2"}
#define HARDWARE_VERSION_NAMES \
{ "1.0", "1.2" }
#define LINKED_SERVER_NAME "gotthard2DetectorServer"
@@ -8,9 +8,11 @@
#define REQRD_FRMWRE_VRSN_BOARD2 0x250209 // 1.0 pcb (version = 010)
#define REQRD_FRMWRE_VRSN 0x250208 // 2.0 pcb (version = 011)
#define NUM_HARDWARE_VERSIONS (2)
#define HARDWARE_VERSION_NUMBERS {0x2, 0x3}
#define HARDWARE_VERSION_NAMES {"1.0", "2.0"}
#define NUM_HARDWARE_VERSIONS (2)
#define HARDWARE_VERSION_NUMBERS \
{ 0x2, 0x3 }
#define HARDWARE_VERSION_NAMES \
{ "1.0", "2.0" }
#define ID_FILE "detid_jungfrau.txt"
#define LINKED_SERVER_NAME "jungfrauDetectorServer"
@@ -212,11 +214,13 @@ enum DACINDEX {
enum MASTERINDEX { MASTER_HARDWARE, OW_MASTER, OW_SLAVE };
#define MASTER_NAMES "hardware", "master", "slave"
#define NUMSETTINGS (2)
#define NSPECIALDACS (3)
#define SPECIALDACINDEX {J_VREF_PRECH, J_VREF_DS, J_VREF_COMP};
#define SPECIAL_DEFAULT_DYNAMIC_GAIN_VALS {1450, 480, 420}
#define SPECIAL_DEFAULT_DYNAMICHG0_GAIN_VALS {1550, 450, 620}
#define NUMSETTINGS (2)
#define NSPECIALDACS (3)
#define SPECIALDACINDEX {J_VREF_PRECH, J_VREF_DS, J_VREF_COMP};
#define SPECIAL_DEFAULT_DYNAMIC_GAIN_VALS \
{ 1450, 480, 420 }
#define SPECIAL_DEFAULT_DYNAMICHG0_GAIN_VALS \
{ 1550, 450, 620 }
enum NETWORKINDEX { TXN_FRAME, FLOWCTRL_10G };
enum CLKINDEX { RUN_CLK, ADC_CLK, DBIT_CLK, NUM_CLOCKS };
@@ -7,9 +7,11 @@
#define REQRD_FRMWRE_VRSN_BOARD2 0x444445 // 1.0 pcb (version = 010)
#define REQRD_FRMWRE_VRSN 0x231026 // 2.0 pcb (version = 011)
#define NUM_HARDWARE_VERSIONS (2)
#define HARDWARE_VERSION_NUMBERS {0x2, 0x3}
#define HARDWARE_VERSION_NAMES {"1.0", "2.0"}
#define NUM_HARDWARE_VERSIONS (2)
#define HARDWARE_VERSION_NUMBERS \
{ 0x2, 0x3 }
#define HARDWARE_VERSION_NAMES \
{ "1.0", "2.0" }
#define ID_FILE ("detid_moench.txt")
#define LINKED_SERVER_NAME "moenchDetectorServer"
@@ -9,7 +9,8 @@
#define NUM_HARDWARE_VERSIONS (2)
#define HARDWARE_VERSION_NUMBERS {0x0, 0x2};
#define HARDWARE_VERSION_NAMES {"1.0", "1.2"}
#define HARDWARE_VERSION_NAMES \
{ "1.0", "1.2" }
#define LINKED_SERVER_NAME "mythen3DetectorServer"
@@ -130,12 +131,15 @@ enum DACINDEX {
enum ADCINDEX { TEMP_FPGA };
#define NUMSETTINGS (3)
#define NSPECIALDACS (2)
#define SPECIALDACINDEX {M_VRPREAMP, M_VRSHAPER};
#define SPECIAL_DEFAULT_STANDARD_DAC_VALS {1100, 1280}
#define SPECIAL_DEFAULT_FAST_DAC_VALS {300, 1500}
#define SPECIAL_DEFAULT_HIGHGAIN_DAC_VALS {1300, 1100}
#define NUMSETTINGS (3)
#define NSPECIALDACS (2)
#define SPECIALDACINDEX {M_VRPREAMP, M_VRSHAPER};
#define SPECIAL_DEFAULT_STANDARD_DAC_VALS \
{ 1100, 1280 }
#define SPECIAL_DEFAULT_FAST_DAC_VALS \
{ 300, 1500 }
#define SPECIAL_DEFAULT_HIGHGAIN_DAC_VALS \
{ 1300, 1100 }
enum CLKINDEX { SYSTEM_C0, SYSTEM_C1, SYSTEM_C2, NUM_CLOCKS };
#define NUM_CLOCKS_TO_SET (1)
@@ -2382,7 +2382,7 @@ int get_exptime(int file_des) {
if (receiveData(file_des, &gateIndex, sizeof(gateIndex), INT32) < 0)
return printSocketReadError();
// get only
// get only
#ifdef MYTHEN3D
if (gateIndex < 0 || gateIndex > 2) {
ret = FAIL;
@@ -7018,7 +7018,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// bursts
// bursts
#ifdef GOTTHARD2D
i64 = getNumBursts();
#else
@@ -7028,7 +7028,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// additional storage cells
// additional storage cells
#if defined(JUNGFRAUD)
i32 = getNumAdditionalStorageCells();
#else
@@ -7038,7 +7038,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// analog samples
// analog samples
#if defined(CHIPTESTBOARDD) || defined(XILINX_CHIPTESTBOARDD)
i32 = getNumAnalogSamples();
#else
@@ -7048,7 +7048,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// digital samples
// digital samples
#if defined(CHIPTESTBOARDD) || defined(XILINX_CHIPTESTBOARDD)
i32 = getNumDigitalSamples();
#else
@@ -7058,7 +7058,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// exptime
// exptime
#ifdef MYTHEN3D
i64 = 0;
#elif defined(CHIPTESTBOARDD) || defined(XILINX_CHIPTESTBOARDD)
@@ -7087,7 +7087,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// sub exptime
// sub exptime
#ifdef EIGERD
i64 = getSubExpTime();
#else
@@ -7097,7 +7097,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// sub deadtime
// sub deadtime
#ifdef EIGERD
i64 = getSubDeadTime();
#else
@@ -7107,7 +7107,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// activate
// activate
#ifdef EIGERD
i32 = 0;
getActivate(&i32);
@@ -7118,7 +7118,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// data stream left
// data stream left
#ifdef EIGERD
i32 = 0;
getDataStream(LEFT, &i32);
@@ -7129,7 +7129,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// data stream right
// data stream right
#ifdef EIGERD
i32 = 0;
getDataStream(RIGHT, &i32);
@@ -7140,7 +7140,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// quad
// quad
#ifdef EIGERD
i32 = getQuad();
#else
@@ -7150,7 +7150,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// ReadNRows
// ReadNRows
#if defined(EIGERD) || defined(JUNGFRAUD) || defined(MOENCHD)
i32 = getReadNRows();
#else
@@ -7191,7 +7191,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// 10 gbe
// 10 gbe
#if defined(EIGERD) || defined(CHIPTESTBOARDD) || defined(MYTHEN3D)
i32 = enableTenGigabitEthernet(GET_FLAG);
#else
@@ -7201,7 +7201,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// readout mode
// readout mode
#if defined(CHIPTESTBOARDD) || defined(XILINX_CHIPTESTBOARDD)
i32 = getReadoutMode();
#else
@@ -7211,7 +7211,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// adc mask
// adc mask
#if defined(CHIPTESTBOARDD)
u32 = getADCEnableMask();
#else
@@ -7221,7 +7221,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// 10g adc mask
// 10g adc mask
#if defined(CHIPTESTBOARDD) || defined(XILINX_CHIPTESTBOARDD)
u32 = getADCEnableMask_10G();
#else
@@ -7231,7 +7231,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// counter mask
// counter mask
#ifdef MYTHEN3D
u32 = getCounterMask();
#else
@@ -7241,7 +7241,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// burst mode
// burst mode
#ifdef GOTTHARD2D
i32 = (int)getBurstMode();
#else
@@ -7251,7 +7251,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// exptime1
// exptime1
#ifdef MYTHEN3D
i64 = getExpTime(0);
#else
@@ -7261,7 +7261,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// exptime2
// exptime2
#ifdef MYTHEN3D
i64 = getExpTime(1);
#else
@@ -7271,7 +7271,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// exptime3
// exptime3
#ifdef MYTHEN3D
i64 = getExpTime(2);
#else
@@ -7281,7 +7281,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// gatedelay1
// gatedelay1
#ifdef MYTHEN3D
i64 = getGateDelay(0);
#else
@@ -7291,7 +7291,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// gatedelay2
// gatedelay2
#ifdef MYTHEN3D
i64 = getGateDelay(1);
#else
@@ -7301,7 +7301,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// gatedelay3
// gatedelay3
#ifdef MYTHEN3D
i64 = getGateDelay(2);
#else
@@ -7311,7 +7311,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// gates
// gates
#ifdef MYTHEN3D
i32 = getNumGates();
#else
@@ -7341,7 +7341,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// transceiver samples
// transceiver samples
#if defined(CHIPTESTBOARDD) || defined(XILINX_CHIPTESTBOARDD)
i32 = getNumTransceiverSamples();
#else
@@ -7351,7 +7351,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// transceiver mask
// transceiver mask
#if defined(CHIPTESTBOARDD) || defined(XILINX_CHIPTESTBOARDD)
u32 = getTransceiverEnableMask();
#else
@@ -7361,7 +7361,7 @@ int get_receiver_parameters(int file_des) {
if (n < 0)
return printSocketReadError();
// readout speed
// readout speed
#if !defined(CHIPTESTBOARDD) && !defined(XILINX_CHIPTESTBOARDD)
ret = getReadoutSpeed(&i32);
if (ret == FAIL) {
+1 -1
View File
@@ -32,7 +32,7 @@ template <class T, class Allocator = std::allocator<T>> class Result {
public:
Result() = default;
Result(std::initializer_list<T> list) : vec(list) {};
Result(std::initializer_list<T> list) : vec(list){};
/** Custom constructor from integer type to Result<ns> or Result<bool> */
template <typename V, typename = typename std::enable_if<
@@ -17,12 +17,12 @@ class detectorData {
: progressIndex(progressIndex), fileName(fileName),
fileIndex(fileIndex), nx(nx), ny(ny), data(data),
databytes(databytes), dynamicRange(dynamicRange),
completeImage(completeImage) {};
completeImage(completeImage){};
/**
* data has to be deleted by caller
*/
~detectorData() {};
~detectorData(){};
int64_t getChannel(int i) {
int off = dynamicRange / 8;
+1 -1
View File
@@ -173,7 +173,7 @@ class DataProcessor : private virtual slsDetectorDefs, public ThreadObject {
uint32_t streamingTimerInMs;
uint32_t streamingStartFnum;
uint32_t currentFreqCount{0};
struct timespec timerbegin{};
struct timespec timerbegin {};
bool framePadding;
std::atomic<bool> startedFlag{false};
std::atomic<uint64_t> firstIndex{0};
+2 -2
View File
@@ -17,8 +17,8 @@ namespace sls {
class File : private virtual slsDetectorDefs {
public:
File() {};
virtual ~File() {};
File(){};
virtual ~File(){};
virtual fileFormat GetFileFormat() const = 0;
virtual void CloseFile() = 0;
+2 -2
View File
@@ -193,8 +193,8 @@ class GeneralData {
slsDetectorDefs::NO_DISCARD};
/* actual image size after ctboffset and ctbreorder */
uint32_t actualImageSize{0};
GeneralData() {};
virtual ~GeneralData() {};
GeneralData(){};
virtual ~GeneralData(){};
// Returns the pixel depth in byte, 4 bits being 0.5 byte
float GetPixelDepth() { return float(dynamicRange) / 8; }
@@ -47,8 +47,8 @@ class GeneralDataTest : public GeneralData {
// dummy DataProcessor class for testing
class DataProcessorTest : public DataProcessor {
public:
DataProcessorTest() : DataProcessor(0) {};
~DataProcessorTest() {};
DataProcessorTest() : DataProcessor(0){};
~DataProcessorTest(){};
void ArrangeDbitData(size_t &size, char *data) {
DataProcessor::ArrangeDbitData(size, data);
}
+7 -7
View File
@@ -21,29 +21,29 @@ class ClientSocket : public DataSocket {
private:
void readReply(int &ret, void *retval, size_t retval_size);
struct sockaddr_in serverAddr{};
struct sockaddr_in serverAddr {};
std::string socketType;
};
class ReceiverSocket : public ClientSocket {
public:
ReceiverSocket(const std::string &hostname, uint16_t port_number)
: ClientSocket("Receiver", hostname, port_number) {};
ReceiverSocket(struct sockaddr_in addr) : ClientSocket("Receiver", addr) {};
: ClientSocket("Receiver", hostname, port_number){};
ReceiverSocket(struct sockaddr_in addr) : ClientSocket("Receiver", addr){};
};
class DetectorSocket : public ClientSocket {
public:
DetectorSocket(const std::string &hostname, uint16_t port_number)
: ClientSocket("Detector", hostname, port_number) {};
DetectorSocket(struct sockaddr_in addr) : ClientSocket("Detector", addr) {};
: ClientSocket("Detector", hostname, port_number){};
DetectorSocket(struct sockaddr_in addr) : ClientSocket("Detector", addr){};
};
class GuiSocket : public ClientSocket {
public:
GuiSocket(const std::string &hostname, uint16_t port_number)
: ClientSocket("Gui", hostname, port_number) {};
GuiSocket(struct sockaddr_in addr) : ClientSocket("Gui", addr) {};
: ClientSocket("Gui", hostname, port_number){};
GuiSocket(struct sockaddr_in addr) : ClientSocket("Gui", addr){};
};
}; // namespace sls
+1 -1
View File
@@ -33,5 +33,5 @@ class Timer {
std::string name_;
};
}; // namespace sls
}; // namespace sls
#endif // TIMER_H
+1 -1
View File
@@ -42,7 +42,7 @@ class Logger {
public:
Logger() = default;
explicit Logger(TLogLevel level) : level(level) {};
explicit Logger(TLogLevel level) : level(level){};
~Logger() {
// output in the destructor to allow for << syntax
os << RESET << '\n';
@@ -137,7 +137,7 @@ class slsDetectorDefs {
int x{0};
int y{0};
xy() = default;
xy(int x, int y) : x(x), y(y) {};
xy(int x, int y) : x(x), y(y){};
constexpr bool operator==(const xy &other) const {
return ((x == other.x) && (y == other.y));
}
@@ -223,7 +223,7 @@ class slsDetectorDefs {
struct Hz {
int value{0};
explicit Hz(int v) : value(v) {};
explicit Hz(int v) : value(v){};
constexpr bool operator==(const Hz &other) const {
return (value == other.value);
}
@@ -252,9 +252,9 @@ class slsDetectorDefs {
int ymin{-1};
int ymax{-1};
ROI() = default;
ROI(int xmin, int xmax) : xmin(xmin), xmax(xmax) {};
ROI(int xmin, int xmax) : xmin(xmin), xmax(xmax){};
ROI(int xmin, int xmax, int ymin, int ymax)
: xmin(xmin), xmax(xmax), ymin(ymin), ymax(ymax) {};
: xmin(xmin), xmax(xmax), ymin(ymin), ymax(ymax){};
constexpr int width() const { return (xmax - xmin + 1); }
constexpr int height() const { return (ymax - ymin + 1); }
constexpr std::array<int, 4> getIntArray() const {
+1 -1
View File
@@ -18,7 +18,7 @@ namespace sls {
UdpRxSocket::UdpRxSocket(uint16_t port, ssize_t packet_size,
const char *hostname, int kernel_buffer_size)
: packet_size_(packet_size) {
struct addrinfo hints{};
struct addrinfo hints {};
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_DGRAM;
hints.ai_flags = AI_PASSIVE | AI_ADDRCONFIG;
+1 -1
View File
@@ -531,7 +531,7 @@ void ZmqSocket::PrintError() {
// Nested class to do RAII handling of socket descriptors
ZmqSocket::mySocketDescriptors::mySocketDescriptors(bool server)
: server(server), contextDescriptor(nullptr), socketDescriptor(nullptr) {};
: server(server), contextDescriptor(nullptr), socketDescriptor(nullptr){};
ZmqSocket::mySocketDescriptors::~mySocketDescriptors() {
Disconnect();
Close();
+206 -206
View File
@@ -71,244 +71,244 @@ namespace sls {
a += b; \
};
/*
* Implemented from RFC1321 The MD5 Message-Digest Algorithm
*/
/*
* Implemented from RFC1321 The MD5 Message-Digest Algorithm
*/
#define INIT_DATA_A (unsigned long)0x67452301L
#define INIT_DATA_B (unsigned long)0xefcdab89L
#define INIT_DATA_C (unsigned long)0x98badcfeL
#define INIT_DATA_D (unsigned long)0x10325476L
int MD5_Init_SLS(MD5_CTX * c) {
memset(c, 0, sizeof(*c));
c->A = INIT_DATA_A;
c->B = INIT_DATA_B;
c->C = INIT_DATA_C;
c->D = INIT_DATA_D;
return 1;
}
int MD5_Init_SLS(MD5_CTX *c) {
memset(c, 0, sizeof(*c));
c->A = INIT_DATA_A;
c->B = INIT_DATA_B;
c->C = INIT_DATA_C;
c->D = INIT_DATA_D;
return 1;
}
void md5_block_data_order(MD5_CTX * c, const void *data_, size_t num) {
const unsigned char *data = data_;
register unsigned MD32_REG_T A, B, C, D, l;
/* See comment in crypto/sha/sha_local.h for details. */
unsigned MD32_REG_T XX0, XX1, XX2, XX3, XX4, XX5, XX6, XX7, XX8, XX9,
XX10, XX11, XX12, XX13, XX14, XX15;
void md5_block_data_order(MD5_CTX *c, const void *data_, size_t num) {
const unsigned char *data = data_;
register unsigned MD32_REG_T A, B, C, D, l;
/* See comment in crypto/sha/sha_local.h for details. */
unsigned MD32_REG_T XX0, XX1, XX2, XX3, XX4, XX5, XX6, XX7, XX8, XX9, XX10,
XX11, XX12, XX13, XX14, XX15;
#define X(i) XX##i
A = c->A;
B = c->B;
C = c->C;
D = c->D;
A = c->A;
B = c->B;
C = c->C;
D = c->D;
for (; num--;) {
(void)HOST_c2l(data, l);
X(0) = l;
(void)HOST_c2l(data, l);
X(1) = l;
/* Round 0 */
R0(A, B, C, D, X(0), 7, 0xd76aa478L);
(void)HOST_c2l(data, l);
X(2) = l;
R0(D, A, B, C, X(1), 12, 0xe8c7b756L);
(void)HOST_c2l(data, l);
X(3) = l;
R0(C, D, A, B, X(2), 17, 0x242070dbL);
(void)HOST_c2l(data, l);
X(4) = l;
R0(B, C, D, A, X(3), 22, 0xc1bdceeeL);
(void)HOST_c2l(data, l);
X(5) = l;
R0(A, B, C, D, X(4), 7, 0xf57c0fafL);
(void)HOST_c2l(data, l);
X(6) = l;
R0(D, A, B, C, X(5), 12, 0x4787c62aL);
(void)HOST_c2l(data, l);
X(7) = l;
R0(C, D, A, B, X(6), 17, 0xa8304613L);
(void)HOST_c2l(data, l);
X(8) = l;
R0(B, C, D, A, X(7), 22, 0xfd469501L);
(void)HOST_c2l(data, l);
X(9) = l;
R0(A, B, C, D, X(8), 7, 0x698098d8L);
(void)HOST_c2l(data, l);
X(10) = l;
R0(D, A, B, C, X(9), 12, 0x8b44f7afL);
(void)HOST_c2l(data, l);
X(11) = l;
R0(C, D, A, B, X(10), 17, 0xffff5bb1L);
(void)HOST_c2l(data, l);
X(12) = l;
R0(B, C, D, A, X(11), 22, 0x895cd7beL);
(void)HOST_c2l(data, l);
X(13) = l;
R0(A, B, C, D, X(12), 7, 0x6b901122L);
(void)HOST_c2l(data, l);
X(14) = l;
R0(D, A, B, C, X(13), 12, 0xfd987193L);
(void)HOST_c2l(data, l);
X(15) = l;
R0(C, D, A, B, X(14), 17, 0xa679438eL);
R0(B, C, D, A, X(15), 22, 0x49b40821L);
/* Round 1 */
R1(A, B, C, D, X(1), 5, 0xf61e2562L);
R1(D, A, B, C, X(6), 9, 0xc040b340L);
R1(C, D, A, B, X(11), 14, 0x265e5a51L);
R1(B, C, D, A, X(0), 20, 0xe9b6c7aaL);
R1(A, B, C, D, X(5), 5, 0xd62f105dL);
R1(D, A, B, C, X(10), 9, 0x02441453L);
R1(C, D, A, B, X(15), 14, 0xd8a1e681L);
R1(B, C, D, A, X(4), 20, 0xe7d3fbc8L);
R1(A, B, C, D, X(9), 5, 0x21e1cde6L);
R1(D, A, B, C, X(14), 9, 0xc33707d6L);
R1(C, D, A, B, X(3), 14, 0xf4d50d87L);
R1(B, C, D, A, X(8), 20, 0x455a14edL);
R1(A, B, C, D, X(13), 5, 0xa9e3e905L);
R1(D, A, B, C, X(2), 9, 0xfcefa3f8L);
R1(C, D, A, B, X(7), 14, 0x676f02d9L);
R1(B, C, D, A, X(12), 20, 0x8d2a4c8aL);
/* Round 2 */
R2(A, B, C, D, X(5), 4, 0xfffa3942L);
R2(D, A, B, C, X(8), 11, 0x8771f681L);
R2(C, D, A, B, X(11), 16, 0x6d9d6122L);
R2(B, C, D, A, X(14), 23, 0xfde5380cL);
R2(A, B, C, D, X(1), 4, 0xa4beea44L);
R2(D, A, B, C, X(4), 11, 0x4bdecfa9L);
R2(C, D, A, B, X(7), 16, 0xf6bb4b60L);
R2(B, C, D, A, X(10), 23, 0xbebfbc70L);
R2(A, B, C, D, X(13), 4, 0x289b7ec6L);
R2(D, A, B, C, X(0), 11, 0xeaa127faL);
R2(C, D, A, B, X(3), 16, 0xd4ef3085L);
R2(B, C, D, A, X(6), 23, 0x04881d05L);
R2(A, B, C, D, X(9), 4, 0xd9d4d039L);
R2(D, A, B, C, X(12), 11, 0xe6db99e5L);
R2(C, D, A, B, X(15), 16, 0x1fa27cf8L);
R2(B, C, D, A, X(2), 23, 0xc4ac5665L);
/* Round 3 */
R3(A, B, C, D, X(0), 6, 0xf4292244L);
R3(D, A, B, C, X(7), 10, 0x432aff97L);
R3(C, D, A, B, X(14), 15, 0xab9423a7L);
R3(B, C, D, A, X(5), 21, 0xfc93a039L);
R3(A, B, C, D, X(12), 6, 0x655b59c3L);
R3(D, A, B, C, X(3), 10, 0x8f0ccc92L);
R3(C, D, A, B, X(10), 15, 0xffeff47dL);
R3(B, C, D, A, X(1), 21, 0x85845dd1L);
R3(A, B, C, D, X(8), 6, 0x6fa87e4fL);
R3(D, A, B, C, X(15), 10, 0xfe2ce6e0L);
R3(C, D, A, B, X(6), 15, 0xa3014314L);
R3(B, C, D, A, X(13), 21, 0x4e0811a1L);
R3(A, B, C, D, X(4), 6, 0xf7537e82L);
R3(D, A, B, C, X(11), 10, 0xbd3af235L);
R3(C, D, A, B, X(2), 15, 0x2ad7d2bbL);
R3(B, C, D, A, X(9), 21, 0xeb86d391L);
for (; num--;) {
(void)HOST_c2l(data, l);
X(0) = l;
(void)HOST_c2l(data, l);
X(1) = l;
/* Round 0 */
R0(A, B, C, D, X(0), 7, 0xd76aa478L);
(void)HOST_c2l(data, l);
X(2) = l;
R0(D, A, B, C, X(1), 12, 0xe8c7b756L);
(void)HOST_c2l(data, l);
X(3) = l;
R0(C, D, A, B, X(2), 17, 0x242070dbL);
(void)HOST_c2l(data, l);
X(4) = l;
R0(B, C, D, A, X(3), 22, 0xc1bdceeeL);
(void)HOST_c2l(data, l);
X(5) = l;
R0(A, B, C, D, X(4), 7, 0xf57c0fafL);
(void)HOST_c2l(data, l);
X(6) = l;
R0(D, A, B, C, X(5), 12, 0x4787c62aL);
(void)HOST_c2l(data, l);
X(7) = l;
R0(C, D, A, B, X(6), 17, 0xa8304613L);
(void)HOST_c2l(data, l);
X(8) = l;
R0(B, C, D, A, X(7), 22, 0xfd469501L);
(void)HOST_c2l(data, l);
X(9) = l;
R0(A, B, C, D, X(8), 7, 0x698098d8L);
(void)HOST_c2l(data, l);
X(10) = l;
R0(D, A, B, C, X(9), 12, 0x8b44f7afL);
(void)HOST_c2l(data, l);
X(11) = l;
R0(C, D, A, B, X(10), 17, 0xffff5bb1L);
(void)HOST_c2l(data, l);
X(12) = l;
R0(B, C, D, A, X(11), 22, 0x895cd7beL);
(void)HOST_c2l(data, l);
X(13) = l;
R0(A, B, C, D, X(12), 7, 0x6b901122L);
(void)HOST_c2l(data, l);
X(14) = l;
R0(D, A, B, C, X(13), 12, 0xfd987193L);
(void)HOST_c2l(data, l);
X(15) = l;
R0(C, D, A, B, X(14), 17, 0xa679438eL);
R0(B, C, D, A, X(15), 22, 0x49b40821L);
/* Round 1 */
R1(A, B, C, D, X(1), 5, 0xf61e2562L);
R1(D, A, B, C, X(6), 9, 0xc040b340L);
R1(C, D, A, B, X(11), 14, 0x265e5a51L);
R1(B, C, D, A, X(0), 20, 0xe9b6c7aaL);
R1(A, B, C, D, X(5), 5, 0xd62f105dL);
R1(D, A, B, C, X(10), 9, 0x02441453L);
R1(C, D, A, B, X(15), 14, 0xd8a1e681L);
R1(B, C, D, A, X(4), 20, 0xe7d3fbc8L);
R1(A, B, C, D, X(9), 5, 0x21e1cde6L);
R1(D, A, B, C, X(14), 9, 0xc33707d6L);
R1(C, D, A, B, X(3), 14, 0xf4d50d87L);
R1(B, C, D, A, X(8), 20, 0x455a14edL);
R1(A, B, C, D, X(13), 5, 0xa9e3e905L);
R1(D, A, B, C, X(2), 9, 0xfcefa3f8L);
R1(C, D, A, B, X(7), 14, 0x676f02d9L);
R1(B, C, D, A, X(12), 20, 0x8d2a4c8aL);
/* Round 2 */
R2(A, B, C, D, X(5), 4, 0xfffa3942L);
R2(D, A, B, C, X(8), 11, 0x8771f681L);
R2(C, D, A, B, X(11), 16, 0x6d9d6122L);
R2(B, C, D, A, X(14), 23, 0xfde5380cL);
R2(A, B, C, D, X(1), 4, 0xa4beea44L);
R2(D, A, B, C, X(4), 11, 0x4bdecfa9L);
R2(C, D, A, B, X(7), 16, 0xf6bb4b60L);
R2(B, C, D, A, X(10), 23, 0xbebfbc70L);
R2(A, B, C, D, X(13), 4, 0x289b7ec6L);
R2(D, A, B, C, X(0), 11, 0xeaa127faL);
R2(C, D, A, B, X(3), 16, 0xd4ef3085L);
R2(B, C, D, A, X(6), 23, 0x04881d05L);
R2(A, B, C, D, X(9), 4, 0xd9d4d039L);
R2(D, A, B, C, X(12), 11, 0xe6db99e5L);
R2(C, D, A, B, X(15), 16, 0x1fa27cf8L);
R2(B, C, D, A, X(2), 23, 0xc4ac5665L);
/* Round 3 */
R3(A, B, C, D, X(0), 6, 0xf4292244L);
R3(D, A, B, C, X(7), 10, 0x432aff97L);
R3(C, D, A, B, X(14), 15, 0xab9423a7L);
R3(B, C, D, A, X(5), 21, 0xfc93a039L);
R3(A, B, C, D, X(12), 6, 0x655b59c3L);
R3(D, A, B, C, X(3), 10, 0x8f0ccc92L);
R3(C, D, A, B, X(10), 15, 0xffeff47dL);
R3(B, C, D, A, X(1), 21, 0x85845dd1L);
R3(A, B, C, D, X(8), 6, 0x6fa87e4fL);
R3(D, A, B, C, X(15), 10, 0xfe2ce6e0L);
R3(C, D, A, B, X(6), 15, 0xa3014314L);
R3(B, C, D, A, X(13), 21, 0x4e0811a1L);
R3(A, B, C, D, X(4), 6, 0xf7537e82L);
R3(D, A, B, C, X(11), 10, 0xbd3af235L);
R3(C, D, A, B, X(2), 15, 0x2ad7d2bbL);
R3(B, C, D, A, X(9), 21, 0xeb86d391L);
A = c->A += A;
B = c->B += B;
C = c->C += C;
D = c->D += D;
}
A = c->A += A;
B = c->B += B;
C = c->C += C;
D = c->D += D;
}
}
/**
* Modification 2021 Paul Scherrer Institut
* from md32_common.h
*/
int HASH_UPDATE(HASH_CTX * c, const void *data_, size_t len) {
const unsigned char *data = data_;
unsigned char *p;
HASH_LONG l;
size_t n;
/**
* Modification 2021 Paul Scherrer Institut
* from md32_common.h
*/
int HASH_UPDATE(HASH_CTX *c, const void *data_, size_t len) {
const unsigned char *data = data_;
unsigned char *p;
HASH_LONG l;
size_t n;
if (len == 0)
return 1;
if (len == 0)
return 1;
l = (c->Nl + (((HASH_LONG)len) << 3)) & 0xffffffffUL;
if (l < c->Nl) /* overflow */
c->Nh++;
c->Nh += (HASH_LONG)(len >> 29); /* might cause compiler warning on
* 16-bit */
c->Nl = l;
l = (c->Nl + (((HASH_LONG)len) << 3)) & 0xffffffffUL;
if (l < c->Nl) /* overflow */
c->Nh++;
c->Nh += (HASH_LONG)(len >> 29); /* might cause compiler warning on
* 16-bit */
c->Nl = l;
n = c->num;
if (n != 0) {
p = (unsigned char *)c->data;
n = c->num;
if (n != 0) {
p = (unsigned char *)c->data;
if (len >= HASH_CBLOCK || len + n >= HASH_CBLOCK) {
memcpy(p + n, data, HASH_CBLOCK - n);
HASH_BLOCK_DATA_ORDER(c, p, 1);
n = HASH_CBLOCK - n;
data += n;
len -= n;
c->num = 0;
/*
* We use memset rather than OPENSSL_cleanse() here
* deliberately. Using OPENSSL_cleanse() here could be a
* performance issue. It will get properly cleansed on
* finalisation so this isn't a security problem.
*/
memset(p, 0, HASH_CBLOCK); /* keep it zeroed */
} else {
memcpy(p + n, data, len);
c->num += (unsigned int)len;
return 1;
}
}
n = len / HASH_CBLOCK;
if (n > 0) {
HASH_BLOCK_DATA_ORDER(c, data, n);
n *= HASH_CBLOCK;
if (len >= HASH_CBLOCK || len + n >= HASH_CBLOCK) {
memcpy(p + n, data, HASH_CBLOCK - n);
HASH_BLOCK_DATA_ORDER(c, p, 1);
n = HASH_CBLOCK - n;
data += n;
len -= n;
c->num = 0;
/*
* We use memset rather than OPENSSL_cleanse() here
* deliberately. Using OPENSSL_cleanse() here could be a
* performance issue. It will get properly cleansed on
* finalisation so this isn't a security problem.
*/
memset(p, 0, HASH_CBLOCK); /* keep it zeroed */
} else {
memcpy(p + n, data, len);
c->num += (unsigned int)len;
return 1;
}
if (len != 0) {
p = (unsigned char *)c->data;
c->num = (unsigned int)len;
memcpy(p, data, len);
}
return 1;
}
/**
* Modification 2021 Paul Scherrer Institut
* from md32_common.h
*/
int HASH_FINAL(unsigned char *md, HASH_CTX *c) {
unsigned char *p = (unsigned char *)c->data;
size_t n = c->num;
n = len / HASH_CBLOCK;
if (n > 0) {
HASH_BLOCK_DATA_ORDER(c, data, n);
n *= HASH_CBLOCK;
data += n;
len -= n;
}
p[n] = 0x80; /* there is always room for one */
n++;
if (len != 0) {
p = (unsigned char *)c->data;
c->num = (unsigned int)len;
memcpy(p, data, len);
}
return 1;
}
if (n > (HASH_CBLOCK - 8)) {
memset(p + n, 0, HASH_CBLOCK - n);
n = 0;
HASH_BLOCK_DATA_ORDER(c, p, 1);
}
memset(p + n, 0, HASH_CBLOCK - 8 - n);
/**
* Modification 2021 Paul Scherrer Institut
* from md32_common.h
*/
int HASH_FINAL(unsigned char *md, HASH_CTX *c) {
unsigned char *p = (unsigned char *)c->data;
size_t n = c->num;
p += HASH_CBLOCK - 8;
p[n] = 0x80; /* there is always room for one */
n++;
if (n > (HASH_CBLOCK - 8)) {
memset(p + n, 0, HASH_CBLOCK - n);
n = 0;
HASH_BLOCK_DATA_ORDER(c, p, 1);
}
memset(p + n, 0, HASH_CBLOCK - 8 - n);
p += HASH_CBLOCK - 8;
#if defined(DATA_ORDER_IS_BIG_ENDIAN)
(void)HOST_l2c(c->Nh, p);
(void)HOST_l2c(c->Nl, p);
(void)HOST_l2c(c->Nh, p);
(void)HOST_l2c(c->Nl, p);
#elif defined(DATA_ORDER_IS_LITTLE_ENDIAN)
(void)HOST_l2c(c->Nl, p);
(void)HOST_l2c(c->Nh, p);
#endif
p -= HASH_CBLOCK;
HASH_BLOCK_DATA_ORDER(c, p, 1);
c->num = 0;
// OPENSSL_cleanse(p, HASH_CBLOCK);
// Erik: Since we don't do encryption secure cleaning is not needed
memset(p, 0, HASH_CBLOCK);
p -= HASH_CBLOCK;
HASH_BLOCK_DATA_ORDER(c, p, 1);
c->num = 0;
// OPENSSL_cleanse(p, HASH_CBLOCK);
// Erik: Since we don't do encryption secure cleaning is not needed
memset(p, 0, HASH_CBLOCK);
HASH_MAKE_STRING(c, md);
HASH_MAKE_STRING(c, md);
return 1;
}
return 1;
}
#ifdef __cplusplus
} // namespace sls
+1 -1
View File
@@ -225,7 +225,7 @@ void validatePortRange(uint16_t startPort, int numPorts) {
void setupSignalHandler(int signal, void (*handler)(int)) {
// Catch signal SIGINT to close files and call destructors properly
struct sigaction sa{};
struct sigaction sa {};
sa.sa_handler = handler;
sigemptyset(&sa.sa_mask); // dont block additional signals
sa.sa_flags = 0;