Open Bug 1611289 Opened 2 years ago Updated 11 months ago

[meta] Experiment with a Rust-based libexpat replacement

Categories

(Core :: XML, task, P3)

task

Tracking

()

ASSIGNED

People

(Reporter: erahm, Assigned: ah)

Details

(Keywords: meta)

Attachments

(1 file, 3 obsolete files)

The folks at Immunant are working on a port libexpat to Rust that would be suitable as a drop-in replacement for our version of expat. The Rust port will go beyond just a C2Rust conversion and intends to implement functionality with idiomatic Rust. Lets use this bug to coordinate efforts to evaluate whether or not we can switch over to the potentially safer version.

First steps:

  • Test out builds and tests across our platforms
  • Evaluate performance with our perf tests, specifically raptor and talos
  • Once the port is closer to being complete we'll also want security review and proper fuzzing

Just for reference, the work in progress repo for the port is https://github.com/immunant/rexpat. It’s still very early in refactoring, so don’t expect much safe Rust yet, but things are progressing.

Attached file Bug 1611289 - Integrate rexpat (obsolete) —

Depends on D62972

Depends on D62973

  • Remove custom memory allocators from expat parsers
  • Use git repository as the path for rexpat
Attachment #9126843 - Attachment description: Bug 1611289 - * Integrate rexpat → Bug 1611289 - Integrate rexpat
Attachment #9126839 - Attachment is obsolete: true
Attachment #9126840 - Attachment is obsolete: true
Attachment #9126838 - Attachment is obsolete: true
Assignee: nobody → ah
Status: NEW → ASSIGNED
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.