1
0
mirror of https://github.com/bitwarden/server.git synced 2025-03-02 04:11:04 +01:00
Commit Graph

3802 Commits

Author SHA1 Message Date
Matt Bishop
bd666841a5
All feature state access through config API () 2023-03-10 08:11:11 -05:00
SmithThe4th
efe7ae8d07
[SG-648] BEEEP-Refactor DuoApi class to use Httpclient ()
* Started work on refactoring class

* Added duo api respons model

* Made httpclient version of APICall

* Added more properties to response model

* Refactored duo api class to use httpclient

* Removed unuseful comments

* Fixed lint formatting
2023-03-09 16:33:01 -05:00
Oscar Hinton
6a6b15fada
[SM-567] Change how project permission is resolved ()
* Change how project permission is resolved

* Fix tests

---------

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
2023-03-09 11:23:50 -06:00
SmithThe4th
15954fb679
Revert "[SG-648] BEEEP-Refactor DuoApi class to use Httpclient ()" ()
This reverts commit f11c58e396.
2023-03-09 12:07:12 -05:00
Opeyemi
03bbc7195b
update entry.sh file for bw apps () 2023-03-09 14:20:46 +00:00
Colton Hurst
a18ab213e4
SM-609: Block imports where any secret is associated with more than one project () 2023-03-09 08:15:22 -05:00
github-actions[bot]
b3a2141ed3
Bumped version to 2023.2.2 ()
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2023-03-08 22:51:11 +00:00
Kyle Spearrin
a4cb6e0900
freshdesk now requires "Basic" to be appended to api key () 2023-03-08 14:12:44 -05:00
cd-bitwarden
a4d637a9b3
[SM-401] - add ability to edit service accounts - Update ServiceAccountsController.cs to get one service account by Id ()
* Update ServiceAccountsController.cs

* Update ServiceAccountsController.cs

updates to access checks

* Update src/Api/SecretsManager/Controllers/ServiceAccountsController.cs

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* fixing error

---------

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
2023-03-08 09:37:02 -05:00
Matt Gibson
465681c712
Use encoded query parameters over path ()
* Use encoded query parameters over path

* Prefer POST for requests with sensitive information

* Send private information in headers over query

* B64 encode email
2023-03-07 12:49:29 -06:00
Matt Bishop
11c59addf4
[PM-1012] Feature access using context ()
* Document online method

* Feature accessors with context

* Direct null assertion

* Establish a constants class for flag keys
2023-03-07 13:46:52 -05:00
cd-bitwarden
7334de636b
[SM-577] - ACCESS POLICY fixing issue with user being able to update a secret if they are assi… ()
* fixing issue with user being able to update a secret if they are assigning it to a project that has read/write permissions. Even though the customer is only allowed to read.

* Add additional check for newly assigned project access and original project access.

* fixing Lint issue

* Fixing tests

* uneeded param removed

* Updating to extract logic into function

* renaming function

* lint fixes

* renaming function
2023-03-07 13:22:03 -05:00
Matt Bishop
48ae4a2e92
Include migrator utility in solution () 2023-03-07 10:29:05 -05:00
Thomas Avery
c27b323ef2
[SM-604] Filter for only confirmed Org users in potential grantees ()
* Filter for only confirmed users

* Take out assert.recent for long running test
2023-03-07 09:03:09 -06:00
Andreas Coroiu
2c9df6d1ff
[PM-1191] collections cannot be managed in family organization ()
* [PM-1191] fix: use join instead of select-subquery

EF6 is currently not able to translate LINQ that include selects after groupby statements. Using join let's us bypass this issue.

* [PM-1191] chore: simplify queries

* Revert "[PM-1191] chore: simplify queries"

This reverts commit f57443d8c4.
2023-03-07 08:35:39 -05:00
Michał Chęciński
5e3f4c9bbe
Revert "Revert "[DEVOPS-1215] Build migrator CLI project ()" ()" ()
This reverts commit f8cbd4ef7d.
2023-03-07 14:10:34 +01:00
Oscar Hinton
2c8f23ec9b
[SM-579] Prevent creating secrets not attached to projects ()
* Prevent creating secrets not attached to projects, and prevent updating secrets to remove project relation

* Fix test
2023-03-07 10:13:49 +01:00
Thomas Rittson
14c8edfcb7
Remove obsolete selfhosted license endpoints () 2023-03-07 03:28:29 +00:00
Oscar Hinton
a0df350ea3
[SM-568] Delete service accounts () 2023-03-06 20:25:27 +01:00
Thomas Avery
de559e80f4
[SM-581] Adding support for warning dialogs ()
* Adding support for warning dialogs

* Swap to repository layer implementation
2023-03-06 11:31:56 -06:00
Michał Chęciński
f8cbd4ef7d
Revert "[DEVOPS-1215] Build migrator CLI project ()" ()
This reverts commit 9cbf254fef.
2023-03-06 18:02:19 +01:00
Michał Chęciński
9cbf254fef
[DEVOPS-1215] Build migrator CLI project ()
* Add migrator cli

* Ran format

* Acc build workflow

* Change paths in push and pr triggers

* Add build migrator cli to build workflow

* Remove build migrator cli workflow

* Add different levels of logs for verbose

* Rename migratorCLI to MsSqlMigratorUtility

* Add MsSqlMigratorUtility to solution file

* Remove the clean command

* Fix name and path in build workflow

* Add retry logic to DbMigrator instead of invocation

* Add migrator with retry mechanism as a new method

* Log the migration start log to migrate database method

* Fix name in build

* Fix cli leftovers

* Fix exception var name

* String interpolation

* Remove redundant check for number

* Remove CommandDotNet

* dotnet format

* Remove CommandDotNet from packages lock

* Remove all cli

* Trying to remove usings to see if this fixes linter

* Add usings back again - uild is failing

* Remove implicit usings

* Trying to fix linter issues

* Trying to fix linter
2023-03-06 15:39:30 +01:00
Matt Bishop
27adaf59b4
[PM-1011] LaunchDarkly service ()
* LaunchDarkly service

* Load file-based flag values, properly support offline only when self-host

* Simplify tests

* Use interface for LD settings

* Remove tests that will provide inconsistent results depending on machine setup and file fallback

* Fall back to offline mode more actively

* Drive fallback file path with setting
2023-03-02 14:04:23 -05:00
Robyn MacCallum
3289a8c35e
[SG-998] Move files to Vault folders ()
* Move Api files

* Move Core files

* Move Infrastructure files

* Move Sql Files

* Move Api Sync files to Vault

* Move test vault files

* Update Sql.sqlproj paths

* Update Codeowners

* Fix vault file paths in sqlproj

* Update CipherDetails.sql path in sqlproj

* Update Core models and entities namespaces

* Update namespaces Core Services and Repositories

* Missed service namespaces

* Update Api namespaces

* Update Infrastructure namespaces

* Move infrastructure queries that were missed

* Tests namespace updates

* Admin and Events namespace updates

* Remove unused usings

* Remove extra CiphersController usings

* Rename folder

* Fix CipherDetails namespace

* Sqlproj fixes

* Move stored procs into folders by table

* using order fix
2023-03-02 13:23:38 -05:00
Thomas Avery
05f5d79938
[SM-572] Modify project endpoint to return current user's permission ()
* Add endpoints to check current user's permission

* Swap to adding current user permission onto GET

* Cleanup DI

* Add ProjectPermissionDetails DTO and query

* code review updates

* Remove assert recent for longer running creates
2023-03-02 09:02:42 -06:00
Justin Baur
26c30f8854
Add Sqlite Migration () 2023-03-02 08:50:27 -05:00
Colton Hurst
6d251236da
SM-528: Fix SM Import / Export Error Messaging ()
* SM-528: Update SM Import & Export errors when non-admin

* SM-528: Switch to not found exception
2023-02-27 10:14:50 -05:00
SmithThe4th
f11c58e396
[SG-648] BEEEP-Refactor DuoApi class to use Httpclient ()
* Started work on refactoring class

* Added duo api respons model

* Made httpclient version of APICall

* Added more properties to response model

* Refactored duo api class to use httpclient

* Removed unuseful comments

* Fixed lint formatting
2023-02-24 15:29:22 -05:00
Michał Chęciński
38336dd5c4
Add Migrator CLI workflow stub () 2023-02-24 08:08:47 -08:00
Oscar Hinton
64e0a981c9
[SM-389] Event log for service account () 2023-02-24 16:44:33 +01:00
Thomas Rittson
4643f5960e
[EC-635] Extract organizationService.UpdateLicenseAsync to a command ()
* move UpdateLicenseAsync from service to command
* create new SelfHostedOrganizationDetails view model and move license validation logic there
* move occupied seat count logic to database level
2023-02-24 07:54:19 +10:00
SmithThe4th
7d0bba3a29
Improve EF Migration Workflow by Starting Required Docker Services Automatically ()
* Added check to detremine if certain docker services are running and if not starts them

* used to docker no recreate flag to simplify the process
2023-02-23 12:01:01 -05:00
github-actions[bot]
992e3a74d6
Bumped version to 2023.2.1 ()
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2023-02-23 09:50:36 -05:00
SmithThe4th
1c66365e96
Made correction to the domain used to domains that have been unverified after 72 hours. Instead of doing a greater than or equal to the condition is set to a fixed period 4, so domains after 4 days which are uneverified would not be picked up by the service () 2023-02-22 19:25:26 -05:00
SmithThe4th
a430518cdb
[PM-1128] Add Migration to Sync OrganizationUserUserDetailsView ()
* Updated OrganizationUserUserDetailsView to include AccessSecretsManager which was missing in the migration hence making the view script out of sync with the migrations

* Formatted file

* Formatted file
2023-02-22 19:11:16 -05:00
Vince Grassia
4fb2649faf
Fix typo () 2023-02-22 14:48:45 -05:00
Matt Bishop
cf13ee71f3
Upgrade DBUp to shed System.Data.SqlClient dependency () 2023-02-22 14:18:32 -05:00
Oscar Hinton
9cddb769fa
[SM-504] Fix service account not accessing secrets () 2023-02-22 11:21:07 +01:00
Brandon Maharaj
7365ca0925
[SG-783] Change organization user list to pull the user's selected color and display it in the avatar ()
* work: baseline for org stuff

* fix: missed view as usual oops

* fix: refresh using sp_refreshsqlmodule
2023-02-21 15:59:50 -05:00
Oscar Hinton
146d5b1984
[SM-396] Self-enroll Secrets Manager ()
* Add endpoint for self enrolling in secrets manager

* Add SecretsManager attribute

* Mark endpoint as only cloud, enable secrets manager for the current user

* Remove response
2023-02-21 18:24:49 +01:00
Colton Hurst
16bdd67cad
SM-281: Secrets Manager Trash () 2023-02-20 13:01:49 -05:00
SmithThe4th
34544f2292
[SG-1082]-Defect-Update stored procedure to properly determine is SSO is available ()
* Fixed SsoAvailble bug by using the enabled column from SsoConfig table, updated the existing query for EF Core

* Added no tracking to ef query since it is read only
2023-02-17 13:19:21 -05:00
Federico Maccaroni
69511160cb
[EC-400] Code clean up Device Verification ()
* EC-400 Clean up code regarding Unknown Device Verification

* EC-400 Fix formatting
2023-02-17 10:15:28 -03:00
Joseph Flinn
7594ca1122
Fix typo in the DockerHub push step () 2023-02-16 15:32:48 -08:00
Joseph Flinn
133a3f70b9
Don't upload images to DockerHub registries that don't exist ()
* Don't upload images to DockerHub registries that don't exist

* Fix linting issue

* Fix conditional
2023-02-16 15:14:39 -08:00
Joseph Flinn
0fde17fc0e
Add in QA temporary ACR ()
* Adding QA registry back into self-host build pipeline

* switching order of the ACR signin

* Update build pipeline to follow same patterns as build-self-host and push to both Prod and QA registries

* Add Bitwarden QA registry to the PR clean up workflow

* Fix project name and path to dockerfile

* Add a publish branch check to the tag list generator

* Fix bash env var typo
2023-02-16 14:16:32 -08:00
Jared Snider
1bbdafbe7a
Updating Org Domain events to match existing pattern of incrementing event type enum by 100 to group new types of events. () 2023-02-16 16:26:44 -05:00
cd-bitwarden
ec8476912d
[SM-381] New secrets access ()
* [SM-66] Create Secret Database Table ()

Objective
The purpose of this PR is to create a database table, entity, and repository for the new Secret database table.

The new Secret table will use entity framework for all database providers.

* [SM-67] Get all secrets by org ID ()

Add a controller to fetch secrets associated with an organization ID.

To note, the [SecretsManager] attribute makes this controller only available for local development.

* [SM-68] Add API endpoints for getting, creating, and editing secrets ()

The purpose of this PR is to add API endpoints for getting, creating, and editing secrets for the Secrets Manager project.

* Move interfaces to core ()

* [SM-63] Read UTC DateTimes from databases via EF and order by revision date ()

* Read UTC DateTimes from db and order by revision

* Move orderby to repo layer

* [SM-185] Add EE_Testing_env to server ()

* Sm 104 project Database ()

* Project DB addition and sprocs

* Adding spaces to the end of each file, fixing minor issues

* removing useless comments

* Adding soft delete proc to migration

* Project EF Scaffold

* Additional changes to use EF instead of procedures

* Adding dependency injection

* Fixing lint errors

* Bug fixes

* Adding migration scripts, removing sproc files, and setting up Entity framework code

* Adding back accidentally deleted sproc

* Removing files that shouldn't have been created

* Lint

* Small changes based on Oscar's rec ()

* Migrations for making CreateDate not null

* adding space to end of file

* Making Revision date not null

* dotnet format

* Adding nonclustered indexes to SQL

* SM-104: Update PR with changes Thomas proposed

Co-authored-by: CarleyDiaz-Bitwarden <103955722+CarleyDiaz-Bitwarden@users.noreply.github.com>
Co-authored-by: Thomas Avery <tavery@bitwarden.com>
Co-authored-by: Colton Hurst <colton@coltonhurst.com>

* Removing org ID from create request body ()

* SM-114: Add create & update project endpoints ()

* SM-114: Initial commit with create project endpoint (for SM)

* SM-114: Add Update Project route (for SM)

* SM-114: Fix file encodings

* Fix DI issue for SM Project Create/Update commands

* Fix import ordering for linter

* SM-114: Remove unneeded lines setting DeletedDate, as it should already be null

* SM-114: Only have OrgId in route for CreateProject

* Remove unneeded using

* SM-114: Initial commit with create project endpoint (for SM)

* SM-114: Add Update Project route (for SM)

* SM-114: Fix file encodings

* Fix DI issue for SM Project Create/Update commands

* Fix import ordering for linter

* SM-114: Remove unneeded lines setting DeletedDate, as it should already be null

* SM-114: Only have OrgId in route for CreateProject

* Remove unneeded using

* Fully remove OrgId from ProjectCreateRequestModel

* [SM-64] Soft Delete Secrets ()

* Bulk delete secrets with command unit tests

* Controller unit tests

* Optimize conditionals

* SM-64 bulk delete integration test

* fix test

* SM-64 code review updated

* [SM-65] Fix return empty secrets list ()

* Secrets return empty list

* [SM-246] Use repository in integration test ()

* [SM-190] Add integration tests to Secrets ()

* Adding integration tests for the SecretsController

Co-authored-by: Hinton <hinton@users.noreply.github.com>

* Sm 95 - Adding GetProjects endpoint ()

* SM-114: Initial commit with create project endpoint (for SM)

* SM-114: Add Update Project route (for SM)

* SM-114: Fix file encodings

* Fix DI issue for SM Project Create/Update commands

* Adding GetProjectsByOrg

* fixing merge conflicts

* fix

* Updating to return empty list

* removing null check

Co-authored-by: Colton Hurst <colton@coltonhurst.com>
Co-authored-by: CarleyDiaz-Bitwarden <103955722+CarleyDiaz-Bitwarden@users.noreply.github.com>

* [SM-191] Create ServiceAccount Table ()

* SM-191 Create ServiceAccount Table

* [SM-207] API for listing service accounts by organization ()

* SM-207 list service accounts by org

* SM-96: Add ability to get project by id ()

* SM-96: Small change to allow getting project by id

* Fix whitespace issue

* Add first integration test and fix date bug

* Ensure tests are consistent

* Add more project controller integration tests

* Remove commented delete for now

* [SM-187] Create ServiceAccounts ()

* SM-187 Create & Update ServiceAccounts

* Remove extra new line src/Api/Controllers/ServiceAccountsController.cs

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* [SM-218] [SM-219] SM Auth flow ()

* SM-282 Delete Projects ()

* SM-282 delete & bulk delete projects

* Have delete commands return tuple with object

* Fix admin project not working after secrets manager changes ()

* [SM-150] proj and secrets mapping ()

* Beggining of changes for Project Secrets mapping

* Beggining of changes for project and secrets mapping

* Inital changes to add Mapping table for Project Secrets

* Resolve migration not working properly

* Indent sql

* Changes to try and return projects in the GetManyByOrganizaationIDAsync on SecretRepository.

* Changes made with Oscar

* Add reversemap

* running lint and removing comments

* Lint fixes

* fixing merge issues

* Trying to fix the DB issue

* DB fixes

* fixes

* removing unused space

* fixing lint issue

* final lint fix I hope

* removing manually added sql.sqlproj

* Lint changes and fixing the sql proj issues

* adding ServiceAccount to sql proj

* Removing ON DELETE CASCADE

* remove On delete cascade

* changes for deleting project and secret inside of the Organization_DeleteById procedure.

* changes for deleting project and secret inside of the Organization_DeleteById procedure.

* migration changes

* Updating constraints

* removing void

* remove spaces

* updating cipherRepo tests to be task instead of void

* fixing

* fixing

* test

* fix

* fix

* changes to remove circular dependency

* fixes

* sending guid and string name of the project over

* Update src/Sql/dbo/Tables/Secret.sql

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* Update src/Sql/dbo/Tables/Project.sql

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* removing unused code

* Potential refactor ()

* migrations

* Postgres migraiton

* Update src/Api/SecretManagerFeatures/Models/Response/SecretResponseModel.cs

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* rename file

* Update util/Migrator/DbScripts/2022-09-19_00_ProjectSecret.sql

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* Lint fixes

* removing extra semi colon

* removing circular references with projects and secrets

* adding back projects

* Add ProjectFixture

* Update util/Migrator/DbScripts/2022-09-19_00_ProjectSecret.sql

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* Update util/Migrator/DbScripts/2022-09-19_00_ProjectSecret.sql

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

Co-authored-by: CarleyDiaz-Bitwarden <103955722+CarleyDiaz-Bitwarden@users.noreply.github.com>
Co-authored-by: Hinton <hinton@users.noreply.github.com>

* [SM-300] Access token endpoint ()

* [SM-324] Add Organization to JWT claim ()

* [SM-259] Add create access token endpoint for service accounts ()

* Add create access token for service accounts

* [SM-259] Fix create access token scope initialization ()

* Fix namespace for ServiceAccount command tests

* Remove "this" from SecretsManager requests

* Fix have scope be assigned a JSON list

* SM-99: Individual Project / Secrets Tab ()

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* [SM-361] Add Support for never expiring ApiKeys ()

* Update database to support never expiring ApiKey

* Update Api to support never expiring ApiKeys

* Fix unit test variable naming

* Remove required from model

* Fix spacing

* Add EF migrations

* Run dotnet format

* Update util/Migrator/DbScripts/2022-11-29_00_ApiKey_Never_Expire.sql

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>

* [SM-359] Fix project secrets migration ()

* [SM-299] Add UseSecretsManager flag ()

* [SM-193] Access Policy ()

* [SM-371] Fix and re-enable parallel integration tests ()

* Fix and re-enable parallel integration tests

* Fix package lock files

* Move fix to ApiApplicationFactory

* Run dotnet restore --force

* Run dotnet format

* Reset packages.lock.json files

* Add project access checks for listing

* SM-99: Add CreateSecretWithProject Integration Test ()

* Add GetSecretsByProjectAsync endpoint

* Add GetManyByProjectIdAsync endpoint

* Update response model for GetSecretsByProjectAsync

* Include projects when returning secrets by project id

* SM-99: Add ability to specify projectId when creating a secret

* SM-99: Update tests to accomodate for new create secret parameter

* Fix failing test

* SM-99: Handle optional projectId for new secret in ToSecret()

* SM-99: Filter out deleted secrets on GetManyByProjectIdAsync() and small refactorings

* SM-99: make CreateAsync for secret more clear

* Add CreateSecretWithProject integration test

* Fix CreateSecretWithProject integration test for SM-99

* Run dotnet format

* Undo added space

* Refactor test

* Refactor CreateSecretWithProject API Integration test again

* Change to boolean flag

* [SM-379] Add SDK device type ()

* Add support for service accounts

* Improve logic for project repository

* Add remaining client types

* Experiment with separate enum for access control

* Add access checks to update project

* Rework AccessClientType

* Add access checks to fetching project

* Add checks to delete project command (untested)

* Remove some service account stuff

* Add ServiceAccount to AccessClientType

* Change CS8509 to error and 8424 to ignore

* Remove unused utcNow

* Fix delete tests

* SM-73 changes ()

* testing

* test2

* testing

* trying to save the projects associated with the secret

* changes

* more changes

* Fix  EF error

* Second attempt

* Replace AddIfNotExists with Add.

* changes

* fixing await issue

* lint

* lint fixes

* suggested changes

* suggested changes

* updating tests

* fixing tests 2

* fixing tests

* fixing test

* fixing test

* fixing tests

* test

* testing

* fixing tests for the millionth time

* fixing tests

* allowing nulls for projectIds, fixing lint

* fixing tests

Co-authored-by: Hinton <hinton@users.noreply.github.com>

* fixing tests

* fixing tests

* [SM-222] [SM-357] Squash Secrets Manager migrations ()

* Fix tables not being cleaned up

* Fix migration

* Squash secrets manager migrations

* Reset EF to pre SM state

* Add EF migrations

* Fix unified docker

* Add missed copy

* Fix all unit tests

* draft changes to add access checks to secrets

* updating code

* more changes

* fixing issues

* updating logic for access checks

* updating secrets controller

* changes

* changes

* merging more

* changes

* updateS

* removing unused comment

* changes requested by Thomas

* more changes suggested by Thomas

* making thomas's suggested changes

* final changes

* Run dotnet format

* fixes

* run dotnet format

* Updating tests

* Suggested changes

* lint fixes

* Test updates

* Changes

* Fixes for tests, and dotnet format

* Fixes

* test fixes

* changes

* fix

* fix

* test fix

* removing duplicate

* Removing dupe

---------

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
Co-authored-by: CarleyDiaz-Bitwarden <103955722+CarleyDiaz-Bitwarden@users.noreply.github.com>
Co-authored-by: Thomas Avery <tavery@bitwarden.com>
Co-authored-by: Colton Hurst <colton@coltonhurst.com>
2023-02-16 11:42:07 -08:00
Brandon Maharaj
bcaba6652b
[SG-1022] Update min password requirements to 12 char ()
* fix: update to 10

* work: 12
2023-02-16 13:15:45 -05:00
Thomas Avery
bcc2a2a1ce
[SM-502] Fix Users with no name ()
* Return email if username is empty
2023-02-16 10:05:19 -06:00