{client,server}/edit-privs: check for user existence

This commit is contained in:
2025-12-14 01:58:48 +09:00
parent bd23cf693d
commit e56c41cee6
4 changed files with 105 additions and 4 deletions

View File

@@ -38,6 +38,7 @@ use crate::{
common::{create_user_group_matching_regex, try_get_with_binary_fallback},
input_sanitization::{quote_identifier, validate_name, validate_ownership_by_unix_user},
sql::database_operations::unsafe_database_exists,
sql::user_operations::unsafe_user_exists,
},
};
@@ -446,6 +447,17 @@ pub async fn apply_privilege_diffs(
continue;
}
if !unsafe_user_exists(diff.get_user_name(), connection)
.await
.unwrap()
{
results.insert(
key,
Err(ModifyDatabasePrivilegesError::UserDoesNotExist),
);
continue;
}
if let Err(err) = validate_diff(&diff, connection).await {
results.insert(key, Err(err));
continue;