dns-protocol

Crates.iodns-protocol
lib.rsdns-protocol
version0.1.2
sourcesrc
created_at2022-09-12 20:49:19.137758
updated_at2024-06-12 21:38:32.271626
descriptionA DNS protocol implementation in Rust
homepagehttps://github.com/notgull/async-dns/tree/master/dns-protocol#readme
repositoryhttps://github.com/notgull/async-dns
max_upload_size
id664001
size61,164
John Nunley (notgull)

documentation

README

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.

Commit count: 24

cargo fmt