aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/3rdparty/botan/src/lib/entropy/entropy_srcs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/3rdparty/botan/src/lib/entropy/entropy_srcs.cpp')
-rw-r--r--src/libs/3rdparty/botan/src/lib/entropy/entropy_srcs.cpp188
1 files changed, 0 insertions, 188 deletions
diff --git a/src/libs/3rdparty/botan/src/lib/entropy/entropy_srcs.cpp b/src/libs/3rdparty/botan/src/lib/entropy/entropy_srcs.cpp
deleted file mode 100644
index 85e0b6dc5d..0000000000
--- a/src/libs/3rdparty/botan/src/lib/entropy/entropy_srcs.cpp
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
-* Entropy Source Polling
-* (C) 2008-2010,2015 Jack Lloyd
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#include <botan/entropy_src.h>
-#include <botan/rng.h>
-
-#if defined(BOTAN_HAS_SYSTEM_RNG)
- #include <botan/system_rng.h>
-#endif
-
-#if defined(BOTAN_HAS_ENTROPY_SRC_RDRAND)
- #include <botan/internal/rdrand.h>
-#endif
-
-#if defined(BOTAN_HAS_ENTROPY_SRC_RDSEED)
- #include <botan/internal/rdseed.h>
-#endif
-
-#if defined(BOTAN_HAS_ENTROPY_SRC_DEV_RANDOM)
- #include <botan/internal/dev_random.h>
-#endif
-
-#if defined(BOTAN_HAS_ENTROPY_SRC_WIN32)
- #include <botan/internal/es_win32.h>
-#endif
-
-#if defined(BOTAN_HAS_ENTROPY_SRC_PROC_WALKER)
- #include <botan/internal/proc_walk.h>
- #include <botan/internal/os_utils.h>
-#endif
-
-#if defined(BOTAN_HAS_ENTROPY_SRC_GETENTROPY)
- #include <botan/internal/getentropy.h>
-#endif
-
-namespace Botan {
-
-#if defined(BOTAN_HAS_SYSTEM_RNG)
-
-namespace {
-
-class System_RNG_EntropySource final : public Entropy_Source
- {
- public:
- size_t poll(RandomNumberGenerator& rng) override
- {
- const size_t poll_bits = BOTAN_RNG_RESEED_POLL_BITS;
- rng.reseed_from_rng(system_rng(), poll_bits);
- return poll_bits;
- }
-
- std::string name() const override { return "system_rng"; }
- };
-
-}
-
-#endif
-
-std::unique_ptr<Entropy_Source> Entropy_Source::create(const std::string& name)
- {
-#if defined(BOTAN_HAS_SYSTEM_RNG)
- if(name == "system_rng" || name == "win32_cryptoapi")
- {
- return std::unique_ptr<Entropy_Source>(new System_RNG_EntropySource);
- }
-#endif
-
-#if defined(BOTAN_HAS_ENTROPY_SRC_RDRAND)
- if(name == "rdrand")
- {
- return std::unique_ptr<Entropy_Source>(new Intel_Rdrand);
- }
-#endif
-
-#if defined(BOTAN_HAS_ENTROPY_SRC_RDSEED)
- if(name == "rdseed")
- {
- return std::unique_ptr<Entropy_Source>(new Intel_Rdseed);
- }
-#endif
-
-#if defined(BOTAN_HAS_ENTROPY_SRC_GETENTROPY)
- if(name == "getentropy")
- {
- return std::unique_ptr<Entropy_Source>(new Getentropy);
- }
-#endif
-
-#if defined(BOTAN_HAS_ENTROPY_SRC_DEV_RANDOM)
- if(name == "dev_random")
- {
- return std::unique_ptr<Entropy_Source>(new Device_EntropySource(BOTAN_SYSTEM_RNG_POLL_DEVICES));
- }
-#endif
-
-#if defined(BOTAN_HAS_ENTROPY_SRC_PROC_WALKER)
- if(name == "proc_walk" && OS::running_in_privileged_state() == false)
- {
- const std::string root_dir = BOTAN_ENTROPY_PROC_FS_PATH;
- if(!root_dir.empty())
- return std::unique_ptr<Entropy_Source>(new ProcWalking_EntropySource(root_dir));
- }
-#endif
-
-#if defined(BOTAN_HAS_ENTROPY_SRC_WIN32)
- if(name == "system_stats")
- {
- return std::unique_ptr<Entropy_Source>(new Win32_EntropySource);
- }
-#endif
-
- BOTAN_UNUSED(name);
- return std::unique_ptr<Entropy_Source>();
- }
-
-void Entropy_Sources::add_source(std::unique_ptr<Entropy_Source> src)
- {
- if(src.get())
- {
- m_srcs.push_back(std::move(src));
- }
- }
-
-std::vector<std::string> Entropy_Sources::enabled_sources() const
- {
- std::vector<std::string> sources;
- for(size_t i = 0; i != m_srcs.size(); ++i)
- {
- sources.push_back(m_srcs[i]->name());
- }
- return sources;
- }
-
-size_t Entropy_Sources::poll(RandomNumberGenerator& rng,
- size_t poll_bits,
- std::chrono::milliseconds timeout)
- {
- typedef std::chrono::system_clock clock;
-
- auto deadline = clock::now() + timeout;
-
- size_t bits_collected = 0;
-
- for(size_t i = 0; i != m_srcs.size(); ++i)
- {
- bits_collected += m_srcs[i]->poll(rng);
-
- if (bits_collected >= poll_bits || clock::now() > deadline)
- break;
- }
-
- return bits_collected;
- }
-
-size_t Entropy_Sources::poll_just(RandomNumberGenerator& rng, const std::string& the_src)
- {
- for(size_t i = 0; i != m_srcs.size(); ++i)
- {
- if(m_srcs[i]->name() == the_src)
- {
- return m_srcs[i]->poll(rng);
- }
- }
-
- return 0;
- }
-
-Entropy_Sources::Entropy_Sources(const std::vector<std::string>& sources)
- {
- for(auto&& src_name : sources)
- {
- add_source(Entropy_Source::create(src_name));
- }
- }
-
-Entropy_Sources& Entropy_Sources::global_sources()
- {
- static Entropy_Sources global_entropy_sources(BOTAN_ENTROPY_DEFAULT_SOURCES);
-
- return global_entropy_sources;
- }
-
-}
-