Go to the documentation of this file.
17 #ifndef USGOV_adb8d14e20731e001ab4e0eb7742ff5881fc9a7fabb4666497868c91f9a18570
18 #define USGOV_adb8d14e20731e001ab4e0eb7742ff5881fc9a7fabb4666497868c91f9a18570
22 #include <condition_variable>
28 namespace us {
namespace gov {
50 constexpr
static array<const char*,num_stages> stagestr={
"anonymous",
"verified",
"verified_fail"};
58 constexpr
static array<const char*,num_roles> rolestr={
"peer",
"sysop",
"device"};
63 ko connect(
const string& host, uint16_t port, uint16_t pport,
role_t,
bool block);
64 virtual ko connect(uint32_t host, uint16_t port, uint16_t pport,
role_t,
bool block);
67 virtual void dump_all(
const string& prefix, ostream& os)
const override;
68 void dump(
const string& prefix, ostream& os)
const;
74 static string to_string(
const vector<unsigned char>& data);
82 void disconnect(uint16_t seq,
const string&reason)
override;
99 uint16_t parse_version_fingerprint()
const;
100 uint16_t parse_pport()
const;
101 uint16_t parse_pin()
const;
102 void dump(
const string& pfx, ostream&os)
const;
118 uint16_t version_fingerprint{0};
const daemon * get_parent() const
ko connect(const string &host, uint16_t port, uint16_t pport, role_t, bool block)
ko initiate_dialogue(role_t role, uint16_t pport_pin)
stage_t get_stage_peer() const
virtual ko connect(uint32_t host, uint16_t port, uint16_t pport, role_t, bool block)
void process_peer_challenge(datagram *d, const keys &)
Definition: client.cs:143
bool is_role_sysop() const
Definition: peer_t.h:90
virtual const keys & get_keys() const
Definition: ripemd160.h:38
bool is_role_peer() const
Definition: peer_t.h:89
static string to_string(const vector< unsigned char > &data)
Definition: peer_t.java:54
pair< ko, datagram * > decrypt0(datagram *) const override
void disconnect(uint16_t seq, const string &reason) override
Definition: datagram.h:44
sigmsg_hasher_t::value_type sigmsg_hash_t
Definition: peer_t.h:95
id::daemon daemon
Definition: daemon.h:25
pub_t pubkey
Definition: peer_t.h:117
@ verified
Definition: peer_t.h:46
void set_stage_peer(stage_t)
peer::daemon::pub_t pub_t
Definition: auth_app.h:53
Definition: peer_t.java:71
crypto::ec::keys keys
Definition: peer_t.h:37
pub_t::hash_t hash_t
Definition: peer_t.h:39
Definition: symmetric_encryption.h:37
const ko_t * ko
Definition: ko.h:27
socket::peer_t b
Definition: peer_t.h:36
bool verification_is_fine() const
Definition: peer_t.h:75
@ verified_fail
Definition: peer_t.h:47
sigmsg_hash_t msg
Definition: peer_t.h:104
bool process_work(datagram *d)
void process_challenge_response(datagram *d)
virtual void verification_completed(uint16_t rpport)
Definition: peer_t.h:65
pair< ko, datagram * > encrypt0(datagram *) const override
condition_variable cv_auth
Definition: peer_t.h:120
mutex mx_auth
Definition: peer_t.h:119
void dump(const string &prefix, ostream &os) const
string short_version() const
static const char * KO_6017
Definition: peer_t.h:42
virtual void dump_all(const string &prefix, ostream &os) const override
crypto::ec::sigmsg_hasher_t sigmsg_hasher_t
Definition: peer_t.h:94
bool is_role_device() const
Definition: peer_t.h:91
void process_request(datagram *d, const keys &)