Daniel García
7c89c52098
Dynamically load MacOS passkey ( #12897 )
2025-01-16 16:50:38 +01:00
Daniel García
4a1e8cc763
Remove unused lifetime ( #12889 )
2025-01-15 18:14:31 +01:00
Bernd Schoolmann
c451f500f9
Cleanup destkop native loader and support gnu fallback loading ( #12498 )
2025-01-09 18:15:58 +01:00
Bernd Schoolmann
a527aa9196
[PM-2094] Fix windows hello focusing behavior ( #12255 )
...
* Implement new windows focus behavior
* Fix formatting
* Fix clippy warning
* Fix clippy warning
* Fix build
* Fix build
2025-01-09 14:07:40 +01:00
Bernd Schoolmann
bb2961f4ca
[PM-10413] ssh keygen on web and browser ( #12176 )
...
* Move desktop to sdk ssh-key generation
* Add ssh keygen support on web and browser
* Move ssh keygen on all clients behind feature flag
* Update package lock
* Fix linting
* Fix build
* Fix build
* Remove rand_chacha
* Move libc to linux-only target
* Remove async-streams dep
* Make generateSshKey private
* Remove async from generate ssh key
* Update cargo lock
* Fix sdk init for ssh key generation
* Update index.d.ts
* Fix build on browser
* Fix build
* Fix build by updating libc dependency
2025-01-08 16:01:23 +01:00
renovate[bot]
003f5fdae9
[deps]: Lock file maintenance ( #12709 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
2025-01-07 13:38:19 +01:00
renovate[bot]
dac23db952
[deps] Platform: Update Rust crate napi-build to v2.1.4 ( #12546 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-03 15:15:32 -05:00
renovate[bot]
c69278e761
[deps] Platform: Update Rust crate uniffi to 0.28.3 ( #12549 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-03 14:28:44 -05:00
renovate[bot]
1e6471bb1d
[deps] Platform: Update Rust crate cc to 1.2.4 ( #12297 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-03 12:57:54 -05:00
renovate[bot]
5a3681655b
[deps] Platform: Update Rust crate libc to v0.2.169 ( #12131 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-02 14:28:57 -05:00
renovate[bot]
aee0bdcd12
[deps] Platform: Update macOS/iOS bindings ( #11947 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-02 10:05:45 -05:00
renovate[bot]
1d33acbffc
[deps]: Lock file maintenance ( #11953 )
...
* [deps]: Lock file maintenance
* Regenerate package lock
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Addison Beck <github@addisonbeck.com>
2025-01-01 00:45:23 -05:00
Daniel García
fff412665f
Run clippy and rustfmt on CI ( #12388 )
...
* Run clippy and rustfmt on CI
* Error on warnings and fix a couple of missed lints
* Move import inside function
* Fix unix lints
* Fix windows lints
* Missed some async tests
* Remove unneeded reference
2024-12-19 22:49:45 +01:00
Daniel García
51f6594d4b
[PM-9473] Add messaging for macOS passkey extension and desktop ( #10768 )
...
* Add messaging for macos passkey provider
* fix: credential id conversion
* Make build.sh executable
Co-authored-by: Colton Hurst <colton@coltonhurst.com>
* chore: add TODO
---------
Co-authored-by: Andreas Coroiu <andreas.coroiu@gmail.com>
Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
Co-authored-by: Colton Hurst <colton@coltonhurst.com>
2024-12-19 09:00:21 +01:00
Icelk
617469127a
ssh agent: fix first start when no .bitwarden-ssh-agent.sock exists ( #12356 )
...
Co-authored-by: Bernd Schoolmann <mail@quexten.com>
2024-12-12 13:45:37 +01:00
Bernd Schoolmann
e8d8a816dd
[PM-14988] Use peercred / GetNamedPipeClientProcessId to gather info about process connecting to ssh agent ( #12065 )
...
* Fix double prompt when unlocking by ssh request
* Add peercred for unix
* Enable apple-app-store feature
* Add generic parameter
* Update
* Add procinfo for windows
* Show connecting app in ui
* Use struct instead of tuple
* Use atomics instead of mutex
* Fix windows build
* Use is_running function
* Cleanup named pipe listener
* Cleanups
* Cargo fmt
* Replace "" with none
* Rebuild index.d.ts
* Fix is running check
2024-12-11 12:53:00 +01:00
renovate[bot]
8c446b4720
[deps] Platform: Update Rust crate anyhow to v1.0.94 ( #12296 )
...
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-12-09 15:42:42 +01:00
Andreas Coroiu
f16bfa4cd2
[PM-9035] desktop build logic to provide credentials to os on sync ( #10181 )
...
* feat: scaffold desktop_objc
* feat: rename fido2 to autofill
* feat: scaffold electron autofill
* feat: auto call hello world on init
* feat: scaffold call to basic objc function
* feat: simple log that checks if autofill is enabled
* feat: adding some availability guards
* feat: scaffold services and allow calls from inspector
* feat: create custom type for returning strings across rust/objc boundary
* chore: clean up comments
* feat: enable ARC
* feat: add util function `c_string_to_nsstring`
* chore: refactor and rename to `run_command`
* feat: add try-catch around command execution
* feat: properly implement command calling
Add static typing. Add proper error handling.
* feat: add autoreleasepool to avoid memory leaks
* chore: change objc names to camelCase
* fix: error returning
* feat: extract some helper functions into utils class
* feat: scaffold status command
* feat: implement status command
* feat: implement password credential mapping
* wip: implement sync command
This crashes because we are not properly handling the fact that `saveCredentialIdentities` uses callbacks, resulting in a race condition where we try to access a variable (result) that has already gotten dealloc'd.
* feat: first version of callback
* feat: make run_command async
* feat: functioning callback returns
* chore: refactor to make objc code easier to read and use
* feat: refactor everything to use new callback return method
* feat: re-implement status command with callback
* fix: warning about CommandContext not being FFI-safe
* feat: implement sync command using callbacks
* feat: implement manual password credential sync
* feat: add auto syncing
* docs: add todo
* feat: add support for passkeys
* chore: move desktop autofill service to init service
* feat: auto-add all .m files to builder
* fix: native build on unix and windows
* fix: unused compiler warnings
* fix: napi type exports
* feat: add corresponding dist command
* feat: comment signing profile until we fix signing
* fix: build breaking on non-macOS platforms
* chore: cargo lock update
* chore: revert accidental version change
* feat: put sync behind feature flag
* chore: put files in autofill folder
* fix: obj-c code not recompiling on changes
* feat: add `namespace` to commands
* fix: linting complaining about flag
* feat: add autofill as owner of their objc code
* chore: make autofill owner of run_command in core crate
* fix: re-add napi annotation
* fix: remove dev bypass
2024-12-06 16:31:30 +01:00
Bernd Schoolmann
80a898bd8c
[PM-14252] Switch to oo7 and drop libsecret ( #11900 )
...
* Switch to oo7 and drop libsecret
* Fix tests
* Fix windows
* Fix windows
* Fix windows
* Fix windows
* Add migration
* Update apps/desktop/desktop_native/core/src/password/unix.rs
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
* Remove libsecret in ci
* Move allow async to trait level
* Fix comment
* Pin oo7 dependency
---------
Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
2024-12-04 17:03:34 +01:00
Bernd Schoolmann
864e6759fd
Switch to rustcrypto argon2 on desktop ( #11753 )
...
* Switch to rustcrypto argon2 on desktop
* Make argon2 use zeroize
* Remove argon2 native modules from electron-builder config
* Clean rust implementation of argon2
* Update cargo.lock
* Update apps/desktop/desktop_native/napi/src/lib.rs
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
* Add tests
* Clean up test
* Remove argon2 external from webpack main
* Fix build
* Fix argon2 module causing a startup crash
---------
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
2024-12-04 11:54:55 +00:00
Bernd Schoolmann
050417a92e
[PM-14863] Force unlock when keys are cleared / on first unlock and fix account switching behavior ( #11994 )
...
* Force unlock when keys are cleared / on first unlock and fix account switching behavior
* Make comment a doc comment
* Pin russh commit
* Cleanup
* Make list messaging explicit
* Add account switching error handling for ssh agent
* Add account switching error handling for ssh agent
* Cleanup
2024-12-02 11:55:56 +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