mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-01-15 06:20:41 +00:00
3d101cac5a
Bug 1536796 introduces "\\?\" prefix (DOS device specifier) to Windows file paths. At the moment, the prefix is only prepended to the file paths that start with a disk designator and a backslash. On the other hands, IsBlockedUNCPath blocks file paths that start with "\\" in Windows and that includes DOS device paths (the cases mentioned above). Thus, this patch prevents DOS device paths from being treating as UNC paths in IsBlockedUNCPath. Differential Revision: https://phabricator.services.mozilla.com/D73621
41 lines
1.1 KiB
C++
41 lines
1.1 KiB
C++
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#include "nsAString.h"
|
|
|
|
namespace mozilla {
|
|
namespace FilePreferences {
|
|
|
|
void InitPrefs();
|
|
void InitDirectoriesWhitelist();
|
|
bool IsBlockedUNCPath(const nsAString& aFilePath);
|
|
|
|
#ifdef XP_WIN
|
|
bool IsAllowedPath(const nsAString& aFilePath);
|
|
#else
|
|
bool IsAllowedPath(const nsACString& aFilePath);
|
|
#endif
|
|
|
|
#ifdef XP_WIN
|
|
bool StartsWithDiskDesignatorAndBackslash(const nsAString& aAbsolutePath);
|
|
#endif
|
|
|
|
extern const char kPathSeparator;
|
|
#ifdef XP_WIN
|
|
extern const nsLiteralString kDevicePathSpecifier;
|
|
#endif
|
|
|
|
namespace testing {
|
|
|
|
void SetBlockUNCPaths(bool aBlock);
|
|
void AddDirectoryToWhitelist(nsAString const& aPath);
|
|
bool NormalizePath(nsAString const& aPath, nsAString& aNormalized);
|
|
|
|
} // namespace testing
|
|
|
|
} // namespace FilePreferences
|
|
} // namespace mozilla
|