JulianSchmid / etherparse

A rust library for parsing ethernet & ethernet using protocols.
Apache License 2.0
286 stars 54 forks source link

Don't try to parse protocol-layer data in fragmented packets. #11

Closed Bren2010 closed 2 years ago

Bren2010 commented 4 years ago

Parsing fragmented packets currently fails because the code tries to look at TCP/UDP header information in fragments other than the first.

Sorry if this PR isn't very good, I'm new to Rust. Also sorry that I'm having trouble getting the tests to pass.

JulianSchmid commented 4 years ago

Hi @Bren2010,

Thanks, I will have a look. I missed that case.

Greets Julian

JulianSchmid commented 4 years ago

Hi @Bren2010,

I am currently looking into solving & merging this PR. While doing so I am adding a few new features which would come in handy.

So work is ongoing, but will take a bit longer (days hopefully, weeks worst case) until this gets merged

Greets Julian

Bren2010 commented 4 years ago

Thank you!

Bren2010 commented 4 years ago

Any update here?

JulianSchmid commented 4 years ago

I started adding more support for ipv6 header extensions, which would also come in handy for checking for fragmentation. But I was not able to finish it yet. I will try to find time next week.

JulianSchmid commented 4 years ago

Hi,

Quick update: I am still working on it but at the same time I am trying to improve the handling of ip extension headers in general. This turned out to be a bit of a larger undertaking than I originally suspected. I ran into a few errors that I did in the original implementation (e.g. incorrect handling of authentication headers) and some general design issues which I am correcting now.

Never the less I am hopeful to have this done until the end of the week.

Greets Julian

JulianSchmid commented 2 years ago

Finally with the release https://github.com/JulianSchmid/etherparse/releases/tag/0.10.0 https://github.com/JulianSchmid/etherparse/releases/tag/0.10.1 this issue will be resolved.