3 releases

0.1.2 Jun 12, 2024
0.1.1 Sep 21, 2022
0.1.0 Sep 12, 2022

#212 in Memory management

Download history 102/week @ 2024-07-01 129/week @ 2024-07-08 103/week @ 2024-07-15 74/week @ 2024-07-22 120/week @ 2024-07-29 88/week @ 2024-08-05 125/week @ 2024-08-12 121/week @ 2024-08-19 72/week @ 2024-08-26 36/week @ 2024-09-02 16/week @ 2024-09-09 60/week @ 2024-09-16 17/week @ 2024-09-23 1/week @ 2024-09-30 14/week @ 2024-10-07 23/week @ 2024-10-14

55 downloads per month
Used in 3 crates (2 directly)

MIT/Apache

58KB
1K SLoC

dns-protocol

This crate provides a no_std implementation of the DNS protocol.

In order to make it trivial for others to build implementations of the DNS protocol, this crate provides a sans-I/O implementation of the protocol. This means that it doesn't provide any I/O functionality, but instead provides a way to parse and serialize DNS messages.

In addition, this crate is not only no_std, but also alloc-free. This means that it can be used in environments where alloc is not available, such as embedded systems. It also has no unsafe code.

However, there is a catch. Since this system does not allocate, the user is responsible for providing a buffer to parse DNS messages into. This means that the user must know the maximum size of a DNS message that they will be parsing. This is a reasonable assumption, since DNS messages are limited to 512 bytes in the common case.

MSRV

The Minimum Supported Rust Version (MSRV) for this crate is Rust 1.63. Any change to this MSRV will be accompanied by a minor version bump.

License

Dual licensed under the MIT and Apache 2.0 licenses.

Dependencies

~250KB