fix(protocol): harden gateway contract validation
This commit is contained in:
@@ -34,7 +34,11 @@ func evaluate(_ kind: String, _ input: String) -> String {
|
||||
case "gateway_feedback": return classifyGatewayFeedback(values["hex"] ?? "")
|
||||
case "gateway_clipboard":
|
||||
if values["file"] != nil { return "invalid:forbidden" }
|
||||
guard ["client_to_provider", "provider_to_client"].contains(values["direction"] ?? ""), values["encoding"] == "utf-8", let token = values["loop_token"], (16...128).contains(token.utf8.count), let text = values["text"], text.utf8.count <= 65536 else { return "invalid:clipboard" }
|
||||
guard let direction = values["direction"], let text = values["text"],
|
||||
let encoding = values["encoding"], let token = values["loop_token"],
|
||||
(try? GatewayClipboardText(
|
||||
direction: direction, text: text, encoding: encoding, loopToken: token
|
||||
)) != nil else { return "invalid:clipboard" }
|
||||
return "valid"
|
||||
case "gateway_clipboard_audit":
|
||||
if values["text"] != nil { return "invalid:forbidden" }
|
||||
|
||||
Reference in New Issue
Block a user