* feat: shorten socket paths
* fix: No such file or directory error
* feat: remove tmp folder from path
* fix: No such file or directory autofill error
* Extract windows biometrics v2 changes
Co-authored-by: Bernd Schoolmann <mail@quexten.com>
* Address some code review feedback
* cargo fmt
* rely on zeroizing allocator
* Handle TDE edge cases
* Update windows default
* Make windows rust code async and fix restoring focus freezes
* fix formatting
* cleanup native logging
* Add unit test coverage
* Add missing logic to edge case for PIN disable.
* Address code review feedback
* fix test
* code review changes
* fix clippy warning
* Swap to unimplemented on each method
* Implement encrypted memory store
* Make dpapi secure key container pub(super)
* Add comments on sync and send
* Clean up comments
* Clean up
* Fix build
* Add logging and update codeowners
* Run cargo fmt
* Clean up doc
* fix unit tests
* Update apps/desktop/desktop_native/core/src/secure_memory/secure_key/mod.rs
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
* Handle tampering with re-key and log
* Add docs
* Fix windows build
* Prevent rust flycheck log from being commited to git
* Undo feature flag change
* Add env var override and docs
* Add deps to km owership
---------
Co-authored-by: Thomas Avery <tavery@bitwarden.com>
Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
* [BEEEP][PM-255518] Use tracing for improved observability
* feedback dani-garcia: use DefaultVisitor
* set default log level
* convert printlns in objc crate
* convert printlns in autotype crate
* convert printlns in autostart crate
* convert printlns in core/password crate
* convert printlns in core/biometric crate
* convert printlns in napi crate
* convert log usage in macos provider crate
* convert existing log macros to tracing
* fix the cargo.toml sort lint errors
* Revert "fix the cargo.toml sort lint errors"
This reverts commit fd149ab697.
* fix the sort lint using correct cargo sort version
* feedback coltonhurst: more comments/clarity on behavior
* revert changes to ssh_agent
* Use tracing in ssh_agent
* [BEEEP][PM-255518] Use tracing for improved observability
* feedback dani-garcia: use DefaultVisitor
* set default log level
* convert printlns in objc crate
* convert printlns in autotype crate
* convert printlns in autostart crate
* convert printlns in core/password crate
* convert printlns in core/biometric crate
* convert printlns in napi crate
* convert log usage in macos provider crate
* convert existing log macros to tracing
* fix the cargo.toml sort lint errors
* Revert "fix the cargo.toml sort lint errors"
This reverts commit fd149ab697.
* fix the sort lint using correct cargo sort version
* feedback coltonhurst: more comments/clarity on behavior
* revert changes to ssh_agent
* Prevent memory dumping and debugger on windows and mac main process
* Fix clippy
* Only isolate process when isdev is false
* Clean up
* Add backticks around link
Apply the same clippy configuration as we have in sdk-internal. bitwarden/sdk-internal@49f84e6/Cargo.toml#L91-L94
Adds FIXME comments to all existing violations. unwrap is bad as those will resullt in panics and crash the application. Unused async is ignored in napi since that would require changes to the js side which I don't want to deal with.
* Chrome extension biometric unlock not functioning correctly with Windows Hello.
When unlocking via Windows Hello prompt, the popup have to be in the foreground. If it is not, even for short amount of time (few seconds), if later prompt confirmed, it won't return success when returning signed os key half.
* unit test coverage
* unit test coverage
* exclude test files from build
* use electron `setAlwaysOnTop` instead of toggle
* remove Windows os key half created with derive_key_material biometric function, that prompted Windows Hello.
Moves Windows hello prompt into getBiometricKey.
Witness key no longer needed.
* windows crate formatting
* remove biometric on app start for windows
* failing os biometrics windows unit tests
* cleanup of os biometrics windows unit tests
* increased coverage of os biometrics windows unit tests
* open Windows Hello prompt in the currently focused window, instead of always desktop app
* conflict resolution after merge, typescript lint issues, increased test coverage.
* backwards compatibility when require password on start was disabled
* biometric unlock cancellation and error handling
* biometric settings simplifications
* Update russh version, and add sessionbind information
* Cargo fmt
* Clean up to fix lint
* Attempt to fix windows
* Use expect instead of unwrap
* Fix cargo toml
* delete password on Windows desktop throws incorrect error
* delete password on Windows desktop throws incorrect error
* napi documentation improvements
* napi documentation update
* better logging verbosity
* desktop native clippy errors
* unit test coverage
* napi TS documentation JS language friendly
* fixing merge conflicts
* Moved all desktop native dependencies to workspace
* Excluded workspace Cargo.toml from code ownership
* Added all Cargo dependencies to Renovate config
* Fixed from test warnings.
* Updates to lockfile
* fix: fallback to data.json on Linux
* fix: make keyring prompt more consistent for reads+writes, but less assertive when we delete credentials
* fix: explicitly ignore unused return value
* [deps] Platform: Pin dependencies
* fix: version conflicts by making them workspace deps
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Andreas Coroiu <andreas.coroiu@gmail.com>
* 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
* 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
* 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
* 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>