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

(A/I)XFR-in/out (with TSIG), NOTIFY-in/out + demo zone persistence. #335

Draft
wants to merge 192 commits into
base: tsig-client
Choose a base branch
from

Commits on Apr 16, 2024

  1. Configuration menu
    Copy the full SHA
    e0006c0 View commit details
    Browse the repository at this point in the history
  2. WIP: Working Box<dyn Stream> based Service andmandatory middleware, w…

    …ith stream server and other middleware disabled.
    ximon18 committed Apr 16, 2024
    Configuration menu
    Copy the full SHA
    4aec8bd View commit details
    Browse the repository at this point in the history
  3. WIP: Working Box<dyn Stream> based Service and mandatory middleware, …

    …with stream server re-enabled but still no other middleware.
    ximon18 committed Apr 16, 2024
    Configuration menu
    Copy the full SHA
    724d670 View commit details
    Browse the repository at this point in the history
  4. Compilation fix.

    ximon18 committed Apr 16, 2024
    Configuration menu
    Copy the full SHA
    4cc2bd5 View commit details
    Browse the repository at this point in the history
  5. Remove commented out code.

    ximon18 committed Apr 16, 2024
    Configuration menu
    Copy the full SHA
    32b4623 View commit details
    Browse the repository at this point in the history
  6. WIP: Working Box<dyn Stream> based Service and mandatory middleware (…

    …a) being actually used and (b) with Box<Dyn>-less post-processing via new `PostprocessingMap` type based on stream::Map, with stream server re-enabled but still no other middleware.
    ximon18 committed Apr 16, 2024
    Configuration menu
    Copy the full SHA
    c6682b6 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    8a406d3 View commit details
    Browse the repository at this point in the history
  8. Adds Service style versions of the EDNS and Cookie middleware too. Al…

    …so fixes bugs in the Cookie middleware relating to adding the COOKIE option more than once, and not preserving OPT header values when appending OPT options.
    ximon18 committed Apr 16, 2024
    Configuration menu
    Copy the full SHA
    98fcb65 View commit details
    Browse the repository at this point in the history
  9. Remove the old middleware processors, pocessor trait, chain and build…

    …er, none of it is needed in the new middleware-as-layered-services world.
    ximon18 committed Apr 16, 2024
    Configuration menu
    Copy the full SHA
    3dc28be View commit details
    Browse the repository at this point in the history

Commits on Apr 23, 2024

  1. Configuration menu
    Copy the full SHA
    0618b82 View commit details
    Browse the repository at this point in the history

Commits on Apr 29, 2024

  1. Test fixes: A single test stream should yield only a single message, …

    …and a stream preceeded by its length doesn't already need its length prepended to it.
    ximon18 committed Apr 29, 2024
    Configuration menu
    Copy the full SHA
    20220a0 View commit details
    Browse the repository at this point in the history

Commits on Apr 30, 2024

  1. - Layered service based middleware.

    - Return Future of Stream from Service::call() instead of the custom Transaction type.
    - Relax trait bounds/move trait bounds nearer to the point of use.
    - Introduce PostprocessingStream impl of Stream for stream based upstream result post-processing.
    - Introduce ServiceResult aka io::Result.
    - Modify the serve_zone example to assume it is powered by (not included in these changes) XFR middleware.
    ximon18 committed Apr 30, 2024
    Configuration menu
    Copy the full SHA
    7549bd0 View commit details
    Browse the repository at this point in the history
  2. cargo fmt.

    ximon18 committed Apr 30, 2024
    Configuration menu
    Copy the full SHA
    9feccce View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3a09c12 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    592304b View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f4a1e0b View commit details
    Browse the repository at this point in the history
  6. Add a bare bones demo of an RFC 9567 monitoring agent implemented usi…

    …ng the domain server functionality.
    ximon18 committed Apr 30, 2024
    Configuration menu
    Copy the full SHA
    d236fff View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    31e5d7c View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    a45a09f View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    429de28 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    e4b9d58 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    ce0f029 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    4313cfd View commit details
    Browse the repository at this point in the history
  13. Minor cleanup.

    ximon18 committed Apr 30, 2024
    Configuration menu
    Copy the full SHA
    e991c59 View commit details
    Browse the repository at this point in the history

Commits on May 1, 2024

  1. XFR WIP. Includes fixes for connections not being terminated when fat…

    …al I/O errors occur (such as the other end has disconnected) and for not aborting response stream processing if there is no space in the write queue. These issues were hit when testing with the default dig timeout of 5 seconds and a large zone that took a while to start transferring.
    ximon18 committed May 1, 2024
    Configuration menu
    Copy the full SHA
    dd9fe76 View commit details
    Browse the repository at this point in the history
  2. Don't block Tokio with a possibly long zone walk, nor spawn possibly …

    …very many Tokio tasks, otherwise we compete with other actions being performed by the applicaition. Instead use a dedicated thread pool for zone walking for AXFR transfers. Also use a Tokio unbounded receiver stream instead of a ordered futures stream to avoid creating N boxed futures, to avoid a mutex lock around the stream, and to avoid waiting for the initial zone walk to finish before sending any AXFR records.
    ximon18 committed May 1, 2024
    Configuration menu
    Copy the full SHA
    e9086f6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a2af318 View commit details
    Browse the repository at this point in the history

Commits on May 2, 2024

  1. Configuration menu
    Copy the full SHA
    6a64364 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    08ef960 View commit details
    Browse the repository at this point in the history

Commits on May 27, 2024

  1. WIP XFR support. Adds a NOTIFY middleware and the Catalog type. Has l…

    …imited support for A/IXFR in/out and NOTIFY, e.g. doesn't honor RETRY or EXPIRE SOA timers yet, and needs a lot of cleaning up. Has been seen successfully exchanging zones with NSD via XFR acting both as primary and secondary.
    ximon18 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    09c4349 View commit details
    Browse the repository at this point in the history

Commits on May 29, 2024

  1. Configuration menu
    Copy the full SHA
    d67f73c View commit details
    Browse the repository at this point in the history

Commits on May 30, 2024

  1. Configuration menu
    Copy the full SHA
    2478c85 View commit details
    Browse the repository at this point in the history
  2. cargo fmt

    ximon18 committed May 30, 2024
    Configuration menu
    Copy the full SHA
    6a0bb71 View commit details
    Browse the repository at this point in the history
  3. Typo in commented code.

    ximon18 committed May 30, 2024
    Configuration menu
    Copy the full SHA
    aea703f View commit details
    Browse the repository at this point in the history

Commits on May 31, 2024

  1. More fixes and improvements.

    ximon18 committed May 31, 2024
    Configuration menu
    Copy the full SHA
    f2a26f4 View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2024

  1. Add support for TSIG authenticated zone transfers:

    Relevant changes:
    - Adds net::client::auth: a new client layer for doing TSIG request signing and response validation.
    - Extends Catalog to use net::client::auth.
    - Add Message::is_streaming() and ComposeRequest::is_streaming() which returns true if the QTYPE of the first question indicates a type of request which may cause a stream of responses instead of a single response, limited to AXFR and IXFR at the moment.
    - Adds GetResponse::stream_complete() and GetResponse::is_stream_complete() to signal from a caller that the last message of a response stream has been seen (as only the caller can know this, the DNS protocol does not include a general purpose end marker for response streams if the TCP stream is kept open for further use) as TSIG stream validation needs to know when the last message of the stream has been encountered.
    - Factors the code of ComposeRequest::to_message() out to the call sites (cache.rs, dgram.rs) and removes ComposeRequest::to_vec() as they were not compatible with net::client::auth.
    - Extends Request::is_answer() to NOT require AXFR subsequent responses to have a question (as it is optional per RFC 5936).
    - Extends net::client::stream support more than a single response to a single request:
      - Adds Config::set_streaming_response_timeout() and Config::set_initial_idle_timeout().
      - Adds Request::stream_complete.
      - Extends send_request() to behave differently if ComposeRequest::is_streaming() is true.
      - Preserves
    - Extends the serve-zone example to pass a key store with a hard-coded HMAC-SHA256 TSIG key to the Catalog.
    
    Unrelated changes:
    - Also extend the serve-zone example to persist a zone to disk on commit, and optionally load it at startup.
    - Removes an unnecessary problematic Clone bound on dgram.impl SendRequest for Connection in dgram.rs.
    - Adds impl Display for net::client::stream::ConnState.
    - Logs at trace level the reason a net::client::stream is closed.
    - Logs failed handling of NOTIFY requests and returns an error to the client instead of panicking.
    - Logs XFR-in progress.
    - Replace the large match data block in Catalog with much simpler code.
    ximon18 committed Jun 11, 2024
    Configuration menu
    Copy the full SHA
    def0d2e View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2024

  1. Configuration menu
    Copy the full SHA
    e6b3d5e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d98401e View commit details
    Browse the repository at this point in the history
  3. Compilation fix.

    ximon18 committed Jun 12, 2024
    Configuration menu
    Copy the full SHA
    7b765dd View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    401b736 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    20fca59 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    834e578 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    f81806c View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    fd8d7ac View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2024

  1. Add alternate connection factory support to Catalog which will be nee…

    …ded by Stelline XFR tests (to make requests using the Stelline client instead of a real client).
    ximon18 committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    4ba4c76 View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2024

  1. Minor tweaks.

    ximon18 committed Jun 20, 2024
    Configuration menu
    Copy the full SHA
    91a72fb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    779f0c2 View commit details
    Browse the repository at this point in the history
  3. WIP support for testing streaming responses with Stelline and a domai…

    …n. Currently seems to break some other Stelline tests.
    ximon18 committed Jun 20, 2024
    Configuration menu
    Copy the full SHA
    81b51e5 View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2024

  1. Configuration menu
    Copy the full SHA
    9bc58b8 View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2024

  1. Various improvements:

    - Batch as many RRs per AXFR response as will fit.
    - Support backward compatible AXFR out (one RRset per response) if configured for the client IP.
    - Reject AXFR over UDP unless we're (a) transferring the entire zone for IXFR because there is no diff available, and (b) (TODO) the response fits in a single datagram.
    - Disable the TCP idle timer while in a transaction to avoid timing out XFR responses (especially in Tokio paused time test mode but could also occur normally).
    - Honour stream shutdown in the Stelline ClientServerChannel to avoid a never ending test.
    - Use 127.0.0.1 as the client in Stelline server tests, not ::.
    - Support EXTRA_PACKET in Stelline SECTION ANSWER blocks for streaming response matching.
    - Add an initial IXFR Stelline test.
    ximon18 committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    c3c97ca View commit details
    Browse the repository at this point in the history
  2. cargo fmt.

    ximon18 committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    7f3d0fe View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2024

  1. Various improvements:

    - Replace thread pool based concurrency limits with semaphores instead.
    - Extract batching functionality to owner RrBatcher type and also use it for IXFR.
    ximon18 committed Jun 26, 2024
    Configuration menu
    Copy the full SHA
    5c85cfb View commit details
    Browse the repository at this point in the history
  2. Various improvements:

    - Move client specific XFR settings for compatibility mode into the existing client specific XFR settings stored by the Catalog.
    - Enforce XFR ACLs for XFR out.
    - FIX: Don't panic if a Stelline CHEKCK_ANSWER block doesn't specify an answer section.
    - FIX: Allow more than one provide-xfr config setting in a Stelline server config block.
    - Extend the Stelline parser to take an optional COMPATIBLE keyword for the provide-xfr server config setting.
    - Extend the auth_xfr.rpl Stelline test to test AXFR compatibility mode.
    
    Known issue: The new compatible AXFR test fails due to an issue with the "QUERY ADDRESS <IP>" not being used. This is fixed already in PR #336..
    ximon18 committed Jun 26, 2024
    Configuration menu
    Copy the full SHA
    512959c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f5e39f7 View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2024

  1. Configuration menu
    Copy the full SHA
    0b8935a View commit details
    Browse the repository at this point in the history
  2. Remove a comment.

    ximon18 committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    e5473d1 View commit details
    Browse the repository at this point in the history
  3. Add a comment.

    ximon18 committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    0e7f849 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5dd9b0e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1bbf662 View commit details
    Browse the repository at this point in the history
  6. Fix XFR compatibilty mode.

    ximon18 committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    0183530 View commit details
    Browse the repository at this point in the history
  7. cargo fmt.

    ximon18 committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    abfaaf1 View commit details
    Browse the repository at this point in the history
  8. Some (not all) Clippy fixes.

    ximon18 committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    c8f583f View commit details
    Browse the repository at this point in the history

Commits on Jun 29, 2024

  1. Various improvements:

    - Factor XFR client code out.
    - Pass XFR settings around instead of looking them up in multiple places.
    - More access control enforcement.
    - More RustDoc comments.
    - Remove outdated/incorrect comments.
    - Add required missing Sync bound.
    ximon18 committed Jun 29, 2024
    Configuration menu
    Copy the full SHA
    9dbb2f5 View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2024

  1. WIP: Server side TSIG.

    ximon18 committed Jul 1, 2024
    Configuration menu
    Copy the full SHA
    7ea97aa View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2024

  1. Various improvements:

    - Replace blanket Service impl for fn with  blanket Service impl for Deref to avoid requiring a service to be an Arc.
    - Auth client no longer needs to take an Arc<Key>.
    - WIP TSIG signing on xfr-in responses.
    - Remove the RwLock used by the Catalog on the key store as it doesn't edit the store.
    ximon18 committed Jul 2, 2024
    Configuration menu
    Copy the full SHA
    eaeeeda View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2024

  1. Configuration menu
    Copy the full SHA
    b177cb1 View commit details
    Browse the repository at this point in the history
  2. Simplify a type definition.

    ximon18 committed Jul 3, 2024
    Configuration menu
    Copy the full SHA
    dcebd90 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    28d5062 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3f68412 View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2024

  1. - Move TSIG signing from XfrMiddlewareSvc to new TsigMiddlewareSvc.

      Enables response signing to be the last thing that happens as required by the RFC.
    - Introduce RequestMeta and PostProcessingMeta, used to pass the detected TSIG key name from TsigMiddlewareSvc to XfrMiddlewareSvc.
    - Temporarily disable Clippy lint that requires RustDocs to be fully written.
    - Add enable(bool) fn to CookiesMiddlewareSvc and EdnsMiddlewareSvc to make them usable in passthrough only mode, to support conditional service chain construction.
    - Rename Svc to NextSvc to make it clearer which service is referred to.
    - Minor error handling & code readability improvements in XfrMiddlewareSvc.
    - Fix Xfr with TSIG - verified with NSD, Bind 9 and Dig.
    - Known issue: If TSIG doesn't fit on a TCP streaming response, the code will panic.
    ximon18 committed Jul 7, 2024
    Configuration menu
    Copy the full SHA
    f8e4755 View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2024

  1. Configuration menu
    Copy the full SHA
    558aa41 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5b4209c View commit details
    Browse the repository at this point in the history
  3. Remove unused code.

    ximon18 committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    dca741c View commit details
    Browse the repository at this point in the history
  4. Reduce verbse logging.

    ximon18 committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    7fa1f2c View commit details
    Browse the repository at this point in the history
  5. Remove outdated comment.

    ximon18 committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    b63ad11 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    922a41a View commit details
    Browse the repository at this point in the history
  7. Reserve space for response RRs during preprocessing, e.g. so that dur…

    …ing batching of RRs into responses during AXFR processing that we don't forget to leave space for the TSIG RR or ENDS OPT RR.
    ximon18 committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    f07bde1 View commit details
    Browse the repository at this point in the history
  8. Missed change.

    ximon18 committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    6aa6d19 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    d5bfca4 View commit details
    Browse the repository at this point in the history
  10. cargo fmt.

    ximon18 committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    4e26d2a View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    f3873fd View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    a02acb3 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    ca9856a View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2024

  1. Various improvements:

    - Fixed a bug in TSIG client sequence verification introduced by an earlier fix for server sequence signing (also pushed to PR 345).
    - Fixed issues with AXFR response batching.
    - Fixed a Stelline test bug where a request for a UDP client was treated as a request for a TCP client.
    - Fixed an errant blank line per zone entry bug in processing of the `local-data` Stelline server config setting.
    - Fixed a zone walking bug that omitted CNAMEs at non-leaf nodes (also pushed as PR #352).
    - Made the zone argument to net::client::xfr optional.
    - Made net::client::xfr pass on the messages it receives after it has checked/processed them.
    - Added a multi-response large zone variant of the AXFR test.
    - Added a Stelline TSIG variant of the AXFR test.
    - Renamed the XFR Stelline tests.
    - Renamed the TSIG client from net::client::auth to net::client::tsig.
    - Added the NOTIFY middleware back in to the server Stelline tests.
    - Added the TSIG middleware to the server Stelline tests.
    - Extended the server Stelline tests to:
      - Create a 'TESTKEY' in the key store.
      - Wrap TCP connections created by the client factory in the tsig and xfr clients.
      - Wrap UDP connections created by the client factory in the tsig client.
      - Accept a named TSIG key in the `provide-xfr` server config setting.
      - Accept a named TSIG key in the `STEP N QUERY` Stelline command.
      - Take the entire ENTRY as input to the client factory, not just the client IP address.
        (so that any specified TSIG key for the client can be configured)
      - Accept `$ORIGIN` in `ANSWER SECTION` response RRs.
        (so that many RRs with a shared origin can be expressed more succinctly)
      - Change in-memory zone tree node ordering to be deterministic (BTreeMap based instead of HashMap based) in #[cfg(test)] mode.
        (so that the new large AXFR response test can know which response RRs will be present in which response message)
    - Removed unused stream connection ID numbering and related Tokio tracing span that was causing unwanted test output indentation.
    - Removed some unnecessary calls to the zone walking callback op fn.
    ximon18 committed Jul 12, 2024
    Configuration menu
    Copy the full SHA
    376e6ff View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fefa6cd View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2024

  1. Configuration menu
    Copy the full SHA
    525ff66 View commit details
    Browse the repository at this point in the history
  2. Add ability to specify the opcode in Stelline requests (for specifyin…

    …g the NOTIFY opcode in upcoming tests).
    ximon18 committed Jul 13, 2024
    Configuration menu
    Copy the full SHA
    16e455f View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2024

  1. Support primary and secondary configuration independently and concurr…

    …ently.
    
    Add command line arguments to the serve-zone example.
    TSIG sign and verify NOTIFY requests too.
    ximon18 committed Jul 15, 2024
    Configuration menu
    Copy the full SHA
    dc25e99 View commit details
    Browse the repository at this point in the history
  2. Clippy.

    ximon18 committed Jul 15, 2024
    Configuration menu
    Copy the full SHA
    857f414 View commit details
    Browse the repository at this point in the history
  3. Silence noisy debug.

    ximon18 committed Jul 15, 2024
    Configuration menu
    Copy the full SHA
    2b1874a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4f37520 View commit details
    Browse the repository at this point in the history
  5. Cargo fmt.

    ximon18 committed Jul 15, 2024
    Configuration menu
    Copy the full SHA
    901b5e7 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    2d71e25 View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2024

  1. Extend Stelline tests for testing more IXFR and NOTIFY behaviour.

    Changed and fixed the data structures and logic for XFR diffs, also enabling received IXFRs to be kept as diffs.
    Changed how a connection factory is passed to the Catalog to enable it to be replaced with Stelline transports when testing.
    Renamed ZoneType to ZoneConfig.
    Add support for "allow-notify" and "request-xfr" in Stelline server configs.
    Add support for specifying the Stelline request OPCODE.
    Added a get_rrset) fn to WritableZoneNode.
    ximon18 committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    882ecd6 View commit details
    Browse the repository at this point in the history
  2. Minor logging tweaks.

    ximon18 committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    af24d41 View commit details
    Browse the repository at this point in the history
  3. Clippy.

    ximon18 committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    e3fce88 View commit details
    Browse the repository at this point in the history
  4. Minor use/import cleanup.

    ximon18 committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    443f257 View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2024

  1. Configuration menu
    Copy the full SHA
    15b0805 View commit details
    Browse the repository at this point in the history
  2. Test whitespace fixes.

    ximon18 committed Jul 17, 2024
    Configuration menu
    Copy the full SHA
    d4fc37b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c92285a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    668d9ac View commit details
    Browse the repository at this point in the history
  5. Make the test TSIG key stable (and thus make signatures predictable a…

    …nd testable) via use of fixed null random.
    ximon18 committed Jul 17, 2024
    Configuration menu
    Copy the full SHA
    b7b9e8b View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d5997d5 View commit details
    Browse the repository at this point in the history
  7. More test docs.

    ximon18 committed Jul 17, 2024
    Configuration menu
    Copy the full SHA
    c00d818 View commit details
    Browse the repository at this point in the history
  8. Add a manual TSIG test.

    ximon18 committed Jul 17, 2024
    Configuration menu
    Copy the full SHA
    5d55d65 View commit details
    Browse the repository at this point in the history
  9. Added a comment.

    ximon18 committed Jul 17, 2024
    Configuration menu
    Copy the full SHA
    a1f5b3e View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    e0ec2ec View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2024

  1. FIX: Off by one error in retry count checking.

    The transmit loop looped from 0..max_retries _exclusive_, so with the default max_retries value of 5 it would go round the loop 5 times, i.e. 1 try and 4 retries, not 5 retries.
    
    This commit adjusts the logic and allowed minimum value to match the actual behaviour.
    
    This commit also fixes a typo in the word "capped" in the doc strings.
    ximon18 committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    c290070 View commit details
    Browse the repository at this point in the history
  2. Improved error message.

    ximon18 committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    2eef3e5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    871b4d5 View commit details
    Browse the repository at this point in the history
  4. Stelline server test cleanup (excluding edns_keepalive.rpl as that wi…

    …ll be changed in a separate commit).
    
    - Rename some tests.
    - Use spaces not tabs.
    - Fix indentation.
    - Use the pattern QUERY in step N then CHECK_ANSWER in step N+1.
    ximon18 committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    3a2229d View commit details
    Browse the repository at this point in the history
  5. Fix the definition of primary and secondary to be about XFR provision…

    … only, not about NOTIFY.
    ximon18 committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    0676f65 View commit details
    Browse the repository at this point in the history
  6. Cargo fmt.

    ximon18 committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    ffdccd9 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    caa0baf View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    5199639 View commit details
    Browse the repository at this point in the history

Commits on Jul 21, 2024

  1. Remove unused code.

    ximon18 committed Jul 21, 2024
    Configuration menu
    Copy the full SHA
    be2cf42 View commit details
    Browse the repository at this point in the history
  2. Factor out notifiable capability to a trait, thus not creating a hard…

    … dependency between NotifyMiddlewareSvc and Catalog and simplifying the trait bounds of NotifyMiddlewareSvc.
    ximon18 committed Jul 21, 2024
    Configuration menu
    Copy the full SHA
    e331de5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    45ba086 View commit details
    Browse the repository at this point in the history
  4. Remove commented out code.

    ximon18 committed Jul 21, 2024
    Configuration menu
    Copy the full SHA
    4519f52 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    228abbd View commit details
    Browse the repository at this point in the history
  6. Factor out zone lookup capability to a trait, thus not creating a har…

    …d dependency between XfrMiddlewareSvc and Catalog and simplifying the trait bounds of XfriddlewareSvc. Also removed some unnecessary trait bounds along the way.
    ximon18 committed Jul 21, 2024
    Configuration menu
    Copy the full SHA
    cfc0613 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d283bd6 View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2024

  1. Configuration menu
    Copy the full SHA
    9e7caf0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    69df5a4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0c39f97 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c7c5339 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ac88f2b View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    146358c View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    dabd7f3 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    5fdcca7 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    93b38bb View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    d93070f View commit details
    Browse the repository at this point in the history
  11. Access ZoneRefreshState members via getters/setters in order to log a…

    …ll changes to status in a single place, introduce some higher level helper fns to make logic more obvious, and move some checks higher up the call tree instead of manipulating ZoneRefreshState deeper in the code.
    ximon18 committed Jul 22, 2024
    Configuration menu
    Copy the full SHA
    b3bb316 View commit details
    Browse the repository at this point in the history
  12. Extend the secondary zone lifecycle Stelline test to cover RETRY -> R…

    …EFRESH and RETRY -> EXPIRE.
    ximon18 committed Jul 22, 2024
    Configuration menu
    Copy the full SHA
    a858e0e View commit details
    Browse the repository at this point in the history
  13. Cargo fmt.

    ximon18 committed Jul 22, 2024
    Configuration menu
    Copy the full SHA
    10ef905 View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2024

  1. Extract base RR batching to its own module, specialize it for XFR RR …

    …batching, and introduce a test-only PredictablyOrderedBatcher which allows us to make the order of XFR output stable without having to change the structure of the underlying zone tree just for this one case.
    ximon18 committed Jul 23, 2024
    Configuration menu
    Copy the full SHA
    a6b8c82 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    db84c82 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    eac8e22 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    16f369b View commit details
    Browse the repository at this point in the history
  5. RustDoc fixes.

    ximon18 committed Jul 23, 2024
    Configuration menu
    Copy the full SHA
    def12fd View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    0513f0b View commit details
    Browse the repository at this point in the history
  7. cargo fmt.

    ximon18 committed Jul 23, 2024
    Configuration menu
    Copy the full SHA
    47a3a15 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    d18cd26 View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2024

  1. Configuration menu
    Copy the full SHA
    51561ff View commit details
    Browse the repository at this point in the history
  2. Replace PredictablyOrderedBatcher with initial hacky Stelline support…

    … for matching an unknown number of extra response packets as if they were one.
    ximon18 committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    cc31011 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c1b5860 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a1c92d5 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b115a8e View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    e2a638f View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    6743c33 View commit details
    Browse the repository at this point in the history
  8. Whitespace fix.

    ximon18 committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    32c362b View commit details
    Browse the repository at this point in the history
  9. Compilation fix.

    ximon18 committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    5cdb07d View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    1f6943f View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    fd0aab2 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    21a7f0b View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    6d4a4a2 View commit details
    Browse the repository at this point in the history
  14. Fix TSIG tests after syncing with main:

    - Revert changes in tsig/mod.rs in favour of newer fixes from main.
    - Make interop tests run as Rust integration tests by moving them under /tests so that `#[cfg(test)]` is not set and they do not thus get mock_instant time instead of real time.
    ximon18 committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    22b87e9 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    faa64af View commit details
    Browse the repository at this point in the history
  16. Remove unused code.

    ximon18 committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    1ec0121 View commit details
    Browse the repository at this point in the history
  17. Cleanup imports.

    ximon18 committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    c8a2dfc View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    c6ec451 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    2c5a450 View commit details
    Browse the repository at this point in the history
  20. Add missing feature gates.

    ximon18 committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    8c6d75b View commit details
    Browse the repository at this point in the history
  21. Fix incorrect feature gates.

    ximon18 committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    fc5e6ed View commit details
    Browse the repository at this point in the history
  22. More feature gate work.

    ximon18 committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    6b48e00 View commit details
    Browse the repository at this point in the history
  23. More feature gate work.

    ximon18 committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    fa29a80 View commit details
    Browse the repository at this point in the history
  24. Cargo fmt.

    ximon18 committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    47129cb View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    571d700 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    c07c769 View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2024

  1. Configuration menu
    Copy the full SHA
    9bd02ee View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2024

  1. Correct a comment.

    ximon18 committed Jul 26, 2024
    Configuration menu
    Copy the full SHA
    02d4aa7 View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2024

  1. Configuration menu
    Copy the full SHA
    bc60717 View commit details
    Browse the repository at this point in the history
  2. Add a TODO for later.

    ximon18 committed Jul 27, 2024
    Configuration menu
    Copy the full SHA
    1cf264b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    12bb3ee View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2024

  1. More strongly typed version of the mechanism that passes the TSIG key…

    … name from producing middleware to consuming middleware.
    ximon18 committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    88a8f02 View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2024

  1. Clippy RustDoc fixes.

    ximon18 committed Aug 7, 2024
    Configuration menu
    Copy the full SHA
    d57b238 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9b133fb View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    48325ed View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4e272e1 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ea8ed5b View commit details
    Browse the repository at this point in the history

Commits on Aug 8, 2024

  1. Configuration menu
    Copy the full SHA
    bea08e0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    be69ab2 View commit details
    Browse the repository at this point in the history
  3. Minor fix.

    ximon18 committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    776c0ef View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    37d644f View commit details
    Browse the repository at this point in the history
  5. Remove no longer used file.

    ximon18 committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    03084bc View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    5149c14 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    59b4962 View commit details
    Browse the repository at this point in the history
  8. Added doc comment.

    ximon18 committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    e6465fa View commit details
    Browse the repository at this point in the history
  9. Consistency fix in comments.

    ximon18 committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    ae9d821 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    f9ae40d View commit details
    Browse the repository at this point in the history
  11. Cargo fmt.

    ximon18 committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    2649f71 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    c94e8ae View commit details
    Browse the repository at this point in the history