[INFO] cloning repository https://github.com/cyrex562/dnsmasq-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cyrex562/dnsmasq-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcyrex562%2Fdnsmasq-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcyrex562%2Fdnsmasq-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8f9086c41e5dcbb145912b4fa88c79410164d9d0 [INFO] checking cyrex562/dnsmasq-rs/8f9086c41e5dcbb145912b4fa88c79410164d9d0 against master#36e2b8a3a7aad93f8a92db6d254b746aa94ed6da for pr-151822 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcyrex562%2Fdnsmasq-rs" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/cyrex562/dnsmasq-rs [INFO] finished tweaking git repo https://github.com/cyrex562/dnsmasq-rs [INFO] tweaked toml for git repo https://github.com/cyrex562/dnsmasq-rs written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/cyrex562/dnsmasq-rs on toolchain 36e2b8a3a7aad93f8a92db6d254b746aa94ed6da [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+36e2b8a3a7aad93f8a92db6d254b746aa94ed6da" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/cyrex562/dnsmasq-rs already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+36e2b8a3a7aad93f8a92db6d254b746aa94ed6da" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded pnet_sys v0.35.0 [INFO] [stderr] Downloaded pnet_macros v0.35.0 [INFO] [stderr] Downloaded no-std-net v0.6.0 [INFO] [stderr] Downloaded coveralls-api v0.6.0 [INFO] [stderr] Downloaded pnet_base v0.35.0 [INFO] [stderr] Downloaded pnet_macros_support v0.35.0 [INFO] [stderr] Downloaded fastrand v2.2.0 [INFO] [stderr] Downloaded pnet_transport v0.35.0 [INFO] [stderr] Downloaded security-framework-sys v2.12.1 [INFO] [stderr] Downloaded unicase v2.8.0 [INFO] [stderr] Downloaded humantime-serde v1.1.1 [INFO] [stderr] Downloaded tempfile v3.14.0 [INFO] [stderr] Downloaded pnet_datalink v0.35.0 [INFO] [stderr] Downloaded indexmap v1.8.2 [INFO] [stderr] Downloaded url v2.5.3 [INFO] [stderr] Downloaded flate2 v1.0.34 [INFO] [stderr] Downloaded procfs-core v0.16.0 [INFO] [stderr] Downloaded cc v1.1.37 [INFO] [stderr] Downloaded ruzstd v0.7.2 [INFO] [stderr] Downloaded hashbrown v0.15.1 [INFO] [stderr] Downloaded cargo-tarpaulin v0.31.2 [INFO] [stderr] Downloaded git2 v0.19.0 [INFO] [stderr] Downloaded object v0.26.2 [INFO] [stderr] Downloaded llvm_profparser v0.7.0 [INFO] [stderr] Downloaded procfs v0.16.0 [INFO] [stderr] Downloaded pnet v0.35.0 [INFO] [stderr] Downloaded pnet_packet v0.35.0 [INFO] [stderr] Downloaded rustix v0.38.40 [INFO] [stderr] Downloaded libssh2-sys v0.3.0 [INFO] [stderr] Downloaded libc v0.2.162 [INFO] [stderr] Downloaded libgit2-sys v0.17.0+1.8.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:29356a839a4d14451438f794ce8414e707d72405f44418718d724d22562fe786" "/opt/rustwide/cargo-home/bin/cargo" "+36e2b8a3a7aad93f8a92db6d254b746aa94ed6da" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a68abaca59aeb78b9e046f92ee2812d5d70c451655b85370e05d58d83bafabe0 [INFO] running `Command { std: "docker" "start" "-a" "a68abaca59aeb78b9e046f92ee2812d5d70c451655b85370e05d58d83bafabe0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a68abaca59aeb78b9e046f92ee2812d5d70c451655b85370e05d58d83bafabe0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a68abaca59aeb78b9e046f92ee2812d5d70c451655b85370e05d58d83bafabe0", kill_on_drop: false }` [INFO] [stdout] a68abaca59aeb78b9e046f92ee2812d5d70c451655b85370e05d58d83bafabe0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:29356a839a4d14451438f794ce8414e707d72405f44418718d724d22562fe786" "/opt/rustwide/cargo-home/bin/cargo" "+36e2b8a3a7aad93f8a92db6d254b746aa94ed6da" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 00cd8740374a382b0e486bb8baac0381dbc026d13d9a8ffae256a96d7f96fa9b [INFO] running `Command { std: "docker" "start" "-a" "00cd8740374a382b0e486bb8baac0381dbc026d13d9a8ffae256a96d7f96fa9b", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.89 [INFO] [stderr] Compiling unicode-ident v1.0.13 [INFO] [stderr] Compiling libc v0.2.162 [INFO] [stderr] Compiling serde v1.0.214 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Checking once_cell v1.20.2 [INFO] [stderr] Checking pin-project-lite v0.2.15 [INFO] [stderr] Checking litemap v0.7.3 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Checking bytes v1.8.0 [INFO] [stderr] Checking hashbrown v0.15.1 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling openssl v0.10.68 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking no-std-net v0.6.0 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling jobserver v0.1.32 [INFO] [stderr] Checking indexmap v2.6.0 [INFO] [stderr] Compiling httparse v1.9.5 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling syn v2.0.87 [INFO] [stderr] Compiling cc v1.1.37 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking pnet_base v0.35.0 [INFO] [stderr] Compiling unicase v2.8.0 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Checking mio v1.0.2 [INFO] [stderr] Checking socket2 v0.5.7 [INFO] [stderr] Checking flate2 v1.0.34 [INFO] [stderr] Checking tokio v1.41.1 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking iana-time-zone v0.1.61 [INFO] [stderr] Compiling serde_json v1.0.132 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking pnet_sys v0.35.0 [INFO] [stderr] Checking pnet_macros_support v0.35.0 [INFO] [stderr] Compiling openssl-sys v0.9.104 [INFO] [stderr] Compiling libz-sys v1.1.20 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling native-tls v0.2.12 [INFO] [stderr] Compiling libssh2-sys v0.3.0 [INFO] [stderr] Compiling libgit2-sys v0.17.0+1.8.1 [INFO] [stderr] Compiling indexmap v1.8.2 [INFO] [stderr] Compiling rustix v0.38.40 [INFO] [stderr] Checking regex-syntax v0.6.29 [INFO] [stderr] Compiling camino v1.1.9 [INFO] [stderr] Compiling semver v1.0.23 [INFO] [stderr] Compiling anyhow v1.0.93 [INFO] [stderr] Compiling nix v0.29.0 [INFO] [stderr] Checking twox-hash v1.6.3 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Checking gzip-header v1.0.0 [INFO] [stderr] Checking md5 v0.7.0 [INFO] [stderr] Compiling llvm_profparser v0.7.0 [INFO] [stderr] Checking clap_lex v0.7.2 [INFO] [stderr] Checking ipnet v2.10.1 [INFO] [stderr] Checking winnow v0.6.20 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Checking linux-raw-sys v0.4.14 [INFO] [stderr] Checking tokio-util v0.7.12 [INFO] [stderr] Compiling procfs v0.16.0 [INFO] [stderr] Compiling pnet v0.35.0 [INFO] [stderr] Checking regex-automata v0.1.10 [INFO] [stderr] Checking hashbrown v0.11.2 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Checking overload v0.1.1 [INFO] [stderr] Checking adler32 v1.2.0 [INFO] [stderr] Checking clap_builder v4.5.20 [INFO] [stderr] Checking deflate v1.0.0 [INFO] [stderr] Checking nu-ansi-term v0.46.0 [INFO] [stderr] Checking matchers v0.1.0 [INFO] [stderr] Checking procfs-core v0.16.0 [INFO] [stderr] Compiling cargo-tarpaulin v0.31.2 [INFO] [stderr] Checking ruzstd v0.7.2 [INFO] [stderr] Checking object v0.26.2 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking thread_local v1.1.8 [INFO] [stderr] Checking fallible-iterator v0.3.0 [INFO] [stderr] Compiling serde_derive v1.0.214 [INFO] [stderr] Compiling zerofrom-derive v0.1.4 [INFO] [stderr] Compiling yoke-derive v0.7.4 [INFO] [stderr] Compiling zerovec-derive v0.10.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Checking zerofrom v0.1.4 [INFO] [stderr] Checking yoke v0.7.4 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling pnet_macros v0.35.0 [INFO] [stderr] Checking zerovec v0.10.4 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling clap_derive v4.5.18 [INFO] [stderr] Checking pnet_packet v0.35.0 [INFO] [stderr] Checking tinystr v0.7.6 [INFO] [stderr] Checking icu_collections v1.5.0 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking icu_locid v1.5.0 [INFO] [stderr] Checking h2 v0.3.26 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking tracing-subscriber v0.3.18 [INFO] [stderr] Checking icu_provider v1.5.0 [INFO] [stderr] Checking clap v4.5.20 [INFO] [stderr] Checking icu_locid_transform v1.5.0 [INFO] [stderr] Checking gimli v0.31.1 [INFO] [stderr] Checking object v0.36.5 [INFO] [stderr] Checking icu_properties v1.5.1 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking hyper v0.14.31 [INFO] [stderr] Checking pnet_transport v0.35.0 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking quick-xml v0.36.2 [INFO] [stderr] Checking toml_datetime v0.6.8 [INFO] [stderr] Checking icu_normalizer v1.5.0 [INFO] [stderr] Checking serde_spanned v0.6.8 [INFO] [stderr] Checking ipnetwork v0.20.0 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking idna_adapter v1.2.0 [INFO] [stderr] Checking pnet_datalink v0.35.0 [INFO] [stderr] Checking idna v1.0.3 [INFO] [stderr] Checking toml_edit v0.22.22 [INFO] [stderr] Checking url v2.5.3 [INFO] [stderr] Checking cargo-platform v0.1.8 [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Checking humantime-serde v1.1.1 [INFO] [stderr] Checking rustc-demangle v0.1.24 [INFO] [stderr] Checking glob v0.3.1 [INFO] [stderr] Checking cargo_metadata v0.18.1 [INFO] [stderr] Checking reqwest v0.11.27 [INFO] [stderr] Checking dnsmasq-rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error: expected identifier, found keyword `in` [INFO] [stdout] --> src/conntrack.rs:43:113 [INFO] [stdout] | [INFO] [stdout] 43 | ..._IPV4_SRC, u32::from(Ipv4Addr::from(peer_addr.in.sin_addr.s_addr)).to_be()); [INFO] [stdout] | ^^ expected identifier, found keyword [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found keyword `in` [INFO] [stdout] --> src/conntrack.rs:44:88 [INFO] [stdout] | [INFO] [stdout] 44 | nfct_set_attr_u16(ct, libnetfilter_conntrack::ATTR_PORT_SRC, peer_addr.in.sin_port.to_be()); [INFO] [stdout] | ^^ expected identifier, found keyword [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found keyword `in` [INFO] [stdout] --> src/network.rs:122:74 [INFO] [stdout] | [INFO] [stdout] 122 | ... if ipv4_addr.ip() == Ipv4Addr::from(tmp.addr.in.sin_addr.s_addr) { [INFO] [stdout] | ^^ expected identifier, found keyword [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found keyword `in` [INFO] [stdout] --> src/network.rs:166:70 [INFO] [stdout] | [INFO] [stdout] 166 | if ipv4_addr.ip() == Ipv4Addr::from(tmp.addr.in.sin_addr.s_addr) { [INFO] [stdout] | ^^ expected identifier, found keyword [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `(`, `)`, `,`, `::`, or `=`, found `<` [INFO] [stdout] --> src/util.rs:251:144 [INFO] [stdout] | [INFO] [stdout] 251 | ..._version_number", not(idn2_version_number < 0x02000003)))))] [INFO] [stdout] | -^ expected one of `(`, `)`, `,`, `::`, or `=` [INFO] [stdout] | | [INFO] [stdout] | help: missing `,` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0805]: malformed `cfg` attribute input [INFO] [stdout] --> src/util.rs:251:17 [INFO] [stdout] | [INFO] [stdout] 251 | ... #[cfg(any(feature = "have_libidn2", all(feature = "have_libidn2", not(feature = "idn2_version_number", not(idn2_version_number < 0x02000003)))))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------------------^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | expected a single argument here [INFO] [stdout] | help: must be of the form: `#[cfg(predicate)]` [INFO] [stdout] | [INFO] [stdout] = note: for more information, visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0463]: can't find crate for `nix` [INFO] [stdout] --> src/ipset.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | extern crate nix; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0428]: the name `ubus_disconnect_cb` is defined multiple times [INFO] [stdout] --> src/ubus.rs:125:1 [INFO] [stdout] | [INFO] [stdout] 13 | fn ubus_disconnect_cb(ctx: *mut UbusContext); [INFO] [stdout] | --------------------------------------------- previous definition of the value `ubus_disconnect_cb` here [INFO] [stdout] ... [INFO] [stdout] 125 | extern "C" fn ubus_disconnect_cb(ubus: *mut UbusContext) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ubus_disconnect_cb` redefined here [INFO] [stdout] | [INFO] [stdout] = note: `ubus_disconnect_cb` must be defined only once in the value namespace of this module [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: format argument must be a string literal [INFO] [stdout] --> src/nftset.rs:59:36 [INFO] [stdout] | [INFO] [stdout] 59 | cmd_buf = CString::new(format!(cmd, setname_adjusted, addrbuff.to_str().unwrap())).unwrap(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: you might be missing a string literal to format with [INFO] [stdout] | [INFO] [stdout] 59 | cmd_buf = CString::new(format!("{} {} {}", cmd, setname_adjusted, addrbuff.to_str().unwrap())).unwrap(); [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: format argument must be a string literal [INFO] [stdout] --> src/nftset.rs:63:40 [INFO] [stdout] | [INFO] [stdout] 63 | cmd_buf = CString::new(format!(cmd, setname_adjusted, addrbuff.to_str().unwrap())).unwrap(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: you might be missing a string literal to format with [INFO] [stdout] | [INFO] [stdout] 63 | cmd_buf = CString::new(format!("{} {} {}", cmd, setname_adjusted, addrbuff.to_str().unwrap())).unwrap(); [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this trait cannot be derived for unions [INFO] [stdout] --> src/tftp.rs:29:10 [INFO] [stdout] | [INFO] [stdout] 29 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unions cannot have zero fields [INFO] [stdout] --> src/rfc1035.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | / union AllAddr { [INFO] [stdout] 22 | | // Dummy AllAddr union representing the all_addr in C [INFO] [stdout] 23 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unions cannot have zero fields [INFO] [stdout] --> src/rfc2131.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / union AllAddr { [INFO] [stdout] 11 | | // Define the structure as needed, based on the actual all_addr in C. [INFO] [stdout] 12 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved imports `crate::arp::AllAddr`, `crate::arp::DHCP_CHADDR_MAX` [INFO] [stdout] --> src/arp_record.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::arp::{AllAddr, DHCP_CHADDR_MAX}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^^^ no `DHCP_CHADDR_MAX` in `arp` [INFO] [stdout] | | [INFO] [stdout] | no `AllAddr` in `arp` [INFO] [stdout] | [INFO] [stdout] = help: consider importing this union instead: [INFO] [stdout] crate::all_addr::AllAddr [INFO] [stdout] note: these items exist but are inaccessible [INFO] [stdout] --> src/cache.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | struct AllAddr { [INFO] [stdout] | ^^^^^^^^^^^^^^ `crate::cache::AllAddr`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/domain.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | union AllAddr { [INFO] [stdout] | ^^^^^^^^^^^^^ `crate::domain::AllAddr`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/forward.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | struct AllAddr; [INFO] [stdout] | ^^^^^^^^^^^^^^^ `crate::forward::AllAddr`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/rfc1035.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | union AllAddr { [INFO] [stdout] | ^^^^^^^^^^^^^ `crate::rfc1035::AllAddr`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/rfc2131.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | union AllAddr { [INFO] [stdout] | ^^^^^^^^^^^^^ `crate::rfc2131::AllAddr`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/rfc3315.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | union AllAddr { [INFO] [stdout] | ^^^^^^^^^^^^^ `crate::rfc3315::AllAddr`: not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved imports `libc::sockaddr_dl`, `libc::AF_LINK`, `libc::ETHER_ADDR_LEN`, `libc::ETHERTYPE_IP`, `libc::IN6ADDRSZ`, `libc::RTF_LLINFO` [INFO] [stdout] --> src/bpf.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | sockaddr_dl, sockaddr_in, sockaddr_in6, socket, AF_INET, AF_INET6, AF_LINK, AF_UNSPEC, CTL_NET, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^ no `AF_LINK` in the root [INFO] [stdout] | | [INFO] [stdout] | no `sockaddr_dl` in the root [INFO] [stdout] | help: a similar name exists in the module: `sockaddr_ll` [INFO] [stdout] 14 | ETHER_ADDR_LEN, ETHERTYPE_IP, IFF_UP, IN6ADDRSZ, IPPROTO_UDP, IPVERSION, PF_INET6, PF_ROUTE, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ no `IN6ADDRSZ` in the root [INFO] [stdout] | | | [INFO] [stdout] | | no `ETHERTYPE_IP` in the root [INFO] [stdout] | no `ETHER_ADDR_LEN` in the root [INFO] [stdout] 15 | RTF_LLINFO, SIOCGIFADDR, SOCK_DGRAM, SOCK_RAW, SOCK_STREAM, [INFO] [stdout] | ^^^^^^^^^^ no `RTF_LLINFO` in the root [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `dbus` [INFO] [stdout] --> src/dbus.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use dbus::{blocking::Connection, Message, MessageItem, Path}; [INFO] [stdout] | ^^^^ use of unresolved module or unlinked crate `dbus` [INFO] [stdout] | [INFO] [stdout] help: to make use of source file src/dbus.rs, use `mod dbus` in this file to declare the module [INFO] [stdout] --> src/main.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 + mod dbus; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `libnetfilter_conntrack` [INFO] [stdout] --> src/conntrack.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use libnetfilter_conntrack::{nfct_callback_register, nfct_close, nfct_destroy, nfct_get_attr_u32, nfct_new, nfct_open, nfct_query, nf... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `libnetfilter_conntrack`, use `cargo add libnetfilter_conntrack` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nix` [INFO] [stdout] --> src/dnsmasq.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use nix::errno::Errno; [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `nix` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nix`, use `cargo add nix` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nix` [INFO] [stdout] --> src/dnsmasq.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use nix::sys::signal::SigHandler; [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `nix` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nix`, use `cargo add nix` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nix` [INFO] [stdout] --> src/dnsmasq.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use nix::sys::signal::{sigemptyset, SaFlags, SigAction, SigSet}; [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `nix` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nix`, use `cargo add nix` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nix` [INFO] [stdout] --> src/dnsmasq.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use nix::unistd::{chdir, getcwd}; [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `nix` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nix`, use `cargo add nix` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nix` [INFO] [stdout] --> src/forward.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | use nix::sys::socket::{sendmsg, ControlMessage, MsgFlags}; [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `nix` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nix`, use `cargo add nix` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `dbus` [INFO] [stdout] --> src/dbus.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use dbus::{blocking::Connection, Message, MessageItem, Path}; [INFO] [stdout] | ^^^^ help: a similar path exists: `crate::dbus` [INFO] [stdout] | [INFO] [stdout] = note: `use` statements changed in Rust 2018; read more at [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nix` [INFO] [stdout] --> src/inotify.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use nix::errno::Errno; [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `nix` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nix`, use `cargo add nix` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nix` [INFO] [stdout] --> src/inotify.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use nix::fcntl::OFlag; [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `nix` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nix`, use `cargo add nix` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nix` [INFO] [stdout] --> src/inotify.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use nix::sys::inotify::{AddWatchFlags, Inotify}; [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `nix` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nix`, use `cargo add nix` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `sha2` [INFO] [stdout] --> src/hash_questions.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use sha2::{Sha256, Digest}; [INFO] [stdout] | ^^^^ use of unresolved module or unlinked crate `sha2` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `sha2`, use `cargo add sha2` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nix` [INFO] [stdout] --> src/netlink.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use nix::sys::socket::{socket, bind, AddressFamily, SockFlag, SockProtocol, SockType}; [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `nix` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nix`, use `cargo add nix` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nix` [INFO] [stdout] --> src/netlink.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use nix::errno::Errno; [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `nix` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nix`, use `cargo add nix` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nix` [INFO] [stdout] --> src/netlink.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use nix::unistd::close; [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `nix` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nix`, use `cargo add nix` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nix` [INFO] [stdout] --> src/network.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use nix::errno::Errno; [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `nix` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nix`, use `cargo add nix` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `libc::oma` [INFO] [stdout] --> src/log.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | use libc::{oma, getpid, pid_t}; [INFO] [stdout] | ^^^ no `oma` in the root [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `nftables` [INFO] [stdout] --> src/nftset.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use nftables::{nft_context, nft_ctx_new, nft_ctx_buffer_error, nft_run_cmd_from_buffer, nft_ctx_get_error_buffer}; [INFO] [stdout] | ^^^^^^^^ use of unresolved module or unlinked crate `nftables` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nftables`, use `cargo add nftables` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved imports `libc::setjmp`, `libc::jmp_buf` [INFO] [stdout] --> src/option.rs:1:211 [INFO] [stdout] | [INFO] [stdout] 1 | ...L, LOG_NEWS, LOG_SYSLOG, LOG_USER, LOG_UUCP, setjmp, jmp_buf}; [INFO] [stdout] | ^^^^^^ ^^^^^^^ no `jmp_buf` in the root [INFO] [stdout] | | [INFO] [stdout] | no `setjmp` in the root [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `libc::IPTOS_CLASS_CS6` [INFO] [stdout] --> src/radv.rs:6:25 [INFO] [stdout] | [INFO] [stdout] 6 | use libc::{IPV6_TCLASS, IPTOS_CLASS_CS6}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ no `IPTOS_CLASS_CS6` in the root [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nix` [INFO] [stdout] --> src/log.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use nix::sys::stat::fstat; [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `nix` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nix`, use `cargo add nix` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nix` [INFO] [stdout] --> src/log.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use nix::sys::stat::Mode; [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `nix` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nix`, use `cargo add nix` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nix` [INFO] [stdout] --> src/log.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use nix::unistd::{Dup, close, getgid}; [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `nix` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nix`, use `cargo add nix` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved imports `libc::ICMP6_FILTER_SETBLOCKALL`, `libc::ICMP6_FILTER_SETPASS`, `libc::ND_ROUTER_SOLICIT`, `libc::ICMP6_ECHO_REPLY` [INFO] [stdout] --> src/radv.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | use libc::{ICMP6_FILTER_SETBLOCKALL, ICMP6_FILTER_SETPASS, ND_ROUTER_SOLICIT, ICMP6_ECHO_REPLY}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ no `ICMP6_ECHO_REPLY` in the root [INFO] [stdout] | | | | [INFO] [stdout] | | | no `ND_ROUTER_SOLICIT` in the root [INFO] [stdout] | | no `ICMP6_FILTER_SETPASS` in the root [INFO] [stdout] | no `ICMP6_FILTER_SETBLOCKALL` in the root [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0106]: missing lifetime specifier [INFO] [stdout] --> src/auth.rs:48:69 [INFO] [stdout] | [INFO] [stdout] 48 | fn find_addrlist(list: &AddrList, flag: u32, addr: &Addr) -> Option<&AddrList> { [INFO] [stdout] | --------- ----- ^ expected named lifetime parameter [INFO] [stdout] | [INFO] [stdout] = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `list` or `addr` [INFO] [stdout] help: consider introducing a named lifetime parameter [INFO] [stdout] | [INFO] [stdout] 48 | fn find_addrlist<'a>(list: &'a AddrList, flag: u32, addr: &'a Addr) -> Option<&'a AddrList> { [INFO] [stdout] | ++++ ++ ++ ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0106]: missing lifetime specifier [INFO] [stdout] --> src/auth.rs:83:67 [INFO] [stdout] | [INFO] [stdout] 83 | fn find_subnet(zone: &AuthZone, flag: u32, addr: &Addr) -> Option<&AddrList> { [INFO] [stdout] | --------- ----- ^ expected named lifetime parameter [INFO] [stdout] | [INFO] [stdout] = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `zone` or `addr` [INFO] [stdout] help: consider introducing a named lifetime parameter [INFO] [stdout] | [INFO] [stdout] 83 | fn find_subnet<'a>(zone: &'a AuthZone, flag: u32, addr: &'a Addr) -> Option<&'a AddrList> { [INFO] [stdout] | ++++ ++ ++ ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0106]: missing lifetime specifier [INFO] [stdout] --> src/auth.rs:87:68 [INFO] [stdout] | [INFO] [stdout] 87 | fn find_exclude(zone: &AuthZone, flag: u32, addr: &Addr) -> Option<&AddrList> { [INFO] [stdout] | --------- ----- ^ expected named lifetime parameter [INFO] [stdout] | [INFO] [stdout] = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `zone` or `addr` [INFO] [stdout] help: consider introducing a named lifetime parameter [INFO] [stdout] | [INFO] [stdout] 87 | fn find_exclude<'a>(zone: &'a AuthZone, flag: u32, addr: &'a Addr) -> Option<&'a AddrList> { [INFO] [stdout] | ++++ ++ ++ ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0106]: missing lifetime specifier [INFO] [stdout] --> src/blockdata.rs:158:93 [INFO] [stdout] | [INFO] [stdout] 158 | pub fn blockdata_retrieve(block: &BlockData, len: usize, data: Option<&mut [u8]>) -> Option<&mut [u8]> { [INFO] [stdout] | ---------- ----------------- ^ expected named lifetime parameter [INFO] [stdout] | [INFO] [stdout] = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `block` or `data` [INFO] [stdout] help: consider introducing a named lifetime parameter [INFO] [stdout] | [INFO] [stdout] 158 | pub fn blockdata_retrieve<'a>(block: &'a BlockData, len: usize, data: Option<&'a mut [u8]>) -> Option<&'a mut [u8]> { [INFO] [stdout] | ++++ ++ ++ ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0106]: missing lifetime specifier [INFO] [stdout] --> src/domain.rs:117:75 [INFO] [stdout] | [INFO] [stdout] 117 | fn search_domain6(addr: &Ipv6Addr, domain: Option<&CondDomain>) -> Option<&CondDomain> { [INFO] [stdout] | --------- ------------------- ^ expected named lifetime parameter [INFO] [stdout] | [INFO] [stdout] = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `addr` or `domain` [INFO] [stdout] help: consider introducing a named lifetime parameter [INFO] [stdout] | [INFO] [stdout] 117 | fn search_domain6<'a>(addr: &'a Ipv6Addr, domain: Option<&'a CondDomain>) -> Option<&'a CondDomain> { [INFO] [stdout] | ++++ ++ ++ ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nix` [INFO] [stdout] --> src/forward.rs:64:16 [INFO] [stdout] | [INFO] [stdout] 64 | let iov = [nix::sys::uio::IoVec::from_slice(packet)]; [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `nix` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nix`, use `cargo add nix` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nix` [INFO] [stdout] --> src/forward.rs:98:15 [INFO] [stdout] | [INFO] [stdout] 98 | let msg = nix::sys::socket::sendmsg( [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `nix` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nix`, use `cargo add nix` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nix` [INFO] [stdout] --> src/helper.rs:86:35 [INFO] [stdout] | [INFO] [stdout] 86 | let (read_pipe, write_pipe) = nix::unistd::pipe()?; [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `nix` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nix`, use `cargo add nix` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nix` [INFO] [stdout] --> src/helper.rs:89:20 [INFO] [stdout] | [INFO] [stdout] 89 | match unsafe { nix::unistd::fork() }? { [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `nix` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nix`, use `cargo add nix` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nix` [INFO] [stdout] --> src/helper.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | nix::unistd::ForkResult::Parent { child } => { [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `nix` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nix`, use `cargo add nix` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nix` [INFO] [stdout] --> src/helper.rs:91:13 [INFO] [stdout] | [INFO] [stdout] 91 | nix::unistd::close(read_pipe)?; [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `nix` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nix`, use `cargo add nix` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nix` [INFO] [stdout] --> src/helper.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | nix::unistd::ForkResult::Child => { [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `nix` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nix`, use `cargo add nix` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking coveralls-api v0.6.0 [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nix` [INFO] [stdout] --> src/helper.rs:95:13 [INFO] [stdout] | [INFO] [stdout] 95 | nix::unistd::close(write_pipe)?; [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `nix` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nix`, use `cargo add nix` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nix` [INFO] [stdout] --> src/helper.rs:131:21 [INFO] [stdout] | [INFO] [stdout] 131 | nix::unistd::close(fd as RawFd).ok(); [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `nix` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nix`, use `cargo add nix` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nix` [INFO] [stdout] --> src/netlink.rs:63:60 [INFO] [stdout] | [INFO] [stdout] 63 | if let Err(_) = Errno::result(Err(e)).and_then(nix::errno::errno) { [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `nix` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nix`, use `cargo add nix` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking toml v0.8.19 [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `nix` [INFO] [stdout] --> src/network.rs:101:49 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn iface_check(family: c_int, addr: Option<&nix::sys::socket::SockAddr>, name: &str, auth: Option<&mut bool>) -> bool { [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `nix` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `nix`, use `cargo add nix` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `Crec` in this scope [INFO] [stdout] --> src/all_addr.rs:21:21 [INFO] [stdout] | [INFO] [stdout] 21 | pub cache: *mut Crec, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: struct `crate::cache::Crec` exists but is inaccessible [INFO] [stdout] --> src/cache.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | struct Crec { [INFO] [stdout] | ^^^^^^^^^^^ not accessible [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 + use crate::crec::Crec; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `BlockData` in this scope [INFO] [stdout] --> src/all_addr.rs:26:23 [INFO] [stdout] | [INFO] [stdout] 26 | pub keydata: *mut BlockData, [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: struct `crate::blockdata::BlockData` exists but is inaccessible [INFO] [stdout] --> src/blockdata.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | struct BlockData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 + use crate::block_name::BlockData; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `BlockData` in this scope [INFO] [stdout] --> src/all_addr.rs:34:23 [INFO] [stdout] | [INFO] [stdout] 34 | pub keydata: *mut BlockData, [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: struct `crate::blockdata::BlockData` exists but is inaccessible [INFO] [stdout] --> src/blockdata.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | struct BlockData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 + use crate::block_name::BlockData; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `BlockData` in this scope [INFO] [stdout] --> src/all_addr.rs:52:22 [INFO] [stdout] | [INFO] [stdout] 52 | pub rrdata: *mut BlockData, [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: struct `crate::blockdata::BlockData` exists but is inaccessible [INFO] [stdout] --> src/blockdata.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | struct BlockData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 + use crate::block_name::BlockData; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `DHCP_CHADDR_MAX` in this scope [INFO] [stdout] --> src/arp.rs:29:24 [INFO] [stdout] | [INFO] [stdout] 29 | if mac.len() > DHCP_CHADDR_MAX { [INFO] [stdout] | ^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: these constants exist but are inaccessible [INFO] [stdout] --> src/dhcp_protocol.rs:75:1 [INFO] [stdout] | [INFO] [stdout] 75 | const DHCP_CHADDR_MAX: usize = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::dhcp_protocol::DHCP_CHADDR_MAX`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/helper.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | const DHCP_CHADDR_MAX: usize = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::helper::DHCP_CHADDR_MAX`: not accessible [INFO] [stdout] help: consider importing this constant [INFO] [stdout] | [INFO] [stdout] 2 + use crate::constants::DHCP_CHADDR_MAX; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `ARP_NEW` in this scope [INFO] [stdout] --> src/arp.rs:35:62 [INFO] [stdout] | [INFO] [stdout] 35 | if family != arp_ref.family || arp_ref.status == ARP_NEW { [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: constant `crate::constants::ARP_NEW` exists but is inaccessible [INFO] [stdout] --> src/constants.rs:146:1 [INFO] [stdout] | [INFO] [stdout] 146 | const ARP_NEW: u16 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `ARP_EMPTY` in this scope [INFO] [stdout] --> src/arp.rs:52:34 [INFO] [stdout] | [INFO] [stdout] 52 | if arp_ref.status == ARP_EMPTY { [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: constant `crate::constants::ARP_EMPTY` exists but is inaccessible [INFO] [stdout] --> src/constants.rs:147:1 [INFO] [stdout] | [INFO] [stdout] 147 | const ARP_EMPTY: u16 = 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `ARP_NEW` in this scope [INFO] [stdout] --> src/arp.rs:53:34 [INFO] [stdout] | [INFO] [stdout] 53 | arp_ref.status = ARP_NEW; [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: constant `crate::constants::ARP_NEW` exists but is inaccessible [INFO] [stdout] --> src/constants.rs:146:1 [INFO] [stdout] | [INFO] [stdout] 146 | const ARP_NEW: u16 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `ARP_FOUND` in this scope [INFO] [stdout] --> src/arp.rs:57:34 [INFO] [stdout] | [INFO] [stdout] 57 | arp_ref.status = ARP_FOUND; [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: constant `crate::constants::ARP_FOUND` exists but is inaccessible [INFO] [stdout] --> src/constants.rs:145:1 [INFO] [stdout] | [INFO] [stdout] 145 | const ARP_FOUND: u16 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `ARP_NEW` in this scope [INFO] [stdout] --> src/arp.rs:81:33 [INFO] [stdout] | [INFO] [stdout] 81 | (*new_arp).status = ARP_NEW; [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: constant `crate::constants::ARP_NEW` exists but is inaccessible [INFO] [stdout] --> src/constants.rs:146:1 [INFO] [stdout] | [INFO] [stdout] 146 | const ARP_NEW: u16 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `INTERVAL` in this scope [INFO] [stdout] --> src/arp.rs:102:88 [INFO] [stdout] | [INFO] [stdout] 102 | if now.duration_since(ctx.LAST).unwrap_or(Duration::new(0, 0)).as_secs() < INTERVAL { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: constant `crate::constants::INTERVAL` exists but is inaccessible [INFO] [stdout] --> src/constants.rs:142:1 [INFO] [stdout] | [INFO] [stdout] 142 | const INTERVAL: u64 = 90; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `ARP_EMPTY` in this scope [INFO] [stdout] --> src/arp.rs:124:42 [INFO] [stdout] | [INFO] [stdout] 124 | if arp_ref.status != ARP_EMPTY || lazy || updated { [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: constant `crate::constants::ARP_EMPTY` exists but is inaccessible [INFO] [stdout] --> src/constants.rs:147:1 [INFO] [stdout] | [INFO] [stdout] 147 | const ARP_EMPTY: u16 = 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `ARP_EMPTY` in this scope [INFO] [stdout] --> src/arp.rs:141:41 [INFO] [stdout] | [INFO] [stdout] 141 | if (*arp).status != ARP_EMPTY { [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: constant `crate::constants::ARP_EMPTY` exists but is inaccessible [INFO] [stdout] --> src/constants.rs:147:1 [INFO] [stdout] | [INFO] [stdout] 147 | const ARP_EMPTY: u16 = 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `ARP_MARK` in this scope [INFO] [stdout] --> src/arp.rs:142:41 [INFO] [stdout] | [INFO] [stdout] 142 | (*arp).status = ARP_MARK; [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: constant `crate::constants::ARP_MARK` exists but is inaccessible [INFO] [stdout] --> src/constants.rs:144:1 [INFO] [stdout] | [INFO] [stdout] 144 | const ARP_MARK: u16 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `iface_enumerate` in this scope [INFO] [stdout] --> src/arp.rs:147:17 [INFO] [stdout] | [INFO] [stdout] 147 | iface_enumerate(libc::AF_UNSPEC, null_mut(), filter_mac); [INFO] [stdout] | ^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: function `crate::bpf::iface_enumerate` exists but is inaccessible [INFO] [stdout] --> src/bpf.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | / fn iface_enumerate(family: c_int, parm: &mut c_void, callback: F) -> c_int [INFO] [stdout] 63 | | where [INFO] [stdout] 64 | | F: FnMut(&sockaddr_in, c_int, Option<&sockaddr_in>, &sockaddr_in, &mut c_void) -> c_int, [INFO] [stdout] ... | [INFO] [stdout] 128 | | ret [INFO] [stdout] 129 | | } [INFO] [stdout] | |_^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `ARP_MARK` in this scope [INFO] [stdout] --> src/arp.rs:152:40 [INFO] [stdout] | [INFO] [stdout] 152 | if (*up).status == ARP_MARK { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: constant `crate::constants::ARP_MARK` exists but is inaccessible [INFO] [stdout] --> src/constants.rs:144:1 [INFO] [stdout] | [INFO] [stdout] 144 | const ARP_MARK: u16 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `ARP_EMPTY` in this scope [INFO] [stdout] --> src/arp.rs:175:37 [INFO] [stdout] | [INFO] [stdout] 175 | (*new_arp).status = ARP_EMPTY; [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: constant `crate::constants::ARP_EMPTY` exists but is inaccessible [INFO] [stdout] --> src/constants.rs:147:1 [INFO] [stdout] | [INFO] [stdout] 147 | const ARP_EMPTY: u16 = 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `ARP_NEW` in this scope [INFO] [stdout] --> src/arp.rs:207:33 [INFO] [stdout] | [INFO] [stdout] 207 | if (*arp).status == ARP_NEW { [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: constant `crate::constants::ARP_NEW` exists but is inaccessible [INFO] [stdout] --> src/constants.rs:146:1 [INFO] [stdout] | [INFO] [stdout] 146 | const ARP_NEW: u16 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `ARP_FOUND` in this scope [INFO] [stdout] --> src/arp.rs:212:33 [INFO] [stdout] | [INFO] [stdout] 212 | (*arp).status = ARP_FOUND; [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: constant `crate::constants::ARP_FOUND` exists but is inaccessible [INFO] [stdout] --> src/constants.rs:145:1 [INFO] [stdout] | [INFO] [stdout] 145 | const ARP_FOUND: u16 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `F_IPV4` in this scope [INFO] [stdout] --> src/auth.rs:53:27 [INFO] [stdout] | [INFO] [stdout] 53 | if flag & F_IPV4 != 0 && is_same_net(addr4, addr_u4, current.prefixlen) { [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: constant `crate::constants::F_IPV4` exists but is inaccessible [INFO] [stdout] --> src/constants.rs:167:1 [INFO] [stdout] | [INFO] [stdout] 167 | const F_IPV4: u32 = 1 << 7; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `AF_LOCAL` in this scope [INFO] [stdout] --> src/bpf.rs:75:18 [INFO] [stdout] | [INFO] [stdout] 75 | if family == AF_LOCAL { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this constant [INFO] [stdout] | [INFO] [stdout] 2 + use libc::AF_LOCAL; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `if_nametoindex` in this scope [INFO] [stdout] --> src/bpf.rs:96:31 [INFO] [stdout] | [INFO] [stdout] 96 | let iface_index = if_nametoindex(ifa.ifa_name); [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 2 + use libc::if_nametoindex; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `DHCP_CHADDR_MAX` in this scope [INFO] [stdout] --> src/config.rs:202:22 [INFO] [stdout] | [INFO] [stdout] 202 | pub hwaddr: [u8; DHCP_CHADDR_MAX], [INFO] [stdout] | ^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: these constants exist but are inaccessible [INFO] [stdout] --> src/dhcp_protocol.rs:75:1 [INFO] [stdout] | [INFO] [stdout] 75 | const DHCP_CHADDR_MAX: usize = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::dhcp_protocol::DHCP_CHADDR_MAX`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/helper.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | const DHCP_CHADDR_MAX: usize = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::helper::DHCP_CHADDR_MAX`: not accessible [INFO] [stdout] help: consider importing this constant [INFO] [stdout] | [INFO] [stdout] 1 + use crate::constants::DHCP_CHADDR_MAX; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `mysockaddr` in this scope [INFO] [stdout] --> src/conntrack.rs:20:38 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn get_incoming_mark(peer_addr: &mysockaddr, local_addr: &all_addr, istcp: bool, markp: &mut u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `all_addr` in this scope [INFO] [stdout] --> src/conntrack.rs:20:63 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn get_incoming_mark(peer_addr: &mysockaddr, local_addr: &all_addr, istcp: bool, markp: &mut u32) -> bool { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `daemon` in this scope [INFO] [stdout] --> src/conntrack.rs:32:70 [INFO] [stdout] | [INFO] [stdout] 32 | nfct_set_attr_u16(ct, libnetfilter_conntrack::ATTR_PORT_DST, daemon.port.to_be()); [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: these statics exist but are inaccessible [INFO] [stdout] --> src/tftp.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | static mut daemon: Daemon; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::tftp::daemon`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/ubus.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 216 | static mut daemon: Daemon; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::ubus::daemon`: not accessible [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 2 + use libc::daemon; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `errno` in crate `libc` [INFO] [stdout] --> src/conntrack.rs:56:120 [INFO] [stdout] | [INFO] [stdout] 56 | ...failed: {}", CString::from_raw(libc::strerror(libc::errno())).into_string().unwrap()); [INFO] [stdout] | ^^^^^ not found in `libc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `OPTION_SIZE` in this scope [INFO] [stdout] --> src/daemon.rs:2:24 [INFO] [stdout] | [INFO] [stdout] 2 | pub options: [u32; OPTION_SIZE], [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this constant [INFO] [stdout] | [INFO] [stdout] 1 + use crate::util::OPTION_SIZE; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `__METRIC_MAX` in this scope [INFO] [stdout] --> src/dbus.rs:107:30 [INFO] [stdout] | [INFO] [stdout] 107 | metrics: vec![0; __METRIC_MAX], [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `DNSMASQ_PATH` in this scope [INFO] [stdout] --> src/dbus.rs:165:82 [INFO] [stdout] | [INFO] [stdout] 165 | ... let introspection_xml = INTROSPECTION_XML_TEMPLATE.replace("{path}", DNSMASQ_PATH).replace("{interface}", &data.dbus_name); [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this constant [INFO] [stdout] | [INFO] [stdout] 2 + use crate::config::DNSMASQ_PATH; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `VERSION` in this scope [INFO] [stdout] --> src/dbus.rs:170:27 [INFO] [stdout] | [INFO] [stdout] 170 | let version = VERSION; [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `OPT_FILTER` in this scope [INFO] [stdout] --> src/dbus.rs:179:36 [INFO] [stdout] | [INFO] [stdout] 179 | dbus_set_bool(message, OPT_FILTER, "filterwin2k")?; [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: constant `crate::constants::OPT_FILTER` exists but is inaccessible [INFO] [stdout] --> src/constants.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | const OPT_FILTER: i32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `OPT_LOCALISE` in this scope [INFO] [stdout] --> src/dbus.rs:188:36 [INFO] [stdout] | [INFO] [stdout] 188 | dbus_set_bool(message, OPT_LOCALISE, "localise-queries")?; [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: constant `crate::constants::OPT_LOCALISE` exists but is inaccessible [INFO] [stdout] --> src/constants.rs:61:1 [INFO] [stdout] | [INFO] [stdout] 61 | const OPT_LOCALISE: i32 = 18; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `OPT_BOGUSPRIV` in this scope [INFO] [stdout] --> src/dbus.rs:191:36 [INFO] [stdout] | [INFO] [stdout] 191 | dbus_set_bool(message, OPT_BOGUSPRIV, "bogus-priv")?; [INFO] [stdout] | ^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: constant `crate::constants::OPT_BOGUSPRIV` exists but is inaccessible [INFO] [stdout] --> src/constants.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | const OPT_BOGUSPRIV: i32 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `option_bool` in this scope [INFO] [stdout] --> src/dbus.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 200 | if option_bool(OPT_RELOAD) { [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: these functions exist but are inaccessible [INFO] [stdout] --> src/blockdata.rs:208:1 [INFO] [stdout] | [INFO] [stdout] 208 | fn option_bool(option: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::blockdata::option_bool`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/helper.rs:148:1 [INFO] [stdout] | [INFO] [stdout] 148 | fn option_bool(option: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::helper::option_bool`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/inotify.rs:126:1 [INFO] [stdout] | [INFO] [stdout] 126 | fn option_bool(option: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::inotify::option_bool`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/loop_impl.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | fn option_bool(option: c_int) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::loop_impl::option_bool`: not accessible [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 2 + use crate::util::option_bool; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `OPT_RELOAD` in this scope [INFO] [stdout] --> src/dbus.rs:200:24 [INFO] [stdout] | [INFO] [stdout] 200 | if option_bool(OPT_RELOAD) { [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: constant `crate::constants::OPT_RELOAD` exists but is inaccessible [INFO] [stdout] --> src/constants.rs:67:1 [INFO] [stdout] | [INFO] [stdout] 67 | const OPT_RELOAD: i32 = 24; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `DNSMASQ_PATH` in this scope [INFO] [stdout] --> src/dbus.rs:215:37 [INFO] [stdout] | [INFO] [stdout] 215 | connection.register_object_path(DNSMASQ_PATH, move |conn, msg| { [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this constant [INFO] [stdout] | [INFO] [stdout] 2 + use crate::config::DNSMASQ_PATH; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `IPTOS_CLASS_CS6` in crate `libc` [INFO] [stdout] --> src/dhcp6.rs:37:27 [INFO] [stdout] | [INFO] [stdout] 37 | let class = libc::IPTOS_CLASS_CS6; [INFO] [stdout] | ^^^^^^^^^^^^^^^ not found in `libc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `DhcpNetId` in this scope [INFO] [stdout] --> src/dhcp_boot.rs:8:27 [INFO] [stdout] | [INFO] [stdout] 8 | pub netid: Option>, [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 + use crate::dhcp_netid::DhcpNetId; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `IF_NAMESIZE` in this scope [INFO] [stdout] --> src/dhcp_bridge.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | iface: [u8; IF_NAMESIZE], [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: these constants exist but are inaccessible [INFO] [stdout] --> src/helper.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | const IF_NAMESIZE: usize = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::helper::IF_NAMESIZE`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/tftp.rs:56:1 [INFO] [stdout] | [INFO] [stdout] 56 | const IF_NAMESIZE: usize = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::tftp::IF_NAMESIZE`: not accessible [INFO] [stdout] help: consider importing this constant [INFO] [stdout] | [INFO] [stdout] 1 + use libc::IF_NAMESIZE; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `DHCP_CHADDR_MAX` in this scope [INFO] [stdout] --> src/dhcp_lease.rs:16:22 [INFO] [stdout] | [INFO] [stdout] 16 | pub hwaddr: [u8; DHCP_CHADDR_MAX], [INFO] [stdout] | ^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: these constants exist but are inaccessible [INFO] [stdout] --> src/dhcp_protocol.rs:75:1 [INFO] [stdout] | [INFO] [stdout] 75 | const DHCP_CHADDR_MAX: usize = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::dhcp_protocol::DHCP_CHADDR_MAX`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/helper.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | const DHCP_CHADDR_MAX: usize = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::helper::DHCP_CHADDR_MAX`: not accessible [INFO] [stdout] help: consider importing this constant [INFO] [stdout] | [INFO] [stdout] 1 + use crate::constants::DHCP_CHADDR_MAX; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `DHCP_CHADDR_MAX` in this scope [INFO] [stdout] --> src/dhcp_mac.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | hwaddr: [u8; DHCP_CHADDR_MAX], [INFO] [stdout] | ^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: these constants exist but are inaccessible [INFO] [stdout] --> src/dhcp_protocol.rs:75:1 [INFO] [stdout] | [INFO] [stdout] 75 | const DHCP_CHADDR_MAX: usize = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::dhcp_protocol::DHCP_CHADDR_MAX`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/helper.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | const DHCP_CHADDR_MAX: usize = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::helper::DHCP_CHADDR_MAX`: not accessible [INFO] [stdout] help: consider importing this constant [INFO] [stdout] | [INFO] [stdout] 1 + use crate::constants::DHCP_CHADDR_MAX; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `DhcpNetId` in this scope [INFO] [stdout] --> src/dhcp_mac.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | netid: DhcpNetId, [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 + use crate::dhcp_netid::DhcpNetId; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `time_t` in this scope [INFO] [stdout] --> src/dnssec.rs:14:35 [INFO] [stdout] | [INFO] [stdout] 14 | static mut TIMESTAMP_TIME: Option = None; [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these type aliases [INFO] [stdout] | [INFO] [stdout] 1 + use std::os::linux::raw::time_t; [INFO] [stdout] | [INFO] [stdout] 1 + use libc::time_t; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `time_t` in this scope [INFO] [stdout] --> src/dnssec.rs:57:117 [INFO] [stdout] | [INFO] [stdout] 57 | TIMESTAMP_TIME = Some(metadata.modified().unwrap().duration_since(UNIX_EPOCH).unwrap().as_secs() as time_t); [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these type aliases [INFO] [stdout] | [INFO] [stdout] 1 + use std::os::linux::raw::time_t; [INFO] [stdout] | [INFO] [stdout] 1 + use libc::time_t; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `time_t` in this scope [INFO] [stdout] --> src/dnssec.rs:58:122 [INFO] [stdout] | [INFO] [stdout] 58 | if diff_time(TIMESTAMP_TIME.unwrap(), SystemTime::now().duration_since(UNIX_EPOCH).unwrap().as_secs() as time_t) <= 0 { [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these type aliases [INFO] [stdout] | [INFO] [stdout] 1 + use std::os::linux::raw::time_t; [INFO] [stdout] | [INFO] [stdout] 1 + use libc::time_t; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `time_t` in this scope [INFO] [stdout] --> src/dnssec.rs:87:130 [INFO] [stdout] | [INFO] [stdout] 87 | ...duration_since(UNIX_EPOCH).unwrap().as_secs() as time_t) <= 0 { [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these type aliases [INFO] [stdout] | [INFO] [stdout] 1 + use std::os::linux::raw::time_t; [INFO] [stdout] | [INFO] [stdout] 1 + use libc::time_t; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `time_t` in this scope [INFO] [stdout] --> src/dnssec.rs:104:92 [INFO] [stdout] | [INFO] [stdout] 104 | if !daemon.back_to_the_future && diff_time(TIMESTAMP_TIME.unwrap(), curtime as time_t) <= 0 { [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these type aliases [INFO] [stdout] | [INFO] [stdout] 1 + use std::os::linux::raw::time_t; [INFO] [stdout] | [INFO] [stdout] 1 + use libc::time_t; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `time_t` in this scope [INFO] [stdout] --> src/dnssec.rs:124:21 [INFO] [stdout] | [INFO] [stdout] 124 | fn diff_time(time1: time_t, time2: time_t) -> i64 { [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these type aliases [INFO] [stdout] | [INFO] [stdout] 1 + use std::os::linux::raw::time_t; [INFO] [stdout] | [INFO] [stdout] 1 + use libc::time_t; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `time_t` in this scope [INFO] [stdout] --> src/dnssec.rs:124:36 [INFO] [stdout] | [INFO] [stdout] 124 | fn diff_time(time1: time_t, time2: time_t) -> i64 { [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these type aliases [INFO] [stdout] | [INFO] [stdout] 1 + use std::os::linux::raw::time_t; [INFO] [stdout] | [INFO] [stdout] 1 + use libc::time_t; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `F_IPV4` in this scope [INFO] [stdout] --> src/domain.rs:125:16 [INFO] [stdout] | [INFO] [stdout] 27 | const F_IPV6: i32 = 1; [INFO] [stdout] | ---------------------- similarly named constant `F_IPV6` defined here [INFO] [stdout] ... [INFO] [stdout] 125 | if (flag & F_IPV4 != 0) && (c = search_domain(unsafe { addr.addr4 }, DAEMON.as_ref().unwrap().synth_domains)).is_some() { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: constant `crate::constants::F_IPV4` exists but is inaccessible [INFO] [stdout] --> src/constants.rs:167:1 [INFO] [stdout] | [INFO] [stdout] 167 | const F_IPV4: u32 = 1 << 7; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] help: a constant with a similar name exists [INFO] [stdout] | [INFO] [stdout] 125 - if (flag & F_IPV4 != 0) && (c = search_domain(unsafe { addr.addr4 }, DAEMON.as_ref().unwrap().synth_domains)).is_some() { [INFO] [stdout] 125 + if (flag & F_IPV6 != 0) && (c = search_domain(unsafe { addr.addr4 }, DAEMON.as_ref().unwrap().synth_domains)).is_some() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `HostsFile` in this scope [INFO] [stdout] --> src/dyn_dir.rs:3:27 [INFO] [stdout] | [INFO] [stdout] 3 | pub files: Option>, [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: struct `crate::cache::HostsFile` exists but is inaccessible [INFO] [stdout] --> src/cache.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | struct HostsFile { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 + use crate::hosts_file::HostsFile; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `skip_name` in this scope [INFO] [stdout] --> src/edns0.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | if skip_name(&mut ansp, header, plen, 4).is_none() { [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: function `crate::rrfilter::skip_name` exists but is inaccessible [INFO] [stdout] --> src/rrfilter.rs:182:1 [INFO] [stdout] | [INFO] [stdout] 182 | fn skip_name(mut p: *const u8, header: &DnsHeader, plen: usize, maxlen: usize) -> (*const u8, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `skip_name` in this scope [INFO] [stdout] --> src/edns0.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 76 | if skip_name(&mut ansp, header, plen, 10).is_none() { [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: function `crate::rrfilter::skip_name` exists but is inaccessible [INFO] [stdout] --> src/rrfilter.rs:182:1 [INFO] [stdout] | [INFO] [stdout] 182 | fn skip_name(mut p: *const u8, header: &DnsHeader, plen: usize, maxlen: usize) -> (*const u8, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `udplen` in this scope [INFO] [stdout] --> src/edns0.rs:152:9 [INFO] [stdout] | [INFO] [stdout] 152 | udplen = get_short!(p); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 152 | udp_len = get_short!(p); [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to introduce a new binding [INFO] [stdout] | [INFO] [stdout] 152 | let udplen = get_short!(p); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `udplen` in this scope [INFO] [stdout] --> src/edns0.rs:153:33 [INFO] [stdout] | [INFO] [stdout] 153 | if plen >= p as usize + udplen { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 153 | if plen >= p as usize + udp_len { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `udplen` in this scope [INFO] [stdout] --> src/edns0.rs:164:23 [INFO] [stdout] | [INFO] [stdout] 164 | while i + 4 < udplen as usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 164 | while i + 4 < udp_len as usize { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `udplen` in this scope [INFO] [stdout] --> src/edns0.rs:168:39 [INFO] [stdout] | [INFO] [stdout] 168 | if i + 4 + len as usize > udplen as usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 168 | if i + 4 + len as usize > udp_len as usize { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `udplen` in this scope [INFO] [stdout] --> src/edns0.rs:169:17 [INFO] [stdout] | [INFO] [stdout] 169 | udplen = 0; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 169 | udp_len = 0; [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to introduce a new binding [INFO] [stdout] | [INFO] [stdout] 169 | let udplen = 0; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `IpAddr` in this scope [INFO] [stdout] --> src/forward.rs:58:20 [INFO] [stdout] | [INFO] [stdout] 58 | source: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] --> /rustc/36e2b8a3a7aad93f8a92db6d254b746aa94ed6da/library/core/src/net/ip_addr.rs:73:0 [INFO] [stdout] | [INFO] [stdout] = note: similarly named struct `Ipv4Addr` defined here [INFO] [stdout] help: a struct with a similar name exists [INFO] [stdout] | [INFO] [stdout] 58 | source: Option, [INFO] [stdout] | ++ [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 1 + use std::net::IpAddr; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `IpAddr` [INFO] [stdout] --> src/forward.rs:70:17 [INFO] [stdout] | [INFO] [stdout] 70 | IpAddr::V4(addr) => { [INFO] [stdout] | ^^^^^^ use of undeclared type `IpAddr` [INFO] [stdout] | [INFO] [stdout] help: a struct with a similar name exists [INFO] [stdout] | [INFO] [stdout] 70 | Ipv4Addr::V4(addr) => { [INFO] [stdout] | ++ [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 1 + use std::net::IpAddr; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `IpAddr` [INFO] [stdout] --> src/forward.rs:86:17 [INFO] [stdout] | [INFO] [stdout] 86 | IpAddr::V6(addr) => { [INFO] [stdout] | ^^^^^^ use of undeclared type `IpAddr` [INFO] [stdout] | [INFO] [stdout] help: a struct with a similar name exists [INFO] [stdout] | [INFO] [stdout] 86 | Ipv4Addr::V6(addr) => { [INFO] [stdout] | ++ [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 1 + use std::net::IpAddr; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `IpAddr` [INFO] [stdout] --> src/forward.rs:131:23 [INFO] [stdout] | [INFO] [stdout] 131 | let source = Some(IpAddr::V4(Ipv4Addr::new(192, 168, 1, 100))); [INFO] [stdout] | ^^^^^^ use of undeclared type `IpAddr` [INFO] [stdout] | [INFO] [stdout] help: a struct with a similar name exists [INFO] [stdout] | [INFO] [stdout] 131 | let source = Some(Ipv4Addr::V4(Ipv4Addr::new(192, 168, 1, 100))); [INFO] [stdout] | ++ [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 1 + use std::net::IpAddr; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `HASH_SIZE` in this scope [INFO] [stdout] --> src/frec.rs:18:25 [INFO] [stdout] | [INFO] [stdout] 18 | pub hash: [*mut u8; HASH_SIZE], [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: constant `crate::constants::HASH_SIZE` exists but is inaccessible [INFO] [stdout] --> src/constants.rs:282:1 [INFO] [stdout] | [INFO] [stdout] 282 | const HASH_SIZE: usize = 32; // SHA-256 digest size [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `c_long` in this scope [INFO] [stdout] --> src/helper.rs:84:78 [INFO] [stdout] | [INFO] [stdout] 84 | fn create_helper(event_fd: RawFd, err_fd: RawFd, uid: u32, gid: u32, max_fd: c_long) -> io::Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] --> /rustc/36e2b8a3a7aad93f8a92db6d254b746aa94ed6da/library/std/src/os/raw/mod.rs:13:8 [INFO] [stdout] | [INFO] [stdout] = note: similarly named type alias `c_ulong` defined here [INFO] [stdout] help: a type alias with a similar name exists [INFO] [stdout] | [INFO] [stdout] 84 | fn create_helper(event_fd: RawFd, err_fd: RawFd, uid: u32, gid: u32, max_fd: c_ulong) -> io::Result { [INFO] [stdout] | + [INFO] [stdout] help: consider importing one of these type aliases [INFO] [stdout] | [INFO] [stdout] 1 + use std::ffi::c_long; [INFO] [stdout] | [INFO] [stdout] 1 + use std::os::raw::c_long; [INFO] [stdout] | [INFO] [stdout] 1 + use core::ffi::c_long; [INFO] [stdout] | [INFO] [stdout] 1 + use libc::c_long; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `NAME_MAX` in crate `libc` [INFO] [stdout] --> src/inotify.rs:12:78 [INFO] [stdout] | [INFO] [stdout] 12 | const INOTIFY_SZ: usize = std::mem::size_of::() + libc::NAME_MAX as usize + 1; [INFO] [stdout] | ^^^^^^^^ not found in `libc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `MySockAddr` in this scope [INFO] [stdout] --> src/irec.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | pub addr: MySockAddr, [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 1 + use crate::my_sock_addr::MySockAddr; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `MySockAddr` in this scope [INFO] [stdout] --> src/listener.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | pub addr: MySockAddr, [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 1 + use crate::my_sock_addr::MySockAddr; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `Irec` in this scope [INFO] [stdout] --> src/listener.rs:7:27 [INFO] [stdout] | [INFO] [stdout] 7 | pub iface: Option>, // only sometimes valid for non-wildcard [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 + use crate::irec::Irec; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `fchmod` in this scope [INFO] [stdout] --> src/log.rs:103:29 [INFO] [stdout] | [INFO] [stdout] 103 | let _ = fchmod(config.log_fd, Mode::S_IRUSR | Mode::S_IWUSR | Mode::S_IRGRP | Mode::S_IWGRP); [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 1 + use libc::fchmod; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `fchown` in this scope [INFO] [stdout] --> src/log.rs:105:35 [INFO] [stdout] | [INFO] [stdout] 105 | if let Err(err) = fchown(config.log_fd, ent_pw.pw_uid, -1) { [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these functions [INFO] [stdout] | [INFO] [stdout] 1 + use std::os::unix::fs::fchown; [INFO] [stdout] | [INFO] [stdout] 1 + use libc::fchown; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `sprintf` in this scope [INFO] [stdout] --> src/loop_impl.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | sprintf((p as *mut c_char), "%.8x\0".as_ptr() as *const c_char, uid); [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 1 + use libc::sprintf; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `__METRIC_MAX` in this scope [INFO] [stdout] --> src/metrics.rs:1:32 [INFO] [stdout] | [INFO] [stdout] 1 | pub const METRIC_NAMES: [&str; __METRIC_MAX] = [ [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `netlink_pid` in this scope [INFO] [stdout] --> src/netlink.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | netlink_pid = addr.nl_pid as u32; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to introduce a new binding [INFO] [stdout] | [INFO] [stdout] 82 | let netlink_pid = addr.nl_pid as u32; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `iov` in this scope [INFO] [stdout] --> src/netlink.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | iov.iov_len = 100; [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `iov` in this scope [INFO] [stdout] --> src/netlink.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | iov.iov_base = safe_malloc(iov.iov_len); [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `iov` in this scope [INFO] [stdout] --> src/netlink.rs:85:32 [INFO] [stdout] | [INFO] [stdout] 85 | iov.iov_base = safe_malloc(iov.iov_len); [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `ssize_t` in this scope [INFO] [stdout] --> src/netlink.rs:98:17 [INFO] [stdout] | [INFO] [stdout] 98 | let mut rc: ssize_t; [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this type alias [INFO] [stdout] | [INFO] [stdout] 1 + use libc::ssize_t; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `iov` in this scope [INFO] [stdout] --> src/netlink.rs:105:28 [INFO] [stdout] | [INFO] [stdout] 105 | msg.msg_iov = &mut iov; [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `iov` in this scope [INFO] [stdout] --> src/netlink.rs:119:31 [INFO] [stdout] | [INFO] [stdout] 119 | if rc as usize == iov.iov_len { [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `iov` in this scope [INFO] [stdout] --> src/netlink.rs:120:36 [INFO] [stdout] | [INFO] [stdout] 120 | if expand_buf(&mut iov, rc as usize + 100) { [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `iov` in this scope [INFO] [stdout] --> src/netlink.rs:124:33 [INFO] [stdout] | [INFO] [stdout] 124 | expand_buf(&mut iov, rc as usize); [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `daemon` in this scope [INFO] [stdout] --> src/network.rs:105:29 [INFO] [stdout] | [INFO] [stdout] 105 | if let Some(if_names) = daemon.if_names.as_ref() { [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: these statics exist but are inaccessible [INFO] [stdout] --> src/tftp.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | static mut daemon: Daemon; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::tftp::daemon`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/ubus.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 216 | static mut daemon: Daemon; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::ubus::daemon`: not accessible [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 1 + use libc::daemon; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `INAME_USED` in this scope [INFO] [stdout] --> src/network.rs:111:34 [INFO] [stdout] | [INFO] [stdout] 111 | tmp.flags |= INAME_USED; [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: constant `crate::constants::INAME_USED` exists but is inaccessible [INFO] [stdout] --> src/constants.rs:220:1 [INFO] [stdout] | [INFO] [stdout] 220 | const INAME_USED: i32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `daemon` in this scope [INFO] [stdout] --> src/network.rs:118:24 [INFO] [stdout] | [INFO] [stdout] 118 | for tmp in daemon.if_addrs.iter().filter(|tmp| tmp.addr.sa_family == family) { [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: these statics exist but are inaccessible [INFO] [stdout] --> src/tftp.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | static mut daemon: Daemon; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::tftp::daemon`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/ubus.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 216 | static mut daemon: Daemon; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::ubus::daemon`: not accessible [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 1 + use libc::daemon; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `INAME_USED` in this scope [INFO] [stdout] --> src/network.rs:123:46 [INFO] [stdout] | [INFO] [stdout] 123 | ... tmp.flags |= INAME_USED; [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: constant `crate::constants::INAME_USED` exists but is inaccessible [INFO] [stdout] --> src/constants.rs:220:1 [INFO] [stdout] | [INFO] [stdout] 220 | const INAME_USED: i32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `INAME_USED` in this scope [INFO] [stdout] --> src/network.rs:132:46 [INFO] [stdout] | [INFO] [stdout] 132 | ... tmp.flags |= INAME_USED; [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: constant `crate::constants::INAME_USED` exists but is inaccessible [INFO] [stdout] --> src/constants.rs:220:1 [INFO] [stdout] | [INFO] [stdout] 220 | const INAME_USED: i32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `daemon` in this scope [INFO] [stdout] --> src/network.rs:145:20 [INFO] [stdout] | [INFO] [stdout] 145 | for tmp in daemon.if_except.iter() { [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: these statics exist but are inaccessible [INFO] [stdout] --> src/tftp.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | static mut daemon: Daemon; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::tftp::daemon`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/ubus.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 216 | static mut daemon: Daemon; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::ubus::daemon`: not accessible [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 1 + use libc::daemon; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `daemon` in this scope [INFO] [stdout] --> src/network.rs:157:20 [INFO] [stdout] | [INFO] [stdout] 157 | for tmp in daemon.authinterface.iter() { [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: these statics exist but are inaccessible [INFO] [stdout] --> src/tftp.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | static mut daemon: Daemon; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::tftp::daemon`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/ubus.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 216 | static mut daemon: Daemon; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::ubus::daemon`: not accessible [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 1 + use libc::daemon; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `NULL` in this scope [INFO] [stdout] --> src/option.rs:34:6 [INFO] [stdout] | [INFO] [stdout] 34 | (NULL, 0) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this constant [INFO] [stdout] | [INFO] [stdout] 1 + use pnet::packet::dns::DnsTypes::NULL; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `OUTPACKET_COUNTER` in this scope [INFO] [stdout] --> src/outpacket.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let len = OUTPACKET_COUNTER - container - 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `OUTPACKET_COUNTER` in this scope [INFO] [stdout] --> src/outpacket.rs:28:15 [INFO] [stdout] | [INFO] [stdout] 28 | let ret = OUTPACKET_COUNTER; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `OUTPACKET_COUNTER` in this scope [INFO] [stdout] --> src/outpacket.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | OUTPACKET_COUNTER = newval as size_t; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to introduce a new binding [INFO] [stdout] | [INFO] [stdout] 31 | let OUTPACKET_COUNTER = newval as size_t; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `OUTPACKET_COUNTER` in this scope [INFO] [stdout] --> src/outpacket.rs:39:42 [INFO] [stdout] | [INFO] [stdout] 39 | if expand_buf(&mut daemon.outpacket, OUTPACKET_COUNTER + headroom) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `OUTPACKET_COUNTER` in this scope [INFO] [stdout] --> src/outpacket.rs:40:52 [INFO] [stdout] | [INFO] [stdout] 40 | let ret = daemon.outpacket.iov_base.offset(OUTPACKET_COUNTER as isize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `OUTPACKET_COUNTER` in this scope [INFO] [stdout] --> src/outpacket.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | OUTPACKET_COUNTER += headroom; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `OUTPACKET_COUNTER` in this scope [INFO] [stdout] --> src/outpacket.rs:49:15 [INFO] [stdout] | [INFO] [stdout] 49 | let ret = OUTPACKET_COUNTER; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `DhcpNetId` in this scope [INFO] [stdout] --> src/radv.rs:17:16 [INFO] [stdout] | [INFO] [stdout] 17 | tags: *mut DhcpNetId, [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 + use crate::dhcp_netid::DhcpNetId; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `in6_addr` in this scope [INFO] [stdout] --> src/radv.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | link_local: in6_addr, [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 + use libc::in6_addr; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `in6_addr` in this scope [INFO] [stdout] --> src/radv.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 19 | link_global: in6_addr, [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 + use libc::in6_addr; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `in6_addr` in this scope [INFO] [stdout] --> src/radv.rs:20:10 [INFO] [stdout] | [INFO] [stdout] 20 | ula: in6_addr, [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 + use libc::in6_addr; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `DhcpContext` in this scope [INFO] [stdout] --> src/radv.rs:26:25 [INFO] [stdout] | [INFO] [stdout] 26 | found_context: *mut DhcpContext, [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: these structs exist but are inaccessible [INFO] [stdout] --> src/dhcp.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | struct DhcpContext { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ `crate::dhcp::DhcpContext`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/slaac.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | struct DhcpContext { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ `crate::slaac::DhcpContext`: not accessible [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 + use crate::dhcp6::DhcpContext; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `DhcpBridge` in this scope [INFO] [stdout] --> src/radv.rs:37:18 [INFO] [stdout] | [INFO] [stdout] 37 | bridge: *mut DhcpBridge, [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 + use crate::dhcp_bridge::DhcpBridge; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `c_void` in this scope [INFO] [stdout] --> src/radv.rs:44:42 [INFO] [stdout] | [INFO] [stdout] 44 | fn expand_buf(daemon_outpacket: *mut c_void, size: size_t) -> bool; [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these items [INFO] [stdout] | [INFO] [stdout] 1 + use std::ffi::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use std::os::raw::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use core::ffi::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use libc::c_void; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `pollfd` in this scope [INFO] [stdout] --> src/radv.rs:51:25 [INFO] [stdout] | [INFO] [stdout] 51 | static mut POLLFDS: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 + use libc::pollfd; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `c_void` in this scope [INFO] [stdout] --> src/radv.rs:62:98 [INFO] [stdout] | [INFO] [stdout] 62 | fn send_ra_to_aliases(index: c_int, ttype: u32, mac: *const c_char, maclen: size_t, parm: *const c_void) -> c_int { [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these items [INFO] [stdout] | [INFO] [stdout] 1 + use std::ffi::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use std::os::raw::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use core::ffi::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use libc::c_void; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `c_void` in this scope [INFO] [stdout] --> src/radv.rs:67:146 [INFO] [stdout] | [INFO] [stdout] 67 | ... c_int, preferred: u32, valid: u32, vparam: *mut c_void) -> c_int { [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these items [INFO] [stdout] | [INFO] [stdout] 1 + use std::ffi::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use std::os::raw::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use core::ffi::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use libc::c_void; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `c_void` in this scope [INFO] [stdout] --> src/radv.rs:72:149 [INFO] [stdout] | [INFO] [stdout] 72 | ...int, prefered: c_int, valid: c_int, vparam: *mut c_void) -> c_int { [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these items [INFO] [stdout] | [INFO] [stdout] 1 + use std::ffi::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use std::os::raw::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use core::ffi::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use libc::c_void; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `c_void` in this scope [INFO] [stdout] --> src/radv.rs:77:87 [INFO] [stdout] | [INFO] [stdout] 77 | fn add_lla(index: c_int, ttype: u32, mac: *const c_char, maclen: size_t, parm: *const c_void) -> c_int { [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these items [INFO] [stdout] | [INFO] [stdout] 1 + use std::ffi::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use std::os::raw::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use core::ffi::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use libc::c_void; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `DhcpContext` in this scope [INFO] [stdout] --> src/radv.rs:82:30 [INFO] [stdout] | [INFO] [stdout] 82 | fn new_timeout(context: *mut DhcpContext, iface_name: *const c_char, now: time_t) { [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: these structs exist but are inaccessible [INFO] [stdout] --> src/dhcp.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | struct DhcpContext { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ `crate::dhcp::DhcpContext`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/slaac.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | struct DhcpContext { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ `crate::slaac::DhcpContext`: not accessible [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 + use crate::dhcp6::DhcpContext; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `RaInterface` in this scope [INFO] [stdout] --> src/radv.rs:86:29 [INFO] [stdout] | [INFO] [stdout] 86 | fn calc_lifetime(ra: *const RaInterface) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 + use crate::ra_interface::RaInterface; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `RaInterface` in this scope [INFO] [stdout] --> src/radv.rs:91:29 [INFO] [stdout] | [INFO] [stdout] 91 | fn calc_interval(ra: *const RaInterface) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 + use crate::ra_interface::RaInterface; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `RaInterface` in this scope [INFO] [stdout] --> src/radv.rs:96:25 [INFO] [stdout] | [INFO] [stdout] 96 | fn calc_prio(ra: *const RaInterface) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 + use crate::ra_interface::RaInterface; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `RaInterface` in this scope [INFO] [stdout] --> src/radv.rs:101:51 [INFO] [stdout] | [INFO] [stdout] 101 | fn find_iface_param(iface: *const c_char) -> *mut RaInterface { [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 + use crate::ra_interface::RaInterface; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `ICMP6_FILTER` in this scope [INFO] [stdout] --> src/radv.rs:107:21 [INFO] [stdout] | [INFO] [stdout] 107 | let mut filter: ICMP6_FILTER = unsafe { mem::zeroed() }; [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `DhcpContext` in this scope [INFO] [stdout] --> src/radv.rs:111:27 [INFO] [stdout] | [INFO] [stdout] 111 | let mut context: *mut DhcpContext; [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: these structs exist but are inaccessible [INFO] [stdout] --> src/dhcp.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | struct DhcpContext { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ `crate::dhcp::DhcpContext`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/slaac.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | struct DhcpContext { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ `crate::slaac::DhcpContext`: not accessible [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 + use crate::dhcp6::DhcpContext; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `daemon` in this scope [INFO] [stdout] --> src/radv.rs:114:27 [INFO] [stdout] | [INFO] [stdout] 114 | expand_buf(&mut (*daemon.outpacket), mem::size_of::()); [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: these statics exist but are inaccessible [INFO] [stdout] --> src/tftp.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | static mut daemon: Daemon; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::tftp::daemon`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/ubus.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 216 | static mut daemon: Daemon; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::ubus::daemon`: not accessible [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 1 + use libc::daemon; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `DhcpPacket` in this scope [INFO] [stdout] --> src/radv.rs:114:61 [INFO] [stdout] | [INFO] [stdout] 114 | expand_buf(&mut (*daemon.outpacket), mem::size_of::()); [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: these structs exist but are inaccessible [INFO] [stdout] --> src/dhcp.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | struct DhcpPacket { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ `crate::dhcp::DhcpPacket`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/dhcp_common.rs:33:1 [INFO] [stdout] | [INFO] [stdout] 33 | struct DhcpPacket { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ `crate::dhcp_common::DhcpPacket`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/dhcp_protocol.rs:78:1 [INFO] [stdout] | [INFO] [stdout] 78 | struct DhcpPacket { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ `crate::dhcp_protocol::DhcpPacket`: not accessible [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 + use pnet::packet::dhcp::DhcpPacket; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `daemon` in this scope [INFO] [stdout] --> src/radv.rs:118:19 [INFO] [stdout] | [INFO] [stdout] 118 | context = daemon.dhcp6; [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: these statics exist but are inaccessible [INFO] [stdout] --> src/tftp.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | static mut daemon: Daemon; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::tftp::daemon`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/ubus.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 216 | static mut daemon: Daemon; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::ubus::daemon`: not accessible [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 1 + use libc::daemon; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `CONTEXT_RA_NAME` in this scope [INFO] [stdout] --> src/radv.rs:120:35 [INFO] [stdout] | [INFO] [stdout] 120 | if (*context).flags & CONTEXT_RA_NAME != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `daemon` in this scope [INFO] [stdout] --> src/radv.rs:129:21 [INFO] [stdout] | [INFO] [stdout] 129 | if unsafe { daemon.doing_ra } != 0 { [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: these statics exist but are inaccessible [INFO] [stdout] --> src/tftp.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | static mut daemon: Daemon; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::tftp::daemon`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/ubus.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 216 | static mut daemon: Daemon; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::ubus::daemon`: not accessible [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 1 + use libc::daemon; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `mem` [INFO] [stdout] --> src/rfc2131.rs:166:41 [INFO] [stdout] | [INFO] [stdout] 166 | unsafe { ptr::write_bytes(addrp, 0, mem::size_of::()) }; [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `mem` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `mem`, use `cargo add mem` to add it to your `Cargo.toml` [INFO] [stdout] help: consider importing this module [INFO] [stdout] | [INFO] [stdout] 1 + use std::mem; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `IF_NAMESIZE` in this scope [INFO] [stdout] --> src/server.rs:16:32 [INFO] [stdout] | [INFO] [stdout] 16 | pub(crate) interface: [u8; IF_NAMESIZE + 1], [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: these constants exist but are inaccessible [INFO] [stdout] --> src/helper.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | const IF_NAMESIZE: usize = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::helper::IF_NAMESIZE`: not accessible [INFO] [stdout] | [INFO] [stdout] ::: src/tftp.rs:56:1 [INFO] [stdout] | [INFO] [stdout] 56 | const IF_NAMESIZE: usize = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `crate::tftp::IF_NAMESIZE`: not accessible [INFO] [stdout] help: consider importing this constant [INFO] [stdout] | [INFO] [stdout] 1 + use libc::IF_NAMESIZE; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `time_t` in this scope [INFO] [stdout] --> src/slaac.rs:112:65 [INFO] [stdout] | [INFO] [stdout] 112 | fn periodic_slaac(now: SystemTime, leases: &mut [DhcpLease]) -> time_t { [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these type aliases [INFO] [stdout] | [INFO] [stdout] 1 + use std::os::linux::raw::time_t; [INFO] [stdout] | [INFO] [stdout] 1 + use libc::time_t; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Duration` [INFO] [stdout] --> src/slaac.rs:147:38 [INFO] [stdout] | [INFO] [stdout] 147 | sa.ping_time = now + Duration::from_secs((sa.backoff * 60) as u64); [INFO] [stdout] | ^^^^^^^^ use of undeclared type `Duration` [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 + use std::time::Duration; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `DIOCRADDTABLES` in crate `libc` [INFO] [stdout] --> src/tables.rs:105:32 [INFO] [stdout] | [INFO] [stdout] 105 | if ioctl(dev_fd, libc::DIOCRADDTABLES, &mut io) != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in `libc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `DIOCRDELADDRS` in crate `libc` [INFO] [stdout] --> src/tables.rs:139:44 [INFO] [stdout] | [INFO] [stdout] 139 | if ioctl(dev_fd, if remove { libc::DIOCRDELADDRS } else { libc::DIOCRADDADDRS }, &mut io) != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^ not found in `libc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `DIOCRADDADDRS` in crate `libc` [INFO] [stdout] --> src/tables.rs:139:73 [INFO] [stdout] | [INFO] [stdout] 139 | if ioctl(dev_fd, if remove { libc::DIOCRDELADDRS } else { libc::DIOCRADDADDRS }, &mut io) != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^ not found in `libc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `c_void` in this scope [INFO] [stdout] --> src/tftp.rs:53:22 [INFO] [stdout] | [INFO] [stdout] 53 | srv_save: *const c_void, [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these items [INFO] [stdout] | [INFO] [stdout] 1 + use std::ffi::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use std::os::raw::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use core::ffi::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use libc::c_void; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `c_void` in this scope [INFO] [stdout] --> src/tftp.rs:117:23 [INFO] [stdout] | [INFO] [stdout] 117 | let mut tmp: *mut c_void = ptr::null_mut(); [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these items [INFO] [stdout] | [INFO] [stdout] 1 + use std::ffi::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use std::os::raw::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use core::ffi::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use libc::c_void; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `c_void` in this scope [INFO] [stdout] --> src/tftp.rs:130:54 [INFO] [stdout] | [INFO] [stdout] 130 | msg.msg_control = control_u.as_mut_ptr() as *mut c_void; [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these items [INFO] [stdout] | [INFO] [stdout] 1 + use std::ffi::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use std::os::raw::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use core::ffi::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use libc::c_void; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `c_void` in this scope [INFO] [stdout] --> src/tftp.rs:133:48 [INFO] [stdout] | [INFO] [stdout] 133 | msg.msg_name = &mut peer as *mut _ as *mut c_void; [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these items [INFO] [stdout] | [INFO] [stdout] 1 + use std::ffi::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use std::os::raw::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use core::ffi::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use libc::c_void; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `c_void` in this scope [INFO] [stdout] --> src/tftp.rs:135:48 [INFO] [stdout] | [INFO] [stdout] 135 | iov.iov_base = packet.as_mut_ptr() as *mut c_void; [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these items [INFO] [stdout] | [INFO] [stdout] 1 + use std::ffi::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use std::os::raw::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use core::ffi::c_void; [INFO] [stdout] | [INFO] [stdout] 1 + use libc::c_void; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `OPT_LAST` in this scope [INFO] [stdout] --> src/util.rs:277:6 [INFO] [stdout] | [INFO] [stdout] 277 | (OPT_LAST as usize / OPTION_BITS) + ((OPT_LAST as usize % OPTION_BITS != 0) as usize); [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: constant `crate::constants::OPT_LAST` exists but is inaccessible [INFO] [stdout] --> src/constants.rs:116:1 [INFO] [stdout] | [INFO] [stdout] 116 | const OPT_LAST: i32 = 73; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `OPT_LAST` in this scope [INFO] [stdout] --> src/util.rs:277:43 [INFO] [stdout] | [INFO] [stdout] 277 | (OPT_LAST as usize / OPTION_BITS) + ((OPT_LAST as usize % OPTION_BITS != 0) as usize); [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] note: constant `crate::constants::OPT_LAST` exists but is inaccessible [INFO] [stdout] --> src/constants.rs:116:1 [INFO] [stdout] | [INFO] [stdout] 116 | const OPT_LAST: i32 = 73; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `sigaction` in this scope [INFO] [stdout] --> src/main.rs:117:22 [INFO] [stdout] | [INFO] [stdout] 117 | let mut sigact = sigaction { [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 + use libc::sigaction; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `SIG_IGN` in this scope [INFO] [stdout] --> src/main.rs:118:21 [INFO] [stdout] | [INFO] [stdout] 118 | sa_handler: SIG_IGN, [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this constant [INFO] [stdout] | [INFO] [stdout] 1 + use libc::SIG_IGN; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find type `sighandler_t` in this scope [INFO] [stdout] --> src/main.rs:125:57 [INFO] [stdout] | [INFO] [stdout] 125 | sigact.sa_handler = dnsmasq::sig_handler as sighandler_t; [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this type alias [INFO] [stdout] | [INFO] [stdout] 1 + use libc::sighandler_t; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `sigaction` in this scope [INFO] [stdout] --> src/main.rs:126:13 [INFO] [stdout] | [INFO] [stdout] 126 | sigaction(SIGUSR1, &sigact, std::ptr::null_mut()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 126 - sigaction(SIGUSR1, &sigact, std::ptr::null_mut()); [INFO] [stdout] 126 + sigact(SIGUSR1, &sigact, std::ptr::null_mut()); [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 1 + use libc::sigaction; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `SIGUSR1` in this scope [INFO] [stdout] --> src/main.rs:126:23 [INFO] [stdout] | [INFO] [stdout] 126 | sigaction(SIGUSR1, &sigact, std::ptr::null_mut()); [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this constant [INFO] [stdout] | [INFO] [stdout] 1 + use libc::SIGUSR1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `sigaction` in this scope [INFO] [stdout] --> src/main.rs:127:13 [INFO] [stdout] | [INFO] [stdout] 127 | sigaction(SIGUSR2, &sigact, std::ptr::null_mut()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 127 - sigaction(SIGUSR2, &sigact, std::ptr::null_mut()); [INFO] [stdout] 127 + sigact(SIGUSR2, &sigact, std::ptr::null_mut()); [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 1 + use libc::sigaction; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `SIGUSR2` in this scope [INFO] [stdout] --> src/main.rs:127:23 [INFO] [stdout] | [INFO] [stdout] 127 | sigaction(SIGUSR2, &sigact, std::ptr::null_mut()); [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this constant [INFO] [stdout] | [INFO] [stdout] 1 + use libc::SIGUSR2; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `sigaction` in this scope [INFO] [stdout] --> src/main.rs:128:13 [INFO] [stdout] | [INFO] [stdout] 128 | sigaction(SIGHUP, &sigact, std::ptr::null_mut()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 128 - sigaction(SIGHUP, &sigact, std::ptr::null_mut()); [INFO] [stdout] 128 + sigact(SIGHUP, &sigact, std::ptr::null_mut()); [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 1 + use libc::sigaction; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `SIGHUP` in this scope [INFO] [stdout] --> src/main.rs:128:23 [INFO] [stdout] | [INFO] [stdout] 128 | sigaction(SIGHUP, &sigact, std::ptr::null_mut()); [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this constant [INFO] [stdout] | [INFO] [stdout] 1 + use libc::SIGHUP; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `sigaction` in this scope [INFO] [stdout] --> src/main.rs:129:13 [INFO] [stdout] | [INFO] [stdout] 129 | sigaction(SIGTERM, &sigact, std::ptr::null_mut()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 129 - sigaction(SIGTERM, &sigact, std::ptr::null_mut()); [INFO] [stdout] 129 + sigact(SIGTERM, &sigact, std::ptr::null_mut()); [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 1 + use libc::sigaction; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `SIGTERM` in this scope [INFO] [stdout] --> src/main.rs:129:23 [INFO] [stdout] | [INFO] [stdout] 129 | sigaction(SIGTERM, &sigact, std::ptr::null_mut()); [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this constant [INFO] [stdout] | [INFO] [stdout] 1 + use libc::SIGTERM; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `sigaction` in this scope [INFO] [stdout] --> src/main.rs:130:13 [INFO] [stdout] | [INFO] [stdout] 130 | sigaction(SIGALRM, &sigact, std::ptr::null_mut()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 130 - sigaction(SIGALRM, &sigact, std::ptr::null_mut()); [INFO] [stdout] 130 + sigact(SIGALRM, &sigact, std::ptr::null_mut()); [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 1 + use libc::sigaction; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `SIGALRM` in this scope [INFO] [stdout] --> src/main.rs:130:23 [INFO] [stdout] | [INFO] [stdout] 130 | sigaction(SIGALRM, &sigact, std::ptr::null_mut()); [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this constant [INFO] [stdout] | [INFO] [stdout] 1 + use libc::SIGALRM; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `sigaction` in this scope [INFO] [stdout] --> src/main.rs:131:13 [INFO] [stdout] | [INFO] [stdout] 131 | sigaction(SIGCHLD, &sigact, std::ptr::null_mut()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 131 - sigaction(SIGCHLD, &sigact, std::ptr::null_mut()); [INFO] [stdout] 131 + sigact(SIGCHLD, &sigact, std::ptr::null_mut()); [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 1 + use libc::sigaction; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `SIGCHLD` in this scope [INFO] [stdout] --> src/main.rs:131:23 [INFO] [stdout] | [INFO] [stdout] 131 | sigaction(SIGCHLD, &sigact, std::ptr::null_mut()); [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this constant [INFO] [stdout] | [INFO] [stdout] 1 + use libc::SIGCHLD; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `sigaction` in this scope [INFO] [stdout] --> src/main.rs:132:13 [INFO] [stdout] | [INFO] [stdout] 132 | sigaction(SIGINT, &sigact, std::ptr::null_mut()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 132 - sigaction(SIGINT, &sigact, std::ptr::null_mut()); [INFO] [stdout] 132 + sigact(SIGINT, &sigact, std::ptr::null_mut()); [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 1 + use libc::sigaction; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `SIGINT` in this scope [INFO] [stdout] --> src/main.rs:132:23 [INFO] [stdout] | [INFO] [stdout] 132 | sigaction(SIGINT, &sigact, std::ptr::null_mut()); [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this constant [INFO] [stdout] | [INFO] [stdout] 1 + use libc::SIGINT; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `SIG_IGN` in this scope [INFO] [stdout] --> src/main.rs:134:33 [INFO] [stdout] | [INFO] [stdout] 134 | sigact.sa_handler = SIG_IGN; [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this constant [INFO] [stdout] | [INFO] [stdout] 1 + use libc::SIG_IGN; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `sigaction` in this scope [INFO] [stdout] --> src/main.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | sigaction(SIGPIPE, &sigact, std::ptr::null_mut()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 135 - sigaction(SIGPIPE, &sigact, std::ptr::null_mut()); [INFO] [stdout] 135 + sigact(SIGPIPE, &sigact, std::ptr::null_mut()); [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 1 + use libc::sigaction; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `SIGPIPE` in this scope [INFO] [stdout] --> src/main.rs:135:23 [INFO] [stdout] | [INFO] [stdout] 135 | sigaction(SIGPIPE, &sigact, std::ptr::null_mut()); [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this constant [INFO] [stdout] | [INFO] [stdout] 1 + use libc::SIGPIPE; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `script` [INFO] [stdout] --> src/arp.rs:194:19 [INFO] [stdout] | [INFO] [stdout] 194 | #[cfg(feature = "script")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `script` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `script` [INFO] [stdout] --> src/arp.rs:208:23 [INFO] [stdout] | [INFO] [stdout] 208 | #[cfg(feature = "script")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `script` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr` [INFO] [stdout] --> src/blockdata.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ptr; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `dealloc` [INFO] [stdout] --> src/blockdata.rs:3:25 [INFO] [stdout] | [INFO] [stdout] 3 | use std::alloc::{alloc, dealloc, Layout}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CString` [INFO] [stdout] --> src/bpf.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ffi::CString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write` and `self` [INFO] [stdout] --> src/bpf.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem` [INFO] [stdout] --> src/bpf.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::mem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::Ipv4Addr` [INFO] [stdout] --> src/bpf.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::net::Ipv4Addr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::os::unix::io::AsRawFd` [INFO] [stdout] --> src/bpf.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::os::unix::io::AsRawFd; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::slice` [INFO] [stdout] --> src/bpf.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::slice; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/bpf.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CTL_NET`, `IFF_UP`, `IPPROTO_UDP`, `IPVERSION`, `PF_ROUTE`, `SIOCGIFADDR`, `SOCK_RAW`, `SOCK_STREAM`, `c_char`, `ioctl`, `open`, `recv`, `sockaddr_in6`, and `sockaddr` [INFO] [stdout] --> src/bpf.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | c_char, c_int, c_void, close, freeifaddrs, getifaddrs, ifaddrs, ioctl, open, recv, sockaddr, [INFO] [stdout] | ^^^^^^ ^^^^^ ^^^^ ^^^^ ^^^^^^^^ [INFO] [stdout] 13 | sockaddr_dl, sockaddr_in, sockaddr_in6, socket, AF_INET, AF_INET6, AF_LINK, AF_UNSPEC, CTL_NET, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] 14 | ETHER_ADDR_LEN, ETHERTYPE_IP, IFF_UP, IN6ADDRSZ, IPPROTO_UDP, IPVERSION, PF_INET6, PF_ROUTE, [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] 15 | RTF_LLINFO, SIOCGIFADDR, SOCK_DGRAM, SOCK_RAW, SOCK_STREAM, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/cache.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH` [INFO] [stdout] --> src/cache.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use std::time::{SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `broken_rtc` [INFO] [stdout] --> src/config.rs:59:7 [INFO] [stdout] | [INFO] [stdout] 59 | #[cfg(feature = "broken_rtc")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `broken_rtc` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `tftp` [INFO] [stdout] --> src/config.rs:62:7 [INFO] [stdout] | [INFO] [stdout] 62 | #[cfg(feature = "tftp")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `tftp` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `dhcp` [INFO] [stdout] --> src/config.rs:65:7 [INFO] [stdout] | [INFO] [stdout] 65 | #[cfg(feature = "dhcp")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `dhcp` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `dhcp6` [INFO] [stdout] --> src/config.rs:68:7 [INFO] [stdout] | [INFO] [stdout] 68 | #[cfg(feature = "dhcp6")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `dhcp6` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `script` [INFO] [stdout] --> src/config.rs:71:7 [INFO] [stdout] | [INFO] [stdout] 71 | #[cfg(feature = "script")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `script` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `luascript` [INFO] [stdout] --> src/config.rs:74:7 [INFO] [stdout] | [INFO] [stdout] 74 | #[cfg(feature = "luascript")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `luascript` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `dbus` [INFO] [stdout] --> src/config.rs:77:7 [INFO] [stdout] | [INFO] [stdout] 77 | #[cfg(feature = "dbus")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `dbus` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `ubus` [INFO] [stdout] --> src/config.rs:80:7 [INFO] [stdout] | [INFO] [stdout] 80 | #[cfg(feature = "ubus")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `ubus` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `idn` [INFO] [stdout] --> src/config.rs:83:7 [INFO] [stdout] | [INFO] [stdout] 83 | #[cfg(feature = "idn")] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `idn` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `libidn2` [INFO] [stdout] --> src/config.rs:86:7 [INFO] [stdout] | [INFO] [stdout] 86 | #[cfg(feature = "libidn2")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `libidn2` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `conntrack` [INFO] [stdout] --> src/config.rs:89:7 [INFO] [stdout] | [INFO] [stdout] 89 | #[cfg(feature = "conntrack")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `conntrack` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `ipset` [INFO] [stdout] --> src/config.rs:92:7 [INFO] [stdout] | [INFO] [stdout] 92 | #[cfg(feature = "ipset")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `ipset` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `nftset` [INFO] [stdout] --> src/config.rs:95:7 [INFO] [stdout] | [INFO] [stdout] 95 | #[cfg(feature = "nftset")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `nftset` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `auth` [INFO] [stdout] --> src/config.rs:98:7 [INFO] [stdout] | [INFO] [stdout] 98 | #[cfg(feature = "auth")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `auth` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cryptohash` [INFO] [stdout] --> src/config.rs:101:7 [INFO] [stdout] | [INFO] [stdout] 101 | #[cfg(feature = "cryptohash")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `cryptohash` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `dnssec` [INFO] [stdout] --> src/config.rs:104:7 [INFO] [stdout] | [INFO] [stdout] 104 | #[cfg(feature = "dnssec")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `dnssec` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `dumpfile` [INFO] [stdout] --> src/config.rs:107:7 [INFO] [stdout] | [INFO] [stdout] 107 | #[cfg(feature = "dumpfile")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `dumpfile` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `loop` [INFO] [stdout] --> src/config.rs:110:7 [INFO] [stdout] | [INFO] [stdout] 110 | #[cfg(feature = "loop")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `r#loop` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `inotify` [INFO] [stdout] --> src/config.rs:113:7 [INFO] [stdout] | [INFO] [stdout] 113 | #[cfg(feature = "inotify")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `inotify` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `tftp` [INFO] [stdout] --> src/config.rs:162:11 [INFO] [stdout] | [INFO] [stdout] 162 | #[cfg(not(feature = "tftp"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `tftp` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `dhcp` [INFO] [stdout] --> src/config.rs:165:11 [INFO] [stdout] | [INFO] [stdout] 165 | #[cfg(not(feature = "dhcp"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `dhcp` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `dhcp6` [INFO] [stdout] --> src/config.rs:168:11 [INFO] [stdout] | [INFO] [stdout] 168 | #[cfg(not(feature = "dhcp6"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `dhcp6` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `script` [INFO] [stdout] --> src/config.rs:171:11 [INFO] [stdout] | [INFO] [stdout] 171 | #[cfg(not(feature = "script"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `script` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `luascript` [INFO] [stdout] --> src/config.rs:174:11 [INFO] [stdout] | [INFO] [stdout] 174 | #[cfg(not(feature = "luascript"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `luascript` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `auth` [INFO] [stdout] --> src/config.rs:177:11 [INFO] [stdout] | [INFO] [stdout] 177 | #[cfg(not(feature = "auth"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `auth` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `ipset` [INFO] [stdout] --> src/config.rs:180:11 [INFO] [stdout] | [INFO] [stdout] 180 | #[cfg(not(feature = "ipset"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `ipset` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `loop` [INFO] [stdout] --> src/config.rs:183:11 [INFO] [stdout] | [INFO] [stdout] 183 | #[cfg(not(feature = "loop"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `r#loop` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `dumpfile` [INFO] [stdout] --> src/config.rs:186:11 [INFO] [stdout] | [INFO] [stdout] 186 | #[cfg(not(feature = "dumpfile"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `dumpfile` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `inotify` [INFO] [stdout] --> src/config.rs:189:36 [INFO] [stdout] | [INFO] [stdout] 189 | #[cfg(all(target_os = "linux", not(feature = "inotify")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `inotify` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `uclinux` [INFO] [stdout] --> src/config.rs:133:38 [INFO] [stdout] | [INFO] [stdout] 133 | pub const RESOLVFILE: &str = if cfg!(target_os = "uclinux") { [INFO] [stdout] | ^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | help: there is a expected value with a similar name: `"linux"` [INFO] [stdout] | [INFO] [stdout] = note: expected values for `target_os` are: `aix`, `amdhsa`, `android`, `cuda`, `cygwin`, `dragonfly`, `emscripten`, `espidf`, `freebsd`, `fuchsia`, `haiku`, `helenos`, `hermit`, `horizon`, `hurd`, `illumos`, `ios`, `l4re`, `linux`, `lynxos178`, `macos`, `managarm`, `motor`, `netbsd`, `none`, `nto`, `nuttx`, `openbsd`, `psp`, `psx`, `qurt`, `redox`, `rtems`, `solaris`, and `solid_asp3` and 14 more [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `have_dhcp6` [INFO] [stdout] --> src/config.rs:215:11 [INFO] [stdout] | [INFO] [stdout] 215 | #[cfg(feature = "have_dhcp6")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `have_dhcp6` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr` [INFO] [stdout] --> src/conntrack.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ptr; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ipv6Addr` [INFO] [stdout] --> src/conntrack.rs:5:26 [INFO] [stdout] | [INFO] [stdout] 5 | use std::net::{Ipv4Addr, Ipv6Addr}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `dnssec` [INFO] [stdout] --> src/crypto.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | #[cfg(any(feature = "dnssec", feature = "cryptohash"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `dnssec` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cryptohash` [INFO] [stdout] --> src/crypto.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | #[cfg(any(feature = "dnssec", feature = "cryptohash"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `cryptohash` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr` [INFO] [stdout] --> src/crypto.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ptr; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CString` [INFO] [stdout] --> src/crypto.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::ffi::CString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::os::raw::c_char` [INFO] [stdout] --> src/crypto.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::os::raw::c_char; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Layout`, `alloc`, and `dealloc` [INFO] [stdout] --> src/crypto.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | use std::alloc::{alloc, dealloc, Layout}; [INFO] [stdout] | ^^^^^ ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem` [INFO] [stdout] --> src/crypto.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::mem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::slice` [INFO] [stdout] --> src/crypto.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::slice; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp` [INFO] [stdout] --> src/crypto.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::cmp; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IpAddr`, `SocketAddr`, and `UdpSocket` [INFO] [stdout] --> src/dhcp.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::net::{IpAddr, Ipv4Addr, UdpSocket, SocketAddr}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH` [INFO] [stdout] --> src/dhcp.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use std::time::{SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr` [INFO] [stdout] --> src/dhcp.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::ptr; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CString` [INFO] [stdout] --> src/dhcp.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::ffi::CString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SocketAddrV6` [INFO] [stdout] --> src/dhcp6.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | net::{Ipv6Addr, SocketAddrV6}, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `c_uint` [INFO] [stdout] --> src/dhcp6.rs:8:25 [INFO] [stdout] | [INFO] [stdout] 8 | use libc::{self, c_int, c_uint, c_void, sockaddr_in6, in6_addr}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CString` [INFO] [stdout] --> src/dhcp_common.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ffi::CString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ipv4Addr` and `Ipv6Addr` [INFO] [stdout] --> src/dhcp_common.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use std::net::{Ipv4Addr, Ipv6Addr}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr` [INFO] [stdout] --> src/dhcp_common.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::ptr; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str` [INFO] [stdout] --> src/dhcp_common.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::str; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AF_INET6`, `AF_INET`, `SOL_SOCKET`, `SO_BINDTODEVICE`, `c_char`, and `c_void` [INFO] [stdout] --> src/dhcp_common.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | use libc::{c_char, c_int, c_void, size_t, ssize_t, AF_INET, AF_INET6, MSG_PEEK, MSG_TRUNC, SOL_SOCKET, SO_BINDTODEVICE}; [INFO] [stdout] | ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `have_dhcp6` [INFO] [stdout] --> src/dhcp_lease.rs:37:7 [INFO] [stdout] | [INFO] [stdout] 37 | #[cfg(feature = "have_dhcp6")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `have_dhcp6` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ipv6Addr` [INFO] [stdout] --> src/dhcp_lease.rs:1:26 [INFO] [stdout] | [INFO] [stdout] 1 | use std::net::{Ipv4Addr, Ipv6Addr}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `have_broken_rtc` [INFO] [stdout] --> src/dhcp_lease.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | #[cfg(feature = "have_broken_rtc")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `have_broken_rtc` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `have_dhcp6` [INFO] [stdout] --> src/dhcp_lease.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | #[cfg(feature = "have_dhcp6")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `have_dhcp6` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `have_dhcp6` [INFO] [stdout] --> src/dhcp_lease.rs:28:11 [INFO] [stdout] | [INFO] [stdout] 28 | #[cfg(feature = "have_dhcp6")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `have_dhcp6` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `have_dhcp6` [INFO] [stdout] --> src/dhcp_lease.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | #[cfg(feature = "have_dhcp6")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `have_dhcp6` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `have_dhcp6` [INFO] [stdout] --> src/dhcp_lease.rs:32:11 [INFO] [stdout] | [INFO] [stdout] 32 | #[cfg(feature = "have_dhcp6")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `have_dhcp6` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `NO_LARGEFILE` [INFO] [stdout] --> src/dnsmasq.rs:28:11 [INFO] [stdout] | [INFO] [stdout] 28 | #[cfg(not(NO_LARGEFILE))] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `docsrs`, `feature`, and `test` and 31 more [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(NO_LARGEFILE)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(NO_LARGEFILE)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SIGALRM`, `SIGCHLD`, `SIGHUP`, `SIGINT`, `SIGTERM`, `SIGUSR1`, `SIGUSR2`, `SIG_IGN`, `sigaction`, and `sighandler_t` [INFO] [stdout] --> src/dnsmasq.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use libc::{sigaction, sighandler_t, SIGALRM, SIGCHLD, SIGHUP, SIGINT, SIGTERM, SIGUSR1, SIGUSR2, SIG_IGN}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::os::unix::io::AsRawFd` [INFO] [stdout] --> src/dnssec.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::os::unix::io::AsRawFd; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `IpAddr` [INFO] [stdout] --> src/domain.rs:1:16 [INFO] [stdout] | [INFO] [stdout] 1 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CStr` and `CString` [INFO] [stdout] --> src/domain.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | use std::ffi::{CStr, CString}; [INFO] [stdout] | ^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr` [INFO] [stdout] --> src/domain_match.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ptr; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::slice` [INFO] [stdout] --> src/domain_match.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::slice; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `HAVE_LOOP` [INFO] [stdout] --> src/domain_match.rs:62:15 [INFO] [stdout] | [INFO] [stdout] 62 | #[cfg(HAVE_LOOP)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(HAVE_LOOP)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(HAVE_LOOP)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `HAVE_LOOP` [INFO] [stdout] --> src/domain_match.rs:96:15 [INFO] [stdout] | [INFO] [stdout] 96 | #[cfg(HAVE_LOOP)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(HAVE_LOOP)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(HAVE_LOOP)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::os::unix::io::AsRawFd` [INFO] [stdout] --> src/dump.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::os::unix::io::AsRawFd; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `have_inotify` [INFO] [stdout] --> src/dyn_dir.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | #[cfg(feature = "have_inotify")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `have_inotify` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::TryInto` [INFO] [stdout] --> src/edns0.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::convert::TryInto; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::Ipv4Addr` [INFO] [stdout] --> src/edns0.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::net::Ipv4Addr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `dnssec` [INFO] [stdout] --> src/forward.rs:26:7 [INFO] [stdout] | [INFO] [stdout] 26 | #[cfg(feature = "dnssec")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `dnssec` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ipv6Addr` [INFO] [stdout] --> src/forward.rs:2:49 [INFO] [stdout] | [INFO] [stdout] 2 | use std::net::{SocketAddr, UdpSocket, Ipv4Addr, Ipv6Addr}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IPPROTO_IPV6`, `IPPROTO_IP`, and `cmsghdr` [INFO] [stdout] --> src/forward.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | use libc::{cmsghdr, in_pktinfo, in6_pktinfo, IPPROTO_IP, IPPROTO_IPV6}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `have_dnssec` [INFO] [stdout] --> src/frec.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | #[cfg(feature = "have_dnssec")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `have_dnssec` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `have_dnssec` [INFO] [stdout] --> src/frec.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | #[cfg(feature = "have_dnssec")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `have_dnssec` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `have_dnssec` [INFO] [stdout] --> src/frec.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | #[cfg(feature = "have_dnssec")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `have_dnssec` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `have_dnssec` [INFO] [stdout] --> src/frec.rs:27:11 [INFO] [stdout] | [INFO] [stdout] 27 | #[cfg(feature = "have_dnssec")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `have_dnssec` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `have_dnssec` [INFO] [stdout] --> src/frec.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | #[cfg(feature = "have_dnssec")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `have_dnssec` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `have_dnssec` [INFO] [stdout] --> src/frec.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | #[cfg(feature = "have_dnssec")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `have_dnssec` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `dnssec` [INFO] [stdout] --> src/hash_questions.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | #[cfg(any(feature = "dnssec", feature = "cryptohash"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `dnssec` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cryptohash` [INFO] [stdout] --> src/hash_questions.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | #[cfg(any(feature = "dnssec", feature = "cryptohash"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `cryptohash` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `dnssec` [INFO] [stdout] --> src/hash_questions.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | #[cfg(any(feature = "dnssec", feature = "cryptohash"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `dnssec` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cryptohash` [INFO] [stdout] --> src/hash_questions.rs:9:31 [INFO] [stdout] | [INFO] [stdout] 9 | #[cfg(any(feature = "dnssec", feature = "cryptohash"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `cryptohash` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `dnssec` [INFO] [stdout] --> src/hash_questions.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | #[cfg(any(feature = "dnssec", feature = "cryptohash"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `dnssec` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cryptohash` [INFO] [stdout] --> src/hash_questions.rs:14:31 [INFO] [stdout] | [INFO] [stdout] 14 | #[cfg(any(feature = "dnssec", feature = "cryptohash"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `cryptohash` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `dnssec` [INFO] [stdout] --> src/hash_questions.rs:42:15 [INFO] [stdout] | [INFO] [stdout] 42 | #[cfg(not(any(feature = "dnssec", feature = "cryptohash")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `dnssec` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cryptohash` [INFO] [stdout] --> src/hash_questions.rs:42:35 [INFO] [stdout] | [INFO] [stdout] 42 | #[cfg(not(any(feature = "dnssec", feature = "cryptohash")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `cryptohash` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `dnssec` [INFO] [stdout] --> src/hash_questions.rs:45:15 [INFO] [stdout] | [INFO] [stdout] 45 | #[cfg(not(any(feature = "dnssec", feature = "cryptohash")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `dnssec` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cryptohash` [INFO] [stdout] --> src/hash_questions.rs:45:35 [INFO] [stdout] | [INFO] [stdout] 45 | #[cfg(not(any(feature = "dnssec", feature = "cryptohash")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `cryptohash` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `dnssec` [INFO] [stdout] --> src/hash_questions.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | #[cfg(not(any(feature = "dnssec", feature = "cryptohash")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `dnssec` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cryptohash` [INFO] [stdout] --> src/hash_questions.rs:53:35 [INFO] [stdout] | [INFO] [stdout] 53 | #[cfg(not(any(feature = "dnssec", feature = "cryptohash")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `cryptohash` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `dnssec` [INFO] [stdout] --> src/hash_questions.rs:84:15 [INFO] [stdout] | [INFO] [stdout] 84 | #[cfg(not(any(feature = "dnssec", feature = "cryptohash")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `dnssec` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cryptohash` [INFO] [stdout] --> src/hash_questions.rs:84:35 [INFO] [stdout] | [INFO] [stdout] 84 | #[cfg(not(any(feature = "dnssec", feature = "cryptohash")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `cryptohash` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `dnssec` [INFO] [stdout] --> src/hash_questions.rs:89:15 [INFO] [stdout] | [INFO] [stdout] 89 | #[cfg(not(any(feature = "dnssec", feature = "cryptohash")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `dnssec` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cryptohash` [INFO] [stdout] --> src/hash_questions.rs:89:35 [INFO] [stdout] | [INFO] [stdout] 89 | #[cfg(not(any(feature = "dnssec", feature = "cryptohash")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `cryptohash` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::TryInto` [INFO] [stdout] --> src/hash_questions.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::convert::TryInto; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `dnssec` [INFO] [stdout] --> src/hash_questions.rs:137:15 [INFO] [stdout] | [INFO] [stdout] 137 | #[cfg(any(feature = "dnssec", feature = "cryptohash"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `dnssec` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cryptohash` [INFO] [stdout] --> src/hash_questions.rs:137:35 [INFO] [stdout] | [INFO] [stdout] 137 | #[cfg(any(feature = "dnssec", feature = "cryptohash"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `cryptohash` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `dnssec` [INFO] [stdout] --> src/hash_questions.rs:146:19 [INFO] [stdout] | [INFO] [stdout] 146 | #[cfg(not(any(feature = "dnssec", feature = "cryptohash")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `dnssec` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cryptohash` [INFO] [stdout] --> src/hash_questions.rs:146:39 [INFO] [stdout] | [INFO] [stdout] 146 | #[cfg(not(any(feature = "dnssec", feature = "cryptohash")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `cryptohash` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `HAVE_LUASCRIPT` [INFO] [stdout] --> src/helper.rs:53:7 [INFO] [stdout] | [INFO] [stdout] 53 | #[cfg(feature = "HAVE_LUASCRIPT")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `HAVE_LUASCRIPT` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `HAVE_LUASCRIPT` [INFO] [stdout] --> src/helper.rs:56:7 [INFO] [stdout] | [INFO] [stdout] 56 | #[cfg(feature = "HAVE_LUASCRIPT")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `HAVE_LUASCRIPT` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `HAVE_LUASCRIPT` [INFO] [stdout] --> src/helper.rs:59:7 [INFO] [stdout] | [INFO] [stdout] 59 | #[cfg(feature = "HAVE_LUASCRIPT")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `HAVE_LUASCRIPT` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `HAVE_LUASCRIPT` [INFO] [stdout] --> src/helper.rs:62:7 [INFO] [stdout] | [INFO] [stdout] 62 | #[cfg(feature = "HAVE_LUASCRIPT")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `HAVE_LUASCRIPT` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `HAVE_LUASCRIPT` [INFO] [stdout] --> src/helper.rs:78:7 [INFO] [stdout] | [INFO] [stdout] 78 | #[cfg(feature = "HAVE_LUASCRIPT")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `HAVE_LUASCRIPT` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `c_int`, `c_uint`, and `c_ulong` [INFO] [stdout] --> src/helper.rs:4:28 [INFO] [stdout] | [INFO] [stdout] 4 | use std::os::raw::{c_char, c_int, c_uint, c_ulong}; [INFO] [stdout] | ^^^^^ ^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Command` and `Stdio` [INFO] [stdout] --> src/helper.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | use std::process::{Command, Stdio}; [INFO] [stdout] | ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Once` [INFO] [stdout] --> src/helper.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::Once; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `io::ErrorKind` and `mem` [INFO] [stdout] --> src/helper.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | use std::{io::ErrorKind, mem, process}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `HAVE_BROKEN_RTC` [INFO] [stdout] --> src/helper.rs:34:11 [INFO] [stdout] | [INFO] [stdout] 34 | #[cfg(feature = "HAVE_BROKEN_RTC")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `HAVE_BROKEN_RTC` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `HAVE_BROKEN_RTC` [INFO] [stdout] --> src/helper.rs:36:15 [INFO] [stdout] | [INFO] [stdout] 36 | #[cfg(not(feature = "HAVE_BROKEN_RTC"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `HAVE_BROKEN_RTC` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `HAVE_TFTP` [INFO] [stdout] --> src/helper.rs:38:11 [INFO] [stdout] | [INFO] [stdout] 38 | #[cfg(feature = "HAVE_TFTP")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `HAVE_TFTP` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `HAVE_DHCP6` [INFO] [stdout] --> src/helper.rs:41:11 [INFO] [stdout] | [INFO] [stdout] 41 | #[cfg(feature = "HAVE_DHCP6")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `HAVE_DHCP6` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `HAVE_DHCP6` [INFO] [stdout] --> src/helper.rs:43:11 [INFO] [stdout] | [INFO] [stdout] 43 | #[cfg(feature = "HAVE_DHCP6")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `HAVE_DHCP6` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `HAVE_LUASCRIPT` [INFO] [stdout] --> src/helper.rs:135:19 [INFO] [stdout] | [INFO] [stdout] 135 | #[cfg(feature = "HAVE_LUASCRIPT")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `HAVE_LUASCRIPT` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ssize_t` [INFO] [stdout] --> src/inotify.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use libc::{c_char, ssize_t, size_t}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CStr` [INFO] [stdout] --> src/inotify.rs:5:25 [INFO] [stdout] | [INFO] [stdout] 5 | use std::ffi::{CString, CStr}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/inotify.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::os::unix::ffi::OsStrExt` [INFO] [stdout] --> src/inotify.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::os::unix::ffi::OsStrExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/inotify.rs:8:23 [INFO] [stdout] | [INFO] [stdout] 8 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr::null` [INFO] [stdout] --> src/inotify.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::ptr::null; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::read_link` [INFO] [stdout] --> src/inotify.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::fs::read_link; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CString` [INFO] [stdout] --> src/ipset.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ffi::CString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `zeroed` [INFO] [stdout] --> src/ipset.rs:6:25 [INFO] [stdout] | [INFO] [stdout] 6 | use std::mem::{size_of, zeroed}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr::null_mut` [INFO] [stdout] --> src/ipset.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::ptr::null_mut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CString` [INFO] [stdout] --> src/lease.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ffi::CString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `File` [INFO] [stdout] --> src/log.rs:1:15 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::{File, OpenOptions}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FromRawFd` [INFO] [stdout] --> src/log.rs:4:34 [INFO] [stdout] | [INFO] [stdout] 4 | use std::os::unix::io::{AsRawFd, FromRawFd, RawFd}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::VecDeque` [INFO] [stdout] --> src/log.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::VecDeque; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `getpid` [INFO] [stdout] --> src/log.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 12 | use libc::{oma, getpid, pid_t}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CStr` [INFO] [stdout] --> src/loop_impl.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ffi::CStr; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/loop_impl.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/loop_impl.rs:125:17 [INFO] [stdout] | [INFO] [stdout] 125 | sprintf((p as *mut c_char), "%.8x\0".as_ptr() as *const c_char, uid); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 125 - sprintf((p as *mut c_char), "%.8x\0".as_ptr() as *const c_char, uid); [INFO] [stdout] 125 + sprintf(p as *mut c_char , "%.8x\0".as_ptr() as *const c_char, uid); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/loop_impl.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | (p as usize - header as *const _ as usize) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 139 - (p as usize - header as *const _ as usize) [INFO] [stdout] 139 + p as usize - header as *const _ as usize [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AF_UNSPEC` [INFO] [stdout] --> src/network.rs:1:38 [INFO] [stdout] | [INFO] [stdout] 1 | use libc::{ioctl, AF_INET, AF_INET6, AF_UNSPEC, SIOCGIFNAME, c_int, c_char}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr::null_mut` [INFO] [stdout] --> src/network.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::ptr::null_mut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ipv4Addr` and `Ipv6Addr` [INFO] [stdout] --> src/nftset.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CString` [INFO] [stdout] --> src/option.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ffi::CString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `dhcp6` [INFO] [stdout] --> src/outpacket.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | #[cfg(feature = "dhcp6")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `dhcp6` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem` [INFO] [stdout] --> src/outpacket.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::mem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::slice` [INFO] [stdout] --> src/outpacket.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::slice; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `iovec` should have an upper camel case name [INFO] [stdout] --> src/outpacket.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | struct iovec { [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Iovec` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `conntrack` [INFO] [stdout] --> src/pattern.rs:26:7 [INFO] [stdout] | [INFO] [stdout] 26 | #[cfg(feature = "conntrack")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `conntrack` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `conntrack` [INFO] [stdout] --> src/pattern.rs:83:7 [INFO] [stdout] | [INFO] [stdout] 83 | #[cfg(feature = "conntrack")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `conntrack` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::slice` [INFO] [stdout] --> src/pattern.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::slice; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str` [INFO] [stdout] --> src/pattern.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::str; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `log` [INFO] [stdout] --> src/pattern.rs:8:14 [INFO] [stdout] | [INFO] [stdout] 8 | macro_rules! log { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `assert` [INFO] [stdout] --> src/pattern.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | macro_rules! assert { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem` [INFO] [stdout] --> src/poll.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::mem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CString` [INFO] [stdout] --> src/radv.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ffi::CString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `IPV6_TCLASS` [INFO] [stdout] --> src/radv.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | use libc::{IPV6_TCLASS, IPTOS_CLASS_CS6}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `have_inotify` [INFO] [stdout] --> src/resolvc.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | #[cfg(feature = "have_inotify")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `have_inotify` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `have_inotify` [INFO] [stdout] --> src/resolvc.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | #[cfg(feature = "have_inotify")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `have_inotify` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem` [INFO] [stdout] --> src/rfc1035.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::mem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::slice` [INFO] [stdout] --> src/rfc1035.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::slice; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CString` [INFO] [stdout] --> src/rfc3315.rs:1:22 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ffi::{CStr, CString}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::slice` [INFO] [stdout] --> src/rfc3315.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::slice; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::slice` [INFO] [stdout] --> src/rrfilter.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::slice; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `have_loop` [INFO] [stdout] --> src/server.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | #[cfg(feature = "have_loop")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `have_loop` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/tables.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{self, Error, ErrorKind}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr` [INFO] [stdout] --> src/tables.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::ptr; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::slice` [INFO] [stdout] --> src/tables.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::slice; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::Utf8Error` [INFO] [stdout] --> src/tables.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::str::Utf8Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Display` [INFO] [stdout] --> src/tables.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::fmt::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `LOG_ERR`, `LOG_INFO`, `LOG_WARNING`, and `O_RDWR` [INFO] [stdout] --> src/tables.rs:10:76 [INFO] [stdout] | [INFO] [stdout] 10 | use libc::{AF_INET, AF_INET6, c_char, c_int, c_void, ioctl, ESRCH, ENOENT, LOG_ERR, LOG_INFO, LOG_WARNING, O_RDWR}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::CString` [INFO] [stdout] --> src/tftp.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ffi::CString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `UNIX_EPOCH` [INFO] [stdout] --> src/tftp.rs:5:29 [INFO] [stdout] | [INFO] [stdout] 5 | use std::time::{SystemTime, UNIX_EPOCH, Duration}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ipv4Addr` and `Ipv6Addr` [INFO] [stdout] --> src/tftp.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | use std::net::{Ipv4Addr, Ipv6Addr}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::os::unix::io::AsRawFd` [INFO] [stdout] --> src/tftp.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::os::unix::io::AsRawFd; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `conntrack` [INFO] [stdout] --> src/ubus.rs:73:7 [INFO] [stdout] | [INFO] [stdout] 73 | #[cfg(feature = "conntrack")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `conntrack` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `conntrack` [INFO] [stdout] --> src/ubus.rs:100:7 [INFO] [stdout] | [INFO] [stdout] 100 | #[cfg(feature = "conntrack")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `conntrack` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated [INFO] [stdout] --> src/ubus.rs:22:29 [INFO] [stdout] | [INFO] [stdout] 22 | connection_lost: Option, [INFO] [stdout] | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(missing_abi)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated [INFO] [stdout] --> src/ubus.rs:37:26 [INFO] [stdout] | [INFO] [stdout] 37 | subscribe_cb: Option, [INFO] [stdout] | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated [INFO] [stdout] --> src/ubus.rs:49:14 [INFO] [stdout] | [INFO] [stdout] 49 | handler: extern fn(ctx: *mut UbusContext, obj: *mut UbusObject, req: *mut UbusRequestData, method: *const i8, msg: *mut BlobAttr... [INFO] [stdout] | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `conntrack` [INFO] [stdout] --> src/ubus.rs:65:11 [INFO] [stdout] | [INFO] [stdout] 65 | #[cfg(feature = "conntrack")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `conntrack` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::from_utf8` [INFO] [stdout] --> src/util.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::str::from_utf8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `have_idn` [INFO] [stdout] --> src/util.rs:244:31 [INFO] [stdout] | [INFO] [stdout] 244 | #[cfg(not(any(feature = "have_idn", feature = "have_libidn2")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `have_idn` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `have_libidn2` [INFO] [stdout] --> src/util.rs:244:53 [INFO] [stdout] | [INFO] [stdout] 244 | #[cfg(not(any(feature = "have_idn", feature = "have_libidn2")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `have_libidn2` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `have_libidn2` [INFO] [stdout] --> src/util.rs:251:27 [INFO] [stdout] | [INFO] [stdout] 251 | ... #[cfg(any(feature = "have_libidn2", all(feature = "have_libidn2", not(feature = "idn2_version_number", not(idn2_version_numbe... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `have_libidn2` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `have_libidn2` [INFO] [stdout] --> src/util.rs:251:57 [INFO] [stdout] | [INFO] [stdout] 251 | ... #[cfg(any(feature = "have_libidn2", all(feature = "have_libidn2", not(feature = "idn2_version_number", not(idn2_version_numbe... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `have_libidn2` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0740]: field must implement `Copy` or be wrapped in `ManuallyDrop<...>` to be used in a union [INFO] [stdout] --> src/all_addr.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub cname: Cname, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: union fields must not have drop side-effects, which is currently enforced via either `Copy` or `ManuallyDrop<...>` [INFO] [stdout] help: wrap the field type in `ManuallyDrop<...>` [INFO] [stdout] | [INFO] [stdout] 6 | pub cname: std::mem::ManuallyDrop, [INFO] [stdout] | +++++++++++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0204]: the trait `Copy` cannot be implemented for this type [INFO] [stdout] --> src/domain_match.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | next: Option>, [INFO] [stdout] | ------------------------- this field does not implement `Copy` [INFO] [stdout] | [INFO] [stdout] note: the `Copy` impl for `Option>` requires that `Box: Copy` [INFO] [stdout] --> src/domain_match.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | next: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `*const i8` cannot be shared between threads safely [INFO] [stdout] --> src/ubus.rs:80:26 [INFO] [stdout] | [INFO] [stdout] 80 | static UBUS_OBJECT_TYPE: UbusObjectType = UbusObjectType { [INFO] [stdout] | ^^^^^^^^^^^^^^ `*const i8` cannot be shared between threads safely [INFO] [stdout] | [INFO] [stdout] = help: within `UbusObjectType`, the trait `Sync` is not implemented for `*const i8` [INFO] [stdout] note: required because it appears within the type `UbusObjectType` [INFO] [stdout] --> src/ubus.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | struct UbusObjectType { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] = note: shared static variables must have a type that implements `Sync` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `next` on type `*mut ArpRecord` [INFO] [stdout] --> src/arp.rs:151:37 [INFO] [stdout] | [INFO] [stdout] 151 | let tmp = (*up).next; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] help: `(*up)` is a raw pointer; try dereferencing it [INFO] [stdout] | [INFO] [stdout] 151 | let tmp = (*(*up)).next; [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `status` on type `*mut ArpRecord` [INFO] [stdout] --> src/arp.rs:152:30 [INFO] [stdout] | [INFO] [stdout] 152 | if (*up).status == ARP_MARK { [INFO] [stdout] | ^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] help: `(*up)` is a raw pointer; try dereferencing it [INFO] [stdout] | [INFO] [stdout] 152 | if (*(*up)).status == ARP_MARK { [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `next` on type `*mut ArpRecord` [INFO] [stdout] --> src/arp.rs:154:31 [INFO] [stdout] | [INFO] [stdout] 154 | (*up).next = ctx.OLD; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] help: `(*up)` is a raw pointer; try dereferencing it [INFO] [stdout] | [INFO] [stdout] 154 | (*(*up)).next = ctx.OLD; [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `next` on type `*mut ArpRecord` [INFO] [stdout] --> src/arp.rs:157:41 [INFO] [stdout] | [INFO] [stdout] 157 | up = &mut (*up).next; [INFO] [stdout] | ^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] help: `(*up)` is a raw pointer; try dereferencing it [INFO] [stdout] | [INFO] [stdout] 157 | up = &mut (*(*up)).next; [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/blockdata.rs:186:24 [INFO] [stdout] | [INFO] [stdout] 186 | read_write(fd, buf, false).unwrap(); [INFO] [stdout] | ---------- ^^^ types differ in mutability [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected mutable reference `&mut _` [INFO] [stdout] found reference `&_` [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/blockdata.rs:200:4 [INFO] [stdout] | [INFO] [stdout] 200 | fn read_write(fd: i32, buf: &mut [u8], read: bool) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^ -------------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `sa_family` on type `*mut sockaddr` [INFO] [stdout] --> src/bpf.rs:91:55 [INFO] [stdout] | [INFO] [stdout] 91 | if ifa.ifa_addr.is_null() || ifa.ifa_addr.sa_family != family { [INFO] [stdout] | ^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] help: `ifa.ifa_addr` is a raw pointer; try dereferencing it [INFO] [stdout] | [INFO] [stdout] 91 | if ifa.ifa_addr.is_null() || (*ifa.ifa_addr).sa_family != family { [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `ifa_broadaddr` on type `&ifaddrs` [INFO] [stdout] --> src/bpf.rs:105:41 [INFO] [stdout] | [INFO] [stdout] 105 | let broadcast = if !ifa.ifa_broadaddr.is_null() { [INFO] [stdout] | ^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `ifa_next`, `ifa_name`, `ifa_flags`, `ifa_addr`, `ifa_netmask` ... and 2 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `ifa_broadaddr` on type `&ifaddrs` [INFO] [stdout] --> src/bpf.rs:106:33 [INFO] [stdout] | [INFO] [stdout] 106 | Some(&*(ifa.ifa_broadaddr as *const sockaddr_in)) [INFO] [stdout] | ^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `ifa_next`, `ifa_name`, `ifa_flags`, `ifa_addr`, `ifa_netmask` ... and 2 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] --> src/conntrack.rs:14:38 [INFO] [stdout] | [INFO] [stdout] 14 | *ret = nfct_get_attr_u32(ct, libnetfilter_conntrack::ATTR_MARK); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `libnetfilter_conntrack`, use `cargo add libnetfilter_conntrack` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] --> src/conntrack.rs:31:30 [INFO] [stdout] | [INFO] [stdout] 31 | nfct_set_attr_u8(ct, libnetfilter_conntrack::ATTR_L4PROTO, if istcp { IPPROTO_TCP } else { IPPROTO_UDP }); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `libnetfilter_conntrack`, use `cargo add libnetfilter_conntrack` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] --> src/conntrack.rs:32:31 [INFO] [stdout] | [INFO] [stdout] 32 | nfct_set_attr_u16(ct, libnetfilter_conntrack::ATTR_PORT_DST, daemon.port.to_be()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `libnetfilter_conntrack`, use `cargo add libnetfilter_conntrack` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] --> src/conntrack.rs:36:38 [INFO] [stdout] | [INFO] [stdout] 36 | nfct_set_attr_u8(ct, libnetfilter_conntrack::ATTR_L3PROTO, AF_INET6 as u8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `libnetfilter_conntrack`, use `cargo add libnetfilter_conntrack` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] --> src/conntrack.rs:37:35 [INFO] [stdout] | [INFO] [stdout] 37 | nfct_set_attr(ct, libnetfilter_conntrack::ATTR_IPV6_SRC, peer_addr.in6.sin6_addr.s6_addr.as_ptr() as *const c_void); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `libnetfilter_conntrack`, use `cargo add libnetfilter_conntrack` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] --> src/conntrack.rs:38:39 [INFO] [stdout] | [INFO] [stdout] 38 | nfct_set_attr_u16(ct, libnetfilter_conntrack::ATTR_PORT_SRC, peer_addr.in6.sin6_port.to_be()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `libnetfilter_conntrack`, use `cargo add libnetfilter_conntrack` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] --> src/conntrack.rs:39:35 [INFO] [stdout] | [INFO] [stdout] 39 | nfct_set_attr(ct, libnetfilter_conntrack::ATTR_IPV6_DST, local_addr.addr6.s6_addr.as_ptr() as *const c_void); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `libnetfilter_conntrack`, use `cargo add libnetfilter_conntrack` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] --> src/conntrack.rs:42:38 [INFO] [stdout] | [INFO] [stdout] 42 | nfct_set_attr_u8(ct, libnetfilter_conntrack::ATTR_L3PROTO, AF_INET as u8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `libnetfilter_conntrack`, use `cargo add libnetfilter_conntrack` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] --> src/conntrack.rs:43:39 [INFO] [stdout] | [INFO] [stdout] 43 | ... nfct_set_attr_u32(ct, libnetfilter_conntrack::ATTR_IPV4_SRC, u32::from(Ipv4Addr::from(peer_addr.in.sin_addr.s_addr)).to_be()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `libnetfilter_conntrack`, use `cargo add libnetfilter_conntrack` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] --> src/conntrack.rs:44:39 [INFO] [stdout] | [INFO] [stdout] 44 | nfct_set_attr_u16(ct, libnetfilter_conntrack::ATTR_PORT_SRC, peer_addr.in.sin_port.to_be()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `libnetfilter_conntrack`, use `cargo add libnetfilter_conntrack` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] --> src/conntrack.rs:45:39 [INFO] [stdout] | [INFO] [stdout] 45 | ... nfct_set_attr_u32(ct, libnetfilter_conntrack::ATTR_IPV4_DST, u32::from(Ipv4Addr::from(local_addr.addr4.s_addr)).to_be()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `libnetfilter_conntrack`, use `cargo add libnetfilter_conntrack` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] --> src/conntrack.rs:50:27 [INFO] [stdout] | [INFO] [stdout] 50 | let h = nfct_open(libnetfilter_conntrack::CONNTRACK, 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `libnetfilter_conntrack`, use `cargo add libnetfilter_conntrack` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] --> src/conntrack.rs:52:39 [INFO] [stdout] | [INFO] [stdout] 52 | nfct_callback_register(h, libnetfilter_conntrack::NFCT_T_ALL, Some(callback), markp as *mut _ as *mut c_void); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `libnetfilter_conntrack`, use `cargo add libnetfilter_conntrack` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] --> src/conntrack.rs:53:30 [INFO] [stdout] | [INFO] [stdout] 53 | if nfct_query(h, libnetfilter_conntrack::NFCT_Q_GET, ct) == -1 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `libnetfilter_conntrack` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `libnetfilter_conntrack`, use `cargo add libnetfilter_conntrack` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `iov_len` on type `*mut libc::iovec` [INFO] [stdout] --> src/dhcp_common.rs:72:40 [INFO] [stdout] | [INFO] [stdout] 72 | if sz as size_t == msg.msg_iov.iov_len { [INFO] [stdout] | ^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] help: `msg.msg_iov` is a raw pointer; try dereferencing it [INFO] [stdout] | [INFO] [stdout] 72 | if sz as size_t == (*msg.msg_iov).iov_len { [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/dhcp_common.rs:73:28 [INFO] [stdout] | [INFO] [stdout] 73 | if !expand_buf(msg.msg_iov, sz as usize + 100) { [INFO] [stdout] | ---------- ^^^^^^^^^^^ expected `&mut Vec`, found `*mut iovec` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected mutable reference `&mut Vec` [INFO] [stdout] found raw pointer `*mut libc::iovec` [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/dhcp_common.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn expand_buf(buf: &mut Vec, new_size: usize) { [INFO] [stdout] | ^^^^^^^^^^ ----------------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0600]: cannot apply unary operator `!` to type `()` [INFO] [stdout] --> src/dhcp_common.rs:73:16 [INFO] [stdout] | [INFO] [stdout] 73 | if !expand_buf(msg.msg_iov, sz as usize + 100) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot apply unary operator `!` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/dhcp_common.rs:77:24 [INFO] [stdout] | [INFO] [stdout] 77 | expand_buf(msg.msg_iov, sz as usize); [INFO] [stdout] | ---------- ^^^^^^^^^^^ expected `&mut Vec`, found `*mut iovec` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected mutable reference `&mut Vec` [INFO] [stdout] found raw pointer `*mut libc::iovec` [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/dhcp_common.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn expand_buf(buf: &mut Vec, new_size: usize) { [INFO] [stdout] | ^^^^^^^^^^ ----------------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/domain.rs:95:21 [INFO] [stdout] | [INFO] [stdout] 55 | let mut c_ptr = &DAEMON.as_ref().unwrap().synth_domains; [INFO] [stdout] | --------------------------------------- expected due to this value [INFO] [stdout] ... [INFO] [stdout] 95 | c_ptr = &c.next; [INFO] [stdout] | ^^^^^^^ expected `&Option`, found `&Option>` [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&Option` [INFO] [stdout] found reference `&Option>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/domain.rs:125:74 [INFO] [stdout] | [INFO] [stdout] 125 | if (flag & F_IPV4 != 0) && (c = search_domain(unsafe { addr.addr4 }, DAEMON.as_ref().unwrap().synth_domains)).is_some() { [INFO] [stdout] | ------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Option<&CondDomain>`, found `Option` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option<&domain::CondDomain>` [INFO] [stdout] found enum `Option` [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/domain.rs:112:4 [INFO] [stdout] | [INFO] [stdout] 112 | fn search_domain(addr: Ipv4Addr, domain: Option<&CondDomain>) -> Option<&CondDomain> { [INFO] [stdout] | ^^^^^^^^^^^^^ --------------------------- [INFO] [stdout] help: try using `.as_ref()` to convert `Option` to `Option<&domain::CondDomain>` [INFO] [stdout] | [INFO] [stdout] 125 | if (flag & F_IPV4 != 0) && (c = search_domain(unsafe { addr.addr4 }, DAEMON.as_ref().unwrap().synth_domains.as_ref())).is_some() { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/domain.rs:125:37 [INFO] [stdout] | [INFO] [stdout] 123 | let c: &CondDomain; [INFO] [stdout] | ----------- expected due to this type [INFO] [stdout] 124 | [INFO] [stdout] 125 | if (flag & F_IPV4 != 0) && (c = search_domain(unsafe { addr.addr4 }, DAEMON.as_ref().unwrap().synth_domains)).is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&CondDomain`, found `Option<&CondDomain>` [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&domain::CondDomain` [INFO] [stdout] found enum `Option<&domain::CondDomain>` [INFO] [stdout] help: consider using `Option::expect` to unwrap the `Option<&domain::CondDomain>` value, panicking if the value is an `Option::None` [INFO] [stdout] | [INFO] [stdout] 125 | if (flag & F_IPV4 != 0) && (c = search_domain(unsafe { addr.addr4 }, DAEMON.as_ref().unwrap().synth_domains).expect("REASON")).is_some() { [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `is_some` found for unit type `()` in the current scope [INFO] [stdout] --> src/domain.rs:125:115 [INFO] [stdout] | [INFO] [stdout] 125 | if (flag & F_IPV4 != 0) && (c = search_domain(unsafe { addr.addr4 }, DAEMON.as_ref().unwrap().synth_domains)).is_some() { [INFO] [stdout] | ^^^^^^^ method not found in `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/domain_match.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | let mut crop_query; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider giving `crop_query` an explicit type [INFO] [stdout] | [INFO] [stdout] 130 | let mut crop_query: /* Type */; [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/dump.rs:92:31 [INFO] [stdout] | [INFO] [stdout] 92 | DAEMON.read_write(hdr_buf, true).unwrap(); [INFO] [stdout] | ---------- ^^^^^^^ types differ in mutability [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected mutable reference `&mut _` [INFO] [stdout] found reference `&_` [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/dump.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | fn read_write(&mut self, buffer: &mut [u8], write: bool) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^ ----------------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/dump.rs:97:48 [INFO] [stdout] | [INFO] [stdout] 97 | let result = DAEMON.read_write(hdr_buf, false); [INFO] [stdout] | ---------- ^^^^^^^ types differ in mutability [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected mutable reference `&mut _` [INFO] [stdout] found reference `&_` [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/dump.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | fn read_write(&mut self, buffer: &mut [u8], write: bool) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^ ----------------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `from_raw_fd` found for struct `UdpSocket` in the current scope [INFO] [stdout] --> src/dump.rs:117:52 [INFO] [stdout] | [INFO] [stdout] 117 | let mut fd_addr = std::net::UdpSocket::from_raw_fd(fd as u32 as _) [INFO] [stdout] | ^^^^^^^^^^^ function or associated item not found in `UdpSocket` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `UdpSocket`, consider using `UdpSocket::bind` which returns `Result` [INFO] [stdout] --> /rustc/36e2b8a3a7aad93f8a92db6d254b746aa94ed6da/library/std/src/net/udp.rs:121:4 [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: there is a method `as_raw_fd` with a similar name, but with different arguments [INFO] [stdout] --> /rustc/36e2b8a3a7aad93f8a92db6d254b746aa94ed6da/library/std/src/os/fd/raw.rs:69:4 [INFO] [stdout] help: trait `FromRawFd` which provides `from_raw_fd` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use std::os::fd::FromRawFd; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `from_str` found for enum `no_std_net::SocketAddr` in the current scope [INFO] [stdout] --> src/dump.rs:119:59 [INFO] [stdout] | [INFO] [stdout] 119 | .unwrap_or_else(|_| std::net::SocketAddr::from_str("0.0.0.0:0").unwrap()) [INFO] [stdout] | ^^^^^^^^ variant or associated item not found in `no_std_net::SocketAddr` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `no_std_net::SocketAddr` consider using one of the following associated functions: [INFO] [stdout] core::net::parser::::parse_ascii [INFO] [stdout] no_std_net::SocketAddr::new [INFO] [stdout] --> /rustc/36e2b8a3a7aad93f8a92db6d254b746aa94ed6da/library/core/src/net/socket_addr.rs:172:4 [INFO] [stdout] --> /rustc/36e2b8a3a7aad93f8a92db6d254b746aa94ed6da/library/core/src/net/parser.rs:447:4 [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `FromStr` which provides `from_str` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use std::str::FromStr; [INFO] [stdout] | [INFO] [stdout] help: there is an associated function `from` with a similar name [INFO] [stdout] | [INFO] [stdout] 119 - .unwrap_or_else(|_| std::net::SocketAddr::from_str("0.0.0.0:0").unwrap()) [INFO] [stdout] 119 + .unwrap_or_else(|_| std::net::SocketAddr::from("0.0.0.0:0").unwrap()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/dump.rs:148:23 [INFO] [stdout] | [INFO] [stdout] 148 | DAEMON.read_write(&packet.to_vec(), true).unwrap(); [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^^^ types differ in mutability [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected mutable reference `&mut [u8]` [INFO] [stdout] found reference `&Vec` [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/dump.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | fn read_write(&mut self, buffer: &mut [u8], write: bool) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^ ----------------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:14:28 [INFO] [stdout] | [INFO] [stdout] 14 | let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | let type_ = get_short!(ansp); [INFO] [stdout] | ---------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider using `wrapping_add` or `add` for indexing into raw pointer [INFO] [stdout] | [INFO] [stdout] 14 - let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] 14 + let mut buf = [$buf.wrapping_add(0), $buf[1]]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:14:37 [INFO] [stdout] | [INFO] [stdout] 14 | let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | let type_ = get_short!(ansp); [INFO] [stdout] | ---------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider using `wrapping_add` or `add` for indexing into raw pointer [INFO] [stdout] | [INFO] [stdout] 14 - let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] 14 + let mut buf = [$buf.wrapping_add(1)]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | $buf = &$buf[2..]; [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | let type_ = get_short!(ansp); [INFO] [stdout] | ---------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:14:28 [INFO] [stdout] | [INFO] [stdout] 14 | let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | let class = get_short!(ansp); [INFO] [stdout] | ---------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider using `wrapping_add` or `add` for indexing into raw pointer [INFO] [stdout] | [INFO] [stdout] 14 - let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] 14 + let mut buf = [$buf.wrapping_add(0), $buf[1]]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:14:37 [INFO] [stdout] | [INFO] [stdout] 14 | let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | let class = get_short!(ansp); [INFO] [stdout] | ---------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider using `wrapping_add` or `add` for indexing into raw pointer [INFO] [stdout] | [INFO] [stdout] 14 - let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] 14 + let mut buf = [$buf.wrapping_add(1)]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | $buf = &$buf[2..]; [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | let class = get_short!(ansp); [INFO] [stdout] | ---------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `skip_questions` in this scope [INFO] [stdout] --> src/edns0.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 61 | if skip_questions(header, plen).is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `skip_section` in this scope [INFO] [stdout] --> src/edns0.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 70 | if skip_section(ansp, (u16::from_be(header.ancount) + u16::from_be(header.nscount)).into(), header, plen).is_none() { [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:14:28 [INFO] [stdout] | [INFO] [stdout] 14 | let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | let type_ = get_short!(ansp); [INFO] [stdout] | ---------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider using `wrapping_add` or `add` for indexing into raw pointer [INFO] [stdout] | [INFO] [stdout] 14 - let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] 14 + let mut buf = [$buf.wrapping_add(0), $buf[1]]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:14:37 [INFO] [stdout] | [INFO] [stdout] 14 | let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | let type_ = get_short!(ansp); [INFO] [stdout] | ---------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider using `wrapping_add` or `add` for indexing into raw pointer [INFO] [stdout] | [INFO] [stdout] 14 - let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] 14 + let mut buf = [$buf.wrapping_add(1)]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | $buf = &$buf[2..]; [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | let type_ = get_short!(ansp); [INFO] [stdout] | ---------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:14:28 [INFO] [stdout] | [INFO] [stdout] 14 | let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | let class = get_short!(ansp); [INFO] [stdout] | ---------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider using `wrapping_add` or `add` for indexing into raw pointer [INFO] [stdout] | [INFO] [stdout] 14 - let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] 14 + let mut buf = [$buf.wrapping_add(0), $buf[1]]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:14:37 [INFO] [stdout] | [INFO] [stdout] 14 | let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | let class = get_short!(ansp); [INFO] [stdout] | ---------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider using `wrapping_add` or `add` for indexing into raw pointer [INFO] [stdout] | [INFO] [stdout] 14 - let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] 14 + let mut buf = [$buf.wrapping_add(1)]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | $buf = &$buf[2..]; [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | let class = get_short!(ansp); [INFO] [stdout] | ---------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:82:25 [INFO] [stdout] | [INFO] [stdout] 82 | ansp = &mut ansp[4..]; // TTL [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:14:28 [INFO] [stdout] | [INFO] [stdout] 14 | let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | let rdlen = get_short!(ansp); [INFO] [stdout] | ---------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider using `wrapping_add` or `add` for indexing into raw pointer [INFO] [stdout] | [INFO] [stdout] 14 - let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] 14 + let mut buf = [$buf.wrapping_add(0), $buf[1]]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:14:37 [INFO] [stdout] | [INFO] [stdout] 14 | let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | let rdlen = get_short!(ansp); [INFO] [stdout] | ---------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider using `wrapping_add` or `add` for indexing into raw pointer [INFO] [stdout] | [INFO] [stdout] 14 - let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] 14 + let mut buf = [$buf.wrapping_add(1)]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | $buf = &$buf[2..]; [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | let rdlen = get_short!(ansp); [INFO] [stdout] | ---------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `is_some` found for mutable reference `&mut usize` in the current scope [INFO] [stdout] --> src/edns0.rs:89:20 [INFO] [stdout] | [INFO] [stdout] 89 | if len.is_some() { [INFO] [stdout] | ^^^^^^^ method not found in `&mut usize` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/edns0.rs:90:23 [INFO] [stdout] | [INFO] [stdout] 35 | len: &mut usize, [INFO] [stdout] | ---------- expected due to this parameter type [INFO] [stdout] ... [INFO] [stdout] 90 | len = Some(&(ansp as usize - save as usize)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&mut usize`, found `Option<&usize>` [INFO] [stdout] | [INFO] [stdout] = note: expected mutable reference `&mut usize` [INFO] [stdout] found enum `Option<&usize>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `is_some` found for mutable reference `&mut i32` in the current scope [INFO] [stdout] --> src/edns0.rs:97:24 [INFO] [stdout] | [INFO] [stdout] 97 | if is_last.is_some() { [INFO] [stdout] | ^^^^^^^ method not found in `&mut i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0606]: casting `&&edns0::DnsHeader` as `*const edns0::DnsHeader` is invalid [INFO] [stdout] --> src/edns0.rs:41:20 [INFO] [stdout] | [INFO] [stdout] 41 | let mut ansp = &header as *const DnsHeader as *mut u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: arguments to this function are incorrect [INFO] [stdout] --> src/edns0.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | p = find_pseudoheader(header as *mut _ as *mut u8, plen, None, &mut udp_len, &mut is_sign, &mut is_last).unwrap_or_else(|| head... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ---- ------------ expected `Option<&mut i32>`, found `&mut {integer}` [INFO] [stdout] | | [INFO] [stdout] | expected `&mut usize`, found `Option<_>` [INFO] [stdout] | [INFO] [stdout] note: expected `&DnsHeader`, found `*mut u8` [INFO] [stdout] --> src/edns0.rs:134:27 [INFO] [stdout] | [INFO] [stdout] 134 | p = find_pseudoheader(header as *mut _ as *mut u8, plen, None, &mut udp_len, &mut is_sign, &mut is_last).unwrap_or_else(|| head... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: expected reference `&edns0::DnsHeader` [INFO] [stdout] found raw pointer `*mut u8` [INFO] [stdout] note: expected `Option<&mut u8>`, found `&mut Option<&mut u8>` [INFO] [stdout] --> src/edns0.rs:134:68 [INFO] [stdout] | [INFO] [stdout] 134 | p = find_pseudoheader(header as *mut _ as *mut u8, plen, None, &mut udp_len, &mut is_sign, &mut is_last).unwrap_or_else(|| head... [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: expected enum `Option<&mut _>` [INFO] [stdout] found mutable reference `&mut Option<&mut _>` [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/edns0.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn find_pseudoheader( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 33 | header: &DnsHeader, [INFO] [stdout] | ------------------ [INFO] [stdout] ... [INFO] [stdout] 36 | p: Option<&mut u8>, [INFO] [stdout] | ------------------ [INFO] [stdout] help: consider removing the borrow [INFO] [stdout] | [INFO] [stdout] 134 - p = find_pseudoheader(header as *mut _ as *mut u8, plen, None, &mut udp_len, &mut is_sign, &mut is_last).unwrap_or_else(|| header as *mut _); [INFO] [stdout] 134 + p = find_pseudoheader(header as *mut _ as *mut u8, plen, None, udp_len, &mut is_sign, &mut is_last).unwrap_or_else(|| header as *mut _); [INFO] [stdout] | [INFO] [stdout] help: swap these arguments [INFO] [stdout] | [INFO] [stdout] 134 - p = find_pseudoheader(header as *mut _ as *mut u8, plen, None, &mut udp_len, &mut is_sign, &mut is_last).unwrap_or_else(|| header as *mut _); [INFO] [stdout] 134 + p = find_pseudoheader(/* &edns0::DnsHeader */, plen, &mut is_sign, /* Option<&mut u8> */, None, &mut is_last).unwrap_or_else(|| header as *mut _); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/edns0.rs:141:31 [INFO] [stdout] | [INFO] [stdout] 141 | p = udp_len.unwrap_or(p); [INFO] [stdout] | --------- ^ expected `&mut u8`, found `*mut u8` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected mutable reference `&mut u8` [INFO] [stdout] found raw pointer `*mut u8` [INFO] [stdout] help: the return type of this call is `*mut u8` due to the type of the argument passed [INFO] [stdout] --> src/edns0.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | p = udp_len.unwrap_or(p); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-^ [INFO] [stdout] | | [INFO] [stdout] | this argument influences the return type of `unwrap_or` [INFO] [stdout] note: method defined here [INFO] [stdout] --> /rustc/36e2b8a3a7aad93f8a92db6d254b746aa94ed6da/library/core/src/option.rs:1038:17 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:14:28 [INFO] [stdout] | [INFO] [stdout] 14 | let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | udp_sz = get_short!(p); [INFO] [stdout] | ------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider using `wrapping_add` or `add` for indexing into raw pointer [INFO] [stdout] | [INFO] [stdout] 14 - let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] 14 + let mut buf = [$buf.wrapping_add(0), $buf[1]]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:14:37 [INFO] [stdout] | [INFO] [stdout] 14 | let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | udp_sz = get_short!(p); [INFO] [stdout] | ------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider using `wrapping_add` or `add` for indexing into raw pointer [INFO] [stdout] | [INFO] [stdout] 14 - let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] 14 + let mut buf = [$buf.wrapping_add(1)]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | $buf = &$buf[2..]; [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | udp_sz = get_short!(p); [INFO] [stdout] | ------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:14:28 [INFO] [stdout] | [INFO] [stdout] 14 | let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | rcode = get_short!(p); [INFO] [stdout] | ------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider using `wrapping_add` or `add` for indexing into raw pointer [INFO] [stdout] | [INFO] [stdout] 14 - let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] 14 + let mut buf = [$buf.wrapping_add(0), $buf[1]]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:14:37 [INFO] [stdout] | [INFO] [stdout] 14 | let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | rcode = get_short!(p); [INFO] [stdout] | ------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider using `wrapping_add` or `add` for indexing into raw pointer [INFO] [stdout] | [INFO] [stdout] 14 - let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] 14 + let mut buf = [$buf.wrapping_add(1)]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | $buf = &$buf[2..]; [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | rcode = get_short!(p); [INFO] [stdout] | ------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:14:28 [INFO] [stdout] | [INFO] [stdout] 14 | let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | let flags = get_short!(p); [INFO] [stdout] | ------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider using `wrapping_add` or `add` for indexing into raw pointer [INFO] [stdout] | [INFO] [stdout] 14 - let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] 14 + let mut buf = [$buf.wrapping_add(0), $buf[1]]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:14:37 [INFO] [stdout] | [INFO] [stdout] 14 | let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | let flags = get_short!(p); [INFO] [stdout] | ------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider using `wrapping_add` or `add` for indexing into raw pointer [INFO] [stdout] | [INFO] [stdout] 14 - let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] 14 + let mut buf = [$buf.wrapping_add(1)]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | $buf = &$buf[2..]; [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | let flags = get_short!(p); [INFO] [stdout] | ------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/edns0.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | lenp = Some(p); [INFO] [stdout] | ---- ^ expected `&mut u8`, found `*mut u8` [INFO] [stdout] | | [INFO] [stdout] | arguments to this enum variant are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected mutable reference `&mut u8` [INFO] [stdout] found raw pointer `*mut u8` [INFO] [stdout] help: the type constructed contains `*mut u8` due to the type of the argument passed [INFO] [stdout] --> src/edns0.rs:150:16 [INFO] [stdout] | [INFO] [stdout] 150 | lenp = Some(p); [INFO] [stdout] | ^^^^^-^ [INFO] [stdout] | | [INFO] [stdout] | this argument influences the type of `Some` [INFO] [stdout] note: tuple variant defined here [INFO] [stdout] --> /rustc/36e2b8a3a7aad93f8a92db6d254b746aa94ed6da/library/core/src/option.rs:608:4 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:14:28 [INFO] [stdout] | [INFO] [stdout] 14 | let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | udplen = get_short!(p); [INFO] [stdout] | ------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider using `wrapping_add` or `add` for indexing into raw pointer [INFO] [stdout] | [INFO] [stdout] 14 - let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] 14 + let mut buf = [$buf.wrapping_add(0), $buf[1]]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:14:37 [INFO] [stdout] | [INFO] [stdout] 14 | let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | udplen = get_short!(p); [INFO] [stdout] | ------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider using `wrapping_add` or `add` for indexing into raw pointer [INFO] [stdout] | [INFO] [stdout] 14 - let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] 14 + let mut buf = [$buf.wrapping_add(1)]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | $buf = &$buf[2..]; [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | udplen = get_short!(p); [INFO] [stdout] | ------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/edns0.rs:157:22 [INFO] [stdout] | [INFO] [stdout] 157 | datap = Some(p); [INFO] [stdout] | ---- ^ expected `&mut u8`, found `*mut u8` [INFO] [stdout] | | [INFO] [stdout] | arguments to this enum variant are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected mutable reference `&mut u8` [INFO] [stdout] found raw pointer `*mut u8` [INFO] [stdout] help: the type constructed contains `*mut u8` due to the type of the argument passed [INFO] [stdout] --> src/edns0.rs:157:17 [INFO] [stdout] | [INFO] [stdout] 157 | datap = Some(p); [INFO] [stdout] | ^^^^^-^ [INFO] [stdout] | | [INFO] [stdout] | this argument influences the type of `Some` [INFO] [stdout] note: tuple variant defined here [INFO] [stdout] --> /rustc/36e2b8a3a7aad93f8a92db6d254b746aa94ed6da/library/core/src/option.rs:608:4 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:14:28 [INFO] [stdout] | [INFO] [stdout] 14 | let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | let code = get_short!(p); [INFO] [stdout] | ------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider using `wrapping_add` or `add` for indexing into raw pointer [INFO] [stdout] | [INFO] [stdout] 14 - let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] 14 + let mut buf = [$buf.wrapping_add(0), $buf[1]]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:14:37 [INFO] [stdout] | [INFO] [stdout] 14 | let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | let code = get_short!(p); [INFO] [stdout] | ------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider using `wrapping_add` or `add` for indexing into raw pointer [INFO] [stdout] | [INFO] [stdout] 14 - let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] 14 + let mut buf = [$buf.wrapping_add(1)]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | $buf = &$buf[2..]; [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | let code = get_short!(p); [INFO] [stdout] | ------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:14:28 [INFO] [stdout] | [INFO] [stdout] 14 | let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | let len = get_short!(p); [INFO] [stdout] | ------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider using `wrapping_add` or `add` for indexing into raw pointer [INFO] [stdout] | [INFO] [stdout] 14 - let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] 14 + let mut buf = [$buf.wrapping_add(0), $buf[1]]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:14:37 [INFO] [stdout] | [INFO] [stdout] 14 | let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | let len = get_short!(p); [INFO] [stdout] | ------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider using `wrapping_add` or `add` for indexing into raw pointer [INFO] [stdout] | [INFO] [stdout] 14 - let mut buf = [$buf[0], $buf[1]]; [INFO] [stdout] 14 + let mut buf = [$buf.wrapping_add(1)]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*mut u8` [INFO] [stdout] --> src/edns0.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | $buf = &$buf[2..]; [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | let len = get_short!(p); [INFO] [stdout] | ------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `get_short` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `offset_from` found for mutable reference `&mut u8` in the current scope [INFO] [stdout] --> src/edns0.rs:185:18 [INFO] [stdout] | [INFO] [stdout] 185 | if limit.offset_from(datap.unwrap() as *const u8) + optlen as isize <= 0 { [INFO] [stdout] | ^^^^^^^^^^^ method not found in `&mut u8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `offset` found for mutable reference `&mut u8` in the current scope [INFO] [stdout] --> src/edns0.rs:188:23 [INFO] [stdout] | [INFO] [stdout] 188 | limit = limit.offset(-(p.offset_from(datap.unwrap() as *const u8) + optlen as isize) as isize); [INFO] [stdout] | ^^^^^^ method not found in `&mut u8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/edns0.rs:190:32 [INFO] [stdout] | [INFO] [stdout] 190 | std::ptr::write(limit, p.add(optlen)); [INFO] [stdout] | --------------- ^^^^^^^^^^^^^ expected `u8`, found `*mut u8` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected type `u8` [INFO] [stdout] found raw pointer `*mut u8` [INFO] [stdout] note: function defined here [INFO] [stdout] --> /rustc/36e2b8a3a7aad93f8a92db6d254b746aa94ed6da/library/core/src/ptr/mod.rs:1887:20 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `offset_from` found for mutable reference `&mut u8` in the current scope [INFO] [stdout] --> src/edns0.rs:193:22 [INFO] [stdout] | [INFO] [stdout] 193 | buff[..limit.offset_from(p.offset(14)) as usize].copy_from_slice(&buff[(plen / 2) as usize..]); [INFO] [stdout] | ^^^^^^^^^^^ method not found in `&mut u8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0606]: casting `&mut edns0::DnsHeader` as `*mut u8` is invalid [INFO] [stdout] --> src/edns0.rs:134:128 [INFO] [stdout] | [INFO] [stdout] 134 | ... udp_len, &mut is_sign, &mut is_last).unwrap_or_else(|| header as *mut _); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0606]: casting `&mut u8` as `*mut u16` is invalid [INFO] [stdout] --> src/edns0.rs:194:10 [INFO] [stdout] | [INFO] [stdout] 194 | *(udp_len.unwrap() as *mut u16) = plen as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: arguments to this function are incorrect [INFO] [stdout] --> src/edns0.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 220 | add_pseudoheader(header, plen, limit, udp_sz, optno, opt, optlen, set_do, replace); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ------ ----- --- expected `&[u8]`, found `[{integer}; 1]` [INFO] [stdout] | | | [INFO] [stdout] | | expected `&mut u8`, found `u8` [INFO] [stdout] | expected `&mut DnsHeader`, found `DnsHeader` [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/edns0.rs:113:4 [INFO] [stdout] | [INFO] [stdout] 113 | fn add_pseudoheader( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 114 | header: &mut DnsHeader, [INFO] [stdout] | ---------------------- [INFO] [stdout] 115 | plen: usize, [INFO] [stdout] 116 | limit: &mut u8, [INFO] [stdout] | -------------- [INFO] [stdout] ... [INFO] [stdout] 119 | opt: &[u8], [INFO] [stdout] | ---------- [INFO] [stdout] help: consider mutably borrowing here [INFO] [stdout] | [INFO] [stdout] 220 | add_pseudoheader(&mut header, plen, limit, udp_sz, optno, opt, optlen, set_do, replace); [INFO] [stdout] | ++++ [INFO] [stdout] help: consider mutably borrowing here [INFO] [stdout] | [INFO] [stdout] 220 | add_pseudoheader(header, plen, &mut limit, udp_sz, optno, opt, optlen, set_do, replace); [INFO] [stdout] | ++++ [INFO] [stdout] help: consider borrowing here [INFO] [stdout] | [INFO] [stdout] 220 | add_pseudoheader(header, plen, limit, udp_sz, optno, &opt, optlen, set_do, replace); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `in_addr: From` is not satisfied [INFO] [stdout] --> src/forward.rs:76:61 [INFO] [stdout] | [INFO] [stdout] 76 | ... ipi_addr: Ipv4Addr::UNSPECIFIED.into(), [INFO] [stdout] | ^^^^ the trait `From` is not implemented for `in_addr` [INFO] [stdout] | [INFO] [stdout] = note: required for `Ipv4Addr` to implement `Into` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `is_err` found for unit type `()` in the current scope [INFO] [stdout] --> src/helper.rs:73:39 [INFO] [stdout] | [INFO] [stdout] 73 | if std::env::set_var(name, value).is_err() { [INFO] [stdout] | ^^^^^^ method not found in `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `sigaction` has no field named `sa_handler` [INFO] [stdout] --> src/helper.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | sa_handler: sig_ignore, [INFO] [stdout] | ^^^^^^^^^^ `sigaction` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `sa_sigaction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `sigset_t: Default` is not satisfied [INFO] [stdout] --> src/helper.rs:101:26 [INFO] [stdout] | [INFO] [stdout] 101 | sa_mask: Default::default(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `sigset_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Vec<_, _>: From<*const i8>` is not satisfied [INFO] [stdout] --> src/inotify.rs:63:32 [INFO] [stdout] | [INFO] [stdout] 63 | let mut path_buf = Vec::from(path); [INFO] [stdout] | ^^^ the trait `From<*const i8>` is not implemented for `Vec<_, _>` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `Vec` implements `From>` [INFO] [stdout] `Vec` implements `From>` [INFO] [stdout] `Vec` implements `From>` [INFO] [stdout] `Vec` implements `From<&[T; N]>` [INFO] [stdout] `Vec` implements `From<&[T]>` [INFO] [stdout] `Vec` implements `From<&mut [T; N]>` [INFO] [stdout] `Vec` implements `From<&mut [T]>` [INFO] [stdout] `Vec` implements `From>` [INFO] [stdout] and 5 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `rfind` found for raw pointer `*const i8` in the current scope [INFO] [stdout] --> src/inotify.rs:66:41 [INFO] [stdout] | [INFO] [stdout] 66 | if let Some(pos) = path.rfind(b'/') { [INFO] [stdout] | ^^^^^ method not found in `*const i8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0608]: cannot index into a value of type `*const i8` [INFO] [stdout] --> src/inotify.rs:68:62 [INFO] [stdout] | [INFO] [stdout] 68 | new_path[..pos + 1].copy_from_slice(&path[..pos + 1]); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/inotify.rs:70:21 [INFO] [stdout] | [INFO] [stdout] 66 | / if let Some(pos) = path.rfind(b'/') { [INFO] [stdout] 67 | | let mut new_path = vec![0u8; pos + rc as usize + 2]; [INFO] [stdout] 68 | | new_path[..pos + 1].copy_from_slice(&path[..pos + 1]); [INFO] [stdout] 69 | | new_path[pos + 1..pos + 1 + rc as usize].copy_from_slice(&buf[..rc as usize]); [INFO] [stdout] 70 | | Some(String::from_utf8(new_path).unwrap()) [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found `Option` [INFO] [stdout] 71 | | } else { [INFO] [stdout] 72 | | Some(String::from_utf8(buf[..rc as usize].to_vec()).unwrap()) [INFO] [stdout] 73 | | } [INFO] [stdout] | |_________________- expected this to be `()` [INFO] [stdout] | [INFO] [stdout] = note: expected unit type `()` [INFO] [stdout] found enum `Option` [INFO] [stdout] help: consider using a semicolon here [INFO] [stdout] | [INFO] [stdout] 70 | Some(String::from_utf8(new_path).unwrap()); [INFO] [stdout] | + [INFO] [stdout] help: consider using a semicolon here [INFO] [stdout] | [INFO] [stdout] 73 | }; [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to return this value [INFO] [stdout] | [INFO] [stdout] 70 | return Some(String::from_utf8(new_path).unwrap()); [INFO] [stdout] | ++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/inotify.rs:72:21 [INFO] [stdout] | [INFO] [stdout] 66 | / if let Some(pos) = path.rfind(b'/') { [INFO] [stdout] 67 | | let mut new_path = vec![0u8; pos + rc as usize + 2]; [INFO] [stdout] 68 | | new_path[..pos + 1].copy_from_slice(&path[..pos + 1]); [INFO] [stdout] 69 | | new_path[pos + 1..pos + 1 + rc as usize].copy_from_slice(&buf[..rc as usize]); [INFO] [stdout] ... | [INFO] [stdout] 72 | | Some(String::from_utf8(buf[..rc as usize].to_vec()).unwrap()) [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found `Option` [INFO] [stdout] 73 | | } [INFO] [stdout] | |_________________- expected this to be `()` [INFO] [stdout] | [INFO] [stdout] = note: expected unit type `()` [INFO] [stdout] found enum `Option` [INFO] [stdout] help: consider using a semicolon here [INFO] [stdout] | [INFO] [stdout] 72 | Some(String::from_utf8(buf[..rc as usize].to_vec()).unwrap()); [INFO] [stdout] | + [INFO] [stdout] help: consider using a semicolon here [INFO] [stdout] | [INFO] [stdout] 73 | }; [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to return this value [INFO] [stdout] | [INFO] [stdout] 72 | return Some(String::from_utf8(buf[..rc as usize].to_vec()).unwrap()); [INFO] [stdout] | ++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/inotify.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 65 | / if buf[0] != b'/' { [INFO] [stdout] 66 | | if let Some(pos) = path.rfind(b'/') { [INFO] [stdout] 67 | | let mut new_path = vec![0u8; pos + rc as usize + 2]; [INFO] [stdout] 68 | | new_path[..pos + 1].copy_from_slice(&path[..pos + 1]); [INFO] [stdout] ... | [INFO] [stdout] 75 | | Some(String::from_utf8(buf[..rc as usize].to_vec()).unwrap()) [INFO] [stdout] | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found `Option` [INFO] [stdout] 76 | | } [INFO] [stdout] | |_____________- expected this to be `()` [INFO] [stdout] | [INFO] [stdout] = note: expected unit type `()` [INFO] [stdout] found enum `Option` [INFO] [stdout] help: consider using a semicolon here [INFO] [stdout] | [INFO] [stdout] 75 | Some(String::from_utf8(buf[..rc as usize].to_vec()).unwrap()); [INFO] [stdout] | + [INFO] [stdout] help: consider using a semicolon here [INFO] [stdout] | [INFO] [stdout] 76 | }; [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to return this value [INFO] [stdout] | [INFO] [stdout] 75 | return Some(String::from_utf8(buf[..rc as usize].to_vec()).unwrap()); [INFO] [stdout] | ++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/ipset.rs:100:30 [INFO] [stdout] | [INFO] [stdout] 100 | (*nlh).nlmsg_flags = libc::NLM_F_REQUEST; [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^ expected `u16`, found `i32` [INFO] [stdout] | | [INFO] [stdout] | expected due to the type of this binding [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/ipset.rs:110:18 [INFO] [stdout] | [INFO] [stdout] 110 | add_attr(nlh, IPSET_ATTR_PROTOCOL, size_of::(), &proto as *const u8 as *const libc::c_void); [INFO] [stdout] | -------- ^^^ expected `&mut nlmsghdr`, found `*mut nlmsghdr` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected mutable reference `&mut nlmsghdr` [INFO] [stdout] found raw pointer `*mut nlmsghdr` [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/ipset.rs:59:4 [INFO] [stdout] | [INFO] [stdout] 59 | fn add_attr(nlh: &mut libc::nlmsghdr, attr_type: u16, len: usize, data: *const libc::c_void) { [INFO] [stdout] | ^^^^^^^^ ------------------------ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/ipset.rs:111:18 [INFO] [stdout] | [INFO] [stdout] 111 | add_attr(nlh, IPSET_ATTR_SETNAME, setname.len() + 1, setname.as_ptr() as *const libc::c_void); [INFO] [stdout] | -------- ^^^ expected `&mut nlmsghdr`, found `*mut nlmsghdr` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected mutable reference `&mut nlmsghdr` [INFO] [stdout] found raw pointer `*mut nlmsghdr` [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/ipset.rs:59:4 [INFO] [stdout] | [INFO] [stdout] 59 | fn add_attr(nlh: &mut libc::nlmsghdr, attr_type: u16, len: usize, data: *const libc::c_void) { [INFO] [stdout] | ^^^^^^^^ ------------------------ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/ipset.rs:112:18 [INFO] [stdout] | [INFO] [stdout] 112 | add_attr(nlh, IPSET_ATTR_IP, ipaddr.len(), ipaddr.as_ptr() as *const libc::c_void); [INFO] [stdout] | -------- ^^^ expected `&mut nlmsghdr`, found `*mut nlmsghdr` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected mutable reference `&mut nlmsghdr` [INFO] [stdout] found raw pointer `*mut nlmsghdr` [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/ipset.rs:59:4 [INFO] [stdout] | [INFO] [stdout] 59 | fn add_attr(nlh: &mut libc::nlmsghdr, attr_type: u16, len: usize, data: *const libc::c_void) { [INFO] [stdout] | ^^^^^^^^ ------------------------ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/log.rs:77:33 [INFO] [stdout] | [INFO] [stdout] 77 | config.log_fd = log_fd.as_raw_fd(); [INFO] [stdout] | ^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `mode` found for mutable reference `&mut OpenOptions` in the current scope [INFO] [stdout] --> src/log.rs:126:18 [INFO] [stdout] | [INFO] [stdout] 122 | if let Ok(file) = OpenOptions::new() [INFO] [stdout] | _______________________________- [INFO] [stdout] 123 | | .write(true) [INFO] [stdout] 124 | | .create(true) [INFO] [stdout] 125 | | .append(true) [INFO] [stdout] 126 | | .mode(0o644) [INFO] [stdout] | | -^^^^ method not found in `&mut OpenOptions` [INFO] [stdout] | |_________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `OpenOptionsExt` which provides `mode` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use std::os::unix::fs::OpenOptionsExt; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/log.rs:129:33 [INFO] [stdout] | [INFO] [stdout] 129 | config.log_fd = file.as_raw_fd(); [INFO] [stdout] | ^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `[u8; 512]: Default` is not satisfied [INFO] [stdout] --> src/loop_impl.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 20 | #[derive(Debug, Default)] [INFO] [stdout] | ------- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 23 | packet: [u8; 512], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `[u8; 512]` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Default`: [INFO] [stdout] &[T] [INFO] [stdout] &mut [T] [INFO] [stdout] [T; 0] [INFO] [stdout] [T; 1] [INFO] [stdout] [T; 2] [INFO] [stdout] [T; 3] [INFO] [stdout] [T; 4] [INFO] [stdout] [T; 5] [INFO] [stdout] and 27 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0015]: cannot call non-const associated function `loop_impl::Daemon::new` in statics [INFO] [stdout] --> src/loop_impl.rs:37:29 [INFO] [stdout] | [INFO] [stdout] 37 | static mut DAEMON: Daemon = Daemon::new(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: calls in statics are limited to constant functions, tuple structs and tuple variants [INFO] [stdout] = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `rand` [INFO] [stdout] --> src/loop_impl.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | rand::random::() [INFO] [stdout] | ^^^^ use of unresolved module or unlinked crate `rand` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `rand`, use `cargo add rand` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `hb3` on type `&mut loop_impl::DnsHeader` [INFO] [stdout] --> src/loop_impl.rs:120:16 [INFO] [stdout] | [INFO] [stdout] 120 | header.hb3 = 1; [INFO] [stdout] | ^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `id`, `flags`, `qdcount`, `ancount`, `nscount` ... and 2 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `hb4` on type `&mut loop_impl::DnsHeader` [INFO] [stdout] --> src/loop_impl.rs:121:16 [INFO] [stdout] | [INFO] [stdout] 121 | header.hb4 = 0; [INFO] [stdout] | ^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `id`, `flags`, `qdcount`, `ancount`, `nscount` ... and 2 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `opcode` on type `&mut loop_impl::DnsHeader` [INFO] [stdout] --> src/loop_impl.rs:122:16 [INFO] [stdout] | [INFO] [stdout] 122 | header.opcode = 0; [INFO] [stdout] | ^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `id`, `flags`, `qdcount`, `ancount`, `nscount` ... and 2 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `put_short` found for array `[u8; 0]` in the current scope [INFO] [stdout] --> src/loop_impl.rs:136:24 [INFO] [stdout] | [INFO] [stdout] 136 | header.payload.put_short(LOOP_TEST_TYPE); [INFO] [stdout] | ^^^^^^^^^ method not found in `[u8; 0]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `put_short` found for array `[u8; 0]` in the current scope [INFO] [stdout] --> src/loop_impl.rs:137:24 [INFO] [stdout] | [INFO] [stdout] 137 | header.payload.put_short(C_IN); [INFO] [stdout] | ^^^^^^^^^ method not found in `[u8; 0]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no associated item named `Netlink` found for struct `sockaddr` in the current scope [INFO] [stdout] --> src/netlink.rs:60:28 [INFO] [stdout] | [INFO] [stdout] 60 | if bind(fd, &sockaddr::Netlink(addr), slen).is_err() { [INFO] [stdout] | ^^^^^^^ associated item not found in `sockaddr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no associated item named `Netlink` found for struct `sockaddr` in the current scope [INFO] [stdout] --> src/netlink.rs:62:45 [INFO] [stdout] | [INFO] [stdout] 62 | if let Err(e) = bind(fd, &sockaddr::Netlink(addr), slen) { [INFO] [stdout] | ^^^^^^^ associated item not found in `sockaddr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/netlink.rs:104:27 [INFO] [stdout] | [INFO] [stdout] 104 | msg.msg_namelen = std::mem::size_of::(); [INFO] [stdout] | --------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u32`, found `usize` [INFO] [stdout] | | [INFO] [stdout] | expected due to the type of this binding [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `ifreq` has no field named `ifr_ifindex` [INFO] [stdout] --> src/network.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | ifr_ifindex: index, [INFO] [stdout] | ^^^^^^^^^^^ `ifreq` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `ifr_name`, `ifr_ifru` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `wildcard_match` in this scope [INFO] [stdout] --> src/network.rs:110:20 [INFO] [stdout] | [INFO] [stdout] 110 | if wildcard_match(tmp_name, name) { [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/network.rs:122:32 [INFO] [stdout] | [INFO] [stdout] 122 | ... if ipv4_addr.ip() == Ipv4Addr::from(tmp.addr.in.sin_addr.s_addr) { [INFO] [stdout] | ^^^^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/network.rs:131:33 [INFO] [stdout] | [INFO] [stdout] 131 | ... if &ipv6_addr.ip().octets() == unsafe { &tmp.addr.in6.sin6_addr.s6_addr } { [INFO] [stdout] | ^^^^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `wildcard_match` in this scope [INFO] [stdout] --> src/network.rs:147:20 [INFO] [stdout] | [INFO] [stdout] 147 | if wildcard_match(tmp_name, name) { [INFO] [stdout] | ^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/network.rs:166:28 [INFO] [stdout] | [INFO] [stdout] 166 | if ipv4_addr.ip() == Ipv4Addr::from(tmp.addr.in.sin_addr.s_addr) { [INFO] [stdout] | ^^^^^^^^^ cannot infer type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/option.rs:16:14 [INFO] [stdout] | [INFO] [stdout] 16 | ("kern", LOG_KERN), [INFO] [stdout] | ^^^^^^^^ expected `u32`, found `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/option.rs:17:14 [INFO] [stdout] | [INFO] [stdout] 17 | ("user", LOG_USER), [INFO] [stdout] | ^^^^^^^^ expected `u32`, found `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/option.rs:18:14 [INFO] [stdout] | [INFO] [stdout] 18 | ("mail", LOG_MAIL), [INFO] [stdout] | ^^^^^^^^ expected `u32`, found `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/option.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | ("daemon", LOG_DAEMON), [INFO] [stdout] | ^^^^^^^^^^ expected `u32`, found `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/option.rs:20:14 [INFO] [stdout] | [INFO] [stdout] 20 | ("auth", LOG_AUTH), [INFO] [stdout] | ^^^^^^^^ expected `u32`, found `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/option.rs:21:16 [INFO] [stdout] | [INFO] [stdout] 21 | ("syslog", LOG_SYSLOG), [INFO] [stdout] | ^^^^^^^^^^ expected `u32`, found `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/option.rs:22:13 [INFO] [stdout] | [INFO] [stdout] 22 | ("lpr", LOG_LPR), [INFO] [stdout] | ^^^^^^^ expected `u32`, found `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/option.rs:23:14 [INFO] [stdout] | [INFO] [stdout] 23 | ("news", LOG_NEWS), [INFO] [stdout] | ^^^^^^^^ expected `u32`, found `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/option.rs:24:14 [INFO] [stdout] | [INFO] [stdout] 24 | ("uucp", LOG_UUCP), [INFO] [stdout] | ^^^^^^^^ expected `u32`, found `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/option.rs:25:14 [INFO] [stdout] | [INFO] [stdout] 25 | ("cron", LOG_CRON), [INFO] [stdout] | ^^^^^^^^ expected `u32`, found `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/option.rs:26:16 [INFO] [stdout] | [INFO] [stdout] 26 | ("local0", LOG_LOCAL0), [INFO] [stdout] | ^^^^^^^^^^ expected `u32`, found `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/option.rs:27:16 [INFO] [stdout] | [INFO] [stdout] 27 | ("local1", LOG_LOCAL1), [INFO] [stdout] | ^^^^^^^^^^ expected `u32`, found `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/option.rs:28:16 [INFO] [stdout] | [INFO] [stdout] 28 | ("local2", LOG_LOCAL2), [INFO] [stdout] | ^^^^^^^^^^ expected `u32`, found `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/option.rs:29:16 [INFO] [stdout] | [INFO] [stdout] 29 | ("local3", LOG_LOCAL3), [INFO] [stdout] | ^^^^^^^^^^ expected `u32`, found `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/option.rs:30:16 [INFO] [stdout] | [INFO] [stdout] 30 | ("local4", LOG_LOCAL4), [INFO] [stdout] | ^^^^^^^^^^ expected `u32`, found `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/option.rs:31:16 [INFO] [stdout] | [INFO] [stdout] 31 | ("local5", LOG_LOCAL5), [INFO] [stdout] | ^^^^^^^^^^ expected `u32`, found `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/option.rs:32:16 [INFO] [stdout] | [INFO] [stdout] 32 | ("local6", LOG_LOCAL6), [INFO] [stdout] | ^^^^^^^^^^ expected `u32`, found `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/option.rs:33:16 [INFO] [stdout] | [INFO] [stdout] 33 | ("local7", LOG_LOCAL7), [INFO] [stdout] | ^^^^^^^^^^ expected `u32`, found `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `add` found for mutable reference `&mut c_void` in the current scope [INFO] [stdout] --> src/outpacket.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | *(p.add(2) as *mut u16) = 0; [INFO] [stdout] | ^^^ method not found in `&mut c_void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0606]: casting `&mut c_void` as `*mut u16` is invalid [INFO] [stdout] --> src/outpacket.rs:52:10 [INFO] [stdout] | [INFO] [stdout] 52 | *(p as *mut u16) = opt; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0606]: casting `&mut c_void` as `*mut u32` is invalid [INFO] [stdout] --> src/outpacket.rs:72:10 [INFO] [stdout] | [INFO] [stdout] 72 | *(p as *mut u32) = val; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0606]: casting `&mut c_void` as `*mut u16` is invalid [INFO] [stdout] --> src/outpacket.rs:78:10 [INFO] [stdout] | [INFO] [stdout] 78 | *(p as *mut u16) = val; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0606]: casting `&mut c_void` as `*mut u8` is invalid [INFO] [stdout] --> src/outpacket.rs:84:10 [INFO] [stdout] | [INFO] [stdout] 84 | *(p as *mut u8) = val; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `in6_addr: Default` is not satisfied [INFO] [stdout] --> src/radv_protocol.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 28 | #[derive(Debug, Default, Copy, Clone)] [INFO] [stdout] | ------- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 34 | target: libc::in6_addr, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `in6_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `in6_addr: Default` is not satisfied [INFO] [stdout] --> src/radv_protocol.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 38 | #[derive(Debug, Default, Copy, Clone)] [INFO] [stdout] | ------- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 47 | prefix: libc::in6_addr, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `in6_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> src/rfc1035.rs:8:69 [INFO] [stdout] | [INFO] [stdout] 8 | const CHECK_LEN: fn(&DnsHeader, *const u8, usize, usize) -> bool = |header, p, plen, len| { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/rfc1035.rs:69:17 [INFO] [stdout] | [INFO] [stdout] 42 | let mut l = unsafe { *p }; [INFO] [stdout] | ------------- expected due to this value [INFO] [stdout] ... [INFO] [stdout] 69 | l = ((l & 0x3f) as u16) << 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/rfc1035.rs:70:18 [INFO] [stdout] | [INFO] [stdout] 70 | l |= unsafe { *p } as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: no implementation for `u8 |= u16` [INFO] [stdout] --> src/rfc1035.rs:70:15 [INFO] [stdout] | [INFO] [stdout] 70 | l |= unsafe { *p } as u16; [INFO] [stdout] | ^^ no implementation for `u8 |= u16` [INFO] [stdout] | [INFO] [stdout] = help: the trait `BitOrAssign` is not implemented for `u8` [INFO] [stdout] help: the following other types implement trait `BitOrAssign` [INFO] [stdout] --> /rustc/36e2b8a3a7aad93f8a92db6d254b746aa94ed6da/library/core/src/internal_macros.rs:61:8 [INFO] [stdout] | [INFO] [stdout] = note: `u8` implements `BitOrAssign<&u8>` [INFO] [stdout] --> /rustc/36e2b8a3a7aad93f8a92db6d254b746aa94ed6da/library/core/src/ops/bit.rs:819:8 [INFO] [stdout] | [INFO] [stdout] = note: `u8` implements `BitOrAssign` [INFO] [stdout] ::: /rustc/36e2b8a3a7aad93f8a92db6d254b746aa94ed6da/library/core/src/ops/bit.rs:830:0 [INFO] [stdout] | [INFO] [stdout] = note: in this macro invocation [INFO] [stdout] = note: this error originates in the macro `forward_ref_op_assign` which comes from the expansion of the macro `bitor_assign_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `octets` found for mutable reference `&mut rfc1035::AllAddr` in the current scope [INFO] [stdout] --> src/rfc1035.rs:196:32 [INFO] [stdout] | [INFO] [stdout] 196 | unsafe { addrp.octets()[3 - i] = octet }; [INFO] [stdout] | ^^^^^^ method not found in `&mut rfc1035::AllAddr` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `octets`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `pnet::util::Octets` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: union `rfc1035::AllAddr` has no field named `ipv4` [INFO] [stdout] --> src/rfc1035.rs:228:30 [INFO] [stdout] | [INFO] [stdout] 228 | let mut addr = AllAddr { ipv4: [0; 4] }; [INFO] [stdout] | ^^^^ `rfc1035::AllAddr` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: all struct fields are already assigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/rfc2131.rs:74:17 [INFO] [stdout] | [INFO] [stdout] 47 | let mut l = unsafe { *p }; [INFO] [stdout] | ------------- expected due to this value [INFO] [stdout] ... [INFO] [stdout] 74 | l = ((l & 0x3f) as u16) << 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/rfc2131.rs:75:18 [INFO] [stdout] | [INFO] [stdout] 75 | l |= unsafe { *p } as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: no implementation for `u8 |= u16` [INFO] [stdout] --> src/rfc2131.rs:75:15 [INFO] [stdout] | [INFO] [stdout] 75 | l |= unsafe { *p } as u16; [INFO] [stdout] | ^^ no implementation for `u8 |= u16` [INFO] [stdout] | [INFO] [stdout] = help: the trait `BitOrAssign` is not implemented for `u8` [INFO] [stdout] help: the following other types implement trait `BitOrAssign` [INFO] [stdout] --> /rustc/36e2b8a3a7aad93f8a92db6d254b746aa94ed6da/library/core/src/internal_macros.rs:61:8 [INFO] [stdout] | [INFO] [stdout] = note: `u8` implements `BitOrAssign<&u8>` [INFO] [stdout] --> /rustc/36e2b8a3a7aad93f8a92db6d254b746aa94ed6da/library/core/src/ops/bit.rs:819:8 [INFO] [stdout] | [INFO] [stdout] = note: `u8` implements `BitOrAssign` [INFO] [stdout] ::: /rustc/36e2b8a3a7aad93f8a92db6d254b746aa94ed6da/library/core/src/ops/bit.rs:830:0 [INFO] [stdout] | [INFO] [stdout] = note: in this macro invocation [INFO] [stdout] = note: this error originates in the macro `forward_ref_op_assign` which comes from the expansion of the macro `bitor_assign_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `octets` found for mutable reference `&mut rfc2131::AllAddr` in the current scope [INFO] [stdout] --> src/rfc2131.rs:199:32 [INFO] [stdout] | [INFO] [stdout] 199 | unsafe { addrp.octets()[3 - i] = octet }; [INFO] [stdout] | ^^^^^^ method not found in `&mut rfc2131::AllAddr` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `octets`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `pnet::util::Octets` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0784]: union expressions should have exactly one field [INFO] [stdout] --> src/rfc2131.rs:232:20 [INFO] [stdout] | [INFO] [stdout] 232 | let mut addr = AllAddr { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/rfc3315.rs:77:17 [INFO] [stdout] | [INFO] [stdout] 50 | let mut l = unsafe { *p }; [INFO] [stdout] | ------------- expected due to this value [INFO] [stdout] ... [INFO] [stdout] 77 | l = ((l & 0x3f) as u16) << 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/rfc3315.rs:78:18 [INFO] [stdout] | [INFO] [stdout] 78 | l |= unsafe { *p } as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: no implementation for `u8 |= u16` [INFO] [stdout] --> src/rfc3315.rs:78:15 [INFO] [stdout] | [INFO] [stdout] 78 | l |= unsafe { *p } as u16; [INFO] [stdout] | ^^ no implementation for `u8 |= u16` [INFO] [stdout] | [INFO] [stdout] = help: the trait `BitOrAssign` is not implemented for `u8` [INFO] [stdout] help: the following other types implement trait `BitOrAssign` [INFO] [stdout] --> /rustc/36e2b8a3a7aad93f8a92db6d254b746aa94ed6da/library/core/src/internal_macros.rs:61:8 [INFO] [stdout] | [INFO] [stdout] = note: `u8` implements `BitOrAssign<&u8>` [INFO] [stdout] --> /rustc/36e2b8a3a7aad93f8a92db6d254b746aa94ed6da/library/core/src/ops/bit.rs:819:8 [INFO] [stdout] | [INFO] [stdout] = note: `u8` implements `BitOrAssign` [INFO] [stdout] ::: /rustc/36e2b8a3a7aad93f8a92db6d254b746aa94ed6da/library/core/src/ops/bit.rs:830:0 [INFO] [stdout] | [INFO] [stdout] = note: in this macro invocation [INFO] [stdout] = note: this error originates in the macro `forward_ref_op_assign` which comes from the expansion of the macro `bitor_assign_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: can't compare `[i16]` with `{integer}` [INFO] [stdout] --> src/rrfilter.rs:161:26 [INFO] [stdout] | [INFO] [stdout] 161 | while *d != -1 { [INFO] [stdout] | ^^ no implementation for `[i16] == {integer}` [INFO] [stdout] | [INFO] [stdout] = help: the trait `PartialEq<{integer}>` is not implemented for `[i16]` [INFO] [stdout] = help: the following other types implement trait `PartialEq`: [INFO] [stdout] `&[T]` implements `PartialEq>` [INFO] [stdout] `&[T]` implements `PartialEq<[U; N]>` [INFO] [stdout] `&[u8; N]` implements `PartialEq` [INFO] [stdout] `&[u8; N]` implements `PartialEq` [INFO] [stdout] `&[u8]` implements `PartialEq` [INFO] [stdout] `&[u8]` implements `PartialEq` [INFO] [stdout] `&mut [T]` implements `PartialEq>` [INFO] [stdout] `&mut [T]` implements `PartialEq<[U; N]>` [INFO] [stdout] and 11 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: can't compare `[i16]` with `{integer}` [INFO] [stdout] --> src/rrfilter.rs:162:27 [INFO] [stdout] | [INFO] [stdout] 162 | if *d != 0 { [INFO] [stdout] | ^^ no implementation for `[i16] == {integer}` [INFO] [stdout] | [INFO] [stdout] = help: the trait `PartialEq<{integer}>` is not implemented for `[i16]` [INFO] [stdout] = help: the following other types implement trait `PartialEq`: [INFO] [stdout] `&[T]` implements `PartialEq>` [INFO] [stdout] `&[T]` implements `PartialEq<[U; N]>` [INFO] [stdout] `&[u8; N]` implements `PartialEq` [INFO] [stdout] `&[u8; N]` implements `PartialEq` [INFO] [stdout] `&[u8]` implements `PartialEq` [INFO] [stdout] `&[u8]` implements `PartialEq` [INFO] [stdout] `&mut [T]` implements `PartialEq>` [INFO] [stdout] `&mut [T]` implements `PartialEq<[U; N]>` [INFO] [stdout] and 11 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `add` found for reference `&[i16]` in the current scope [INFO] [stdout] --> src/rrfilter.rs:167:36 [INFO] [stdout] | [INFO] [stdout] 167 | d = unsafe { d.add(1) }; [INFO] [stdout] | ^^^ method not found in `&[i16]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0605]: non-primitive cast: `[i16]` as `usize` [INFO] [stdout] --> src/rrfilter.rs:163:35 [INFO] [stdout] | [INFO] [stdout] 163 | p = p.add(*d as usize); [INFO] [stdout] | ^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `octets_mut` found for struct `Ipv6Addr` in the current scope [INFO] [stdout] --> src/slaac.rs:60:26 [INFO] [stdout] | [INFO] [stdout] 60 | addr.octets_mut()[8..11].copy_from_slice(&lease.hwaddr[0..3]); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `octets` with a similar name [INFO] [stdout] | [INFO] [stdout] 60 - addr.octets_mut()[8..11].copy_from_slice(&lease.hwaddr[0..3]); [INFO] [stdout] 60 + addr.octets()[8..11].copy_from_slice(&lease.hwaddr[0..3]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `octets_mut` found for struct `Ipv6Addr` in the current scope [INFO] [stdout] --> src/slaac.rs:61:26 [INFO] [stdout] | [INFO] [stdout] 61 | addr.octets_mut()[11] = 0xff; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `octets` with a similar name [INFO] [stdout] | [INFO] [stdout] 61 - addr.octets_mut()[11] = 0xff; [INFO] [stdout] 61 + addr.octets()[11] = 0xff; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `octets_mut` found for struct `Ipv6Addr` in the current scope [INFO] [stdout] --> src/slaac.rs:62:26 [INFO] [stdout] | [INFO] [stdout] 62 | addr.octets_mut()[12] = 0xfe; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `octets` with a similar name [INFO] [stdout] | [INFO] [stdout] 62 - addr.octets_mut()[12] = 0xfe; [INFO] [stdout] 62 + addr.octets()[12] = 0xfe; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `octets_mut` found for struct `Ipv6Addr` in the current scope [INFO] [stdout] --> src/slaac.rs:63:26 [INFO] [stdout] | [INFO] [stdout] 63 | addr.octets_mut()[13..16].copy_from_slice(&lease.hwaddr[3..6]); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `octets` with a similar name [INFO] [stdout] | [INFO] [stdout] 63 - addr.octets_mut()[13..16].copy_from_slice(&lease.hwaddr[3..6]); [INFO] [stdout] 63 + addr.octets()[13..16].copy_from_slice(&lease.hwaddr[3..6]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `octets_mut` found for struct `Ipv6Addr` in the current scope [INFO] [stdout] --> src/slaac.rs:65:26 [INFO] [stdout] | [INFO] [stdout] 65 | addr.octets_mut()[8..16].copy_from_slice(&lease.hwaddr[0..8]); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `octets` with a similar name [INFO] [stdout] | [INFO] [stdout] 65 - addr.octets_mut()[8..16].copy_from_slice(&lease.hwaddr[0..8]); [INFO] [stdout] 65 + addr.octets()[8..16].copy_from_slice(&lease.hwaddr[0..8]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `octets_mut` found for struct `Ipv6Addr` in the current scope [INFO] [stdout] --> src/slaac.rs:71:22 [INFO] [stdout] | [INFO] [stdout] 71 | addr.octets_mut()[8] ^= 0x02; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `octets` with a similar name [INFO] [stdout] | [INFO] [stdout] 71 - addr.octets_mut()[8] ^= 0x02; [INFO] [stdout] 71 + addr.octets()[8] ^= 0x02; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0614]: type `SlaacAddress` cannot be dereferenced [INFO] [stdout] --> src/slaac.rs:74:59 [INFO] [stdout] | [INFO] [stdout] 74 | let mut slaac = up.as_mut().map(|up| &mut **up); [INFO] [stdout] | ^^^^ can't be dereferenced [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/slaac.rs:77:30 [INFO] [stdout] | [INFO] [stdout] 73 | let mut up = &mut old; [INFO] [stdout] | -------- expected due to this value [INFO] [stdout] ... [INFO] [stdout] 77 | up = &mut up.as_mut().unwrap().next; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&mut Option`, found `&mut Option>` [INFO] [stdout] | [INFO] [stdout] = note: expected mutable reference `&mut Option` [INFO] [stdout] found mutable reference `&mut Option>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/slaac.rs:90:31 [INFO] [stdout] | [INFO] [stdout] 90 | next: lease.slaac_address.take(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Option>`, found `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option>` [INFO] [stdout] found enum `Option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/slaac.rs:95:48 [INFO] [stdout] | [INFO] [stdout] 95 | lease.slaac_address = Some(new_slaac); [INFO] [stdout] | ---- ^^^^^^^^^ expected `SlaacAddress`, found `Box` [INFO] [stdout] | | [INFO] [stdout] | arguments to this enum variant are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected struct `SlaacAddress` [INFO] [stdout] found struct `Box` [INFO] [stdout] help: the type constructed contains `Box` due to the type of the argument passed [INFO] [stdout] --> src/slaac.rs:95:43 [INFO] [stdout] | [INFO] [stdout] 95 | lease.slaac_address = Some(new_slaac); [INFO] [stdout] | ^^^^^---------^ [INFO] [stdout] | | [INFO] [stdout] | this argument influences the type of `Some` [INFO] [stdout] note: tuple variant defined here [INFO] [stdout] --> /rustc/36e2b8a3a7aad93f8a92db6d254b746aa94ed6da/library/core/src/option.rs:608:4 [INFO] [stdout] help: consider unboxing the value [INFO] [stdout] | [INFO] [stdout] 95 | lease.slaac_address = Some(*new_slaac); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/slaac.rs:107:15 [INFO] [stdout] | [INFO] [stdout] 39 | let mut old = lease.slaac_address.take(); [INFO] [stdout] | -------------------------- expected due to this value [INFO] [stdout] ... [INFO] [stdout] 107 | old = old_slaac.next.take(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ expected `Option`, found `Option>` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option` [INFO] [stdout] found enum `Option>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `rand` [INFO] [stdout] --> src/slaac.rs:129:23 [INFO] [stdout] | [INFO] [stdout] 129 | PING_ID = rand::random::(); [INFO] [stdout] | ^^^^ use of unresolved module or unlinked crate `rand` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `rand`, use `cargo add rand` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/slaac.rs:149:54 [INFO] [stdout] | [INFO] [stdout] 149 | if next_event == 0 || sa.ping_time < next_event { [INFO] [stdout] | ------------ ^^^^^^^^^^ expected `SystemTime`, found integer [INFO] [stdout] | | [INFO] [stdout] | expected because this is `SystemTime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/slaac.rs:150:34 [INFO] [stdout] | [INFO] [stdout] 113 | let mut next_event = 0; [INFO] [stdout] | - expected due to this value [INFO] [stdout] ... [INFO] [stdout] 150 | next_event = sa.ping_time; [INFO] [stdout] | ^^^^^^^^^^^^ expected integer, found `SystemTime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `SockAddr` doesn't implement `Debug` [INFO] [stdout] --> src/tftp.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 15 | #[derive(Debug)] [INFO] [stdout] | ----- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 18 | addr: SockAddr, [INFO] [stdout] | ^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `SockAddr` [INFO] [stdout] | [INFO] [stdout] = note: add `#[derive(Debug)]` to `SockAddr` or manually `impl Debug for SockAddr` [INFO] [stdout] help: consider annotating `SockAddr` with `#[derive(Debug)]` [INFO] [stdout] | [INFO] [stdout] 30 + #[derive(Debug)] [INFO] [stdout] 31 | union SockAddr { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `SockAddr` doesn't implement `Debug` [INFO] [stdout] --> src/tftp.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 22 | #[derive(Debug)] [INFO] [stdout] | ----- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 25 | addr: SockAddr, [INFO] [stdout] | ^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `SockAddr` [INFO] [stdout] | [INFO] [stdout] = note: add `#[derive(Debug)]` to `SockAddr` or manually `impl Debug for SockAddr` [INFO] [stdout] help: consider annotating `SockAddr` with `#[derive(Debug)]` [INFO] [stdout] | [INFO] [stdout] 30 + #[derive(Debug)] [INFO] [stdout] 31 | union SockAddr { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/tftp.rs:75:88 [INFO] [stdout] | [INFO] [stdout] 75 | fn check_tftp_fileperm(len: &mut isize, prefix: *const c_char, client: *mut c_char) -> Result<*mut TftpTransfer, ()> { [INFO] [stdout] | ------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Result<*mut TftpTransfer, ()>`, found `()` [INFO] [stdout] | | [INFO] [stdout] | implicitly returns `()` as its body has no tail or `return` expression [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Result<*mut TftpTransfer, ()>` [INFO] [stdout] found unit type `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/tftp.rs:83:107 [INFO] [stdout] | [INFO] [stdout] 83 | fn tftp_err(err: i32, packet: *mut c_char, message: *mut c_char, file: *mut c_char, arg2: *mut c_char) -> isize { [INFO] [stdout] | -------- implicitly returns `()` as its body has no tail or `return` expression ^^^^^ expected `isize`, found `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/tftp.rs:87:63 [INFO] [stdout] | [INFO] [stdout] 87 | fn tftp_err_oops(packet: *mut c_char, file: *const c_char) -> isize { [INFO] [stdout] | ------------- ^^^^^ expected `isize`, found `()` [INFO] [stdout] | | [INFO] [stdout] | implicitly returns `()` as its body has no tail or `return` expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/tftp.rs:91:67 [INFO] [stdout] | [INFO] [stdout] 91 | fn get_block(packet: *mut c_char, transfer: &mut TftpTransfer) -> isize { [INFO] [stdout] | --------- ^^^^^ expected `isize`, found `()` [INFO] [stdout] | | [INFO] [stdout] | implicitly returns `()` as its body has no tail or `return` expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/tftp.rs:95:51 [INFO] [stdout] | [INFO] [stdout] 95 | fn next(p: &mut *mut c_char, end: *mut c_char) -> *mut c_char { [INFO] [stdout] | ---- ^^^^^^^^^^^ expected `*mut i8`, found `()` [INFO] [stdout] | | [INFO] [stdout] | implicitly returns `()` as its body has no tail or `return` expression [INFO] [stdout] | [INFO] [stdout] = note: expected raw pointer `*mut i8` [INFO] [stdout] found unit type `()` [INFO] [stdout] help: consider returning the local binding `end` [INFO] [stdout] | [INFO] [stdout] 95 | fn next(p: &mut *mut c_char, end: *mut c_char) -> *mut c_char { [INFO] [stdout] 96 ~ end [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/ubus.rs:60:51 [INFO] [stdout] | [INFO] [stdout] 60 | static mut UBUS_OBJECT_METHODS: [UbusMethod; 2] = [ [INFO] [stdout] | ___________________________________________________^ [INFO] [stdout] 61 | | UbusMethod { [INFO] [stdout] 62 | | name: "metrics\0".as_ptr() as *const i8, [INFO] [stdout] 63 | | handler: ubus_handle_metrics, [INFO] [stdout] ... | [INFO] [stdout] 69 | | }, [INFO] [stdout] 70 | | ]; [INFO] [stdout] | |_^ expected an array with a size of 2, found one with a size of 1 [INFO] [stdout] | [INFO] [stdout] = note: expected array `[UbusMethod; 2]` [INFO] [stdout] found array `[UbusMethod; 1]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `has_subscribers` on type `*mut UbusObject` [INFO] [stdout] --> src/ubus.rs:110:26 [INFO] [stdout] | [INFO] [stdout] 110 | let msg = if obj.has_subscribers != 0 { "1" } else { "0" }; [INFO] [stdout] | ^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] help: `obj` is a raw pointer; try dereferencing it [INFO] [stdout] | [INFO] [stdout] 110 | let msg = if (*obj).has_subscribers != 0 { "1" } else { "0" }; [INFO] [stdout] | ++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Vec: From<*const i8>` is not satisfied [INFO] [stdout] --> src/ubus.rs:129:40 [INFO] [stdout] | [INFO] [stdout] 129 | let err_msg = CString::new(ubus_strerror(ret)).unwrap(); [INFO] [stdout] | ------------ ^^^^^^^^^^^^^^^^^^ the trait `From<*const i8>` is not implemented for `Vec` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] help: the following other types implement trait `From` [INFO] [stdout] --> /rustc/36e2b8a3a7aad93f8a92db6d254b746aa94ed6da/library/alloc/src/vec/mod.rs:4358:0 [INFO] [stdout] | [INFO] [stdout] = note: `Vec` implements `From<&str>` [INFO] [stdout] --> /rustc/36e2b8a3a7aad93f8a92db6d254b746aa94ed6da/library/alloc/src/bstr.rs:214:0 [INFO] [stdout] | [INFO] [stdout] = note: `Vec` implements `From` [INFO] [stdout] --> /rustc/36e2b8a3a7aad93f8a92db6d254b746aa94ed6da/library/alloc/src/ffi/c_str.rs:727:0 [INFO] [stdout] | [INFO] [stdout] = note: `Vec` implements `From` [INFO] [stdout] --> /rustc/36e2b8a3a7aad93f8a92db6d254b746aa94ed6da/library/alloc/src/string.rs:3306:0 [INFO] [stdout] | [INFO] [stdout] = note: `Vec` implements `From` [INFO] [stdout] = note: required for `*const i8` to implement `Into>` [INFO] [stdout] note: required by a bound in `CString::new` [INFO] [stdout] --> /rustc/36e2b8a3a7aad93f8a92db6d254b746aa94ed6da/library/alloc/src/ffi/c_str.rs:256:4 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/ubus.rs:154:40 [INFO] [stdout] | [INFO] [stdout] 154 | (*ubus).connection_lost = Some(ubus_disconnect_cb); [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^ expected safe fn, found unsafe fn [INFO] [stdout] | | [INFO] [stdout] | arguments to this enum variant are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected fn pointer `extern "C" fn(_)` [INFO] [stdout] found fn item `unsafe extern "C" fn(_) {ubus::ubus_disconnect_cb}` [INFO] [stdout] = note: unsafe functions cannot be coerced into safe function pointers [INFO] [stdout] help: the type constructed contains `unsafe extern "C" fn(*mut UbusContext) {ubus::ubus_disconnect_cb}` due to the type of the argument passed [INFO] [stdout] --> src/ubus.rs:154:35 [INFO] [stdout] | [INFO] [stdout] 154 | (*ubus).connection_lost = Some(ubus_disconnect_cb); [INFO] [stdout] | ^^^^^------------------^ [INFO] [stdout] | | [INFO] [stdout] | this argument influences the type of `Some` [INFO] [stdout] note: tuple variant defined here [INFO] [stdout] --> /rustc/36e2b8a3a7aad93f8a92db6d254b746aa94ed6da/library/core/src/option.rs:608:4 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/ubus.rs:175:38 [INFO] [stdout] | [INFO] [stdout] 175 | poll_listen((*ubus).sock.fd, libc::POLLIN); [INFO] [stdout] | ----------- ^^^^^^^^^^^^ expected `i32`, found `i16` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/ubus.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | fn poll_listen(fd: RawFd, event: i32); [INFO] [stdout] | ^^^^^^^^^^^ ----- [INFO] [stdout] help: you can convert an `i16` to an `i32` [INFO] [stdout] | [INFO] [stdout] 175 | poll_listen((*ubus).sock.fd, libc::POLLIN.into()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/ubus.rs:176:38 [INFO] [stdout] | [INFO] [stdout] 176 | poll_listen((*ubus).sock.fd, libc::POLLERR); [INFO] [stdout] | ----------- ^^^^^^^^^^^^^ expected `i32`, found `i16` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/ubus.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | fn poll_listen(fd: RawFd, event: i32); [INFO] [stdout] | ^^^^^^^^^^^ ----- [INFO] [stdout] help: you can convert an `i16` to an `i32` [INFO] [stdout] | [INFO] [stdout] 176 | poll_listen((*ubus).sock.fd, libc::POLLERR.into()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/ubus.rs:177:38 [INFO] [stdout] | [INFO] [stdout] 177 | poll_listen((*ubus).sock.fd, libc::POLLHUP); [INFO] [stdout] | ----------- ^^^^^^^^^^^^^ expected `i32`, found `i16` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/ubus.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | fn poll_listen(fd: RawFd, event: i32); [INFO] [stdout] | ^^^^^^^^^^^ ----- [INFO] [stdout] help: you can convert an `i16` to an `i32` [INFO] [stdout] | [INFO] [stdout] 177 | poll_listen((*ubus).sock.fd, libc::POLLHUP.into()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/util.rs:73:14 [INFO] [stdout] | [INFO] [stdout] 73 | $x = $t[$i] += (($x ^ $seed[$i]) + $sum) ^ rotate($x, $b); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u32`, found `()` [INFO] [stdout] ... [INFO] [stdout] 79 | let mut x; [INFO] [stdout] | ----- expected due to the type of this binding [INFO] [stdout] ... [INFO] [stdout] 93 | MUSH!(t, unsafe { SEED }, x, sum, 0, 5); [INFO] [stdout] | --------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `MUSH` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/util.rs:73:14 [INFO] [stdout] | [INFO] [stdout] 73 | $x = $t[$i] += (($x ^ $seed[$i]) + $sum) ^ rotate($x, $b); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u32`, found `()` [INFO] [stdout] ... [INFO] [stdout] 79 | let mut x; [INFO] [stdout] | ----- expected due to the type of this binding [INFO] [stdout] ... [INFO] [stdout] 94 | MUSH!(t, unsafe { SEED }, x, sum, 1, 7); [INFO] [stdout] | --------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `MUSH` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/util.rs:73:14 [INFO] [stdout] | [INFO] [stdout] 73 | $x = $t[$i] += (($x ^ $seed[$i]) + $sum) ^ rotate($x, $b); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u32`, found `()` [INFO] [stdout] ... [INFO] [stdout] 79 | let mut x; [INFO] [stdout] | ----- expected due to the type of this binding [INFO] [stdout] ... [INFO] [stdout] 95 | MUSH!(t, unsafe { SEED }, x, sum, 2, 9); [INFO] [stdout] | --------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `MUSH` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/util.rs:73:14 [INFO] [stdout] | [INFO] [stdout] 73 | $x = $t[$i] += (($x ^ $seed[$i]) + $sum) ^ rotate($x, $b); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u32`, found `()` [INFO] [stdout] ... [INFO] [stdout] 79 | let mut x; [INFO] [stdout] | ----- expected due to the type of this binding [INFO] [stdout] ... [INFO] [stdout] 96 | MUSH!(t, unsafe { SEED }, x, sum, 3, 13); [INFO] [stdout] | ---------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `MUSH` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/util.rs:73:14 [INFO] [stdout] | [INFO] [stdout] 73 | $x = $t[$i] += (($x ^ $seed[$i]) + $sum) ^ rotate($x, $b); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u32`, found `()` [INFO] [stdout] ... [INFO] [stdout] 79 | let mut x; [INFO] [stdout] | ----- expected due to the type of this binding [INFO] [stdout] ... [INFO] [stdout] 97 | MUSH!(t, unsafe { SEED }, x, sum, 4, 5); [INFO] [stdout] | --------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `MUSH` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/util.rs:73:14 [INFO] [stdout] | [INFO] [stdout] 73 | $x = $t[$i] += (($x ^ $seed[$i]) + $sum) ^ rotate($x, $b); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u32`, found `()` [INFO] [stdout] ... [INFO] [stdout] 79 | let mut x; [INFO] [stdout] | ----- expected due to the type of this binding [INFO] [stdout] ... [INFO] [stdout] 98 | MUSH!(t, unsafe { SEED }, x, sum, 5, 7); [INFO] [stdout] | --------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `MUSH` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/util.rs:73:14 [INFO] [stdout] | [INFO] [stdout] 73 | $x = $t[$i] += (($x ^ $seed[$i]) + $sum) ^ rotate($x, $b); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u32`, found `()` [INFO] [stdout] ... [INFO] [stdout] 79 | let mut x; [INFO] [stdout] | ----- expected due to the type of this binding [INFO] [stdout] ... [INFO] [stdout] 99 | MUSH!(t, unsafe { SEED }, x, sum, 6, 9); [INFO] [stdout] | --------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `MUSH` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/util.rs:73:14 [INFO] [stdout] | [INFO] [stdout] 73 | $x = $t[$i] += (($x ^ $seed[$i]) + $sum) ^ rotate($x, $b); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u32`, found `()` [INFO] [stdout] ... [INFO] [stdout] 79 | let mut x; [INFO] [stdout] | ----- expected due to the type of this binding [INFO] [stdout] ... [INFO] [stdout] 100 | MUSH!(t, unsafe { SEED }, x, sum, 7, 13); [INFO] [stdout] | ---------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `MUSH` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/util.rs:73:14 [INFO] [stdout] | [INFO] [stdout] 73 | $x = $t[$i] += (($x ^ $seed[$i]) + $sum) ^ rotate($x, $b); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u32`, found `()` [INFO] [stdout] ... [INFO] [stdout] 79 | let mut x; [INFO] [stdout] | ----- expected due to the type of this binding [INFO] [stdout] ... [INFO] [stdout] 101 | MUSH!(t, unsafe { SEED }, x, sum, 8, 5); [INFO] [stdout] | --------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `MUSH` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/util.rs:73:14 [INFO] [stdout] | [INFO] [stdout] 73 | $x = $t[$i] += (($x ^ $seed[$i]) + $sum) ^ rotate($x, $b); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u32`, found `()` [INFO] [stdout] ... [INFO] [stdout] 79 | let mut x; [INFO] [stdout] | ----- expected due to the type of this binding [INFO] [stdout] ... [INFO] [stdout] 102 | MUSH!(t, unsafe { SEED }, x, sum, 9, 7); [INFO] [stdout] | --------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `MUSH` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/util.rs:73:14 [INFO] [stdout] | [INFO] [stdout] 73 | $x = $t[$i] += (($x ^ $seed[$i]) + $sum) ^ rotate($x, $b); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u32`, found `()` [INFO] [stdout] ... [INFO] [stdout] 79 | let mut x; [INFO] [stdout] | ----- expected due to the type of this binding [INFO] [stdout] ... [INFO] [stdout] 103 | MUSH!(t, unsafe { SEED }, x, sum, 10, 9); [INFO] [stdout] | ---------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `MUSH` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/util.rs:73:14 [INFO] [stdout] | [INFO] [stdout] 73 | $x = $t[$i] += (($x ^ $seed[$i]) + $sum) ^ rotate($x, $b); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u32`, found `()` [INFO] [stdout] ... [INFO] [stdout] 79 | let mut x; [INFO] [stdout] | ----- expected due to the type of this binding [INFO] [stdout] ... [INFO] [stdout] 104 | MUSH!(t, unsafe { SEED }, x, sum, 11, 13); [INFO] [stdout] | ----------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `MUSH` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/util.rs:248:17 [INFO] [stdout] | [INFO] [stdout] 246 | return 0; [INFO] [stdout] | -------- any code following this expression is unreachable [INFO] [stdout] 247 | } [INFO] [stdout] 248 | idn_encode = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `SigSet` [INFO] [stdout] --> src/main.rs:120:18 [INFO] [stdout] | [INFO] [stdout] 120 | sa_mask: SigSet::empty(), [INFO] [stdout] | ^^^^^^ use of undeclared type `SigSet` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/log.rs:2:21 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p0` [INFO] [stdout] --> src/auth.rs:73:17 [INFO] [stdout] | [INFO] [stdout] 73 | fn is_same_net6(p0: &Ipv6Addr, p1: &Ipv6Addr, p2: u32) -> bool { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p1` [INFO] [stdout] --> src/auth.rs:73:32 [INFO] [stdout] | [INFO] [stdout] 73 | fn is_same_net6(p0: &Ipv6Addr, p1: &Ipv6Addr, p2: u32) -> bool { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p2` [INFO] [stdout] --> src/auth.rs:73:47 [INFO] [stdout] | [INFO] [stdout] 73 | fn is_same_net6(p0: &Ipv6Addr, p1: &Ipv6Addr, p2: u32) -> bool { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p0` [INFO] [stdout] --> src/auth.rs:77:16 [INFO] [stdout] | [INFO] [stdout] 77 | fn is_same_net(p0: &Ipv4Addr, p1: &Ipv4Addr, p2: u32) -> bool { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p1` [INFO] [stdout] --> src/auth.rs:77:31 [INFO] [stdout] | [INFO] [stdout] 77 | fn is_same_net(p0: &Ipv4Addr, p1: &Ipv4Addr, p2: u32) -> bool { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p2` [INFO] [stdout] --> src/auth.rs:77:46 [INFO] [stdout] | [INFO] [stdout] 77 | fn is_same_net(p0: &Ipv4Addr, p1: &Ipv4Addr, p2: u32) -> bool { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/auth.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 143 | let mut name = String::new(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/auth.rs:144:9 [INFO] [stdout] | [INFO] [stdout] 144 | let mut ansp = 0; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/auth.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | let mut qtype = 0; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/auth.rs:146:9 [INFO] [stdout] | [INFO] [stdout] 146 | let mut qclass = 0; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/auth.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | let mut rc = 0; [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/auth.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | let mut nameoffset = 0; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/auth.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | let mut axfroffset = 0; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/auth.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | let mut q = 0; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/auth.rs:151:9 [INFO] [stdout] | [INFO] [stdout] 151 | let mut anscount = 0; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/auth.rs:152:9 [INFO] [stdout] | [INFO] [stdout] 152 | let mut authcount = 0; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/auth.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | let mut auth = !local_query; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/auth.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | let mut trunc = false; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/auth.rs:155:9 [INFO] [stdout] | [INFO] [stdout] 155 | let mut nxdomain = true; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/auth.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 156 | let mut soa = false; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/auth.rs:157:9 [INFO] [stdout] | [INFO] [stdout] 157 | let mut ns = false; [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/auth.rs:158:9 [INFO] [stdout] | [INFO] [stdout] 158 | let mut axfr = false; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/auth.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | let mut out_of_zone = false; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/auth.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | let mut zone: Option<&AuthZone> = None; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/auth.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | let mut subnet: Option<&AddrList> = None; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/auth.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | let mut cut: Option<&str> = None; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> src/auth.rs:142:16 [INFO] [stdout] | [INFO] [stdout] 142 | fn answer_auth(header: &mut DnsHeader, limit: usize, qlen: usize, now: SystemTime, peer_addr: &Addr, local_query: bool, do_bit: boo... [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `limit` [INFO] [stdout] --> src/auth.rs:142:40 [INFO] [stdout] | [INFO] [stdout] 142 | fn answer_auth(header: &mut DnsHeader, limit: usize, qlen: usize, now: SystemTime, peer_addr: &Addr, local_query: bool, do_bit: boo... [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `qlen` [INFO] [stdout] --> src/auth.rs:142:54 [INFO] [stdout] | [INFO] [stdout] 142 | fn answer_auth(header: &mut DnsHeader, limit: usize, qlen: usize, now: SystemTime, peer_addr: &Addr, local_query: bool, do_bit: boo... [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_qlen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `now` [INFO] [stdout] --> src/auth.rs:142:67 [INFO] [stdout] | [INFO] [stdout] 142 | ..., limit: usize, qlen: usize, now: SystemTime, peer_addr: &Addr, local_query: bool, do_bit: bool, have_pseudoheader: bool) -> usi... [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_now` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `peer_addr` [INFO] [stdout] --> src/auth.rs:142:84 [INFO] [stdout] | [INFO] [stdout] 142 | ...size, now: SystemTime, peer_addr: &Addr, local_query: bool, do_bit: bool, have_pseudoheader: bool) -> usize { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_peer_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `do_bit` [INFO] [stdout] --> src/auth.rs:142:121 [INFO] [stdout] | [INFO] [stdout] 142 | ...&Addr, local_query: bool, do_bit: bool, have_pseudoheader: bool) -> usize { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_do_bit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `have_pseudoheader` [INFO] [stdout] --> src/auth.rs:142:135 [INFO] [stdout] | [INFO] [stdout] 142 | ... do_bit: bool, have_pseudoheader: bool) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_have_pseudoheader` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/auth.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 143 | let mut name = String::new(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `qtype` [INFO] [stdout] --> src/auth.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | let mut qtype = 0; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_qtype` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `qclass` [INFO] [stdout] --> src/auth.rs:146:9 [INFO] [stdout] | [INFO] [stdout] 146 | let mut qclass = 0; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_qclass` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rc` [INFO] [stdout] --> src/auth.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | let mut rc = 0; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_rc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `nameoffset` [INFO] [stdout] --> src/auth.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | let mut nameoffset = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nameoffset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `axfroffset` [INFO] [stdout] --> src/auth.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | let mut axfroffset = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_axfroffset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `q` [INFO] [stdout] --> src/auth.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | let mut q = 0; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_q` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `anscount` [INFO] [stdout] --> src/auth.rs:151:9 [INFO] [stdout] | [INFO] [stdout] 151 | let mut anscount = 0; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_anscount` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `authcount` [INFO] [stdout] --> src/auth.rs:152:9 [INFO] [stdout] | [INFO] [stdout] 152 | let mut authcount = 0; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_authcount` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auth` [INFO] [stdout] --> src/auth.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | let mut auth = !local_query; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_auth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `trunc` [INFO] [stdout] --> src/auth.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | let mut trunc = false; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trunc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `nxdomain` [INFO] [stdout] --> src/auth.rs:155:9 [INFO] [stdout] | [INFO] [stdout] 155 | let mut nxdomain = true; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nxdomain` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `soa` [INFO] [stdout] --> src/auth.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 156 | let mut soa = false; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_soa` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ns` [INFO] [stdout] --> src/auth.rs:157:9 [INFO] [stdout] | [INFO] [stdout] 157 | let mut ns = false; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `axfr` [INFO] [stdout] --> src/auth.rs:158:9 [INFO] [stdout] | [INFO] [stdout] 158 | let mut axfr = false; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_axfr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `out_of_zone` [INFO] [stdout] --> src/auth.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | let mut out_of_zone = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_of_zone` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `zone` [INFO] [stdout] --> src/auth.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | let mut zone: Option<&AuthZone> = None; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `None` [INFO] [stdout] | [INFO] [stdout] 160 - let mut zone: Option<&AuthZone> = None; [INFO] [stdout] 160 + let std::prelude::v1::None: Option<&AuthZone> = None; [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 160 - let mut zone: Option<&AuthZone> = None; [INFO] [stdout] 160 + let _zone: Option<&AuthZone> = None; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `subnet` [INFO] [stdout] --> src/auth.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | let mut subnet: Option<&AddrList> = None; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_subnet` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cut` [INFO] [stdout] --> src/auth.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | let mut cut: Option<&str> = None; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `block.key` as mutable, as `block` is not declared as mutable [INFO] [stdout] --> src/blockdata.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | let block = new_block()?; [INFO] [stdout] | ^^^^^ not mutable [INFO] [stdout] ... [INFO] [stdout] 91 | block.key[..blen].copy_from_slice(&data[..blen]); [INFO] [stdout] | --------- cannot borrow as mutable [INFO] [stdout] 92 | } else { [INFO] [stdout] 93 | let mut buf = &mut block.key[..blen]; [INFO] [stdout] | --------- cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 87 | let mut block = new_block()?; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `*block` which is behind a mutable reference [INFO] [stdout] --> src/blockdata.rs:120:42 [INFO] [stdout] | [INFO] [stdout] 120 | blockdata_free(Some(Box::new(*block))); [INFO] [stdout] | ^^^^^^ move occurs because `*block` has type `blockdata::BlockData`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: if `blockdata::BlockData` implemented `Clone`, you could clone the value [INFO] [stdout] --> src/blockdata.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | struct BlockData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type [INFO] [stdout] ... [INFO] [stdout] 120 | blockdata_free(Some(Box::new(*block))); [INFO] [stdout] | ------ you could clone this value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `*block` which is behind a mutable reference [INFO] [stdout] --> src/blockdata.rs:137:46 [INFO] [stdout] | [INFO] [stdout] 137 | blockdata_free(Some(Box::new(*block))); [INFO] [stdout] | ^^^^^^ move occurs because `*block` has type `blockdata::BlockData`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: if `blockdata::BlockData` implemented `Clone`, you could clone the value [INFO] [stdout] --> src/blockdata.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | struct BlockData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type [INFO] [stdout] ... [INFO] [stdout] 137 | blockdata_free(Some(Box::new(*block))); [INFO] [stdout] | ------ you could clone this value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: use of moved value: `block` [INFO] [stdout] --> src/blockdata.rs:137:46 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn blockdata_expand(block: &mut BlockData, mut oldlen: usize, data: &[u8], mut newlen: usize) -> bool { [INFO] [stdout] | ----- move occurs because `block` has type `&mut blockdata::BlockData`, which does not implement the `Copy` trait [INFO] [stdout] 113 | let mut b = block; [INFO] [stdout] | ----- value moved here [INFO] [stdout] ... [INFO] [stdout] 137 | blockdata_free(Some(Box::new(*block))); [INFO] [stdout] | ^^^^^^ value used here after move [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fd` [INFO] [stdout] --> src/blockdata.rs:200:15 [INFO] [stdout] | [INFO] [stdout] 200 | fn read_write(fd: i32, buf: &mut [u8], read: bool) -> io::Result<()> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_fd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `option` [INFO] [stdout] --> src/blockdata.rs:208:16 [INFO] [stdout] | [INFO] [stdout] 208 | fn option_bool(option: u32) -> bool { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `daemon` [INFO] [stdout] --> src/cache.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 167 | let daemon = Daemon::new(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_daemon` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/context.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | let mut new_inst = Self { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dhcpfd` [INFO] [stdout] --> src/dhcp.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 64 | let dhcpfd = make_fd(dhcp_server_port).expect("Failed to initialize DHCP"); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_dhcpfd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `now` [INFO] [stdout] --> src/dhcp.rs:68:16 [INFO] [stdout] | [INFO] [stdout] 68 | fn dhcp_packet(now: u64, pxe_fd: c_int) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_now` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pxe_fd` [INFO] [stdout] --> src/dhcp.rs:68:26 [INFO] [stdout] | [INFO] [stdout] 68 | fn dhcp_packet(now: u64, pxe_fd: c_int) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_pxe_fd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `local` [INFO] [stdout] --> src/dhcp.rs:72:23 [INFO] [stdout] | [INFO] [stdout] 72 | fn check_listen_addrs(local: Ipv4Addr, if_index: c_int, label: &str, netmask: Ipv4Addr, broadcast: Ipv4Addr, vparam: &mut MatchParam... [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_local` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `if_index` [INFO] [stdout] --> src/dhcp.rs:72:40 [INFO] [stdout] | [INFO] [stdout] 72 | fn check_listen_addrs(local: Ipv4Addr, if_index: c_int, label: &str, netmask: Ipv4Addr, broadcast: Ipv4Addr, vparam: &mut MatchParam... [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_if_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `label` [INFO] [stdout] --> src/dhcp.rs:72:57 [INFO] [stdout] | [INFO] [stdout] 72 | ...Ipv4Addr, if_index: c_int, label: &str, netmask: Ipv4Addr, broadcast: Ipv4Addr, vparam: &mut MatchParam) -> c_int { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_label` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `netmask` [INFO] [stdout] --> src/dhcp.rs:72:70 [INFO] [stdout] | [INFO] [stdout] 72 | ...dex: c_int, label: &str, netmask: Ipv4Addr, broadcast: Ipv4Addr, vparam: &mut MatchParam) -> c_int { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_netmask` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `broadcast` [INFO] [stdout] --> src/dhcp.rs:72:89 [INFO] [stdout] | [INFO] [stdout] 72 | ...tr, netmask: Ipv4Addr, broadcast: Ipv4Addr, vparam: &mut MatchParam) -> c_int { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_broadcast` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vparam` [INFO] [stdout] --> src/dhcp.rs:72:110 [INFO] [stdout] | [INFO] [stdout] 72 | ...ddr, broadcast: Ipv4Addr, vparam: &mut MatchParam) -> c_int { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_vparam` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `local` [INFO] [stdout] --> src/dhcp.rs:77:21 [INFO] [stdout] | [INFO] [stdout] 77 | fn complete_context(local: Ipv4Addr, if_index: c_int, label: &str, netmask: Ipv4Addr, broadcast: Ipv4Addr, vparam: &mut IfaceParam) ... [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_local` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `if_index` [INFO] [stdout] --> src/dhcp.rs:77:38 [INFO] [stdout] | [INFO] [stdout] 77 | fn complete_context(local: Ipv4Addr, if_index: c_int, label: &str, netmask: Ipv4Addr, broadcast: Ipv4Addr, vparam: &mut IfaceParam) ... [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_if_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `label` [INFO] [stdout] --> src/dhcp.rs:77:55 [INFO] [stdout] | [INFO] [stdout] 77 | fn complete_context(local: Ipv4Addr, if_index: c_int, label: &str, netmask: Ipv4Addr, broadcast: Ipv4Addr, vparam: &mut IfaceParam) ... [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_label` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `netmask` [INFO] [stdout] --> src/dhcp.rs:77:68 [INFO] [stdout] | [INFO] [stdout] 77 | ...dex: c_int, label: &str, netmask: Ipv4Addr, broadcast: Ipv4Addr, vparam: &mut IfaceParam) -> c_int { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_netmask` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `broadcast` [INFO] [stdout] --> src/dhcp.rs:77:87 [INFO] [stdout] | [INFO] [stdout] 77 | ...tr, netmask: Ipv4Addr, broadcast: Ipv4Addr, vparam: &mut IfaceParam) -> c_int { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_broadcast` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vparam` [INFO] [stdout] --> src/dhcp.rs:77:108 [INFO] [stdout] | [INFO] [stdout] 77 | ...ddr, broadcast: Ipv4Addr, vparam: &mut IfaceParam) -> c_int { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_vparam` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iface_index` [INFO] [stdout] --> src/dhcp.rs:82:20 [INFO] [stdout] | [INFO] [stdout] 82 | fn relay_upstream4(iface_index: c_int, mess: &DhcpPacket, sz: usize) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iface_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mess` [INFO] [stdout] --> src/dhcp.rs:82:40 [INFO] [stdout] | [INFO] [stdout] 82 | fn relay_upstream4(iface_index: c_int, mess: &DhcpPacket, sz: usize) -> c_int { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mess` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sz` [INFO] [stdout] --> src/dhcp.rs:82:59 [INFO] [stdout] | [INFO] [stdout] 82 | fn relay_upstream4(iface_index: c_int, mess: &DhcpPacket, sz: usize) -> c_int { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sz` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mess` [INFO] [stdout] --> src/dhcp.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 87 | fn relay_reply4(mess: &DhcpPacket, arrival_interface: &str) -> Option { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mess` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arrival_interface` [INFO] [stdout] --> src/dhcp.rs:87:36 [INFO] [stdout] | [INFO] [stdout] 87 | fn relay_reply4(mess: &DhcpPacket, arrival_interface: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arrival_interface` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/dhcp6.rs:79:19 [INFO] [stdout] | [INFO] [stdout] 79 | let mut msg = unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/dhcp6.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | let mut param = IfaceParam { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/dhcp6.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | let mut msg = unsafe { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `now` [INFO] [stdout] --> src/dhcp6.rs:68:21 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn dhcp6_packet(now: SystemTime, fd: RawFd) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_now` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fd` [INFO] [stdout] --> src/dhcp6.rs:68:38 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn dhcp6_packet(now: SystemTime, fd: RawFd) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_fd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `param` [INFO] [stdout] --> src/dhcp6.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | let mut param = IfaceParam { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_param` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> src/dhcp6.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | let mut msg = unsafe { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `client` [INFO] [stdout] --> src/dhcp6.rs:87:19 [INFO] [stdout] | [INFO] [stdout] 87 | fn get_client_mac(client: &Ipv6Addr, iface: i32) -> Option> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iface` [INFO] [stdout] --> src/dhcp6.rs:87:38 [INFO] [stdout] | [INFO] [stdout] 87 | fn get_client_mac(client: &Ipv6Addr, iface: i32) -> Option> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_iface` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sig` [INFO] [stdout] --> src/dnsmasq.rs:43:38 [INFO] [stdout] | [INFO] [stdout] 43 | pub(crate) extern "C" fn sig_handler(sig: libc::c_int) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_sig` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `argc` [INFO] [stdout] --> src/dnsmasq.rs:48:25 [INFO] [stdout] | [INFO] [stdout] 48 | pub(crate) fn read_opts(argc: i32, argv: *const *const i8, compile_opts: *const i8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_argc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `argv` [INFO] [stdout] --> src/dnsmasq.rs:48:36 [INFO] [stdout] | [INFO] [stdout] 48 | pub(crate) fn read_opts(argc: i32, argv: *const *const i8, compile_opts: *const i8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_argv` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compile_opts` [INFO] [stdout] --> src/dnsmasq.rs:48:60 [INFO] [stdout] | [INFO] [stdout] 48 | pub(crate) fn read_opts(argc: i32, argv: *const *const i8, compile_opts: *const i8) { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_opts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/domain.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | unsafe { dst.addr4 = ipv4; } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/domain.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | unsafe { dst.addr6 = ipv6; } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/domain.rs:102:17 [INFO] [stdout] | [INFO] [stdout] 102 | fn match_domain(addr: Ipv4Addr, c: &CondDomain) -> i32 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/domain.rs:102:33 [INFO] [stdout] | [INFO] [stdout] 102 | fn match_domain(addr: Ipv4Addr, c: &CondDomain) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/domain.rs:107:18 [INFO] [stdout] | [INFO] [stdout] 107 | fn match_domain6(addr: &Ipv6Addr, c: &CondDomain) -> i32 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/domain.rs:107:35 [INFO] [stdout] | [INFO] [stdout] 107 | fn match_domain6(addr: &Ipv6Addr, c: &CondDomain) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/domain.rs:112:18 [INFO] [stdout] | [INFO] [stdout] 112 | fn search_domain(addr: Ipv4Addr, domain: Option<&CondDomain>) -> Option<&CondDomain> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `domain` [INFO] [stdout] --> src/domain.rs:112:34 [INFO] [stdout] | [INFO] [stdout] 112 | fn search_domain(addr: Ipv4Addr, domain: Option<&CondDomain>) -> Option<&CondDomain> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/domain_match.rs:47:23 [INFO] [stdout] | [INFO] [stdout] 47 | unsafe fn order_qsort(key: *const *mut Server) -> Ordering { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/domain_match.rs:52:25 [INFO] [stdout] | [INFO] [stdout] 52 | unsafe fn order_servers(s: *const Server, s2: *const Server) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s2` [INFO] [stdout] --> src/domain_match.rs:52:43 [INFO] [stdout] | [INFO] [stdout] 52 | unsafe fn order_servers(s: *const Server, s2: *const Server) -> i32 { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/domain_match.rs:114:36 [INFO] [stdout] | [INFO] [stdout] 114 | DAEMON.serverarray.sort_by(|a, b| order_qsort(a)); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `count` is never read [INFO] [stdout] --> src/domain_match.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | count = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `count` is never read [INFO] [stdout] --> src/domain_match.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | count += 1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `now` [INFO] [stdout] --> src/forward.rs:14:17 [INFO] [stdout] | [INFO] [stdout] 14 | fn get_new_frec(now: u64, serv: &Server, force: bool) -> Frec { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_now` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `serv` [INFO] [stdout] --> src/forward.rs:14:27 [INFO] [stdout] | [INFO] [stdout] 14 | fn get_new_frec(now: u64, serv: &Server, force: bool) -> Frec { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_serv` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `force` [INFO] [stdout] --> src/forward.rs:14:42 [INFO] [stdout] | [INFO] [stdout] 14 | fn get_new_frec(now: u64, serv: &Server, force: bool) -> Frec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_force` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/forward.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 18 | fn lookup_frec(id: u16, fd: i32, hash: &mut dyn std::any::Any, firstp: &mut i32, lastp: &mut i32) -> Frec { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fd` [INFO] [stdout] --> src/forward.rs:18:25 [INFO] [stdout] | [INFO] [stdout] 18 | fn lookup_frec(id: u16, fd: i32, hash: &mut dyn std::any::Any, firstp: &mut i32, lastp: &mut i32) -> Frec { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_fd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hash` [INFO] [stdout] --> src/forward.rs:18:34 [INFO] [stdout] | [INFO] [stdout] 18 | fn lookup_frec(id: u16, fd: i32, hash: &mut dyn std::any::Any, firstp: &mut i32, lastp: &mut i32) -> Frec { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_hash` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `firstp` [INFO] [stdout] --> src/forward.rs:18:64 [INFO] [stdout] | [INFO] [stdout] 18 | fn lookup_frec(id: u16, fd: i32, hash: &mut dyn std::any::Any, firstp: &mut i32, lastp: &mut i32) -> Frec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_firstp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lastp` [INFO] [stdout] --> src/forward.rs:18:82 [INFO] [stdout] | [INFO] [stdout] 18 | fn lookup_frec(id: u16, fd: i32, hash: &mut dyn std::any::Any, firstp: &mut i32, lastp: &mut i32) -> Frec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_lastp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hash` [INFO] [stdout] --> src/forward.rs:22:25 [INFO] [stdout] | [INFO] [stdout] 22 | fn lookup_frec_by_query(hash: &mut dyn std::any::Any, flags: u32, flagmask: u32) -> Frec { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_hash` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `flags` [INFO] [stdout] --> src/forward.rs:22:55 [INFO] [stdout] | [INFO] [stdout] 22 | fn lookup_frec_by_query(hash: &mut dyn std::any::Any, flags: u32, flagmask: u32) -> Frec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `flagmask` [INFO] [stdout] --> src/forward.rs:22:67 [INFO] [stdout] | [INFO] [stdout] 22 | fn lookup_frec_by_query(hash: &mut dyn std::any::Any, flags: u32, flagmask: u32) -> Frec { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_flagmask` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/forward.rs:35:14 [INFO] [stdout] | [INFO] [stdout] 35 | fn free_frec(f: Frec) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `now` [INFO] [stdout] --> src/forward.rs:39:15 [INFO] [stdout] | [INFO] [stdout] 39 | fn query_full(now: u64, domain: &str) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_now` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `domain` [INFO] [stdout] --> src/forward.rs:39:25 [INFO] [stdout] | [INFO] [stdout] 39 | fn query_full(now: u64, domain: &str) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_domain` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `now` [INFO] [stdout] --> src/forward.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | now: u64, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_now` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `forward` [INFO] [stdout] --> src/forward.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | forward: &Frec, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_forward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> src/forward.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | header: &DnsHeader, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/forward.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | n: isize, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `status` [INFO] [stdout] --> src/forward.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | status: i32 [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/hash_questions.rs:73:26 [INFO] [stdout] | [INFO] [stdout] 73 | fn update(&mut self, data: &[u8]) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/hash_questions.rs:78:17 [INFO] [stdout] | [INFO] [stdout] 78 | fn finalize(mut self) -> [u8; SHA256_BLOCK_SIZE] { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> src/hash_questions.rs:122:17 [INFO] [stdout] | [INFO] [stdout] 122 | fn extract_name(header: &DnsHeader, plen: usize, p: &mut &[u8], name: &mut [u8], a: u32, b: u32) -> Option { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `plen` [INFO] [stdout] --> src/hash_questions.rs:122:37 [INFO] [stdout] | [INFO] [stdout] 122 | fn extract_name(header: &DnsHeader, plen: usize, p: &mut &[u8], name: &mut [u8], a: u32, b: u32) -> Option { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_plen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/hash_questions.rs:122:50 [INFO] [stdout] | [INFO] [stdout] 122 | fn extract_name(header: &DnsHeader, plen: usize, p: &mut &[u8], name: &mut [u8], a: u32, b: u32) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/hash_questions.rs:122:65 [INFO] [stdout] | [INFO] [stdout] 122 | fn extract_name(header: &DnsHeader, plen: usize, p: &mut &[u8], name: &mut [u8], a: u32, b: u32) -> Option { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/hash_questions.rs:122:82 [INFO] [stdout] | [INFO] [stdout] 122 | fn extract_name(header: &DnsHeader, plen: usize, p: &mut &[u8], name: &mut [u8], a: u32, b: u32) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/hash_questions.rs:122:90 [INFO] [stdout] | [INFO] [stdout] 122 | fn extract_name(header: &DnsHeader, plen: usize, p: &mut &[u8], name: &mut [u8], a: u32, b: u32) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> src/hash_questions.rs:127:14 [INFO] [stdout] | [INFO] [stdout] 127 | fn check_len(header: &DnsHeader, p: &[u8], plen: usize, len: usize) -> bool { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/hash_questions.rs:127:34 [INFO] [stdout] | [INFO] [stdout] 127 | fn check_len(header: &DnsHeader, p: &[u8], plen: usize, len: usize) -> bool { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `plen` [INFO] [stdout] --> src/hash_questions.rs:127:44 [INFO] [stdout] | [INFO] [stdout] 127 | fn check_len(header: &DnsHeader, p: &[u8], plen: usize, len: usize) -> bool { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_plen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `len` [INFO] [stdout] --> src/hash_questions.rs:127:57 [INFO] [stdout] | [INFO] [stdout] 127 | fn check_len(header: &DnsHeader, p: &[u8], plen: usize, len: usize) -> bool { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `file` as mutable, as it is not declared as mutable [INFO] [stdout] --> src/helper.rs:160:22 [INFO] [stdout] | [INFO] [stdout] 160 | let _ = writeln!(file, "Event: {}, Code: {}, Msg: {:?}", event, code, msg); [INFO] [stdout] | ^^^^ cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 159 | let mut file = unsafe { File::from_raw_fd(fd) }; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hw_len` [INFO] [stdout] --> src/lease.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | hw_len: usize, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_hw_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `clid_len` [INFO] [stdout] --> src/lease.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | clid_len: usize, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clid_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `now` [INFO] [stdout] --> src/lease.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | let now = SystemTime::now(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_now` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `option` [INFO] [stdout] --> src/loop_impl.rs:40:16 [INFO] [stdout] | [INFO] [stdout] 40 | fn option_bool(option: c_int) -> bool { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rfds` [INFO] [stdout] --> src/loop_impl.rs:45:17 [INFO] [stdout] | [INFO] [stdout] 45 | fn allocate_rfd(rfds: &mut Option, serv: &Server) -> Result { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rfds` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `serv` [INFO] [stdout] --> src/loop_impl.rs:45:43 [INFO] [stdout] | [INFO] [stdout] 45 | fn allocate_rfd(rfds: &mut Option, serv: &Server) -> Result { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_serv` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rfds` [INFO] [stdout] --> src/loop_impl.rs:50:14 [INFO] [stdout] | [INFO] [stdout] 50 | fn free_rfds(rfds: &mut Option) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_rfds` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fd` [INFO] [stdout] --> src/loop_impl.rs:59:11 [INFO] [stdout] | [INFO] [stdout] 59 | fn sendto(fd: RawFd, buf: &[u8], len: usize, flags: c_int, addr: &sockaddr, addrlen: usize) -> Result { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_fd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/loop_impl.rs:59:22 [INFO] [stdout] | [INFO] [stdout] 59 | fn sendto(fd: RawFd, buf: &[u8], len: usize, flags: c_int, addr: &sockaddr, addrlen: usize) -> Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `len` [INFO] [stdout] --> src/loop_impl.rs:59:34 [INFO] [stdout] | [INFO] [stdout] 59 | fn sendto(fd: RawFd, buf: &[u8], len: usize, flags: c_int, addr: &sockaddr, addrlen: usize) -> Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `flags` [INFO] [stdout] --> src/loop_impl.rs:59:46 [INFO] [stdout] | [INFO] [stdout] 59 | fn sendto(fd: RawFd, buf: &[u8], len: usize, flags: c_int, addr: &sockaddr, addrlen: usize) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/loop_impl.rs:59:60 [INFO] [stdout] | [INFO] [stdout] 59 | fn sendto(fd: RawFd, buf: &[u8], len: usize, flags: c_int, addr: &sockaddr, addrlen: usize) -> Result { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addrlen` [INFO] [stdout] --> src/loop_impl.rs:59:77 [INFO] [stdout] | [INFO] [stdout] 59 | fn sendto(fd: RawFd, buf: &[u8], len: usize, flags: c_int, addr: &sockaddr, addrlen: usize) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_addrlen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/loop_impl.rs:64:11 [INFO] [stdout] | [INFO] [stdout] 64 | fn sa_len(addr: &sockaddr) -> usize { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0594]: cannot assign to `server.flags`, which is behind a `&` reference [INFO] [stdout] --> src/loop_impl.rs:99:17 [INFO] [stdout] | [INFO] [stdout] 99 | server.flags &= !1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ `server` is a `&` reference, so it cannot be written to [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0594]: cannot assign to `server.flags`, which is behind a `&` reference [INFO] [stdout] --> src/loop_impl.rs:161:13 [INFO] [stdout] | [INFO] [stdout] 161 | server.flags |= 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ `server` is a `&` reference, so it cannot be written to [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file` [INFO] [stdout] --> src/option.rs:109:13 [INFO] [stdout] | [INFO] [stdout] 109 | fn one_file(file: &str, hard_opt: i32) -> i32 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hard_opt` [INFO] [stdout] --> src/option.rs:109:25 [INFO] [stdout] | [INFO] [stdout] 109 | fn one_file(file: &str, hard_opt: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hard_opt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `outpacket` [INFO] [stdout] --> src/outpacket.rs:92:22 [INFO] [stdout] | [INFO] [stdout] 92 | unsafe fn expand_buf(outpacket: &mut iovec, new_size: size_t) -> bool { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outpacket` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_size` [INFO] [stdout] --> src/outpacket.rs:92:45 [INFO] [stdout] | [INFO] [stdout] 92 | unsafe fn expand_buf(outpacket: &mut iovec, new_size: size_t) -> bool { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `now` [INFO] [stdout] --> src/radv.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 54 | fn send_ra(now: time_t, iface: c_int, iface_name: *const c_char, dest: *const sockaddr_in6) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_now` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iface` [INFO] [stdout] --> src/radv.rs:54:25 [INFO] [stdout] | [INFO] [stdout] 54 | fn send_ra(now: time_t, iface: c_int, iface_name: *const c_char, dest: *const sockaddr_in6) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_iface` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iface_name` [INFO] [stdout] --> src/radv.rs:54:39 [INFO] [stdout] | [INFO] [stdout] 54 | fn send_ra(now: time_t, iface: c_int, iface_name: *const c_char, dest: *const sockaddr_in6) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iface_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dest` [INFO] [stdout] --> src/radv.rs:54:66 [INFO] [stdout] | [INFO] [stdout] 54 | fn send_ra(now: time_t, iface: c_int, iface_name: *const c_char, dest: *const sockaddr_in6) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_dest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `now` [INFO] [stdout] --> src/radv.rs:58:18 [INFO] [stdout] | [INFO] [stdout] 58 | fn send_ra_alias(now: time_t, iface: c_int, iface_name: *const c_char, dest: *const sockaddr_in6, send_iface: c_int) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_now` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iface` [INFO] [stdout] --> src/radv.rs:58:31 [INFO] [stdout] | [INFO] [stdout] 58 | fn send_ra_alias(now: time_t, iface: c_int, iface_name: *const c_char, dest: *const sockaddr_in6, send_iface: c_int) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_iface` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iface_name` [INFO] [stdout] --> src/radv.rs:58:45 [INFO] [stdout] | [INFO] [stdout] 58 | fn send_ra_alias(now: time_t, iface: c_int, iface_name: *const c_char, dest: *const sockaddr_in6, send_iface: c_int) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iface_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dest` [INFO] [stdout] --> src/radv.rs:58:72 [INFO] [stdout] | [INFO] [stdout] 58 | fn send_ra_alias(now: time_t, iface: c_int, iface_name: *const c_char, dest: *const sockaddr_in6, send_iface: c_int) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_dest` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `send_iface` [INFO] [stdout] --> src/radv.rs:58:99 [INFO] [stdout] | [INFO] [stdout] 58 | fn send_ra_alias(now: time_t, iface: c_int, iface_name: *const c_char, dest: *const sockaddr_in6, send_iface: c_int) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_send_iface` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0594]: cannot assign to `*ansp`, which is behind a `*const` pointer [INFO] [stdout] --> src/rrfilter.rs:69:21 [INFO] [stdout] | [INFO] [stdout] 69 | *ansp = (0xc0 | (offset >> 8) as u8) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ansp` is a `*const` pointer, so it cannot be written to [INFO] [stdout] | [INFO] [stdout] help: consider specifying this binding's type [INFO] [stdout] | [INFO] [stdout] 30 | let mut ansp: *mut u8 = *namep; [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0594]: cannot assign to `*ansp`, which is behind a `*const` pointer [INFO] [stdout] --> src/rrfilter.rs:71:21 [INFO] [stdout] | [INFO] [stdout] 71 | *ansp = (offset & 0xff) as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ansp` is a `*const` pointer, so it cannot be written to [INFO] [stdout] | [INFO] [stdout] help: consider specifying this binding's type [INFO] [stdout] | [INFO] [stdout] 30 | let mut ansp: *mut u8 = *namep; [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe function or block [INFO] [stdout] --> src/rrfilter.rs:191:35 [INFO] [stdout] | [INFO] [stdout] 191 | if !check_len(header, p.add(1), plen, 1) { [INFO] [stdout] | ^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe function or block [INFO] [stdout] --> src/rrfilter.rs:194:17 [INFO] [stdout] | [INFO] [stdout] 194 | p = p.add(2); [INFO] [stdout] | ^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe function or block [INFO] [stdout] --> src/rrfilter.rs:197:17 [INFO] [stdout] | [INFO] [stdout] 197 | p = p.add(1); [INFO] [stdout] | ^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe function or block [INFO] [stdout] --> src/rrfilter.rs:200:35 [INFO] [stdout] | [INFO] [stdout] 200 | if !check_len(header, p.add(1), plen, len) { [INFO] [stdout] | ^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe function or block [INFO] [stdout] --> src/rrfilter.rs:203:17 [INFO] [stdout] | [INFO] [stdout] 203 | p = p.add(1 + len); [INFO] [stdout] | ^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rrfilter.rs:230:9 [INFO] [stdout] | [INFO] [stdout] 230 | let mut p: *const u8 = ptr::null(); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `now` [INFO] [stdout] --> src/tftp.rs:71:16 [INFO] [stdout] | [INFO] [stdout] 71 | fn handle_tftp(now: SystemTime, transfer: &mut TftpTransfer, len: isize) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_now` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `transfer` [INFO] [stdout] --> src/tftp.rs:71:33 [INFO] [stdout] | [INFO] [stdout] 71 | fn handle_tftp(now: SystemTime, transfer: &mut TftpTransfer, len: isize) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transfer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `len` [INFO] [stdout] --> src/tftp.rs:71:62 [INFO] [stdout] | [INFO] [stdout] 71 | fn handle_tftp(now: SystemTime, transfer: &mut TftpTransfer, len: isize) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `transfer` [INFO] [stdout] --> src/tftp.rs:79:18 [INFO] [stdout] | [INFO] [stdout] 79 | fn free_transfer(transfer: &mut TftpTransfer) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transfer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/tftp.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 99 | fn sanitise(buf: *mut c_char) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: use of mutable static is unsafe and requires unsafe function or block [INFO] [stdout] --> src/ubus.rs:89:14 [INFO] [stdout] | [INFO] [stdout] 89 | methods: UBUS_OBJECT_METHODS.as_ptr(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: use of mutable static is unsafe and requires unsafe function or block [INFO] [stdout] --> src/ubus.rs:90:16 [INFO] [stdout] | [INFO] [stdout] 90 | n_methods: UBUS_OBJECT_METHODS.len() as u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/ubus.rs:95:35 [INFO] [stdout] | [INFO] [stdout] 95 | extern "C" fn ubus_handle_metrics(ctx: *mut UbusContext, obj: *mut UbusObject, req: *mut UbusRequestData, method: *const i8, msg: *m... [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `obj` [INFO] [stdout] --> src/ubus.rs:95:58 [INFO] [stdout] | [INFO] [stdout] 95 | extern "C" fn ubus_handle_metrics(ctx: *mut UbusContext, obj: *mut UbusObject, req: *mut UbusRequestData, method: *const i8, msg: *m... [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_obj` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `req` [INFO] [stdout] --> src/ubus.rs:95:80 [INFO] [stdout] | [INFO] [stdout] 95 | ...ntext, obj: *mut UbusObject, req: *mut UbusRequestData, method: *const i8, msg: *mut BlobAttr) -> i32 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_req` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `method` [INFO] [stdout] --> src/ubus.rs:95:107 [INFO] [stdout] | [INFO] [stdout] 95 | ...eq: *mut UbusRequestData, method: *const i8, msg: *mut BlobAttr) -> i32 { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_method` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> src/ubus.rs:95:126 [INFO] [stdout] | [INFO] [stdout] 95 | ...uestData, method: *const i8, msg: *mut BlobAttr) -> i32 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/ubus.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | unsafe { UBUS_OBJECT_TYPE.id = 0; } [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0594]: cannot assign to `UBUS_OBJECT_TYPE.id`, as `UBUS_OBJECT_TYPE` is an immutable static item [INFO] [stdout] --> src/ubus.rs:121:14 [INFO] [stdout] | [INFO] [stdout] 80 | static UBUS_OBJECT_TYPE: UbusObjectType = UbusObjectType { [INFO] [stdout] | --------------------------------------- this `static` cannot be written to [INFO] [stdout] ... [INFO] [stdout] 121 | unsafe { UBUS_OBJECT_TYPE.id = 0; } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ cannot assign [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/util.rs:218:9 [INFO] [stdout] | [INFO] [stdout] 218 | let mut idn_encode = 0; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/util.rs:219:9 [INFO] [stdout] | [INFO] [stdout] 219 | let mut hasuscore = 0; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/util.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | let mut hasucase = 0; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `nowhite` is assigned to, but never used [INFO] [stdout] --> src/util.rs:217:9 [INFO] [stdout] | [INFO] [stdout] 217 | let mut nowhite = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_nowhite` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idn_encode` [INFO] [stdout] --> src/util.rs:218:9 [INFO] [stdout] | [INFO] [stdout] 218 | let mut idn_encode = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_idn_encode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hasuscore` [INFO] [stdout] --> src/util.rs:219:9 [INFO] [stdout] | [INFO] [stdout] 219 | let mut hasuscore = 0; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hasuscore` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hasucase` [INFO] [stdout] --> src/util.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | let mut hasucase = 0; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hasucase` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `l` is never read [INFO] [stdout] --> src/util.rs:228:9 [INFO] [stdout] | [INFO] [stdout] 228 | l -= 1; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `nowhite` is never read [INFO] [stdout] --> src/util.rs:229:9 [INFO] [stdout] | [INFO] [stdout] 229 | nowhite = 1; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `nowhite` is never read [INFO] [stdout] --> src/util.rs:250:17 [INFO] [stdout] | [INFO] [stdout] 250 | nowhite = 1; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `dbus` [INFO] [stdout] --> src/dbus.rs:113:21 [INFO] [stdout] | [INFO] [stdout] 113 | fn add_watch(watch: dbus::Watch, data: &mut Daemon) -> bool { [INFO] [stdout] | ^^^^ use of unresolved module or unlinked crate `dbus` [INFO] [stdout] | [INFO] [stdout] help: to make use of source file src/dbus.rs, use `mod dbus` in this file to declare the module [INFO] [stdout] --> src/main.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 + mod dbus; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `dbus` [INFO] [stdout] --> src/dbus.rs:73:19 [INFO] [stdout] | [INFO] [stdout] 73 | fn new(watch: dbus::Watch) -> Self { [INFO] [stdout] | ^^^^ use of unresolved module or unlinked crate `dbus` [INFO] [stdout] | [INFO] [stdout] help: to make use of source file src/dbus.rs, use `mod dbus` in this file to declare the module [INFO] [stdout] --> src/main.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 + mod dbus; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `dbus` [INFO] [stdout] --> src/dbus.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 68 | watch: dbus::Watch, [INFO] [stdout] | ^^^^ use of unresolved module or unlinked crate `dbus` [INFO] [stdout] | [INFO] [stdout] help: to make use of source file src/dbus.rs, use `mod dbus` in this file to declare the module [INFO] [stdout] --> src/main.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 + mod dbus; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `dbus` [INFO] [stdout] --> src/dbus.rs:128:24 [INFO] [stdout] | [INFO] [stdout] 128 | fn remove_watch(watch: dbus::Watch, data: &mut Daemon) { [INFO] [stdout] | ^^^^ use of unresolved module or unlinked crate `dbus` [INFO] [stdout] | [INFO] [stdout] help: to make use of source file src/dbus.rs, use `mod dbus` in this file to declare the module [INFO] [stdout] --> src/main.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 + mod dbus; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0015, E0106, E0133, E0204, E0277, E0282, E0308, E0382, E0422... [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0015`. [INFO] [stdout] [INFO] [stderr] error: could not compile `dnsmasq-rs` (bin "dnsmasq-rs") due to 438 previous errors; 383 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] running `Command { std: "docker" "inspect" "00cd8740374a382b0e486bb8baac0381dbc026d13d9a8ffae256a96d7f96fa9b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "00cd8740374a382b0e486bb8baac0381dbc026d13d9a8ffae256a96d7f96fa9b", kill_on_drop: false }` [INFO] [stdout] 00cd8740374a382b0e486bb8baac0381dbc026d13d9a8ffae256a96d7f96fa9b