Hello Debian GNOME maintainers,

Follow-up build evidence for my previous source-level RFC sent to this bug.

I compiled gnome-keyring 51.1 with a guarded patch that replaces a
NULL-PKCS#11-session g_return_val_if_fail() in the two OpenSession
negotiation paths (AES and plain) with g_set_error_literal(error_out,
G_DBUS_ERROR, G_DBUS_ERROR_FAILED, ...) followed by return FALSE.

The source archive was verified:
SHA256 dfe7adc5876ef0670e7eba2907799bdbb8875ce58bb4208e1a52169bd16a47ca

Build was isolated inside an Ubuntu 26.10 Docker container; the host's
keyring and credentials were not mounted. Meson 1.10.1 configuration
succeeded, ninja compilation passed, and a gnome-keyring-daemon binary
was produced.

Test summary: 60/61 Meson tests passed. The only failing test was
gnome-keyring:startup, /daemon/startup/control/noaccess. It checks
that an inaccessible control directory is not accepted, but in the
root-run container the test process could access the directory and its
assertion failed (the expected and actual control paths were
identical). Root execution is a plausible environment cause; it has
NOT been independently verified because the non-root rerun was
blocked. This is not an assertion of full test-suite PASS.

Build log excerpt:
  60/61 gkr-daemon - gnome-keyring:startup FAIL SIGABRT
  assertion failed (g_environ_getenv(output, "GNOME_KEYRING_CONTROL")
!= directory)
  Summary: Ok: 60, Fail: 1

A synthetic missing-client D-Bus reproducer and an end-to-end
verification of the crash fix are still missing. I did not install the
compiled binary on the affected machine.

Please compare with GNOME MR !112 (OpenSession client-record handling)
before treating this as a separate patch.

Regards,
Alexander Stepanov

Reply via email to