Borrowed zeroizing guard for `&mut [u8]`
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 45/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- rust
- Bereich
- cryptography, security
Rechercherichtung
Beginne mit der Überprüfung der bestehenden Implementierungen von Zeroizing und Zeroize und vergleiche anschließend ihr Verhalten mit dem vorgeschlagenen ausgeliehenen Guard für &mut [u8]. Bestimme, ob die API ZeroizingRef<'a, T: Zeroize + ?Sized> oder eine Alternative hinzufügen sollte. Als abgeschlossen gilt die Aufgabe, wenn das Projekt eine vereinbarte öffentliche API für das Bereinigen ausgeliehener Werte hat und der Anwendungsfall sowie das Drop-Verhalten durch Tests abgedeckt sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Zeroizing<T> requires the stored type T itself to implement Zeroize. [u8] does but &mut [u8] does not.
I have a large reusable validator buffer where I need per-validation cleanup. Current workaround is a small guard:
struct ZeroizeOnDrop<'a>(&'a mut [u8]);
impl Drop for ZeroizeOnDrop<'_> {
fn drop(&mut self) {
self.0.zeroize();
}
}
Would you be open to adding an official borrowed guard, e.g. ZeroizingRef<'a, T: Zeroize + ?Sized>(&'a mut T), for this use case?
I'm open to alternatives
- Vorherrschende Sprache
- Rust
- Sterne
- 684
- Forks
- 172
- Ø Merge
- 1 T. 10 Std.
- Gemergte PRs (30 T.)
- 11
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus RustCrypto/utils
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
RustCrypto/utils#1555 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
RustCrypto/utils#1546 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
RustCrypto/utils#1537 · 7 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
RustCrypto/utils#1534 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
cpufeatures: `cfg_select!`-like macroEvtl. vergeben @nazar-pc hat das vor 28 Tagen übernommen. Offen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 45/100
RustCrypto/utils#1529 · 5 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in RustCrypto/utils
Ähnliche Issues
-
build: Update rust versionEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offendependencies
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 67/100
ibm-granite-community/granite-cli#229 ·
Maintainer antworten meist innerhalb von 1 Tag
-
setTargetAtTime booked ahead of time starts its curve early (values blow up before start_time)Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
orottier/web-audio-api-rs#658 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
aosama/astronomical#1318 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
shep-pm/shep-kelpie#980 ·
Maintainer antworten meist innerhalb von 1 Tag