fix(protocol): add input validation per SRS-094 (TODO-045)

Add validate_and_truncate(), validate_nickname(), validate_message(),
validate_poke_message(), validate_channel_name() with length limits.
Wire to send_text_message in adapter. 14 new validation tests.
This commit is contained in:
Edison Jwa
2026-06-11 14:49:24 +09:00
parent af823da543
commit 0c8efa38f1
2 changed files with 171 additions and 1 deletions
+5 -1
View File
@@ -582,10 +582,14 @@ impl ProtocolClient {
message: String,
target: MessageTarget,
) -> Result<(), ProtocolError> {
let validated = match target {
MessageTarget::Poke(_) => crate::dto::validate_poke_message(&message),
_ => crate::dto::validate_message(&message),
};
let (tx, rx) = oneshot::channel();
self.tx
.send(Request::SendTextMessage {
message,
message: validated,
target,
reply: tx,
})