Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update etherparse requirement from 0.14.2 to 0.15.0 #8

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github May 27, 2024

Updates the requirements on etherparse to permit the latest version.

Release notes

Sourced from etherparse's releases.

v0.15.0 Linux SLL Support & SlicedPacket::from_ether_type Bugfix

What's Changed

New Contributors

Full Changelog: JulianSchmid/etherparse@v0.14.3...v0.15.0

Changelog

Sourced from etherparse's changelog.

0.15.0

  • Added Linux SLL Support (thanks to @​RabadanDotDev)
  • Corrected bug where SlicedPacket::from_ether_type would not set link field in result.

0.14.3

  • Resolved compile errors for 16 bit systems.
  • Add 'ether_payload' & 'ip_payload' methods to SlicedPacket types.

0.14.2

Corrected enum docs.rs links in README.md (for IpSlice & IpHeaders).

0.14.1

Corrected example in README.md (replaced ip with net).

0.14.0

Highlights

  • SlicedPacket & PacketHeaders now use the length fields in the headers to determine the payload length.
  • The payload(s) in SlicedPacket now can be accessed via the layer slices (e.g. link.unwrap().payload()).
  • Added LaxSlicedPacket & LaxPacketHeaders to allow for parsing of packets without length checks & other inconsistency checks present in SlicedPacket & PacketHeaders.
  • SlicedPacket.ip & PacketHeaders.ip have been renamed to SlicedPacket.net & PacketHeaders.net
  • Added no_std support.
  • Errors are now more fine granular (in case you want a general error type you can convert all errors via into & from into err::FromSliceError or err::ReadError).
  • Added to_bytes() methods to most header types.
  • Added slice types which contain both the header(s) and payload (e.g. IpSlice, UdpSlice).
  • Added payload types (e.g. IpPayloadSlice, EtherPayloadSlice) which contain the slice & information about the payload type (e.g. the IpNumber in case of an IpPayloadSlice).

What happened?

This version took more then a year to complete. Which for sure was not my plan when starting out.

I started out trying to implement correct handing of "payload lengths" (aka actually using the length fields in headers to determine the payload). This was needed, as without it, incorrect data would sometimes creep into the payload of and IP packet (see JulianSchmid/etherparse#35 ). But this "simple" feature triggered a chain reaction of changes that required me to re-architect big parts of the crate. Specifically the error types were an major issue, which I did not forsee costing so much time and at some time.

But no matter, now it is done. Sadly there are quiet some breaking changes, but I think the crate is now in a better position for future changes & behaves correcter then in the past. There are also quiet a lot of quality of life changes.

New

  • Added non-allocating to_bytes() methods that return arrayvec::ArrayVec<u8, Header::MAX_LEN> to the following headers:
    • Ipv4Header
  • Added LaxSlicedPacket & LaxPacketHeaders to allow for parsing of packets without length checks & other inconsistency checks present in SlicedPacket & PacketHeaders.
  • no_std Support was added. To enable use etherparse without default features: etherparse = { version = "0.14", default-features = false }
  • Added LEN or MIN_LEN & MAX_LEN constants to all headers & packets.
  • Added InternetSlice::source_addr & InternetSlice::destination_addr to get the source & destination as std::net::IpAddr (thanks to @​nagy)

Changes in Behavior

... (truncated)

Commits
  • 2a23d8f Increment version number to 0.15.0
  • e8c89d5 Update changelog
  • 7af3a82 Resolved clippy warnings
  • cc9f80a Applied rust fmt
  • ca4dcce Corrected SlicedPacket::from_ether_type so it sets ethernet payload in link f...
  • 7a9b992 Merge pull request #101 from JulianSchmid/fix-codecov
  • b0490ba Migrate codecov job to stable toolchain
  • 169ab45 Migrate to codecov actions v4
  • b53002c Merge pull request #99 from RabadanDotDev/add-linux-sll-support
  • 1e76496 Applied rust fmt
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Updates the requirements on [etherparse](https://github.com/JulianSchmid/etherparse) to permit the latest version.
- [Release notes](https://github.com/JulianSchmid/etherparse/releases)
- [Changelog](https://github.com/JulianSchmid/etherparse/blob/master/changelog.md)
- [Commits](JulianSchmid/etherparse@v0.14.2...v0.15.0)

---
updated-dependencies:
- dependency-name: etherparse
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file rust Pull requests that update Rust code labels May 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file rust Pull requests that update Rust code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants