aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com>2012-09-07 15:08:32 -0400
committerLukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com>2012-09-07 15:08:32 -0400
commit24d221709dec35456dc2702d5ddb7cfa204bd8bd (patch)
tree5fbad020efc1bc2154812128a32fd88afa50ffb3
parent90c609c159d7746352fa3481550b44fcd5090f6d (diff)
Fixed an issue with shortcuts pointing to a network share
-rw-r--r--MediaBrowser.Controller/IO/FileData.cs17
-rw-r--r--MediaBrowser.Controller/Kernel.cs2
2 files changed, 17 insertions, 2 deletions
diff --git a/MediaBrowser.Controller/IO/FileData.cs b/MediaBrowser.Controller/IO/FileData.cs
index 75069d4d5..f5375e71b 100644
--- a/MediaBrowser.Controller/IO/FileData.cs
+++ b/MediaBrowser.Controller/IO/FileData.cs
@@ -1,4 +1,5 @@
-using System;
+using MediaBrowser.Common.Logging;
+using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices;
@@ -12,6 +13,7 @@ namespace MediaBrowser.Controller.IO
{
public const int MAX_PATH = 260;
public const int MAX_ALTERNATE = 14;
+ public static IntPtr INVALID_HANDLE_VALUE = new IntPtr(-1);
/// <summary>
/// Gets information about a path
@@ -20,8 +22,21 @@ namespace MediaBrowser.Controller.IO
{
WIN32_FIND_DATA data;
IntPtr handle = FindFirstFile(path, out data);
+
+ if (handle == INVALID_HANDLE_VALUE && !Path.HasExtension(path))
+ {
+ Logger.LogInfo("Handle came back invalid for {0}. Since this is a directory we'll try appending \\*.", path);
+
+ FindClose(handle);
+
+ handle = FindFirstFile(Path.Combine(path, "*"), out data);
+ }
+
if (handle == IntPtr.Zero)
+ {
throw new IOException("FindFirstFile failed");
+ }
+
FindClose(handle);
data.Path = path;
diff --git a/MediaBrowser.Controller/Kernel.cs b/MediaBrowser.Controller/Kernel.cs
index b45e3ab9a..ea7b92872 100644
--- a/MediaBrowser.Controller/Kernel.cs
+++ b/MediaBrowser.Controller/Kernel.cs
@@ -217,7 +217,7 @@ namespace MediaBrowser.Controller
}
else
{
- result.Success = GetMD5(password).Equals(user.Password);
+ result.Success = GetMD5((password ?? string.Empty)).Equals(user.Password);
// Update LastActivityDate and LastLoginDate, then save
if (result.Success)