Commit Graph
1992 Commits
Author SHA1 Message Date
Lars Lehtonen ecadeaee2d internal/daemon/controller/handlers/sessions: fix dropped error (#3529) 2023-08-01 11:26:48 -07:00
Elim Tsiagbey 91b74a04d6 chore: BSR container close check (#3528)
Add check to make sure container isn't nil before `container.close()` is called
2023-08-01 10:19:12 -04:00
Elim Tsiagbey 1548d48f00 fix: Close opened BSR files (#3519)
* fix: Close opened BSR files

- Add checks to close a file if it's not nil
- Close files opened during reads for `OpenSession`, `OpenConnection` & `OpenChannel`
- Close opened scanner readers
2023-07-31 17:13:24 -04:00
Johan Brandhorst-Satzkorn c644396916 server: allow release version to be set in test (#3517)
The old logic made it impossible for the caller to set
the release version with WithReleaseVersion. Only
set the release version when it's not explicitly set already.
2023-07-31 09:41:22 -07:00
Damian Debkowski 0dcdee4758 feat(bsr): support container validation (#3504) 2023-07-28 13:38:51 -07:00
Jim f8ea8c9744 fix (ldap): support only updating the bind-dn and/or bind-password (#3511)
* fix (ldap): support only updating the bind-dn and/or bind-password

* chore: changelog entry for PR #3511
2023-07-27 15:41:37 -04:00
Damian Debkowski da7e8f7c1c fix(bsr): allow reading twice from the same fstest.MemFile (#3498) 2023-07-27 09:25:01 -07:00
Damian Debkowski a67e42b00f refactor(bsr): optimize ChunkEncoder.Encode() (#3476) 2023-07-26 09:12:19 -07:00
Irena Rindos dcdb257b93 fix(bsr): check nanosecond range during decoding (#3496) 2023-07-25 11:58:15 -04:00
Irena Rindos 39953fe329 fix(targets): return LookupTargets error in AuthorizeSession (#3484)
* fix(targets): return LookupTargets error in AuthorizeSession
2023-07-20 11:01:20 -04:00
Elim Tsiagbey 1482f33845 feat: Perform asciicast conversion sanity checks (#3481)
* feat: Perform asciicast conversion sanity checks

Check that the conversion to asciicast is done on `exec` or `shell` session program. Unsupported session programs will throw an error.
2023-07-20 09:58:52 -04:00
Damian Debkowski e285a8ef6f refactor: make secrets optional for storage bucket (#3353) 2023-07-19 14:32:33 -07:00
Todd 86b2f4b90a Strongly type API resource for session recording creation time value attributes (#3480) 2023-07-19 08:46:58 -07:00
Elim Tsiagbey 6afd2c96a5 feat: Add custom summary error type (#3459)
Add custom error type to to decode and encode `Errors` field

Added some extra checks to handle existing BSR summary types with `Error` fields
2023-07-17 11:55:46 -04:00
Elim Tsiagbey 83d089ec9d chore: Change summary errors field type (#3447)
chore: Change summary errors field type

decoding summary `Errors` field currently fails with type `error`.  Using a string type to handle `Errors` field
2023-07-14 10:21:12 -04:00
Elim Tsiagbey ed7bc7cc4d chore: Add missing for summary interfaces (#3438)
Add missing `Errors` Getter & Setter for Session & Connection Summary interfaces
2023-07-13 15:48:27 -04:00
Elim Tsiagbey fd3091d8dc feat: Decode Summary File (#3408)
* feat: Decode Summary File

- Add support for decoding BSR session, connection and channel summary file
- Introduce base summary interfaces that other protocols can extend
- Add new SSH register allocation function for getting SSH Channel Summary Type
2023-07-13 10:25:01 -04:00
Irena Rindos 0fcf0e21d9 chore(server): Update worker auth repository to handle dupe nodes (#3410)
* chore(server): Update worker auth repository to use nodee DuplicateRecordError
2023-07-12 18:00:10 -04:00
Michael MiltonandMichael Gaffney 8527f0305d Fix issue where snapshot conflicts weren't being handled (#3406)
* fix issue where conflicts weren't being handled

* Instead of using on collision, alter the daily_range

* move tests to appropriate file

* Apply suggestions from code review

Co-authored-by: Michael Gaffney <mike@gaffney.cc>

---------

Co-authored-by: Michael Gaffney <mike@gaffney.cc>
2023-07-10 15:50:38 -04:00
Irena Rindos a8e363888a bug(workerAuth): allow duplicate workerAuth inserts if records match (#3389)
* bug(workerAuth): allow duplicate workerAuth inserts if records match
2023-07-06 15:07:28 -04:00
Michael MiltonandMichael Gaffney 23c40a0bc3 Update census to run less frequently (#3346)
* update census to run less frequently

* Update internal/census/census_job.go

Co-authored-by: Michael Gaffney <mike@gaffney.cc>

* change nextrunin duration

---------

Co-authored-by: Michael Gaffney <mike@gaffney.cc>
2023-07-05 15:33:18 -04:00
Todd 8d9222bec3 Add credential and libraries to session recording resource (#3374) 2023-06-28 09:55:29 -07:00
Irena Rindos be074ecbb3 chore: fix op for end chunk (#3370) 2023-06-28 08:38:57 -04:00
Jim 474afe4671 fix: allow ldap managed grps to be set and removed as principals… (#3363) 2023-06-27 12:13:13 -04:00
Jim 84cc3a5988 fix(ldap managed grp): allow ldap managed grps to be added as principals (#3361) 2023-06-26 17:05:54 -04:00
Johan Brandhorst-Satzkorn 2ae007d61e cmd: fix session recording download flag help (#3351)
When using an alias, we automatically add a little
blurb to the end of the flag help. When not terminating
the flag help with a full stop, this looks a bit odd. Add
full stops to all the download flags for consistency.
2023-06-22 07:31:21 -07:00
Jim fabcb8eeeb fix: update recursive auth-method listing test (#3348)
Recently, we made the initial dev ldap auth-method active-public, so
it now shows up in listings.  This simply fixes the tests to
reflect that change.
2023-06-21 09:38:47 -04:00
Johan Brandhorst-Satzkorn 9474b373b8 api: remove create from auth-tokens help (#3341)
The auth-tokens help command included a reference to
a non-existent auth-tokens create command. Replace the
default help and also add a helpful pointer to the authenticate
command.
2023-06-20 13:17:43 -07:00
Elim Tsiagbey 103b1e78aa docs: update NormalizeSetData comments (#3343)
* docs: update NormalizeSetData comments

Update comments for `NormalizeSetData` to include when `NormalizeSetData` could be useful and the non-obvious consequences of using it.
2023-06-20 16:11:04 -04:00
Jim 723dbdfedf fix (boundary dev): make the LDAP auth method active-public (#3344) 2023-06-20 13:56:20 -04:00
Elim Tsiagbey 15e7bbe816 fix: add plugin normalization for onCreate methods (#3338)
onUpdate for host catalog & host set make a call to the plugin to normalize attributes based in. This behavior was introduced [PR-2376](https://github.com/hashicorp/boundary/pull/2376) but was only applied on onUpdate. This created different data structures for onCreate calls and onUpdate calls.
2023-06-20 13:38:52 -04:00
Jeff Mitchell 3a9903a836 Don't attempt session teardown if the session is expired (#3312)
This avoids a situation where teardown results in an error due to the
worker not accepting the connection (since the credentials are invalid).
Teardown is a best-effort way to avoid sessions that have long lifetimes
ending up having to wait for expiration before cleanup, but if we're
near expiration it doesn't really matter.

Fixes ICU-9633
2023-06-14 21:55:24 -04:00
Jeff Mitchell 8322916fb4 Remove all deprecated Err/Wrap/E calls (#3286) 2023-06-14 21:55:24 -04:00
Jeff Mitchell feb3aea38f Support multiple IDs in grants (#3263)
This allows specifying multiple IDs in grants via an `ids` field, which
will eventually become the normal way to specify IDs. Internally, each
grant with multiple IDs turns into multiple ACL grants each with a
single ID; to make this distinction clearer and allow for better
separation of concerns an AclGrant type has been introduced, so really
multiple IDs in a Grant turn into multiple AclGrants.

The nice thing about doing it this way is that it becomes purely a
parsing concern; no actual validation logic has changed.

For backwards compatibility with grants already stored in roles, we do
not error out if `id` is specified. However, eventually we will simply
not support grants with `id` coming via the API; they will fail API
validation, such that new grants will require the use of the updated
`ids` field.

A follow-on PR will plumb this through the service handlers/API/CLI, but
I decided to do it in separate chunks to make reviewing easier, given
that they are easily separable into the internal and external aspects of
the change.

* Add CLI/API checks around using ID in grants (#3264)

* Plumb through some contexts to remove a lot of deprecated errors (#3268)
2023-06-14 21:55:24 -04:00
Timothy Messier 837734b745 test(bsr/fstest): Add new FS for testing out of space errors (#3305)
This provides a new storage.FS implementation that expands the on
fstest.MemFS by allowing tests to mark the filesystem as out of space.
When this happens any write/create operation will start returning an
error indicating that the filesystem is out of space.
2023-06-09 16:32:24 -04:00
Dharini Jeeva f7823d3f71 ui changes (#3304) 2023-06-09 11:47:20 -07:00
Michael Milton 7820af3924 rename optout to lurEnabled for clarity (#3303) 2023-06-09 12:41:12 -04:00
Jeff Mitchell 929ede1c18 Modify some tests to expose error cases that weren't being exposed (#3302) 2023-06-09 11:13:15 -04:00
Johan Brandhorst-Satzkorn e4f49e1bb0 api: add classification to session recordings (#3300) 2023-06-08 23:01:39 -07:00
Todd 8980143278 Allow kms purpose "downstream-worker-auth" (#3299) 2023-06-08 15:41:49 -07:00
Jeff Mitchell 74e8491f85 Disallow updates on all types of KMS workers (#3295)
This also slightly changes delete logic and ensures authorized actions
match what is allowable.
2023-06-08 12:17:45 -04:00
Johan Brandhorst-Satzkorn ebcd6d2828 api: remove connection ID (#3298)
Removing this until we figure out why it's sometimes missing.
May add it back again later.
2023-06-08 09:15:12 -07:00
Timothy Messier fe7c87dc82 feat(bsr/ssh): Add open failure details to ChannelSummary (#3297) 2023-06-08 11:17:32 -04:00
Cameron Perera eaaaae5cce chore: bump ui commit (#3296) 2023-06-07 16:28:11 -07:00
Todd 5a68d789ec Initialize base context when creating New worker and not at start (#3294) 2023-06-07 11:42:16 -07:00
Timothy Messier f7386a5d53 Merge pull request #3280 from hashicorp/tmessi-fix-session-list
fix(session): List performance with large number of session connections

This includes the backported migration and a migration to ensure the next
release has the correct view.
2023-06-06 14:34:15 -04:00
Michael Milton fbf56793c6 Add snapshot job (#3282)
* snapshot job

* update census to include context, controller to include snapshot registry

* no need to export runFn in snapshot
2023-06-06 14:26:01 -04:00
Timothy Messier 603642f271 fix(session): List performance with large number of session connections (#3288)
As part of the performance improvements for listing sessions for v0.9.0,
the view used to retrieve sessions for listing was updated to no longer
include a join on session_connection. However, a later migration that
was adding additional columns to this view inadvertently re-added the
join and session_connection columns. This resulted in requests to list
sessions performing this join, and returning additional rows for each
connection in a session. The application would ignore this additional
data, since it is no longer returned via the API. This would be
particularly impactful in cases where there are a large number of
connections per session, as this would greatly increase the amount of
data returned by the database.

This fix removes the session_connection join from this view, which
should restore the original performance improvements even in cases where
there is a large number of session connections per session.

See: https://github.com/hashicorp/boundary/pull/2160
Ref: 32070678dc
Fixes: 1e3c941be1

(cherry picked from commit 7aef341682e65b42c1b919e03936bdf81e26e87c)
2023-06-06 17:45:53 +00:00
Timothy Messier 876f9bb07f fix(session): List performance with large number of session connections
As part of the performance improvements for listing sessions for v0.9.0,
the view used to retrieve sessions for listing was updated to no longer
include a join on session_connection. However, a later migration that
was adding additional columns to this view inadvertently re-added the
join and session_connection columns. This resulted in requests to list
sessions performing this join, and returning additional rows for each
connection in a session. The application would ignore this additional
data, since it is no longer returned via the API. This would be
particularly impactful in cases where there are a large number of
connections per session, as this would greatly increase the amount of
data returned by the database.

This fix removes the session_connection join from this view, which
should restore the original performance improvements even in cases where
there is a large number of session connections per session.

See: https://github.com/hashicorp/boundary/pull/2160
Ref: 32070678dc
Fixes: 1e3c941be1
2023-06-06 17:45:30 +00:00
Timothy Messier 7e094d824f feat(bsr/convert): Remove asciicast minimum window size (#3287)
This removes the minimum on width and height, instead it will just used
the largest width, height seen as the initial size for the asciicast.
This also provides the ability to still set a minimum via options to
convert.ToAsciicast if the caller has a known minimum size. Also note
that in cases where there is no size information, ie if there was no pty
request, this will still pick a default size of 80x24.
2023-06-06 12:26:46 -04:00