Commit Graph
22 Commits
Author SHA1 Message Date
fheinecke b178b8b732 Updated Teleport codebase to AGPL3 license (#35259)
Signed-off-by: Fred Heinecke <fred.heinecke@goteleport.com>
2023-12-01 17:48:14 +00:00
Ryan Clark 113a594f19 Disable hostname comparison when proxying by default, add feature flag (#1303) 2022-11-09 14:55:51 +00:00
Ryan Clark f975d40417 Fix the proxying logic for localhost (#1243) 2022-10-11 20:22:41 +00:00
Ryan Clark 08d8624878 Improve proxying logic to allow for application access to work (#1235) 2022-10-10 15:20:38 +00:00
Ryan Clark f2ab192947 Add WEBPACK_PORT (#1215) 2022-09-28 12:05:12 +00:00
Ryan Clark 97b1f862ae Update Hot Reloading to work under more conditions, add WEBPACK_PORT (#1210) 2022-09-27 12:55:43 +00:00
Ryan Clark 3efe6af34f Allow Webpack's HTTPS options to be set through environment variables (#1151) 2022-08-26 15:49:10 +00:00
Jeff Pihach 991856e137 Added eslint rule to enforce the order of file imports (#1030)
* add import order lint rule.
* auto fix import order and spacing.
* prettier fix.
* manual fix of import order.
* update failing snapshots.
* bump e submodule for import order fixes.
2022-07-25 16:21:23 -06:00
Matheus 54d9932fcc Add error callback to handleRequest() method on devserver (#877) 2022-06-10 11:52:02 -03:00
Isaiah Becker-Mayer 099c4dda6c desktop per session mfa (#613)
* adding desktopPOC player

* updates to proper playback test websocket endpoint

* Changes EventQuery to take an EventCode in order to facilitate more comprehensible typing for AuditService.fetchEvents. Updates RecordingsService to use the general events search endpoint in order to easily add DESKTOP_SESSION_ENDED events to the response alongside regular [ssh] SESSION_END events.

* Adds logic for distinguishing between session types and displaying appropriate icon

* Deleting DesktopPlayerPOC which should not have been on this branch

* Breaks the handling of the two types of end events passed into makeRecording into two separate functions. Also types RecordingDescription

* touchups

* yarn tsc fixes

* updates storybook

* updating snapshot

* removing unused import

* adds skeleton for distinguishing between ssh and desktop recordings

* Testing connection of the playerClient

* Puts TdpClientCanvas into the DesktopPlayer

* adds toggle to PlayerClient

* small fixes

* adds an onerror to proxyServer so that websocket closures don't shut down the webpack-dev-server

* updates to match backend

* shifting preventDefaults out of TdpClientCanvas since that isn't always desired (for example with the desktop player)

* Adds a ProgressBarDesktop component and makes it respond to the new PlayerClientEvent.TOGGLE_PLAY_PAUSE event emitted by the PlayerClient

* Adds support for decoding client screen spec and using it to determine canvas size during playback. requires some code cleanup

* Some significant refactoring, DesktopSession and DesktopPlayer now both up to par in terms of function. Requires further refactoring for storybook.

* fixes storybook

* fixes codec test

* fixing build warnings

* reverts audit log changes

* removes unused type Region

* decodes the jsons that are now sent over websocket

* replace fqdm with fqdn

* Stops re-adding TOGGLE_PLAY_PAUSE listener each rerender and adds cleanup for that listener

* Make naming more precise

* removing unnecessary logging and fixing a type

* adding todo

* makes recordingType the more appropriate query param

* change let to const

* tiny fixes

* reverting

* The progress bar now moves with the recording timing

* Makes the rest of TdpClientCanvas props optional and wraps relevant logic in relevant if statements where necessary. Gets rid of ugly doNothing

* fixes event listener cleanup

* removes unnecessary prop

* Adds standard error handling display and a storybook for it

* moving detailed TODO to an issue

* changing toHuman to remove brittle reliance on iso string

* removes base64-arraybuffer, refactors base64url.ts into the more general base64.ts and uses it for base64 to array buffer translation

* fixes Storybook

* fixes validDurationMs

* Copies in base64url-arraybuffer library and modifies it for our purposes

* putting import statements in their proper place

* removes (preview) from desktop titles

* adds a hook for confirming the clipboard permissions are either granted or denied

* Moves Base64urlString type to where its needed

* removes DS_Store

* addresses code review

* simplifies and fixes durationMs logic

* adds clipboard to acl

* moves the teleport ctx init() call to the context provider, to ensure that consumers always have an initiated context

* Updates useClipboard and adds clipboard state management to DesktopSession

* Adds clipboard message

* adds code for sending local clipboard to remote over TDP

* adds clipboard decoding and syncronization with the local clipboard

* removes deprecated encodeClipboard

* Updates Main story to account for possibility of TeleportContextProvider processing the ctx.init() or ctx.init() failing

* Updates test to use new context provider

* fixes existing storybooks

* Simplifies DesktopSession rendering logic and adds a test for clipboard error

* Adds test based on storybook

* fixing comments and errors

* renaming to uppercase, apparently vscode rename didn't do the job previously

* Reverts TeleportContextProvider changes, removes teleport context from DesktopSession

* Major updates to useClipboard and dependent logic

* making useClipboard hook local to DesktopSession

* removes hasError by saying that an empty string for errorText means no error

* Fixes storybook

* simplifies error alert jsx and adds an additional test for unknown connection failure

* fixes the fact that the user was prompted for clipboard permissions even if the role had clipboard sharing disabled

* making styled component and updating snapshot

* Adds handling of the desktopSessionRecording flag to the acl and fixes the clipboard flag in the acl

* fixes the actual clipboard sharing which had been broken by changing recording to a useState variable in useDesktopSession.tsx

* code cosmetics

* CR cosmetic changes

* Adds extra check to onClipboardData

* changes allowedHosts to all since this allows for easier development of mfa stuff

* refactors useWebauthn to be generalizeable

* updating client

* fixes test

* integrates mfa challenge into DesktopSession

* fixing tests

* renaming

* cleanup from CR

* Gives all the props passed in to TdpClientCanvas their own useEffect so listeners are updated when those passed functions change. This allowed me to remove the gross useRef in useTdpClientCanvas

* small fixes and updates snapshot

* fixes useWebAuthn scope

* fixes story

* emit an error when u2f is tried

* CR and updates README with information about setting up MFA development

* turning magic numbers into constants
2022-02-22 19:50:55 +00:00
Rafał Cieślak 05235c5273 modifyResponse: Add optional space before /> to regex (#591) 2022-02-09 09:50:57 -05:00
Isaiah Becker-MayerandLisa Kim d6a8289f68 desktop session recording (#572)
* adding desktopPOC player

* updates to proper playback test websocket endpoint

* Changes EventQuery to take an EventCode in order to facilitate more comprehensible typing for AuditService.fetchEvents. Updates RecordingsService to use the general events search endpoint in order to easily add DESKTOP_SESSION_ENDED events to the response alongside regular [ssh] SESSION_END events.

* Adds logic for distinguishing between session types and displaying appropriate icon

* Deleting DesktopPlayerPOC which should not have been on this branch

* Breaks the handling of the two types of end events passed into makeRecording into two separate functions. Also types RecordingDescription

* touchups

* yarn tsc fixes

* updates storybook

* updating snapshot

* removing unused import

* adds skeleton for distinguishing between ssh and desktop recordings

* Testing connection of the playerClient

* Puts TdpClientCanvas into the DesktopPlayer

* adds toggle to PlayerClient

* small fixes

* adds an onerror to proxyServer so that websocket closures don't shut down the webpack-dev-server

* updates to match backend

* shifting preventDefaults out of TdpClientCanvas since that isn't always desired (for example with the desktop player)

* Adds a ProgressBarDesktop component and makes it respond to the new PlayerClientEvent.TOGGLE_PLAY_PAUSE event emitted by the PlayerClient

* Adds support for decoding client screen spec and using it to determine canvas size during playback. requires some code cleanup

* Some significant refactoring, DesktopSession and DesktopPlayer now both up to par in terms of function. Requires further refactoring for storybook.

* fixes storybook

* fixes codec test

* fixing build warnings

* reverts audit log changes

* removes unused type Region

* replace fqdm with fqdn

* Stops re-adding TOGGLE_PLAY_PAUSE listener each rerender and adds cleanup for that listener

* Make naming more precise

* removing unnecessary logging and fixing a type

* adding todo

* makes recordingType the more appropriate query param

* change let to const

* tiny fixes

* reverting

* Makes the rest of TdpClientCanvas props optional and wraps relevant logic in relevant if statements where necessary. Gets rid of ugly doNothing

* fixes event listener cleanup

* removes unnecessary prop

* Adds standard error handling display and a storybook for it

* Moving non-state-changing variables out of the state

* changes errors to logger warnings, since it doesn't diminish UX but improves DX

* fixes storybook

* Makes Player.tsx more readable

* typing fix and changes if else-if else to switch

* Fixes Player story

* Update packages/teleport/src/config.ts

Co-authored-by: Lisa Kim <lisa@goteleport.com>

* updates TODO's to TODO(isaiah) and formats github suggested change

Co-authored-by: Lisa Kim <lisa@goteleport.com>
2022-02-03 16:23:42 +00:00
Grzegorz Zdunek 64d31a291c Address eslint warnings (#522) 2021-12-23 09:05:25 +01:00
Alexey Kontsevoy 141ffcc6a9 FIx devServer csrf and berear token handling (#506) 2021-12-13 23:27:30 -05:00
Grzegorz Zdunek 313bf0b12f Update build depedencies (#473) 2021-12-01 10:33:23 +01:00
Lisa Kim 87c1fc1918 Delete Gravity (#410)
* Remove gravity/*
* Remove gravity references: images, storybook, comps,
  README's, makefile, dockerfile, and gitignore
* Remove jquery, update yarn.lock and e-ref
2021-10-06 10:17:49 -07:00
Alexey Kontsevoy d58d2c1fa6 Add Billing Feature (#238)
* Add Billing Feature
* Update storybook
2021-03-11 13:33:02 -05:00
Lisa Kim 069e6d63b1 Refactor error handling for auth cn (#226)
* Fix dev-server after enabling compression on the server side
* Prevent sending referer field in header: 
  set meta tag and manually set using anchor rel attr for wider browser coverage
* Correct fetch option setting
* Link component auto set anchor rel attribute
2021-02-19 12:59:54 -08:00
Alexey Kontsevoy a26dde339e Add proto files to force MVP 2020-04-11 12:35:38 -04:00
Alexey Kontsevoy 676873bee9 Fix typos 2019-09-24 10:52:42 -04:00
Alexey Kontsevoy ca218f8e2d Allow custom webpack config in dev builds 2019-09-23 10:37:00 -04:00
Alexey Kontsevoy ae3c7d65bd Refactor dev server code 2019-09-22 17:30:33 -04:00