void-packages/srcpkgs/libsignal-protocol-c/patches/00-new-commits.patch

99 lines
3.0 KiB
Diff

diff --git CMakeLists.txt CMakeLists.txt
index b31796d..d95fd3f 100644
--- CMakeLists.txt
+++ CMakeLists.txt
@@ -19,6 +19,7 @@ SET(INSTALL_PKGCONFIG_DIR "${LIB_INSTALL_DIR}/pkgconfig" CACHE PATH "Installatio
INCLUDE(CheckSymbolExists)
INCLUDE(CheckCCompilerFlag)
+INCLUDE(TestBigEndian)
CHECK_SYMBOL_EXISTS(memset_s "string.h" HAVE_MEMSET_S)
@@ -50,6 +51,11 @@ IF(HAVE_MEMSET_S)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DHAVE_MEMSET_S=1")
ENDIF(HAVE_MEMSET_S)
+TEST_BIG_ENDIAN(WORDS_BIGENDIAN)
+IF(WORDS_BIGENDIAN)
+ ADD_DEFINITIONS(-DWORDS_BIGENDIAN)
+ENDIF(WORDS_BIGENDIAN)
+
IF(COVERAGE)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fprofile-arcs -ftest-coverage")
SET(LINK_FLAGS "${LINK_FLAGS} -fprofile-arcs -ftest-coverage")
diff --git tests/test_common.c tests/test_common.c
index f15003c..03f95ee 100644
--- tests/test_common.c
+++ tests/test_common.c
@@ -845,3 +845,11 @@ void setup_test_sender_key_store(signal_protocol_store_context *context, signal_
signal_protocol_store_context_set_sender_key_store(context, &store);
}
+
+#ifndef __OpenBSD__
+void srand_deterministic(unsigned int seed)
+{
+ srand(seed);
+}
+#endif
+
diff --git tests/test_common.h tests/test_common.h
index 66ddc6a..db54c12 100644
--- tests/test_common.h
+++ tests/test_common.h
@@ -84,4 +84,10 @@ int test_sender_key_store_load_sender_key(signal_buffer **record, signal_buffer
void test_sender_key_store_destroy(void *user_data);
void setup_test_sender_key_store(signal_protocol_store_context *context, signal_context *global_context);
+/* Portability */
+#ifndef __OpenBSD__
+/* OpenBSD extension */
+void srand_deterministic(unsigned int seed);
+#endif
+
#endif /* TEST_COMMON_H */
diff --git tests/test_common_openssl.c tests/test_common_openssl.c
index abcb208..ab5dc9b 100644
--- tests/test_common_openssl.c
+++ tests/test_common_openssl.c
@@ -1,5 +1,6 @@
#include "test_common.h"
+#include <limits.h>
#include <openssl/opensslv.h>
#include <openssl/evp.h>
#include <openssl/hmac.h>
diff --git tests/test_session_builder.c tests/test_session_builder.c
index 5c475c6..cc388cd 100644
--- tests/test_session_builder.c
+++ tests/test_session_builder.c
@@ -1426,9 +1426,9 @@ void run_interaction(signal_protocol_store_context *alice_store, signal_protocol
}
time_t seed = time(0);
- srand(seed);
+ srand_deterministic(seed);
shuffle_buffers(alice_ooo_plaintext, 10);
- srand(seed);
+ srand_deterministic(seed);
shuffle_buffers(alice_ooo_ciphertext, 10);
fprintf(stderr, "Shuffled Alice->Bob messages created\n");
diff --git tests/test_session_cipher.c tests/test_session_cipher.c
index e761fda..419f87a 100644
--- tests/test_session_cipher.c
+++ tests/test_session_cipher.c
@@ -206,9 +206,9 @@ void generate_test_message_collections(session_cipher *cipher, signal_buffer **p
/* Randomize the two arrays using the same seed */
time_t seed = time(0);
- srand(seed);
+ srand_deterministic(seed);
shuffle_buffers(plaintext_messages, size);
- srand(seed);
+ srand_deterministic(seed);
shuffle_buffers(ciphertext_messages, size);
}