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:
@@ -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,
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user