From a9a3defba5767e29aeb3d3585e9f5e4f957b14b6 Mon Sep 17 00:00:00 2001 From: Clombrong Date: Sun, 29 Jun 2025 07:20:33 +0200 Subject: feat(stream): raise exception if there's bare text in --- lib/stream.ml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/stream.ml b/lib/stream.ml index 0b6763a..218cc37 100644 --- a/lib/stream.ml +++ b/lib/stream.ml @@ -14,6 +14,12 @@ let parse_features (el : Xml.element) : features = let open Xml in let open Either in + let children = + if not (List.for_all is_left el.children) + then raise (InvalidStanza (element_to_string el)) + else List.filter_map find_left el.children + in + let parse_single_mechanism = function | Left {local_name = "mechanism"; children = [Right mechanism]; _} -> Sasl.parse_auth_mechanism mechanism -- cgit v1.2.3