Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package aardvark-dns for openSUSE:Factory checked in at 2023-11-30 22:04:46 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/aardvark-dns (Old) and /work/SRC/openSUSE:Factory/.aardvark-dns.new.25432 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "aardvark-dns" Thu Nov 30 22:04:46 2023 rev:7 rq:1130036 version:1.9.0 Changes: -------- --- /work/SRC/openSUSE:Factory/aardvark-dns/aardvark-dns.changes 2023-10-17 20:25:30.320346913 +0200 +++ /work/SRC/openSUSE:Factory/.aardvark-dns.new.25432/aardvark-dns.changes 2023-11-30 22:06:03.435708004 +0100 @@ -1,0 +2,23 @@ +Thu Nov 30 07:05:22 UTC 2023 - danish.prak...@suse.com + +- Update to version 1.9.0: + * Release v1.9.0 + * v1.9.0 Update release notes + * run cargo update + * chore(deps): update dependency containers/automation_images to v20231116 + * fix(deps): update rust crate tokio to 1.34.0 + * fix(deps): update rust crate async-broadcast to 0.6.0 + * update trust-dns to hickory + * fix(deps): update rust crate futures-util to 0.3.29 + * fix(deps): update rust crate trust-dns-server to 0.23.2 + * fix(deps): update rust crate trust-dns-proto to 0.23.2 + * tmt: initial enablement + * aardvark main: change error reporting + * chore(deps): update dependency containers/automation_images to v20231004 + * fix(deps): update rust crate trust-dns-proto to 0.23.1 + * fix(deps): update rust crate trust-dns-client to 0.23.1 + * clippy: some format fixes + * fix(deps): update rust crate tokio to 1.33.0 + * Bump to v1.9.0-dev + +------------------------------------------------------------------- Old: ---- aardvark-dns-1.8.0.tar.gz New: ---- aardvark-dns-1.9.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ aardvark-dns.spec ++++++ --- /var/tmp/diff_new_pack.kNBl45/_old 2023-11-30 22:06:04.603751046 +0100 +++ /var/tmp/diff_new_pack.kNBl45/_new 2023-11-30 22:06:04.607751194 +0100 @@ -17,7 +17,7 @@ Name: aardvark-dns -Version: 1.8.0 +Version: 1.9.0 Release: 0 Summary: Authoritative dns server for A/AAAA container records License: Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.kNBl45/_old 2023-11-30 22:06:04.639752373 +0100 +++ /var/tmp/diff_new_pack.kNBl45/_new 2023-11-30 22:06:04.639752373 +0100 @@ -3,7 +3,7 @@ <param name="url">https://github.com/containers/aardvark-dns</param> <param name="versionformat">@PARENT_TAG@</param> <param name="scm">git</param> - <param name="revision">v1.8.0</param> + <param name="revision">v1.9.0</param> <param name="match-tag">*</param> <param name="versionrewrite-pattern">v(\d+\.\d+\.\d+)</param> <param name="versionrewrite-replacement">\1</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.kNBl45/_old 2023-11-30 22:06:04.659753110 +0100 +++ /var/tmp/diff_new_pack.kNBl45/_new 2023-11-30 22:06:04.663753257 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/containers/aardvark-dns</param> - <param name="changesrevision">1ed940206e0f39887fc35943ab852387dec9f794</param></service></servicedata> + <param name="changesrevision">e4785bd5430e7f3006bb537e95c2a0f9311f85bc</param></service></servicedata> (No newline at EOF) ++++++ aardvark-dns-1.8.0.tar.gz -> aardvark-dns-1.9.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aardvark-dns-1.8.0/.cirrus.yml new/aardvark-dns-1.9.0/.cirrus.yml --- old/aardvark-dns-1.8.0/.cirrus.yml 2023-09-27 19:03:24.000000000 +0200 +++ new/aardvark-dns-1.9.0/.cirrus.yml 2023-11-20 21:01:52.000000000 +0100 @@ -19,7 +19,7 @@ NETAVARK_URL: "https://api.cirrus-ci.com/v1/artifact/github/containers/netavark/success/binary.zip?branch=${NETAVARK_BRANCH}" # Save a little typing (path relative to $CIRRUS_WORKING_DIR) SCRIPT_BASE: "./contrib/cirrus" - IMAGE_SUFFIX: "c20230816t191118z-f38f37d13" + IMAGE_SUFFIX: "c20231116t174419z-f39f38d13" FEDORA_NETAVARK_IMAGE: "fedora-netavark-${IMAGE_SUFFIX}" FEDORA_NETAVARK_AMI: "fedora-netavark-aws-arm64-${IMAGE_SUFFIX}" EC2_INST_TYPE: "t4g.xlarge" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aardvark-dns-1.8.0/.fmf/version new/aardvark-dns-1.9.0/.fmf/version --- old/aardvark-dns-1.8.0/.fmf/version 1970-01-01 01:00:00.000000000 +0100 +++ new/aardvark-dns-1.9.0/.fmf/version 2023-11-20 21:01:52.000000000 +0100 @@ -0,0 +1 @@ +1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aardvark-dns-1.8.0/.packit.yaml new/aardvark-dns-1.9.0/.packit.yaml --- old/aardvark-dns-1.8.0/.packit.yaml 2023-09-27 19:03:24.000000000 +0200 +++ new/aardvark-dns-1.9.0/.packit.yaml 2023-11-20 21:01:52.000000000 +0100 @@ -16,16 +16,22 @@ notifications: failure_comment: message: "Ephemeral COPR build failed. @containers/packit-build please check." - enable_net: true targets: - - fedora-all-x86_64 - - fedora-all-aarch64 - - centos-stream+epel-next-8-x86_64 - - centos-stream+epel-next-8-aarch64 - - centos-stream+epel-next-9-x86_64 - - centos-stream+epel-next-9-aarch64 + fedora-all-x86_64: {} + fedora-all-aarch64: {} + fedora-eln-x86_64: + additional_repos: + - "https://kojipkgs.fedoraproject.org/repos/eln-build/latest/x86_64/" + fedora-eln-aarch64: + additional_repos: + - "https://kojipkgs.fedoraproject.org/repos/eln-build/latest/aarch64/" + epel-8-x86_64: {} + epel-8-aarch64: {} + epel-9-x86_64: {} + epel-9-aarch64: {} additional_repos: - "copr://rhcontainerbot/podman-next" + enable_net: true # Run on commit to main branch - job: copr_build @@ -38,6 +44,68 @@ project: podman-next enable_net: true + # Validate test + - job: tests + trigger: pull_request + skip_build: true + targets: + # Only need to test on one target + - fedora-latest-stable-x86_64 + identifier: validate_test + tmt_plan: "/plans/validate_test" + + # Unit tests + - job: tests + trigger: pull_request + skip_build: true + targets: &pr_test_targets + - fedora-all-x86_64 + - fedora-all-aarch64 + - epel-8-x86_64 + - epel-8-aarch64 + - epel-9-x86_64 + - epel-9-aarch64 + identifier: unit_test + tmt_plan: "/plans/unit_test" + + # Integration tests + - job: tests + trigger: pull_request + targets: *pr_test_targets + identifier: integration_test + tmt_plan: "/plans/integration_test" + + # Unit tests on RHEL + - job: tests + trigger: pull_request + skip_build: true + use_internal_tf: true + notifications: + failure_comment: + message: "podman e2e tests failed on RHEL. @containers/packit-build please check." + targets: &pr_test_targets_rhel + epel-8-aarch64: + distros: [RHEL-8.9.0-Nightly,RHEL-8.10.0-Nightly] + epel-8-x86_64: + distros: [RHEL-8.9.0-Nightly,RHEL-8.10.0-Nightly] + epel-9-aarch64: + distros: [RHEL-9.3.0-Nightly,RHEL-9.4.0-Nightly] + epel-9-x86_64: + distros: [RHEL-9.3.0-Nightly,RHEL-9.4.0-Nightly] + identifier: unit_test_internal + tmt_plan: "/plans/unit_test" + + # Integration tests on RHEL + - job: tests + trigger: pull_request + use_internal_tf: true + notifications: + failure_comment: + message: "podman system tests failed on RHEL. @containers/packit-build please check." + targets: *pr_test_targets_rhel + identifier: integration_test_internal + tmt_plan: "/plans/integration_test" + - job: propose_downstream trigger: release update_release: false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aardvark-dns-1.8.0/Cargo.lock new/aardvark-dns-1.9.0/Cargo.lock --- old/aardvark-dns-1.8.0/Cargo.lock 2023-09-27 19:03:24.000000000 +0200 +++ new/aardvark-dns-1.9.0/Cargo.lock 2023-11-20 21:01:52.000000000 +0100 @@ -4,13 +4,16 @@ [[package]] name = "aardvark-dns" -version = "1.8.0" +version = "1.9.0" dependencies = [ "anyhow", "async-broadcast", "chrono", "clap", "futures-util", + "hickory-client", + "hickory-proto", + "hickory-server", "libc", "log", "nix", @@ -18,9 +21,6 @@ "signal-hook", "syslog", "tokio", - "trust-dns-client", - "trust-dns-proto", - "trust-dns-server", ] [[package]] @@ -70,15 +70,15 @@ [[package]] name = "anstyle" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15c4c2c83f81532e5845a733998b6971faca23490340a418e9b72a3ec9de12ea" +checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" [[package]] name = "anstyle-parse" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" +checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140" dependencies = [ "utf8parse", ] @@ -110,19 +110,20 @@ [[package]] name = "async-broadcast" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b" +checksum = "334d75cf09b33bede6cbc20e52515853ae7bee3d4eadd9540e13ce92af983d34" dependencies = [ "event-listener", + "event-listener-strategy", "futures-core", ] [[package]] name = "async-trait" -version = "0.1.73" +version = "0.1.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" +checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" dependencies = [ "proc-macro2", "quote", @@ -152,9 +153,9 @@ [[package]] name = "bitflags" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" +checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" [[package]] name = "bumpalo" @@ -234,9 +235,9 @@ [[package]] name = "clap_lex" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" +checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961" [[package]] name = "colorchoice" @@ -245,24 +246,42 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" [[package]] +name = "concurrent-queue" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400" +dependencies = [ + "crossbeam-utils", +] + +[[package]] name = "core-foundation-sys" version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" [[package]] +name = "crossbeam-utils" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" +dependencies = [ + "cfg-if", +] + +[[package]] name = "data-encoding" version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" [[package]] -name = "drain" -version = "0.1.1" +name = "deranged" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f1a0abf3fcefad9b4dd0e414207a7408e12b68414a01e6bb19b897d5bd7632d" +checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" dependencies = [ - "tokio", + "powerfmt", ] [[package]] @@ -284,33 +303,16 @@ ] [[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - -[[package]] name = "errno" -version = "0.3.3" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd" +checksum = "f258a7194e7f7c2a7837a8913aeab7fd8c383457034fa20ce4dd3dcb813e8eb8" dependencies = [ - "errno-dragonfly", "libc", "windows-sys", ] [[package]] -name = "errno-dragonfly" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" -dependencies = [ - "cc", - "libc", -] - -[[package]] name = "error-chain" version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -321,9 +323,24 @@ [[package]] name = "event-listener" -version = "2.5.3" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" +checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15c97b4e30ea7e4b7e7b429d6e2d8510433ba8cee4e70dfb3243794e539d29fd" +dependencies = [ + "event-listener", + "pin-project-lite", +] [[package]] name = "form_urlencoded" @@ -336,47 +353,42 @@ [[package]] name = "futures-channel" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" dependencies = [ "futures-core", ] [[package]] name = "futures-core" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" +checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" [[package]] -name = "futures-executor" -version = "0.3.28" +name = "futures-io" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] +checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" [[package]] -name = "futures-io" -version = "0.3.28" +name = "futures-sink" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" +checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" [[package]] name = "futures-task" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" +checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" [[package]] name = "futures-util" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" dependencies = [ "futures-core", "futures-task", @@ -387,9 +399,9 @@ [[package]] name = "getrandom" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" dependencies = [ "cfg-if", "libc", @@ -403,12 +415,6 @@ checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" [[package]] -name = "hashbrown" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" - -[[package]] name = "heck" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -421,6 +427,69 @@ checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" [[package]] +name = "hickory-client" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f3e08124cf0ddda93b1186d4af73599de401f3b52f14cd9aaa719049379462e" +dependencies = [ + "cfg-if", + "data-encoding", + "futures-channel", + "futures-util", + "hickory-proto", + "once_cell", + "radix_trie", + "rand", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "hickory-proto" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "091a6fbccf4860009355e3efc52ff4acf37a63489aad7435372d44ceeb6fbbcf" +dependencies = [ + "async-trait", + "cfg-if", + "data-encoding", + "enum-as-inner", + "futures-channel", + "futures-io", + "futures-util", + "idna", + "ipnet", + "once_cell", + "rand", + "thiserror", + "tinyvec", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "hickory-server" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fbbb45bc4dcb456445732c705e3cfdc7393b8bcae5c36ecec36b9d76bd67cb5" +dependencies = [ + "async-trait", + "bytes", + "cfg-if", + "enum-as-inner", + "futures-util", + "hickory-proto", + "serde", + "thiserror", + "time", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] name = "hostname" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -433,16 +502,16 @@ [[package]] name = "iana-time-zone" -version = "0.1.57" +version = "0.1.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" +checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows", + "windows-core", ] [[package]] @@ -465,20 +534,10 @@ ] [[package]] -name = "indexmap" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" -dependencies = [ - "equivalent", - "hashbrown", -] - -[[package]] name = "ipnet" -version = "2.8.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "is-terminal" @@ -499,24 +558,24 @@ [[package]] name = "js-sys" -version = "0.3.64" +version = "0.3.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8" dependencies = [ "wasm-bindgen", ] [[package]] name = "libc" -version = "0.2.148" +version = "0.2.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b" +checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" [[package]] name = "linux-raw-sys" -version = "0.4.7" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a9bad9f94746442c783ca431b22403b519cd7fbeed0533fdd6328b2f2212128" +checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829" [[package]] name = "log" @@ -532,9 +591,9 @@ [[package]] name = "memchr" -version = "2.6.3" +version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" [[package]] name = "miniz_oxide" @@ -547,9 +606,9 @@ [[package]] name = "mio" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" dependencies = [ "libc", "wasi", @@ -578,9 +637,9 @@ [[package]] name = "num-traits" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" dependencies = [ "autocfg", ] @@ -620,6 +679,12 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] +name = "parking" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" + +[[package]] name = "percent-encoding" version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -638,6 +703,12 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] name = "ppv-lite86" version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -645,9 +716,9 @@ [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" dependencies = [ "unicode-ident", ] @@ -724,9 +795,9 @@ [[package]] name = "rustix" -version = "0.38.14" +version = "0.38.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "747c788e9ce8e92b12cd485c49ddf90723550b654b32508f979b71a7b1ecda4f" +checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e" dependencies = [ "bitflags", "errno", @@ -737,18 +808,18 @@ [[package]] name = "serde" -version = "1.0.188" +version = "1.0.192" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" +checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.188" +version = "1.0.192" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" +checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1" dependencies = [ "proc-macro2", "quote", @@ -756,15 +827,6 @@ ] [[package]] -name = "serde_spanned" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" -dependencies = [ - "serde", -] - -[[package]] name = "signal-hook" version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -794,15 +856,15 @@ [[package]] name = "smallvec" -version = "1.11.1" +version = "1.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" +checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" [[package]] name = "socket2" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e" +checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" dependencies = [ "libc", "windows-sys", @@ -816,9 +878,9 @@ [[package]] name = "syn" -version = "2.0.37" +version = "2.0.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8" +checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" dependencies = [ "proc-macro2", "quote", @@ -840,18 +902,18 @@ [[package]] name = "thiserror" -version = "1.0.48" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d6d7a740b8a666a7e828dd00da9c0dc290dff53154ea77ac109281de90589b7" +checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.48" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35" +checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" dependencies = [ "proc-macro2", "quote", @@ -860,13 +922,15 @@ [[package]] name = "time" -version = "0.3.23" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446" +checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" dependencies = [ + "deranged", "itoa", "libc", "num_threads", + "powerfmt", "serde", "time-core", "time-macros", @@ -874,15 +938,15 @@ [[package]] name = "time-core" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.10" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ba15a897f3c86766b757e5ac7221554c6750054d74d5b28844fce5fb36a6c4" +checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" dependencies = [ "time-core", ] @@ -904,9 +968,9 @@ [[package]] name = "tokio" -version = "1.32.0" +version = "1.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9" +checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9" dependencies = [ "backtrace", "bytes", @@ -921,9 +985,9 @@ [[package]] name = "tokio-macros" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", @@ -931,46 +995,24 @@ ] [[package]] -name = "toml" -version = "0.7.8" +name = "tokio-util" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit", -] - -[[package]] -name = "toml_datetime" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_edit" -version = "0.19.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap", - "serde", - "serde_spanned", - "toml_datetime", - "winnow", + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", ] [[package]] name = "tracing" -version = "0.1.37" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "cfg-if", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -978,9 +1020,9 @@ [[package]] name = "tracing-attributes" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", @@ -989,80 +1031,14 @@ [[package]] name = "tracing-core" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", ] [[package]] -name = "trust-dns-client" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e1bcca49cb7115ce70857db94ebff3f2903b50e3e5c20b1def5cf9b1273455f" -dependencies = [ - "cfg-if", - "data-encoding", - "futures-channel", - "futures-util", - "once_cell", - "radix_trie", - "rand", - "thiserror", - "tokio", - "tracing", - "trust-dns-proto", -] - -[[package]] -name = "trust-dns-proto" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc775440033cb114085f6f2437682b194fa7546466024b1037e82a48a052a69" -dependencies = [ - "async-trait", - "cfg-if", - "data-encoding", - "enum-as-inner", - "futures-channel", - "futures-io", - "futures-util", - "idna", - "ipnet", - "once_cell", - "rand", - "smallvec", - "thiserror", - "tinyvec", - "tokio", - "tracing", - "url", -] - -[[package]] -name = "trust-dns-server" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f2863cefc06d1d5605ea937bfd8939e23687bb44dd5d136217ad9378582f9cc" -dependencies = [ - "async-trait", - "bytes", - "cfg-if", - "drain", - "enum-as-inner", - "futures-executor", - "futures-util", - "serde", - "thiserror", - "time", - "tokio", - "toml", - "tracing", - "trust-dns-proto", -] - -[[package]] name = "unicode-bidi" version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1114,9 +1090,9 @@ [[package]] name = "wasm-bindgen" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -1124,9 +1100,9 @@ [[package]] name = "wasm-bindgen-backend" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217" dependencies = [ "bumpalo", "log", @@ -1139,9 +1115,9 @@ [[package]] name = "wasm-bindgen-macro" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -1149,9 +1125,9 @@ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907" dependencies = [ "proc-macro2", "quote", @@ -1162,9 +1138,9 @@ [[package]] name = "wasm-bindgen-shared" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" +checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b" [[package]] name = "winapi" @@ -1189,10 +1165,10 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] -name = "windows" -version = "0.48.0" +name = "windows-core" +version = "0.51.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" dependencies = [ "windows-targets", ] @@ -1262,12 +1238,3 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "winnow" -version = "0.5.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc" -dependencies = [ - "memchr", -] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aardvark-dns-1.8.0/Cargo.toml new/aardvark-dns-1.9.0/Cargo.toml --- old/aardvark-dns-1.8.0/Cargo.toml 2023-09-27 19:03:24.000000000 +0200 +++ new/aardvark-dns-1.9.0/Cargo.toml 2023-11-20 21:01:52.000000000 +0100 @@ -1,7 +1,7 @@ [package] name = "aardvark-dns" # This version specification right below is reused by .packit.sh to generate rpm version -version = "1.8.0" +version = "1.9.0" edition = "2018" authors = ["github.com/containers"] license = "Apache-2.0" @@ -25,14 +25,14 @@ clap = { version = "~4.3.24", features = ["derive"] } syslog = "^6.1.0" log = "0.4.20" -trust-dns-server = "0.23.0" -trust-dns-proto = "0.23.0" -trust-dns-client = "0.23.0" +hickory-server = "0.24.0" +hickory-proto = "0.24.0" +hickory-client = "0.24.0" anyhow = "1.0.75" -futures-util = { version = "0.3.28", default-features = false } +futures-util = { version = "0.3.29", default-features = false } signal-hook = "0.3.17" -tokio = { version = "1.32.0", features = ["macros", "rt-multi-thread", "net"] } -async-broadcast = "0.5.1" +tokio = { version = "1.34.0", features = ["macros", "rt-multi-thread", "net"] } +async-broadcast = "0.6.0" resolv-conf = "0.7.0" nix = { version = "0.27.1", features = ["fs", "signal"] } libc = "0.2" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aardvark-dns-1.8.0/RELEASE_NOTES.md new/aardvark-dns-1.9.0/RELEASE_NOTES.md --- old/aardvark-dns-1.8.0/RELEASE_NOTES.md 2023-09-27 19:03:24.000000000 +0200 +++ new/aardvark-dns-1.9.0/RELEASE_NOTES.md 2023-11-20 21:01:52.000000000 +0100 @@ -1,5 +1,10 @@ # Release Notes +## v1.9.0 +* update trust-dns to hickory +* never report an error when the syslog init fails +* dependency updates + ## v1.8.0 * dependency updates diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aardvark-dns-1.8.0/plans/main.fmf new/aardvark-dns-1.9.0/plans/main.fmf --- old/aardvark-dns-1.8.0/plans/main.fmf 1970-01-01 01:00:00.000000000 +0100 +++ new/aardvark-dns-1.9.0/plans/main.fmf 2023-11-20 21:01:52.000000000 +0100 @@ -0,0 +1,37 @@ +prepare: + - name: Distro specific setup + how: shell + script: bash ./plans/prepare.sh + - name: Install dependencies + how: install + package: + - bats + - bind-utils + - cargo + - clippy + - go-md2man + - iptables + - jq + - make + - netavark + - nmap-ncat + - rustfmt + - slirp4netns + +/validate_test: + summary: Run validate test + execute: + how: tmt + script: make validate + +/unit_test: + summary: Run unit tests + execute: + how: tmt + script: make unit + +/integration_test: + summary: Run integration tests + execute: + how: tmt + script: make AARDVARK=/usr/libexec/podman/aardvark-dns integration diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aardvark-dns-1.8.0/plans/prepare.sh new/aardvark-dns-1.9.0/plans/prepare.sh --- old/aardvark-dns-1.8.0/plans/prepare.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/aardvark-dns-1.9.0/plans/prepare.sh 2023-11-20 21:01:52.000000000 +0100 @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +set -eox pipefail + +RHEL_RELEASE=$(rpm --eval %{?rhel}) +ARCH=$(uname -m) + +# disable container-tools module on el8 +if [ $RHEL_RELEASE -eq 8 ]; then + dnf -y module disable container-tools +fi + +# install epel-release on centos stream and rhel +if [ -f /etc/centos-release ]; then + dnf -y install epel-release +elif [ $RHEL_RELEASE -ge 8 ]; then + dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-$RHEL_RELEASE.noarch.rpm + dnf config-manager --set-enabled epel +fi + +if [ -f /etc/fedora-release ]; then + echo "Resizing tmpfs..." + mount -o remount,size=10G /tmp +fi + + +# Some envs like containers don't have the copr plugin installed +dnf -y install 'dnf-command(copr)' + +# Enable podman-next copr +dnf -y copr enable rhcontainerbot/podman-next + +# Set podman-next to higher priority than default +dnf config-manager --save --setopt="*:rhcontainerbot:podman-next.priority=5" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aardvark-dns-1.8.0/src/config/mod.rs new/aardvark-dns-1.9.0/src/config/mod.rs --- old/aardvark-dns-1.8.0/src/config/mod.rs 2023-09-27 19:03:24.000000000 +0200 +++ new/aardvark-dns-1.9.0/src/config/mod.rs 2023-11-20 21:01:52.000000000 +0100 @@ -96,20 +96,18 @@ match ip { IpAddr::V4(a) => listen_ips_4 .entry(network_name.clone()) - .or_insert_with(Vec::new) + .or_default() .push(a), IpAddr::V6(b) => listen_ips_6 .entry(network_name.clone()) - .or_insert_with(Vec::new) + .or_default() .push(b), } } for entry in parsed_network_config.container_entry { // Container network membership - let ctr_networks = network_membership - .entry(entry.id.clone()) - .or_insert_with(Vec::new); + let ctr_networks = network_membership.entry(entry.id.clone()).or_default(); // Keep the network deduplicated if !ctr_networks.contains(&network_name) { @@ -122,9 +120,9 @@ for ip in v4 { reverse .entry(network_name.clone()) - .or_insert_with(HashMap::new) + .or_default() .entry(IpAddr::V4(ip)) - .or_insert_with(Vec::new) + .or_default() .append(&mut entry.aliases.clone()); ctr_dns_server.insert(IpAddr::V4(ip), entry.dns_servers.clone()); new_ctr_ips.push(IpAddr::V4(ip)); @@ -134,26 +132,22 @@ for ip in v6 { reverse .entry(network_name.clone()) - .or_insert_with(HashMap::new) + .or_default() .entry(IpAddr::V6(ip)) - .or_insert_with(Vec::new) + .or_default() .append(&mut entry.aliases.clone()); ctr_dns_server.insert(IpAddr::V6(ip), entry.dns_servers.clone()); new_ctr_ips.push(IpAddr::V6(ip)); } } - let ctr_ips = container_ips - .entry(entry.id.clone()) - .or_insert_with(Vec::new); + let ctr_ips = container_ips.entry(entry.id.clone()).or_default(); ctr_ips.append(&mut new_ctr_ips.clone()); // Network aliases to IPs map. - let network_aliases = network_names - .entry(network_name.clone()) - .or_insert_with(HashMap::new); + let network_aliases = network_names.entry(network_name.clone()).or_default(); for alias in entry.aliases { - let alias_entries = network_aliases.entry(alias).or_insert_with(Vec::new); + let alias_entries = network_aliases.entry(alias).or_default(); alias_entries.append(&mut new_ctr_ips.clone()); } } @@ -169,7 +163,7 @@ match network_membership.get(&ctr_id) { Some(s) => { for ip in ips { - let ip_networks = ctrs.entry(ip).or_insert_with(Vec::new); + let ip_networks = ctrs.entry(ip).or_default(); ip_networks.append(&mut s.clone()); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aardvark-dns-1.8.0/src/dns/coredns.rs new/aardvark-dns-1.9.0/src/dns/coredns.rs --- old/aardvark-dns-1.8.0/src/dns/coredns.rs 2023-09-27 19:03:24.000000000 +0200 +++ new/aardvark-dns-1.9.0/src/dns/coredns.rs 2023-11-20 21:01:52.000000000 +0100 @@ -2,6 +2,14 @@ use crate::backend::DNSResult; use futures_util::StreamExt; use futures_util::TryStreamExt; +use hickory_client::{client::AsyncClient, proto::xfer::SerialMessage, rr::rdata, rr::Name}; +use hickory_proto::{ + op::{Message, MessageType, ResponseCode}, + rr::{DNSClass, RData, Record, RecordType}, + udp::{UdpClientStream, UdpStream}, + xfer::{dns_handle::DnsHandle, BufDnsStreamHandle, DnsRequest}, + DnsStreamHandle, +}; use log::{debug, error, trace, warn}; use resolv_conf; use resolv_conf::ScopedIp; @@ -12,14 +20,6 @@ use std::net::{IpAddr, SocketAddr}; use std::sync::{Arc, Mutex}; use tokio::net::UdpSocket; -use trust_dns_client::{client::AsyncClient, proto::xfer::SerialMessage, rr::Name}; -use trust_dns_proto::{ - op::{Message, MessageType, ResponseCode}, - rr::{DNSClass, RData, Record, RecordType}, - udp::{UdpClientStream, UdpStream}, - xfer::{dns_handle::DnsHandle, BufDnsStreamHandle, DnsRequest}, - DnsStreamHandle, -}; // Containers can be recreated with different ips quickly so // do not let the clients cache to dns response for to long, @@ -108,7 +108,7 @@ async fn register_port(&mut self) -> anyhow::Result<()> { debug!("Starting listen on udp {:?}:{}", self.address, self.port); - let no_proxy: bool = matches!(env::var("AARDVARK_NO_PROXY"), Ok(_)); + let no_proxy: bool = env::var("AARDVARK_NO_PROXY").is_ok(); // Do we need to serve on tcp anywhere in future ? let socket = UdpSocket::bind(format!("{}:{}", self.address, self.port)).await?; @@ -221,7 +221,7 @@ .set_ttl(CONTAINER_TTL) .set_rr_type(RecordType::PTR) .set_dns_class(DNSClass::IN) - .set_data(Some(RData::PTR(trust_dns_client::rr::rdata::PTR(answer)))) + .set_data(Some(RData::PTR(rdata::PTR(answer)))) .clone(), ); } @@ -303,7 +303,7 @@ .set_ttl(CONTAINER_TTL) .set_rr_type(RecordType::A) .set_dns_class(DNSClass::IN) - .set_data(Some(RData::A(trust_dns_client::rr::rdata::A(ipv4)))) + .set_data(Some(RData::A(rdata::A(ipv4)))) .clone(), ); } @@ -317,7 +317,7 @@ .set_ttl(CONTAINER_TTL) .set_rr_type(RecordType::AAAA) .set_dns_class(DNSClass::IN) - .set_data(Some(RData::AAAA(trust_dns_client::rr::rdata::AAAA(ipv6)))) + .set_data(Some(RData::AAAA(rdata::AAAA(ipv6)))) .clone(), ); } @@ -422,7 +422,7 @@ } } -async fn forward_dns_req(mut cl: AsyncClient, message: Message) -> Option<Message> { +async fn forward_dns_req(cl: AsyncClient, message: Message) -> Option<Message> { let req = DnsRequest::new(message, Default::default()); let id = req.id(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aardvark-dns-1.8.0/src/main.rs new/aardvark-dns-1.9.0/src/main.rs --- old/aardvark-dns-1.8.0/src/main.rs 2023-09-27 19:03:24.000000000 +0200 +++ new/aardvark-dns-1.9.0/src/main.rs 2023-11-20 21:01:52.000000000 +0100 @@ -44,24 +44,22 @@ Ok(val) => match Level::from_str(&val) { Ok(level) => level, Err(e) => { - eprintln!("failed to parse RUST_LOG level: {}", e); + eprintln!("aardvark-dns: failed to parse RUST_LOG level: {}", e); Level::Info } }, + // if env is not set default to info Err(_) => Level::Info, }; - match syslog::unix(formatter) { - Ok(logger) => { - if let Err(e) = log::set_boxed_logger(Box::new(BasicLogger::new(logger))) - .map(|()| log::set_max_level(log_level.to_level_filter())) - { - eprintln!("failed to initialize syslog logger: {}", e) - }; - } - Err(e) => { - eprintln!("failed to connect to syslog: {}", e); - } + // On error do nothing, running on system without syslog is fine and we should not clutter + // logs with meaningless errors, https://github.com/containers/podman/issues/19809. + if let Ok(logger) = syslog::unix(formatter) { + if let Err(e) = log::set_boxed_logger(Box::new(BasicLogger::new(logger))) + .map(|()| log::set_max_level(log_level.to_level_filter())) + { + eprintln!("aardvark-dns: failed to initialize syslog logger: {}", e) + }; } let opts = Opts::parse(); @@ -79,7 +77,7 @@ match result { Ok(_) => {} Err(err) => { - println!("{}", err); + eprintln!("aardvark-dns: {}", err); std::process::exit(1); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aardvark-dns-1.8.0/src/test/test.rs new/aardvark-dns-1.9.0/src/test/test.rs --- old/aardvark-dns-1.8.0/src/test/test.rs 2023-09-27 19:03:24.000000000 +0200 +++ new/aardvark-dns-1.9.0/src/test/test.rs 2023-11-20 21:01:52.000000000 +0100 @@ -100,7 +100,7 @@ IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), IpAddr::V6(Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 2)), ]; - let test_cases_source = vec!["10.88.0.2", "10.88.0.3", "10.88.0.4", "10.88.0.5"]; + let test_cases_source = ["10.88.0.2", "10.88.0.3", "10.88.0.4", "10.88.0.5"]; // verify if network scoped resolvers for all the containers is equivalent to // expectedDNSServers for container in test_cases_source.iter() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aardvark-dns-1.8.0/test/100-basic-name-resolution.bats new/aardvark-dns-1.9.0/test/100-basic-name-resolution.bats --- old/aardvark-dns-1.8.0/test/100-basic-name-resolution.bats 2023-09-27 19:03:24.000000000 +0200 +++ new/aardvark-dns-1.9.0/test/100-basic-name-resolution.bats 2023-11-20 21:01:52.000000000 +0100 @@ -5,14 +5,14 @@ load helpers -# custom DNS server is set to `10.10.10.10` which is invalid DNS server +# custom DNS server is set to `127.0.0.255` which is invalid DNS server # hence all the external request must fail, this test is expected to fail # with exit code 124 @test "basic container - dns itself (custom bad dns server)" { setup_slirp4netns subnet_a=$(random_subnet 5) - create_config network_name="podman1" container_id=$(random_string 64) container_name="aone" subnet="$subnet_a" custom_dns_server='"10.10.10.10"' aliases='"a1", "1a"' + create_config network_name="podman1" container_id=$(random_string 64) container_name="aone" subnet="$subnet_a" custom_dns_server='"127.0.0.255"' aliases='"a1", "1a"' config_a1=$config ip_a1=$(echo "$config_a1" | jq -r .networks.podman1.static_ips[0]) gw=$(echo "$config_a1" | jq -r .network_info.podman1.subnets[0].gateway) ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/aardvark-dns/vendor.tar.gz /work/SRC/openSUSE:Factory/.aardvark-dns.new.25432/vendor.tar.gz differ: char 5, line 1