Project

General

Profile

Actions

Feature #2696

closed
VJ PA

http: implement parser in rust

Feature #2696: http: implement parser in rust

Added by Victor Julien over 7 years ago. Updated about 1 year ago.

Status:
Closed
Priority:
Normal
Target version:
Effort:
high
Difficulty:
high
Label:
Protocol

Description

This would replace libhtp.


Related issues 9 (3 open6 closed)

Related to Suricata - Task #2685: SuriCon 2018 brainstormAssignedVictor JulienActions
Related to Suricata - Feature #1947: HTTP2 decoder ClosedPhilippe AntoineActions
Related to Suricata - Feature #3487: mime: multi-part parser in RustClosedPhilippe AntoineActions
Related to Suricata - Bug #5739: htp: handle alloc failure for user dataClosedPhilippe AntoineActions
Related to Suricata - Feature #5692: http: brotli content encoding for HTTP/1.1ClosedPhilippe AntoineActions
Related to Suricata - Security #5921: http1: configurable limit for maximum number of live transactions per flowClosedPhilippe AntoineActions
Related to Suricata - Feature #880: memcap http parserNewOISF DevActions
Related to Suricata - Task #3195: tracking: rustify all inputAssignedVictor JulienActions
Blocks Suricata - Story #7140: protocols: C to Rust conversionsClosedVictor JulienActions

VJ Updated by Victor Julien over 7 years ago Actions #1

  • Related to Task #2685: SuriCon 2018 brainstorm added

VJ Updated by Victor Julien over 7 years ago Actions #2

AH Updated by Andreas Herz almost 7 years ago Actions #3

  • Assignee set to Community Ticket

VJ Updated by Victor Julien over 6 years ago Actions #4

  • Status changed from New to Feedback

It would be great to get some suggestions about what Rust crates would be helpful here.

DB Updated by Danny Browning over 6 years ago Actions #5

For 1.1 https://crates.io/crates/httparse
For 2, https://docs.rs/h2/0.2.0-alpha.3/h2/ but it is futures/async+await based, so would require a runtime running, as well as rust 1.39

VJ Updated by Victor Julien about 6 years ago Actions #6

  • Label Protocol added

VJ Updated by Victor Julien about 6 years ago Actions #7

  • Related to Feature #3487: mime: multi-part parser in Rust added

PA Updated by Philippe Antoine almost 4 years ago Actions #8

  • Status changed from Feedback to In Review
  • Assignee changed from Community Ticket to Todd Mortimer
  • Target version changed from TBD to 7.0.0-beta1

VJ Updated by Victor Julien over 3 years ago Actions #9

  • Target version changed from 7.0.0-beta1 to 8.0.0-beta1

PA Updated by Philippe Antoine over 3 years ago Actions #11

  • Related to Bug #5739: htp: handle alloc failure for user data added

PA Updated by Philippe Antoine about 3 years ago Actions #12

  • Related to Feature #5692: http: brotli content encoding for HTTP/1.1 added

PA Updated by Philippe Antoine about 3 years ago Actions #13

  • Related to Security #5921: http1: configurable limit for maximum number of live transactions per flow added

PA Updated by Philippe Antoine over 2 years ago Actions #14

PA Updated by Philippe Antoine over 2 years ago Actions #15

  • Assignee changed from Todd Mortimer to Philippe Antoine

PA Updated by Philippe Antoine about 2 years ago Actions #16

  • Status changed from In Review to In Progress

Today's status : Rebase to do and differential fuzzing findings to investigate after 7.0.3 release

VJ Updated by Victor Julien almost 2 years ago Actions #18

  • Subject changed from http parser in rust to http: implement parser in rust

VJ Updated by Victor Julien almost 2 years ago Actions #19

  • Blocks Story #7140: protocols: C to Rust conversions added

VJ Updated by Victor Julien over 1 year ago Actions #20

  • Priority changed from Normal to High

PA Updated by Philippe Antoine about 1 year ago Actions #21

Some follow-up tasks :
investigate and reduce to 0 the number of app-layer parser errors on QA (gap handling in chunks, big header just skip the end instead of erroring for everything...)

PA Updated by Philippe Antoine about 1 year ago Actions #22

  • Status changed from In Progress to In Review

PA Updated by Philippe Antoine about 1 year ago Actions #24

  • Status changed from In Review to Resolved

VJ Updated by Victor Julien about 1 year ago Actions #25

  • Status changed from Resolved to Closed
  • Priority changed from High to Normal

PA Updated by Philippe Antoine about 1 year ago Actions #26

  • Related to Task #3195: tracking: rustify all input added
Actions

Also available in: PDF Atom