mirror of
https://github.com/neon443/ShhShell.git
synced 2026-03-11 13:26:16 +00:00
fix servers with no auth
improve theme view column calculation
This commit is contained in:
@@ -66,7 +66,11 @@ class SSHHandler: @unchecked Sendable, ObservableObject {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
try? authWithNone()
|
do {
|
||||||
|
try authWithNone()
|
||||||
|
} catch {
|
||||||
|
|
||||||
|
}
|
||||||
getAuthMethods()
|
getAuthMethods()
|
||||||
|
|
||||||
if self.host.key != getHostkey() {
|
if self.host.key != getHostkey() {
|
||||||
@@ -74,20 +78,22 @@ class SSHHandler: @unchecked Sendable, ObservableObject {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if !host.password.isEmpty {
|
if state != .authorized {
|
||||||
do { try authWithPw() } catch {
|
if !host.password.isEmpty {
|
||||||
print("pw auth error")
|
do { try authWithPw() } catch {
|
||||||
print(error.localizedDescription)
|
print("pw auth error")
|
||||||
}
|
print(error.localizedDescription)
|
||||||
} else {
|
}
|
||||||
do {
|
} else {
|
||||||
if let publicKey = host.publicKey,
|
do {
|
||||||
let privateKey = host.privateKey {
|
if let publicKey = host.publicKey,
|
||||||
try authWithPubkey(pub: publicKey, priv: privateKey, pass: host.passphrase)
|
let privateKey = host.privateKey {
|
||||||
|
try authWithPubkey(pub: publicKey, priv: privateKey, pass: host.passphrase)
|
||||||
|
}
|
||||||
|
} catch {
|
||||||
|
print("error with pubkey auth")
|
||||||
|
print(error.localizedDescription)
|
||||||
}
|
}
|
||||||
} catch {
|
|
||||||
print("error with pubkey auth")
|
|
||||||
print(error.localizedDescription)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -342,7 +348,6 @@ class SSHHandler: @unchecked Sendable, ObservableObject {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
//always unknown idk why
|
|
||||||
func getAuthMethods() {
|
func getAuthMethods() {
|
||||||
var recievedMethod: CInt
|
var recievedMethod: CInt
|
||||||
recievedMethod = ssh_userauth_list(session, nil)
|
recievedMethod = ssh_userauth_list(session, nil)
|
||||||
|
|||||||
@@ -18,18 +18,22 @@ struct ThemeManagerView: View {
|
|||||||
@State var themeToRename: Theme?
|
@State var themeToRename: Theme?
|
||||||
@State var rename: String = ""
|
@State var rename: String = ""
|
||||||
|
|
||||||
let grid: GridItem = GridItem(
|
var minColWidth: CGFloat {150}
|
||||||
.flexible(minimum: 150, maximum: 250),
|
var spacing: CGFloat {8}
|
||||||
spacing: 8,
|
var grid: GridItem {
|
||||||
alignment: .center
|
GridItem(
|
||||||
)
|
.flexible(minimum: minColWidth, maximum: 250),
|
||||||
|
spacing: spacing,
|
||||||
|
alignment: .center
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
ZStack {
|
ZStack {
|
||||||
hostsManager.selectedTheme.background.suiColor.opacity(0.7)
|
hostsManager.selectedTheme.background.suiColor.opacity(0.7)
|
||||||
.ignoresSafeArea(.all)
|
.ignoresSafeArea(.all)
|
||||||
GeometryReader { geo in
|
GeometryReader { geo in
|
||||||
let columns: Int = Int(geo.size.width)/200
|
let columns: Int = max(1, Int((geo.size.width + 8) / (minColWidth + spacing)))
|
||||||
let layout = Array(repeating: grid, count: columns)
|
let layout = Array(repeating: grid, count: columns)
|
||||||
ScrollView {
|
ScrollView {
|
||||||
if hostsManager.themes.isEmpty {
|
if hostsManager.themes.isEmpty {
|
||||||
|
|||||||
Reference in New Issue
Block a user