Commit graph

213 commits

Author SHA1 Message Date
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
dependabot[bot] 0c021d3625
Bump openssl from 0.10.55 to 0.10.60 in /cli (#199456)
Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.55 to 0.10.60.
- [Release notes](https://github.com/sfackler/rust-openssl/releases)
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.55...openssl-v0.10.60)

---
updated-dependencies:
- dependency-name: openssl
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-29 09:18:33 -05: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
Ulugbek Abdullaev 2346f95977 release 1.84.0 update 3rd party notices 2023-10-24 01:36:58 +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
dependabot[bot] a632e19c59
Bump rustix from 0.37.19 to 0.37.25 in /cli (#195931)
Bumps [rustix](https://github.com/bytecodealliance/rustix) from 0.37.19 to 0.37.25.
- [Release notes](https://github.com/bytecodealliance/rustix/releases)
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.37.19...v0.37.25)

---
updated-dependencies:
- dependency-name: rustix
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-23 10:02:18 -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
Bhavya U 34d89757d8
Update license info from OSS Tool (#194025)
* Update license info from OSS Tool

* update distro commit hash
2023-09-25 13:45:07 -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
Christof Marti 4b37efe375 August 2023 endgame OSS Tool changes 2023-08-28 16:26:22 +02:00
Connor Peet ac0d0a89c8
cli: adopt latest devtunnels for ipv6 forwarding support (#191236) 2023-08-24 19:53:05 +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
Connor Peet 71282c3d52
forwarding: add built-in tunnel forwarding extension (#189874)
* forwarding: add built-in tunnel forwarding extension

- Support public/private ports, which accounts for most of the work in
  the CLI. Previously ports were only privat.
- Make the extension built-in. Ported from the remote-containers
  extension with some tweaks for privacy and durability.
- This also removes the opt-in flag, by not reimplementing it 😛

Fixes https://github.com/microsoft/vscode/issues/189677
Fixes https://github.com/microsoft/vscode/issues/189678

* fixup! comments

---------

Co-authored-by: Raymond Zhao <7199958+rzhao271@users.noreply.github.com>
2023-08-08 22:00:03 +01:00
Connor Peet 62ce95cda1
cli: spawn code_serer with CREATE_NO_WINDOW (#189477)
* fix: spawn code_serer with CREATE_NO_WINDOW

fixes #184058

* use winapi constant instead

---------

Co-authored-by: Connor Peet <connor@peet.io>
2023-08-03 11:16:12 -07:00
Connor Peet 4c469c5f8e
use winapi constant instead 2023-08-03 10:57:02 -07:00
Connor Peet 0d22bb7efa
cli: update dependencies for s360 (#189562)
* cli: update dependencies for s360

* update rust
2023-08-03 18:05:46 +01:00