M5: moderation, permissions, channel CRUD, in-app account management
- Server-side moderation & permissions (kick/ban/move/server-mute, channel CRUD). - Database schema v2: channels, bans; BLAKE2b channel passwords, Argon2id accounts. - C ABI additions and client-side handling (vc_kick_user, vc_ban_user, vc_set_permission, vc_set_server_mute, vc_move_user, vc_create/edit/delete_channel, vc_create/reset/delete/list_account). - vccli flags for all M5 operations plus --username/--password auth. - Four new tests covering permissions, kick/ban/move/mute, admin accounts, channel CRUD. - Docs: protocol.md envelope updates, security.md channel-password hashing, PROGRESS.md.
This commit is contained in:
@@ -113,4 +113,36 @@ if(VOICECAT_USE_VCPKG_DEPS)
|
||||
target_include_directories(test_tofu_flow PRIVATE ${VC_TEST_INTERNAL_INCLUDES})
|
||||
add_test(NAME tofu_flow COMMAND test_tofu_flow)
|
||||
set_tests_properties(tofu_flow PROPERTIES TIMEOUT 90)
|
||||
|
||||
# M5 Phase 1: permission enforcement + SetPermissionRequest + channel create.
|
||||
add_executable(test_m5_permissions test_m5_permissions.cpp)
|
||||
target_link_libraries(test_m5_permissions PRIVATE voicecat::server)
|
||||
target_compile_features(test_m5_permissions PRIVATE cxx_std_20)
|
||||
target_include_directories(test_m5_permissions PRIVATE ${VC_TEST_INTERNAL_INCLUDES})
|
||||
add_test(NAME m5_permissions COMMAND test_m5_permissions)
|
||||
set_tests_properties(m5_permissions PROPERTIES TIMEOUT 60)
|
||||
|
||||
# M5 Phase 2: kick/ban/move/server-mute.
|
||||
add_executable(test_m5_kick_ban_move_mute test_m5_kick_ban_move_mute.cpp)
|
||||
target_link_libraries(test_m5_kick_ban_move_mute PRIVATE voicecat::server)
|
||||
target_compile_features(test_m5_kick_ban_move_mute PRIVATE cxx_std_20)
|
||||
target_include_directories(test_m5_kick_ban_move_mute PRIVATE ${VC_TEST_INTERNAL_INCLUDES})
|
||||
add_test(NAME m5_kick_ban_move_mute COMMAND test_m5_kick_ban_move_mute)
|
||||
set_tests_properties(m5_kick_ban_move_mute PROPERTIES TIMEOUT 90)
|
||||
|
||||
# M5 Phase 3: in-app admin account management.
|
||||
add_executable(test_m5_admin_accounts test_m5_admin_accounts.cpp)
|
||||
target_link_libraries(test_m5_admin_accounts PRIVATE voicecat::server)
|
||||
target_compile_features(test_m5_admin_accounts PRIVATE cxx_std_20)
|
||||
target_include_directories(test_m5_admin_accounts PRIVATE ${VC_TEST_INTERNAL_INCLUDES})
|
||||
add_test(NAME m5_admin_accounts COMMAND test_m5_admin_accounts)
|
||||
set_tests_properties(m5_admin_accounts PROPERTIES TIMEOUT 90)
|
||||
|
||||
# M5 Phase 4: channel CRUD & password enforcement.
|
||||
add_executable(test_m5_channel_crud test_m5_channel_crud.cpp)
|
||||
target_link_libraries(test_m5_channel_crud PRIVATE voicecat::server)
|
||||
target_compile_features(test_m5_channel_crud PRIVATE cxx_std_20)
|
||||
target_include_directories(test_m5_channel_crud PRIVATE ${VC_TEST_INTERNAL_INCLUDES})
|
||||
add_test(NAME m5_channel_crud COMMAND test_m5_channel_crud)
|
||||
set_tests_properties(m5_channel_crud PROPERTIES TIMEOUT 90)
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user