diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/stream.ml | 6 |
1 files changed, 6 insertions, 0 deletions
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 |