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 &)