* 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
* 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`.
* [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
* [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
* 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