Commit Graph
6 Commits
Author SHA1 Message Date
Rafał Cieślak a06fc22de7 VNet diag report: Add protos and tshd implementation (#52066)
* lib/teleterm/vnet: Collect CIDR ranges while listing DNS zones

This will be used for the diagnostic report.

* Include IPv6Prefix in NetworkStackInfo

* Refactor RouteConflict into a protobuf struct

* Add protos for diagnostic report

* Add Diagnostician for generating diag report

* Add netstat command for route conflict check

* Send diag report from tshd to Electron app

* Remove unnecessary Diagnostician struct

* Return nil instead of an empty slice

* s/is supposed to return/returns/

* Capture stderr of failed command attempt

* Check if command stdout and stderr are valid UTF-8 text
2025-02-19 12:10:32 +00:00
Rafał Cieślak 7474228529 Add VNet diagnostic check for detecting conflicting routes (#51778)
* Add RunDiagnostics RPC

* Add button for running diagnostics

* Return network stack info from runPlatformUserProcess

This will allow teleterm's VNet service to read the interface name after
VNet is started.

* Add route conflict diag check

* Run route conflict diag check from teleterm's VNet service

* Add hidden diag flag to tsh vnet

* Inline CheckAndSetDefaults of RouteConflictConfig

* Add comment for RunDiagnostics RPC

* Reduce indentation in vnetCommand.run by returning early

* Add godocs

* Depend on the default split function

* Log and skip invalid route messages

* Keep exported APIs in platform-independent file

* Make NetworkStackInfo platform-independent

* Fix Go and JS linters

* Adjust title for disabled button

* Adjust check for interface name in teleterm's service

* Use teleport.Component for logger name

* Add godoc for DarwinRouting

* Use `unstable.` instead of `feature.` as app config prop prefix

Users are less likely to enable something called `unstable` than
`feature`.
2025-02-10 10:31:53 +00:00
Nic Klaassen 87135fc5e6 [vnet] remote app provider (#51279)
* [vnet] remote app provider

* use fully qualified domain for non-matching app

* make errNoTCPHandler a trace error

* fix license headers

* remove explicit trail calls, rely on gRPC interceptors

* wrap error

* add comment on signer cache lifecycle

* fix imports

* make test client app grpc service listen on localhost

* remove test 100ms dial timeout for ci
2025-01-28 18:23:19 +00:00
Nic Klaassen c8d8c21578 [vnet] refactor AppProvider for Windows implementation (#51216)
* [vnet] refactor AppProvider for Windows implementation

* allow empty cert pool

* fix unconvert lint

* fix root cluster ca pool

* edit log message

* return errors when failing to get appinfo for matching app

* edit comment on ClientApplication interface

* add missing license header
2025-01-24 00:10:27 +00:00
Nic Klaassen 69188d4a38 [vnet] windows service stub (#50468)
* [vnet] Windows service

* address alan's comments

* fix typo in comment
2025-01-17 17:57:13 +00:00
Nic Klaassen 986bad7fdf chore: restructure vnet for windows support (#49921)
* chore: restructure vnet for windows support

In preparation for adding Windows support to VNet, I have restructured
the package/file structure a bit in a way that I think makes more sense
and narrows the scope of OS-specific code.

I also unexported some identifiers that did not need to be exported, in
an attempt to make it more clear what is actually called from outside
the vnet package.

This commit does not make any functional changes except for adding the
hidden `tsh vnet` and `tsh vnet-admin-setup` commands on windows that
will just return errors.

* fix renames in comments

* switch reexec to escalate

* fix-imports
2024-12-09 22:51:24 +00:00