Commit Graph
4 Commits
Author SHA1 Message Date
Alan Parra a75fcc21d8 Update golangci-lint to 1.49.0 (#16507)
Update metalinter, fix a few lint warnings and replace deprecated linters.

`deadcode`, `structcheck` and `varcheck` are abandoned and now replaced by [`unused`][1].

Since 1.19, `go fmt` reformats godocs according to https://go.dev/doc/comment. I've done a bulk-reformatting of the codebase to keep the linter happy. Backporting is mostly harmless (the exception being `lib/services/role_test.go`, that for some reason breaks the _old_ linter using the new format).

[1]: https://golangci-lint.run/usage/linters/

* Bump golangci-lint version
* Replace abandoned linters
* Fix bodyclose on lib/auth/github.com
* Fix bodyclose on lib/kube/proxy/streamproto/proto_test.go
* Fix bodyclose on lib/srv/alpnproxy/proxy_test.go
* Fix bodyclose on lib/web/conn_upgrade_test.go
* Silence staticcheck on lib/kube/proxy/forwarder_test.go
* Silence staticcheck on lib/utils/certs_test.go
* Address BuildNameToCertificate deprecation warnings
* Run `go fmt ./...`
* Run `go fmt ./...` on api/
* Ignore formatting in role_test.go
* Remove redundant initializers in lib/srv/uacc/
* Update e/
2022-09-19 22:38:59 +00:00
Andrew Lytvynov d96a7e84c7 Refactor escape reader again to do batch reads
Thanks to @fspmarshall's transcription of the OpenSSH version:
https://github.com/gravitational/teleport/pull/3752#pullrequestreview-421254674

Also fix buffer limit to be 10MB, not 10KB. Shame on me :(
2020-06-02 00:29:36 +00:00
Andrew Lytvynov 3ba6502a05 tsh: add --no-enable-escape-sequences flag
In case our escape sequence support is buggy, let users opt out of it to
mitigate. By default escape sequences are enabled.
2020-06-02 00:29:36 +00:00
Andrew Lytvynov e99b04d1d6 Implement OpenSSH-like escape sequences in tsh
Only applies to interactive sessions.
Watch the user keyboard input for one of:
- `~?`: print help output for escape sequences
- `~.`: disconnect the current session (for example when stuck due to
  traffic getting black-holed)

The full list of OpenSSH sequences is here:
https://man.openbsd.org/ssh#ESCAPE_CHARACTERS
We only support the two mentioned above for now. If the need arises, it
should be easy to add.

The implementation ended up pretty complicated, read the comment on
`escape.NewReader` for some info and reasoning.

Fixes #2555
2020-06-02 00:29:36 +00:00