Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Implement client session storage

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

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
rust
Ambito
security

Direzione di ricerca

Inizia leggendo rustls_session_store_get_callback e rustls_server_config_builder_set_persistence, quindi confronta l’API rustls ClientSessionStore collegata. Definisci la superficie FFI per i sette callback e userdata, implementa il ClientSessionStore che esegue il dispatch e verifica che ogni callback venga inoltrato con userdata; il lavoro è completato quando l’archiviazione delle sessioni client è esposta tramite la FFI.

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

Descrizione

Right now we have rustls_server_config_builder_set_persistence to store server sessions, but contrary to the comment on rustls_session_store_get_callback, we haven't actually hooked up client session storage yet.

That's handy, because rustls now has a different API for client session storage than for server session storage. So we need to implement the FFI version of that, and don't have an existing implementation we need to break.

The rough outline is: the user will give us a void *userdata and 7 function pointers, one for each of the required functions on ClientSessionStore:

kx_hint
set_kx_hint
set_tls12_session
tls12_session
remove_tls12_session
insert_tls13_ticket
take_tls13_ticket

Each of the function pointers will have a set of parameters that starts with void *userdata; this is the equivalent of &self and will be passed through on each call to these functions.

We'll then construct a Rust struct that stores these function pointers and the userdata, essentially a dispatch table. That struct will implement ClientSessionStore by passing through calls to those functions.

Lingua principale
Rust
Stelle
170
Fork
43
Merge medio
4h 18m
PR unite (30g)
10

Preparare l'ambiente

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.

Altre issue di rustls/rustls-ffi

Tutte le issue di rustls/rustls-ffi

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.