Commit Graph

187 Commits

Author SHA1 Message Date
Connor Peet 9a07ceb9f7 cli: ensure the canonical snap exe is used for the CLI (#206133)
Fixes #204907
2024-02-23 15:02:22 -08:00
Robo cf7ddbb51d fix: use legacy server as default with additional warnings (#204377)
* ci: switch to glibc 2.17 remote server

* chore: signal user about unsupported connection

* chore: address review comments

* chore: update nodejs build

* chore: bump distro

* chore: lower the minimum requirements

* fix: glibc version check

* chore: remove explicit connection disposal
2024-02-06 11:25:58 +01:00
Connor Peet 7e0c93cec5 cli: skip integrity check when prereq skip flag is present (#203912) 2024-01-31 18:33:55 +01:00
Connor Peet 6291fb21ec cli: fix adveristing file extension on windows (#203818)
Fixes #202919
2024-01-30 09:52:18 -08:00
Connor Peet d7cfba7af7 cli: update dev tunnel sdk (#203763) 2024-01-30 03:01:21 +01:00
Robo fc9dcad098 fix: skip server requirements check based on file presence (#203729) 2024-01-29 19:55:17 +01:00
Connor Peet f58d7ff83d cli: fix GLIBC version requirement hardcoded in error message (#202605)
Fixes #202082
2024-01-16 11:34:18 -08:00
samhanic 70dda3c792 Merge branch 'main' into cli-extension-update 2024-01-07 21:24:26 +01:00
Connor Peet 68bc4c82c8 cli: update server prereq versions (#201261)
Fixes #201129
2023-12-20 14:27:09 +09:00
Connor Peet 1a3de4181e cli: allow cancelling login during tunnel creation (#200188)
Fixes #197559
2023-12-06 21:59:28 +01:00
Connor Peet cc62bd1ddd cli: allow reading exec server token from env variable (#200079) 2023-12-05 21:38:10 +01:00
Connor Peet 3ff7d4545b Update cli/src/commands/args.rs
Co-authored-by: Sandeep Somavarapu <sasomava@microsoft.com>
2023-12-04 08:12:05 -08:00
samhanic 74c419b5bd add cli update-extensions prototype 2023-12-03 14:25:40 +01:00
Connor Peet 7771124ebd cli: add tcpConnect exec server command, add proposed methods to .d.ts (#197692) 2023-11-07 16:23:48 -08:00
Connor Peet b431ca92db tunnels: fixes to allow msa auth (#197259) 2023-11-02 19:49:04 +01:00
Connor Peet 7d2c73944d cli: use bit flags for publishing tunnel data (#197164)
And it now publishes the OS it runs on, which is used to fix part of #195938
2023-11-01 20:05:53 +01:00
Connor Peet d6707fd3fd cli: explicitly deny anonymous control port access (#197093)
* cli: explicitly deny anonymous control port access

Prevents inheriting any ACL set at the tunnel level which may allow different access for forwarded ports

* testing: make ui more clear for discovery errors (#197115)

* testing: make ui more clear for discovery errors

Fixes #196546

* undo

* fix tests
2023-11-01 19:59:46 +01:00
Connor Peet fcb814b0d6 cli: fix text shown when GH auth is auto-selected (#196527)
Refs https://github.com/microsoft/vscode-remote-release/issues/8908\#issuecomment-1778427807
2023-10-25 09:07:14 +02:00
Connor Peet ad29091f39 fix: don't wait for stdin pump to end before propagating process exit (#196306) 2023-10-23 10:59:05 -07:00
Connor Peet 4aa04c7db2 cli: add extra fs operations for container
Ref https://github.com/microsoft/vscode-remote-tunnels/issues/695
2023-10-18 20:28:02 -07:00
Connor Peet 96d5db84d1 cli: fix closing before stdio is drained
Fixes https://github.com/microsoft/vscode-remote-tunnels/issues/693
2023-10-18 20:28:02 -07:00
Connor Peet 3d01829e87 cli: increase socket search timeout (#195837)
Fixes #195823
2023-10-17 16:06:32 -07:00
Connor Peet f75db45b2f cli: support signing in with msft account (#195820)
For https://github.com/microsoft/vscode-remote-release/issues/8908
2023-10-17 11:38:25 -07:00
Connor Peet 5f83ca061a cli: fix exec server not reading all stdin with immediate close (#195257)
Fixes https://github.com/microsoft/vscode-remote-tunnels/issues/691
2023-10-10 17:39:53 +02:00
Connor Peet e0502b5442 cli: update dev tunnels (#195183) 2023-10-09 12:44:12 -07:00
Connor Peet 2e37be2160 Adopt Terrapin / msrustup for the CLI (#188732)
* cli: use terrapin for cli builds

* update rust to 1.70 to allow ado artifacts feed on windows

* apparently manaul cargo login is required

* use msrustup

* rustup is no longer user

* update to 1.73

* add rust oss install
2023-10-08 17:18:22 -07:00
Connor Peet e250c8066d cli: fix command prompt showing up on windows (#194946)
cli: fix wsl prompt up on windows machine

Fixes #190425 again
2023-10-06 17:09:47 +01:00
Connor Peet 44bd95e6e5 cli: tunnel default name should satisfy any requirements (#194848)
Fixes #194755
2023-10-05 00:29:36 +01:00
Connor Peet fe318d50e0 cli: add refresh loop for tunnel, touch GH token (#194834)
Fixes #194658
2023-10-04 22:36:40 +01:00
Connor Peet 00384003bb cli: fix server install setup on woa failing (#194811)
For #194810
2023-10-04 10:35:19 -07:00
Connor Peet 280c840f87 cli: support setting the --parent-process-id in command shell (#193735) 2023-09-21 15:12:02 -07:00
Connor Peet f92db2f96e cli: fix renamed self-update name, cleanup old binaries
Fixes #192948
2023-09-21 14:37:33 -07:00
Connor Peet 4fa7137b05 cli: add more details if untar fails
For #192647
2023-09-21 14:37:33 -07:00
Connor Peet 491ddd816e cli: allow command-shell to listen on a prescribed port (#193028)
Fixes https://github.com/microsoft/vscode-internalbacklog/issues/4623
2023-09-13 17:02:12 +01:00
Connor Peet 3941870f19 cli: fix panic if it can't bind a port (#193019)
Fixes #192229
2023-09-13 16:17:48 +01:00
Connor Peet 35425d369a cli: propagate server closing (#192824)
Previously this was never needed since the connection was only used for
the ext host, which never closed.

Part 1 of fixing #192521
2023-09-12 00:45:39 +02:00
Connor Peet fbdc92cac0 cli: fix delegated http requests not working (#192620)
From a refactor last literation. I don't think this is candidate worthy
as it's an uncommon path with remote-tunnels, and we can just toggle
this off for remote-ssh for this iteration.
2023-09-08 13:26:36 -07:00
Connor Peet 0ee7a576b6 tunnels: fix command prompt windows show up on windows machine (#192016)
Fixes #190425
2023-09-01 22:17:58 +02:00
Connor Peet a8b8e3a143 forwarding: fix log format again (#191941)
Fixes #191759
2023-09-01 09:38:20 -07:00
Connor Peet c394fb8959 cli: polish serve-web help (#191817)
Fixes #191601
2023-08-30 19:02:48 +02:00
Connor Peet 8813aca705 cli: recycle all tunnels the cli creates for all scenarios (#191800)
Fixes #191749
2023-08-30 17:37:00 +02:00
Connor Peet 5cc83f7994 cli: verify vscode server integrity before committing to cache (#191792)
Fixes #191469
2023-08-30 17:20:08 +02:00
Connor Peet 5413247e57 serve-web: delete socket file on server shutdown (#191692)
Fixes #191691
2023-08-29 13:57:48 -07:00
Connor Peet 8ef6961789 server-web: implement secret storage provider (#191538)
Works quite similarly to vscode.dev. The client has a key stored in
secret storage. The server has a key stored server-side, and issues
an http-only cookie to the client. The client can ask the server to
combine its key and the http-only cookie key to a key component, which
it combines with its local key to encrypt and decrypt data.

This logic kicks in if the web server bits see a `vscode-secret-key-path`
cookie set when it loads.
2023-08-28 17:48:09 -07:00
Connor Peet db135a575a cli: fix decompression loop stalling (#191512)
Fixes #191501

It turns out this was a difference in inflate/deflate implementations
between the extension/SDK and the CLI. The SDK uses Node's zlib bindings,
while by default Rust's flate2 library uses a rust port of [miniz][1].
The 'logic' in the CLI was good, but miniz does not appear to flush
decompressed data as nicely on SYNC'd boundaries as zlib does, which
caused data to 'stall'. Telling the flate2 crate to use the native
bindings fixed this.

This could also be the cause of the flakiness occasionally seen on idle
tunnel connections!

[1]: https://github.com/richgel999/miniz
2023-08-28 21:51:04 +02:00
Connor Peet f7a7d9488f cli: serve-web listener improvements (#191146)
- Allow listening on a socket path (required manually implementing
  the Accept trait), fixes #191043
- Parse the host syntax correctly, fixes #191067
2023-08-23 16:47:31 -07:00
Connor Peet 1fe8359ed0 cli: implement 'server of server' for a local web server (#191014)
Closes https://github.com/microsoft/vscode/issues/168492

This implements @aeschli's 'server server' concept in a new
`code serve-web` command.

Command line args are similar to the standalone web server. The first
time a user hits that page, the latest version of the VS Code web server
will be downloaded and run. Thanks to Martin's previous PRs, all
resources the page requests are prefixed with `/<quality-<commit>`.

The latest release version is cached, but when the page is loaded again
and there's a new release, a the new server version will be downloaded
and started up.

Behind the scenes the servers all listen on named pipes/sockets and the
CLI acts as a proxy server to those sockets. Servers without connections
for an hour will be shut down automatically.
2023-08-22 17:29:51 -07:00
Connor Peet 52840e3ca5 cli: cleanup build (#190213)
- Remove the `prepare` script entirely
- Variables are now populated from the product.json during build. Most
  variables are mapped automatically, with some special handling in a
	few cases. `build.rs` is now much more self-contained.
- Look for the `product.overrides.json` for vscode developers instead of
  looking for a peer `vscode-distro` folder

Fixes #178691
2023-08-10 20:14:30 -07:00
Connor Peet 2e9459b34c cli: add more details to the status command (#190212)
For azml's integration

Closes https://github.com/microsoft/vscode-remote-tunnels/issues/669
2023-08-10 20:13:14 -07:00
Connor Peet 05b62dd315 cli: adopt existing tunnel if one exists by name (#190110)
* wip

* cli: adopt existing tunnel if one exists by name

Gets rid of an error state users could sometimes get into.

Fixes #189830
2023-08-10 11:19:55 +10:00