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

RFC 9567 error reporting agent demonstration #4

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

ximon18
Copy link
Member

@ximon18 ximon18 commented Apr 30, 2024

Initial version of an RFC 9567 error report monitoring agent.

See the README for more introduction and usage.

Builds upon the existing introducing-idns branch of this project for compatability with the domain crate, https://github.com/NLnetLabs/domain for server functionality and https://github.com/NLnetLabs/daemonbase for process daemonisation.

Note: This code uses Tokio Tracing for logging with the intent that it would fit well with the Tokio Tracing logging emitted by the server functionality of the domain crate. However, when combined with daemonbase it's not clear to me how to leverage this properly. For example at present passing -v causes all levels of tracing logging within this new tool to be enabled at once irrespective of level, and at the same time no number of -v arguments cause the underlying domain crate server side logging to be emitted, at least not so far in my limited testing.

It currently lacks tests. It should at least have unit tests of the QNAME parsing, but I held off adding those yet as I'd like to know if the way I'm parsing the QNAME makes sense, or should I collect it to a Vec or even convert it to a string and parse it that way?

@ximon18 ximon18 requested review from gthess and a team April 30, 2024 10:42

fn init_middleware() -> MiddlewareChain<Vec<u8>, Vec<u8>> {
let mut middleware = MiddlewareBuilder::<Vec<u8>, Vec<u8>>::standard();
let mut server_secret = [0u8; 16];
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this were to be deployed on multiple servers the cookies need special attention m, e.g. to ensure they match on each server, plus there should be some mechanism to rotate them, etc, basically the guidelines in the cookie RFC should be taken into account.

Base automatically changed from introducing-idns to main May 3, 2024 10:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant