Some updates
This commit is contained in:
parent
064d54eac5
commit
4965c4d3d0
@ -268,7 +268,7 @@ if(BUILD_TESTS)
|
|||||||
target_link_libraries(RingTest ${TEST_LIBRARIES})
|
target_link_libraries(RingTest ${TEST_LIBRARIES})
|
||||||
|
|
||||||
if(NOT WIN32)
|
if(NOT WIN32)
|
||||||
add_executable(CommandTest ${SOURCE_FILES} ${HEADER_FILES} test/CommandTest.cpp src/log/LogSinks.cpp src/log/LogSinks.h ../server/MySQLLibSSLFix.c)
|
add_executable(CommandTest ${SOURCE_FILES} ${HEADER_FILES} test/CommandTest.cpp src/log/LogSinks.cpp src/log/LogSinks.h)
|
||||||
target_link_libraries(CommandTest ${TEST_LIBRARIES})
|
target_link_libraries(CommandTest ${TEST_LIBRARIES})
|
||||||
|
|
||||||
add_executable(WebsocketTest ${SOURCE_FILES} ${HEADER_FILES} test/WSSTest.cpp src/log/LogSinks.cpp src/log/LogSinks.h)
|
add_executable(WebsocketTest ${SOURCE_FILES} ${HEADER_FILES} test/WSSTest.cpp src/log/LogSinks.cpp src/log/LogSinks.h)
|
||||||
@ -299,7 +299,7 @@ if(BUILD_TESTS)
|
|||||||
add_executable(PermissionTest test/PermissionTest.cpp ${SOURCE_FILES})
|
add_executable(PermissionTest test/PermissionTest.cpp ${SOURCE_FILES})
|
||||||
target_link_libraries(PermissionTest ${TEST_LIBRARIES})
|
target_link_libraries(PermissionTest ${TEST_LIBRARIES})
|
||||||
|
|
||||||
add_executable(GenerationTest test/generationTest.cpp ${SOURCE_FILES} ../server/MySQLLibSSLFix.c)
|
add_executable(GenerationTest test/generationTest.cpp src/protocol/generation.cpp)
|
||||||
target_link_libraries(GenerationTest ${TEST_LIBRARIES})
|
target_link_libraries(GenerationTest ${TEST_LIBRARIES})
|
||||||
|
|
||||||
add_executable(RW-Lock-Test test/rw_lock.cpp src/lock/rw_mutex.cpp)
|
add_executable(RW-Lock-Test test/rw_lock.cpp src/lock/rw_mutex.cpp)
|
||||||
|
@ -330,7 +330,8 @@ deque<std::shared_ptr<PermissionTypeEntry>> ts::permission::availablePermissions
|
|||||||
make_shared<PermissionTypeEntry>(PermissionType::b_client_delete_dbproperties, PermissionGroup::client_modify, "b_client_delete_dbproperties", "Delete a clients properties in the sql"),
|
make_shared<PermissionTypeEntry>(PermissionType::b_client_delete_dbproperties, PermissionGroup::client_modify, "b_client_delete_dbproperties", "Delete a clients properties in the sql"),
|
||||||
make_shared<PermissionTypeEntry>(PermissionType::b_client_create_modify_serverquery_login, PermissionGroup::client_modify, "b_client_create_modify_serverquery_login", "Create or modify own ServerQuery account"),
|
make_shared<PermissionTypeEntry>(PermissionType::b_client_create_modify_serverquery_login, PermissionGroup::client_modify, "b_client_create_modify_serverquery_login", "Create or modify own ServerQuery account"),
|
||||||
|
|
||||||
make_shared<PermissionTypeEntry>(PermissionType::b_client_query_create, PermissionGroup::client_modify, "b_client_query_create", "Create your own ServerQuery account"),
|
make_shared<PermissionTypeEntry>(PermissionType::b_client_query_create, PermissionGroup::client_modify, "b_client_query_create", "Create a ServerQuery account for any user"),
|
||||||
|
make_shared<PermissionTypeEntry>(PermissionType::b_client_query_create_own, PermissionGroup::client_modify, "b_client_query_create_own", "Create your own ServerQuery account"),
|
||||||
make_shared<PermissionTypeEntry>(PermissionType::b_client_query_list, PermissionGroup::client_modify, "b_client_query_list", "List all ServerQuery accounts"),
|
make_shared<PermissionTypeEntry>(PermissionType::b_client_query_list, PermissionGroup::client_modify, "b_client_query_list", "List all ServerQuery accounts"),
|
||||||
make_shared<PermissionTypeEntry>(PermissionType::b_client_query_list_own, PermissionGroup::client_modify, "b_client_query_list_own", "List all own ServerQuery accounts"),
|
make_shared<PermissionTypeEntry>(PermissionType::b_client_query_list_own, PermissionGroup::client_modify, "b_client_query_list_own", "List all own ServerQuery accounts"),
|
||||||
make_shared<PermissionTypeEntry>(PermissionType::b_client_query_rename, PermissionGroup::client_modify, "b_client_query_rename", "Rename a ServerQuery account"),
|
make_shared<PermissionTypeEntry>(PermissionType::b_client_query_rename, PermissionGroup::client_modify, "b_client_query_rename", "Rename a ServerQuery account"),
|
||||||
|
@ -438,6 +438,7 @@ namespace ts {
|
|||||||
b_client_delete_dbproperties,
|
b_client_delete_dbproperties,
|
||||||
b_client_create_modify_serverquery_login,
|
b_client_create_modify_serverquery_login,
|
||||||
b_client_query_create,
|
b_client_query_create,
|
||||||
|
b_client_query_create_own,
|
||||||
b_client_query_list,
|
b_client_query_list,
|
||||||
b_client_query_list_own,
|
b_client_query_list_own,
|
||||||
b_client_query_rename,
|
b_client_query_rename,
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
std::string base64::decode(const char* input, size_t size) {
|
std::string base64::decode(const char* input, size_t size) {
|
||||||
auto out = new unsigned char[size];
|
auto out = new unsigned char[size];
|
||||||
if(base64_strict_decode((unsigned char*) input, (unsigned long) size, out, (unsigned long*) &size) != CRYPT_OK){
|
if(base64_strict_decode((unsigned char*) input, (unsigned long) size, out, (unsigned long*) &size) != CRYPT_OK){
|
||||||
std::cerr << "Invalid base 64 string '" << input << "'" << std::endl;
|
//std::cerr << "Invalid base 64 string '" << input << "'" << std::endl;
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
std::string ret((char*) out, size);
|
std::string ret((char*) out, size);
|
||||||
@ -17,7 +17,7 @@ std::string base64::encode(const char* input, const unsigned long inputSize) {
|
|||||||
auto outlen = static_cast<unsigned long>(inputSize + (inputSize / 3.0) + 16);
|
auto outlen = static_cast<unsigned long>(inputSize + (inputSize / 3.0) + 16);
|
||||||
auto outbuf = new unsigned char[outlen]; //Reserve output memory
|
auto outbuf = new unsigned char[outlen]; //Reserve output memory
|
||||||
if(base64_encode((unsigned char*) input, inputSize, outbuf, &outlen) != CRYPT_OK){
|
if(base64_encode((unsigned char*) input, inputSize, outbuf, &outlen) != CRYPT_OK){
|
||||||
std::cerr << "Invalid input '" << input << "'" << std::endl;
|
//std::cerr << "Invalid input '" << input << "'" << std::endl;
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
std::string ret((char*) outbuf, outlen);
|
std::string ret((char*) outbuf, outlen);
|
||||||
|
@ -8,8 +8,8 @@ namespace ts::protocol {
|
|||||||
generation_estimator();
|
generation_estimator();
|
||||||
|
|
||||||
void reset();
|
void reset();
|
||||||
uint16_t visit_packet(uint16_t /* packet id */);
|
[[nodiscard]] uint16_t visit_packet(uint16_t /* packet id */);
|
||||||
uint16_t generation() const;
|
[[nodiscard]] uint16_t generation() const;
|
||||||
|
|
||||||
void set_last_state(uint16_t last_packet, uint16_t generation) {
|
void set_last_state(uint16_t last_packet, uint16_t generation) {
|
||||||
this->last_packet_id = last_packet;
|
this->last_packet_id = last_packet;
|
||||||
|
@ -75,22 +75,17 @@ int main() {
|
|||||||
test_vector("25 loss", generate_test_vector(0x3000, 25));
|
test_vector("25 loss", generate_test_vector(0x3000, 25));
|
||||||
test_vector("50 loss", generate_test_vector(0x3000, 50));
|
test_vector("50 loss", generate_test_vector(0x3000, 50));
|
||||||
test_vector("80 loss", generate_test_vector(0x3000, 80));
|
test_vector("80 loss", generate_test_vector(0x3000, 80));
|
||||||
|
test_vector("99 loss", generate_test_vector(0x3000, 99));
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
auto base = generate_test_vector(0x3000, 0);
|
auto base = generate_test_vector(0x3000, 0);
|
||||||
|
test_vector("swap 0:4", swap_elements(base, 0, 4));
|
||||||
test_vector("swap 30:20", swap_elements(base, 30, 20));
|
test_vector("swap 30:20", swap_elements(base, 30, 20));
|
||||||
test_vector("swap 30:1000", swap_elements(base, 30, 200));
|
test_vector("swap 30:1000", swap_elements(base, 30, 200));
|
||||||
test_vector("swap 80:1000", swap_elements(base, 80, 200));
|
test_vector("swap 80:1000", swap_elements(base, 80, 200));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(false) {
|
|
||||||
test_vector("10 loss", generate_test_vector(0x3000, 10));
|
|
||||||
test_vector("25 loss", generate_test_vector(0x3000, 25));
|
|
||||||
test_vector("50 loss", generate_test_vector(0x3000, 50));
|
|
||||||
test_vector("80 loss", generate_test_vector(0x3000, 80));
|
|
||||||
}
|
|
||||||
|
|
||||||
gen.set_last_state(0, 0);
|
gen.set_last_state(0, 0);
|
||||||
test_vector<6>(gen, {0, 1, 2, 4, 3, 5}, {0, 0, 0, 0, 0, 0});
|
test_vector<6>(gen, {0, 1, 2, 4, 3, 5}, {0, 0, 0, 0, 0, 0});
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user