Commit Graph
2001 Commits
Author SHA1 Message Date
Irena Rindos df1e64f412 chore(connect): improve messaging if tofu token already used (#3602) 2023-08-17 08:59:17 -04:00
Lars Lehtonen ee6803d106 internal/server: fix dropped testing error (#3015) 2023-08-17 08:55:57 -04:00
Johan Brandhorst-Satzkorn e108ae40ad Upgrade to Go 1.21 (#3573)
* Upgrade to Go 1.21

* event: remove tests depending on pointer comparison

The test now just tests that the logger is non-nil. For
some reason the old test was broken by upgrading
to Go 1.21.0.

* api: use dummy Host header for unix sockets

When using unix sockets with the net/http.Client,
we cannot use the unix socket address directly
in the Host header, as it fails the validation step.
Instead, use a dummy address in the Host header.
2023-08-15 12:04:58 -07:00
Johan Brandhorst-Satzkorn bae219d461 Re-enable copywrite with hack (#3569)
* Ignore license change commit from blame

This changed almost all the files in the repo

* Re-enable copywrite with hack

Adds a hack that removes existing copyright headers
from files before rerunning copywrite with directory
specific configuration.
2023-08-11 15:02:29 -07:00
hashicorp-copywrite[bot]andJohan Brandhorst-Satzkorn 29da0bcb92 [COMPLIANCE] License changes (#3567)
* Adding explicit MPL license for sub-package.

This directory and its subdirectories (packages) contain files licensed with the MPLv2 `LICENSE` file in this directory and are intentionally licensed separately from the BSL `LICENSE` file at the root of this repository.

* Adding explicit MPL license for sub-package

This directory and its subdirectories (packages) contain files licensed with the MPLv2 `LICENSE` file in this directory and are intentionally licensed separately from the BSL `LICENSE` file at the root of this repository.

* Updating the license from MPL to Business Source License

Going forward, this project will be licensed under the Business Source License v1.1. Please see our blog post for more details at https://hashi.co/bsl-blog, FAQ at www.hashicorp.com/licensing-faq, and details of the license at www.hashicorp.com/bsl.

* Update copyright file headers to BUS-1.1

* Rerun make gen

This will pick up the last of the license changes

* Revert "Rerun make gen"

This reverts commit dbe0968bffd92745d8663c6940debae098395a6b.

* Remove copywrite from generation script

The current version of copywrite is not sophisticated enough
to only apply the copywrite changes to certain subdirectories,
so to avoid accidentally relicensing our api and sdk modules,
we will stop running the copywrite script until such time
that it can do the right thing.

* License protobuf API as MPL

The protobuf API files are used to generate the SDK,
since we want the SDK to be MPL, the protobuf files
must also be MPL. This extends to all protobuf files
whose sources end up in the SDK directory, including:

- internal/proto/controller/api
- internal/proto/controller/custom_options
- internal/proto/plugin

It also includes the generated service directory in
internal/gen/controller/api/services, since they are
generated from the protobuf sources used for the SDK.

* Change website license file name

This makes the naming scheme consistent with the rest
of the repository.

* Add note on licensing to README

* Set copywrite license to BUSL

* Revert "Add note on licensing to README"

This reverts commit 4d865a91a7a4f11605f0dc4609355d7e3c3cfffe.

---------

Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
2023-08-11 10:31:53 -07:00
Irena Rindos 8396dff233 fix(session recording): correctly return and join errors (#3565)
* fix(session recording): correctly return and join errors
2023-08-10 09:01:55 -04:00
Elim Tsiagbey 4564d15901 feat: Validate BSR files (#3507)
* feat: Validate BSR files

Add support for validating all files in a Boundary Session Recording (BSR). All files and sub container files will be verified by comparing it against checksums for each file in `SHA256SUM` file

### Considerations
- Validation will continue even if there's an error encountered during validation. The validation error will be added to the Validation struct `Error` field
2023-08-04 14:31:20 -04:00
Johan Brandhorst-Satzkorn 5e78fc72c5 tests: add timeout to key version destruction test (#3537) 2023-08-03 11:08:28 -07:00
Irena Rindos 65f20f3d6f fix(bsr): limit chunk length (#3500)
* fix(bsr): limit chunk length
2023-08-03 13:57:49 -04:00
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