Skip to content

Port to zbus 6 - #610

Open
domenkozar wants to merge 3 commits into
linux-credentials:mainfrom
domenkozar:feat/zbus6
Open

domenkozar wants to merge 3 commits into
linux-credentials:mainfrom
domenkozar:feat/zbus6

Conversation

@domenkozar

@domenkozar domenkozar commented Oct 19, 2026 •

Copy link
Copy Markdown

Move oo7's D-Bus client, daemon, CLI, and portal to zbus 6. Together with the GVariant split already merged in #552, this removes the standalone zvariant, zvariant_derive, and zbus_names packages from the workspace lockfile.

  • Use zbus::wire types, Variant/OwnedVariant, and as_variant adapters, retaining the existing Secret Service signatures and GNOME double-wrapped variant handling.
  • Adapt deferred builder validation, request-name flags, owned property deserialization, and the standard Unix sockets required by the peer-to-peer test harness.
  • Preserve the public tokio and async-std features, mapping the latter to zbus/default-rt. Keep zgvariant for keyring files and the PAM socket protocol.
  • Remove the daemon's unused enumflags2 dependency.

Applications passing connections to oo7 must use zbus 6, available through oo7::zbus.

This depends on the ashpd zbus 6 migration: bilelmoussaoui/ashpd#491. To make the complete workspace buildable and testable, ashpd is temporarily pinned to a port backported onto its stable 0.13.13 APIs. Replace that Git pin with a released ashpd version and remove its deny.toml source allowance before merging/releasing this change.

Validation:

  • cargo check --workspace.
  • cargo test -p oo7 -p oo7-daemon -p kwallet-parser --features oo7/schema: 248 passed, 2 ignored, including encrypted/plain peer-to-peer Secret Service tests, GNOME and Plasma prompts, signals, keyring fixtures, and PAM listener tests.
  • OpenSSL client tests: 129 passed, 2 ignored. OpenSSL daemon tests: 104 passed.
  • Workspace Clippy with all targets and -D warnings; client Clippy for async-std/native and Tokio/OpenSSL; async-std/OpenSSL check.
  • Nightly cargo fmt --all --check and git diff --check.
  • cargo-deny check bans licenses sources: all pass. cargo-audit 0.22.2 reports zero vulnerabilities and zero advisory warnings against the current RustSec database. The locally installed cargo-deny 0.18.2 cannot parse CVSS 4 advisories, so its advisory check is covered separately by cargo-audit.

Prepared with Codex.

Comment thread client/README.md Outdated
@github-actions

Copy link
Copy Markdown

📊 Code Coverage Report

Metric Value
Current PR Coverage 83.40%
Main Branch Coverage 83.37%
Coverage Change 📈 +0.03%

Coverage report generated by cargo-tarpaulin

Comment thread Cargo.toml

[workspace.dependencies]
ashpd = { version = "0.13", default-features = false }
# Temporary until https://github.com/bilelmoussaoui/ashpd/pull/491 is released.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see this

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants