made it a while loop to not do the rest of the auth methods if one suceeds

This commit is contained in:
neon443
2025-07-03 12:35:51 +01:00
parent 0ba1d5091e
commit 4f7b948fa4

View File

@@ -71,29 +71,29 @@ class SSHHandler: @unchecked Sendable, ObservableObject {
//TODO: check hostkey
for method in getAuthMethods() {
switch method {
case .password:
do { try authWithPw() } catch {
state = .authFailed
print("pw auth error")
print(error.localizedDescription)
while state != .authorized {
for method in getAuthMethods() {
switch method {
case .password:
do { try authWithPw() } catch {
state = .authFailed
print("pw auth error")
print(error.localizedDescription)
}
case .publickey:
do { try authWithPubkey() } catch {
state = .authFailed
print("error with pubkey auth")
print(error.localizedDescription)
}
case .hostbased:
disconnect()
case .interactive:
disconnect()
}
case .publickey:
do { try authWithPubkey() } catch {
state = .authFailed
print("error with pubkey auth")
print(error.localizedDescription)
}
case .hostbased:
disconnect()
case .interactive:
disconnect()
}
}
guard state == .authorized else { return }
ssh_channel_request_env(channel, "TERM", "xterm-256color")
ssh_channel_request_env(channel, "LANG", "en_US.UTF-8")
ssh_channel_request_env(channel, "LC_ALL", "en_US.UTF-8")