1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-27 21:53:25 +00:00
Commit Graph

545 Commits

Author SHA1 Message Date
Matt Gibson
afac694e9a Attachment azure upload blobs (#312)
* Add direct attachment download and upload API endpoints

* Use direct download method

Enable download of emergency access attachments through EmergencyAccessId

* Match new Server model items

* New Server model for creating attachments.

Provides a url to upload data to, the type of upload, and the Cipher Response expected by the previous call

* Use direct upload url and scheme

* Report Failed single shot azure uploads

* Add cipher attachment upload to file upload service

* Deprecate legacy api methods

* Handle old servers missing new upload api methods

* Improve Send error handling

* Fallback attachment downloads on new endpoint not found

Limit upload size to the new 500MB

* Improve error handling

* lint fixes
2021-03-26 16:57:07 -05:00
Thomas Rittson
0735569479 Hide email address in Sends (#310)
* Let organizations disable anonymous Sends only

* Add HideEmail to send models and service

* Delete unnecessary model

* Enforce new Send policy, fix naming conventions

* Fix linting

* Fully disable editing anonymous Sends per policy

* Revert disableSendPolicy, add sendOptionsPolicy

* Rework UI for enforcing disableHideEmail

* Fix linting and cleanup after refactor
2021-03-26 08:27:43 +10:00
Matt Gibson
cfc7687815 Upload to Azure strorage blobs (#296)
* Implemen AzureStorageService

handes uploading files to azure blob

* Correct one-shot size

* Add azureStorage.service abstraction

* Rename azure upload method

* Prefer abstractions in DI

* Abstract file upload to a single service handling uploads

* Fallback to legacy upload method

* Linter fix

* Limit legacy upload to 404 error
2021-03-25 10:20:38 -05:00
Oscar Hinton
f20af0cd7c WebAuthn (#163) 2021-03-15 16:16:51 +01:00
Vladislav Voronin
5d32ba68ec Add disable badge counter (#281)
* jslib code for 287 issue

added bunch of state-save for new option

* remove excessive code

* revert accidental revert
2021-03-10 15:36:33 -05:00
Matt Gibson
8541027d40 Handle text response errors (#301)
* Parse text error response to json Message field

* Do not output object.toString, prefer object serialization
2021-03-09 10:58:17 -06:00
Matt Gibson
36089fd68f Write backup before deleting lowdb database (#291)
* Write backup before deleting lowdb database

* Const for unchanged variables
2021-03-02 11:25:45 -06:00
Matt Gibson
3942868cf4 Include File size in SendRequest (#289) 2021-03-02 09:46:46 -06:00
Matt Gibson
1324416784 Direct download for send (#288)
* Allow for responding with time-limited download URL

* Re-verify access on download link request
2021-03-01 15:03:04 -06:00
Thomas Rittson
00122ab166 Start cipher numbering at 1 in error messages (#283) 2021-02-26 05:53:45 +10:00
Thomas Rittson
42348e2fdc Improve import error messages (#280)
* Parse and format server import errors

* Fix linting issues

* Fix handling of non-validation errors
2021-02-23 13:56:42 +10:00
Oscar Hinton
b0ae1bfa4c Add support for extending VaultTimeoutService (#275) 2021-02-18 19:08:20 +01:00
Matt Gibson
fc1275aeb2 Do not lock until after the file is created (#274)
Proper-lockfile throws if the file it's locking does not exist.
Lock around adapter creation rather than file creation.
2021-02-16 22:29:57 -06:00
Matt Gibson
7941664a59 Lock lowdb storage file to avoid dirty data collisions (#273)
* Lock lowdb storage file to avoid dirty data collisions

* Retry lock acquire rather than immediately fail

* Add proper-lockfile types to dev dependencies

* remove proper-lockfile from jslib.

This package is incompatible with Browser implementations.

* await lock on create
2021-02-15 10:16:12 -06:00
Thomas Rittson
d376927e5e Improved handling of grantor access to organizations after takeover (refactored) (#267)
* Revert "Add policy property to TakeoverResponse"

This reverts commit 31da5081e6833cf8a9d5bb869c14600f25ca3f39.

* Add getEmergencyGrantorPolicies to api service
2021-02-10 09:06:18 +10:00
Kyle Spearrin
a4ac842cec support for copying send link to clipboard on save (#265) 2021-02-08 15:55:32 -05:00
Matt Gibson
58f40b0085 Fix glob processing in npm. Ban single param parens (#257) 2021-02-04 09:49:23 -06:00
Oscar Hinton
11249e3444 Remove a safari hack (#224) 2021-02-03 18:02:02 +01:00
Matt Gibson
09c444ddd4 Add send to cli (#253)
* Upgrade commander to 7.0.0

* Add url to Api call

This is needed to allow access to sends that are available from a
different Bitwarden server than configured for the CLI

* Allow upload of send files from CLI

* Allow send search by accessId

* Utils methods used in Send CLI implementation

* Revert adding string type to encrypted file data

* linter fixes

* Add Buffer to ArrayBuffer used in CLI send implementation
2021-01-29 15:08:52 -06:00
Chad Scharf
06239aea2d update package https-proxy-agent (#246)
* update package http-proxy-agent

* Update syntax appropriately

* Explicitly add utils package to fix broken tests

* Revert "Explicitly add utils package to fix broken tests"

This reverts commit 2cf03fdcbae89e55124c7e36201238520434f8cc.

* Import util in spec to make sure it gets bundled

* Revert "Import util in spec to make sure it gets bundled"

This reverts commit 79264cdab0ef37af855d64a6dc3ef574575309d2.

* Add alias to ensure util module resolves in tests

Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
2021-01-27 20:08:56 -05:00
Addison Beck
9ddec9baf8 Lunr search bug (#251)
* changed hrtime library

* changed import style
2021-01-25 15:03:28 -05:00
Matt Gibson
e1f1d7e702 Enable search for sends (#249) 2021-01-22 19:54:22 -06:00
Addison Beck
68bd93e45b added Send sync notification support (#250) 2021-01-22 16:52:08 -05:00
Oscar Hinton
8d161d9245 Improve system.service biometrics condition (#244) 2021-01-11 19:12:40 +01:00
Matt Gibson
cea09a22e5 Update revision date upon cipher restore (#243)
* Update revision date upon cipher restore

* Receive and use returned datetimes from restore
2021-01-08 08:53:41 -06:00
Kyle Spearrin
afa01f67f4 send removePasswordWithServer and model updates (#242) 2020-12-30 16:23:52 -05:00
Matt Gibson
1420082348 Do not export trashed items (#241)
* Do not export trashed items

* Test Item exporting

Does not test organization export. Export's use of apiService is not
very testable. We will either need a testApiService or to refactor
apiService to make mocking easier.

* Linter fixes
2020-12-30 15:08:02 -06:00
Oscar Hinton
573eea66ee Add support for Emergency Access (#204)
* Add support for Emergency Access

* Resolve review comments
2020-12-22 10:53:48 -05:00
Oscar Hinton
f9042408f4 Prevent reloading browser extension when using biometric (#230) 2020-12-16 16:07:15 -05:00
Matt Gibson
2c414ce27a Use log service for console messages (#221)
* Use logService for console messages

* Implement a base ConsoleLog service

Use this class as a default for other services that would like to output
to console. This service is overriden in CLI and Desktop to use CLI's
consoleLogService and electronLogService, respectively.

* Use browser-process-hrtime for timing

* test LogService implementations

* Ignore default import of hrtime

* Clean up imports. Require ConsoleLog injection

Co-authored-by: Matt Gibson <mdgibson@Matts-MBP.lan>
2020-12-11 10:44:57 -06:00
Matt Gibson
72bf18f369 Fix 1password importer (#222)
* Change cipher type based on csv type header

* Test identity and credit card import

* Do not use node 'fs' module

Karma is being used for automated tests so node modules are not available

* WIP: mac and windows 1password importer split

Need to improve windows field identification to limit secret data
exposure and improve user experience

* Hide fields with likely secret values

Co-authored-by: Matt Gibson <mdgibson@Matts-MBP.lan>
2020-12-08 11:29:57 -06:00
Kyle Spearrin
dcbd09e736 encrypted import for bitwarden json (#220) 2020-12-04 21:05:11 -05:00
Matt Gibson
2b8c2c2b3e Revert "Use logService for console messages (#214)" (#219)
This reverts commit 0fed528b6f.
2020-12-04 13:58:32 -06:00
Matt Gibson
0fed528b6f Use logService for console messages (#214)
* Use logService for console messages

* linter autofixes

* Use full import path

* Implement a base ConsoleLog service

Use this class as a default for other services that would like to output
to console. This service is overriden in CLI and Desktop to use CLI's
consoleLogService and electronLogService, respectively.

* linter fixes

Co-authored-by: Matt Gibson <mdgibson@Matts-MBP.lan>
2020-12-04 12:38:26 -06:00
Addison Beck
0565d6f667 Implemented tax collection for subscriptions (#215) 2020-12-04 12:05:31 -05:00
Kyle Spearrin
93a3053f54 support for encrypted json export (#216)
* support for encrypted json export

* adjust filename prefix for encrypted formats

* flip if logic

* remove format param from encrypted export

* encryptedFormat getter
2020-12-03 15:20:38 -05:00
Chad Scharf
0a73b6fca8 Fix lint error (#209) 2020-11-23 12:21:45 -05:00
Fredrik Ekre
adcc618b42 sync: move try-catch out of needsSyncing and handle errors it in fullSync (#207)
The motivation for this is https://github.com/bitwarden/cli/issues/129
where failed sync's are swallowed by try-catch. By moving the try-catch
to the outside it is possible to reuse the already existing
allowThrowOnError argument which callers can use to signal whether
fullSync should throw or ignore errors silently. This patch is
companioned with a patch to the SyncCommand CLI command to pass
allowThrowOnError.
2020-11-23 12:09:09 -05:00
Matt Gibson
cd6b3d47c2 Include revision date in cipher requests (#203)
This is in conjunction with API changes that validates the last known
revision date provided here with the actual last revision date on the
server to block potential data loss due to client desyncs.

Co-authored-by: Matt Gibson <mdgibson@Matts-MBP.lan>
2020-11-23 08:48:40 -06:00
Oscar Hinton
9e4d000b4d Browser <-> desktop communication (#185)
* Add electron constant for browser integration

* Add constant for browser biometrics. Ensure biometry is locked on lock.

* Avoid saving keys outside desktop

* Fix eslint warning

* Add supportsSecureStorage helper to platformUtils to improve readability
2020-11-18 16:10:57 -05:00
Kyle Spearrin
f44e99d74d sr lang (#206) 2020-11-18 15:58:12 -05:00
Kyle Spearrin
6563dccf3b send service and syncing send data (#205)
* send service and syncing send data

* Update send.service.ts
2020-11-18 13:56:41 -05:00
Addison Beck
79b856cb6e Implement User-based API Keys (#197)
* Added support for authenticating with an API key

* added api service methods for user api keys

* fixed a copy/pasted api endpoint url

* Let toIdentityToken() use a a prestored client_id in place of the application client_id if one exists

* Allowed for api key auth in the cli

* Removed some commented out code commited for apiKey auth

* Cleanup for ApiKey auth in the CLI

* Removed cli prefix from client_crendential auth types

* Removed ClientPrefix conditional from decoded token getters

* Update src/services/api.service.ts

Co-authored-by: Kyle Spearrin <kspearrin@users.noreply.github.com>

* formatting

* changed command from login --apiKey to login --apikey

Co-authored-by: Kyle Spearrin <kspearrin@users.noreply.github.com>
2020-11-10 15:15:40 -05:00
Kyle Spearrin
0e9e73ce95 Some groundwork for Send (#192)
* send work

* New method to update the last used index (#184)

Instead of updating it every time you call getNext(), it will be updated in a separate call, to avoid updating the index when the cipher did not auto-fill correctly (e.g wrong frame)
Fixes #1392

* added OnlyOrg to PolicyType enum (#183)

* [Require SSO] Add policy type enumeration (#186)

* Added SsoAuthentication policy type

* Updated policy type name // added comments for clarification of what each type controls

* [SSO] New user provision flow (#173)

* Initial commit of new user sso flow

* Adjusted stateSplit conditional per review

* Add logging to lowdb storage service (#188)

* Fix lint errors/warnings (#187)

* remove password api

* access id

* makeSendKey

Co-authored-by: Josep Marí <xusoo@users.noreply.github.com>
Co-authored-by: Addison Beck <abeck@bitwarden.com>
Co-authored-by: Vincent Salucci <26154748+vincentsalucci@users.noreply.github.com>
Co-authored-by: Chad Scharf <3904944+cscharf@users.noreply.github.com>
2020-11-02 15:58:18 -05:00
Kyle Spearrin
8cb5a9f505 hkdf crypto functions (#190)
* hkdf crypto functions

* comment to spec
2020-10-29 15:52:12 -04:00
Chad Scharf
23ded0d115 Fix lint errors/warnings (#187) 2020-10-20 10:20:22 -04:00
Chad Scharf
4cd20f0fa8 Add logging to lowdb storage service (#188) 2020-10-20 09:33:30 -04:00
Josep Marí
685636b129 New method to update the last used index (#184)
Instead of updating it every time you call getNext(), it will be updated in a separate call, to avoid updating the index when the cipher did not auto-fill correctly (e.g wrong frame)
Fixes #1392
2020-10-09 07:30:55 -04:00
Kyle Spearrin
9216a8ead7 pre-create and chmod 600 data file (#182) 2020-10-01 14:13:51 -04:00
Addison Beck
26d40d4c43 Add login launch data (#174)
* added launch time data to CipherView for autofill

* removed unused code

* fixed linter errors
2020-09-23 12:41:25 -04:00