diff options
author | glkrlos <glkrlos@hotmail.com> | 2015-05-27 18:45:16 +0200 |
---|---|---|
committer | Naios <naios-dev@live.de> | 2015-05-28 18:28:04 +0200 |
commit | c1bd3282f8149890003bb353186131afe4708172 (patch) | |
tree | 6a2b3a7653a9739641c34464021575bebeeb3a84 | |
parent | d7c53c30fb45f6da015e126aeb8a4a1901f72e58 (diff) |
Core/Updater: Fix issues when connecting through unix sockets.
* closes #14766
* closes #14759
Signed-off-by: Naios <naios-dev@live.de>
-rw-r--r-- | src/server/shared/Updater/DBUpdater.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/server/shared/Updater/DBUpdater.cpp b/src/server/shared/Updater/DBUpdater.cpp index 9806151b4c4..10c8c163ec4 100644 --- a/src/server/shared/Updater/DBUpdater.cpp +++ b/src/server/shared/Updater/DBUpdater.cpp @@ -381,8 +381,27 @@ void DBUpdater<T>::ApplyFile(DatabaseWorkerPool<T>& pool, std::string const& hos args.push_back("-h" + host); args.push_back("-u" + user); args.push_back("-p" + password); + + // Check if we want to connect through ip or socket (Unix only) +#ifdef _WIN32 + args.push_back("-P" + port_or_socket); +#else + + if (!std::isdigit(port_or_socket[0])) + { + // We can't check here if host == "." because is named localhost if socket option is enabled + args.push_back("-P0"); + args.push_back("--protocol=SOCKET"); + args.push_back("-S" + port_or_socket); + } + else + // generic case + args.push_back("-P" + port_or_socket); + +#endif + // Set the default charset to utf8 args.push_back("--default-character-set=utf8"); |