aboutsummaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/common')
-rw-r--r--src/common/command_line.cpp14
-rw-r--r--src/common/command_line.h2
-rw-r--r--src/common/password.cpp4
-rw-r--r--src/common/threadpool.cpp4
-rw-r--r--src/common/updates.cpp2
-rw-r--r--src/common/util.cpp7
-rw-r--r--src/common/util.h3
7 files changed, 28 insertions, 8 deletions
diff --git a/src/common/command_line.cpp b/src/common/command_line.cpp
index 666b3267f..d4a28fc85 100644
--- a/src/common/command_line.cpp
+++ b/src/common/command_line.cpp
@@ -78,6 +78,20 @@ namespace command_line
return false;
}
+ bool is_no(const std::string& str)
+ {
+ if (str == "n" || str == "N")
+ return true;
+
+ boost::algorithm::is_iequal ignore_case{};
+ if (boost::algorithm::equals("no", str, ignore_case))
+ return true;
+ if (boost::algorithm::equals(command_line::tr("no"), str, ignore_case))
+ return true;
+
+ return false;
+ }
+
const arg_descriptor<bool> arg_help = {"help", "Produce help message"};
const arg_descriptor<bool> arg_version = {"version", "Output version information"};
const arg_descriptor<std::string> arg_data_dir = {"data-dir", "Specify data directory"};
diff --git a/src/common/command_line.h b/src/common/command_line.h
index 04fd70be5..bfc8b19c6 100644
--- a/src/common/command_line.h
+++ b/src/common/command_line.h
@@ -45,6 +45,8 @@ namespace command_line
//! \return True if `str` is `is_iequal("y" || "yes" || `tr("yes"))`.
bool is_yes(const std::string& str);
+ //! \return True if `str` is `is_iequal("n" || "no" || `tr("no"))`.
+ bool is_no(const std::string& str);
template<typename T, bool required = false>
struct arg_descriptor;
diff --git a/src/common/password.cpp b/src/common/password.cpp
index 5c04023f4..b84d6fb2e 100644
--- a/src/common/password.cpp
+++ b/src/common/password.cpp
@@ -88,13 +88,11 @@ namespace
{
pass.back() = '\0';
pass.resize(pass.size() - 1);
- std::cout << "\b \b";
}
}
else
{
pass.push_back(ch);
- std::cout << '*';
}
}
@@ -150,13 +148,11 @@ namespace
{
aPass.back() = '\0';
aPass.resize(aPass.size() - 1);
- std::cout << "\b \b";
}
}
else
{
aPass.push_back(ch);
- std::cout << '*';
}
}
diff --git a/src/common/threadpool.cpp b/src/common/threadpool.cpp
index 41d0c25e0..20c5765b0 100644
--- a/src/common/threadpool.cpp
+++ b/src/common/threadpool.cpp
@@ -39,7 +39,7 @@ namespace tools
threadpool::threadpool() : running(true), active(0) {
boost::thread::attributes attrs;
attrs.set_stack_size(THREAD_STACK_SIZE);
- max = tools::get_max_concurrency() * 2;
+ max = tools::get_max_concurrency();
size_t i = max;
while(i--) {
threads.push_back(boost::thread(attrs, boost::bind(&threadpool::run, this)));
@@ -74,7 +74,7 @@ void threadpool::submit(waiter *obj, std::function<void()> f) {
}
int threadpool::get_max_concurrency() {
- return max / 2;
+ return max;
}
void threadpool::waiter::wait() {
diff --git a/src/common/updates.cpp b/src/common/updates.cpp
index 8a057b1cf..141330c2c 100644
--- a/src/common/updates.cpp
+++ b/src/common/updates.cpp
@@ -100,7 +100,7 @@ namespace tools
{
const char *base = user ? "https://downloads.getmonero.org/" : "http://updates.getmonero.org/";
#ifdef _WIN32
- static const char extension[] = ".zip";
+ static const char *extension = strncmp(buildtag.c_str(), "install-", 8) ? ".zip" : ".exe";
#else
static const char extension[] = ".tar.bz2";
#endif
diff --git a/src/common/util.cpp b/src/common/util.cpp
index 30746f680..1e180d325 100644
--- a/src/common/util.cpp
+++ b/src/common/util.cpp
@@ -549,6 +549,13 @@ std::string get_nix_version_display_string()
if (!strcmp(ver, "2.25"))
MCLOG_RED(el::Level::Warning, "global", "Running with glibc " << ver << ", hangs may occur - change glibc version if possible");
#endif
+
+#if OPENSSL_VERSION_NUMBER < 0x10100000
+ SSL_library_init();
+#else
+ OPENSSL_init_ssl(0, NULL);
+#endif
+
return true;
}
void set_strict_default_file_permissions(bool strict)
diff --git a/src/common/util.h b/src/common/util.h
index 2e4d6e917..1aac026c1 100644
--- a/src/common/util.h
+++ b/src/common/util.h
@@ -148,9 +148,10 @@ namespace tools
}
return r;
#else
- /* Only blocks SIGINT and SIGTERM */
+ /* Only blocks SIGINT, SIGTERM and SIGPIPE */
signal(SIGINT, posix_handler);
signal(SIGTERM, posix_handler);
+ signal(SIGPIPE, SIG_IGN);
m_handler = t;
return true;
#endif