Commit Graph

90 Commits

Author SHA1 Message Date
Bernd Schoolmann 0be5ba7797
Cleanup 2024-11-29 17:15:15 +01:00
Bernd Schoolmann 2f0c1610d9
Implement rust fido2 for desktop mac and linux 2024-11-29 16:44:42 +01:00
renovate[bot] 927c2fce43
[deps] Platform: Update Rust crate ssh-key to v0.6.7 (#12133)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-28 10:12:09 +01:00
renovate[bot] c0ab62fad0
[deps] Platform: Update Rust crate homedir to v0.3.4 (#12129)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-28 10:02:24 +01:00
renovate[bot] d5b14d11d4
[deps] Platform: Update Rust crate tokio to v1.41.1 (#11950)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-27 14:08:56 +01:00
Daniel García 08ce0c863b
Fix conflict with pinned dependency (#12147)
# Conflicts:
#	apps/desktop/desktop_native/core/Cargo.toml
2024-11-25 16:14:53 +00:00
renovate[bot] 12fa1af2c5
[deps] Platform: Pin Rust crate tokio-util to =0.7.11 (#12121)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-25 16:59:00 +01:00
renovate[bot] da6a0cb8e9
[deps] Platform: Update Rust crate pin-project to v1.1.7 (#12132)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
2024-11-25 15:00:29 +01:00
renovate[bot] e07ddcea59
[deps] Platform: Update Rust crate windows to v0.58.0 (#10580)
* [deps] Platform: Update Rust crate windows to v0.58.0

* Fix windows build

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
2024-11-25 14:59:51 +01:00
renovate[bot] 0723feac9e
[deps] Platform: Update Rust crate async-stream to v0.3.6 (#12128)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
2024-11-25 14:59:03 +01:00
Daniel García 079f84e7d9
Fix IPC errors with DDG caused by big messages being split (#11987) 2024-11-20 10:55:11 +01:00
Bernd Schoolmann 5e6c5c8779
[PM-14993] Add ssh-agent error handling and security fixes (#12048)
* Add error handling and security fixes

* Add is running status, and add more errors on windows
2024-11-20 10:38:21 +01:00
Bernd Schoolmann eda38855f0
[PM-14989] Add unit tests for putty keys (#12030) 2024-11-20 01:09:12 -08:00
renovate[bot] 140a514be3
[deps] Platform: Pin dependencies (#11528)
* [deps] Platform: Pin dependencies

* Bump Versions

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
2024-11-19 09:49:21 -05:00
Daniel García d0f24dc41f
Improve desktop IPC logging (#11864)
* Improve desktop IPC logging

* Log error

* Force file to only log info, like the desktop app does

* use ?
2024-11-14 17:45:19 +01:00
renovate[bot] cab1156d63
[deps] Platform: Update Rust crate thiserror to v1.0.69 (#11944)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-12 15:17:00 +01:00
renovate[bot] 19e786f820
[deps] Platform: Update Rust crate tokio-util to v0.7.12 (#11946)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-11 14:14:06 +01:00
renovate[bot] 25f00513c0
[deps] Platform: Update Rust crate libc to v0.2.162 (#11731)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-11 12:39:34 +01:00
Bernd Schoolmann 081fe83d83
PM-10393 SSH keys (#10825)
* [PM-10395] Add new item type ssh key (#10360)

* Implement ssh-key cipher type

* Fix linting

* Fix edit and view components for ssh-keys on desktop

* Fix tests

* Remove ssh key type references

* Remove add ssh key option

* Fix typo

* Add tests

* [PM-10399] Add ssh key import export for bitwarden json (#10529)

* Add ssh key import export for bitwarden json

* Remove key type from ssh key export

* [PM-10406] Add privatekey publickey and fingerprint to both add-edit and view co… (#11046)

* Add privatekey publickey and fingerprint to both add-edit and view components

* Remove wrong a11y title

* Fix testid

* [PM-10098] SSH Agent & SSH Key creation for Bitwarden Desktop (#10293)

* Add ssh agent, generator & import

* Move ssh agent code to bitwarden-russh crate

* Remove generator component

* Cleanup

* Cleanup

* Remove left over sshGenerator reference

* Cleanup

* Add documentation to sshkeyimportstatus

* Fix outdated variable name

* Update apps/desktop/src/platform/preload.ts

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Rename renderersshagent

* Rename MainSshAgentService

* Improve clarity of 'id' variables being used

* Improve clarity of 'id' variables being used

* Update apps/desktop/src/vault/app/vault/add-edit.component.html

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Fix outdated cipher/messageid names

* Rename SSH to Ssh

* Make agent syncing more reactive

* Move constants to top of class

* Make sshkey cipher filtering clearer

* Add stricter equality check on ssh key unlock

* Fix build and messages

* Fix incorrect featureflag name

* Replace anonymous async function with switchmap pipe

* Fix build

* Update apps/desktop/desktop_native/napi/src/lib.rs

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Revert incorrectly renamed 'Ssh' usages to SSH

* Run cargo fmt

* Clean up ssh agent sock path logic

* Cleanup and split to platform specific files

* Small cleanup

* Pull out generator and importer into core

* Rename renderersshagentservice to sshagentservice

* Rename cipheruuid to cipher_id

* Drop ssh dependencies from napi crate

* Clean up windows build

* Small cleanup

* Small cleanup

* Cleanup

* Add rxjs pipeline for agent services

* [PM-12555] Pkcs8 sshkey import & general ssh key import tests (#11048)

* Add pkcs8 import and tests

* Add key type unsupported error

* Remove unsupported formats

* Remove code for unsupported formats

* Fix encrypted pkcs8 import

* Add ed25519 pkcs8 unencrypted test file

* SSH agent rxjs tweaks (#11148)

* feat: rewrite sshagent.signrequest as purely observable

* feat: fail the request when unlock times out

* chore: clean up, add some clarifying comments

* chore: remove unused dependency

* fix: result `undefined` crashing in NAPI -> Rust

* Allow concurrent SSH requests in rust

* Remove unwraps

* Cleanup and add init service init call

* Fix windows

* Fix timeout behavior on locked vault

---------

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Fix libc dependency being duplicated

* fix SSH casing (#11840)

* Move ssh agent behind feature flag (#11841)

* Move ssh agent behind feature flag

* Add separate flag for ssh agent

* [PM-14215] fix unsupported key type error message (#11788)

* Fix error message for import of unsupported ssh keys

* Use triple equals in add-edit component for ssh keys

---------

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
Co-authored-by: aj-bw <81774843+aj-bw@users.noreply.github.com>
2024-11-08 11:01:31 +01:00
renovate[bot] 2c914def29
[deps] Platform: Update macOS/iOS bindings (#11793)
* [deps] Platform: Update macOS/iOS bindings

* fix: update security-framework to support core-foundation 0.10.0

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Andreas Coroiu <andreas.coroiu@gmail.com>
2024-11-08 10:02:31 +01:00
renovate[bot] 52c7d21e5f
[deps] Platform: Update Rust crate anyhow to v1.0.93 (#11059)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-06 02:59:35 -05:00
renovate[bot] 350a85674d
[deps] Platform: Update Rust crate napi to v2.16.13 (#11533)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-05 14:20:41 -05:00
renovate[bot] 12cf870e34
[deps] Platform: Update Rust crate zbus to v4.4.0 (#10581)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-05 13:13:52 -05:00
renovate[bot] 8ccece38e3
[deps] Platform: Update Rust crate thiserror to v1.0.68 (#10562)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-05 12:48:47 -05:00
renovate[bot] b800193d80
[deps]: Lock file maintenance (#11542)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-05 15:58:33 +01:00
Daniel García 2e6ed4a4fc
[PM-14270] Use rust to access windows registry (#11413) 2024-11-04 14:50:05 +01:00
renovate[bot] f6755da15b
[deps] Platform: Update Rust crate tokio to v1.41.0 (#10848)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-04 14:10:54 +01:00
Daniel García 5eae599b81
[BEEEP][PM-14388] Better dev experience on desktop-browser IPC (#11822) 2024-11-01 14:13:02 +01:00
renovate[bot] e1863e6c5c
[deps] Platform: Update Rust crate futures to v0.3.31 (#11531)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-30 10:41:24 +01:00
renovate[bot] 2a47b9b06a
[deps] Platform: Update Rust crate tokio-util to v0.7.12 (#11534)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-28 13:55:24 -04:00
renovate[bot] 8d507c04a0
[deps] Platform: Update Rust crate log to 0.4.22 (#11532)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-14 12:08:42 +02:00
Justin Baur 346329c23c
Run `npm run electron` (#11514) 2024-10-11 14:10:20 -04:00
renovate[bot] 1b25716358
[deps] Platform: Update Rust crate libc to v0.2.159 (#10844)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-11 17:52:21 +02:00
renovate[bot] f69e943e72
[deps] Platform: Update napi (#10564)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-11 17:24:07 +02:00
renovate[bot] 6412cfaf80
[deps]: Lock file maintenance (#11442)
* [deps]: Lock file maintenance

* Add `@types/minimatch` back to overrides

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Addison Beck <github@addisonbeck.com>
2024-10-08 14:13:27 -04:00
renovate[bot] 4b200acc3e
[deps]: Update @napi-rs/cli to v2.18.4 (#10584)
* [deps]: Update @napi-rs/cli to v2.18.4

* fix: update desktop/src/package-lock.json to reflect sub-package dependencies

* feat: apply changes after running napi-rs/cli

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Andreas Coroiu <andreas.coroiu@gmail.com>
2024-10-03 13:13:42 +02:00
Daniel García 9aeb412404
[PM-7646][PM-5506] Rust IPC changes: Episode 2 (#11122)
* Revert "[PM-7646][PM-5506] Revert IPC changes (#10946)"

This reverts commit ed4d481e4d.

* Ensure tmp dir gets created on MacOS

* Remove client reconnections

* Improve client error handling and process exiting
2024-10-01 16:28:56 +02:00
renovate[bot] cc0a851c0e
[deps]: Lock file maintenance (#11256)
* [deps]: Lock file maintenance

* Lock glob version to the _very_ old one we need

This seems to be due to electron-builder having old dependencies. REMOVE when electron-builder is updated

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
2024-09-30 15:29:21 -04:00
renovate[bot] 46f62b6dd5
[deps]: Lock file maintenance (#11071)
* [deps]: Lock file maintenance

* Works on my machine

* Lock minimatch types version to the _very_ old one we need

This is yet another dependency locked to years old due to gulp. REMOVE THIS OVERRIDE WHEN WE DROP GULP

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
2024-09-26 10:04:15 -04:00
Oscar Hinton 20d83ab198
[PM-2718] Set nspasteboard.ConcealedType for clipboard on MacOS (#11025)
Enables the use of `exclude_from_clipboard` for macos, introduced in recent version of arboard
2024-09-16 15:16:28 +02:00
renovate[bot] 1e76d237e8
[deps] Platform: Update Rust crate arboard to v3.4.1 (#11017)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-13 10:54:40 +02:00
Todd Martin ed4d481e4d
[PM-7646][PM-5506] Revert IPC changes (#10946)
* Revert "Remove unnecessary plist keys in desktop_proxy (#10933)"

This reverts commit 4dbb036df1.

* Revert "Fix TestFlight errors caused by desktop_proxy (#10928)"

This reverts commit 40cb4b5353.

* Revert "[PM-5506] Enable electron fuses (#10073)"

This reverts commit 78c5e9c706.

* Revert "[PM-7846] Implement a rust based native messaging proxy and IPC system (#9894)"

This reverts commit 55874b72bf.
2024-09-09 09:09:17 -04:00
Daniel García 40cb4b5353
Fix TestFlight errors caused by desktop_proxy (#10928)
* Add info.plist and enable app-sandbox

* Log available identities

* Fix cert selection

* Remove comment
2024-09-06 17:48:51 +02:00
Daniel García 55874b72bf
[PM-7846] Implement a rust based native messaging proxy and IPC system (#9894)
* [PM-7846] Implement a rust based native messaging proxy and IPC system

* Only build desktop_proxy

* Bundle the desktop_proxy file

* Make sys deps optional for the proxy

* Restore accidentally deleted after-sign

* Update native cache to contain dist folder

* Add some test logging

* Native module cache seems very aggressive

* Fix invalid directory

* Fix debug print

* Remove cache force

* Remove cache debug code

* Only log to file in debug builds

* Place the binary in the correct place for mac and make sure it's signed

* Fix platform paths

* Test unsigned appx

* Revert "Test unsigned appx"

This reverts commit e47535440a.

* Fix comment

* Remove logs

* Use debug builds in native code, and test private path on MacOS

* Add connected message

* Update IPC API comments

* Update linux to also use XDG_ dir

* Update main.rs comment

* Improve docs and split some tasks spawned into separate functions

* Update send docs and return number of elements sent

* Mark `listen` as async to ensure it runs in a tokio context, handle errors better

* Add log on client channel closed

* Move binary to MacOS folder, and sign it manually so it gets the correct entitlements

* Fix some review comments

* Run prettier

* Added missing zbus_polkit dep

* Extract magic number and increase it to match spec

* Comment fix

* Use Napi object, combine nativeBinding export, always log to file

* Missed one comment

* Remove unnecessary generics

* Correct comment

* Select only codesigning identities

* Filter certificates

* Also add local dev cert

* Remove log

* Fix package ID

* debug_assert won't run the pop() in release mode

* Better error messages

* Fix review comments

* Remove unnecessary comment

* Update napi generated TS file

* Temporary fix for DDG
2024-09-05 12:54:24 +02:00
renovate[bot] 0419f91df6
[deps]: Lock file maintenance (#10852)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-04 13:55:46 -04:00
renovate[bot] 97744a02cd
[deps]: Lock file maintenance (#10609)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-29 10:04:49 -04:00
Bernd Schoolmann 86f3a679ae
[PM-4530] Fix sso in snap desktop (#10548)
* Add localhost callback service for sso

* Fix redirect behaviour

* Update apps/desktop/src/app/app.component.ts

Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>

* Fix incorrect http response for sso callback

* Add sso error

* Update error message

---------

Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
2024-08-26 15:13:45 +02:00
renovate[bot] beaa86dd1b
[deps]: Pin dependencies (#9558)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-19 14:37:27 +02:00
Bernd Schoolmann 2ce8500391
[PM-990] Unix biometrics unlock via Polkit (#4586)
* Update unix biometrics for desktop biometrics rework

* Implement polkit policy setup

* Enable browser integration on Linux

* Remove polkit policy file

* Undo change to messages.json

* Fix biometrics setup, implement missing functions

* Implement osSupportsBiometrics

* Fix polkit settings message

* Remove unwraps in biometrics unix rust module

* Force password reprompt on start on linux with biometrics

* Merge branch 'main' into feature/unix-biometrics

* Allow browser extension to be unlocked on Linux via Polkit

* Implement availability check

* Cleanup

* Add auto-setup, manual setup, setup detection and change localized prompts

* Implement missing methods

* Add i18n to polkit message

* Implement missing method

* Small cleanup

* Update polkit consent message

* Fix unlock and print errors on failed biometrics

* Add dependencies to core crate

* Fix reference and update polkit policy

* Remove async-trait

* Add tsdoc

* Add comment about auto setup

* Delete unused init

* Update help link

* Remove additional settings for polkit

* Add availability-check to passwords implementation on linux

* Add availability test

* Add availability check to libsecret

* Expose availability check in napi crate

* Update d.ts

* Update osSupportsBiometric check to detect libsecret presence

* Improve secret service detection

* Add client half to Linux biometrics

* Fix windows build

* Remove unencrypted key handling for biometric key

* Move rng to rust, align linux bio implementation with windows

* Consolidate elevated commands into one

* Disable snap support in linux biometrics

---------

Co-authored-by: DigitallyRefined <129616584+DigitallyRefined@users.noreply.github.com>
2024-08-06 11:04:17 -04:00
Bernd Schoolmann 8090a89a32
Add rust module to prevent run-time memory dumping of main (#9393) 2024-08-05 15:51:38 -04:00