Skip to content

Commit 565be51

Browse files
ironposh-web: avoid hostcall deadlocks, bump v0.1.4
1 parent 966fa18 commit 565be51

File tree

37 files changed

+1754
-651
lines changed

37 files changed

+1754
-651
lines changed

Cargo.lock

Lines changed: 19 additions & 93 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/ironposh-client-core/src/connector/auth_sequence.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -123,13 +123,15 @@ impl SspiAuthContext {
123123
#[derive(Debug, Clone)]
124124
pub struct AuthSequenceConfig {
125125
pub authenticator_config: AuthenticatorConfig,
126+
/// Whether SSPI message sealing is required (derived from TransportSecurity)
127+
pub require_sspi_sealing: bool,
126128
}
127129

128130
impl AuthSequenceConfig {
129-
pub fn new(config: AuthenticatorConfig) -> Self {
130-
// require_encryption is now embedded in the AuthenticatorConfig::Sspi variant
131+
pub fn new(config: AuthenticatorConfig, require_sspi_sealing: bool) -> Self {
131132
Self {
132133
authenticator_config: config,
134+
require_sspi_sealing,
133135
}
134136
}
135137
}
@@ -312,11 +314,9 @@ impl BasicAuthSequence {
312314
impl AuthSequence {
313315
pub fn new(cfg: &AuthSequenceConfig, http: HttpBuilder) -> Result<Self, PwshCoreError> {
314316
match &cfg.authenticator_config {
315-
AuthenticatorConfig::Sspi {
316-
sspi,
317-
require_encryption,
318-
} => {
319-
let sspi_auth = SspiAuthSequence::new(sspi.clone(), *require_encryption, http)?;
317+
AuthenticatorConfig::Sspi(sspi) => {
318+
let sspi_auth =
319+
SspiAuthSequence::new(sspi.clone(), cfg.require_sspi_sealing, http)?;
320320
Ok(Self::Sspi(sspi_auth))
321321
}
322322
AuthenticatorConfig::Basic { username, password } => {

crates/ironposh-client-core/src/connector/config.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,7 @@ pub enum AuthenticatorConfig {
4242
username: String,
4343
password: String,
4444
},
45-
Sspi {
46-
sspi: SspiAuthConfig,
47-
/// SSPI message sealing (wrap/unwrap). TLS is separate at transport level.
48-
require_encryption: bool,
49-
},
45+
/// SSPI authentication (NTLM, Kerberos, or Negotiate).
46+
/// Note: SSPI message sealing is now controlled by `TransportSecurity` in `WinRmConfig`.
47+
Sspi(SspiAuthConfig),
5048
}

crates/ironposh-client-core/src/connector/conntion_pool.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ impl From<&WinRmConfig> for ConnectionPoolConfig {
9999
fn from(w: &WinRmConfig) -> Self {
100100
Self {
101101
server: w.server.clone(),
102-
scheme: w.scheme.clone(),
102+
scheme: w.transport.scheme(),
103103
}
104104
}
105105
}
@@ -137,7 +137,7 @@ impl ConnectionPool {
137137
HttpBuilder::new(
138138
self.sever_config.server.clone(),
139139
self.sever_config.port,
140-
self.sever_config.scheme.clone(),
140+
self.sever_config.scheme,
141141
)
142142
}
143143

0 commit comments

Comments
 (0)