Skip to content

Commit

Permalink
add gui_mod::entropy
Browse files Browse the repository at this point in the history
  • Loading branch information
sinev-valentine committed Mar 7, 2019
1 parent 5ab3b17 commit 4979246
Show file tree
Hide file tree
Showing 8 changed files with 33 additions and 2 deletions.
19 changes: 19 additions & 0 deletions keychain_cmd_app/cmd_parser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,25 @@ int cmd_parser::run(int argc, const char* const argv[])
auto& keychain_ref = keychain::instance();
sec_mod->connect(keychain_ref);
gui_mod->connect(keychain_ref);

auto& keyfiles = keyfile_singleton::instance();
auto it = keyfiles.begin();
if ( it==keyfiles.end() )
{
auto user_entropy = keychain_ref.entropy();
std::string keyname = "master_key";
std::string pass = "blank";
keyfiles.create(std::bind(create_new_keyfile,
keyname, keyname, true, keyfile_format::cipher_etype::aes256,
keyfile_format::curve_etype::secp256k1,
[&pass](const std::string& keyname)->byte_seq_t{
byte_seq_t res;
std::copy(pass.begin(), pass.end(), std::back_inserter(res));
return res;
})
);
}

keychain_invoke_f f = std::bind(&keychain_base::operator(), &keychain_ref, std::placeholders::_1);
pipeline_parser pipe_line_parser_(std::move(f), fileno(stdin), fileno(stdout));
return pipe_line_parser_.run();
Expand Down
6 changes: 6 additions & 0 deletions keychain_cmd_app/gui_mod.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,9 @@ dev::Public gui_mod_dummy::select_key() const
return dev::Public();
return it->keyinfo.public_key;
}

dev::bytes gui_mod_dummy::entropy() const
{
dev::bytes value;
return value;
}
1 change: 1 addition & 0 deletions keychain_cmd_app/gui_mod.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ class gui_mod_dummy: public gui_mod_base
gui_mod_dummy();
virtual ~gui_mod_dummy();
virtual dev::Public select_key() const override;
virtual dev::bytes entropy() const override;
};

}
2 changes: 2 additions & 0 deletions keychain_cmd_app/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ int main(int argc, char* argv[])
BOOST_LOG_SEV(log.lg, info) << "OS: Linux";
#elif defined(_MSC_VER)
BOOST_LOG_SEV(log.lg, info) << "OS: Win";
#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
BOOST_LOG_SEV(log.lg, info) << "OS: Mac";
#else
BOOST_LOG_SEV(log.lg, info) << "OS: unknown";
#endif
Expand Down
1 change: 1 addition & 0 deletions keychain_lib/include/keychain_lib/keychain.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ class gui_mod_base
virtual ~gui_mod_base(){}

virtual dev::Public select_key() const = 0;
virtual dev::bytes entropy() const = 0;
virtual void connect(keychain_base& keychain_) const;
};

Expand Down
3 changes: 2 additions & 1 deletion keychain_lib/include/keychain_lib/keychain_commands.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,8 @@ class keychain_base
virtual std::string operator()(const fc_light::variant& command) = 0;
boost::signals2::signal<std::string(const std::string&)> run_secmod_cmd;
boost::signals2::signal<dev::Public(void)> select_key;

boost::signals2::signal<dev::bytes(void)> entropy;

dev::Secret get_private_key(const dev::Public& public_key, int unlock_time, create_secmod_cmd_f&& f, std::string& cmd);
void lock_all_priv_keys();
protected:
Expand Down
1 change: 1 addition & 0 deletions keychain_lib/src/keychain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -141,4 +141,5 @@ void keychain_app::secure_dlg_mod_base::connect(keychain_app::keychain_base &key
void keychain_app::gui_mod_base::connect(keychain_app::keychain_base &keychain_) const
{
keychain_.select_key.connect(std::bind(&gui_mod_base::select_key, this));
keychain_.entropy.connect(std::bind(&gui_mod_base::entropy, this));
}
2 changes: 1 addition & 1 deletion keychain_lib/src/keyfile_singleton.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ const keyfile_format::keyfile_t& keyfile_singleton::operator[](size_t index)
if(stop == true)
FC_LIGHT_THROW_EXCEPTION(fc_light::out_of_range_exception, "index = ${ind_}", ("ind_", index));
keydata_load();
bool stop = false;
bool stop = true;
}
return ra_ind[index];
} while (true);
Expand Down

0 comments on commit 4979246

Please sign in to comment.