# # # patch "ssh_agent.cc" # from [1244c5b1757a782b405148f71420a391fdde18ae] # to [6f6456becd4b0b7a718ca979e18a87c0621f7dca] # # patch "ssh_agent.hh" # from [34a12ecc9a59afda7fcf96aaf9d5a6960d9ddd60] # to [6f8002a5f15d71de6f7599e18cd14b0e9fcbfc94] # ============================================================ --- ssh_agent.cc 1244c5b1757a782b405148f71420a391fdde18ae +++ ssh_agent.cc 6f6456becd4b0b7a718ca979e18a87c0621f7dca @@ -156,7 +156,7 @@ ssh_agent::read_num_bytes(u32 const len, L(FL("agent: read_num_bytes: length %u") % out.length()); } -u32 +void ssh_agent::fetch_packet(string & packet) { u32 len; @@ -169,7 +169,6 @@ ssh_agent::fetch_packet(string & packet) L(FL("agent: get_keys response len %u") % len); read_num_bytes(len, packet); - return len; } vector const @@ -179,7 +178,6 @@ ssh_agent::get_keys() { return keys; } - u32 len; unsigned int ch; void * v = (void *)&ch; ch = 0; @@ -192,7 +190,7 @@ ssh_agent::get_keys() { stream->write(v, 1); string packet; - len = fetch_packet(packet); + fetch_packet(packet); //first byte is packet type u32 packet_loc = 0; @@ -291,7 +289,7 @@ ssh_agent::sign_data(RSA_PublicKey const stream->write(packet_out.c_str(), packet_out.length()); string packet_in; - u32 len = fetch_packet(packet_in); + fetch_packet(packet_in); u32 packet_in_loc = 0; E(packet_in.at(0) == 14, F("agent: sign_data: packet_in type (%u) != 14") % (u32)packet_in.at(0)); ============================================================ --- ssh_agent.hh 34a12ecc9a59afda7fcf96aaf9d5a6960d9ddd60 +++ ssh_agent.hh 6f8002a5f15d71de6f7599e18cd14b0e9fcbfc94 @@ -27,16 +27,19 @@ private: shared_ptr stream; vector keys; - u32 fetch_packet(string & packet); + //helper functions for reading and unpacking data from ssh-agent + void fetch_packet(string & packet); + void read_num_bytes(u32 const len, string & out); u32 get_long(char const * buf); u32 get_long_from_buf(string const & buf, u32 & loc); void get_string_from_buf(string const & buf, u32 & loc, u32 & len, string & out); - void put_key_into_buf(RSA_PublicKey const & key, string & buf); - void put_string_into_buf(string const & str, string & buf); - void put_bigint_into_buf(BigInt const & bi, string & buf); + + //helper functions for packing data to send to ssh-agent void put_long(u32 l, char * buf); void put_long_into_buf(u32 l, string & buf); - void read_num_bytes(u32 const len, string & out); + void put_string_into_buf(string const & str, string & buf); + void put_bigint_into_buf(BigInt const & bi, string & buf); + void put_key_into_buf(RSA_PublicKey const & key, string & buf); }; // Local Variables: