From c2e64226a01270c6a8f2591a244c905311db0fd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81d=C3=A1m=20Kov=C3=A1cs?= Date: Sat, 8 Jan 2022 11:48:55 +0100 Subject: [PATCH] Smb linux fixes --- src/Providers/FileTime.Providers.Smb/SmbServer.cs | 10 ++++++++-- src/Providers/FileTime.Providers.Smb/SmbShare.cs | 3 +++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/Providers/FileTime.Providers.Smb/SmbServer.cs b/src/Providers/FileTime.Providers.Smb/SmbServer.cs index b8e7951..be199da 100644 --- a/src/Providers/FileTime.Providers.Smb/SmbServer.cs +++ b/src/Providers/FileTime.Providers.Smb/SmbServer.cs @@ -1,3 +1,4 @@ +using System.Net; using FileTime.Core.Interactions; using FileTime.Core.Models; using FileTime.Core.Providers; @@ -87,7 +88,7 @@ namespace FileTime.Providers.Smb { ISMBClient client = GetSmbClient(); - List shares = new List(); //client.ListShares(out var status); + List shares = client.ListShares(out var status); _shares = shares.ConvertAll(s => new SmbShare(s, Provider, this, GetSmbClient)).AsReadOnly(); Refreshed?.Invoke(this, EventArgs.Empty); @@ -97,8 +98,13 @@ namespace FileTime.Providers.Smb { if (_client == null) { + var couldParse = IPAddress.TryParse(Name[2..], out var ipAddress); _client = new SMB2Client(); - if (_client.Connect(Name[2..], SMBTransportType.DirectTCPTransport)) + var connected = couldParse + ? _client.Connect(ipAddress, SMBTransportType.DirectTCPTransport) + : _client.Connect(Name[2..], SMBTransportType.DirectTCPTransport); + + if (connected) { if (_username == null && _password == null) { diff --git a/src/Providers/FileTime.Providers.Smb/SmbShare.cs b/src/Providers/FileTime.Providers.Smb/SmbShare.cs index 6bb774a..f50fc3e 100644 --- a/src/Providers/FileTime.Providers.Smb/SmbShare.cs +++ b/src/Providers/FileTime.Providers.Smb/SmbShare.cs @@ -159,6 +159,9 @@ namespace FileTime.Providers.Smb } } + containers = containers.OrderBy(c => c.Name).ToList(); + elements = elements.OrderBy(e => e.Name).ToList(); + return (containers, elements); } }