This is an automated email from the ASF dual-hosted git repository.

hgruszecki pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iggy.git


The following commit(s) were added to refs/heads/master by this push:
     new ac9342cb2 chore(deps): bump hwlocality and passterm, fix non-tty 
password read (#3084)
ac9342cb2 is described below

commit ac9342cb237155ded9a4c5d6ef92afb18dd8914f
Author: Hubert Gruszecki <[email protected]>
AuthorDate: Tue Apr 7 10:14:22 2026 +0200

    chore(deps): bump hwlocality and passterm, fix non-tty password read (#3084)
---
 Cargo.lock                                         | 115 ++++++++++++++-------
 Cargo.toml                                         |   4 +-
 DEPENDENCIES.md                                    |  15 ++-
 .../src/commands/binary_users/change_password.rs   |  10 +-
 core/cli/src/credentials.rs                        |   6 +-
 5 files changed, 103 insertions(+), 47 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock
index 0b17b8860..cb11aa7ff 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -235,7 +235,7 @@ version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0"
 dependencies = [
- "crypto-common",
+ "crypto-common 0.1.7",
  "generic-array",
 ]
 
@@ -411,7 +411,7 @@ checksum = 
"36fa98bc79671c7981272d91a8753a928ff6a1cd8e4f20a44c45bd5d313840bf"
 dependencies = [
  "bigdecimal",
  "bon",
- "digest",
+ "digest 0.10.7",
  "log",
  "miniz_oxide",
  "num-bigint",
@@ -1344,7 +1344,7 @@ version = "0.10.6"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe"
 dependencies = [
- "digest",
+ "digest 0.10.7",
 ]
 
 [[package]]
@@ -1370,6 +1370,15 @@ dependencies = [
  "generic-array",
 ]
 
+[[package]]
+name = "block-buffer"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be"
+dependencies = [
+ "hybrid-array",
+]
+
 [[package]]
 name = "block2"
 version = "0.6.2"
@@ -1830,7 +1839,7 @@ version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
 dependencies = [
- "crypto-common",
+ "crypto-common 0.1.7",
  "inout",
 ]
 
@@ -2268,6 +2277,12 @@ version = "0.9.6"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
 
+[[package]]
+name = "const-oid"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c"
+
 [[package]]
 name = "const-random"
 version = "0.1.18"
@@ -2551,6 +2566,15 @@ dependencies = [
  "typenum",
 ]
 
+[[package]]
+name = "crypto-common"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "77727bb15fa921304124b128af125e7e3b968275d1b108b379190264f4423710"
+dependencies = [
+ "hybrid-array",
+]
+
 [[package]]
 name = "csv"
 version = "1.4.0"
@@ -2674,7 +2698,7 @@ dependencies = [
  "cfg-if",
  "cpufeatures 0.2.17",
  "curve25519-dalek-derive",
- "digest",
+ "digest 0.10.7",
  "fiat-crypto",
  "rustc_version",
  "subtle",
@@ -3029,7 +3053,7 @@ version = "0.7.10"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb"
 dependencies = [
- "const-oid",
+ "const-oid 0.9.6",
  "pem-rfc7468",
  "zeroize",
 ]
@@ -3157,12 +3181,23 @@ version = "0.10.7"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
 dependencies = [
- "block-buffer",
- "const-oid",
- "crypto-common",
+ "block-buffer 0.10.4",
+ "const-oid 0.9.6",
+ "crypto-common 0.1.7",
  "subtle",
 ]
 
+[[package]]
+name = "digest"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "4850db49bf08e663084f7fb5c87d202ef91a3907271aff24a94eb97ff039153c"
+dependencies = [
+ "block-buffer 0.12.0",
+ "const-oid 0.10.2",
+ "crypto-common 0.2.1",
+]
+
 [[package]]
 name = "dircpy"
 version = "0.3.20"
@@ -3328,7 +3363,7 @@ source = 
"registry+https://github.com/rust-lang/crates.io-index";
 checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca"
 dependencies = [
  "der",
- "digest",
+ "digest 0.10.7",
  "elliptic-curve",
  "rfc6979",
  "signature",
@@ -3399,7 +3434,7 @@ checksum = 
"b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47"
 dependencies = [
  "base16ct",
  "crypto-bigint",
- "digest",
+ "digest 0.10.7",
  "ff",
  "generic-array",
  "group",
@@ -4911,7 +4946,7 @@ version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
 dependencies = [
- "digest",
+ "digest 0.10.7",
 ]
 
 [[package]]
@@ -5010,9 +5045,9 @@ checksum = 
"135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424"
 
 [[package]]
 name = "hwlocality"
-version = "1.0.0-alpha.11"
+version = "1.0.0-alpha.12"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "f50d4312588681f6d07e6009728bf5c777e1f674d43a3ad91d15f6795a0db965"
+checksum = "4c2e65a48d3b300843ac84a2fe8e166bb5a5b00f30054593bcee8157e4b465fd"
 dependencies = [
  "arrayvec",
  "bitflags 2.11.0",
@@ -5020,16 +5055,16 @@ dependencies = [
  "errno",
  "hwlocality-sys",
  "libc",
- "strum 0.27.2",
+ "strum 0.28.0",
  "thiserror 2.0.18",
  "windows-sys 0.61.2",
 ]
 
 [[package]]
 name = "hwlocality-sys"
-version = "0.6.4"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "6d55ff554bde432473a6d17dc219a2d7fedc1be12d1e150418526f666dc9d096"
+checksum = "10a83c43a772c1f774b806deb44891c2a9578eb33cec48aad513482e0da3d4d4"
 dependencies = [
  "autotools",
  "cmake",
@@ -5042,6 +5077,15 @@ dependencies = [
  "windows-sys 0.61.2",
 ]
 
+[[package]]
+name = "hybrid-array"
+version = "0.4.10"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "3944cf8cf766b40e2a1a333ee5e9b563f854d5fa49d6a8ca2764e97c6eddb214"
+dependencies = [
+ "typenum",
+]
+
 [[package]]
 name = "hyper"
 version = "1.9.0"
@@ -6410,11 +6454,12 @@ dependencies = [
 
 [[package]]
 name = "keccak"
-version = "0.1.6"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56dbd62cbc8f39cfb9d653"
+checksum = "9e24a010dd405bd7ed803e5253182815b41bf2e6a80cc3bfc066658e03a198aa"
 dependencies = [
- "cpufeatures 0.2.17",
+ "cfg-if",
+ "cpufeatures 0.3.0",
 ]
 
 [[package]]
@@ -6943,7 +6988,7 @@ source = 
"registry+https://github.com/rust-lang/crates.io-index";
 checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf"
 dependencies = [
  "cfg-if",
- "digest",
+ "digest 0.10.7",
 ]
 
 [[package]]
@@ -7973,12 +8018,12 @@ dependencies = [
 
 [[package]]
 name = "passterm"
-version = "2.0.1"
+version = "2.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "6421520445baa36401ded73e4820ad3a3e04316a0eb1bdb13b94987739de5fa2"
+checksum = "9510c76e37ee20be1edfce1819a3169a7c1c67fab98bd35a33684f8886f5cf4d"
 dependencies = [
  "libc",
- "windows-sys 0.48.0",
+ "windows-link 0.2.1",
 ]
 
 [[package]]
@@ -8016,7 +8061,7 @@ version = "0.12.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2"
 dependencies = [
- "digest",
+ "digest 0.10.7",
 ]
 
 [[package]]
@@ -9385,8 +9430,8 @@ version = "0.9.10"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d"
 dependencies = [
- "const-oid",
- "digest",
+ "const-oid 0.9.6",
+ "digest 0.10.7",
  "num-bigint-dig",
  "num-integer",
  "num-traits",
@@ -10191,7 +10236,7 @@ checksum = 
"e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
 dependencies = [
  "cfg-if",
  "cpufeatures 0.2.17",
- "digest",
+ "digest 0.10.7",
 ]
 
 [[package]]
@@ -10202,16 +10247,16 @@ checksum = 
"a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283"
 dependencies = [
  "cfg-if",
  "cpufeatures 0.2.17",
- "digest",
+ "digest 0.10.7",
 ]
 
 [[package]]
 name = "sha3"
-version = "0.10.8"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60"
+checksum = "be176f1a57ce4e3d31c1a166222d9768de5954f811601fb7ca06fc8203905ce1"
 dependencies = [
- "digest",
+ "digest 0.11.2",
  "keccak",
 ]
 
@@ -10265,7 +10310,7 @@ version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de"
 dependencies = [
- "digest",
+ "digest 0.10.7",
  "rand_core 0.6.4",
 ]
 
@@ -10589,7 +10634,7 @@ dependencies = [
  "bytes",
  "chrono",
  "crc",
- "digest",
+ "digest 0.10.7",
  "dotenvy",
  "either",
  "futures-channel",
@@ -11969,7 +12014,7 @@ version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea"
 dependencies = [
- "crypto-common",
+ "crypto-common 0.1.7",
  "subtle",
 ]
 
diff --git a/Cargo.toml b/Cargo.toml
index 48db24aa4..6539453b2 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -162,7 +162,7 @@ hostname = "0.4.2"
 http = "1"
 human-repr = "1.1.0"
 humantime = "2.3.0"
-hwlocality = "1.0.0-alpha.11"
+hwlocality = "1.0.0-alpha.12"
 iceberg = "0.9.0"
 iceberg-catalog-rest = "0.9.0"
 iceberg-storage-opendal = "0.9.0"
@@ -216,7 +216,7 @@ opentelemetry_sdk = { version = "0.31.0", features = [
 papaya = "0.2.4"
 parquet = "57.3.0"
 partitions = { path = "core/partitions" }
-passterm = "=2.0.1"
+passterm = "2.0.6"
 paste = "1.0"
 postcard = { version = "1.1.3", features = ["alloc"] }
 predicates = "3.1.4"
diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md
index 849365e24..5c5b78edf 100644
--- a/DEPENDENCIES.md
+++ b/DEPENDENCIES.md
@@ -114,6 +114,7 @@ bitvec: 1.0.1, "MIT",
 blake2: 0.10.6, "Apache-2.0 OR MIT",
 blake3: 1.8.4, "Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR CC0-1.0",
 block-buffer: 0.10.4, "Apache-2.0 OR MIT",
+block-buffer: 0.12.0, "Apache-2.0 OR MIT",
 block2: 0.6.2, "MIT",
 bnum: 0.12.1, "Apache-2.0 OR MIT",
 bollard: 0.20.2, "Apache-2.0",
@@ -190,6 +191,7 @@ consensus: 0.1.0, "Apache-2.0",
 console: 0.16.3, "MIT",
 console_error_panic_hook: 0.1.7, "Apache-2.0 OR MIT",
 const-oid: 0.9.6, "Apache-2.0 OR MIT",
+const-oid: 0.10.2, "Apache-2.0 OR MIT",
 const-random: 0.1.18, "Apache-2.0 OR MIT",
 const-random-macro: 0.1.16, "Apache-2.0 OR MIT",
 constant_time_eq: 0.4.2, "Apache-2.0 OR CC0-1.0 OR MIT-0",
@@ -221,6 +223,7 @@ crossterm_winapi: 0.9.1, "MIT",
 crunchy: 0.2.4, "MIT",
 crypto-bigint: 0.5.5, "Apache-2.0 OR MIT",
 crypto-common: 0.1.7, "Apache-2.0 OR MIT",
+crypto-common: 0.2.1, "Apache-2.0 OR MIT",
 csv: 1.4.0, "MIT OR Unlicense",
 csv-core: 0.1.13, "MIT OR Unlicense",
 ctor: 0.8.0, "Apache-2.0 OR MIT",
@@ -270,6 +273,7 @@ derive_more: 2.1.1, "MIT",
 derive_more-impl: 2.1.1, "MIT",
 difflib: 0.4.0, "MIT",
 digest: 0.10.7, "Apache-2.0 OR MIT",
+digest: 0.11.2, "Apache-2.0 OR MIT",
 dircpy: 0.3.20, "MIT",
 dirs: 6.0.0, "Apache-2.0 OR MIT",
 dirs-sys: 0.5.0, "Apache-2.0 OR MIT",
@@ -441,8 +445,9 @@ httparse: 1.10.1, "Apache-2.0 OR MIT",
 httpdate: 1.0.3, "Apache-2.0 OR MIT",
 human-repr: 1.1.0, "MIT",
 humantime: 2.3.0, "Apache-2.0 OR MIT",
-hwlocality: 1.0.0-alpha.11, "MIT",
-hwlocality-sys: 0.6.4, "MIT",
+hwlocality: 1.0.0-alpha.12, "MIT",
+hwlocality-sys: 0.7.0, "MIT",
+hybrid-array: 0.4.10, "Apache-2.0 OR MIT",
 hyper: 1.9.0, "MIT",
 hyper-named-pipe: 0.1.0, "Apache-2.0",
 hyper-rustls: 0.27.7, "Apache-2.0 OR ISC OR MIT",
@@ -530,7 +535,7 @@ journal: 0.1.0, "Apache-2.0",
 js-sys: 0.3.94, "Apache-2.0 OR MIT",
 jsonwebtoken: 10.3.0, "MIT",
 jwalk: 0.8.1, "MIT",
-keccak: 0.1.6, "Apache-2.0 OR MIT",
+keccak: 0.2.0, "Apache-2.0 OR MIT",
 keyring: 3.6.3, "Apache-2.0 OR MIT",
 kqueue: 1.1.1, "MIT",
 kqueue-sys: 1.0.4, "MIT",
@@ -677,7 +682,7 @@ parquet: 57.3.0, "Apache-2.0",
 parse-display: 0.9.1, "Apache-2.0 OR MIT",
 parse-display-derive: 0.9.1, "Apache-2.0 OR MIT",
 partitions: 0.1.0, "Apache-2.0",
-passterm: 2.0.1, "BSD-3-Clause",
+passterm: 2.0.6, "BSD-3-Clause",
 password-hash: 0.5.0, "Apache-2.0 OR MIT",
 paste: 1.0.15, "Apache-2.0 OR MIT",
 pastey: 0.1.1, "Apache-2.0 OR MIT",
@@ -867,7 +872,7 @@ server: 0.8.0, "Apache-2.0",
 server-ng: 0.8.0, "Apache-2.0",
 sha1: 0.10.6, "Apache-2.0 OR MIT",
 sha2: 0.10.9, "Apache-2.0 OR MIT",
-sha3: 0.10.8, "Apache-2.0 OR MIT",
+sha3: 0.11.0, "Apache-2.0 OR MIT",
 shard: 0.1.0, "N/A",
 sharded-slab: 0.1.7, "MIT",
 shlex: 1.3.0, "Apache-2.0 OR MIT",
diff --git a/core/cli/src/commands/binary_users/change_password.rs 
b/core/cli/src/commands/binary_users/change_password.rs
index 7a35d02ed..c8d4e2121 100644
--- a/core/cli/src/commands/binary_users/change_password.rs
+++ b/core/cli/src/commands/binary_users/change_password.rs
@@ -21,7 +21,7 @@ use anyhow::Context;
 use async_trait::async_trait;
 use iggy_common::Client;
 use iggy_common::Identifier;
-use passterm::{Stream, isatty, prompt_password_stdin, prompt_password_tty};
+use passterm::{Stream, isatty, prompt_password_tty};
 use tracing::{Level, event};
 
 pub struct ChangePasswordCmd {
@@ -65,7 +65,9 @@ impl CliCommand for ChangePasswordCmd {
                 if isatty(Stream::Stdin) {
                     prompt_password_tty(Some("Current password: "))?
                 } else {
-                    prompt_password_stdin(None, Stream::Stdout)?
+                    let mut pwd = String::new();
+                    std::io::stdin().read_line(&mut pwd)?;
+                    pwd.trim_end_matches(['\n', '\r']).to_string()
                 }
             }
         };
@@ -76,7 +78,9 @@ impl CliCommand for ChangePasswordCmd {
                 if isatty(Stream::Stdin) {
                     prompt_password_tty(Some("New password: "))?
                 } else {
-                    prompt_password_stdin(None, Stream::Stdout)?
+                    let mut pwd = String::new();
+                    std::io::stdin().read_line(&mut pwd)?;
+                    pwd.trim_end_matches(['\n', '\r']).to_string()
                 }
             }
         };
diff --git a/core/cli/src/credentials.rs b/core/cli/src/credentials.rs
index 0a92746c8..815099e4b 100644
--- a/core/cli/src/credentials.rs
+++ b/core/cli/src/credentials.rs
@@ -22,7 +22,7 @@ use anyhow::{Context, bail};
 use iggy::clients::client::IggyClient;
 use iggy::prelude::{Args, IggyError, PersonalAccessTokenClient, UserClient};
 use iggy_cli::commands::binary_system::session::ServerSession;
-use passterm::{Stream, isatty, prompt_password_stdin, prompt_password_tty};
+use passterm::{Stream, isatty, prompt_password_tty};
 use secrecy::{ExposeSecret, SecretString};
 use std::env::var;
 
@@ -121,7 +121,9 @@ impl<'a> IggyCredentials<'a> {
                     let pwd = if isatty(Stream::Stdin) {
                         prompt_password_tty(Some("Password: "))?
                     } else {
-                        prompt_password_stdin(None, Stream::Stdout)?
+                        let mut pwd = String::new();
+                        std::io::stdin().read_line(&mut pwd)?;
+                        pwd.trim_end_matches(['\n', '\r']).to_string()
                     };
                     SecretString::from(pwd)
                 }

Reply via email to