[INFO] cloning repository https://github.com/hahastrongshi/rdtls
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hahastrongshi/rdtls" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhahastrongshi%2Frdtls", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhahastrongshi%2Frdtls'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 683ca9e9ae8a39ea17ce8ccc85548074a6b3fd19
[INFO] checking hahastrongshi/rdtls against 24e1a22664233bce1f9b5dc6eee7c1f74327e28c for pr-159343-retry
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhahastrongshi%2Frdtls" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/hahastrongshi/rdtls
[INFO] finished tweaking git repo https://github.com/hahastrongshi/rdtls
[INFO] tweaked toml for git repo https://github.com/hahastrongshi/rdtls written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hahastrongshi/rdtls on toolchain 24e1a22664233bce1f9b5dc6eee7c1f74327e28c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/hahastrongshi/rdtls 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" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 55184d452f7c6ecd9dfb79a77e68341a84a2411a7352051a4018e2d489f9993c
[INFO] running `Command { std: "docker" "start" "55184d452f7c6ecd9dfb79a77e68341a84a2411a7352051a4018e2d489f9993c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "55184d452f7c6ecd9dfb79a77e68341a84a2411a7352051a4018e2d489f9993c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "55184d452f7c6ecd9dfb79a77e68341a84a2411a7352051a4018e2d489f9993c" "/opt/rustwide/cargo-home/bin/cargo" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "55184d452f7c6ecd9dfb79a77e68341a84a2411a7352051a4018e2d489f9993c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "55184d452f7c6ecd9dfb79a77e68341a84a2411a7352051a4018e2d489f9993c" "/opt/rustwide/cargo-home/bin/cargo" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.79
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling cc v1.0.90
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling memchr v2.7.1
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]     Checking no-std-net v0.6.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling hashbrown v0.14.3
[INFO] [stderr]    Compiling siphasher v0.3.11
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling toml_datetime v0.6.5
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]     Checking pnet_base v0.33.0
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling unicode-segmentation v1.11.0
[INFO] [stderr]    Compiling rustversion v1.0.14
[INFO] [stderr]     Checking pnet_macros_support v0.33.0
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]     Checking zerocopy v0.7.32
[INFO] [stderr]     Checking unicode-width v0.1.11
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]    Compiling pcap-sys v0.1.3
[INFO] [stderr]    Compiling anyhow v1.0.81
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]    Compiling pnet v0.33.0
[INFO] [stderr]     Checking ansi_term v0.12.1
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]     Checking allocator-api2 v0.2.16
[INFO] [stderr]    Compiling thiserror v1.0.58
[INFO] [stderr]     Checking bitflags v2.5.0
[INFO] [stderr]    Compiling serde_json v1.0.114
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]     Checking phf v0.10.1
[INFO] [stderr]     Checking either v1.10.0
[INFO] [stderr]     Checking ryu v1.0.17
[INFO] [stderr]     Checking itoa v1.0.10
[INFO] [stderr]    Compiling indexmap v2.2.6
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling getrandom v0.2.12
[INFO] [stderr]     Checking crossbeam-channel v0.5.12
[INFO] [stderr]     Checking pnet_sys v0.33.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking strum v0.21.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]    Compiling syn v2.0.55
[INFO] [stderr]    Compiling openssl-sys v0.9.101
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]     Checking hashlink v0.8.4
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]    Compiling openssl v0.10.64
[INFO] [stderr]    Compiling phf_generator v0.10.0
[INFO] [stderr]    Compiling phf_codegen v0.10.0
[INFO] [stderr]     Checking rusticata-macros v4.1.0
[INFO] [stderr]    Compiling regex-automata v0.4.6
[INFO] [stderr]    Compiling tls-parser v0.12.0 (https://github.com/thegwan/tls-parser.git#2c76bd13)
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.58
[INFO] [stderr]    Compiling regex v1.10.4
[INFO] [stderr]    Compiling pnet_macros v0.33.0
[INFO] [stderr]    Compiling nom-derive-impl v0.10.1
[INFO] [stderr]    Compiling num_enum_derive v0.5.11
[INFO] [stderr]    Compiling structopt-derive v0.4.18
[INFO] [stderr]    Compiling strum_macros v0.21.1
[INFO] [stderr]     Checking num_enum v0.5.11
[INFO] [stderr]     Checking nom-derive v0.10.1
[INFO] [stderr]     Checking pnet_packet v0.33.0
[INFO] [stderr]     Checking structopt v0.3.26
[INFO] [stderr]     Checking tls-decrypt v0.1.4 (https://github.com/hahastrongshi/tls-decrypt.git#8de8897d)
[INFO] [stderr]     Checking pnet_transport v0.33.0
[INFO] [stderr]     Checking ipnetwork v0.20.0
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking pktparse v0.7.1
[INFO] [stderr]     Checking pnet_datalink v0.33.0
[INFO] [stderr]     Checking rdtls v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0659]: `Unknown` is ambiguous
[INFO] [stdout]   --> src/protocols/mod.rs:21:20
[INFO] [stdout]    |
[INFO] [stdout] 21 |         Err(_)  => Unknown(data.to_vec()),
[INFO] [stdout]    |                    ^^^^^^^ ambiguous name
[INFO] [stdout]    |
[INFO] [stdout]    = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Unknown` could refer to the tuple variant imported here
[INFO] [stdout]   --> src/structs/mod.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub use crate::structs::raw::Raw::*;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = help: consider adding an explicit import of `Unknown` to disambiguate
[INFO] [stdout] note: `Unknown` could also refer to the tuple variant imported here
[INFO] [stdout]   --> src/structs/mod.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub use crate::structs::ether::Ether::*;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = help: consider adding an explicit import of `Unknown` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::protocols::tls`
[INFO] [stdout]  --> src/protocols/tcp.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::protocols::tls;
[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: `ConnInfo`
[INFO] [stdout]   --> src/protocols/stream/tls/parser.rs:18:41
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::conntrack::conn::conn_info::{ConnInfo, ConnState, TlsInfo};
[INFO] [stdout]    |                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `openssl::pkey::Private`
[INFO] [stdout]   --> src/protocols/stream/tls/parser.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use openssl::pkey::Private;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Padding` and `Rsa`
[INFO] [stdout]   --> src/protocols/stream/tls/parser.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 | use openssl::rsa::{Padding, Rsa};
[INFO] [stdout]    |                    ^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Cipher`, `Crypter`, and `Mode`
[INFO] [stdout]   --> src/protocols/stream/tls/parser.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 | use openssl::symm::{Cipher, Crypter, Mode};
[INFO] [stdout]    |                     ^^^^^^  ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MessageDigest` and `hash`
[INFO] [stdout]   --> src/protocols/stream/tls/parser.rs:29:21
[INFO] [stdout]    |
[INFO] [stdout] 29 | use openssl::hash::{hash, MessageDigest};
[INFO] [stdout]    |                     ^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `openssl::pkey::PKey`
[INFO] [stdout]   --> src/protocols/stream/tls/parser.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use openssl::pkey::PKey;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `Unknown` is ambiguous
[INFO] [stdout]   --> src/protocols/mod.rs:21:20
[INFO] [stdout]    |
[INFO] [stdout] 21 |         Err(_)  => Unknown(data.to_vec()),
[INFO] [stdout]    |                    ^^^^^^^ ambiguous name
[INFO] [stdout]    |
[INFO] [stdout]    = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Unknown` could refer to the tuple variant imported here
[INFO] [stdout]   --> src/structs/mod.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub use crate::structs::raw::Raw::*;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = help: consider adding an explicit import of `Unknown` to disambiguate
[INFO] [stdout] note: `Unknown` could also refer to the tuple variant imported here
[INFO] [stdout]   --> src/structs/mod.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub use crate::structs::ether::Ether::*;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = help: consider adding an explicit import of `Unknown` to disambiguate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Signer` and `Verifier`
[INFO] [stdout]   --> src/protocols/stream/tls/parser.rs:31:21
[INFO] [stdout]    |
[INFO] [stdout] 31 | use openssl::sign::{Signer, Verifier};
[INFO] [stdout]    |                     ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]   --> src/protocols/stream/tls/parser.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use std::io;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]   --> src/protocols/stream/tls/parser.rs:36:30
[INFO] [stdout]    |
[INFO] [stdout] 36 | use tls_parser::nom::error::{Error, ErrorKind, make_error};
[INFO] [stdout]    |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/protocols/stream/tls/parser.rs:438:20
[INFO] [stdout]     |
[INFO] [stdout] 438 |                 if (direction) {
[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] 438 -                 if (direction) {
[INFO] [stdout] 438 +                 if direction {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/protocols/stream/tls/parser.rs:547:12
[INFO] [stdout]     |
[INFO] [stdout] 547 |         if (hdr.record_type == TlsRecordType::ApplicationData) {
[INFO] [stdout]     |            ^                                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 547 -         if (hdr.record_type == TlsRecordType::ApplicationData) {
[INFO] [stdout] 547 +         if hdr.record_type == TlsRecordType::ApplicationData {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ConnInfo`
[INFO] [stdout]   --> src/protocols/stream/mod.rs:26:41
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::conntrack::conn::conn_info::{ConnInfo, ConnState, TlsInfo};
[INFO] [stdout]    |                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Result` and `bail`
[INFO] [stdout]   --> src/protocols/stream/mod.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 34 | use anyhow::{bail, Result};
[INFO] [stdout]    |              ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::string::ParseError`
[INFO] [stdout]   --> src/protocols/stream/mod.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use std::string::ParseError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::structs::tls`
[INFO] [stdout]  --> src/structs/tcp.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::structs::tls;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/structs/mod.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub use crate::structs::raw::Raw::*;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the name `Unknown` in the type namespace is first re-exported here
[INFO] [stdout] 24 |     pub use crate::structs::ether::Ether::*;
[INFO] [stdout]    |             ------------------------------- but the name `Unknown` in the type namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/structs/mod.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub use crate::structs::raw::Raw::*;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the name `Unknown` in the value namespace is first re-exported here
[INFO] [stdout] 24 |     pub use crate::structs::ether::Ether::*;
[INFO] [stdout]    |             ------------------------------- but the name `Unknown` in the value namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ParseResult` and `Session`
[INFO] [stdout]  --> src/conntrack/conn/conn_info.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 |     ConnData, ParseResult, Session,
[INFO] [stdout]   |               ^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::protocols::tls`
[INFO] [stdout]  --> src/protocols/tcp.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::protocols::tls;
[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: `crate::memory::mbuf::Mbuf`
[INFO] [stdout]   --> src/conntrack/conn/trackedconnection.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::memory::mbuf::Mbuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ConnInfo`
[INFO] [stdout]   --> src/protocols/stream/tls/parser.rs:18:41
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::conntrack::conn::conn_info::{ConnInfo, ConnState, TlsInfo};
[INFO] [stdout]    |                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `openssl::pkey::Private`
[INFO] [stdout]   --> src/protocols/stream/tls/parser.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use openssl::pkey::Private;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Padding` and `Rsa`
[INFO] [stdout]   --> src/protocols/stream/tls/parser.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 | use openssl::rsa::{Padding, Rsa};
[INFO] [stdout]    |                    ^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/memory/mbuf.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::NonNull`
[INFO] [stdout]  --> src/memory/mbuf.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ptr::NonNull;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Cipher`, `Crypter`, and `Mode`
[INFO] [stdout]   --> src/protocols/stream/tls/parser.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 | use openssl::symm::{Cipher, Crypter, Mode};
[INFO] [stdout]    |                     ^^^^^^  ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice`
[INFO] [stdout]  --> src/memory/mbuf.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::slice;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MessageDigest` and `hash`
[INFO] [stdout]   --> src/protocols/stream/tls/parser.rs:29:21
[INFO] [stdout]    |
[INFO] [stdout] 29 | use openssl::hash::{hash, MessageDigest};
[INFO] [stdout]    |                     ^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `openssl::pkey::PKey`
[INFO] [stdout]   --> src/protocols/stream/tls/parser.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use openssl::pkey::PKey;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Signer` and `Verifier`
[INFO] [stdout]   --> src/protocols/stream/tls/parser.rs:31:21
[INFO] [stdout]    |
[INFO] [stdout] 31 | use openssl::sign::{Signer, Verifier};
[INFO] [stdout]    |                     ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]   --> src/protocols/stream/tls/parser.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use std::io;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::sync::mpsc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]   --> src/protocols/stream/tls/parser.rs:36:30
[INFO] [stdout]    |
[INFO] [stdout] 36 | use tls_parser::nom::error::{Error, ErrorKind, make_error};
[INFO] [stdout]    |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `int16_t`
[INFO] [stdout]   --> src/main.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | use libc::{int16_t, uint16_t};
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/protocols/stream/tls/parser.rs:438:20
[INFO] [stdout]     |
[INFO] [stdout] 438 |                 if (direction) {
[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] 438 -                 if (direction) {
[INFO] [stdout] 438 +                 if direction {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::structs::raw::Raw`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::structs::raw::Raw;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/protocols/stream/tls/parser.rs:547:12
[INFO] [stdout]     |
[INFO] [stdout] 547 |         if (hdr.record_type == TlsRecordType::ApplicationData) {
[INFO] [stdout]     |            ^                                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 547 -         if (hdr.record_type == TlsRecordType::ApplicationData) {
[INFO] [stdout] 547 +         if hdr.record_type == TlsRecordType::ApplicationData {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::structs::ether::Ether`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::structs::ether::Ether;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ConnInfo`
[INFO] [stdout]   --> src/protocols/stream/mod.rs:26:41
[INFO] [stdout]    |
[INFO] [stdout] 26 | use crate::conntrack::conn::conn_info::{ConnInfo, ConnState, TlsInfo};
[INFO] [stdout]    |                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::structs::ipv4::IPv4`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::structs::ipv4::IPv4;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |         /// Time to expire inactive UDP connections (in milliseconds).
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 48 |         udp_inactivity_timeout: 120000,
[INFO] [stdout]    |         ------------------------------ rustdoc does not generate documentation for expression fields
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |         /// Time to expire inactive TCP connections (in milliseconds).
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 50 |         tcp_inactivity_timeout: 12000,
[INFO] [stdout]    |         ----------------------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         /// Time to expire unestablished TCP connections (in milliseconds).
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 52 |         tcp_establish_timeout: 2000,
[INFO] [stdout]    |         --------------------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         /// Frequency to check for inactive streams (in milliseconds).
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 54 |         timeout_resolution: 10000,
[INFO] [stdout]    |         ------------------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Result` and `bail`
[INFO] [stdout]   --> src/protocols/stream/mod.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 34 | use anyhow::{bail, Result};
[INFO] [stdout]    |              ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::string::ParseError`
[INFO] [stdout]   --> src/protocols/stream/mod.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use std::string::ParseError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::structs::tls`
[INFO] [stdout]  --> src/structs/tcp.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::structs::tls;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/structs/mod.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub use crate::structs::raw::Raw::*;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the name `Unknown` in the type namespace is first re-exported here
[INFO] [stdout] 24 |     pub use crate::structs::ether::Ether::*;
[INFO] [stdout]    |             ------------------------------- but the name `Unknown` in the type namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/structs/mod.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub use crate::structs::raw::Raw::*;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the name `Unknown` in the value namespace is first re-exported here
[INFO] [stdout] 24 |     pub use crate::structs::ether::Ether::*;
[INFO] [stdout]    |             ------------------------------- but the name `Unknown` in the value namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ParseResult` and `Session`
[INFO] [stdout]  --> src/conntrack/conn/conn_info.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 |     ConnData, ParseResult, Session,
[INFO] [stdout]   |               ^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::memory::mbuf::Mbuf`
[INFO] [stdout]   --> src/conntrack/conn/trackedconnection.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::memory::mbuf::Mbuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/memory/mbuf.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::NonNull`
[INFO] [stdout]  --> src/memory/mbuf.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ptr::NonNull;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice`
[INFO] [stdout]  --> src/memory/mbuf.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::slice;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::sync::mpsc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `int16_t`
[INFO] [stdout]   --> src/main.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | use libc::{int16_t, uint16_t};
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::structs::raw::Raw`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::structs::raw::Raw;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::structs::ether::Ether`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::structs::ether::Ether;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::structs::ipv4::IPv4`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::structs::ipv4::IPv4;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |         /// Time to expire inactive UDP connections (in milliseconds).
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 48 |         udp_inactivity_timeout: 120000,
[INFO] [stdout]    |         ------------------------------ rustdoc does not generate documentation for expression fields
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |         /// Time to expire inactive TCP connections (in milliseconds).
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 50 |         tcp_inactivity_timeout: 12000,
[INFO] [stdout]    |         ----------------------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         /// Time to expire unestablished TCP connections (in milliseconds).
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 52 |         tcp_establish_timeout: 2000,
[INFO] [stdout]    |         --------------------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         /// Frequency to check for inactive streams (in milliseconds).
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 54 |         timeout_resolution: 10000,
[INFO] [stdout]    |         ------------------------- rustdoc does not generate documentation for expression fields
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::int16_t`: Use i16 instead.
[INFO] [stdout]   --> src/main.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | use libc::{int16_t, uint16_t};
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint16_t`: Use u16 instead.
[INFO] [stdout]   --> src/main.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | use libc::{int16_t, uint16_t};
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint16_t`: Use u16 instead.
[INFO] [stdout]    --> src/main.rs:113:56
[INFO] [stdout]     |
[INFO] [stdout] 113 |                     let src_port = (packet.data[34] as uint16_t * 256).wrapping_add(packet.data[35] as uint16_t);
[INFO] [stdout]     |                                                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint16_t`: Use u16 instead.
[INFO] [stdout]    --> src/main.rs:113:104
[INFO] [stdout]     |
[INFO] [stdout] 113 |                     let src_port = (packet.data[34] as uint16_t * 256).wrapping_add(packet.data[35] as uint16_t);
[INFO] [stdout]     |                                                                                                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint16_t`: Use u16 instead.
[INFO] [stdout]    --> src/main.rs:114:56
[INFO] [stdout]     |
[INFO] [stdout] 114 |                     let dst_port = (packet.data[36] as uint16_t * 256).wrapping_add(packet.data[37] as uint16_t);
[INFO] [stdout]     |                                                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint16_t`: Use u16 instead.
[INFO] [stdout]    --> src/main.rs:114:104
[INFO] [stdout]     |
[INFO] [stdout] 114 |                     let dst_port = (packet.data[36] as uint16_t * 256).wrapping_add(packet.data[37] as uint16_t);
[INFO] [stdout]     |                                                                                                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::int16_t`: Use i16 instead.
[INFO] [stdout]   --> src/main.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | use libc::{int16_t, uint16_t};
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint16_t`: Use u16 instead.
[INFO] [stdout]   --> src/main.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | use libc::{int16_t, uint16_t};
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint16_t`: Use u16 instead.
[INFO] [stdout]    --> src/main.rs:113:56
[INFO] [stdout]     |
[INFO] [stdout] 113 |                     let src_port = (packet.data[34] as uint16_t * 256).wrapping_add(packet.data[35] as uint16_t);
[INFO] [stdout]     |                                                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint16_t`: Use u16 instead.
[INFO] [stdout]    --> src/main.rs:113:104
[INFO] [stdout]     |
[INFO] [stdout] 113 |                     let src_port = (packet.data[34] as uint16_t * 256).wrapping_add(packet.data[35] as uint16_t);
[INFO] [stdout]     |                                                                                                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint16_t`: Use u16 instead.
[INFO] [stdout]    --> src/main.rs:114:56
[INFO] [stdout]     |
[INFO] [stdout] 114 |                     let dst_port = (packet.data[36] as uint16_t * 256).wrapping_add(packet.data[37] as uint16_t);
[INFO] [stdout]     |                                                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint16_t`: Use u16 instead.
[INFO] [stdout]    --> src/main.rs:114:104
[INFO] [stdout]     |
[INFO] [stdout] 114 |                     let dst_port = (packet.data[36] as uint16_t * 256).wrapping_add(packet.data[37] as uint16_t);
[INFO] [stdout]     |                                                                                                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_length`
[INFO] [stdout]    --> src/protocols/stream/tls/parser.rs:422:26
[INFO] [stdout]     |
[INFO] [stdout] 422 |                     let (key_length, client_write_key, server_write_key, client_write_iv, server_write_iv) = self.decode_tls();
[INFO] [stdout]     |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_length`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `decrypt_data` is never read
[INFO] [stdout]    --> src/protocols/stream/tls/parser.rs:437:40
[INFO] [stdout]     |
[INFO] [stdout] 437 |                 let mut decrypt_data = Vec::new();
[INFO] [stdout]     |                                        ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 442 |                     decrypt_data = tls_info.server_cipher.as_ref().unwrap().decrypt(a.blob);
[INFO] [stdout]     |                     ------------ `decrypt_data` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_length`
[INFO] [stdout]    --> src/protocols/stream/tls/parser.rs:422:26
[INFO] [stdout]     |
[INFO] [stdout] 422 |                     let (key_length, client_write_key, server_write_key, client_write_iv, server_write_iv) = self.decode_tls();
[INFO] [stdout]     |                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_length`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `decrypt_data` is never read
[INFO] [stdout]    --> src/protocols/stream/tls/parser.rs:437:40
[INFO] [stdout]     |
[INFO] [stdout] 437 |                 let mut decrypt_data = Vec::new();
[INFO] [stdout]     |                                        ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 442 |                     decrypt_data = tls_info.server_cipher.as_ref().unwrap().decrypt(a.blob);
[INFO] [stdout]     |                     ------------ `decrypt_data` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/protocols/stream/tls/parser.rs:627:30
[INFO] [stdout]     |
[INFO] [stdout] 627 |                         let (i, hdr) = parse_tls_record_header(to_decrypt).unwrap();
[INFO] [stdout]     |                              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `block_size` is never read
[INFO] [stdout]    --> src/protocols/stream/tls/parser.rs:617:53
[INFO] [stdout]     |
[INFO] [stdout] 617 |                         let mut block_size: usize = 0;
[INFO] [stdout]     |                                                     ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 621 |                             block_size = tls_info.server_cipher.as_ref().unwrap().block_size();
[INFO] [stdout]     |                             ------------------------------------------------------------------ `block_size` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/protocols/stream/tls/parser.rs:694:13
[INFO] [stdout]     |
[INFO] [stdout] 694 |         let mut client_random = self.client_hello.as_ref().unwrap().random.to_vec();
[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/protocols/stream/tls/parser.rs:695:13
[INFO] [stdout]     |
[INFO] [stdout] 695 |         let mut server_random = self.server_hello.as_ref().unwrap().random.to_vec();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/protocols/stream/tls/parser.rs:685:17
[INFO] [stdout]     |
[INFO] [stdout] 685 |             Err(e) =>  return (0, Vec::new(), Vec::new(), Vec::new(), Vec::new())
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/protocols/stream/tls/parser.rs:627:30
[INFO] [stdout]     |
[INFO] [stdout] 627 |                         let (i, hdr) = parse_tls_record_header(to_decrypt).unwrap();
[INFO] [stdout]     |                              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `block_size` is never read
[INFO] [stdout]    --> src/protocols/stream/tls/parser.rs:617:53
[INFO] [stdout]     |
[INFO] [stdout] 617 |                         let mut block_size: usize = 0;
[INFO] [stdout]     |                                                     ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 621 |                             block_size = tls_info.server_cipher.as_ref().unwrap().block_size();
[INFO] [stdout]     |                             ------------------------------------------------------------------ `block_size` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/protocols/stream/tls/parser.rs:694:13
[INFO] [stdout]     |
[INFO] [stdout] 694 |         let mut client_random = self.client_hello.as_ref().unwrap().random.to_vec();
[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/protocols/stream/tls/parser.rs:695:13
[INFO] [stdout]     |
[INFO] [stdout] 695 |         let mut server_random = self.server_hello.as_ref().unwrap().random.to_vec();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/protocols/stream/tls/parser.rs:685:17
[INFO] [stdout]     |
[INFO] [stdout] 685 |             Err(e) =>  return (0, Vec::new(), Vec::new(), Vec::new(), Vec::new())
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/protocols/stream/mod.rs:373:17
[INFO] [stdout]     |
[INFO] [stdout] 373 |             let packet = self.assemble_packet(dir, self.client_seq, self.server_seq, payload);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/protocols/stream/mod.rs:375:17
[INFO] [stdout]     |
[INFO] [stdout] 375 |             let packet = self.assemble_packet(dir, self.server_seq, self.client_seq, payload);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/protocols/stream/mod.rs:387:17
[INFO] [stdout]     |
[INFO] [stdout] 387 |             let packet = self.assemble_packet(!dir, self.server_seq, self.client_seq, Vec::new());
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/protocols/stream/mod.rs:390:17
[INFO] [stdout]     |
[INFO] [stdout] 390 |             let packet = self.assemble_packet(!dir, self.client_seq, self.server_seq, Vec::new());
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/protocols/stream/mod.rs:399:13
[INFO] [stdout]     |
[INFO] [stdout] 399 |         let packet = self.assemble_packet(true, self.client_seq, self.server_seq, Vec::new());
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/protocols/stream/mod.rs:404:13
[INFO] [stdout]     |
[INFO] [stdout] 404 |         let packet = self.assemble_packet(false, self.server_seq, self.client_seq,Vec::new());
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/protocols/stream/mod.rs:408:13
[INFO] [stdout]     |
[INFO] [stdout] 408 |         let packet = self.assemble_packet(true, self.client_seq, self.server_seq, Vec::new());
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/protocols/stream/mod.rs:373:17
[INFO] [stdout]     |
[INFO] [stdout] 373 |             let packet = self.assemble_packet(dir, self.client_seq, self.server_seq, payload);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/protocols/stream/mod.rs:375:17
[INFO] [stdout]     |
[INFO] [stdout] 375 |             let packet = self.assemble_packet(dir, self.server_seq, self.client_seq, payload);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/protocols/stream/mod.rs:387:17
[INFO] [stdout]     |
[INFO] [stdout] 387 |             let packet = self.assemble_packet(!dir, self.server_seq, self.client_seq, Vec::new());
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/protocols/stream/mod.rs:390:17
[INFO] [stdout]     |
[INFO] [stdout] 390 |             let packet = self.assemble_packet(!dir, self.client_seq, self.server_seq, Vec::new());
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/protocols/stream/mod.rs:399:13
[INFO] [stdout]     |
[INFO] [stdout] 399 |         let packet = self.assemble_packet(true, self.client_seq, self.server_seq, Vec::new());
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/protocols/stream/mod.rs:404:13
[INFO] [stdout]     |
[INFO] [stdout] 404 |         let packet = self.assemble_packet(false, self.server_seq, self.client_seq,Vec::new());
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/protocols/stream/mod.rs:408:13
[INFO] [stdout]     |
[INFO] [stdout] 408 |         let packet = self.assemble_packet(true, self.client_seq, self.server_seq, Vec::new());
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/structs/tcp.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |                 _ => NoiseLevel::Zero,
[INFO] [stdout]    |                 ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/structs/tcp.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 Text(_) => NoiseLevel::Two,
[INFO] [stdout]    |                 ------- matches some of the same values
[INFO] [stdout] 22 |                 Binary(_) => NoiseLevel::Two,
[INFO] [stdout]    |                 --------- matches some of the same values
[INFO] [stdout] 23 |                 Empty => NoiseLevel::Two,
[INFO] [stdout]    |                 ----- matches some of the same values
[INFO] [stdout] 24 |                 _ => NoiseLevel::Zero,
[INFO] [stdout]    |                 ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/structs/tcp.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |                 _ => NoiseLevel::Zero,
[INFO] [stdout]    |                 ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/structs/tcp.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 Text(_) => NoiseLevel::Two,
[INFO] [stdout]    |                 ------- matches some of the same values
[INFO] [stdout] 22 |                 Binary(_) => NoiseLevel::Two,
[INFO] [stdout]    |                 --------- matches some of the same values
[INFO] [stdout] 23 |                 Empty => NoiseLevel::Two,
[INFO] [stdout]    |                 ----- matches some of the same values
[INFO] [stdout] 24 |                 _ => NoiseLevel::Zero,
[INFO] [stdout]    |                 ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/conntrack/conn/conn_info.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |             _ => {}
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/conntrack/conn/conn_info.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |             ConnState::Probing => {
[INFO] [stdout]    |             ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 49 |             ConnState::Parsing => {
[INFO] [stdout]    |             ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 53 |             ConnState::Tracking => {
[INFO] [stdout]    |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 56 |             ConnState::Remove => {
[INFO] [stdout]    |             ----------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 59 |             _ => {}
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/conntrack/conn/conn_info.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |             _ => {}
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/conntrack/conn/conn_info.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |             ConnState::Probing => {
[INFO] [stdout]    |             ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 49 |             ConnState::Parsing => {
[INFO] [stdout]    |             ------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 53 |             ConnState::Tracking => {
[INFO] [stdout]    |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 56 |             ConnState::Remove => {
[INFO] [stdout]    |             ----------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 59 |             _ => {}
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `etherHeader`
[INFO] [stdout]   --> src/conntrack/pdu.rs:87:28
[INFO] [stdout]    |
[INFO] [stdout] 87 |                 Raw::Ether(etherHeader, ether) => {
[INFO] [stdout]    |                            ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_etherHeader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `etherHeader`
[INFO] [stdout]   --> src/conntrack/pdu.rs:87:28
[INFO] [stdout]    |
[INFO] [stdout] 87 |                 Raw::Ether(etherHeader, ether) => {
[INFO] [stdout]    |                            ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_etherHeader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/conntrack/mod.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |         for (_, mut conn) in self.table.drain() {
[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/conntrack/mod.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |         for (_, mut conn) in self.table.drain() {
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/conntrack/mod.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |         for (_, mut conn) in self.table.drain() {
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]    --> src/conntrack/mod.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |         for (_, mut conn) in self.table.drain() {
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> src/memory/mbuf.rs:80:32
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn get_data_address(&self, offset: usize) -> *const u8 {
[INFO] [stdout]    |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> src/memory/mbuf.rs:80:32
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn get_data_address(&self, offset: usize) -> *const u8 {
[INFO] [stdout]    |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ipLength`
[INFO] [stdout]    --> src/main.rs:104:25
[INFO] [stdout]     |
[INFO] [stdout] 104 |                     let ipLength = (packet.data[14] & 0x0f) * 4;
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ipLength`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ipLength`
[INFO] [stdout]    --> src/main.rs:104:25
[INFO] [stdout]     |
[INFO] [stdout] 104 |                     let ipLength = (packet.data[14] & 0x0f) * 4;
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ipLength`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0659`.
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0659`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rdtls` (bin "rdtls" test) due to 1 previous error; 59 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `rdtls` (bin "rdtls") due to 1 previous error; 59 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "55184d452f7c6ecd9dfb79a77e68341a84a2411a7352051a4018e2d489f9993c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "55184d452f7c6ecd9dfb79a77e68341a84a2411a7352051a4018e2d489f9993c", kill_on_drop: false }`
[INFO] [stdout] 55184d452f7c6ecd9dfb79a77e68341a84a2411a7352051a4018e2d489f9993c
