Commit graph

6926 commits

Author SHA1 Message Date
Nic Klaassen f884cdd7e3
Make RegisterUsingTokenRequest a Protobuf type (#8690) 2021-10-27 10:59:44 -07:00
Zac Bergquist cdf053eba7 Stop linking lcrypto and lssl
The Rust code now uses vendored mode [1] to statically link openssl,
so we no longer need dynamic linking for these libraries.

This also resolves an issue where extra flags were needed to build
locally on macOS.

[1]: https://docs.rs/openssl/0.10.36/openssl/#vendored
2021-10-27 10:51:43 -06:00
Zac Bergquist b431cf1242 Update e 2021-10-27 10:51:43 -06:00
Zac Bergquist edf9b927f4 Add Rust to buildbox
- Ensure Rust is installed in the buildbox image
- Install Rust toolchains for each arch we support
- Use openssl's vendor feature to ensure we always link a static lib
- Automatically include RDP client if Rust is detected
2021-10-27 10:51:43 -06:00
Brian Joerger 6f17db50b3
Add link to Teleport Changelog in helm chart repository site. (#8734) 2021-10-26 17:43:32 -07:00
Trent Clarke eca9603376
Include package-level failures in formatted test output (#8698)
In some cases, it's possible for a package to be marked as a test
failure even if no tests inside it have failed. The motivating example
for this change is a timeout: a test overshooting the allotted timeout
is considered by go test to be a package-level failure, even if no
tests inside the package are considered failures.

This led to cases where the user would see an "All tests passed"
message from the go test filter, but still mysteriously fail the make
step.

To address this, the test renderer now:

  * treats package-level pass/fail/skip events as first-class citizens
    and includes them in its event count,
  * tracks the cached test output at both a package and individual test
    level, and
  * displays the whole package output if a package is marked as failed,
    but only if there is no obvious failed test top account for the
    package-level failure.

This patch also removes the json files created by the unit tests, as
they are not yet needed for anything.
2021-10-27 11:14:27 +11:00
Lisa Kim a731e3c9ff
Fix event code duplication for PrivilegeTokenCreateCode (#8733) 2021-10-26 14:35:22 -07:00
Marek Smoliński 2815404c28
Update AWS CLI application access docs ref (#8634) 2021-10-26 19:55:38 +02:00
Marek Smoliński 3fb2cbab75
Update docs per-connection MFA DB access (#8682) 2021-10-26 19:49:19 +02:00
Roman Tkachenko a132ead57c
Add RFD 38 (#7769) 2021-10-26 09:55:51 -07:00
Roman Tkachenko 57fb42371b
RFD 31: Dynamic registration for apps and databases (#6787) 2021-10-26 09:43:40 -07:00
Jane Quintero 6d0fa6f794
Update GH Actions Workflow Commands (#8724)
Update path in command for Github Actions (Assign and Check workflows)
2021-10-25 15:27:26 -07:00
Jane Quintero 5a29168512
Development Workflow Automation (#8116) 2021-10-25 14:29:38 -07:00
Roman Tkachenko 17eb200b7a
Update app and database access test plan scenarios (#8718) 2021-10-25 11:35:57 -07:00
Nic Klaassen e9f2f8ec06
Add missing aws certs (#8704) 2021-10-25 11:28:17 -07:00
Russell Jones 78b2c1e8b0 Fixed CentOS 6 builds.
Fixed issue that prevented Teleport 8 from being built on CentOS 6.
2021-10-25 10:52:55 -07:00
Gus Luxton 1866f308c8
Add priority class name (#8669)
Add documentation, schema and linter config

Signed-off-by: Gus Luxton <gus@goteleport.com>

Co-authored-by: Gaetan <gaetan.snl@gmail.com>
2021-10-25 07:09:09 -07:00
Tim Ross aef1842c01 add routing_strategy to config docs 2021-10-22 17:12:43 -07:00
Tim Ross d3789279ae use RoutingStrategy enum instead of boolean flag 2021-10-22 17:12:43 -07:00
Tim Ross ab61848a04 Route to the most recently heartbeated node when there are duplicates
Allow users to opt in to changing routing behavior when duplicate
nodes are present. Legacy behavior is to return an error when multiple
nodes are matched by the routing logic in proxyToHost. A new RouteToMostRecent
flag in ClusterNetworkingConfig can be set to allow users to opt in to returning
the most recent node instead of an error. By default, the legacy behavior
is preserved.
2021-10-22 17:12:43 -07:00
Forrest Marshall 1944e62cc5 improve tests 2021-10-22 16:42:33 -07:00
Forrest Marshall 7f39084def fix nits 2021-10-22 16:42:33 -07:00
Forrest Marshall babd6b07dd remove OnlyRecent behavior 2021-10-22 16:42:33 -07:00
Forrest Marshall 78b0d8c726 ttl-based fallback caching 2021-10-22 16:42:33 -07:00
Forrest Marshall 19c5768873 server-side filtering 2021-10-22 16:42:33 -07:00
Russell Jones b5fc327dfb Updated go.mod and re-vendored. 2021-10-22 14:01:25 -07:00
Russell Jones cde4d9152d Update Enterprise reference. 2021-10-22 14:01:25 -07:00
Russell Jones 675be8fc21 Updated Go to 1.17.2. 2021-10-22 14:01:25 -07:00
Zac Bergquist 747f37069d Make LDAP desktop discovery disabled by default
Since our LDAP-based desktop discovery is not very configurable,
we opt to have it disabled by default.

Teleport will log a warning if desktop discovery is disabled and there
are no statically defined Windows desktops. In this case, the Windows
Desktop Service will simply sit idle, as there will be no desktops
available to connect to.

This commit implements the above, but also paves the way towards
a more flexible discovery system (described in the RFD).

We introduce a new config section:

    discovery:
      base_dn: '*'
      filters:
      - filter1
      - filter2

For now, the only valid value for base_dn is the wildcard, which
instructs Teleport to search from the domain root. Additionally,
teleport will validate that any provided filters are valid but
does not currently respect them when performing the search.

Future updates will allow for changing the base DN to something
more specific and filtering the results with LDAP filters.
2021-10-22 12:22:24 -06:00
Zac Bergquist 2c0739dd97 Add timeout for RDP connections
Since the connection is made from Rust, we just hard code a
5-second connection timeout.

In a future change we can decide if we want to pass a timeout down
from Go, but for now this should improve the user experience.
2021-10-22 11:57:46 -06:00
Yassine Bounekhla d01cf5e2bb
Fix missing webauthn json field (#8701) 2021-10-22 08:28:40 -07:00
Marek Smoliński 59633e4747
Align SNI routing logic (#8689) 2021-10-22 17:04:36 +02:00
Marek Smoliński 32d48745d7
Align the user message printed during the 'tsh proxy db' command (#8681) 2021-10-22 13:10:43 +02:00
Lisa Kim 28c0d1049c
[auto] Update webassets in master (#8697)
c1612af emit connect event when the connection is actually confirmed https://github.com/gravitational/webapps/commit/c1612af

- Adds webauthn to invite/reset, recovery, and change password forms
- Desktop access (preview)
- Database audit events
- Replace deprecated /u2f endpoints with /mfa endpoints

[source: -w master] [target: -t master]
2021-10-21 19:36:14 -07:00
Zac Bergquist a7120e8ac0 Enable the Rust logger at the same level as the Go logger 2021-10-21 15:29:29 -06:00
Zac Bergquist 515c6b11e5 Ensure there are no '.' characters in dynamic desktop names
We embed the name of the desktop in the server name when establishing
a connection, and the backend uses this to figure out which desktop
to route to.

Our wildcard certificate for desktop access is only valid for
*.desktop.teleport.cluster.local, so we need replace '.' characters
in the name in order to avoid creating a new subdomain for which
the cert is not valid.

This logic already exists for statically defined desktops, and
was lacking for desktops discovered via LDAP.
2021-10-21 14:08:49 -06:00
Marek Smoliński 17a5cadabb
Add Proxy listener mode and proxy v2 configuration (#8511) 2021-10-21 14:45:47 +02:00
Steven Martin 29a996544e
update certification link for boring crypto (#8676) 2021-10-20 20:03:17 -07:00
Steven Martin e8a76f4c81
Correct terraform guide example (#8630) 2021-10-20 15:50:49 -07:00
Zac Bergquist a445450f3e Set expiry on LDAP-discovered desktops 2021-10-20 15:54:26 -06:00
Zac Bergquist 38b4817e14 Allow tctl admin user to delete windows desktops 2021-10-20 15:54:26 -06:00
Zac Bergquist 9a02f40e2c Use a consistent, human-readable convention for static hosts
Prior to this change, statically defined Windows desktops just got
a random UUID for their name, which is not nice to look at in the UI.

Instead, name hosts with a "static-" prefix and the addr.
2021-10-20 15:54:26 -06:00
Lisa Kim f9788a1531
Return obscured user locked error message (#8596)
- Fixes a bug where proper user lock expire date wasn't used
- Have CreateAuthenticateChallenge return error as is instead 
  of overriding all errors with AccessDenied, which fixes a 
  backwards comp error where older proxies assume 
  AccessDenied type error means user got locked
2021-10-20 13:00:11 -07:00
Ben Arent e6b093538b
Fix port for listen_addr (#8624) 2021-10-20 10:19:57 -07:00
Isaiah Becker-Mayer 0abd5734ed
userACL (#8560)
Adds userACL fields and logic for desktops.
2021-10-20 08:06:00 -07:00
Zac Bergquist 36b6c04613 Ensure that teleport start --roles=windowsdesktop works
Looks like this validation just got missed in one of the early
desktop access PRs. This enables behavior that is consistent
with our current docs and the message printed by tctl.
2021-10-19 16:56:43 -06:00
Roman Tkachenko 13a69d4eab
Fix mysql log spam (#8654) 2021-10-19 13:44:48 -07:00
Brian Joerger eda668c30d
kubectl exec and port-forward requests use the right dialer (#8601) 2021-10-19 13:22:14 -07:00
Marek Smoliński 4f6f52f86d
Fix ALPN SNI Proxy errors logs (#8506) 2021-10-19 12:40:34 -07:00
rosstimothy c730778960
Replace golint with revive (#8613) 2021-10-19 14:00:24 -04:00