A vsock-based remote shell will allow spawning a shell in the VM/container.
The following revision refers to this bug: https://chromium.googlesource.com/apps/libapps/+/8cec3120bad4208559a7f8b2cbc051c44978db20 commit 8cec3120bad4208559a7f8b2cbc051c44978db20 Author: Mike Frysinger <vapier@chromium.org> Date: Tue Dec 05 00:19:14 2017 nassh: crosh: finish localizing messages We also use the opportunity to stop hardcoding "crosh" in the messages and switch to the commandName member. This will make future extensions easier on us. BUG= chromium:790878 Change-Id: I7bfcb6bc9b6455955e2244c5511fc77609ddfec6 Reviewed-on: https://chromium-review.googlesource.com/804334 Reviewed-by: Brandon Gilmore <varz@google.com> Tested-by: Mike Frysinger <vapier@chromium.org> [modify] https://crrev.com/8cec3120bad4208559a7f8b2cbc051c44978db20/nassh/_locales/en/messages.json [modify] https://crrev.com/8cec3120bad4208559a7f8b2cbc051c44978db20/nassh/js/crosh.js
The following revision refers to this bug: https://chromium.googlesource.com/apps/libapps/+/c3ac5b68a507a80bc4b10e956e4bd28b4f3eaf9e commit c3ac5b68a507a80bc4b10e956e4bd28b4f3eaf9e Author: Mike Frysinger <vapier@chromium.org> Date: Tue Dec 05 00:23:50 2017 libdot: parseQuery: support arrays Various frameworks use "[]" at the end of the name to indicate it's an element in an array and automatically build it up. BUG= chromium:790878 Change-Id: I148141eaaba3e91ffac01cb69778fbf3192215e1 Reviewed-on: https://chromium-review.googlesource.com/804640 Reviewed-by: Brandon Gilmore <varz@google.com> Tested-by: Mike Frysinger <vapier@chromium.org> [modify] https://crrev.com/c3ac5b68a507a80bc4b10e956e4bd28b4f3eaf9e/libdot/js/lib_f_tests.js [modify] https://crrev.com/c3ac5b68a507a80bc4b10e956e4bd28b4f3eaf9e/libdot/js/lib_f.js
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/6a6f702156adffcc3d56b736e29362dbc639fa7b commit 6a6f702156adffcc3d56b736e29362dbc639fa7b Author: Stephen Barber <smbarber@chromium.org> Date: Sat Feb 03 10:37:50 2018 vm_tools: add vsh/vshd to ebuild BUG= chromium:790878 TEST=use vsh to connect to tatl CQ-DEPEND=CL:826693 Change-Id: Ic23eb59cadbf2fd6ec85ceaf75b7848e55083f7a Reviewed-on: https://chromium-review.googlesource.com/826409 Commit-Ready: Stephen Barber <smbarber@chromium.org> Tested-by: Stephen Barber <smbarber@chromium.org> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [modify] https://crrev.com/6a6f702156adffcc3d56b736e29362dbc639fa7b/chromeos-base/vm_tools/vm_tools-9999.ebuild
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/fb53e8287a6e8a3214bbc74d79c69071f35f731f commit fb53e8287a6e8a3214bbc74d79c69071f35f731f Author: Stephen Barber <smbarber@chromium.org> Date: Sat Feb 03 10:37:48 2018 vm_tools: vsh: add vsh remote shell Add a vsock-based remote shell. BUG= chromium:790878 TEST=connect to tatl over vsh CQ-DEPEND=CL:826409,CL:889918 Change-Id: I38a4a86e57f8fb3f06411c41561b212705c4021a Reviewed-on: https://chromium-review.googlesource.com/826693 Commit-Ready: Stephen Barber <smbarber@chromium.org> Tested-by: Stephen Barber <smbarber@chromium.org> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [modify] https://crrev.com/fb53e8287a6e8a3214bbc74d79c69071f35f731f/vm_tools/host.gypi [modify] https://crrev.com/fb53e8287a6e8a3214bbc74d79c69071f35f731f/vm_tools/vm_tools.gyp [add] https://crrev.com/fb53e8287a6e8a3214bbc74d79c69071f35f731f/vm_tools/vsh/scoped_termios.h [add] https://crrev.com/fb53e8287a6e8a3214bbc74d79c69071f35f731f/vm_tools/vsh/utils.h [add] https://crrev.com/fb53e8287a6e8a3214bbc74d79c69071f35f731f/vm_tools/proto/vsh.proto [modify] https://crrev.com/fb53e8287a6e8a3214bbc74d79c69071f35f731f/vm_tools/proto/common.proto [add] https://crrev.com/fb53e8287a6e8a3214bbc74d79c69071f35f731f/vm_tools/vsh/scoped_termios.cc [modify] https://crrev.com/fb53e8287a6e8a3214bbc74d79c69071f35f731f/vm_tools/README.md [modify] https://crrev.com/fb53e8287a6e8a3214bbc74d79c69071f35f731f/vm_tools/common/constants.h [add] https://crrev.com/fb53e8287a6e8a3214bbc74d79c69071f35f731f/vm_tools/vsh/vshd.cc [add] https://crrev.com/fb53e8287a6e8a3214bbc74d79c69071f35f731f/vm_tools/vsh/utils.cc [add] https://crrev.com/fb53e8287a6e8a3214bbc74d79c69071f35f731f/vm_tools/vsh/vsh.cc [modify] https://crrev.com/fb53e8287a6e8a3214bbc74d79c69071f35f731f/vm_tools/guest.gypi
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/5d120f9b4dc9acdd25b9f2c6e4caa516eac00143 commit 5d120f9b4dc9acdd25b9f2c6e4caa516eac00143 Author: Stephen Barber <smbarber@chromium.org> Date: Sat Feb 03 10:37:49 2018 vm_tools: maitred: enable vshd at boot BUG= chromium:790878 TEST=vsh to a tatl image CQ-DEPEND=CL:826409 Change-Id: I438d2b43739d29cdba3ec6ad314cbcaecb04740a Reviewed-on: https://chromium-review.googlesource.com/826694 Commit-Ready: Stephen Barber <smbarber@chromium.org> Tested-by: Stephen Barber <smbarber@chromium.org> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [modify] https://crrev.com/5d120f9b4dc9acdd25b9f2c6e4caa516eac00143/vm_tools/maitred/init.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/2dfc026f850825e25d48fd85368d8d279aef51f7 commit 2dfc026f850825e25d48fd85368d8d279aef51f7 Author: Stephen Barber <smbarber@chromium.org> Date: Sun Feb 04 10:26:47 2018 vm_tools: vsh: add support for running commands BUG= chromium:790878 TEST=vsh --command="ifconfig" Change-Id: I18a0181f539a32d1e2ff0db50a10c8a2d6774872 Reviewed-on: https://chromium-review.googlesource.com/898400 Commit-Ready: Stephen Barber <smbarber@chromium.org> Tested-by: Stephen Barber <smbarber@chromium.org> Reviewed-by: Stephen Barber <smbarber@chromium.org> [modify] https://crrev.com/2dfc026f850825e25d48fd85368d8d279aef51f7/vm_tools/vsh/vsh.cc [modify] https://crrev.com/2dfc026f850825e25d48fd85368d8d279aef51f7/vm_tools/proto/vsh.proto [modify] https://crrev.com/2dfc026f850825e25d48fd85368d8d279aef51f7/vm_tools/vsh/vshd.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/168e4567f5aa6238338984fef226ca8c0078c335 commit 168e4567f5aa6238338984fef226ca8c0078c335 Author: Mike Frysinger <vapier@chromium.org> Date: Fri Feb 09 22:43:31 2018 terminalPrivate: extend API to take program arguments Extend the terminalPrivate.openTerminalProcess JS API to take an optional array of arguments to the program. For crosh, we'll not allow this so people can't pass random flags to it. Refactor process proxy classes to take a base::CommandLine directly instead of just an argv[0]. Bug: 790878 Change-Id: I598e9a02e292789eb4bd71998bed6d9e6f92e717 Reviewed-on: https://chromium-review.googlesource.com/803940 Commit-Queue: Mike Frysinger <vapier@chromium.org> Reviewed-by: Alexander Alekseev <alemate@chromium.org> Reviewed-by: Toni Barzic <tbarzic@chromium.org> Cr-Commit-Position: refs/heads/master@{#535859} [modify] https://crrev.com/168e4567f5aa6238338984fef226ca8c0078c335/chrome/browser/extensions/api/terminal/terminal_private_api.cc [modify] https://crrev.com/168e4567f5aa6238338984fef226ca8c0078c335/chrome/browser/extensions/api/terminal/terminal_private_api.h [modify] https://crrev.com/168e4567f5aa6238338984fef226ca8c0078c335/chrome/common/extensions/api/terminal_private.json [modify] https://crrev.com/168e4567f5aa6238338984fef226ca8c0078c335/chromeos/process_proxy/process_proxy.cc [modify] https://crrev.com/168e4567f5aa6238338984fef226ca8c0078c335/chromeos/process_proxy/process_proxy.h [modify] https://crrev.com/168e4567f5aa6238338984fef226ca8c0078c335/chromeos/process_proxy/process_proxy_registry.cc [modify] https://crrev.com/168e4567f5aa6238338984fef226ca8c0078c335/chromeos/process_proxy/process_proxy_registry.h [modify] https://crrev.com/168e4567f5aa6238338984fef226ca8c0078c335/chromeos/process_proxy/process_proxy_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9eebdd3f14556105bba42fb6c0d566d4b1b24366 commit 9eebdd3f14556105bba42fb6c0d566d4b1b24366 Author: Mike Frysinger <vapier@chromium.org> Date: Fri Feb 09 23:25:30 2018 terminalPrivate: add support for launching VM shells Add a new "vmshell" process which runs /usr/bin/vsh and allows people to pass in command line arguments (which it will validate). Bug: 790878 Change-Id: I253614e9f2b8c7fb5fa5edafc73701a8dc8c0ad7 Reviewed-on: https://chromium-review.googlesource.com/803941 Commit-Queue: Mike Frysinger <vapier@chromium.org> Reviewed-by: Toni Barzic <tbarzic@chromium.org> Reviewed-by: Alexander Alekseev <alemate@chromium.org> Cr-Commit-Position: refs/heads/master@{#535878} [modify] https://crrev.com/9eebdd3f14556105bba42fb6c0d566d4b1b24366/chrome/browser/extensions/api/terminal/terminal_private_api.cc [modify] https://crrev.com/9eebdd3f14556105bba42fb6c0d566d4b1b24366/chrome/common/extensions/api/terminal_private.json
The following revision refers to this bug: https://chromium.googlesource.com/apps/libapps/+/89caa16ba8962e8e3a5f862121acce0f3267c4a3 commit 89caa16ba8962e8e3a5f862121acce0f3267c4a3 Author: Mike Frysinger <vapier@chromium.org> Date: Fri Feb 16 17:32:43 2018 nassh: crosh: extend for arbitrary commands This lets people select the command via a command URI option. The list of supported commands is now centralized in the Chrome terminalPrivate.openTerminalProcess code. BUG= chromium:790878 Change-Id: I018c2c1ad15952be1781081b696ec805709622db Reviewed-on: https://chromium-review.googlesource.com/804335 Tested-by: Mike Frysinger <vapier@chromium.org> Reviewed-by: Stephen Barber <smbarber@chromium.org> Reviewed-by: Jason Clinton <jclinton@chromium.org> [modify] https://crrev.com/89caa16ba8962e8e3a5f862121acce0f3267c4a3/nassh/js/crosh.js
The following revision refers to this bug: https://chromium.googlesource.com/apps/libapps/+/3f809ebe7b6128005b2fb39a4724785ee567efc3 commit 3f809ebe7b6128005b2fb39a4724785ee567efc3 Author: Mike Frysinger <vapier@chromium.org> Date: Fri Feb 16 17:33:23 2018 nassh: crosh: support passing command line args down Newer Chrome has an optional 2nd argument for passing in CLI args to the requested command. Pass them down as requested. We leave filtering/sanitizing to the target command. BUG= chromium:790878 Change-Id: I0ae5eada42869e97db569bc23b723f5a5cbe935c Reviewed-on: https://chromium-review.googlesource.com/807359 Tested-by: Mike Frysinger <vapier@chromium.org> Reviewed-by: Jason Clinton <jclinton@chromium.org> [modify] https://crrev.com/3f809ebe7b6128005b2fb39a4724785ee567efc3/nassh/doc/hack.md [modify] https://crrev.com/3f809ebe7b6128005b2fb39a4724785ee567efc3/nassh/js/crosh.js
The following revision refers to this bug: https://chromium.googlesource.com/apps/libapps/+/cb6758f30bbd85536e5695c97fd3c81faad7a646 commit cb6758f30bbd85536e5695c97fd3c81faad7a646 Author: Mike Frysinger <vapier@chromium.org> Date: Wed Mar 14 00:14:51 2018 libdot/nassh: add a lib.f.lastError helper The lastError is kind of a pain to get to since it's not guaranteed to be defined, and it might live in different objects depending on the browser. Add a helper to hide all this junk and convert all the existing users over. BUG= chromium:790878 Change-Id: Ib06f50e7a684bf67a739e1377cc286e7edd685a0 Reviewed-on: https://chromium-review.googlesource.com/958134 Tested-by: Mike Frysinger <vapier@chromium.org> Reviewed-by: Vitaliy Shipitsyn <vsh@google.com> [modify] https://crrev.com/cb6758f30bbd85536e5695c97fd3c81faad7a646/libdot/js/lib_f_tests.js [modify] https://crrev.com/cb6758f30bbd85536e5695c97fd3c81faad7a646/libdot/js/lib_f.js [modify] https://crrev.com/cb6758f30bbd85536e5695c97fd3c81faad7a646/libdot/js/lib_storage_chrome.js [modify] https://crrev.com/cb6758f30bbd85536e5695c97fd3c81faad7a646/nassh/js/nassh_sftp_fsp.js
The following revision refers to this bug: https://chromium.googlesource.com/apps/libapps/+/65ae6f2c0b71fc64ab2951e8c146fbe770eccdae commit 65ae6f2c0b71fc64ab2951e8c146fbe770eccdae Author: Mike Frysinger <vapier@chromium.org> Date: Wed Mar 14 00:15:04 2018 nassh: crosh: display errors from terminalPrivate if available Depending on the failure mode, the browser will pass back up a useful message. Pull that out and show it to the user if it exists. BUG= chromium:790878 Change-Id: Idc01aed546c3f2236bbd32332a7eb5625fc2f65d Reviewed-on: https://chromium-review.googlesource.com/958135 Reviewed-by: Vitaliy Shipitsyn <vsh@google.com> Tested-by: Mike Frysinger <vapier@chromium.org> [modify] https://crrev.com/65ae6f2c0b71fc64ab2951e8c146fbe770eccdae/nassh/_locales/en/messages.json [modify] https://crrev.com/65ae6f2c0b71fc64ab2951e8c146fbe770eccdae/nassh/js/crosh.js
Comment 1 by bugdroid1@chromium.org
, Dec 5 2017