mirror of
https://github.com/bitwarden/browser.git
synced 2024-12-12 14:56:58 +01:00
f16bfa4cd2
* 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
91 lines
2.4 KiB
TOML
91 lines
2.4 KiB
TOML
[package]
|
|
edition = "2021"
|
|
license = "GPL-3.0"
|
|
name = "desktop_core"
|
|
version = "0.0.0"
|
|
publish = false
|
|
|
|
[features]
|
|
default = ["sys"]
|
|
manual_test = []
|
|
|
|
sys = [
|
|
"dep:widestring",
|
|
"dep:windows",
|
|
"dep:core-foundation",
|
|
"dep:security-framework",
|
|
"dep:security-framework-sys",
|
|
"dep:zbus",
|
|
"dep:zbus_polkit",
|
|
]
|
|
|
|
[dependencies]
|
|
aes = "=0.8.4"
|
|
anyhow = "=1.0.93"
|
|
arboard = { version = "=3.4.1", default-features = false, features = [
|
|
"wayland-data-control",
|
|
] }
|
|
argon2 = { version = "=0.5.3", features = ["zeroize"] }
|
|
async-stream = "=0.3.6"
|
|
base64 = "=0.22.1"
|
|
byteorder = "=1.5.0"
|
|
cbc = { version = "=0.1.2", features = ["alloc"] }
|
|
homedir = "=0.3.4"
|
|
libc = "=0.2.162"
|
|
pin-project = "=1.1.7"
|
|
dirs = "=5.0.1"
|
|
futures = "=0.3.31"
|
|
interprocess = { version = "=2.2.1", features = ["tokio"] }
|
|
log = "=0.4.22"
|
|
rand = "=0.8.5"
|
|
retry = "=2.0.0"
|
|
russh-cryptovec = "=0.7.3"
|
|
scopeguard = "=1.2.0"
|
|
sha2 = "=0.10.8"
|
|
ssh-encoding = "=0.2.0"
|
|
ssh-key = { version = "=0.6.7", default-features = false, features = [
|
|
"encryption",
|
|
"ed25519",
|
|
"rsa",
|
|
"getrandom",
|
|
] }
|
|
bitwarden-russh = { git = "https://github.com/bitwarden/bitwarden-russh.git", rev = "b4e7f2fedbe3df8c35545feb000176d3e7b2bc32" }
|
|
tokio = { version = "=1.41.1", features = ["io-util", "sync", "macros", "net"] }
|
|
tokio-stream = { version = "=0.1.15", features = ["net"] }
|
|
tokio-util = { version = "=0.7.12", features = ["codec"] }
|
|
thiserror = "=1.0.69"
|
|
typenum = "=1.17.0"
|
|
rand_chacha = "=0.3.1"
|
|
pkcs8 = { version = "=0.10.2", features = ["alloc", "encryption", "pem"] }
|
|
rsa = "=0.9.6"
|
|
ed25519 = { version = "=2.2.3", features = ["pkcs8"] }
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
widestring = { version = "=1.1.0", optional = true }
|
|
windows = { version = "=0.58.0", features = [
|
|
"Foundation",
|
|
"Security_Credentials_UI",
|
|
"Security_Cryptography",
|
|
"Storage_Streams",
|
|
"Win32_Foundation",
|
|
"Win32_Security_Credentials",
|
|
"Win32_System_WinRT",
|
|
"Win32_UI_Input_KeyboardAndMouse",
|
|
"Win32_UI_WindowsAndMessaging",
|
|
], optional = true }
|
|
|
|
[target.'cfg(windows)'.dev-dependencies]
|
|
keytar = "=0.1.6"
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
core-foundation = { version = "=0.10.0", optional = true }
|
|
security-framework = { version = "=3.0.0", optional = true }
|
|
security-framework-sys = { version = "=2.12.0", optional = true }
|
|
desktop_objc = { path = "../objc" }
|
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
oo7 = "=0.3.3"
|
|
|
|
zbus = { version = "=4.4.0", optional = true }
|
|
zbus_polkit = { version = "=4.0.0", optional = true }
|