Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/keepassxreboot/keepassxc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGianluca Recchia <gianluca.recchia97@gmail.com>2018-11-01 06:27:38 +0300
committerJonathan White <support@dmapps.us>2018-11-29 02:29:15 +0300
commitfc930bae69be516cb2ad72e83dad1cf6d8631956 (patch)
tree3deee79bad7608204299f3f6cc6dce51865c49fd /src/core/Bootstrap.cpp
parentf9625189cb7ddf9d1353a6dab079830778623d48 (diff)
Restore correct formatting
Many lines were not conformant with the project's formatting rules. This patch should fix all formatting and whitespace issues in the code base. A clang-format directive was put around the connect() calls containing SIGNALs and SLOTs whose signatures would be denormalized because of the formatting rules.
Diffstat (limited to 'src/core/Bootstrap.cpp')
-rw-r--r--src/core/Bootstrap.cpp308
1 files changed, 154 insertions, 154 deletions
diff --git a/src/core/Bootstrap.cpp b/src/core/Bootstrap.cpp
index 0610def8b..a62cc5a9b 100644
--- a/src/core/Bootstrap.cpp
+++ b/src/core/Bootstrap.cpp
@@ -26,201 +26,201 @@
namespace Bootstrap
{
-/**
- * When QNetworkAccessManager is instantiated it regularly starts polling
- * all network interfaces to see if anything changes and if so, what. This
- * creates a latency spike every 10 seconds on Mac OS 10.12+ and Windows 7 >=
- * when on a wifi connection.
- * So here we disable it for lack of better measure.
- * This will also cause this message: QObject::startTimer: Timers cannot
- * have negative intervals
- * For more info see:
- * - https://bugreports.qt.io/browse/QTBUG-40332
- * - https://bugreports.qt.io/browse/QTBUG-46015
- */
-static inline void applyEarlyQNetworkAccessManagerWorkaround()
-{
- qputenv("QT_BEARER_POLL_TIMEOUT", QByteArray::number(-1));
-}
+ /**
+ * When QNetworkAccessManager is instantiated it regularly starts polling
+ * all network interfaces to see if anything changes and if so, what. This
+ * creates a latency spike every 10 seconds on Mac OS 10.12+ and Windows 7 >=
+ * when on a wifi connection.
+ * So here we disable it for lack of better measure.
+ * This will also cause this message: QObject::startTimer: Timers cannot
+ * have negative intervals
+ * For more info see:
+ * - https://bugreports.qt.io/browse/QTBUG-40332
+ * - https://bugreports.qt.io/browse/QTBUG-46015
+ */
+ static inline void applyEarlyQNetworkAccessManagerWorkaround()
+ {
+ qputenv("QT_BEARER_POLL_TIMEOUT", QByteArray::number(-1));
+ }
-/**
- * Perform early application bootstrapping such as setting up search paths,
- * configuration OS security properties, and loading translators.
- * A QApplication object has to be instantiated before calling this function.
- */
-void bootstrapApplication()
-{
+ /**
+ * Perform early application bootstrapping such as setting up search paths,
+ * configuration OS security properties, and loading translators.
+ * A QApplication object has to be instantiated before calling this function.
+ */
+ void bootstrapApplication()
+ {
#ifdef QT_NO_DEBUG
- disableCoreDumps();
+ disableCoreDumps();
#endif
- setupSearchPaths();
- applyEarlyQNetworkAccessManagerWorkaround();
- Translator::installTranslators();
+ setupSearchPaths();
+ applyEarlyQNetworkAccessManagerWorkaround();
+ Translator::installTranslators();
#ifdef Q_OS_MACOS
- // Don't show menu icons on OSX
- QApplication::setAttribute(Qt::AA_DontShowIconsInMenus);
+ // Don't show menu icons on OSX
+ QApplication::setAttribute(Qt::AA_DontShowIconsInMenus);
#endif
-}
-
-/**
- * Restore the main window's state after launch
- *
- * @param mainWindow the main window whose state to restore
- */
-void restoreMainWindowState(MainWindow& mainWindow)
-{
- // start minimized if configured
- if (config()->get("GUI/MinimizeOnStartup").toBool()) {
- mainWindow.showMinimized();
- } else {
- mainWindow.bringToFront();
}
- if (config()->get("OpenPreviousDatabasesOnStartup").toBool()) {
- const QStringList fileNames = config()->get("LastOpenedDatabases").toStringList();
- for (const QString& filename : fileNames) {
- if (!filename.isEmpty() && QFile::exists(filename)) {
- mainWindow.openDatabase(filename);
+ /**
+ * Restore the main window's state after launch
+ *
+ * @param mainWindow the main window whose state to restore
+ */
+ void restoreMainWindowState(MainWindow& mainWindow)
+ {
+ // start minimized if configured
+ if (config()->get("GUI/MinimizeOnStartup").toBool()) {
+ mainWindow.showMinimized();
+ } else {
+ mainWindow.bringToFront();
+ }
+
+ if (config()->get("OpenPreviousDatabasesOnStartup").toBool()) {
+ const QStringList fileNames = config()->get("LastOpenedDatabases").toStringList();
+ for (const QString& filename : fileNames) {
+ if (!filename.isEmpty() && QFile::exists(filename)) {
+ mainWindow.openDatabase(filename);
+ }
}
}
}
-}
-// LCOV_EXCL_START
-void disableCoreDumps()
-{
- // default to true
- // there is no point in printing a warning if this is not implemented on the platform
- bool success = true;
+ // LCOV_EXCL_START
+ void disableCoreDumps()
+ {
+ // default to true
+ // there is no point in printing a warning if this is not implemented on the platform
+ bool success = true;
#if defined(HAVE_RLIMIT_CORE)
- struct rlimit limit;
- limit.rlim_cur = 0;
- limit.rlim_max = 0;
- success = success && (setrlimit(RLIMIT_CORE, &limit) == 0);
+ struct rlimit limit;
+ limit.rlim_cur = 0;
+ limit.rlim_max = 0;
+ success = success && (setrlimit(RLIMIT_CORE, &limit) == 0);
#endif
#if defined(HAVE_PR_SET_DUMPABLE)
- success = success && (prctl(PR_SET_DUMPABLE, 0) == 0);
+ success = success && (prctl(PR_SET_DUMPABLE, 0) == 0);
#endif
// Mac OS X
#ifdef HAVE_PT_DENY_ATTACH
- success = success && (ptrace(PT_DENY_ATTACH, 0, 0, 0) == 0);
+ success = success && (ptrace(PT_DENY_ATTACH, 0, 0, 0) == 0);
#endif
#ifdef Q_OS_WIN
- success = success && createWindowsDACL();
+ success = success && createWindowsDACL();
#endif
- if (!success) {
- qWarning("Unable to disable core dumps.");
+ if (!success) {
+ qWarning("Unable to disable core dumps.");
+ }
}
-}
-
-//
-// This function grants the user associated with the process token minimal access rights and
-// denies everything else on Windows. This includes PROCESS_QUERY_INFORMATION and
-// PROCESS_VM_READ access rights that are required for MiniDumpWriteDump() or ReadProcessMemory().
-// We do this using a discretionary access control list (DACL). Effectively this prevents
-// crash dumps and disallows other processes from accessing our memory. This works as long
-// as you do not have admin privileges, since then you are able to grant yourself the
-// SeDebugPrivilege or SeTakeOwnershipPrivilege and circumvent the DACL.
-//
-bool createWindowsDACL()
-{
- bool bSuccess = false;
+
+ //
+ // This function grants the user associated with the process token minimal access rights and
+ // denies everything else on Windows. This includes PROCESS_QUERY_INFORMATION and
+ // PROCESS_VM_READ access rights that are required for MiniDumpWriteDump() or ReadProcessMemory().
+ // We do this using a discretionary access control list (DACL). Effectively this prevents
+ // crash dumps and disallows other processes from accessing our memory. This works as long
+ // as you do not have admin privileges, since then you are able to grant yourself the
+ // SeDebugPrivilege or SeTakeOwnershipPrivilege and circumvent the DACL.
+ //
+ bool createWindowsDACL()
+ {
+ bool bSuccess = false;
#ifdef Q_OS_WIN
- // Process token and user
- HANDLE hToken = nullptr;
- PTOKEN_USER pTokenUser = nullptr;
- DWORD cbBufferSize = 0;
-
- // Access control list
- PACL pACL = nullptr;
- DWORD cbACL = 0;
-
- // Open the access token associated with the calling process
- if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hToken)) {
- goto Cleanup;
- }
+ // Process token and user
+ HANDLE hToken = nullptr;
+ PTOKEN_USER pTokenUser = nullptr;
+ DWORD cbBufferSize = 0;
+
+ // Access control list
+ PACL pACL = nullptr;
+ DWORD cbACL = 0;
+
+ // Open the access token associated with the calling process
+ if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hToken)) {
+ goto Cleanup;
+ }
- // Retrieve the token information in a TOKEN_USER structure
- GetTokenInformation(hToken, TokenUser, nullptr, 0, &cbBufferSize);
+ // Retrieve the token information in a TOKEN_USER structure
+ GetTokenInformation(hToken, TokenUser, nullptr, 0, &cbBufferSize);
- pTokenUser = static_cast<PTOKEN_USER>(HeapAlloc(GetProcessHeap(), 0, cbBufferSize));
- if (pTokenUser == nullptr) {
- goto Cleanup;
- }
+ pTokenUser = static_cast<PTOKEN_USER>(HeapAlloc(GetProcessHeap(), 0, cbBufferSize));
+ if (pTokenUser == nullptr) {
+ goto Cleanup;
+ }
- if (!GetTokenInformation(hToken, TokenUser, pTokenUser, cbBufferSize, &cbBufferSize)) {
- goto Cleanup;
- }
+ if (!GetTokenInformation(hToken, TokenUser, pTokenUser, cbBufferSize, &cbBufferSize)) {
+ goto Cleanup;
+ }
- if (!IsValidSid(pTokenUser->User.Sid)) {
- goto Cleanup;
- }
+ if (!IsValidSid(pTokenUser->User.Sid)) {
+ goto Cleanup;
+ }
- // Calculate the amount of memory that must be allocated for the DACL
- cbACL = sizeof(ACL) + sizeof(ACCESS_ALLOWED_ACE) + GetLengthSid(pTokenUser->User.Sid);
+ // Calculate the amount of memory that must be allocated for the DACL
+ cbACL = sizeof(ACL) + sizeof(ACCESS_ALLOWED_ACE) + GetLengthSid(pTokenUser->User.Sid);
- // Create and initialize an ACL
- pACL = static_cast<PACL>(HeapAlloc(GetProcessHeap(), 0, cbACL));
- if (pACL == nullptr) {
- goto Cleanup;
- }
+ // Create and initialize an ACL
+ pACL = static_cast<PACL>(HeapAlloc(GetProcessHeap(), 0, cbACL));
+ if (pACL == nullptr) {
+ goto Cleanup;
+ }
- if (!InitializeAcl(pACL, cbACL, ACL_REVISION)) {
- goto Cleanup;
- }
+ if (!InitializeAcl(pACL, cbACL, ACL_REVISION)) {
+ goto Cleanup;
+ }
- // Add allowed access control entries, everything else is denied
- if (!AddAccessAllowedAce(
- pACL,
- ACL_REVISION,
- SYNCHRONIZE | PROCESS_QUERY_LIMITED_INFORMATION | PROCESS_TERMINATE, // same as protected process
- pTokenUser->User.Sid // pointer to the trustee's SID
- )) {
- goto Cleanup;
- }
+ // Add allowed access control entries, everything else is denied
+ if (!AddAccessAllowedAce(
+ pACL,
+ ACL_REVISION,
+ SYNCHRONIZE | PROCESS_QUERY_LIMITED_INFORMATION | PROCESS_TERMINATE, // same as protected process
+ pTokenUser->User.Sid // pointer to the trustee's SID
+ )) {
+ goto Cleanup;
+ }
- // Set discretionary access control list
- bSuccess = ERROR_SUCCESS
- == SetSecurityInfo(GetCurrentProcess(), // object handle
- SE_KERNEL_OBJECT, // type of object
- DACL_SECURITY_INFORMATION, // change only the objects DACL
- nullptr,
- nullptr, // do not change owner or group
- pACL, // DACL specified
- nullptr // do not change SACL
- );
-
-Cleanup:
-
- if (pACL != nullptr) {
- HeapFree(GetProcessHeap(), 0, pACL);
- }
- if (pTokenUser != nullptr) {
- HeapFree(GetProcessHeap(), 0, pTokenUser);
- }
- if (hToken != nullptr) {
- CloseHandle(hToken);
- }
+ // Set discretionary access control list
+ bSuccess = ERROR_SUCCESS
+ == SetSecurityInfo(GetCurrentProcess(), // object handle
+ SE_KERNEL_OBJECT, // type of object
+ DACL_SECURITY_INFORMATION, // change only the objects DACL
+ nullptr,
+ nullptr, // do not change owner or group
+ pACL, // DACL specified
+ nullptr // do not change SACL
+ );
+
+ Cleanup:
+
+ if (pACL != nullptr) {
+ HeapFree(GetProcessHeap(), 0, pACL);
+ }
+ if (pTokenUser != nullptr) {
+ HeapFree(GetProcessHeap(), 0, pTokenUser);
+ }
+ if (hToken != nullptr) {
+ CloseHandle(hToken);
+ }
#endif
- return bSuccess;
-}
-// LCOV_EXCL_STOP
+ return bSuccess;
+ }
+ // LCOV_EXCL_STOP
-void setupSearchPaths()
-{
+ void setupSearchPaths()
+ {
#ifdef Q_OS_WIN
- // Make sure Windows doesn't load DLLs from the current working directory
- SetDllDirectoryA("");
- SetSearchPathMode(BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE);
+ // Make sure Windows doesn't load DLLs from the current working directory
+ SetDllDirectoryA("");
+ SetSearchPathMode(BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE);
#endif
-}
+ }
-} // namespace Bootstrap
+} // namespace Bootstrap