Rework the way extension parsing works

Review Request #2957 — Created Feb. 17, 2024 and discarded

Information

xeme/xeme
default

Reviewers

Some extensions, like starttls have multiple elements in the same namespace. So
to support that, we're removing element names from the extensions and instead
passing the element name into the parse_start and parse_end vfuncs.

Ran with the turtles.
Also ran the extension and extensionmap tests under valgrind.

Summary ID
Rework the way extension parsing works
Some extensions, like starttls have multiple elements in the same namespace. So to support that, we're removing element names from the extensions and instead passing the element name into the parse_start and parse_end vfuncs.
3db354e62dd1cc07aced9f4561827b8b3850c065
Description From Last Updated

I realized this needs some more work/thought. The starttls feature is only valid with stream-features as a parent, but it's …

grimgrim
grim
grim
  1. 
      
  2. Show all issues

    I realized this needs some more work/thought. The starttls feature is only valid with stream-features as a parent, but it's proceed and failure elements happen at the stanza level which has stream:stream as a parent.

    So that said, this current implementation won't work.

  3. 
      
grim
Review request changed
Status:
Discarded
Change Summary:

This is super old, wasn't clear on what was going on and it's not worth the time to figure it out.

The lesson here was that the design for extension elements was incomplete and we need to rework it as not everything is under the element that's extending things.