{"action":"created","comment":{"url":"https://api.github.com/repos/MisterTea/EternalTCP/pulls/comments/145317094","pull_request_review_id":70097920,"id":145317094,"diff_hunk":"@@ -358,7 +427,130 @@ void startUserTerminal() {\n   uth.run();\n }\n \n-int main(int argc, char** argv) {\n+void startJumpHostClient() {\n+  string idpasskey = FLAGS_idpasskey;\n+  if (FLAGS_idpasskeyfile.length() > 0) {\n+    // Check for passkey file\n+    std::ifstream t(FLAGS_idpasskeyfile.c_str());\n+    std::stringstream buffer;\n+    buffer << t.rdbuf();\n+    idpasskey = buffer.str();\n+    // Trim whitespace\n+    idpasskey.erase(idpasskey.find_last_not_of(\" \\n\\r\\t\") + 1);\n+    // Delete the file with the passkey\n+    remove(FLAGS_idpasskeyfile.c_str());\n+  }\n+  cout << \"IDPASSKEY:\" << idpasskey << endl;","path":"terminal/TerminalServer.cpp","position":180,"original_position":180,"commit_id":"9029907725c15f0685322a46a5fd4947995b2543","original_commit_id":"9029907725c15f0685322a46a5fd4947995b2543","user":{"login":"MisterTea","id":306879,"avatar_url":"https://avatars1.githubusercontent.com/u/306879?v=4","gravatar_id":"","url":"https://api.github.com/users/MisterTea","html_url":"https://github.com/MisterTea","followers_url":"https://api.github.com/users/MisterTea/followers","following_url":"https://api.github.com/users/MisterTea/following{/other_user}","gists_url":"https://api.github.com/users/MisterTea/gists{/gist_id}","starred_url":"https://api.github.com/users/MisterTea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MisterTea/subscriptions","organizations_url":"https://api.github.com/users/MisterTea/orgs","repos_url":"https://api.github.com/users/MisterTea/repos","events_url":"https://api.github.com/users/MisterTea/events{/privacy}","received_events_url":"https://api.github.com/users/MisterTea/received_events","type":"User","site_admin":false},"body":"Oh!  You are totally right, it actually breaks without that cout :-P.  Thanks for catching that.","created_at":"2017-10-18T05:05:01Z","updated_at":"2017-10-18T05:05:01Z","html_url":"https://github.com/MisterTea/EternalTCP/pull/67#discussion_r145317094","pull_request_url":"https://api.github.com/repos/MisterTea/EternalTCP/pulls/67","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/MisterTea/EternalTCP/pulls/comments/145317094"},"html":{"href":"https://github.com/MisterTea/EternalTCP/pull/67#discussion_r145317094"},"pull_request":{"href":"https://api.github.com/repos/MisterTea/EternalTCP/pulls/67"}},"in_reply_to_id":145316181},"pull_request":{"url":"https://api.github.com/repos/MisterTea/EternalTCP/pulls/67","id":146917260,"html_url":"https://github.com/MisterTea/EternalTCP/pull/67","diff_url":"https://github.com/MisterTea/EternalTCP/pull/67.diff","patch_url":"https://github.com/MisterTea/EternalTCP/pull/67.patch","issue_url":"https://api.github.com/repos/MisterTea/EternalTCP/issues/67","number":67,"state":"open","locked":false,"title":"Jumphost feature in ET","user":{"login":"ailzhang","id":5248122,"avatar_url":"https://avatars2.githubusercontent.com/u/5248122?v=4","gravatar_id":"","url":"https://api.github.com/users/ailzhang","html_url":"https://github.com/ailzhang","followers_url":"https://api.github.com/users/ailzhang/followers","following_url":"https://api.github.com/users/ailzhang/following{/other_user}","gists_url":"https://api.github.com/users/ailzhang/gists{/gist_id}","starred_url":"https://api.github.com/users/ailzhang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ailzhang/subscriptions","organizations_url":"https://api.github.com/users/ailzhang/orgs","repos_url":"https://api.github.com/users/ailzhang/repos","events_url":"https://api.github.com/users/ailzhang/events{/privacy}","received_events_url":"https://api.github.com/users/ailzhang/received_events","type":"User","site_admin":false},"body":"Sorry this is a big patch :P. \r\nThere are several things done in this PR.\r\n---first commit: all -J related---\r\n1. Start et from etclient directly instead of et script. \r\n2. -J jumphost feature\r\n3. Fixed double close of server client connection\r\n4. Added --user option in etclient to support connecting to different user accouts other than the default username. This was previously done in et script.\r\n5. Updated readme.\r\n---second commit: intergrate with sshconfig parser.--\r\n6. Fixed LOG(INFO) printing unsupported keyword. \r\n7. format ParseConfigFile.hpp\r\nThanks for the help! Please let me know if you have any suggestions. ","created_at":"2017-10-17T00:18:22Z","updated_at":"2017-10-18T05:05:01Z","closed_at":null,"merged_at":null,"merge_commit_sha":"bad2c23e2a5d6ae1f6c28c9232345f48af898aa9","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/MisterTea/EternalTCP/pulls/67/commits","review_comments_url":"https://api.github.com/repos/MisterTea/EternalTCP/pulls/67/comments","review_comment_url":"https://api.github.com/repos/MisterTea/EternalTCP/pulls/comments{/number}","comments_url":"https://api.github.com/repos/MisterTea/EternalTCP/issues/67/comments","statuses_url":"https://api.github.com/repos/MisterTea/EternalTCP/statuses/9029907725c15f0685322a46a5fd4947995b2543","head":{"label":"MisterTea:jumphost","ref":"jumphost","sha":"9029907725c15f0685322a46a5fd4947995b2543","user":{"login":"MisterTea","id":306879,"avatar_url":"https://avatars1.githubusercontent.com/u/306879?v=4","gravatar_id":"","url":"https://api.github.com/users/MisterTea","html_url":"https://github.com/MisterTea","followers_url":"https://api.github.com/users/MisterTea/followers","following_url":"https://api.github.com/users/MisterTea/following{/other_user}","gists_url":"https://api.github.com/users/MisterTea/gists{/gist_id}","starred_url":"https://api.github.com/users/MisterTea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MisterTea/subscriptions","organizations_url":"https://api.github.com/users/MisterTea/orgs","repos_url":"https://api.github.com/users/MisterTea/repos","events_url":"https://api.github.com/users/MisterTea/events{/privacy}","received_events_url":"https://api.github.com/users/MisterTea/received_events","type":"User","site_admin":false},"repo":{"id":74223162,"name":"EternalTCP","full_name":"MisterTea/EternalTCP","owner":{"login":"MisterTea","id":306879,"avatar_url":"https://avatars1.githubusercontent.com/u/306879?v=4","gravatar_id":"","url":"https://api.github.com/users/MisterTea","html_url":"https://github.com/MisterTea","followers_url":"https://api.github.com/users/MisterTea/followers","following_url":"https://api.github.com/users/MisterTea/following{/other_user}","gists_url":"https://api.github.com/users/MisterTea/gists{/gist_id}","starred_url":"https://api.github.com/users/MisterTea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MisterTea/subscriptions","organizations_url":"https://api.github.com/users/MisterTea/orgs","repos_url":"https://api.github.com/users/MisterTea/repos","events_url":"https://api.github.com/users/MisterTea/events{/privacy}","received_events_url":"https://api.github.com/users/MisterTea/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/MisterTea/EternalTCP","description":"Re-Connectable TCP connection","fork":false,"url":"https://api.github.com/repos/MisterTea/EternalTCP","forks_url":"https://api.github.com/repos/MisterTea/EternalTCP/forks","keys_url":"https://api.github.com/repos/MisterTea/EternalTCP/keys{/key_id}","collaborators_url":"https://api.github.com/repos/MisterTea/EternalTCP/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/MisterTea/EternalTCP/teams","hooks_url":"https://api.github.com/repos/MisterTea/EternalTCP/hooks","issue_events_url":"https://api.github.com/repos/MisterTea/EternalTCP/issues/events{/number}","events_url":"https://api.github.com/repos/MisterTea/EternalTCP/events","assignees_url":"https://api.github.com/repos/MisterTea/EternalTCP/assignees{/user}","branches_url":"https://api.github.com/repos/MisterTea/EternalTCP/branches{/branch}","tags_url":"https://api.github.com/repos/MisterTea/EternalTCP/tags","blobs_url":"https://api.github.com/repos/MisterTea/EternalTCP/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/MisterTea/EternalTCP/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/MisterTea/EternalTCP/git/refs{/sha}","trees_url":"https://api.github.com/repos/MisterTea/EternalTCP/git/trees{/sha}","statuses_url":"https://api.github.com/repos/MisterTea/EternalTCP/statuses/{sha}","languages_url":"https://api.github.com/repos/MisterTea/EternalTCP/languages","stargazers_url":"https://api.github.com/repos/MisterTea/EternalTCP/stargazers","contributors_url":"https://api.github.com/repos/MisterTea/EternalTCP/contributors","subscribers_url":"https://api.github.com/repos/MisterTea/EternalTCP/subscribers","subscription_url":"https://api.github.com/repos/MisterTea/EternalTCP/subscription","commits_url":"https://api.github.com/repos/MisterTea/EternalTCP/commits{/sha}","git_commits_url":"https://api.github.com/repos/MisterTea/EternalTCP/git/commits{/sha}","comments_url":"https://api.github.com/repos/MisterTea/EternalTCP/comments{/number}","issue_comment_url":"https://api.github.com/repos/MisterTea/EternalTCP/issues/comments{/number}","contents_url":"https://api.github.com/repos/MisterTea/EternalTCP/contents/{+path}","compare_url":"https://api.github.com/repos/MisterTea/EternalTCP/compare/{base}...{head}","merges_url":"https://api.github.com/repos/MisterTea/EternalTCP/merges","archive_url":"https://api.github.com/repos/MisterTea/EternalTCP/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/MisterTea/EternalTCP/downloads","issues_url":"https://api.github.com/repos/MisterTea/EternalTCP/issues{/number}","pulls_url":"https://api.github.com/repos/MisterTea/EternalTCP/pulls{/number}","milestones_url":"https://api.github.com/repos/MisterTea/EternalTCP/milestones{/number}","notifications_url":"https://api.github.com/repos/MisterTea/EternalTCP/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/MisterTea/EternalTCP/labels{/name}","releases_url":"https://api.github.com/repos/MisterTea/EternalTCP/releases{/id}","deployments_url":"https://api.github.com/repos/MisterTea/EternalTCP/deployments","created_at":"2016-11-19T17:15:18Z","updated_at":"2017-10-15T00:10:20Z","pushed_at":"2017-10-18T00:21:18Z","git_url":"git://github.com/MisterTea/EternalTCP.git","ssh_url":"git@github.com:MisterTea/EternalTCP.git","clone_url":"https://github.com/MisterTea/EternalTCP.git","svn_url":"https://github.com/MisterTea/EternalTCP","homepage":"https://mistertea.github.io/EternalTCP/","size":1862,"stargazers_count":533,"watchers_count":533,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":27,"mirror_url":null,"open_issues_count":8,"forks":27,"open_issues":8,"watchers":533,"default_branch":"master"}},"base":{"label":"MisterTea:master","ref":"master","sha":"4bb1dfdfb4480e6b7ab184ceac1098436f9cf3f7","user":{"login":"MisterTea","id":306879,"avatar_url":"https://avatars1.githubusercontent.com/u/306879?v=4","gravatar_id":"","url":"https://api.github.com/users/MisterTea","html_url":"https://github.com/MisterTea","followers_url":"https://api.github.com/users/MisterTea/followers","following_url":"https://api.github.com/users/MisterTea/following{/other_user}","gists_url":"https://api.github.com/users/MisterTea/gists{/gist_id}","starred_url":"https://api.github.com/users/MisterTea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MisterTea/subscriptions","organizations_url":"https://api.github.com/users/MisterTea/orgs","repos_url":"https://api.github.com/users/MisterTea/repos","events_url":"https://api.github.com/users/MisterTea/events{/privacy}","received_events_url":"https://api.github.com/users/MisterTea/received_events","type":"User","site_admin":false},"repo":{"id":74223162,"name":"EternalTCP","full_name":"MisterTea/EternalTCP","owner":{"login":"MisterTea","id":306879,"avatar_url":"https://avatars1.githubusercontent.com/u/306879?v=4","gravatar_id":"","url":"https://api.github.com/users/MisterTea","html_url":"https://github.com/MisterTea","followers_url":"https://api.github.com/users/MisterTea/followers","following_url":"https://api.github.com/users/MisterTea/following{/other_user}","gists_url":"https://api.github.com/users/MisterTea/gists{/gist_id}","starred_url":"https://api.github.com/users/MisterTea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MisterTea/subscriptions","organizations_url":"https://api.github.com/users/MisterTea/orgs","repos_url":"https://api.github.com/users/MisterTea/repos","events_url":"https://api.github.com/users/MisterTea/events{/privacy}","received_events_url":"https://api.github.com/users/MisterTea/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/MisterTea/EternalTCP","description":"Re-Connectable TCP connection","fork":false,"url":"https://api.github.com/repos/MisterTea/EternalTCP","forks_url":"https://api.github.com/repos/MisterTea/EternalTCP/forks","keys_url":"https://api.github.com/repos/MisterTea/EternalTCP/keys{/key_id}","collaborators_url":"https://api.github.com/repos/MisterTea/EternalTCP/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/MisterTea/EternalTCP/teams","hooks_url":"https://api.github.com/repos/MisterTea/EternalTCP/hooks","issue_events_url":"https://api.github.com/repos/MisterTea/EternalTCP/issues/events{/number}","events_url":"https://api.github.com/repos/MisterTea/EternalTCP/events","assignees_url":"https://api.github.com/repos/MisterTea/EternalTCP/assignees{/user}","branches_url":"https://api.github.com/repos/MisterTea/EternalTCP/branches{/branch}","tags_url":"https://api.github.com/repos/MisterTea/EternalTCP/tags","blobs_url":"https://api.github.com/repos/MisterTea/EternalTCP/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/MisterTea/EternalTCP/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/MisterTea/EternalTCP/git/refs{/sha}","trees_url":"https://api.github.com/repos/MisterTea/EternalTCP/git/trees{/sha}","statuses_url":"https://api.github.com/repos/MisterTea/EternalTCP/statuses/{sha}","languages_url":"https://api.github.com/repos/MisterTea/EternalTCP/languages","stargazers_url":"https://api.github.com/repos/MisterTea/EternalTCP/stargazers","contributors_url":"https://api.github.com/repos/MisterTea/EternalTCP/contributors","subscribers_url":"https://api.github.com/repos/MisterTea/EternalTCP/subscribers","subscription_url":"https://api.github.com/repos/MisterTea/EternalTCP/subscription","commits_url":"https://api.github.com/repos/MisterTea/EternalTCP/commits{/sha}","git_commits_url":"https://api.github.com/repos/MisterTea/EternalTCP/git/commits{/sha}","comments_url":"https://api.github.com/repos/MisterTea/EternalTCP/comments{/number}","issue_comment_url":"https://api.github.com/repos/MisterTea/EternalTCP/issues/comments{/number}","contents_url":"https://api.github.com/repos/MisterTea/EternalTCP/contents/{+path}","compare_url":"https://api.github.com/repos/MisterTea/EternalTCP/compare/{base}...{head}","merges_url":"https://api.github.com/repos/MisterTea/EternalTCP/merges","archive_url":"https://api.github.com/repos/MisterTea/EternalTCP/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/MisterTea/EternalTCP/downloads","issues_url":"https://api.github.com/repos/MisterTea/EternalTCP/issues{/number}","pulls_url":"https://api.github.com/repos/MisterTea/EternalTCP/pulls{/number}","milestones_url":"https://api.github.com/repos/MisterTea/EternalTCP/milestones{/number}","notifications_url":"https://api.github.com/repos/MisterTea/EternalTCP/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/MisterTea/EternalTCP/labels{/name}","releases_url":"https://api.github.com/repos/MisterTea/EternalTCP/releases{/id}","deployments_url":"https://api.github.com/repos/MisterTea/EternalTCP/deployments","created_at":"2016-11-19T17:15:18Z","updated_at":"2017-10-15T00:10:20Z","pushed_at":"2017-10-18T00:21:18Z","git_url":"git://github.com/MisterTea/EternalTCP.git","ssh_url":"git@github.com:MisterTea/EternalTCP.git","clone_url":"https://github.com/MisterTea/EternalTCP.git","svn_url":"https://github.com/MisterTea/EternalTCP","homepage":"https://mistertea.github.io/EternalTCP/","size":1862,"stargazers_count":533,"watchers_count":533,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":27,"mirror_url":null,"open_issues_count":8,"forks":27,"open_issues":8,"watchers":533,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/MisterTea/EternalTCP/pulls/67"},"html":{"href":"https://github.com/MisterTea/EternalTCP/pull/67"},"issue":{"href":"https://api.github.com/repos/MisterTea/EternalTCP/issues/67"},"comments":{"href":"https://api.github.com/repos/MisterTea/EternalTCP/issues/67/comments"},"review_comments":{"href":"https://api.github.com/repos/MisterTea/EternalTCP/pulls/67/comments"},"review_comment":{"href":"https://api.github.com/repos/MisterTea/EternalTCP/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/MisterTea/EternalTCP/pulls/67/commits"},"statuses":{"href":"https://api.github.com/repos/MisterTea/EternalTCP/statuses/9029907725c15f0685322a46a5fd4947995b2543"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"MisterTea"}}