linux-credentials / linux-credentials/credentialsd

Rewrite webextension shim in Rust

Aperta
#71 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

help wanted
Lingua principale
Rust
Stelle
259
Fork
19
Merge medio
1g 2h
PR unite (30g)
12

Descrizione

The web extension shim translates between the native messaging protocol and the D-Bus API for credentialsd. It's currently written in Python using the dbus-next Python package.

We target Ubuntu 22.04 as our oldest supported OS, but the dbus-next package isn't packaged until 25.04. To make it easier for people to test using the extension, it may be worth rewriting this in Rust.

However, part of the purpose of using a different language, namely Python, was to catch discrepancies between docs and the implementation. If we do rewrite it, it might be good to use a different library than zbus (like dbus-rs) or not to use the proxy macros from zbus and craft messages manually. This might be overkill, and maybe we just need to write better integration tests.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia da webext/app e confronta il suo comportamento di native messaging e D-Bus con le interfacce documentate. Valuta se una riscrittura in Rust o test di integrazione migliori risolverebbero il vincolo di packaging di Ubuntu 22.04, e definisci come completamento la conservazione del comportamento dello shim senza fare affidamento sul pacchetto dbus-next non disponibile.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
linux, python, rust
Ambito
api, backend
Tipo di issue
Refactoring
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.