* Depguard rules for the session submodule
* Move lib/auditd to session/auditd
* Move lib/loginuid to session/loginuid
* Reduce dependencies of lib/utils/envutils
* Move lib/utils/envutils to session/envutils
* Split the SSH utilities of sshutils/x11 into sshutils/x11forward
* Move lib/sshutils/x11 to session/networking/x11
* Move lib/sshutils/networking to session/networking
* Move lib/shell to session/shell
* Move lib/utils/uds to session/uds
* Move lib/utils/host to session/host
* Move lib/pam to session/pam
* Avoid lib/utils/log in session/pam
* Move lib/service/servicecfg.PAMConfig to session/pam/pamcfg.PAMConfig
* Move lib/srv/uacc to session/uacc
* Avoid importing lib/utils in session/uacc
* Move lib/selinux to session/selinux
* Avoid lib/utils and lib/utils/log in session/selinux
* make go-mod-tidy-all
* Update oss-fuzz path for session/networking/x11
* Remove restricted sessions
* Remove missing reference to restricted session
* Update CHANGELOG.md to remove outdated SSH feature
The commit removes the reference to the deprecated and removed SSH restricted sessions feature from the CHANGELOG.md file. The restricted session feature had been phased out since Teleport 14, and this update reflects its removal in Teleport 15.
* Rephrase the changelog note that it's recommends the implementation of network restrictions outside of Teleport like iptables and security groups.
* tty_playback: Fix `handlePlaybackAction` panic on unit16 overflow
Because the addition was happening prior to the cast it was possible to bypass the length check and result in a panic.
* `handlePlaybackAction` Add Fuzzing seeds and enabled in oss-fuzz
This test has had two failures (timeouts) on oss-fuzz that are false positives (5894581923479552 & 5112269123747840). Both are very large and when run in go fuzz are not reproducible (local execution ~2 seconds)
Disabling due to the false positives
This expands the coverage of fuzzing in `lib/web/fuzz_test.go` and includes adding seeds.
From this work a new panic was discovered where a pointer is allocated then a pointer to the pointer is passed into json.Unmarshal. It is then possible for this original pointer to remain a `nil` reference.
This pattern looks unexpected, so all cases of double pointers being passed into json.Unmarshal were changed to the more standard empty struct pointer style to avoid potential nil reference panics.
* restrictedsession/fuzz_test.go: Add basic IP and CIDR seeds
* proxyline_test.go: Add fuzzing for Proxy Line v1
Adds a fuzzing test case and seeds for proxy line v1.
This commit also enables both fuzzing tests in oss-fuzz.
* client/fuzz_test.go: Add fuzz coverage and seeds
This adds some fuzzing coverage to some previously missing functions.
In addition seeds (primarily from unit test cases) were added to all fuzz test cases, and all cases were enabled in oss-fuzz.
* Add fuzzing for lib/auth/webauthncli.parseU2FRegistrationResponse
This adds fuzzing coverage and seeds for the function `parseU2FRegistrationResponse`. This commit also enables this test in oss-fuzz.
* Added Fuzz Seeds for services/fuzz_test.go
* Fuzzing improvements for `lib/srv/db` fuzzing
This ensures that all fuzzing under `lib/srv/db` has the following:
* Good seeds that provide basic levels of coverage
* Enabled in OSS-Fuzz
* Fuzzing improvements for `lib/sshutils`
This improves the fuzzing in `lib/sshutils/sftp/parse_test.go` and `lib/sshutils/x11/display_test.go`.
Seeds were added and additional local fuzzing was done. In addition these functions are now enabled in `oss-fuzz`.
This updates the MongoDB driver to use a recent master commit in order to incorporate the fix: https://github.com/mongodb/mongo-go-driver/pull/1291 (which has not been released to a tag yet)
In addition a fuzz seed was added to cover this condition. After not finding more issues this also re-enables the MongoDB fuzzing in oss-fuzz.
* Add a new db engine
* Add tests for new engine
* Update tsh db subcommands
* Refactor error message and suggestions for unsupported tsh commands
* Add dynamodb to test plan
* Add AWS external ID to db config and update protos
* Update api/types/fuzz_test.go
* do not fail if the file is missing
* missing go-118-fuzz-build fix
Co-authored-by: Zac Bergquist <zac.bergquist@goteleport.com>